L’intelligence artificielle depuis les années 1950 (1)

 

 

 

Les automates

D’où vient l’idée de la possibilité d’une intelligence artificielle ? Si l’on veut retenir l’émergence d’un désir de construire ou de concevoir un homme ou une intelligence artificielle comme moment fondateur, il semble qu’il faille remonter très loin. Dans l’Iliade (chant XVIII), Hephaïstos (dieu forgeron) crée des femmes en or qui ont la capacité de parler, travailler, etc.

Dans la tradition juive, le Golem est un automate à forme humaine en bois ou en argile. Une inscription magique sur le front en fait un serviteur muet et obéissant.
On cite la machine à calculer de Pascal (1642) comme étant la première construction d’une machine réalisant ce que l’on pouvait croire l’homme, seul capable de faire. Il semble en fait que la première machine à calculer ait été construite par l’Allemand Wilhelm Schickard en 1623. Cette machine a été détruite dans un incendie mais son existence est mentionnée dans une lettre de Schickard à Kepler.
La question de savoir ce que révèle de la nature de la pensée le fait que l’arithmétique (élémentaire) soit reproductible par une machine a été posée dés cette époque. Diverses réponses ont été apportées :

  • Pour Pascal et Descartes, cela montre que l’arithmétique échappe au domaine du raisonnement
  • Hobbes en tire la conclusion inverse : le raisonnement n’est jamais qu’un calcul dont la nature mécanique est confirmée par des constructions telles que la machine de Pascal.

La question reste pertinente de nos jours et le plus étonnant, c’est que les réponses fournies par Pascal et Descartes d’une part, Hobbes d’autre part représentent encore de nos jours deux sensibilités parfaitement identifiables dans la communauté scientifique. Pour les uns, cela signifie que le jeu d’échecs ne nécessite pas tant d’intelligence qu’on pouvait le penser, pour les autres cela conforte l’idée que l’on pourra créer un jour une machine véritablement intelligente. Pour Descartes, si les comportements des animaux et certaines activités humaines peuvent être simulés par des machines, il semble impossible de concevoir une machine qui reproduirait le comportement humain dans toute sa généralité. La raison principale de cette impossibilité réside pour lui dans la faculté de l’homme de converser. Alan Turing placera également dans cette faculté humaine la frontière qui permettra de dire si une machine est intelligente ou non.

Les caractéristiques universelles de Leibniz : tout objet concret ou abstrait, tout comportement a son chiffre, est formalisable (comme on est tenté de l’exprimer au prix d’un anachronisme).

Dés lors, tous les problèmes devraient pouvoir être résolus par le calcul et tous les sujets controversés trouver leur conclusion.

«  Si quelqu’un venait à douter de mes résultats, je lui dirais : « Monsieur, calculons cela ensemble >> et de la sorte, avec une plume et un encrier, nous réglerions la question. »

Des commentaires à propos des automates construits à cette époque indiquent que l’on a pu penser qu’ils représentaient un immense progrès de la connaissance et que par eux, l’on était proche du mystère de la vie. Cela semble risible de nos jours, mais ces automates représentaient effectivement quelques concepts fondamentaux. Avant qu’une idée soit complètement explicitée, c’est à dire, au moment où elle contribue au paradigme que l’on n’a pas encore dégagé, un objet ou une oeuvre d’art peut être ressenti comme exprimant globalement tout ce que l’on peut penser. C’est sans doute le même phénomène qui est à l’origine de l’optimisme démesuré des pionniers de l’intelligence artificielle dans les années 1950-60. On a vu quels concepts pouvaient être représentés directement par ces automates :

  • la fameuse phrase de Galilée « la nature est écrite en langage mathématique »

illustre parfaitement la découverte extraordinaire que constitue l’intelligibilité du monde grâce aux mathématiques. Le calcul est tout-puissant et la mécanique est son instrument (le Dieu horloger).

la symbolisation ou la possibilité du codage : il y a un rapport entre les mouvements d’aile du canard automate de Vaucanson et les rouages qui les causent.

  • l’universalité : la machine à calculer de Pascal calcule la somme ou la différence non pas de deux nombres en particulier (ce qui n’aurait aucun intérêt) mais de deux nombres quelconques. De même les métiers Jacquard peuvent reproduire n’importe quel motif.

