3.89.200.155         CPU usage
0..........50..........100

G a b y ' s   H o m e

 01.01.2000   

Notes pour programmation en Vie Artificielle (VA)

Certaines notes ont trait au logiciel utilisé pour programmer, il s'agit du logiciel HyperCard (©1987-91, Apple Computer Inc.)

  • 1 gène = 1 fonction
  • Mutation affecte la valeur de la variable.
  • Variable indique le «niveau» pour le gène, le programme calcule ensuite «l'état» dans lequel le gène agît (les instructions à réaliser).
  • Seuil = différence entre deux «états» du gène, variété dans un domaine plus ou moins large fermé (ou =< et => pour les extrèmes).
  • 1 individu = 1 fichier contenant
    1. l'IG (Information Génétique),
    2. les fonctions/gènes inscrivent les résultats (pour les réutiliser, et les enregistrer plus efficacement),
    3. indications en début de fichier (ou en fin) de la localisation de chaque type de gène (une ligne pour les gènes liés au sexe, une autre pour les gènes du cerveau,...) et le lancement ou non de certains (sexe mâle ou femelle, suite de O/N pour chaque type de gène)), ces indications servent de «gènes du développement», en cas de duplication, le gène supplémentaire est rajouté à la fin de la ligne correspondante.
  • Mécanisme de duplication des gènes lors de la reproduction
  • Décodage IG (Information Génétique) = appel de fonctions successives ou appel d'une fonction précise (selon âge, sexe,...) et qui est présent.
    1. alléger programme,
    2. un cycle de lecture,
    3. fonctions indépendantes (et inscription dans le fichier de l'individu du ou des résultats).


Notes pour programme VA


sexe : N=asexué ; XX=féminin ; XY=masculin ; H=hermaphrodite

gênes du développement : [nom du gène],[succession de O(oui) et de N(non)]

éduquer les individus : utilisation d'un "chat" (+ affichages système)

dossiers / répertoires :
  • Data=configurations+listes (neurones,...)+stuff (fichier sauvegarde/multiprocessing)+...
  • Genetics=individus.exp+fichiers.gen+...
  • Memetics=fichiers.neu+...
  • Eggs=fichiers par paires contenant du genetics/memetics

fichiers : ".gen"=les gênes ; ".neu"=les neurones/lobes

multiprocessing / multitraitement :
  • fichier "stuff" dans le data (sauvegarde régulière : 5min.)+variable globale 'stuff' contenants la liste des fonctions à lancer(traitement constant)
  • sauver la mémoire de l'individu avant de passer à un autre (si besoin est d'enregistrer quelques chose dans sa mémoire).
  • transformer l'ensemble des "trucs" pouvant être lancés de l'extérieurs en fonctions qui renvoient : le nom de l'individu pour lequel la fonction a été exécutée, la prochaine fonction à executer, la priorité de l'execution suivante (lente, normale, rapide).
  • traitement du processus (par idle) : on met le nom de l'individu dans la variable globale 'individu', on execute la fonction, on traite le résultat en fonction de la priorité : rapide=on met au début du fichier/variable globale 'stuff', normal=on met à la suite, lent=on garde en mémoire jusqu'à execution totale du reste (exceptionnel)

Lobes supplémentaires :
  • utilisation d'une base de données contenant les commandes que le lobe peut utiliser (selon un code/algorithme évolutif)
  • éventuellement non pas une seule commande, mais un groupe entier concentré dans un "bloc executable" (enregistré dans le Data)
  • nombre de lobes supplémentaires : illimités (seule limite : la place pour la sauvegarde)




Individus de départ : code génétique choisi par algorithme génétique

Reproduction :
  • sexuée : combiner deux codes (une partie de l'un et un partie de l'autre assemblées)
  • asexuée : duplication du code

Mutation : à un moment donné (nombre de reprocductions,...), modification d'une partie du code (choisi au hasard)
->but: éviter uniformisation des codes génétiques

