|
Zakath |
 |
Guru 
Déconnecté
Niveau : 5 N° de Membre :
7213
Ancienneté : 97%
Participation : 12%
Inscription: 15 Dec 2002
Localisation: Copenhague
Messages: 9866
Sujets Lancés : 426
|
@ Cthulhu22 : reprenons. On met en place un ordinateur virtuel composé d'une mémoire en quantité finie (une grille de 100 000 cases sur lesquelles on peut mettre des numéros) et d'un CPU qui sait exécuter des instructions dans un langage qu'on a défini précédemment : le pseudo-ASM (qui est, pour répondre à Puma, une sorte d'assembleur, mais avec nos instructions persos, adaptées aux structures qu'on souhaite utiliser (par exemple, aucun argument numérique aux instructions)).
Ensuite, on crée (en pseudo-ASM) un programme qui sait s'auto-répliquer. En gros, ça donne :
trouver début de mon code
stocker adresse de début en R0
trouver fin de mon code
stocker adresse de fin en R1
demande d'allocation mémoire
stocker adresse allouée en R2
copier instruction de R0 à R2
incrémenter R0
incrémenter R2
si R0 = R1 envoyer un pointeur d'execution en R2
sinon revenir 4 instructions en arrière
modulo les contraintes techniques, évidemment.
On introduit enfin des processus de mutations (i.e. une probabilité qu'une instruction soit modifiée en une autre lors de sa copie) et de cross-over (copie et mélange de plusieurs bouts de créatures au lieu d'une seule), on lance ça avec un allocateur de CPU et un processus qui tue des créatures pour ne pas saturer la mémoire, et zou, c'est parti.
On peut observer l'évolution/sélection naturelle en direct depuis son canapé. Pi c'est chouette à programmer. C'est plus clair ?
@ Schoubi : est-ce que ça t'intéresse, alors ? Le Perl ne devrait pas être un problème (j'en ai moi-même fait un peu et j'apprcéie beaucoup prce que c'est assez clair et puissant, trouvé-je), donc si tu es motivé, vilkommen !
@ KTF : 
__________________
Allez jeter un œil à mon portfolio !
Signaler ce message à un modérateur | IP: Logguée Temps en ligne : 103 Jours, 6 Heures, 14 Minutes, 38 Secondes en ligne
|