La Mettrie (1709-1751) publie son ouvrage le plus connu L’homme-machine en 1747. La thèse qui y est défendue est vigoureusement matérialiste : seule la matière existe, la pensée n’en est qu’une propriété et l’Homme est une machine.

«  Le corps humain est une machine qui remonte elle-même ses ressorts etc. >> << L’âme n’est donc qu’un vain terme dont on a point idée, et dont un bon esprit ne doit se servir que pour nommer la partie qui pense en nous […] Je crois la pensée si peu incompatible avec la matière organisée, qu’elle semble en être une propriété, telle que l’électricité, la faculté motrice, l’impénétrabilité, l’étendue, etc. […] Concluons donc hardiment que l’Homme est une Machine, et qu’il n’y a dans tout l’Univers qu’une seule substance diversement modifiée. »

Les métiers Jacquard (1805) : la caractéristique la plus intéressante de ces métiers à tisser, est qu’ils peuvent être configurés pour reproduire automatiquement n’importe quel motif. A chaque motif correspond une séquence d’instructions matérialisées par des fiches perforées. Il s’agit donc d’une machine programmable universelle (dans l’univers des motifs).

La machine analytique de Charles Babbage (1842) : après avoir conçu en 1833 une machine à différence capable d’effectuer des séquences d’opérations arithmétiques, Charles Babbage consacre le reste de son existence et de sa fortune à la réalisation d’une machine analytique beaucoup plus ambitieuse. Cette machine doit comporter un magasin contenant les données sur lesquelles la machine travaille et un moulin qui effectue les opérations, contrôlé par des cartes perforées. Le contrôle du calcul est programmé et, c’est là une innovation essentielle, peut dépendre de résultats intermédiaires grâce à des instructions de branchement conditionnel. L’universalité du calcul est donc (virtuellement) atteinte. Cette machine n’a jamais été achevée : elle aurait nécessitée plus de 50 000 pièces mécaniques de haute précision. L’importance de la machine analytique était comprise par ses concepteurs. Il ne s’agit donc pas d’une découverte fortuite.

 

Naissance de la logique moderne

Le lien entre intelligence artificielle et logique est très ancien. Il provient bien entendu du fait que la reproduction ou la modélisation du raisonnement humain est une des tâches majeures que s’est assignée l’IA et que c’est là aussi l’objet d’études de la logique. Jusqu’au milieu du XIXe siècle, la logique faisait partie de la philosophie. La référence à Aristote était encore inévitable. A partir de De Morgan (1806-1871) et de Boole (1815-1864) (An Investigation of the Laws of Thought, 1854), la logique migre vers les mathématiques. Il est possible d’envisager un calcul des propositions logiques. Frege (1848-1925) : la Begriffsschrift (1879) (idéographie, notation conceptuelle) fonde la science des langages formels.

La notion de système formel : on peut décrire un système formel par la donnée d’un langage (c’est-à-dire d’un alphabet et de règles permettant de construire les expressions bien formées), d’axiomes (sous ensemble de l’ensemble des expressions) et de règles permettant d’inférer des expressions à partir d’autres. Formaliser un domaine de connaissances consiste à construire un système formel dans lequel les expressions bien formées codent les expressions pertinentes du domaine (qu’elles soient vraies ou non), les axiomes correspondent aux vérités de base et les règles d’inférence permettent de déduire toutes les vérités du domaine et elles seules.

Exemple : un fragment de l’arithmétique de Peano. L’alphabet contient la constante a et le symbole fonctionnel un-aire S. On définit les termes de manière récursive par :

  • a est un terme
  • si t est un terme, alors S(t) est aussi un terme.

Les formules élémentaires sont de la forme : t = t‘ où t et t‘ sont des termes. Les formules se déduisent des formules élémentaires par un usage correct des connecteurs logiques Ú, Ù, ¬ et des quantificateurs  » et $. Les expressions bien formées sont les termes et les formules.

