            * * *     Forum OXMO Message  * * *

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Titre : [TAGALACON] Recherche programmeurs motivés
Lancé le 15-06-2004 14:40 par Zakath
Téléchargé de https://www.forum.oxmo.org/showthread.php?threadid=28254
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 1]
Auteur : Zakath
Date : 15-06-2004 14:40
Titre : [TAGALACON] Recherche programmeurs motivés

Bonjour tout le monde,
j'ai commencé récemment à programmer un système de type Tierra ([url]http://www.his.atr.jp/~ray/tierra/[/url]), qui consiste à émuler un ordinateur/OS avec un langage pseudo-ASM très simplifié et à y introduire une population de programmes auto-réplicateurs ainsi qu'un système de mutations/cross-over afin d'observer le processus d'évolution.

Si certains sont intéressés pour en programmer une partie ou pour discuter de paramètres techniques, ils sont les bienvenus. Je programme en OCaml mais en cloisonnant les différentes parties, il devrait être tout à fait possible d'utiliser d'autres langages.


On ne sait jamais...

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 2]
Auteur : KeySoze
Date : 15-06-2004 14:47

Sense Ahead 1 2 Zakath
Help Zakath
Random Move 0

§haha§

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 3]
Auteur : Spinydoudou
Date : 15-06-2004 15:07

§???§

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 4]
Auteur : Bartman
Date : 15-06-2004 15:21

Moi je veux bien faire les cafés :D

J'ai déjà du mal a programmer mon magnetoscope alors bon §rofl§

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 5]
Auteur : Cthulhu22
Date : 15-06-2004 15:23

déja je comprend pas ce que tu veux faire alors le programmer ... ;)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 6]
Auteur : Puma-FraKC
Date : 15-06-2004 18:01
Titre : Oulala ...

Bon courage Zakath, et à ceux qui décideraient de rejoindre ton projet. 

Cependant une chose est sûr, c'est pas moi qui pourait en être ...

:D



[i]Question, ton language pseudo ASM c'est de l'assembleur, non ?[/i]

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 7]
Auteur : Schoubi
Date : 15-06-2004 18:22

Si un peu de Perl peut vous être d'une aide quelconque.... :O

Sinon, j'ai étudié pas mal de théories de l'évolution pendant mon cursus... ;)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 8]
Auteur : KissTheFuture
Date : 15-06-2004 18:35

y'a des apéro de prévu ?

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 9]
Auteur : Zakath
Date : 15-06-2004 19:44

@ 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 : :Þ

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 10]
Auteur : matapala
Date : 17-06-2004 07:59

C'est un genre de corewar non ?

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 11]
Auteur : Zakath
Date : 17-06-2004 10:25

Oui, à deux nuances près : les créatures n'essaient pas de se détruire (l'allocation mémoire fait en sorte qu'elles ne se recouvrent jamais) et il y a un mécanisme pour les faire évoluer. Sinon, c'est CoreWar.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 12]
Auteur : matapala
Date : 17-06-2004 11:24

On a code un CoreWar comme projet dans mon ecole.
Je me suis plus particulierement charge de l'assembleur, notament de l'interpreteur.
D'autre se sont charges de la machine virtuelle et du codage du champion.
Par contre tout etait code en C.
Je ne connais absolument pas le Camel.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 13]
Auteur : Zakath
Date : 17-06-2004 11:41

J'ai commencé par l'interpréteur, justement, et il est relativement bien avancé (plus qu'à implémenter la recherche de motifs et les CALL/RET). Il reste à faire la machine virtuelle (relativement complexe parce qu'il faudra que ce soit vraiment bien optimisé et que les règles de cross-over ne sont pas très simples à mettre en place), si ça te dit...
Je ne code pas en C mais j'arrive à peu près à le lire (je [B]déteste[/B] le C :D). Je sais qu'OCaml permet d'interfacer du code en C avec son code à lui (même si je n'ai jamais essayé), donc si ça te dit de te lancer là-dedans, tu es le bienvenu. §dacdac§

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 14]
Auteur : Schoubi
Date : 17-06-2004 12:36

Bon z'avez pas besoin de Perl alors :D

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 15]
Auteur : Zakath
Date : 17-06-2004 12:38

Ben si, si tu veux aider.
Sérieusement, ça t'intéresse ou pas ? Si oui, je te conseille d'aller jeter un coup d'oeil là-dessus : [url]http://www.his.atr.jp/~ray/pubs/tutorial/Tutorial.ppt[/url]

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 16]
Auteur : matapala
Date : 17-06-2004 12:53

Je suis desole je vais pas pouvoir trop t'aider, je suis en stage actuellement et je bosse plus sur du reseau.
Si je retrouve les sources du corewar je peux te les mettre dispo, mais bon c'est du code d'y a 2 ans t'attends pas a des merveilles, on debutait.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 17]
Auteur : RhEcK
Date : 17-06-2004 12:56

ouais bah moi je passe mon tour... desole mais on est pas au meme niveau question programmation, et je risque de rien faire encore une fois!!! 


a une prochaine peut etre

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 18]
Auteur : Schoubi
Date : 17-06-2004 13:02

Moi je suis interessé, mais je vois vraiment pas ce que je pourrais apporter à l'affaire §jesaispas§

De toute façon les exams arrivent donc ce sera pas avant un bon mois....

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

