Précurseurs de l'intelligence artificielle.
Si les progrès de l'intelligence artificielle sont récents, ce thème de réflexion est tout à fait ancien, et il est apparaît régulièrement au cours de l'histoire. Les premiers signes d'intérêt pour une intelligence artificielle et les principaux précurseurs de cette discipline sont les suivants.
Automates
- La plus ancienne trace du thème de « l'homme dans la machine » date de 800 avant notre ère, en Égypte. La statue du dieu Amon levait le bras pour désigner le nouveau pharaon parmi les prétendants qui défilaient devant lui, puis elle « prononçait » un discours de consécration. Les égyptiens étaient probablement conscients de la présence d'un prêtre actionnant un mécanisme et déclarant les paroles sacrées derrière la statue, mais cela ne semblait pas être pour eux contradictoire avec l'incarnation de la divinité.
- L'Iliade d'Homère cite les automates du dieu forgeron Héphaïstos, ainsi que la création par Dédale d'un gardien des rivages de la Crète, façonné dans le cuivre, le géant Talos.
- Vitruve, architecte romain, décrit l'existence entre le IIIe et le Ier siècle avant notre ère, d'une école d'ingénieurs fondée par Ctesibius à Alexandrie, et concevant des mécanismes destinés à l'amusement tels des corbeaux qui chantaient.
- Héron l'ancien décrit dans son traité « Automates », un carrousel animé grâce à la vapeur et considéré comme anticipant les machines à vapeur.
- Les automates disparaissent ensuite jusqu'à la fin du Moyen Âge.
- Roger Bacon aurait conçu des automates doués de la parole.
- Léonard de Vinci a construit un automate en forme de lion en l'honneur de Louis XII.
- Gio Battista Aleotti et Salomon de Caus ont construit des oiseaux artificiels et chantants, des flûtistes mécaniques, des nymphes, des dragons et des satyres animés pour égayer des fêtes aristocratiques, des jardins et des grottes.
- René Descartes a conçu en 1649 un automate qu'il appelait « ma fille Francine ». Il conduit par ailleurs une réflexion d'un modernisme étonnant sur les différences entre la nature des automates, et celles d'une part des animaux (pas de différence) et d'autre part celle des hommes (pas d'assimilation). Ces analyses en font le précurseur méconnu d'un des principaux thèmes de la science-fiction : la confusion entre le vivant et l'artificiel, entre les hommes et les robots, les androïdes ou les intelligences artificielles.
- Jacques de Vaucanson a construit un « canard artificiel de cuivre doré, qui boit, mange, cancane, barbote et digère comme un vrai canard ». Il était possible de programmer les mouvements de cet automate, grâce à des pignons placés sur un cylindre gravé, qui contrôlaient des baguettes traversant les pattes du canard.
- Les artisans Pierre et Louis Jaquet-Droz fabriquèrent parmi les meilleurs automates fondés sur un système purement mécanique, avant le développement des dispositifs électromécaniques.
Pensée automatique.
Les processus cognitifs peuvent-ils se réduire à un simple calcul ? Et si tel est le cas, quels sont les symboles et les règles à employer ?
Les premiers essais de formalisation de la pensée sont les suivants :
- Raymond Lulle, missionnaire, philosophe, et théologien espagnol du XIIIe siècle, a fait la première tentative pour engendrer des idées par un système mécanique. Il combinait aléatoirement des concepts grâce à une sorte de règle à calcul, un zairja, sur laquelle pivotait des disques concentriques gravés de lettres et de symboles philosophiques. Il baptisa sa méthode Grand Art (Ars Magna), fondée sur l'identification de concepts de base, puis leur combinaison mécanique soit entre eux, soit avec des idées connexes. Raymond Lule appliqua sa méthode à la métaphysique, puis à la morale, à la médecine et à l'astrologie.
- Gottfried Wilhelm Leibnitz, au XVIIe siècle, a imaginé un calcul pensant (calculus rationator), en assignant un nombre à chaque concept. La manipulation de ces nombres aurait permis de résoudre les questions les plus difficiles, et même d'aboutir à un langage universel. Leibnitz a toutefois démontré que l'une des principales difficultés de cette méthode, également rencontrée dans les travaux modernes sur l'intelligence artificielle, est l'interconnexion de tous les concepts, ce qui ne permet pas d'isoler une idée de toutes les autres pour simplifier les problèmes liés à la pensée.
- George Boole a inventé la formulation mathématique des processus fondamentaux du raisonnement, connues sous le nom d'algèbre de Boole. Il était conscient des liens de ses travaux avec les mécanismes de l'intelligence, comme le montre le titre de son principal ouvrage paru en 1854 : « Les lois de la pensée » (The laws of thought), sur l'algèbre booléenne.
- Gottlob Frege perfectionna le système de Boole en inventant le concept de prédicat, qui est une entité logique soit vraie, soit fausse (toute maison a un propriétaire), mais contenant des variables non logiques, n'ayant en soit aucun degré de vérité (maison, propriétaire). Cette invention eu une grande importance puisqu'elle permis de démontrer des théorèmes généraux, simplement en appliquant des règles typographiques à des ensembles de symboles. La réflexion en langage courant ne portait plus que sur le choix des règles à appliquer. Par ailleurs, seul l'utilisateur connaît le sens des symboles qu'il a inventé, ce qui ramène au problème de la signification en intelligence artificielle, et de la subjectivité des utilisateurs.
- Bertrand Russell et Alfred North Whitehead publièrent au début du XXe siècle un ouvrage intitulé « Principia mathematica », dans lequel ils résolvent des contradictions internes à la théorie de Gottlob Fredge. Ces travaux laissaient espérer d'aboutir à une formalisation complète des mathématiques.
- Kurt Gödel ruine ces espoirs en publiant en 1931 un article intitulé « Des propositions formellement indécidables contenues dans les Principia mathematica et autres systèmes similaires ». Il démontre l'existence de théorèmes vrais qu'aucune démonstration ne permettra jamais de prouver.
- Alan Turing parvient aux mêmes conclusions que Kurt Gödel, en inventant des machines abstraites et universelles (rebaptisées les machines de Turing), dont les ordinateurs modernes sont considérés comme des concrétisations. Il démontre l'existence de calculs anodins qu'aucune machine ne peut faire, sans pour autant que cela constitue pour Turing un motif pour douter de la faisabilité de machines pensantes.
- D'autres chercheurs comme Alonzo Church, ont obtenu des résultats du même ordre, posant des limites pratiques aux ambitions de la raison, et orientant la recherche (Herbert Simon, Michael Rabin, Stephen Cook) vers l'obtention des solutions en temps fini, ou avec des ressources limitées, ainsi que vers la catégorisation des problèmes selon des classes de difficulté (en rapport avec les travaux de Cantor sur l'infini).
Principaux projets et réalisations de l'intelligence artificielle.
La liste ci-dessous indique les projets et les réalisations marquants dans le domaine de l'intelligence artificielle. La quasi-totalité de ces travaux ont été accomplis aux États-Unis, et il est à noter qu'une bonne part d'entre eux ont été financés par l'armée américaine. L'un des principaux financeurs de ces travaux fut la DARPA (Defense Advanced Rechearch Project Agency), célèbre pour avoir initié le réseau Arpanet, qui a donné naissance à Internet.
- Logic Theorist (Théoricien de la logique) (1956) - Ce programme informatique est considéré comme le premier relevant de l'intelligence artificielle. Il a été développé par Allen Newell et Herbert Simon, avec l'assistance de Cliff Shaw. Logic Theorist est un programme de démonstration de théorèmes, fondé sur une recherche sélective. Une hypothèse de base donnée, peut subir toute une gamme de manipulations élémentaires conformes aux lois de la logique. Le résultat obtenu peut passer à son tour par une série de manipulations. La répétition de cette procédure crée une structure arborescente, sous forme « d'arbre de recherche ». L'exploration de celui-ci permet d'aboutir au résultat recherché, après un nombre indéfini d'opérations. Le problème à surmonter est de trouver le chemin qui mène de l'hypothèse de base au résultat recherché. Logic Theorist comportait une liste de règles empiriques appropriées, les heuristiques, qui permettaient de sélectionner laquelle des branches de l'arbre de recherche était la plus susceptible de mener au but. Une fois programmé sur une machine de la RAND, Logic Theorist démontra 38 des 52 premiers théorèmes du 2e chapitre des « Principia mathematica » de Bertrand Russell et Alfred North Whitehead. Le théorème 2.85 faisait même l'objet d'une démonstration plus élégante que celle des auteurs, au grand contentement de Russel. Pour marquer la portée de ce dernier résultat, Allen Newell et Herbert Simon décidèrent de publier cette démonstration dans le « Journal of symbolic logic », en faisant co-signer cette publication par Logic Theorist. Lors de la conférence de Dartmouth de 1956, considérée comme la rencontre fondatrice de l'intelligence artificielle en tant que discipline scientifique, Logic Theorist fut le seul programme opérationnel présenté. Il est par ailleurs considéré comme le lointain précurseur des logiciels de traitement formel des équations.
-
IPL (Information Processing Language ou langage de traitement de l'information) (1956) - Dans le cadre de la réalisation de Logic Theorist, le résultat le plus important pour le développement de l'intelligence artificielle, a été l'invention d'un langage de programmation spécifique nommé IPL. Ce langage fut le premier à employer la technique de programmation dite de traitement des listes. Les auteurs de Logic Theorist pensaient que les langages existant à l'époque, comme le FORTRAN, n'étaient pas appropriés pour un tel projet. En effet, ceux-ci exigeaient que les ensembles de nombres et de symboles manipulés soient définis au préalable. Au contraire, les auteurs de Logic Theorist estimaient que la pensée est fondée d'une part sur la création, la modification et la destruction de structures de symboles en interaction, et d'autre part sur le caractère associatif de la mémoire humaine. La technique de traitement de liste est une tentative pour bénéficier de ces deux caractéristiques. Les idées d'Allen Newell et de Herbert Simon inspirèrent John McCarthy lorsque celui-ci inventa son propre langage d'IA : le LISP.
- Global Problem Solver ou GPS (Système général de résolution de problèmes) (1957) - Partant du constat que les humains ne raisonnent pas comme Logic Theorist, Allen Newell et Herbert Simon s'inspirèrent d'expériences de psychologie sur les méthodes de résolution de problèmes par des humains, pour créer GPS. Celui-ci avait l'originalité d'être fondé sur une organisation et un ensemble de règles heuristiques ne renfermant aucune référence à une tâche particulière, d'où le qualificatif de Système général de résolution de problèmes. GPS employait l'analyse fins/moyens, qui fonctionnait comme un principe de rétroaction, détectant puis réduisant les différences entre un état de faits et le but recherché. Cette méthode de résolution était couplée à la capacité à décomposer un problème en plusieurs sous-problèmes. GPS fut employé pour résoudre des casse-têtes, des intégrations symboliques, et des décryptages de codes secrets.
- Sad Sam (1957) - Créé par Robert K. Lindsay, Sad Sam provient de l'étude de l'apprentissage verbal. Ce programme était capable de définir des liens de parenté entre des personnes citées dans des phrases formulées en langage courant, en construisant peu à peu l'équivalent d'un arbre généalogique interne. Sad Sam était donc capable de relier une nouvelle information à d'autres faits déjà enregistrés, pour en tirer des conclusions qui n'avaient pas été apprises. A ce titre, certains chercheurs ont estimé que Sad Sam présentait les premières ébauches de compréhension au sens humain du terme.
- LISP (LISt Processing ou traitement de listes) (1958) - En s'inspirant du langage IPL, John McCarthy inventa au MIT le LISP, qui devint le langage universel de l'IA. En effet, les qualités du LISP en matière de gestion de mémoire et de représentation lui permirent de supplanter ses concurrents comme l'IPL ou le COMIT. Toutefois, dans les conditions de l'informatique des années 60, où la taille des mémoires était faible, l'encombrement en espace mémoire des langages de traitements de listes a freiné leur adoption. De plus, le LISP était interprété et non compilé, puisqu'il pouvait ainsi se modifier lui-même, ce qui entrainaît une grande lenteur d'exécution. Le LISP ne devint attractif qu'à partir de 1970.
- Perceptron (1958) - Le Perceptron fut le premier modèle opérationnel de réseau de neurones. Il fut créé par Frank Rosenblatt sous forme d'une simulation tournant sur un IBM 704, à partir des travaux de McCulloch et Pitts sur la notion de neurones formels interconnectés en 1943, et de Hebb sur l'importance du couplage synaptique dans les processus d'apprentissage en 1949. Le Perceptron est inspiré du système visuel, et il se montre capable d'apprentissage en modifiant ses connections synaptiques. Le Perceptron comprend trois éléments principaux :
- une couche d'unités sensorielles, ou « rétine », fournissant des réponses modulées en fonction de l'intensité du stimulus,
- une couche de cellules d'association, constituant la couche de neurones formels proprement dits, selon la définition de McCulloch et Pitts.
- une couche de cellules de décisions, qui représentent la réponse de sortie du Perceptron.
Grâce à une procédure inventée par Frank Rosenblatt, l'apprentissage du Perceptron se fait par correction d'erreur, en modifiant les coefficients de poids des signaux entre les cellules. En 1969, Marvin Lee Minsky et Seymour Papert publièrent un ouvrage intitulé Perceptrons, qui démontrait certaines limitations de ces modèles. En particulier, le Perceptron ne peut pas effectuer l'opération binaire de parité (OU exclusif ou XOR). L'autorité de ces auteurs, ainsi que le décès accidentel de Frank Rosenblatt, entraîna un quasi-arrêt des recherches dans ce domaine pendant près de 15 ans, jusqu'à l'apparition des réseaux multicouches de neurones.
- Geometry Theorem Prover ou GTP (Système de démonstration de théorèmes géométriques) (1959) - Ce programme a été financé par IBM et conçu par Herbert Gelernter. GTP fonctionnait de manière rétrograde à partir du théorème à démontrer, pour remonter par des raisonnements intermédiaires à des théorèmes ou des axiomes connus. Lors de cette phase, le programme s'aidait d'une figure géométrique décrite à partir des coordonnées de ses points. Pour élaguer l'arbre de recherche, GTP cherchait uniquement à démontrer les propriétés qui semblaient vérifiées sur le schéma, comme le font inconsciemment les humains. GTP était ainsi capable de faire des démonstrations nécessitant jusqu'à 10 étapes. Plus important, il fut le premier programme capable de faire référence à un modèle, dans la mesure où la figure géométrique était utilisée comme une représentation interne. A la suite de la notoriété de GTP et d'autres programmes d'IA, IBM décida d'arrêter ces études d'une part en raison de la pression des actionnaires qui jugeaient ces dépenses inutiles, et d'autre part du service marketing, qui s'alarmait d'une image trop inquiétante des ordinateurs dans le grand public.
- SAINT (Symbolic Automatic INTegrator ou intégrateur symbolique automatique) (1961) - James Slagle appliqua la méthodologie de Logic Theorist au domaine de l'intégration symbolique, en la transposant ainsi de la logique à l'algèbre, grâce à la mise au point de procédures d'exploration des arbres ET/OU. Confronté à des sujets d'examens posés aux étudiants du MIT de 1ère année, SAINT parvint à résoudre 84 problèmes sur 86. Ce programme a été perfectionné par Joel Moses en 1966 sous le nom de SIN (Symbolic INtégration), avant de donner naissance en 1969 à MACSYMA, qui a inspiré nombre de logiciels de traitement formel des équations aujourd'hui employés (dont un descendant en ligne droite toujours en développement : MAXIMA).
- ANALOGY (1963) - Tom Evans a créé ce programme en se fondant sur l'idée que le cerveau humain, devant une situation donnée, ne raisonne pas selon les voies de la logique, mais en essayant de trouver des ressemblances avec des problèmes déjà rencontrés. Il a tenté de simuler l'aptitude à chercher des ressemblances avec ce logiciel capable de trouver des analogies entre des figures géométriques employées dans les tests d'intelligence.
- STUDENT (1964) - Daniel Bobrow a inventé ce programme, capable de faire une analyse syntaxique de textes simples, pour résoudre des problèmes algébriques du type "trouvez l'âge du capitaine".
- SIR (Semantic Information Retrieval ou recherche d'information sémantique) (1964) - Ce programme de Bertram Raphael pouvait interpréter des dialogues simples, en cherchant des analogies avec des modèles de phrases. Cette technique lui permettait de déduire des relations entre les personnes ou les objet cités dans ces phrases, en posant des questions à un opérateur. Toutefois, les capacités de SIR, comme celles de STUDENT étaient très limitées. Les informations traitées concernaient un domaine très restreint, et les programmes butaient rapidement sur des ambiguïtés.
- Shakey (1969) - Créé dans le laboratoire du Stanford Rechearch Institute, Shakey fut le premier robot ayant fait l'objet de publicité dans le grand public, à la suite d'un reportage très sensationnaliste de la revue Life, qui l'avait baptisé la première personne électronique. Shakey était également censé pouvoir circuler sur la lune pendant plusieurs mois sans recevoir une seule directive de la terre ! Shakey était un cube monté sur roues, équipé d'un bras, d'une caméra vidéo, d'un télémètre et d'antennes de liaison radio. Il se déplaçait dans un micromonde constitué de 7 pièces reliées par 8 portes, contenant des boites carrées. Celles-ci étaient contournées, déplacées ou empilées en fonction des instructions que le robot recevait par un clavier. Shakey avait une procédure de contrôle nommée STRIPS, qui était un perfectionnement du General problem Solver, et qui constituait sa principale innovation. Le projet Shakey avait pour objectif de créer un robot capable d'enchaîner une série d'actions : circuler dans une pièce pour trouver un bloc, le déplacer au sommet d'une plate-forme après avoir poussé un plan incliné contre elle, et ainsi de suite. En fait, Shakey devint seulement capable de réaliser ces actions de façon indépendante, avec une forte probabilité d'échec. Constatant que les objectifs du projet étaient hors de portée, la DARPA mit fin au financement de ces travaux.
- PLANNER (1969) - Ce langage de programmation fut inventé par Carl Hewitt à partir de LISP, selon une approche antagoniste du GPS et de ses méthodes de résolution de problèmes fondées sur la logique et les procédures uniformes de démonstration de théorèmes. PLANNER permettait en quelques instructions de fixer des buts à un programme (chercher un cube rouge placé sous une pyramide), des plans et des assertions de façon automatique, sans avoir besoin de programmer des itérations et des marches arrières comme avec LISP. Mais PLANNER présentait l'inconvénient de ne pas faire de distinction entre les connaissances contenues dans ces procédures, et l'exploitation de ces connaissances par ces mêmes procédures. Les programmes étaient donc un mélange inextricable de connaissances et de procédures. Ce manque de structuration a été critiqué et a conduit à l'abandon des langages de type PLANNER. Marvin Lee Minsky estime toutefois que l'intelligence naturelle est organisée selon des principes similaires à PLANNER, avec des agents indépendants hiérarchisés, selon sa théorie de la société de l'esprit.
- SHRDLU et les micro-mondes (1969) - Le nom de SHRDLU est devenu un mythe de l'intelligence artificielle. Programmé avec le langage PLANNER, ce logiciel était la modélisation d'un micro-monde de blocs et de pyramides de couleurs diverses, avec une boite pour les ranger. Un bras virtuel permettait à un utilisateur de manipuler ces objets. L'opérateur pouvait donner des ordres et poser des questions, alors que SHRDLU répondait en décrivant l'emplacement des objets, et les motifs des manipulations effectuées. SHRDLU affichait également sur un écran une image de son micro-monde. Terry Winograd avait nommé son programme en référence au magazine MAD, qui l'employait pour désigner des monstres (et non par référence aux lettres les plus employées en anglais, comme cela est parfois indiqué). Le fait que l'utilisateur et SHRDLU échangeaient des informations constructives, et que ce dernier pouvait expliciter ses motivations, fit une forte impression. Les partisans des micro-mondes espéraient pouvoir enrichir et complexifier progressivement les mondes simulés pour les rapprocher de la réalité, ou bien fusionner plusieurs micro-mondes pour les étendre. Cette approche fut un échec, car il est vite apparu qu'il n'est pas possible d'aller vers un monde plus proche du réel sans prise en compte du sens commun dans le programme. Eugène Charniak prit pour exemple en 1972 le cas d'une tirelire-cochonnet pour enfants. Un programme de type micro-monde ne peut pas se contenter d'une définition tirée d'un dictionnaire. Il faut avoir une description de la taille, de la forme, des couleurs et du poids de l'objet, tout en sachant que ces paramètres peuvent fortement varier. La notion d'argent implique de définir ce que sont l\'économie et l'épargne. L'utilisation de cet objet simple se révèle complexe à décrire : mettre de l'argent, secouer le cochonnet pour en interpréter le bruit, retirer l'argent en mettant le cochonnet à l'envers et en employant un couteau, voire utiliser le cochonnet comme une figurine animée. La complexité du savoir à mettre en œuvre est très éloignée de la simplification propre aux micro-mondes.