Les règles ou axiomes logiques contiennent (entre autres)

  • le modus ponens qui peut s’exprimer de la manière suivante : si l’on a déduit les formules F et F > G, alors on peut déduire la formule G.
  • le modus tollens qui peut s’exprimer de la manière suivante : si l’on a déduit les formules F >∀ G et ¬ G, alors on peut déduire la formule ¬ F.
  • la règle d’universalité : si l’on a déduit la formule ∀ x F(x) alors on peut déduire la formule F(t) pour tout terme t.

L’axiome ∀x ¬ (a = S(x)) signifie alors que 0 n’est le successeur d’aucun nombre. L’axiome ∀ x ¬ (a = x) ∃ $ y (x = S(y)) signifie que tout nombre entier non nul est le successeur d’un entier. L’axiome ∀ xy (S(x) = S(y)) ⇒ x = y signifie que si deux nombres ont les mêmes successeurs alors ils sont égaux. Comme ces trois axiomes sont vrais dans N, toutes les formules que l’on peut en déduire le sont également.

Formalisation et intelligence artificielle semblent indissociables. La raison en est qu’un programme d’ordinateur ne peut traiter que des suites de 0 et de 1, c’est-à-dire des données syntaxiques ; une condition nécessaire à l’intelligence artificielle réside donc dans cette possibilité de formaliser la connaissance et autres facultés humaines. Mais cela ne semble plus aussi clair actuellement : formaliser et réduire à du syntaxique sont-elles des propositions équivalentes ? Jusqu’à la fin du 19e siècle, ni les mathématiques ni même la géométrie n’étaient entièrement formalisées. David Hilbert propose une formalisation de la géométrie en 1899 (Grundlagen der Geometrie). En 1900, au IIe congrès international des mathématiciens, il énonce une série de problèmes ouverts dont il pense qu’ils seront au centre des préoccupations des mathématiciens dans les décennies à venir. Le deuxième problème est le suivant : formaliser les mathématiques de telle manière que tout énoncé mathématique soit décidable. Zermelo propose en 1908 un système formel (Z) qui après quelques modifications apportées par Fraenkel en 1922 (ZF) permettra de décrire la quasi totalité des mathématiques telles qu’elles se font encore actuellement.

La notion de démonstration ou déduction automatique : si un domaine de connaissances est complètement formalisé et si les règles du raisonnement sont explicitées et syntaxiques, alors tout énoncé vrai de ce domaine doit pouvoir être produit automatiquement. Ainsi, il est très simple de produire toutes les vérités des mathématiques telles qu’on les considère aujourd’hui : il suffit d’appliquer successivement toutes les règles d’inférences à tous les axiomes de ZF ainsi qu’à toutes les formules démontrées à des étapes antérieures. Un des plus gros inconvénients de cette méthode est que si un énoncé est vrai on finira bien par le savoir alors que s’il est faux, on ne le saura jamais ! Il y a une dissymétrie entre vérité et fausseté : on demande en effet rarement à un système formel d’être capable d’inférer toutes les erreurs, tous les énoncés faux de la théorie ! On dit qu’un système formel est décidable s’il existe une procédure permettant de décider (en un temps fini) si un énoncé se déduit des axiomes ou non. C’est un tel système que Hilbert souhaitait pour les mathématiques. Malheureusement (ou heureusement selon certains) Gödel montra en 1931 qu’un tel souhait était vain : il n’existe pas de systèmes formels décidables permettant de décrire les mathématiques (et même l’arithmétique). On peut formuler ce résultat autrement : pour tout système formel décrivant l’arithmétique, on peut construire un énoncé vrai bien que non prouvable dans ce système. C’est un argument qui est parfois utilisé pour soutenir qu’une intelligence artificielle est impossible : l’homme peut prouver plus de choses qu’un système formel (et donc qu’une machine).

D’après ce qui précède, raisonner c’est appliquer des règles, c’est-à-dire, calculer. Mais qu’est-ce qu’un calcul ? Qu’est-ce qu’un objet calculable ? Qu’est-ce qu’une fonction calculable ? Peut-on se mettre d’accord sur ce que l’on entend par là ? Les fonctions suivantes sont calculables :

  • f(n) = 3n2 -2n +1
  • f(n) = le plus grand diviseur premier de n s’il existe et 0 sinon.

