3. 2020 Université Ouverte 3
Intelligence Artificielle
…une idée apparue avec les
ordinateurs...
https://www.computerhistory.org/timeline/ai-robotics
/
• Date d’apparition du nom : 1956,
Darmouth College (New Hampshire, USA)
– John McCarthy (approche logique symbolique)
– Marvin Minsky (approche de structures
dynamiques)
• Ordinateur machine « pensante »
– Ordinateur Cerveau
4. 2020 Université Ouverte 4
Les pionniers
• [1936] Turing : La machine universelle
• [1945]
Von Neumman : architecture calculateur
• [1948] Wiener : la cybernétique:
• [1948] Shannon : Théorie de l’information
• [1949] Mc Culloch and Pitts: Réseaux de
neurones
5. 2020 Université Ouverte 5
Les premiers programmes IA
• Newell, Simon et Shaw écrive un programme en
“logique” pour la démonstration de théorème [1956!]
• Ils généralisent le processus → GENERAL
PROBLEM SOLVER (GPS). A GPS résoud un
problème en explorant les chemins possibles pour
aller d’un état initial à un état satisfaisant un but
particulier. Un ensemble “d’opérateurs” sont
disponibles pour passer d’un état à un autre. Un
chemin allant de l’état initial à un état satisfaisant le
but recherché constitue une solution (une solution
est “optimale” s’il n’y a pas de plus “court” chemin).
6. 2020 Université Ouverte 6
Les premiers défis
• IQ Test (Evans 1963) : trouver des
correspondances “logiques” entre les éléments
d’une série d’images
• Approche par résolution de contraintes (Waltz
1975)
• Traitement du langage “naturel” (Eliza,
Weizenbaum 1965) (SHRDLU, Winograd 1971)
• Gagner aux échecs -> 1997
Deep Blue gagne contre Kasparov
7. 2020 Université Ouverte 7
Les systèmes experts
• [des années 70 à maintenant…]
– DENDRAL (Chimie)
– MYCIN (Medical))
– Hersay II (Parole)
– Prospector (Geologie)
• Générateurs de systèmes experts
– GURU
– CLIPS
9. 2020 Université Ouverte 9
Les systèmes formels pour faciliter
l’inférence
• Comment construire des systèmes
capables d’inférer des choses “vraies” à
partir d’autres choses “vraies”...
– Approche symbolique
– Description formelle
– Reformulations syntaxiques
– Déclarations sémantiques
10. 2020 Université Ouverte 10
Système Formel
Pour construire un système formel, il faut :
1. Un alphabet, i.e. un ensemble de symboles (pas forcément
des caractères)
2. Un processus pour construire des expressions (par
forcément la concaténation) → Expression Building Process
(EBP)
3. Un ensemble d’axiomes, i.e. expressions écrites
conformément à 1 et 2. Ces expressions appartiennent
(arbitrairement) au “système” (et sont donc vraies par
définition).
4. Des règles de dérivation qui, en partant d’axiomes existant,
sont capables de produire des théorèmes (expressions
appartenant au système) et qui peuvent s’appliquer à leur
tour pour produire d’autres théorèmes-axiomes.
11. 2020 Université Ouverte 11
Un exemple de système formel
• PEU System
– alphabet = ensemble de 3 symboles "p" , "e" , et “u"
– operateur = concaténation
– axiome = upueuu
– Règles de dérivation :
• R1 : Si une expression AeB est un théorème (avec “A” et “B”
représentant n’importe quelle suite de “u”, “p” ou “e”), alors
l’expression uAeBu est aussi un théorème.
• R2 : si une expression AeB est un théorème , alors l’expression
AueuB est aussi un théorème.
• Questions
– Q1 = uupuueuuuu est un théorème ?
– Q2 = upuueuuu ?
– Q3 = upupueuuu ? .
12. 2020 Université Ouverte 12
Démonstration de théorème
• Ce système est semi-decidable car il y a une méthode
pour prouver qu’une expression est un théorème, mais pas
de méthode pour prouver qu’une expression n’est pas un
théorème.
upueuu
uupueuuu upuueuuu
R1 R2
uuupueuuuu uupuueuuuu
R1 R2
En tant qu’humains, vous feriez sans doute très différemment en
sachant que “p” veut dire “plus”, que “u” veut dire “un” et que “e”
veut dire “égale” : upueuu → un plus un égale unun (deux)
14. 2020 Université Ouverte 14
Système à base de
« connaissances » (SBC)
Connaissances du domaine
(Règles, contraintes, cas, …)
[Axiomes]
Les faits Fi
[Axiomes et Théoremes]
Moteur d’inférence
Requêtes types pour :
- est-ce que F12 est déductible de F6 et F14?
- Qu’est-ce que l’on peut déduire de
l’observation de F2 ou F7?
- Comment F13 pourrait-il être déduit (quels
sont les faits à observer pour que F13 soit
vrai)?
18. 2020 Université Ouverte 18
Moteur d’inférence
• It works
• While it works
– It does’nt work
– Loop on Ri
• Loop on not tagged Fj
– if Ri fits the pattern "Fj -> Fk"
» add Fk to Facts
» tagg Fj
» It works
– else
» loop on Fl
if Ri fits the pattern "Fj ^ Fl ->..."
add Fm = (Fj ^ Fl) to the Facts
tagg Fj
it works
endif
» endloop /* FI
– endif
• Endloop /*Fj
– Endloop /Ri
• endwhile
19. 2020 Université Ouverte 19
Vocabulaire des systèmes
logiques
• Les axiomes R sont des RÈGLES
– Coté gauche (de ->) : premises (conjonction de)
– Partie droite (de ->) : conséquents (conjonction of)
• Les axiomes F sont des FAITS
Une forme de règle qui n’a pas besoin de premise
pour être vraie.
De telles règles et faits sont appelés des
“Propositions” et le paradigme formel est appelé
“Logique des Propositions” or “Logique d’ordre 0”
20. 2020 Université Ouverte 20
Langages de programmation IA?
• LISP (American: Mac Carthy)
• PROLOG (France ! Colmerauer)
• SmallTalk (Object Language)
• Frame Languages
– YAFOOL (Yet Another Frame based Object
Oriented Language)
– KL-ONE (Knowledge Language)
• Description logics
21. 2020 Université Ouverte 21
Systèmes à base de
connaissances
Connaissances explicites, symboliques
Moteur d’inférence → on décrit ce que l’on sait
(les connaissances du domaine), on décrit ce que
l’on observe (ce qui est vrai dans le contexte), on
pose une requête au système…
Les connaissances peuvent être organisées
conceptuellement (ontologies)
Les connaissances peuvent être acquises
(expertise) ou apprises à partir de données
(méthodes symboliques).
23. 2020 Université Ouverte 23
?
Pourquoi une ingénierie ?
Le « monde » à modéliser La base de “symboles”
représentant le modèle du
monde
24. 2020 Université Ouverte 24
Alan Newell [1982]: Modélisation
intermédiaire au niveau « connaissance »
Représentation
intermédiaire facile à lire et
écrire par les humains…
?
?
Le monde à modéliser La base de « symboles »
représentant le modèle du
monde
25. 2020 Université Ouverte 25
Le niveau connaissance
• Une abstraction du domaine pour le conceptualiser
(concepts et relations +[ interactions] )
– Une “sémantique” (logique) doit être attribuée à la
description du domaine
• => Théorie du domaine
– Langage intermédiaire capable de représenter
efficacement les concepts et les relations de façon
adaptée à l’interprétation humaine...
– … et capable de spécifier la sémantique correspondant
pour les calculs symboliques (dans la machine)
27. 2020 Université Ouverte 27
ONTOLOGIE ?
• Un ARTEFACT spécifique conçu pour
exprimer la signification voulue d’un
vocabulaire partagé
– Un vocabulaire partagé + une spécification de
sa signification voulue
• « Une ontologie est une spécification d’une
conceptualistion » [Gruber 95]
• => une ontologie rend compte de
l'engagement d'un langage dans une
certaine conceptualisation !
28. 2020 Université Ouverte 28
Exemple
Anything
Person Organization
Worker
Student
Faculty Assistant AdministrativeStaff
Professor
Lecturer
Lecturer ISA relation
29. 2020 Université Ouverte 29
Quelques références sur les
ontologies…
• Un site assez complet vers des ressources très
nombreuses (en anglais)
– http://www.cs.utexas.edu/users/mfkb/related.html
• Un MOOC pour l’usage des ontologies sur le web
(sémantique)
Un tutoriel sur les ontologies (
https://fr.slideshare.net/jonquet/tutoriel-gestion-dont
ologies
)
31. 2020 Université Ouverte 31
Les défis...
• Développer des systèmes “situés” et
“dynamiques” (Robotique, assistances, web, …)
• Apprentissage humain / apprentissage machine
• Interactions d’agents multiples
• La cognition comme capacité « émergente »
– > Systèmes biologiquement inspirés
– > Systèmes de co-apprentissage humains-machines
– > Cognition située, cognition distribuée, multiagents,
réseaux neuronaux, robots autonomes, ...
32. 2020 Université Ouverte 32
IA et Robotique
• Définifion d’un robot
– Selon l’institut américain du robot (1979) :
"A reprogrammable, multifunctional manipulator
designed to move materials, parts, tools, or
specialized devices through various programmed
motions for the performance of a variety of tasks."
– Selon le dictionnaire Webster :
"An automatic device that performs functions normally
ascribed to humans or a machine in the form of a
human (Webster, 1993)."
33. 2020 Université Ouverte 33
Les défis de l’apprentissage ?
●
Il s’agit toujours d’apprendre un « modèle » pour se
comporter « intelligemment »
●
Soit un modèle de « connaissances » (acquisition de
connaissances ou apprentissage symbolique) → c’est le moteur
d’inférence qui permet de proposer un comportement
« intelligent » sur la base des connaissances disponibles.
●
Soit un modèle comportemental direct (sans connaissances
symboliques) :
●
Sous la forme d’un réseau neuronal spécialisé
●
Sous la forme d’un programme obtenu avec une approche génétique
●
Sous la forme d’une collections d’agents réactifs (modèle des fourmis)
●
Sous la forme d’un mécanisme d’apprentissage développemental
interactif
●
...