Le coin de comptoir à Béber

Vous pouvez y parler de tout
Répondre
Avatar du membre
velo vert
Génération Tchernobyl
Messages : 7989
Enregistré le : mer. 28 janv. 2004, 19:49
Localisation : Made in Jussieu

Message par velo vert »

berseker a écrit :
velo vert a écrit :
berseker a écrit :La ségrégation raciale expliquée.
http://www.youtube.com/watch?v=JjfihtGefxk
je me demande si ça marche avec un réseau à 3 voisins ou de dimension plus élevée, ou en prenant en compte les seconds plus proches voisins, et puis à partir de quel ratio cases libres/occupées le temps de migration devient supérieur aux échelles humaines.
parce que là le modèle est quand même assez étroit.
Je suis prêt à parier très cher que c'est exactement la même chose en complexifiant le modèle.
ben t'es joueur alors. bon, déjà y a aucun aspect dynamique dans le truc, comme je l'ai dit, si ça se trouve avec des humains il faut attendre 200 ans avant de voir une ségrégation nette, si c'est le cas, c'est très spécieux.
ensuite le mec prend un ratio 2 pour 1 comme si c'était raisonnable et allait de soi. ça me paraît pas absolument pas trivial, surtout quand on a plus de quatres voisins.
le mec retire libère un nombre précis de places, genre je retire vingt et rajoute cinq, hop hop, et comme par hasard, ça me fait du hasard qui marche. je demande à voir.d'autant que dans la vraie vie les espaces libres sont plutôt rares (au moins dans les endroits où on est susceptible de trouver des populations mélangées).
le mec ne prends que deux populations différentes, mais avec des chinois, des arabes et des juifs pieds noirs en plus, ça marche encore ?

Avatar du membre
berseker
mouton câlin
Messages : 5985
Enregistré le : jeu. 27 nov. 2003, 11:05
Localisation : Paris mais presque
Contact :

Message par berseker »

Oui, je suis vraiment joueur là-dessus. En fait, dans ce genre de systèmes multi-agents, plus tu vas diminuer la granularité de ton modèle, plus tu vas lisser ton phénomène, plus tu vas rendre les comportements émergents déterministes. Et ce sont des systèmes incroyablement robustes, qui vont transformer tout l'aléatoire que tu pourras ajouter en "énergie" pour sortir des maximums locaux et tendre vers un maximum global, donc une ségrégation encore plus forte.
Franchement, si quelqu'un est prêt à développer une simulation avec un système plus complexe, je relève le paris. Voire, si suffisamment de monde parie contre moi pour que ce soit rentable, je le développe !
Hervé Joncour posa sa cigarette sur le bord de la table avant de dire
-Et il est où, exactement, ce Japon?
Baldabiou leva sa canne de Jonc en l'air et la pointa par-delà les toits de Saint-Auguste.
-Par là, toujours tout droit.
Dit-il.
-Jusquà la fin du monde.

Avatar du membre
yak
Newtype!!!
Messages : 6583
Enregistré le : sam. 10 juil. 2004, 14:18
Localisation : Chez moi

Message par yak »

Image

chiche, des gouts et des couleurs!
GOD FINGER!!!!

Avatar du membre
Klaim
Artisan Digital
Messages : 10635
Enregistré le : mar. 27 mai 2003, 13:13
Localisation : Paris
Contact :

Message par Klaim »

berseker> Ca m'aurait beaucoup tenté mais je suis en surcharge de projets :D Dommage. T'as pas le temps toi?

Avatar du membre
berseker
mouton câlin
Messages : 5985
Enregistré le : jeu. 27 nov. 2003, 11:05
Localisation : Paris mais presque
Contact :

Message par berseker »

Yak > Si c'est l'enjeu du pari, je prends ! :kpervers:

Klaim > Hum... Dans les mois qui viennent, je vais être occupé à prendre des photos de judo au Japon et à fuir les japonaises qui veulent mon corps, donc je ne suis pas sûr d'avoir le temps pour ça. Mais si c'est payé par la défaite de VV, ça peut se trouver.
Hervé Joncour posa sa cigarette sur le bord de la table avant de dire
-Et il est où, exactement, ce Japon?
Baldabiou leva sa canne de Jonc en l'air et la pointa par-delà les toits de Saint-Auguste.
-Par là, toujours tout droit.
Dit-il.
-Jusquà la fin du monde.