Elles sont calculables parce qu’il existe un algorithme qui pour chaque valeur de n permet de déterminer automatiquement et en un temps fini la valeur de f(n). Mais que sont les algorithmes ? Peut-on les décrire ? Est-il vrai que toute fonction définie de N dans N est calculable ? Cette question a été abordée indépendamment par plusieurs mathématiciens dans les années 30. Il n’était pas question de démontrer un théorème mais de préciser, de caractériser formellement une notion intuitive : la calculabilité. Plusieurs réponses apparemment très différentes ont été données par Church (en lambda-calcul), Turing (les machines de Turing – 1936), Gödel, Kleene. On a pu démontrer que toutes ces caractérisations étaient en fait équivalentes, en dépit des différences de formulation. Cela conduit à ce qu’on appelle la thèse de Church-Turing :

La notion de calculabilité est parfaitement caractérisée par la notion de machine de Turing (par exemple).

Encore une fois, il s’agit là d’une thèse et non d’un théorème. Cette thèse n’est pas remise en question de nos jours.

Le modèle de calcul le plus simple est la Machine de Turing, créée par Alan Turing en 1936. Ce modèle est encore utilisé chaque fois qu’il s’agit de démontrer des résultats concernant la calculabilité. Une machine de Turing est constituée d’un ruban infini des deux côtés divisés en cases contenant chacunes une lettre de l’alphabet S = {0, 1, Blanc}. Une tête de lecture-écriture pointe vers l’une des cases du ruban. Un ensemble fini Q décrit l’ensemble des états dans lequel peut se trouver la machine. On réserve la notation qinit (resp. qfin) pour désigner l’état initial de la machine (resp. son état final). Un ensemble fini d’instructions permet de décrire la dynamique de la machine. Ces instructions sont de la forme :

q, xy, q‘, d

où :

  • q et q‘ sont des éléments de Q, c’est-à-dire des états de la machine
  • x et y sont des éléments de ∑ et
  • d est un élément de l’ensemble {D, G }.

La dynamique de la machine est alors décrite par la règle suivante : si la machine est dans l’état q et si la tête de lecture pointe vers une case contenant la lettre x alors la machine écrit y à la place de x, elle passe dans l’état q‘ et la tête de lecture-écriture se déplace d’une case dans la direction indiquée par d (droite pour D et gauche pour G). On dit qu’une machine M calcule la fonction f si chaque fois que la bande contient l’entier n (écrit en binaire) et qu’on lance la machine M (la tête de lecture pointant vers la première case de n et la machine étant dans l’état qinit), la machine M finit par s’arrêter sur l’état qfin en ayant inscrit l’entier f(n) sur le ruban. Une manière d’exprimer la thèse de Church-Turing est de dire : toute fonction intuitivement calculable peut être effectivement calculée par une machine de Turing. Cela peut paraître surprenant et il est impossible de le démontrer. On peut par contre montrer que toute fonction calculable par un programme est calculable par une machine de Turing (et réciproquement). Une autre manière encore de formuler la thèse de Church-Turing : toute fonction intuitivement calculable peut être effectivement calculée par un programme informatique.

Machines spécialisées et machines universelles : les machines ci-dessus sont spécialisées. Elles calculent une fonction et une seule. Il est possible de construire une machine de Turing universelle, c’est-à-dire capable de calculer toutes les fonctions calculables. La construction repose sur le résultat suivant : il est possible d’énumérer effectivement toutes les machines de Turing. C’est-à-dire qu’il est possible de coder toute machine de Turing T par un entier n de telle manière qu’étant donné une machine de Turing T il est possible de calculer son code n et qu’étant donné un entier n il est possible de construire la machine dont il est le code. On note Tn la machine de Turing dont le code est l’entier n. On considère alors la machine de Turing U définie par :

U(nBp) = Tn(p).

