1. Introduction au domaine de l'Intelligence Artificielle (IA)
Le but ultime de l'IA est de réaliser des machines capables d'effectuer des tâches de façon intelligente. Autrement dit, l'IA vise a simuler l'intelligence humaine. Avant de comprendre ce qu'est l'IA, il est nécessaire de comprendre ce qu'est l'Intelligence humaine.
1.1. L'Intelligence humaine
Selon le dictionnaire Le Petit Robert, l'Intelligence est:
Dans Petit Larousse, la définition est la suivante:
L'Intelligence est:
Bien que ces définitions soient différentes, elles résument toutes les deux notre compréhension de l'intelligence humaine. En termes d'intelligence artificielle, l'intelligence humaine se manifeste par, entre autres choses, les aspects suivants:
A part ces aspects, on inclut souvent dans l'intelligence humaine la capacité de communication.
1.2. Le domaine d'intelligence artificielle
Étant donné le but de l'intelligence artificielle qui est la simulation de l'intelligence humaine, les objets de recherche en l'IA sont donc articulés autour des aspects discutés ci-dessus.
Les recherches sur cet aspect vise à créer un modèle symbolique pour représenter un monde réel. La logique est l'outil le plus ancien et plus utilisé pour la conceptualisation.
Les études sur les connaissances ont deux buts: 1) de développer des formalismes appropriés pour représenter des connaissances; 2) d'expliciter les connaissances utilisées dans différents domaines. Parmi les formalismes de représentation, on peut citer la logique, les graphes conceptuels, les frames.
Ici, on vise surtout à comprendre et à formaliser le mécanisme de raisonnement chez les humains. Les questions qu'on se pose sont: Comment les connaissances sont appliquées à un problème concret? Pourquoi un expert choisit une telle ou telle solution parmi un grand nombre de possibilités (par exemple, dans les jeux d'échecs)? etc.
Nos connaissances s'enrichissent constamment. Ainsi doivent être les connaissances dans une machine. Les études sur l'apprentissage vise justement à trouver comment l'Humain apprend, et comment ce mécanisme d'apprentissage peut être implanté dans une machine. Parmi les approches développées, on peut citer l'apprentissage par induction (généraliser des exemples observés), et l'apprentissage connexionniste (dans les réseaux de neurones).
Beaucoup de gens associent aussi l'Intelligence avec la capacité de communication. On pose souvent des questions comme "est-ce que vous penser en français ou en anglais?". Donc, la pensée est considéré comme étant fortement liée à une langue. La capacité de communication (même si c'est avec soi-même dans la tête) est donc une faculté importante de l'Intelligence. Beaucoup de travaux en l'IA sont dédiés à cet aspect, par exemple, les études sur les langues naturelle, et sur la perception.
On aimerait aussi que les machines puissent inventer des choses comme les humains. Cependant, les opinions divergent quant à l'inclusion de cet aspect dans l'IA: Certains pensent qu'il est impossible que les machines puissent inventer (au moins dans un avenir prévisible); d'autres (par exemple Luger et Stubblefield) pensent que c'est possible. Luger et Stubblefield pensent même que les systèmes existants peuvent déjà faire certaines inventions. Par exemple, un système expert peut donner des solutions "originales" que les experts n'ont pas prévues. Est-ce une invention? Faites votre propre opinion.
1.3. Les approches à l'IA
L'IA est une simulation. Il y a deux façon de simuler quelque chose:
Ces deux approches donnent deux sorte de définition de l'IA dans la littérature. Ici on en cite quelques unes.
Parmi ces définitions, les trois premières penchent vers une approche fondamentaliste (de comprendre les mécanisme de l'intelligence). La définition de Rich, par contre, a plutôt un saveur de la second école. Tandis que la définition de Winston englobe les deux écoles.
Dans les travaux de recherche sur l'IA, ces deux approches sont présentes. Par exemple, le mécanisme d'inférence et de déduction étudié depuis l'antiquité représente une partie de ce qu'on a compris de l'intelligence humaine. Cette approche logique peut être vue comme un exemple de la première école. Pour la second école, les systèmes experts sont des exemples, car le mécanisme de raisonnement implanté dans un système expert n'est pas nécessairement celui de l'être humain. Ce qui importe est les résultats produits.
1.4. Quelques faits dans l'histoire de l'IA
L'IA a sa racine jusqu'à l'antiquité. Les philosophes depuis l'antiquité se sont toujours intéressés à savoir comment l'intelligence fonctionne.
En ce qui concerne la conceptualisation, René Descartes (XVIe siècle) a fait la séparation entre le monde réel et le monde spirituel. On peut considérer que cela est la racine de la conceptualisation utilisée dans l'IA de nos jours.
La logique a été toujours utilisée pour modéliser la pensée. Dans le développement de la logique, on peut mentionner Goerge Boole (XIXe siècle) qui a développé la logique booléen. Notamment, il a montré que les expressions logiques complexes peuvent être construites en utilisant quelques connecteurs logiques (et, ou et non). Plus tard dans le XIXe siècle, Gottlob Frege a développé la logique du premier ordre (ou le calcul des prédicats) qui est utilisée pour représenter des faits, des connaissances et de faire le raisonnement. Dans les années 1940 et 1950, quelques autres logiciens ont beaucoup contribué dans le développement de la logique, comme Russel et Whitehead, et Alfred Tarski.
Dans le développement de l'IA, on peut noter en particulier les contributions de Alan Turing. Il a notamment proposer une façon de tester l'intelligence d'une machine, qu'on appelle Test de Turing. Ce test se résume comme suit:
On met la machine M à tester dans une pièce, un humain H dans une autre pièce, et un interrogateur I dans une troisième pièce. L'interrogateur I doit envoyer des questions à la machine M et à l'humain H par un réseau. C'est M ou H qui donne une réponse à chaque question. Si l'interrogateur I ne peut pas faire la différence entre la machine et l'humain H en se basant sur les réponses, on peut alors conclure que la machine est intelligente.
C'est la première fois qu'un tel test a été proposé. Ce test est intéressant à cause des aspects suivants:
Cependant, ce test a aussi certaines lacunes. En particulier, la communication entre les trois participants se fait en langue naturelle. Cela implique que l'intelligence testée est très (trop) fortement liée à la capacité de communication en langue naturelle. Ce test défavorise la machine.
Par rapport aux deux approches à l'intelligence artificielle, ce test est un exemple typique de la second approche (simuler l'intelligence au niveau des résultats).
Quelques autres faits ont fortement marqués dans l'histoire de l'IA.
1.5. Le noyau de l'IA - une vision classique
Nous avons vu dans les descriptions précédentes que l'IA est un vaste domaine qui contient beaucoup de choses. Cependant, la vision de l'IA de Newell et Simon a profondément marqué dans le développement de l'IA. Considérons cette vision comme la vision classique, et voyons ce qu'elle propose.
Selon Newell et Simon (dans leur discours pour leur prix Turing, 1976), les activités intelligentes de la machine ou de l'homme se réalise par les trois moyens suivants:
Bien que cette vision a reçu des critiques (notamment parce qu'elle ne couvre pas toutes les activités intelligentes), le schéma qu'elle propose pour traiter des problèmes d'IA est encore largement utilisé dans la plupart de systèmes d'IA.
Cette vision correspond fortement à leur approche pour la preuve automatique de théorème dans laquelle les problèmes (et les faits) sont représentés en expression logique (une représentation symbolique); les opérations d'inférence permette de relier différents états du problème durant la preuve; et finalement, une méthode efficace pour choisir à explorer les chemins de preuve les plus propices pour trouver une solution.
Cette vision n'est pas indépendante du développement de la logique et de son influence sur l'IA. En effet, la logique offre des mécanismes pour remplir ces trois fonctions. Ainsi, nous allons commencer le cours par une présentation de la logique classique - le calcul de prédicats. La présentation sur la logique a deux buts: 1) Elle nous permet de comprendre comment les trois aspects des activités intelligentes mentionnés ci-dessus peuvent être réalisés (et on verra aussi comment ces aspects sont enracinés dans les études en logique). 2) Cette présentation nous permet d'apprendre le langage de programmation qu'on va utiliser pour les TPs. Prolog est un langage de PROgrammation LOGique.