Intelligence Artificielle
1
Définition de l’IA
– Apprendre aux ordinateurs à être plus intelligents
permettra sans doute d’apprendre à l’homme à être plus
intelligent (P. H. Winston, 1984)
– L’IA est l’étude des idées qui permettent aux ordinateurs
d’être intelligents (P. H. Winston)
– L’IA est l’étude des facultés mentales à l’aide de modèles
de type calculatoire (McDermott & Charniak)
– L’IA a pour but de faire exécuter par l’ordinateur des
tâches pour lesquelles l’homme dans un contexte donné
est aujourd’hui meilleur que la machine (Alliot et Schiex
1994)
2
Qu’est-ce véritablement que l’IA ?
– Plusieurs définitions possibles de l’IA
– L’IA est une méthodologie qui doit permettre de rendre les
ordinateurs plus intelligents de façon à ce qu’ils montrent des
caractéristiques normalement associées à l’intelligence dans
les comportements humains, c’est-à-dire la compréhension
du langage, l’apprentissage, la résolution de problèmes et le
raisonnement (E. Feigenbaum)
– L’Intelligence Artificielle concerne la conception d’un être
artificiel (machine) capable de posséder ou d’exhiber les
capacités et caractéristiques propres à un cerveau humain
– Apprendre aux machines à penser
3
IA Forte et IA Faible
Deux types d’approches
• IA Forte (approche cognitive)
– La machine doit raisonner à la manière de l’homme
(utiliser les mêmes mécanismes de fonctionnement)
• IA Faible (approche pragmatiste)
– La machine doit aboutir aux mêmes solutions que
l’homme (peu importe la méthode employée)
– En fait l’IA reste difficile à définir car on ne sait pas
vraiment définir la notion d’Intelligence (Qu’est ce qu’être
intelligent ?)
4
Qu’est ce qu’être intelligent ?
• Apprendre
– élaborer un système de connaissances et pouvoir
intégrer de nouvelles connaissances
• Raisonner, déduire, anticiper
– à partir du système de connaissances et des données de
l’expérience pouvoir produire de nouvelles
connaissances
• Posséder une histoire
• Posséder une conscience
• Posséder des sentiments
5
Exemples d’IA (irréalistes ?)
• Exemples (Science-Fiction)
– TRON
– La Guerre des Etoiles
(Z6PO)
– IA (Spielberg)
– I, Robot
– K 2000
– Galactica (Cylons)
– 2001 L’Odyssée de
l’espace
– Matrix
– Terminator
– …
6
Questions
Nous allons tenter de répondre
à plusieurs questions
• Quels progrès ont été réalisés jusqu’à ce jour ?
• Comment une machine peut-elle raisonner ?
• Pourra t-on atteindre le but ultime de l’IA ?
7
Plan
• Historique
– Mécanisation du calcul
– Calculabilité
– Fondation de l’IA
• L’IA de nos jours
– Robotique
– Résolution de problèmes
– Reconnaissance de formes et de la parole
– Réseaux de neurones
• Conclusion
– L’IA est elle envisageable ?
8
Historique
• Les prémisses :
– Mythologie grecque :
Héphaïstos a forgé, pour
son service personnel deux
servantes en or qui
agissent comme des êtres
vivants
– Le Golem dans la tradition
juive (esclave puis héros)
-> Seigneur des Anneaux
(Orcs), Frankenstein
9
Mécanisation du calcul
• Automatisation
– 1623 Shickard
– 1642 Pascal
– 1670 Leibnitz
– 1728 Falcon
– Automates de Vancauson
– 1805 Jacquard
– Charles Babbage
• 1822 Machine différentielle
• 1830 Machine analytique
10
La Machine Analytique
• Entre 1834 et 1836 Babbage définit les principaux
concepts qui préfigurent ceux des ordinateurs :
– Dispositif d’entrée / sorties (clavier, moniteur)
– Organe de commande pour la gestion de transfert des
nombres (unité de commande)
– Magasin pour le stockage des résultats intermédiaires
(registres) ou finaux (mémoire)
– Moulin chargé d’exécuter les opérations (unité
arithmétique et logique)
– Dispositif d’impression (imprimante)
11
Automates de Vaucanson
• Jacques Vancauson 1709 – 1782
– rival de Prométhée
– 1738 le joueur de flûte traversière
– 1739, joueur de tambourin et de
flageolet, Canard digérateur
– 1746, métier à tisser automatique
• Kempelen 1779
– supercherie du joueur d’échec
Du calcul à l’automate
12
Mécanisation du calcul
• Naissance de deux thèses paradoxales
– Thése 1 : le calcul ne fait pas partie de l’intelligence, donc
pas d’IA possible
– Thèse 2 : IA Possible car on a pu recréer des
comportements humain (calcul) / animal (gestuelle)
• Naissance d’une rivalité entre partisans et
adversaires de l’IA
13
Mécanisation du calcul
Le calcul passe par différentes étapes
technologiques
• Mécanique (engrenages)
• Electrique (diode)
• Electro-mécanique (relais)
• Electronique (Transistor)
14
Mathématiques et logique
• Avant XXe siécle : les mathématiques sont
considérées comme « divines »
• Apparition des paradoxes : crise
– Cantor : ensembles non dénombrables
– Russell : ensembles qui ne se contiennent pas
• Problèmes de Hilbert
– Construire un Système Formel des mathématiques
(1908 à 1920)
• Cercle de Vienne 1924
– recherche d’un langage commun à toutes les sciences
– Mécanisation et automatisation du raisonnement
– Système de POST (Système Formel)
15
Système Formel (Système de POST)
• Système de génération de mots (mécanique)
• Exemple : le MU-puzzle
– Alphabet V = { M, I, U }
– Langage : ensemble des mots commençant par M suivi
par des U et de I
– Axiome MI
– Régles : pour tout a, b Î V*
• [R1] aI ® aIU Système de production
• [R2] Ma ® Maa
• [R3] aIIIb ® aUb
• [R4] aUUb ® ab
• Peut on obtenir le mot MU ?
16
Le MU Puzzle
MIU R2 MIUIU R2 MIUIUIUIU
R1
MIIU R2 MIIUIIU
MI R1
R1 MIIIIU
R2 MII R2 MIIII R2 MIIIIIIII
R3 MUI
MIU
17
Limites des Systèmes Formels
• Gödel 1931 : L’arithmétique de PEANO est
incomplète
• Théorème Gödel/Rosser 1936
– Pour tout système formel non contradictoire qui est une
modélisation de l'arithmétique récursive, il existe des
propositions indécidables (ni prouvable, ni réfutable).
• Tout système formel est donc soumis a des
limitations intrinsèques sur la quantité de "vérité"
qu'il est capable de fournir
18
Limites des Systèmes formels
Mots sur un alphabet Langage du SF
(théorèmes)
Non théorèmes
MU MI
IMU
Mots générés par un SF
19
Calculabilité
• Notion de calculabilité
– Fonction l-calculable (Kleene, Church)
– Fonction récursivement calculable (Gödel)
– Fonction Turing-calculable Þ machine de TURING
• Machine de Turing
– Structure de stockage (bande linéaire) G={ B, s1, …, sn }
– États z = { z0, …, zm, zh }
– Fonction de transition d : (z – {zh}) x G ® ( z x G x {G,D,I})
zi
B B 0 1 B
20
G I D
Exemple f(x)=x+1
G = {0,1,B} B 0 1
z0 (z1, B, G) (z0, 0, D) (z0, 1, D)
z1 (zh, 1, I) (zh, 1, I) (z1, 0, G)
z0 z0 z0 z0 z1
B101B B101B B101B B101B B101B
zh z1
B110B B100B
21
Test de Turing
• Test de Turing
– Un ordinateur peut-il tromper un humain ?
– Deux personnes X, Y (un homme, une femme) interrogées
par Z
– Z doit déterminer qui de X et Y est l’homme ou la femme
– Même test avec un homme (ou une femme) et une
machine
22
Chambre Chinoise
• Searle (s’oppose à Turing)
– La syntaxe est insuffisante
pour produire le sens
Meilleur moyen : lire un ouvrage et en faire la synthèse
23
Les Premiers Calculateurs
• 1941 Z3 (Conrad Zuse)
• 1943 Mark I (Howard Aïken,
Harvard)
• 1943 Colossus (Angleterre)
• 1945 ENIAC (Mauchly,
Eckert, Von Neumann)
• 1948 Invention du
transistor (Brattain,
Bardeen et Shockley)
• 1958 Invention du Circuit
intégré (Kilby, TI)
24
Naissance de l’IA
• Débuts pendant la 2nde guerre mondiale
– décryptage ® traduction
– Mise au point d’un traducteur automatique en 5 ans
– Comment représenter les connaissances ?
– Comment les extraire d’un individu ?
• 1956 John McCarthy, Darmouth College
• Objectifs ambitieux
– Traduction automatique
– Jouer aux échecs et battre les grands maîtres
25
Premiers programmes d’IA
• Newell, Shaw et Simon
– LOGIC THEORIST 1956
– GPS (General Problem Solver)
– NSS (programme de jeu d’échec)
• Physical Symbol System Hypothesis
– Manipuler des symboles = comportement intelligent
– Simon prédit en 1958 la défaite d’un GMI
• Euphorie puis déception
– Recherche dans de multiples directions
26
Domaines de l’IA
• Actuellement l’IA concerne :
– La résolution de problèmes en général
• Algorithme A*, recherche arborescente, CSP, heuristique, recherche
locale, programmation génétique
– La reconnaissance de formes / son
– Le traitement automatique du langage naturel (TALN)
– La robotique
– Les réseaux neuronaux
– …
27
Résolution de problèmes
• Exemple de la suite de
Fibonacci
– Fib(0)=1
– Fib(1)=1
– Fib(n)=Fib(n-1)+Fib(n-2)
pour n > 1
Algorithme récursif
fonction Fib(n : entier) : entier
debut
si n <= 1 alors
retourne 1
sinon
retourne Fib(n-1) + Fib(n-2)
fin
28
Suite de Fibonacci
• On peut donner une version itérative
Algorithme itératif
n Récursif Itératif
fonction Fib(n : entier) : entier
Var tab : array[1..100] d’entiers 30 1s < 1s <
Debut
tab[0]=1;
40 10s 1s <
tab[1]=1;
pour i=2 à n faire
tab[i]=tab[i-1]+tab[i-2] 50 20 m 1s <
fin pour
retourne tab[n] 60 42h27m 1s <
fin
29
La Résolution de Problèmes
• La recherche de solutions pour certains problèmes
s’apparente à une recherche arborescente
X X
… X
2 1 2
X O X 1 3 1
…
O 2 1 2
Aide à la sélection du prochain coup
30
Le Parcours d’Arbre
• Pour gagner :
– Recherche les situations de jeux gagnantes dans l’arbre
• Parcours en profondeur d’abord (depth first search)
• Parcours en largeur d’abord (breadth first search)
• Parcours par approfondissements successifs (depth-first iterative
deepening)
• backtrack
a
b c d
e f g h i j k l m
abefgchijdklm abcdefghijklm 31
Parcours d’arbre
• Dans le cas du morpion :
– 9! situations à examiner
• Dans le cas des échecs :
– 10120 situations
• Utilisation de techniques
– d’élagage
• Mini, max
• Alpha, bêta
– heuristiques
32
Technique Minimax
• Jeux à 2 joueurs
3
Ordinateur maximiser
2 3 1
Joueur minimiser
3 2 5 3 4 5 1 4 5
a/b
33
Faire raisonner une machine
• Raisonnement logique
– Calcul des propositions
– Calcul des prédicats
Permet de représenter des connaissance et de raisonner
sur ces connaissances
34
Calcul Propositionnel
• La logique (Calcul Propositionnel) permet
– de représenter des connaissances
– de raisonner sur ces connaissances
– On utilise des variables propositionnelles (vrai, faux) ainsi que
des connecteurs logiques (et, ou, implique, équivalent) :
• Si il fait beau et qu’on n’est pas samedi alors je fais du vélo
• Si je fais du vélo alors il y a du vent
• Donc si il fait beau et qu’on est pas samedi alors il y a du vent
(b Ù¬s) ® f f®v Þ (b Ù¬s) ® v
35
Modus Ponens / Principe de résolution
• Règle d’inférence qui permet de produire de
nouvelles connaissances
¬XÚY
Þ YÚZ
XÚZ
¬ (b Ù¬s) Ú f ¬ (b Ù¬s) Ú f
Þ Þ (b Ù¬s) ® v
¬fÚv ¬fÚv
36
Problème des pigeons
• Le problème des pigeons :
– Un pigeonnier peut accueillir au plus un pigeon. Etant donné N
pigeons et M pigeonniers chaque pigeon pourra t-il trouver un
pigeonnier pour l’accueillir ?
• Pour un humain : résolution facile
– Abstraction des mots : pigeon, pigeonnier
– Si N <= M alors il existe une ou plusieurs solutions
– Si N > M alors il n’existe pas de solution
• Pour un ordinateur
– Archétype des problèmes NP-complets
– Si N <= M alors résolution facile
– Si N > M alors étudier tous les cas possibles
Si N=30 et P=29 alors 2870 » 10261 37
Calcul des prédicats
• Extension du Calcul Propositionnel
– Syllogisme : hommes
• Socrate est un homme
• Tout homme est mortel
• Donc Socrate est mortel
• homme(socrate)
socrate
• "X homme(X) ® mortel(X)
homme(socrate)
Principe de
Unification résolution mortel(socrate)
¬homme(X) Ú mortel(X)
• Démonstration automatique de théorèmes
38
Constraint Satisfaction Problems
• Beaucoup de problèmes industriels peuvent se
modéliser sous la forme de Problèmes de
Satisfaction de Contraintes (CSP)
• Paradigme des CSP :
– Un ensemble de variables X = { X1, …, Xn}
– Un ensemble de domaines D = { D1, …., Dn }
– Un ensemble de contraintes C = { C1, …, Ck }
– Minimiser ou maximiser une fonction f(X)
• Exemples :
– système d’équation, problème du sac à dos
39
Exemple de CSP simple
• Les puzzles : SEND + MORE = MONEY
R4 R3 R2 R1 Contraintes :
SEND
+MORE D+E=10*R1+Y
R1+N+R = 10*R2+E
=MONEY R2+E+O = 10*R3+N
R3+S+M = 10*R4+O
M= R4
Domaines D = (D1={0,..,9}, D2={0,1})
Variables X = (S,E,N,D,O,R,Y,M,R1,R2,R3, R4)
40
Le Problème des Pigeons (CSP)
• On peut donner une version CSP du problème des
pigeons (n pigeons, m pigeonniers):
– Domaine : { 0, 1 } = { faux, vrai}
– Variables : matrice p[NxM], pi,j = 1 signifie que le pigeon i
est dans le pigeonnier j p ,…, p 1,1 1,m
pn,1,…,pn,m
– Contraintes: Modélisation par opérateur de cardinalité
• (a,b, p1, …, pn) au moins a et au plus b littéraux doivent être vrais
parmi p1 à pn
(1,1, p1,1, …, p1,m) (0,1, p1,1, …, pn,1)
… …
(1,1, pn,1, …, pn,m) (0,1, p1,m, …, pn,m)
Un pigeon doit se trouver dans Un pigeonnier accueille au plus
un pigeonnier (N contraintes) Un pigeon (M contraintes) 41
Problème des Pigeons (CSP)
• Régles
– addition : (a1,b1, L) + (a2,b2, M) => (a1 + a2 ,b1+ b2, LM)
si L Ç M ¹ Æ
– Inconsistance : (a1,b1, L) et (a2,b2, L) => inconsistance
si [a1,b1] Ç [a2,b2]= Æ
(1,1, p1,1, …, p1,m) (0,1, p1,1, …, pn,1)
… …
(1,1, pn,1, …, pn,m) (0,1, p1,m, …, pn,m)
+ +
(n,n,L) (0,m,L)
Inconsistance si n > m
42
Résolution en un temps linéaire par rapport aux données
Problème de coloriage
• Le problème de Ramsey consiste à trouver un
coloriage des arcs d’un graphe complet de N sommets
avec 3 couleurs (Rouge, Vert, Bleu) sans qu’il existe de
triangle monochromatique
Solutions pour N=3 à 16
43
Résolution du problème de Ramsey
• Pour N=3 à 16 on peut résoudre le problème en un
temps raisonnable
• Pour N>17, cela peut demander plusieurs jours ou
semaines
• Utilisation des symétries du problème afin d’éviter
de retester des cas infructueux déjà découverts
44
Les échecs
• Probablement le problème le plus étudié en IA
– Etudes psychologiques des GMI (De Groot)
• Positions pensées (non calculées)
• Recherche sélective
• Profondeur faible (quelques coups)
• Fonction d’évaluation floue (protéger une tour, un fou)
45
Les Systèmes Experts
• Très en vogue dans les années 70
– Base de connaissances
– Base de règles
– MYCIN : diagnostic médical
– DENDRAL : analyse chimique
– PROSPECTOR : prospective géologique
– R1/XCON (Digital Equipment Corporation) : configuration
optimale d’une machine
• Aujourd’hui : systèmes d’aide à la résolution de
problèmes (informatique)
46
La Programmation Evolutive
• Algorithmes génétiques
– Population initiale de configurations d’un problème
– Fonction d’évaluation d’une configuration
– Opérateurs
• Croisement (des parents)
• Mutation (des enfants)
• Sélection (des enfants de meilleure qualité)
Parents Croisement
Mutation
Sélection
47
La Reconnaissance de Formes / Sons
• Image :
– Imagerie médicale
– Environnement (déforestation, inondations)
– Espionnage militaire
– Sécurité (reconnaissance du visage)
• Son
– Ecriture
– Domotique
– Sécurité (reconnaissance de la voix)
• Biométrie
48
Robotique
• Chaînes de production :
– automobile,
– Informatique
– Industrie en général
• Concours de robots pour
résoudre un problème
donné
• ASIMO (Honda) site
– Reproduction du
comportement humain
(déplacement,
mouvements)
49
Robotique
• Selon Bill Gates :
– « .. les défis auxquels est
confrontée l’industrie
robotique sont très
semblables à ceux que
nous avons relevés en
informatique il y a trois
décennies »,
Pour la Science, Juin
2007
• Développement de LEGO Mindstorm NXT
nombreux types de robots,
utilisant des systèmes de
gestion incompatibles
50
Retour vers le futur
penser =? Calculer
51
Les réseaux neuronaux
• McCulloch et Pitts en 1943
• Kohonen 1984
• Intelligence = calcul ?
• Reconnaissance de forme,
de la parole
52
Conclusion
53
Conclusion
• Ce que l’IA n’est pas :
– AAAI 1999, Patrick Henry Winston
– [Link]
• Une IA est elle possible ?
– Différents points de vue
– Partisans et adversaires de l’IA
– Une grande illusion ?
– Systèmes intelligents ?
• Un ordinateur dirigé à la voix est-il intelligent ?
54
Conclusion
• Objections :
– Théologique (Matrix)
– Mathématique (Gödel)
– Conscience
– Continuité du système nerveux
– Difficulté de la formalisation du comportement
55
Un dernier mot
Les ordinateurs ne sont pas
intelligents, toute l’ingéniosité
du chercheur en IA consiste à
vous faire croire qu’ils le sont
56
Conclusion
• Point de vue personnel :
• Dans l’état actuel de nos connaissances une INTELLIGENCE artificielle basée
sur l’informatique est impossible
• Informatique :
– Traitement automatique de l’information
– Calcul
– Un ordinateur sait donc :
• Représenter des informations simples
• Effectuer des calculs sur ces informations
– Si un problème peut se modéliser par une information simple et
qu’il demande de faire des calculs pour être résolu alors il peut
être traité par un ordinateur
• Une véritable Intelligence possède une conscience de sa
propre existence (Je pense donc je suis)
• Un ordinateur n’apprend pas, il est programmé pour exécuter
57