La machine U interprète la première partie de la donnée comme étant le code de la machine (spécialisée) qu’elle doit simuler et la deuxième partie comme étant la donnée à lui transmettre. Finalement, n représente le programme de U tandis que p représente la donnée. Cette machine est universelle puisqu’elle peut simuler toutes les machines de Turing Tn. Ce qui précède peut paraître très compliqué. Il y a pourtant au moins deux idées essentielles à en retirer.

  • Une seule machine est suffisante pour calculer tout ce qui est calculable.
  • Pour une machine de Turing universelle, il n’y a pas de différence de nature entre programme et donnée. Cette idée a été reprise (ou réinventée) par Von Neumann lorsqu’il a défini l’architecture des premiers ordinateurs : programmes et données doivent être stockés dans une mémoire unique. C’est encore le cas pour les ordinateurs que nous utilisons.
L’intelligence artificielle après 1950

Les idées dégagées dans le paragraphe précédent constituent le fondement théorique de l’intelligence artificielle. Les comportements humains ne sont rien d’autre que le résultat d’un calcul portant sur des données plus ou moins complexes et tout calcul peut être simulé par une machine de Turing universelle. Tous les comportements humains peuvent donc être simulés par une telle machine. Jusqu’au milieu des années 40, cette thèse est purement théorique : il n’est pas question de la valider par des machines réelles. La construction inachevée de la machine analytique de Babbage montre les limites de la technologie mécanique. Les progrès de la technologie électrique puis électronique vont modifier le statut de cette thèse : il devient possible de la valider expérimentalement. Signalons alors quelques dates importantes :

  • l’ENIAC, conçu aux Etats-Unis pendant la seconde guerre mondiale est le dernier grand calculateur plutôt que le premier ordinateur. Il fut achevé en novembre 1945. Cette machine pesait 30 tonnes, avait une surface au sol de 160 mètres carrés, comprenait 17468 tubes à vides, 70000 résistances, 10000 capacités, 1500 relais et 6000 commutateurs manuels. L’exécution des programmes était très rapide (200000 instructions par seconde) mais la programmation était beaucoup plus laborieuse : il fallait positionner à la main des milliers de commutateurs. L’ENIAC pêchait par manque d’universalité : il était impossible de mémoriser les programmes autrement qu’en configurant les commutateurs.
  • John Von Neumann décrit dans un texte d’une dizaine de pages en juin 1945 ( First Draft of a Report on the EDVAC) quelques principes qui sont encore à la base des ordinateurs actuels. L’idée essentielle est que les instructions et les données doivent être stockées en mémoire, l’unité centrale se chargeant d’appliquer les premières aux secondes. Cette architecture avait été décrite par Alan Turing dans son article sur les machines universelles et il est probable que Von Neumann s’en est inspiré.
  • le tout premier langage de programmation fut conçu par Alan Turing. Il contenait une cinquantaine d’instructions que l’ordinateur (Mark1) traduisait automatiquement en binaire. Le langage FORTRAN a été écrit entre 1953 et 1956, le LISP (principal langage de l’IA jusqu’à PROLOG, créé par McCarthy) en 1956, l’ALGOL et le COBOL en 1960,le PL1 et PASCAL en 1964, PROLOG en 1974 (langage de PROgrammation en LOGique conçu par Colmerauer et Kowalski), …
  • les transistors sont mis au point en 1947 ; ils remplacent les lampes à vide dans les années 50. Le premier prototype de circuit intégré est créé en 1958 et le premier micro-processeur en 1971. Le premier micro-ordinateur est commercialisé en 1975 et le « PC » d’IBM date de 1981.

En 1950, Alan Turing écrit Computing machinery and intelligence, un article dans lequel il propose un test, communément appelé maintenant le test de Turing, qui devra permettre de décider si une machine est intelligente ou non. Il énonce également une série d’objections à l’intelligence artificielle qu’il réfute une à une. Le test de Turing est basé sur le jeu de l’imitation.

