Bonjour,
J'ai un problème en IA que je dois réalisé en Lisp. J'ai une boite fermé ou il y a des block à l'interieur, et des choses à nettoyer. J'ai des capteur qui detecte les murs et les saletés. Le but et que mon robot puissent tout nettoyer le plus rapidement possible.
Le problème c'est que le robot part d'une origine et ne connait pas son environnement(pas les dimensions et ne sais pas ou sont les blocs et les saletés) alors il faut etre capable de lui allimenter sa base de connaissance et de lui faire prendre des décisions.
La solution que j'ai pensé pour arriver à parcourir toutes les cases serait de créer des regles:
Afin de toujours aller sur une case inexploré, et d'appliquer des regles de priorités comme d'habord essayer d'aller en haut, si c'est pas possible a droite etc(afin que le robot sache ou aller). Si toutes les cases autour de lui ont été visités, le faire retourner en arriere jusqu'a la derniere case ou on a fait un choix et qu'il etait possible de visiter une case inexploré. Si le robot ne peut pas attendre une case comme si elle etait bloqué par des murs, considérer que les cases ont été visités(car il ne peut rien faire a coze des obstacles)
Quand toutes les cases sont visitées retouner à l'orgine.
Il y a t'il une façon élégente de résoudre ce problème ? Si vous avez des idées d'algo je suis preneur.
Merci
ps : Pour plus d'info (http://www.cs.waikato.ac.nz/~bernhar...apter2_6pp.pdf)
Partager