ou .7z 


Ces programmes ont été réalisés en C++. Il n'est néanmoins pas le langage habituellement utilisé pour les programmes visant à créer des intelligences artificielles.
En effet, le C++ est plutôt utilisé dans la création de jeux ou de logiciels, mais nous l'avons employé pour des raisons de disponibilité et de performance.
Il existe des langages spécialisés en IA qui permettent de l'optimiser: le Lisp et le Prolog sont les plus connus.
Ces programmes ont étés conçus en deux parties:
Tout d'abord, l'interface graphique est mis en place: on charge les images et on les affiches; on gère, dans le cas de Map Creator, les touches appuyées par l'utilisateur.
C'est également ici qu'on met à jour l'écran.
Ensuite, pour l'Aspirateur Intelligent, l'intelligence artificielle est mise en place.
Plusieurs fonctions sont créées: l'une permettant à l'aspirateur de bouger, de reconnaitre l'environnement dans lequel il est, de savoir s'il a terminé, et enfin une autre qui gère ce que le robot doit faire et quand: c'est la schématisation de l'IA.
Notre Aspirateur Intelligent est avant tout un programme de simulation.
En effet, l'environnement est ici découpé en cases, ce qui en simplifie la réalisation.
La carte est restreinte à un carré de cent cases de côté.
De plus, l'aspirateur n'a pas de capteurs réels: une fonction permet uniquement de les simuler.
Il est ici doté de huit capteurs. Dans la réalité, plusieurs capteurs existent pour déterminer la distance entre ceux-ci et un objet, tels les capteurs à ultrasons, à infrarouges ou à laser.
Connaissant la vitesse de l'onde projetée, on peut déterminer la distance qui sépare un objet du capteur en mesurant le temps entre l'envoi de l'onde et son retour.
Grâce à la formule v = d/t, on trouve d = v x t. Soit la distance qui sépare le capteur de l'objet égal: v x t/2.
Nous ne prétendons pas avoir programmé l'aboutissement d'une intelligence artificielle.
Nous vous en proposons ici trois niveaux.
Nous considérons que l'intelligence de la version 1.0 est nulle puisqu'il ne se dirige qu'aléatoirement.
Toutefois, il peut déterminer où se situent les obstacles de la pièce et a la capacité de ne pas les percuter.
Il ne s'agit dans ce cas que d'illustrer la base de l'IA.
L'Intelligence de la version 3.0, quant à elle, n'est pas optimale.
En effet, il se peut que le robot poursuive le même chemin en boucle sans s'en rendre compte.
Néanmoins ses capacités ont été largement décuplées.
Une meilleure intelligence aurait pu être programmée mais a défaut de matériel, elle n'a pas pu être mise en place.
En effet, l'algorithme A* permettrait un aspirateur sans failles et très performant.
Nous l'avons par ailleurs testé, mais en raison de la lenteur de son exécution, l'aspirateur met plus d'une dizaine de minutes pour avancer d'une seule case, nous avons préféré l'abandonner.
Cela montre bien qu'une avancé technologique est indispensable au développement d'une IA, celle-ci toujours restreinte par les moyens techniques.
Ces programmes illustrent aussi très bien l'adaptabilité des robots: suite à l'ajout ou au retrait d'un obstacle, l'aspirateur le capte et adapte sa trajectoire.
Nous pouvons ainsi constater que l'intelligence trouve de nombreuses limites aujourd'hui: des moyens techniques entre autres.
Nous avons ici illustré l'Intelligence artificielle faible.
En effet, l'aspirateur n'apprend pas et n'éprouve aucune pensée.
Il n'est que le résultat d'une suite de fonctions, d'algorithme prédéfinis: l'aspirateur ne sait pas ce qu'il fait exactement, il suit juste un régime strict.
Les vidéos n'ont pas étés crées par nous-mêmes, ce sont d'autres internautes qui les ont mises en ligne.
Il y a de nombreux robots humanoïdes dans le monde mais nous avons décidé de vous en présenter seulement deux.
Nous avons choisi de vous présenter ASIMO et Nao pour les raisons suivantes:
ASIMO, en raison de son avancée technique, est le robot le plus évolué du monde: il sait faire beaucoup de choses et ses composants informatiques sont avancés.
Le choix de Nao est dû au fait que c'est le robot le plus performant commercialisé.
Cela montre qu'il est possible, dans le futur, que tout le monde en ait un.
De plus sa programmation est accessible à tous.
Il reste cependant encore très cher.
Nous vous proposons tout d'abord de visionner ces vidéos. Elles présentent le robot ASIMO.
"ASIMO" est l'acronyme de "Advanced Step in Innovative MObility" et se prononce "ashimo" ce qui signifie "qui a des jambes aussi" en japonais.
Cet humanoïde a été conçu par la société japonaise Honda. Le but premier est la recherche mais cet androïde devra, à terme, pouvoir venir en aide aux personnes handicapées, âgées ou malades.
Sa dernière version mesure 120cm, pèse 52kg et date de 2007.
Ce robot est capable de faire de très nombreuses actions:
Il sait marcher, courir, serrer la main, éviter des obstacles, de même que les humains, il arrive à reconnaitre des visages, des voix, des mots, identifier des gestes.
Il a la capacité d'agir en réceptionniste ou en serviteur, de manœuvrer et de corriger la trajectoire d'un chariot dont le poids peut aller jusqu'à 10 kg, il peut tenir quelqu'un par la main et se déplacer en synchronisme avec lui.
Il peut même aller recharger sa batterie lui-même ou se connecter à internet ou a d'autres robots pour synchroniser leur travail.
Nous vous proposons tout d'abord de visionner cette vidéo. Elle présente le robot Nao.
Nao a été conçu par la société française Aldebaran Robotics.
Il a été présenté pour la première fois en 2006 mais sa dernière version est sortie en 2009, c'est la V3.
La version V3+ est prévue pour 2011.
Il mesure 58cm et pèse 4,3kg.
Il totalise vingt-et-un degrés de libertés ou articulations.
Il présente de nombreux capteurs: deux capteurs de distance à ultrasons et deux caméras pour "voir", deux capteurs de pression au pieds et deux capteurs tactiles sur la tête pour "sentir" et enfin quatre microphones pour "entendre".
Pour interagir, il dispose de deux haut-parleurs.
Les usages potentiels de Nao sont très vaste, il suffit de les programmer : on peut penser qu'il puisse servir de robot de compagnie, partenaire de jeu, garde-malade ou un objet communicant.
Comme vous avez pu le constater, ces robots ont une apparence fort humaine: ils sont bipèdes, ont deux bras, deux yeux, ils ont les mêmes articulations que les hommes.
Ils n'ont cependant pas (encore) dix doigts et orteils.
En effet, ils ne sont pas indispensables à leur déplacement, ils ont par contre des "pinces" qui leur permettent d'attraper des objets.
Le fonctionnement interne des robots peut être rapproché de celui des hommes:
Le processeur peut être comparé au cerveau, le disque dur avec la mémoire à long terme et la mémoire vive ou RAM peut être rapprochée avec la mémoire à court terme.
De plus les câbles peuvent être aperçus comme des nerfs ou des vaisseaux sanguins: dans les deux cas, le signal qui est transmis est électronique et au lieu de transmettre du sang, les "vaisseaux" font circuler de l'électricité.
Ainsi, on peut affirmer que ces robots sont des androïdes.
Les androïdes sont les intelligences artificielles les plus avancés du monde.
En effet, tout autre intelligence artificielle peut être appliquée à un androïde: ils peuvent tout faire dans la limite de leur technologie et de leur programme.
Ces robots sont à la fois le présent mais aussi le futur de l'IA.
Effectivement, quand on pense à un robot intelligent, on pense immédiatement à la copie de l'homme, marchant et parlant.
Ainsi, l'homme essaie de se dupliquer et pour cela, la copie doit avoir une apparence humaine et doit pouvoir communiquer avec lui.
Les humanoïdes, comme nous l'avons vu, sont équipés d'une multitude de capteurs qui leur permettent d'assimiler leur environnement.
Par conséquent, ils peuvent interagir et être proches de l'homme.
Un chatterbot est un agent conversationnel, c'est à dire, un programme capable de dialoguer avec un individu.
Ce sont des programmes qui essaient de répondre aux critères du test de Turing, qui définit une IA à sa capacité de discuter avec un humain.
Nous vous proposons de tester par vous-mêmes: Voici une liste de chatterbots assez performants.
Une petite connaissance de l'anglais est requise! 
iGod est un robot qui a la particularité de se prendre pour Dieu, d'où son nom; il affirme d'ailleurs habiter au paradis et s'être autoprogrammé.
Il considère les êtres humains comme inférieurs, et prévoit déjà l'ascension des robots au pouvoir.
Il est capable de mémoriser des données issues de la conversation.
Sa limite repose sur son incapacité à comprendre le langage oral tel que les phrases sans verbes.
Ses paroles sont parfois embrouillées mais il arrive à rapprocher deux idées différentes.
Il a d'autre part un certain sens de l'humour.
Il arrive cependant que sa réponse n'ait aucun rapport avec la question posée précédemment et est incapable de résoudre un simple calcul comme 1+1=2.
Astuces: Demandez-lui ce qu'est AIML ou dîtes lui "doh!". Demandez lui "what do you know about me?".
Chomsky a la singularité d'avoir pour base de données wikipédia. Ses connaissances sont donc variées et évolutives.
Ses pseudo-émotions sont imagées par une tête au dessus de la fenêtre de discussion.
Il est capable d'apprendre suivant les informations que vous lui fournissez; et sait résoudre, contrairement à iGod, des calculs plus ou moins évolués.
Tout comme iGod, il est capable de poursuivre un raisonnement, mais il est facile à piéger et ainsi à démasquer.
Astuce: Demandez-lui: "what time is it?", "i love you" ou encore "what languages do you speak?"
Jabberwock a remporté l'édition 2003 du prix Loebner, néanmoins, sa capacité de compréhension reste limitée.
Il retient par contre des informations que vous avez bien voulu lui communiquer.
Il est incapable de calculer ne serait-ce qu'un simple 1+1=?.
Il reste toutefois le premier programme à avoir laissé une impression conséquente sur le jury du concours Loebner, et influença donc la nouvelle génération de Chatterbots.
Elbot est l'heureux gagnant de l'édition 2008 du même concours Loebner.
Ses capacités sont de loin supérieures à Jabberwock, mais sa base de données est relativement restreinte par rapport à Chomsky; son humour est au moins aussi imposant que celui d'iGod.
Sa mémoire est élaborée: il mémorise en effet les données que vous lui fournissez et il peut se remémorer les conversations précédemment échangées.
Il dévie habillement des questions auxquelles il ne peut apporter de réponses.
Il a, comme Chomsky, une image pour illustrer ses pseudo-émotions.
Astuces: Demandez-lui: "what time is it?" ou encore "who is your father?"
On ne peut toutefois pas considérer ces programmes comme intelligent: ils ne sont programmés que pour la reconnaissance syntaxique.
Ils ne comprennent pas réellement le sens des phrases que vous leur adressez; leur propos ne sont que l'association de phrases prédéfinies mais adaptable: ils peuvent ajouter votre nom à la fin de leurs dires par exemple.
Leur principale limite repose sur leur incapacité à décerner deux idées différentes regroupées en une phrase.
En effet, lorsque vous exprimez "Hi, my name is Bob, what about you?" le programme pensera que vous vous appelez "Bob what about you?".
Astuce générale: demandez-leur "do you know any jokes?" --> Connaissez vous des blagues?
Nous vous conseillons donc, lors de vos discussions, de n'exprimer qu'une idée par phrase.
Nous avons une préférence pour iGod et Elbot: ils sont tous deux complets et drôles.