« C’est un jeu à trois joueurs, un homme (A), une femme (B) et un interrogateur (C) qui peut être de l’un ou l’autre sexe. L’interrogateur est dans une pièce, isolé des deux autres joueurs. L’objet du jeu pour l’interrogateur est de déterminer lequel des deux autres joueurs est l’homme et lequel est la femme. Il ne les connaît que par des étiquettes X et Y et à la fin du jeu il dit soit «  X est A et Y est B », soit «  X est B et Y est A ». L’interrogateur est autorisé à poser des questions à A et B comme :

C : X peut-il me dire quelle est la longueur de ses cheveux ?

Maintenant, supposons que X est A. A doit alors répondre. L’objectif de A est de faire en sorte que C fasse une fausse identification. Sa réponse pourrait donc être :

Je suis coiffée à la garçonne et mes mèches les plus longues font à peu près 20 cm.

Afin que la voix ne puisse pas aider l’interrogateur, les réponses devraient être écrites, ou mieux, dactylographiées. Le meilleur aménagement serait que les deux pièces communiquent par téléscripteur. Ou alors, les questions et réponses peuvent être relayées par un intermédiaire. L’objet du jeu pour le troisième joueur (B) est d’aider l’interrogateur. Sa meilleure stratégie est probablement de donner des réponses vraies. Elle peut ajouter des choses comme

«  Je suis une femme, ne l’écoutez pas ! »

mais cela ne lui profitera en rien car l’homme peut faire des remarques similaires. Nous posons maintenant la question : Que se passerait-il si une machine prenait la place de A dans le jeu ?. L’interrogateur se trompera-t-il aussi souvent lorsque le jeu est joué de cette manière que lorsqu’il est joué entre un homme et une femme ? Ces questions remplacent la question originale « les machines peuvent-elles penser? ».

Le grand mérite de ce test est d’opérationnaliser la question : les ordinateurs peuvent-ils penser ? Il permet de se passer d’une définition pour l’instant inaccessible de ce qu’est l’intelligence. Deux questions distinctes se posent naturellement :

  • pourra-t-on réaliser un jour une machine qui passe ce test avec succès ?
  • si oui, pourra-t-on dire que cette machine est intelligente ?

Les partisans de ce qu’on appelle l’IA forte répondent « oui » aux deux questions. Une très nombreuse littérature a été consacrée à ce test ainsi qu’aux réponses que l’on peut apporter aux questions précédentes. Dans le cours de l’article, Alan Turing fait également la prédiction suivante :

«  Je crois que d’ici 50 ans, il sera possible de programmer des ordinateurs, avec une capacité mémoire d’à peu près 109, de façon qu’ils jouent si bien au jeu de l’imitation qu’un interrogateur moyen n’aura pas plus de 70% de chances de procéder à l’identification exacte après 5 minutes d’interrogation. »
Les neuf objections envisagées par Turing contre la possibilité de l’I.A.

  • l’objection théologique

« Penser est une fonction de l’âme immortelle de l’homme. Dieu a donné une âme immortelle à tout homme et à toute femme, mais à aucun autre animal ni à aucune machine. Aucun animal ni aucune machine ne peut donc penser. »

  • l’objection de l’autruche (littéralement : de la tête dans le sable)

« Le fait que les machines pensent aurait des conséquences trop épouvantables. Il vaut mieux croire et espérer qu’elles ne peuvent pas le faire. »

  • l’objection mathématique : cette objection est basée sur le théorème d’incomplétude de Gödel de 1931. Quelque soit le système formel S (pourvu qu’il soit assez puissant), il existe des énoncés vrais (et que l’on peut montrer tels) que S ne peut pas produire. L’homme peut donc prouver plus de choses qu’une machine. Cette objection a particulièrement été étudiée par Lucas. La réfutation la plus courante consiste à dire que si S est un système formel qui ne peut pas produire l’énoncé vrai E, on peut facilement construire un système formel S‘ qui peut produire toutes les vérités produites par S ainsi que E. Il suffit de prendre S‘ = S È {E}. D’une part, il n’existe pas de vérités échappant à tout système formel et d’autre part, il n’est nullement exclu que l’homme n’ait pas les mêmes limites.
  • l’objection de la conscience : écrire un sonnet ou composer un concerto nécessite de ressentir ce que l’on fait, c’est-à-dire au minimum, d’en avoir conscience. Or une machine ne possède pas de conscience. Mais comment s’assurer qu’un homme ressent ce qu’il dit, qu’il possède une conscience ? A ce propos, Hoffstadter et Dennett citent l’histoire des deux sages taoïstes :