Code choisi :
0 ou 1
Protéines-acides aminés (triplets des caractères de code de l'ADN)
aaaaagaataacgaagaggatgac
taatagtattaccaacagcatcac
agaaggagtagcggagggggtggc
tgatggtgttgccgacggcgtcgc
ataatgattatcgtagtggttgtc
ttattgtttttcctactgcttctc
acaacgactaccgcagcggctgtc
tcatcgtcttccccaccgcctccc

Nombre d'éléments par individu : 10 (départ)
Pour intelligence : 1 gène = 1 lobe (=fonction(s)) pour chaque capacité

Tiré de Creatures :
  • lobes sensoriels qui envoient informations à un grand lobe sensoriel (4 lobes au total)
  • conception : reconnection permanente =>souvenir, apprentissage, reflexion?,...
  • décision : forte arrivée d'infos (=«système central») et choix (1 neurone = 1 action).
  • attention : mouvement qui attire, sensation qui motive,...
(vue + ouïe + toucher)->lobe sensoriel->conception=>décision
<->attention<->


Travailler sur :
  • connections,
  • conception (lobe en constante évolution)
  • simuler un cerveau ou une IA avec ces fonctions : sensoriel (stimulation), conception, décision, attention.


Les 9 lobes (10? -> de 0 à 9) /Category du ZISC
  1. General senses
    Lobe sensoriel qui réagit aux stimuli extérieurs et intérieur (douleur, faim, excitations diverses, ...)
    Envoie informations au lobe (3) Conception ou (5) Action (réflexes).
  2. Memory
    Souvenirs, noms, verbes, adjectifs (sous-categories pour l'établissement de la parole et son souvenir)
    Dépend du lobe conception (échange d'infos).
  3. Conception
    Rassemble les informations, "système central", et gère les flux vers les autres lobes
    Gestion de "l'influx nerveux", stimulation des autres lobes, agit sur la mémoire (enregistrement, préparation pour les réflexes,...).
  4. Attention
    Détecte les mouvements, les sites particuliers (position de la souris, de la nourriture, d'autres individus,...)
    Envoi des informations vers (1) Senses et (3) Conception.
  5. Action
    Agit sur les éléments moteurs de l'individu (mouvements,parole,...)
    Reçoit directement de (3) Conception, plus rarement de (1) Senses
  6. Decision
    Système central de secours, décisions toutes prêtes, contact permanent avec (3) Conception pour établir un chemin/trajectoire, un raisonnement,...
  7. (free)
  8. (free)
  9. (free)
    Ces derniers lobes sont libres pour de nouvelles fonctionnalités, une répétition d'un autre lobe, un nouveau lobe apparu par mutation et doté de fonctionnalités particulières (voir base de données et son algorithme pour l'établissement automatique d'un lobe par le programme).

Voir plus loin pour plus d'informations (date du 26/04/02)



Idées pour VA - recherches :

Gène codé à "8 bits" : 8 caractères (ou autre nombre déterminé)
  • Nombres de caractères/acides aminés différents : 2/20/26/36/64 ?
  • 1 caractère/lettre = 1 commande à introduire à la suite pour la fabrication de l'algorithme correspondant au gène
Protocole de fabrication de cette fonctionnalité :
  • Etablir un algorithme pour chaque gène de manière à ce qu'il soit le plus simple possible (nombre de variables, nombre de commandes,...)
  • Déterminer les commandes à utiliser pour chaquer gène, ainsi que leur nombre, leur réutilisation par un autre gène,...
  • Attribuer à chaque commande un caractère/lettre ou chiffre
  • Transcrire commande->caractère
  • Observer les résultats à l'utilisation : gène par gène, individu, conséquences des mutations (sélection "naturelle", blocage du programme),...
  • Eventuellement : changer les algorithmes, créer de nouveaux gènes, trouver une interface plus "naturelle",...

Dossier Vie Artificielle



 06.06.2001   
06/06/2001 : notes supplémentaires pour les recherches Utiliser ADN(->ARN)->AA
  • (1 AA=1 commande) -> correspond à un caractère unique (à transcrire dans l'ordre)<:li>
  • "tout à la suite"
    -> Débuter le gène par CAATTATA (cf Biochimie moléculaire) +Méthionine ATG (correspond à "global"&&individu et "put empty into"&&individu
    -> finir par AATAAA... (idem) juste après le "stop" : TAA, TAG, TGA
  • 1 chromosome = 1 ligne ; au début essayer microorganismes avec 1 seul chromosome avec nutrition (recherche NRJ), assimilation, croisssance et reproduction.
  • Établir comme constituant du "génome" de l'individu un code avec plusieurs caractères (ex: symbole à une lettre des acides aminés) : leur nombre dépend du nombre de commandes distinctes utilisables dans un gène (une même commande pouvant être utilisée plusieurs fois).
  • Déterminer les commandes possibles et leur code d'appel (=AA), selon les critères de sélection : commande la plus simple et la plus générale possible, une variable peut être introduite dans la commande (variable fixe liée à l'individu ou changeante liée à l'environnement).
  • Départ : "bactéries avec un chromosome comportant 4 gènes principaux" :
    1. Nutrition (recherche d'énergie : critères nutritifs des éléments fixés au départ)
    2. Assimilation (transformer l'énergie en vue d'une utilisation ou d'un stockage éventuel)
    3. Croissance (développement, mouvement...)
    4. Reproduction (et mutations variées plus ou moins rares, croisements si reproduction sexuée ou échanges de gènes : ponts cellulaires et virus)
  • Mort par sureffectifs, disparition des moins adaptés...
  • Mutation = substitution, deletion ou addition
  • Lecture de l'ADN : de M (méthionine) à * (stop) ou une suite de caractères.

Dossier Vie Artificielle



 20.08.2001   
Recherches sur le fonctionnement de Creatures
    Gènes numérotés et classifiés (cf. "liste.gènes") et variable ajoutée ensuite dans le code génétique.
    À chaque gène correspond un élément précis
    Un gène = une suite de commandes, une variable change dans l'execution (celle portée par l'individu).
20/08/2001 : cf "dossvachemcr" et "dossvagencr" gène : lettre(catégorie) + 3 chiffres(N° gène) + 4 caractères(spé. individu)

Dossier Vie Artificielle



 18.08.2001   

Mise en place du programme Creation

18/08/2001
Gènes à installer en priorité, s'inspirer des notes sur la liste.gènes de Creatures,
  • sexe (genre, hormones : testostérone, oestrogène et progestérone)


  • récepteurs chimiques
  • émetteurs chimiques
  • réactions chimiques
  • cerveau (lobes) et stimulus/instincts


[Si il y a conception et mise en place d'une interface graphique, les catégories de gènes suivants doivent être ajoutées : apparence, posture, démarche, pigmentation. ]

Pour la programmation, prévoir des commandes et fonctions génériques pour chaque catégorie et dont le nom peut être modifié de manière automatique (un nom générique et ajout de 2 lettres et 2 chiffres au hasard ou selon caractéristiques).
  1. Pour récepteurs chimiques :
    commande et execution simple (1 niveau) ou appel de réaction (par mise en mémoire et lancement par idle).

  2. Pour réactions chimiques :
    fonction de variables ou de récepteurs dont le résultat est un ordre ou un appel de commande d'emetteur.

  3. Pour émetteurs chimiques :
    commande de modification d'une variable (incrémentée ou décrementée) selon la réaction.

  4. Pour stimulus :
    envois par l'environnement, l'utilisateur, variables modifiées qui vont franchir le seuil des récepteurs "sensoriels".

  5. Pour cerveau/lobes :
    comme réactions chimiques, mais successions en chaines de fonctions plus ou moins itératives se lançant au fur et à mesure (ex: put fct1() into launch et "put fct4() into launch" est le résultat et fct4() sera lancée par idle) ; il est necessaire ici de différencier différents types de fonctions ou de créer une programmation type ADN/AA pour changements, mutations... selon protocole établi (programme de départ traduit en AA).

  6. Pour instincts :
    commande prête à l'execution


Dossier Vie Artificielle



 19.08.2001   
19/08/2001
Pour chaque gène : identification (caractère spécial : *$£`%ù#@&é"'(è!çà)- et 3 chiffres, le premier caractère sert à identifier le type de gène (lobe, stimulus, emetteur, recepteur...) ; puis chaque individu possède une variable fixée pour chaque gène.

gène : lettre(catégorie) + 3 chiffres(N° gène) + 4 lettres(spé. individu)
(ex : #001AZER)


schémas d'action des commandes et fonctions précédentes
(E)[003 ; 004] (E)[002 ; 006 ; 008 ; 009] (E)[001] (E)[007] (E)[005]
(D)[001 à 026] => (E)[003] - sources of stimuli
=> (E)[006] - "focus of attention"
=> (E)[001] - perceptible senses
=> (E)[007] - sensory schemata
=> (E)[005] - action schemata et "action"
=> (F)[001 à 019] - action=instinct/+ complexe

Dossier Vie Artificielle



 20.08.2001   
20/08/2001

Revoir les cycles sexuels dans liste.gènes.fr (cycle oestral) pour mise en place des schémas d'action (cf ci-dessus) et les éventuels corrections à faire sur la traduction, penser à une mise sur site web de cette traduction (et création dossier sur VA) et recherche des add-ons à ajouter à Creatures (ajouteur d'objet, déterminateur de gènes...).



Créer des programmes indépendants pour la mise en place et le test des gènes (cerveau/lobes avec entrées et sorties ; recepteurs/drivers/emetteurs avec affichage régulier des variables ; )



Enregistrement des individus :
  • pendant déroulement de l'application : préférences ou fichiers data/genetics(???)
  • sauvegarde extérieures avec ask file "Enregistrez"&&nomind&&":" with "Creature.exp"<:li>

Rien ne doit être modifié dans le programme au cours de son execution par un utilisateur quelconque : toute sauvegarde se fait en externe (à moins d'un kit d'urgence "vidange"), penser à un programme d'add-on automatique (fichiers dans un dossier style plug-ins ou ajouts internes).
kit d'urgence et add-on : une carte en plus (inaccessible par les flèches ou "go next card"), où l'on peut choisir d'activer le kit d'urgence (évacuation et sauvegarde des créatures, et erasing/initialisation du programme puis réinstallation éventuelle des créatures), un kit pour avoir de nouveaux oeufs, un programme d'installation (sélection des piles d'add-on et executions de celles-ci, à moins d'un double-clic sur celles-ci et sélection de la pile à modifier).



Départ : "bactéries avec un chromosome comportant 4 gènes principaux" :

Pour la reproduction : utilisation des gènes femelles et parthénogénèse/scissiparité.
  1. Nutrition (recherche d'énergie : critères nutritifs des éléments fixés au départ) : initial concentration[001 et 002], instinct[012 et 019]
  2. Assimilation (transformer l'énergie en vue d'une utilisation ou d'un stockage éventuel) : réactions[027 à 030] ;
  3. Croissance (développement, mouvement...) : Emetteurs[011,012,O16,017], réactions[031,051,053], recepteur[030,038,042]
  4. Reproduction (et mutations variées plus ou moins rares, croisements si reproduction sexuée ou échanges de gènes : ponts cellulaires et virus) : recepteur[020,021,022],


virus : recepteur[021,022,030], réaction[031,034], emetteur[016,017]
immunité : réaction[035 à 044] =>>créer des gènes antigènes et anticorps



24/08/2001

enregistrement des caractéristiques des individus dans les préférences (item 3) ou dans un fichier temporaire (utilisation d'un système imunitaire) sachant que :

gène : lettre(catégorie) + 3 chiffres(N° gène) + 4 lettres(spé. individu)

enregistrement :
4lettres+valeur des variables (0,0,0,0,0,0...)
(ex : azer,1,2,3,4,5,6,98,65,90,34)
les valeurs mises en places correspondent chacunes à un gène spécifique, la liste des gènes est bien sûre toujours la même.
Un automate présent dans la lecture des préférences (ou fonction liée) va chercher la valeur correspondant au gène cherché (donné dans la variable d'entrée en même temps que l'id. de l'individu(4 lettres)).


détermination des 4 lettres(id.) de l'individu :
  1. par 4 gènes (apparence) de l'individu : chacun détermine une lettre, les variables sont comprises entre 1 et 26 (lettres de l'alphabet)
    pb : héritage des 4 gènes du même parent (1 chance sur 16 pour 2 parents, 100% si par division)
  2. deux sont hérités des (ou du) parents les deux autres choisis au hasard, éventuellement mutation des lettres héritées des parents (gènes d'apparence)

    !! : un mélange de (1) et de (2) est possible : si le code obtenu par (1) est identique à celui d'un individu vivant (1/16 ou 26^4 possibilités) on en modifie un par mutation (variable du gène incrémentée ou décrémentée).
==>>pour la "bactérie" : ajout d'un cinquième groupe de gènes (identification)


Système immunitaire :
système de fichiers temporaires : chaque individu a son génome dans un fichier".gen" qui peut être 'infecté' par un agent pathogène
une ligne pour chaque gène, l'execution d'un gène particulier se fait par l'appel d'une ligne et l'identificateur du gène (execution d'un gène + gènes associés), tous les gènes s'executent jusqu'au gène demandé (y compris celui-ci).
le virus/organisme étranger possède aussi des gènes d'identification et occupe une place donnée compacte (tous ses gènes à la suite) dans le fichier


ligne du gène : 4lettres (id.) + gène (lettre+3chiffres) + variable
le système immunitaire fonctionne en identifiant des lettres différentes de celles que les gènes d'apparence doivent donner (4 gènes pour le système immunitaire, parallèles de ceux de l'apparence/id. ; perturbations par variables différentes immunitaire/apparences=maladies auto-immunes)
Une fois des différences identifiées, la ligne détectée est détruite/remplacée par le gène de l'individu/ ou modification de la variable

Dossier Vie Artificielle



 25.08.2001   
25/08/2001
Evolution/mutations
cf page Evolution et génétique de "Creatures Help FR"
Héritage des gènes sexuels exprimés par les parents (oestro/proges de la mère et testo/comortement du père, choix au hasard du sexe)
Choix de chaque gène entre les deux parents (isolément ou par "séries" aléatoires).
Duplication/élimination d'un gène :
1 chance sur 100 et sur 1000 respectivement, lors de la lecture du génome (lecture jusqu'à un gène) la lecture s'arrête au dernier exemplaire du gène (si celui-ci est présent en plusieurs exemplaire) et les différentes valeurs sont à prendre en compte (de toute manière, elles influent sur la même variable).


Lors de la création des commandes et fonctions associées aux gènes : déterminer les variables et les écarts de valeurs possibles (numériques), pour certains types de gènes cette valeur détermine son activité/inactivité (0 ou 1) et peux se modifier lors de la vie de l'individu, d'autres sont fixes pour sa vie (apparence/immunité sauf "accident nucléaire", comprises entre 1 et 26), et done lieu qu'a l'expression d'un seul type de caractère (ici une lettre qui détermine l'identité de l'individu), enfin certains gènes ont une variable dont le niveau détermine l'activité du gène (ex : gènes des lobes du cerveau, le niveau de la variable détermine dans quel domaine il exerce son activité : sensoriel, conceptuel, décision, attention...) pour ce dernier type de gène la tolérance pour la valeur de la variable est large et les "créneaux" où l'activité est déterminée sont larges pour éviter qu'une mutation ponctuelle ne modifie immédiatement la valeur de la variable.
Les mutations s'effectuent surtout lors de la reproduction ("erreurs de transcriptions") et peuvent modifier les valeurs de différentes façons : changment de valeur (0/1), incrémentation ou décrémentation (app/imm et lobes), duplication/élimination du gène. La probabilité de mutation est la même pour chaque gène (le processus recommence à chaquee fois). En de rares évènements, des mutations peuvent se produirent : infection (agents pathogènes ou autre), maladie (auto-immune), ou "radiations".


Dossier Vie Artificielle



 23.09.2001   
03/09/2001
Gènes Creatures - Variables à introduire sur la même ligne
    Critères communs
      Index
        Gennumber ("0" (???))
        Activate ("Embrio,Child,Youth,Adolescent,Adult,Senior")
      Sex ("Male,Female,Both")
      Can :
        Mutate (Y/N)
        Duplicate (Y/N)
        Cut (Y/N)

    Type de Gènes ("Mutate,Duplicate,Cut,Sex,Activate,Gennumber")

    Header ("N,N,N,Both,,0")
      Type ("Norn,Grendel,Ettin,Shee")
      Mum (Code à 4 lettres)
      Dad (Code à 4 lettres)

    Chemical ("Y,Y,N,Both,Embryo,0)
      cf document "Chemical"
      les 255 variables de l'organisme d'un norn

    Gait ("N,N,N,Both,,0")
      Sequence for ("Normal,In Pain,Limping,Fearful,angry,Sleepy,Tired,Slogger")
        Pour chaque : choix entre les 104 Postures.
    Appearance ("Y,N,N,Both,,0")
      Bodypart ("Head,Body,Legs,Arms,Tail")
      Type ("0" (???))

    Pigment (Y,Y,Y,Both,Embryo,0")
      Color ("Red,Green,Blue")
      Amound ("0" (???))

    Chemical Reaction ("Y,Y,Y,Both,Embryo,0")
      [var1]+[var2]=[var3]+[var4]
      1/2 Time : [multiple de 8?]

    Initial Concentration ("Y,Y,N,Both,Embryo,0")
      ("[var0],...,[var255]")
      Amount (0->255)



Dossier Vie Artificielle



 15.01.2001   
15/01/2001

Variable SAN(santé) : établir une fonction de : glucose, glycogen, pain, fatigue, toxines... Pour les autres variables, affichage de la valeur de Chemical (H002)
Gène : caractère+3 chiffres+variables associées à ce gène (caractères comuns ci-dessus et valeurs spécifiques) ; par la suite, dans la conception du système immunitaire, on peut ajouter le nom (.gen) de l'individu (ou celle de l'agent infectieux) qui est mis lors de la création de son génome.
Création de gènes anticorps et antigènes spécifiques ("y00X,Y,Y,Y,Both,-,0") qui peuvent êtres transmis à la descendance et muter normalement au cours de la vie (seule exception).
Dans le fichier de l'individu (code.gen) on peut mettre d'autres parties (item) à la suite du génome (mémoire, note, nom pour l'utilisateur...).



    La fonction/commande/gène Chemical(=H002) est à améliorer au fur et à mesure des ajouts, à voir.
    Gait sont comme les instincts : figés sans modification possibles.
    Pigment concerne l'oeuf.
    Chemical Reaction : les réactions peuvent dépendre de l'age (variable ageing), dans sa fonction, il y a recherche des valeurs dans code.gen (H002) et comporte 4 item/variables spécifiques : les noms des quatres variables à la suite (avec possibilité de empty) ["var1,var2,var3,var4"].
    Nota : il y a besoin d'un programme de lancement des fonctions/commandes associés aux gènes, qui lance selon le premier caractère du gène. Lancement comme suit : scrolling(header("H001")), scrolling(initConc("!001") ; soit scrolling(fct("[nomdugène]")).

Dans la conception du programme, plusieurs éléments sont à prendre en considération, au cours de la programmation, puis à la fin :

  • Tous ce qui constitue l'environnement "palpable" par les individus possède la même biochimie : lI
    • la nourriture de base est constitué par des clones (plusieurs types de nourriture répliqués x fois) qui possèdent un seul type de gène analogue à "Initial Concentration" : la variable associée augmente la quantité de glucose dans l'organisme.
    • suite au paragraphe ci-dessus, une possibilité : le cannibalisme est possible (phagocytose) : le H001 phagocyté est éliminé, les variables de H002 sont augmentées de celles phagocytées, les autres gènes peuvent être ajoutés à la suite...

  • À la fin de la programmation :
    • mettre Creation à la place de Home et l'appeler "Data2", Hypercard va alors porter le nom de Creation (ou autre nom).
    • Modifier les menus (cacher le menu file et changer la commande "quit") et le premier item du menu Pomme ("à propos de...") =>voir autres piles sur CD ou applications créées grace à Hypercard, modifer HyperCard avec Resedit(?).<:li>
    • Utiliser SetCreatorType pour modifier les fichiers utilisés dans le dosser Data et ses sous-dossiers. Laisser fichiers textes "Lisez-moi" et "Ne pas toucher".



Dossier Vie Artificielle



 01.11.2001   
01/11/01
  • Multitraitement/sauvegarde progressive des données
    • Zone tampon mémoire => écriture dans un fichier extérieur (mémoire virtuelle/windows)
    • launch=code individu+fct à executer (ex: AZER,fct("!001"))
    • (commande générale si pas d'individu)

  • Gestion "RAM" comme Copy/Paste
    • une fonction gère un fichier "mémoire" coupé entre éléments pour chaque fonction qui appelle
    • Variable d'entrée =
      1. fonction d'appel et éément à mettre en mémoire
      2. code d'accès à la mémoire
    • Variable de sortie : code d'accès mémoire pour rappel ensuite
    • Sauvegarde du code d'accès dans la fonction utilisatrice ?
    • Accès figé depuis fonction (une focntion a toujours accès à la zone mémoire qui lui est attribuée, code d'entrée par défaut)
    • Remplacement des variables globales ?



Dossier Vie Artificielle



 17.11.2001   

17/11/01
  • Système immunitaire ("Y,Y,Y,Both,-,0,x,y,z,t...)
    • Peut s'auto-répliquer et s'auto-modifier.
    • Anticorps (Ac) =
      parties fixes (programme) et parties variables (code de reconnaissance spécifiques : x,y,z,t)
    • Antigène (Ag) =
      programme + code (ex: virus+code id.)
    • Système Immunitaire (SI) =
      Programme de reconnaissance général, action si Ag n'est pas dans la base de l'individu, est inconnu, ou reconnu comme "étranger" (déjà rencontré).
      Programme d'action Ac (variable = anticorps et code d'action)
      Comparaison entre code Ag et code Ac, destruction si reconnaissance d'un Ag spécifique (si 3 valeurs sur les 4 sont communes à l'Ac et à l'Ag : x,y,z,t et les 4 lettres du début de ligne)
      Synthèse "au hasard" selon capacités gènes Ac ou récupération d'un Ag introduit et reconnu comme "étranger" : réplication et mutation possible au cours de la vie de l'individu, 1 seul gène au départ, ensuite concurrence génétique avec le code Ag du "parasite".


  • Virus / Plasmides
    • Replication autonome (dans l'hôte)
    • Incompatibilité des plasmides apparentés
    • Fertilité (autotransfert d'un hôte à l'autre)
    • Mobilisation (utilise hôte pour transmission)
    • Modification (gènes en + ou en -)
    • Recombinaison/transposition gènes (avec l'hôte)
    • Fusion des réplicons
    • Résistance/sensibilité (à certains facteurs)
    • Mutagène/antimutagène
    • Caractères métaboliques
    • Facteurs adhérence/pathogénicité
    • Production de toxines
    • Capacité d'induction de tumeurs (chez l'hôte ou élément plus grand)

    • info pour le tranfert +/ autres gènes
    • du donneur (F+) au receveur (F-), ce dernier ne possédant pas le "plamisde", qui peut être perdu ou éliminé
    • transmit aussi lors scissiparité individus
    • influence sur sélection des individus (caractères métaboliques, sensibilité/résistance à des facteurs extérieurs)
    • HFr = comme les F+, mais au lieu du simple plasmide, c'est l'information génétique complète qui est copiée chez le receveur (copie totale ou fragmentaire, le receveur ne devenant ici pas forcément donneur)


  • Mise en place de la programmation :
    1. Tenter des agents "intelligents" isolés à rôle spécifique
      1. prise de note, éléments d'interface
      2. "amibe" : recherche de données, tri des données et présentation des données
      3. voir programmes cyberpunk et divers : daemons)
    2. Codage de l'info : Chromosomes (a), (b) et (c)
      1. "boot-strap", code du début
      2. "composant", fonctions internes de l'agent
      3. "structurant", relation entre les fonctions et fonction d'acceptation par rapport à un but/repère voulut par utlisateur ou programme.
    3. Reproduction/Croisement
      1. Linéaire (fusion)
      2. Non-linéaire (somme des parties)
      3. Pondéré (mutations volontaires)


  • Gènes de la "bactérie" initiale (cf dossvagencr)
    • Nutrition
    • !001GlycogenInitial Concentration
      !002GlucoseInitial Concentration
      =012GetInstinct
      =019Eat foodInstinct
    • Assimilation
    • *027DigestionReaction
      *028Glucose->GlycogenReaction
      *029Glycogen->GlucoseReaction
      *030Glucose->EnergyReaction
    • Croissance
    • #030Faim niv1Receptor
      #038Faim niv2Receptor
      #042Faim niv3Receptor
      =>réunis en "faimplus"
      *051Réduction faimReaction
      *053Energy artificielleReaction
      =011RunInstinct
      =016WestInstinct
      =017EstInstinct
    • Reproduction
    • #020Cycle oestralRecepteur
      #021Réceptivité Recepteur
      #022PonteReceptor
      *031Stop oestrogènesReaction



Dossier Vie Artificielle



 07.01.2002   
07/01/02
Mutation des virus informatiques
expériences de vie artificielle
cf. Mark A. Ludwig "Mutation d'un virus"
  • Virus qui favorise l'évolution
  • Mutations quasi "aléatoires"
  • Recherche du code des survivants
  • Mécanismes de reproduction
  • (Modules inclus au virus, manipulation d'un élément)

  • moteur darwinien de sélection génétique : risque de se faire prendre à chaque génération (utilisateur, antivirus), donc si on en réchappe une fois, il faut pouvoir continuer, d'où une conservation du passé "génétique" et de son développement.
  • exploitation des informations génétiques, souvenir des mutations et conservation des propriétés parentales.

  • Différents moteurs de fonctionnement
    • reproduction
    • mutation
    • analyse
    • destruction
    • contrôle
    • mémoire éventuelle

  • Un même virus peut posséder plusieurs fois le même moteur copie interne d'un moteur : sélection d'une partie du code et copie ajoutée à la fin.


Dossier Vie Artificielle



 13.04.2002   
13/04/02
Combinaisons de triplets
BasesExemplesPossibilités
2a,b8
3a,b,c27
4a,b,c,d64
5a,b,c,d,e216


4 bases par quadruplets : 256 possibilités
  • recepteur(12) :
    • drive general
    • reward
    • punish
    • con inhibit
    • dec0 inhibit
    • dec1 inhibit
    • strenght con
    • oestralcycle
    • receptivity
    • ponte
    • sperm
    • Death

  • reaction(14) :
    • drive raiser general
    • drive reducer general
    • reward reinf
    • punish reinf
    • glugly
    • glyglu
    • gluNRJ
    • stopoestr
    • glycotoxin
    • reponse immunitaire generale
    • fièvre
    • stress(NRJ-)
    • stress(aging+)
    • faimreduc



  • emetteur(6) :
    • oestrogene
    • testosterone
    • gonadotrophine
    • progesterone
    • sexdrive general (M&F)
    • stress

  • instinct(11) :
    • rest
    • east
    • west
    • eatfood
    • act1
    • act2
    • come
    • run
    • get
    • drop
    • How?


    Voilà la liste des gènes "necessaires"

    Voici les résultats qui indiquent
    une utilisation de quadruplets
    de quatres bases différentes
    (cf ci-contre à droite)
  • stimulus(8) :
    • pats
    • slap
    • object
    • other speak
    • act1
    • act2
    • get
    • reponse generale à stimulus

  • cerveau(9) :
    • perception
    • drive
    • source
    • verb
    • decision
    • attention
    • concept
    • noun
    • general senses


    Total : 60 (sans stimulus/cerveau : 43)
    Il faut donc prendre 60 et plus (car codons header et stop)=>64??
    128 (2 codes pour chaque)
    256 (4 codes pour chaque), permet une certaine marge
    coder par catégorie (premiers caractères du codon sont commun)
    4 bases par quadruplet


    Dossier Vie Artificielle



     13.04.2002   
    13/04/02 - 05/04/01
    Les différentes versions de Creation
    • 0.5 : interface texte et mise en place des 5 premiers kits
      =>proprio,medic,science,repro,death,
    • 0.6 : premières routines génétiques débuguées
    • 0.7 : correspondance routines<=>kits
      =>experimentation et modifications de fonctionnement
    • 0.8 : ajouts de nouvelles routines génétiques, passage aux quadruplets
    • 0.9 : ajout du cerveau?, et modificaztion du multitraitement
    • 1.0 (alpha, beta) : fin des corrections et évaluation des résultats (reproduction, vitesse de génération, nombre d'invidu)

    Versions 1.x : ajouts de nouveaux kits (observation...)
    entrée et sorties d'individus par l'utilisateur (protocole d'enregistrement dans fichiers à voir pour codage des informations)


    Version 2.0? : interface graphique =>2D ou 3D


    Dossier Vie Artificielle



     29.03.2002   

    Fichiers spéciaux

    Passer les fichiers spéciaux(Continuer la programmation de Creation)

    22/11/01 - 29/03/02
    Fiche technique d'analyse du génome (séquence) et commande de fragment
    /evident expérimental [N°de la première et dernière base fragment]
    /note="NCBI gi:415" -- spécificité de la commande
    /codon start=1
    /translation="[traduction séquence totale en AA, une lettre]" sig-peptide [N°...N°] mot-peptide [N°...N°]
    /product="[nom de la proteine prdoduite par le gène séquencé ici]" misc-feature [N°...N°]
    /note="[info sur la proteine]"

    base count Xa Yc Zg Tt -- nombre de base (il s'agit séquence codante)
    -igin
    1
    61
    121 -- Code (succesion nucléotides / bases azotées)
    181
    241
    301
    361
    421
    481
    541
    601
    661
    721
    781
    841
    901
    961
    1021
    1081
    1141
    1201

    Dossier Vie Artificielle



     29.03.2001   
    07/01/02 - 29/03/01 Les virus informatiques
    1. CORE-WAR

    2. Créé dans les laboratoires Bell Labs (AT&T) dans les années 1970 par trois programmeurs devenus spécialistes de la sécurité informatique : Douglas McIlroy, Victor Visottsky et Robert Morris.
      Ce jeu avait pour but l'opposition de deux programmes dans un espace délimité de la mémoire centrale, sans aucune intervention humaine, chaque programme essayant de détruire l'autre sans connaitre sa position. Les programmes étaient chargés en même temps et, au bout d'un temps donné, on comptait les copies de chaque programme.
      Bien que parraissant assez ludique, ce jeu permettait de construire des programmes qui contiennent les principales caractéristiques des virus informatiques créés depuis :
      • réplication du programme
      • recherche d'autres programmes
      • utilisation de la mémoire de l'ordinateur
      • liaison entre les différentes copies
      • déclenchement aléatoire ou dirigé selon certaines directives
      • ...


    3. Les différentes variétés de virus
      1. Simple

      2. La bombe logique
        Ce virus informatique est le plus simple, il peut être hébergé par un programme normal et se déclenche si un évènement particulier se produit : date, heure, action de l'utilisateur... et provoque ses désagréments.
        Le cheval de Troie
        Tiré de la fameuse idée d'Ulysse, il ne s'agit pas d'un virus informatique à proprement parler, mais d'un programme d'apparence anodine contenant différents virus qui se déclenchent dès le lancement du programme ou après plusieurs utilisations (comme une bombe logique).

      3. Autoréplicants

      4. La plupart des virus recopient leur code dans tous les fichiers, programmes et disques où ils peuvent le faire, dès qu'ils sont en mémoire (ouverture d'un fichier contaminé, par exemple).
        Les virus systèmes
        Le cas le plus fréquent sont les virus dits "de boot" car présents sur la première piste des disques (CD, disquettes, disques durs) et sont donc mis en mémoire dès la lecture par l'ordinateur.
        Les virus de programmes
        Notamment sur PC où la gestion des fichiers (.exe, .com,...) permet l'execution d'un virus contenu dans ce programme.
        Le ver (worm)
        Ce virus a un seul but : saturer l'ordinateur, la mémoire et le réseau (si l'ordinateur est connecté). Le seul procédé utilisé par ce virus est la saturation par réplication constante de son programme sur le disque dur en effaçant les autres données, dans la mémoire et par transmission constante vers d'autres ordinateurs.

      5. Les virus mutants

      6. Ces virus informatiques ont une particularité par rapport aux autres : la majeure partie de son programme est codée, seule une petite partie reste plus ou moins constante : celle qui est executée au début et sert à décoder le reste. Lorsqu'il fait une copie de lui-même, ce programme change son code et parfois la partie qui sert "d'amorce", ce qui les rend d'autant plus indétectable.


    Dossier Vie Artificielle



     23.04.2003   
    23/04/03 Étapes de construction d'un code génétique
    • Première construction avec Creatures
      • Fichier unique pour chaque individu : génome ligne par ligne, liste des variables en tête de fichier, mémoire de l'individu à la fin.
      • Différentes catégories différenciées par des lettres
      • Trois chiffres qui permettent identification du gène dans la catégorie
      • Identification de l'individu
      • Variables affectées au gène considéré<:li>

      Ce système peut sembler efficace mais un peu lourd (ligne par ligne) et permet de trop nombreuses erreurs de transcription et un programme trop lourd lors de la reproduction. De plus la lecture du fichier de l'individu est longue. La variation du génome empêche la lecture efficace de la mémoire.

    • Construction avec bases "a,c,t,g"
      • Détermination des gènes de base de "bactérie" (Nutrition, assimilation, croissance et reproduction) et utilisation des 64 combinaisons attribuée aux AA par les triplets naturels.
      • Programmation de ces routines

      • Détermination des routines necessaires à un individu complet : il en faut plus de 60, ce qui implique un plus grand nombre de combinaisons pour permettre des redondances et permettre une résistance aux mutations (le nombre retenu est de 256, soit des quadruplets de bases)
        Ce système est beaucoup plus stable et permet une lecture simplifiée du génome par un automate. Le code de triplets est utilisé dans les pré-version de Creation 1.0, puis celui à quadruplets, pour étendre le génome étalé sur une seule ligne du fichier.


      La longueur du génome importe peu, l'ensemble des informations utilisées par le programme étant situées sur les lignes précédentes (variables dans la pré-version, puis on peut rajouter la mémoire ensuite en décalant le génome d'une ligne).
      Lors du multitraitement, le nom de l'individu est ajouté avant le nom de la commande/gène à executer afin de ne pas créer de confusion lors de l'execution, afin de charger en mémoire le nom de l'individu et ses variables associées.

      NOTE :
      Les 256 codes de lancements des gènes peuvent êtres remplacés par des nombres de 000 à 255 (00000000 à 11111111 en binaire, 00 à FF en hexadécimal, ou encore une lettre du code ASCII) afin d'attribuer un «intervalle de confiance» pour chaque gène (simplifie l'appel). Utilisable dans la pré-version. La mutation peut s'effectuer en ajoutant une valeur au hasard à l'un des chiffres du code (un nombre entre 0 et 9 ajouté à un nombre entre 0 et 9, reliés en boucle, 9 devenant 0 à l'ajout de 1).

    • Deuxième construction avec Creatures (hypothèses)

    • On peut codifier différemment le génome d'un individu et les informations associées (traitement par la commande) :
      • un gène est signalisé par un préfixe "gen", le numéro du gène et une information qui le suit directement (conditions spéciales d'execution)
      • une information complémentaire du gène, les deux pouvant être séparés par d'importantes portions de code. Cette information est signalisée par le préfixe "inf" puis le code du gène et l'information elle-même. La comparaison gen/introns et infos/exons peut être interessante (l'information pouvant être l'execution d'un nouveau gène : structure, virus...).
      • les variables de l'individu peuvent être enregistrées de façon similaire, mais son utilisation actuelle empêche son changement, par contre, les informations enregistrées par le cerveau de l'individu peuvent être enregistrées de cette façon, entraînant une certaine souplesse (code à déterminer car le réseau de neurone peut necessiter un codage particulier comme ["neu"&(lobe)&(num. neurone)&(infos du neurone, couche, poid, transmission...)]
      • un séparateur de un ou plusieurs caractères dont l'occurence est nulle ailleurs dans le fichier. L'utilité du séparateur est d'éviter le chevauchement des informations ou un mauvais fonctionnement du programme.


    En effet, l'ouverture de fichiers «.gen» de Creatures montre que la structure génétique des norns est établie selon ce schéma :
    ["gene"&(code)&(informations)]

    ¿Voir fichiers «.exp»?
    ¿Voir infos cerveau des norns?
    ¿Voir infos CMG02?

    Dossier Vie Artificielle



     25.04.2002   
    25/04/02 Établissement de réseaux neuronaux

    Mots clefs : neurone, poid, couche, mémoire(buffer), sortie des neurones
    Les réseaux neuronaux sont habituellement figés et chaque neurone est défini par des critères qui ne changent pas ou peu : poid, couche, nombre de connections (entrées/sortie)... De plus la structure des réseaux neuronaux empêche l'établissement de connections nouvelles ou l'introduction de nouveaux neurones dans des réseaux pré-établis.
    On peut alors imaginer la création de réseaux de neurones régis par des rêgles simples (nombre d'entrées/sorties, nombre de neurones suffisemment large), et laissant le programme gérer ces neurones, sachant q'un certains nombre d'entre eux seront excédentaires ou permettront l'établissement de nouvelles voies dans le réseau.
    La définition de ce type de réseau serait "réseaux neuronaux dynamiques", plus proches d'un système nerveux, disposant globalement d'entrées et de sorties, mais de couches pouvant revenir sur elles-mêmes, et de circuits de feedback dans ce réseau.


    Les informations extraites de Creatures permettent de dégager certaines informations en ce sens :

    • Chaque lobe est excité par un nombre fini de stimuli et comporte un nombre fini de sorties (excitation du lobe suivant, action finale unique ou ensemble d'actions)
    • Chaque lobe comporte 146 neurones
    • L'action de ConASH, DecASH1 et DecASH2 pour maintenir des neurones "libres" de faires de nouvelles connections
    • Deux entrées et une sortie pour chaque neurone
    • Branchements des lobes :
      • recepteurs
      • organes moteurs
      • autre lobe
    • Utilisation du multitraitement afin de permettre action de l'utilisateur lors des interactions entre neurones. (D'où utilisation de la mémoire dans des variables prévues à cet effet et non pas un effet de récurrence ou de relancement continu).

    Dossier Vie Artificielle



     26.04.2002   
    26/04/02 Réalisation d'un réseau de neurones selon la description suivante :
    • On dénombre et on nomme les entrées et les sorties du réseau ("lobe") parmi les stimuli et les résultats possibles. Puis on attribue un signal d'entrée et une variable d'entrée à chacun des neurones de "première couche", et une sortie à chacun des neurones de fin de réseau.
    • Entre ces deux couches, on peut créer un réseau préexistant de neurones fixés ou non et des neurones non-attribués, libres d'effectuer leurs connexions ; ou encore un réseau constitué uniquement de neurones non-attribués au départ (les réseaux fonctionnant le mieux "survivent").
    • La première possibilité semble la meilleure avec un certain nombre de connexions déterminées génétiquement (première et dernière couches déterminées "par défaut", et les autres sont héréditaires, pour des raisons de maintien des entrées/sorties, et une sélection basée sur la construction de réseaux).
      • Initialisation des neurones "non-attribués" participants au réseau quand une variable (ConASH, DecASH1, DecASH2) atteind une certaine valeur (vérification interne, sans intervention des entrées). La variable peut être spécifique pour chaque réseau (Lobe des Concepts, Types de neurones du Lobe des Décisions).
      • Les neurones non-attribués ne participant pas au réseau sont activés lorsque la variable atteind 0 et prennent des variables d'entrées et une variable de sortie de façon aléatoire, ainsi qu'un poid et une affectation déterminées au hasard.
      • Les entrées/sorties des neurones "non-attribués" des différents réseaux sont dans des listes de variables séparées (pour éviter les confusions de connexion), et enregistrées dans le "fichier" de l'individu dès sa naissance pour chaque lobe existant (et non pour chaque type de lobe, à cause d'une duplication possible de gènes).


    Rappel des neufs lobes de Creatures

    • Lobes sensoriels : (1), (2), (3), (4), (5) et (7)
    • Niveau d'attention : (6)
    • Espace de conception : (8)
    • Niveau de Décision : (9)


    1. Drives

    2. éléments de commandes généraux

    3. General senses

    4. réception d'informations / stimuli

    5. Verbs

    6. type de base de données : données de base

    7. Nouns

    8. type de base de données : données enregistrées

    9. Sources of stimuli

    10. détection d'éléments-clés

    11. Attention

    12. synthèse de (4) et (5) : résultat d'itération et attire l'attention sur un élément qui "ressort" : mouvement, faim...

    13. Perceptible senses

    14. synthèse de (1), (2), (3) et (6)

    15. Sensory Schemata

    16. résultat de (7) comparé à un schéma général

    17. Action Schemata

    18. choix de la réponse la plus adaptée

    Dossier Vie Artificielle



    Connection

    Last Update : 05.08.2021

    External Links
    Gaby's Home
    Gaby's Blog
    Gaby's Mail

    Internal Links
    Index du site web
    Cyber Academy
    Dossiers
    Incognito
    Encyclopédie Cyber Age
    Réseau Divin
    Textes

    Join Webmaster
    Zone Privée

    Visit No : 75068
    For spam