Avatar du membre
velo vert
Génération Tchernobyl
Messages : 7989
Enregistré le : mer. 28 janv. 2004, 19:49
Localisation : Made in Jussieu

Message par velo vert »

Code : Tout sélectionner

%pour MATLAB
%réseau 3D, deux populations
%conditions limites : bords innocupés et innocupables

clear
dt=1;				%pas temporel (doit rester à 1 en fait. l'habitude.)
Tf=1000;				%temps final
t=0:dt:Tf-dt;			%temps
N=size(t,2);			%nombre d'instants
X=10;				%nombre de cases dans la dimension x
Y=10;				%nombre de cases dans la dimension y
Z=10;				%nombre de cases dans la dimension z
reseau=zeros(X+2,Y+2,Z+2,N);	%réseau 3D à N instants
free=10;				%nombre de cases libres hors bords
tolerance=2;			%nombre de A/B (B/A) acceptable pour A (B)

%coordonnées des cases libres (risque de ne marcher que si X Y et Z sont des puissances de 10)
x_free=fix(2+X*rand(1,free));
y_free=fix(2+Y*rand(1,free));
z_free=fix(2+Z*rand(1,free));

%remplissange du réseau avec deux populations
for x=2:X+1
	for y=2:Y+1
		for z=2:Z+1
			hot=fix(10*rand(1,1));		%fabrique un entied entre 0 et 9
			if hot==0
				reseau(x,y,z,1)=1;
			elseif hot==1
				reseau(x,y,z,1)=1;
			elseif hot==2
				reseau(x,y,z,1)=1;
			elseif hot==3
				reseau(x,y,z,1)=1;
			elseif hot==4
				reseau(x,y,z,1)=1;	%population A
			elseif hot==5
				reseau(x,y,z,1)=i;
			elseif hot==6
				reseau(x,y,z,1)=i;
			elseif hot==7
				reseau(x,y,z,1)=i;
			elseif hot==8
				reseau(x,y,z,1)=i;
			elseif hot==9
				reseau(x,y,z,1)=i;	%population B
			end
		end
		clear z
	end
	clear y
end
clear x

%libération des cases libres
for ifree=1:free
	reseau(x_free(ifree),y_free(ifree),z_free(ifree),1)=0;
end

%itération temporelle
for T=1:N
	for x=2:X+1
		for y=2:Y+1
			for z=2:Z+1
				ppv= +reseau(x-1,y,z,T)...
					+reseau(x+1,y,z,T)...
					+reseau(x,y-1,z,T)...
					+reseau(x,y+1,z,T)...
					+reseau(x,y,z-1,T)...
					+reseau(x,y,z+1,T);
				if (imag(reseau(x,y,x,T))=1) && (imag(ppv)<(real(ppv)*tolerance))
					move=1;
				elseif (real(reseau(x,y,x,T))=1) && (real(ppv)<(imag(ppv)*tolerance))
					move=1;
				end
				if move=1
					for x_move=2:X+1
						for y_move=2:Y+1
							for z_move=2:Z+1
								if (move==1) && (reseau(x_move,y_move,z_move,T)==0)
									ppv= +reseau(x_move-1,y_move,z_move,T)...
										+reseau(x_move+1,y_move,z_move,T)...
										+reseau(x_move,y_move-1,z_move,T)...
										+reseau(x_move,y_move+1,z_move,T)...
										+reseau(x_move,y_move,z_move-1,T)...
										+reseau(x_move,y_move,z_move+1,T);
									if (imag(reseau(x,y,x,T))==1) && (imag(ppv)>=(real(ppv)*tolerance))
										reseau(x_move,y_move,z_move,T)=i;
										reseau(x,y,z,T)=0;
										move=0;
									elseif (real(reseau(x,y,x,T))==1) && (real(ppv)>=(imag(ppv)*tolerance))
										reseau(x_move,y_move,z_move,T)=1;
										reseau(x,y,z,T)=0;
										move=0;
									end
								end
							end
							clear x_move
						end
						clear y_move
					end
					clear z_move
				end
				end
			end
			clear x
		end
		clear y
	end
	clear x
end
reseau(:,:,:,N)	%affiche le reseau final
doit y avoit bien plus recommandé que MATLAB pour ce genre de chose mais je suis nul en assembleur.
j'ai pas MATLAB chez moi donc j'ai pas pu vérifier si ça marchait. en particulier pour les bords du réseau, y a moyen que ça plante bien.
en plus ça doit tourner pendant des heures tellement c'est crade.
Modifié en dernier par velo vert le jeu. 19 mars 2009, 15:02, modifié 2 fois.

Avatar du membre
jem
CyberPet
Messages : 5037
Enregistré le : mar. 14 oct. 2003, 5:57
Localisation : les collines gersoises

Message par jem »

Déjà :

Code : Tout sélectionner

for x_move=2:X-1
    for y_move=2:Y-1
        for z_move=2:Z-1 
I found my freedom now.
Funny how it feels just like being alone...

Avatar du membre
pasteqman
Otaking !
Messages : 2846
Enregistré le : jeu. 08 sept. 2005, 20:48
Localisation : In the closet

Message par pasteqman »

This is madness !

Avatar du membre
velo vert
Génération Tchernobyl
Messages : 7989
Enregistré le : mer. 28 janv. 2004, 19:49
Localisation : Made in Jussieu

Message par velo vert »

jem a écrit :Déjà :

Code : Tout sélectionner

for x_move=2:X-1
    for y_move=2:Y-1
        for z_move=2:Z-1 
ah ouais merci. éditocorrigé.

Avatar du membre
Klaim
Artisan Digital
Messages : 10635
Enregistré le : mar. 27 mai 2003, 13:13
Localisation : Paris
Contact :

Message par Klaim »

Wow cte code de porc...

Avatar du membre
TRANTKAT
Fuck Me, I'm FAMOUS!
Messages : 9202
Enregistré le : ven. 20 juin 2003, 1:01
Localisation : http://kiwine.deviantart.com/
Contact :

Message par TRANTKAT »

@____@

Avatar du membre
velo vert
Génération Tchernobyl
Messages : 7989
Enregistré le : mer. 28 janv. 2004, 19:49
Localisation : Made in Jussieu

Message par velo vert »

Klaim a écrit :Wow cte code de porc...
et t'as pas vu la version avec les if intriqués à la place des &&...

Avatar du membre
Klaim
Artisan Digital
Messages : 10635
Enregistré le : mar. 27 mai 2003, 13:13
Localisation : Paris
Contact :

Message par Klaim »

inbriqués tu veux dire?


Oui t'aurais plus ecrire ça plus simplement dis donc.

Avatar du membre
jem
CyberPet
Messages : 5037
Enregistré le : mar. 14 oct. 2003, 5:57
Localisation : les collines gersoises

Message par jem »

La base serait de définir une fonction pour calculer l'acceptabilité d'une position pour une race genre :

Code : Tout sélectionner

function isAcceptable(x,y,z,t,race)
    result=0
          ppv= +reseau(x-1,y,z,T)...
               +reseau(x+1,y,z,T)...
               +reseau(x,y-1,z,T)...
               +reseau(x,y+1,z,T)...
               +reseau(x,y,z-1,T)...
               +reseau(x,y,z+1,T);
            if (imag(race)=1) && (imag(reseau(x,y,z,T))=1) && (imag(ppv)<(real(ppv)*tolerance))
               result=1;
            elseif (real(race)=1) && (real(reseau(x,y,z,T))=1) && (real(ppv)<(imag(ppv)*tolerance))
               result=1;
            end 
    return result;
end
Modifié en dernier par jem le jeu. 19 mars 2009, 15:58, modifié 4 fois.
I found my freedom now.
Funny how it feels just like being alone...

Avatar du membre
Fikey
Otaking !
Messages : 4179
Enregistré le : lun. 23 juin 2003, 22:20
Localisation : mmmh chron....
Contact :

Message par Fikey »

*****WARNING - ULTRA GEEK POINT REACHED*****

Répondre