« Deux sages étaient debout sur un pont enjambant une rivière. L’un dit à l’autre : << j’aimerais être un poisson, ils sont si heureux ! » Le second répondit : « Comment savez-vous si les poissons sont heureux ou non ? Vous n’êtes pas un poisson. » Et le premier répondit : « Mais vous n’êtes pas moi, alors comment savez-vous si je sais ce que ressentent les poissons ? »

  • les arguments provenant de diverses incapacités

«  je vous concède que vous pouvez fabriquer des machines qui fassent tout ce que vous avez mentionné, mais vous ne serez jamais capable d’en construire une qui fasse X »

L’avantage de cette objection, c’est qu’elle est modulable dans le temps : X est toujours quelque chose que l’on ne sait pas faire à un moment donné.

  • l’objection de Lady Lovelace

« La Machine Analytique n’a pas la prétention de créer quoi que ce soit. Elle peut faire tout ce que nous savons lui ordonner de faire. »

Cette objection est devenue très classique. L’homme crée la machine, il a donc une supériorité sur elle. Il est pourtant facile de programmer une machine afin qu’elle réalise des tâches que son programmeur ne sait pas forcément faire (comme bien jouer aux échecs, par exemple).

  • l’objection de la continuité du système nerveux : le système nerveux est continu, les machines sont discrètes. Un système analogique affichera peut être des résultats qu’un système symbolique sera incapable de prédire, mais un système symbolique semble capable de simuler n’importe quel système analogique.
  • l’objection du caractère non formalisable du comportement : comment énoncer les quelques règles que je suis en conduisant une auto ? Mais on confond souvent règles de conduite et lois du comportement. Il peut être impossible de dégager des règles, cela ne prouve pas que le comportement n’obéit pas à des lois. Il peut être de même très difficile de retrouver un programme à partir de quelques-uns de ses calculs.
  • l’objection de la perception extrasensorielle : si la télépathie est possible, l’objection est sérieuse ! Pour distinguer l’homme de la machine, il suffit en effet que l’interrogateur demande << quelle carte ai-je dans la main ? >>. Je ne sais pas si Turing prenait cette objection au sérieux.

Ces objections et leurs réfutations ont suscité de nombreux travaux.
Premières réalisations :

  • 1956 : Logic Theorist de Newell, Shaw et Simon. Démonstrateur automatique de théorèmes.
  • 1959 : GPS (General Problem Solver) de A. Newell et H. A. Simon. Le premier logiciel qui s’attaque à la résolution de problèmes en général et non dans quelques domaines particuliers. Le nom du logiciel est un peu optimiste en regard des résultats.
  • 1958 : Newell et Simon prédisent qu’avant 10 ans, un programme d’IA aura :
    • battu le champion du monde d’échecs
    • démontré un théorème important en mathématiques
  • 1956 : premier traducteur Anglais-Russe

