Annale Scilab

Disponible uniquement sur Etudier
  • Pages : 5 (1234 mots )
  • Téléchargement(s) : 0
  • Publié le : 26 avril 2014
Lire le document complet
Aperçu du document
PROJET D’ALGORITHMIQUE 
 
 
Le  Wally  est  un  robot  nettoyeur  produit  par  la  société   Xarpi.  Eveuh,  une  jeune  peintre 
pleine  de  talent, est intéressée par l’achat d’un Wally pour son salon. Cette dernière, adepte d’un 
style  de   peinture  assez  original,  le  foot  painting,  laisse  régulièrement  de  longues  traînées  de 
peintures  derrière  elle  et  n’en  peux plus  de  voir   le  sol  de  son  atelier  se  colorer  après  chaque  
tableau.  
 
La  mission   du  Wally  sera  donc  de  nettoyer  toute  trace  laissée  par   Eveuh  sur  son 
carrelage.  Sa  vision  n’étant  pas  très performante (il ne peut voir qu’à une courte distance devant 
lui),  la  société  Xarpi  va  utiliser un  algorithme  génétique  pour  rechercher  la meilleure stratégie  à 
adopter  :  il  faut  nettoyer  un  maximum  de  traces  tout  en  optimisant  les  déplacements  du  robot 
pour  économiser  sa  batterie.  Une  des  propriétés  intéressantes  de  ces  traces  de  peintures  est 
qu’elles  forment  une  piste  généralement  continue  sauf  en  quelques  points  où  Eveuh  marche  à 
cloche­pied (mais jamais plus de 3 carreaux d’affilée).  
 La société Xarpi nous commande le développement d’un logiciel permettant de faire 
évoluer l’intelligence artificielle du Wally en utilisant un algorithme génétique. Ce logiciel devra 
aussi permettre de tester et de visualiser le comportement d’un Wally dans un salon virtuel (une 
partie du code nécessaire est déjà fournie, vous pouvez le modifier à votre gré). 
 
Petit  détail d’importance, le salon d’Eveuh est équipé, comme tous les salons modernes, 
de  murs  téléporteurs.  Ça  agrandit  l’espace,  et  c’est  pratique   pour faire  du  footing.  En  d’autres 
termes, le plateau est un tore. 
 
Bonus : le salon peut contenir des meubles inamovibles. 

COEUR DE L’APPLICATION
 
Le salon d’Eveuh sera représenté par un plateau carré, chaque case pouvant contenir de la peinture, un obstacle ou rien. Des structure Board et Robot sont déjà fournies, vous pouvez 
néanmoins les enrichir. 
 

Représentation de l’IA des Wally 
Un  algorithme  génétique  manipule  des  populations  d’individus  décrits  par  leur  ADN.  Il 
nous   faut   donc  trouver  un  moyen  de  représenter  le  comportement  des Wally  sous  la forme  de séquences “ADN” que l’algorithme pourra évaluer, sélectionner, faire muter et croiser. 
Un  système  de  prise  de  décision  simple  peut  être  représenté  par  un  arbre. En  effet,  le 
comportement suivant : 
 
aacr u osj  
vne,Qevi­e?
S ieaos:tunrdot,aacr vne,fndcso;
iVd lr  ore rie vne,aacr i éiin 
S enueaos:aacr u osj  
iPitr lr  vne,Qevi­e?
S ieaos:tunrdot,aacr i éiin 
iVd lr  ore rie vne,fndcso;
S enueaos:fndcso;
iPitr lr  i éiin 

 N.B. : l’instruction “fin décision” signifie en réalité “recommencer la routine de prise de décision depuis le début” 

 
peut être représenté ainsi : 

 
 

 
La  population  initiale  sera  constituée  de  Wally  ayant  chacun  un   ADN  (des  arbres  générés 
aléatoirement). Vous veillerez cependant à borner le nombre maximal de nœuds. 
 
Croiser   deux  comportements  revient alors  à  sectionner  les  arbres  correspondants  en  un 
point aléatoire chacun, et échanger les branches (voir schéma en annexe). 
 
Une   mutation  survient  lorsqu’un  noeud  se  change  aléatoirement  en un  autre  (voir schéma  en 
annexe). 
Si  le  noeud  obtenu  après  la  mutation  a  un  nombre  de  branches supérieur  à  l’original,  alors  les 
descendants  initiaux  sont affectés  à  une  branche  quelconque  du  nouveau  noeud,  et  les autres 
branches sont générées aléatoirement (comme lors de la création des premiers individus). 
Si au contraire le nombre de branches diminue, alors des branches aléatoires sont “effacées”. 
Une   mutation  peut  également  insérer  un  nœud  n’importe  où, même  à la  fin  d’une  branche,  ou ...
tracking img