Cette première décennie a vu la réalisation de très nombreux travaux en I.A. qui auront surtout permis de prendre la mesure de la difficulté de la tâche ! Les premiers résultats sont en effet assez décevants et le décalage entre les déclarations plus qu’optimistes et les résultats est très frappant. Hubert Dreyfus, philosophe américain, a étudié avec un oeil extrêmement critique le développement de l’intelligence artificielle et la communauté de ses chercheurs. Son livre Intelligence artificielle – Mythes et limites contient à la fois une analyse et un témoignage très intéressants. L’un des problèmes sur lequel nombre des premiers travaux ont achoppé est celui de l’explosion combinatoire. On définit la complexité en temps d’un algorithme comme le nombre d’étapes que requiert son exécution en fonction de la taille des données qu’il doit traiter. Lorsque cette complexité dépend linéairement ou polynomialement de la taille des données, l’algorithme est généralement praticable. C’est à dire qu’on peut l’implanter sur un ordinateur et espérer obtenir une réponse dans un délai raisonnable. Lorsque cette complexité est exponentielle, l’algorithme n’est plus praticable. Or la plupart des algorithmes qui résolvent naïvement un problème d’intelligence artificielle ont une complexité exponentielle. Il est très facile par exemple de concevoir un algorithme qui joue aux échecs de manière optimale. Il suffit, à partir d’une configuration du jeu, de calculer toutes les suites possibles (il n’y en a qu’un nombre fini) et de choisir la meilleure d’entre elles. On voit bien que cette solution est pratiquement irréalisable.
Ces premières difficultés ont amené les chercheurs en IA à dégager un certain nombre de principes généraux :

  • un algorithme doit combiner les approches combinatoires (utilisant la puissance de calcul de l’ordinateur) et heuristiques (utilisant des connaissances sur le problème à résoudre)
  • il faut distinguer dans un algorithme ce qui est connaissance sur le problème de ce qui est méthode de résolution (approche déclarative)
  • les programmes d’IA doivent incorporer des modules d’apprentissage qui leur permettront d’améliorer leurs performances automatiquement (plus facile à dire qu’à faire !)

Les années 60 et 70 voient la réalisation de très nombreux projets d’importance. Les projets sont plus ciblés que lors de la décennie précédente, des principes méthodologiques sont précisés et surtout, l’IA bénéficie de l’extraordinaire augmentation de la puissance des ordinateurs liée à la miniaturisation et à l’intégration des composants.

  • 1970 : SCHRDLU, logiciel conçu par Terry Winograd. Il simule la manipulation de blocs géométriques (cubes, cylindres, pyramides, …) posés sur une table. Le logiciel génère automatiquement des plans (<< Pour déplacer le cube bleu sur le sommet du cylindre jaune, je dois d’abord enlever la pyramide qui se trouve sur le cube et …>>) et est muni d’une interface en langage naturel.
  • Les systèmes experts, parmi lesquels :
    • 1969 : DENDRAL : analyse des résultats d’une spectrographie de masse
    • 1974 : MYCIN : diagnostic de maladies infectieuses
  • 1977 : MACSYMA (logiciel de calcul formel)
  • le 29 août 1994, le programme CRESS GENIUS 2.9 bat avec les noirs le champion du monde Gary Kasparov.

La liste précédente est loin d’être exhaustive. Nous n’avons en particulier pas mentionné les nombreux travaux sur l’approche « neuronale » de l’IA. Nous renvoyons au chapitre sur le connexionnisme et à la bibliographie pour de plus amples informations. On assiste actuellement à la fois à un reflux de l’IA sur la scène médiatique (les trop grands espoirs sont toujours déçus) et à une banalisation des techniques élaborées lors des décennies précédentes (systèmes experts, représentation des connaissances, reconnaissance des formes, robotique, …). Dés le début des années 80, l’intelligence artificielle a fait son entrée dans le monde économique, et chaque mois voit l’annonce de nouvelles réalisations. Pourtant, on garde souvent un sentiment de déception tant le vocable d’intelligence artificielle porte d’exigences en lui. Un logiciel a battu le champion du monde Gary Kasparov, soit, mais c’était un jour ou il n’était pas au mieux de sa forme ! Un logiciel arrive à reconnaître la parole, soit, mais pour un locuteur unique et encore, à condition qu’il ne soit pas enrhumé ! L’intelligence artificielle a-t-elle une borne ? Si c’est le cas, et si on arrive à la caractériser, on aura appris quelque chose d’essentiel sur ce qu’est l’intelligence. Et sinon, on risque d’être toujours déçu par ses réalisations.

Cf http://www.grappa.univ-lille3.fr/polys/intro/sortie002.html#toc3

 Georges Vignaux

Publicités
Ce contenu a été publié dans Uncategorized par georgesvignaux. Mettez-le en favori avec son permalien.

A propos georgesvignaux

Directeur de recherche honoraire au Centre national de la recherche scientifique, Paris. Docteur d'Etat en linguistique et sciences cognitives (Paris7) Directeur de programmes en langage et cognition et nouvelles technologies de communication Chevalier dans l'Ordre national du Mérite

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s