Professional Documents
Culture Documents
Plan Chapitre 1: Introduction et Prsentation Gnrale Chapitre 2: Rsolution de problme en IA par recherche Chapitre 3: Rsolution de problme en IA dans les arbres de jeux Chapitre 4: Reprsentation des connaissances et raisonnement Chapitre 5: Systmes Experts et Moteurs dInfrence
2
Intelligence Artificielle
Niveau 3me SIL
Chapitre 1
Introduction et Prsentation Gnrale
Introduction IA : cest le domaine de linformatique qui a pour sujet ltude et la simulation des activits intellectuelles de lhomme dans toute situation ou une solution classique de type algorithmique nest pas disponible
Introduction
Les domaines privilgis de l'IA : l o il ny a pas dalgorithme la porte des machines. EXp: Comme les problmes qui ont une combinatoire trop importante ... qui ncessitent une dmarche heuristique. exemple: le jeu d'checs Les heuristiques relvent de connaissances d'ordre pragmatique et traduisent un savoir-faire, une exprience plutt qu'un calcul systmatique. L'intelligence artificielle a aussi la vocation simuler le raisonnement humain. modliser les modes de raisonnement d'un expert humain les rendre accessibles un non informaticien.
15/06/2012
Introduction
LIA et linformatique
LIA est une discipline de linformatique comme les bases de donnes et le gnie logiciel. Elle a beaucoup dintersections avec les domaines des sciences cognitives[1], de la logique, de la linguistique, etc.
Bases de donnes
Introduction
LIA et linformatique
Les produits de lIA manipulent gnralement les variables symboliques utilisant des oprateurs logiques
Intelligence Artificielle
Gnie Logiciel
Sciences Cognitives
(de la mme manire que les systmes classiques qui manipulent des variables numriques utilisant des oprateurs algbriques).
Sociologie
Informatique
Sciences humaines
[1] Qui appartient au domaine de la psychologie et qui tudie lintelligence humaine en analysant et en recrant diffrentes actions et divers comportements intelligents.
7 8
Introduction
Quest ce que lintelligence ? - Aptitude au calcul rapide ? - Reconnaissance des formes ou des situations ? - Aptitude lapprentissage ? - Aptitude rgir lenvironnement ? Consensus sur la dfinition de lintelligence : - rsolution de problmes difficiles - capacit dapprendre, gnrer des gnralisations ou des analogies, lart de confronter le monde : communiquer, apercevoir, apprendre laperu, etc.
9
10
Dfinition et objectif
Quest ce que lIA ?
Elle reprsente essentiellement la possibilit de concevoir une machine intelligente ! LIA est un ensemble de techniques qui tend implanter, sur un ordinateur, des programmes qui ont des comportements intelligents (perception visuelle et auditive, comprhension, raisonnement, prise de dcision, etc.).
Objectif de lIA ?
Les
recherches en IA tendent rendre la machine capable: dacqurir de linformation, de raisonner sur une situation statique ou dynamique, de rsoudre des problmes combinatoires, de faire un diagnostic, de proposer une dcision, un plan daction, dexpliquer et de communiquer les conclusions quelle obtient, de comprendre un texte ou un dialogue en langage naturel, de rsumer, dapprendre, de dcouvrir, etc.
Rponse logique : je vois un ensemble de traits sur lcran Rponse intelligente : je vois une maison La rponse intelligente est logiquement fausse !!!!
11
12
15/06/2012
Intelligence et connaissance
Exemple: Pourriez-vous me passer le sel? Lintelligence ne se dfinit pas par un processus, mais par les connaissances quil implique: vision: connaissances des objets physiques langue naturelle: connaissances de grammaire et de vocabulaire rsolution de problmes: connaissances des oprations admissibles lordinateur intelligent a besoin dune grande quantit de connaissances pratiques: systmes bass sur les connaissances
Historique
1/ La prhistoire Lun des premiers problmes du domaine de lIA et auquel se sont attaqus certains informaticiens tait la traduction automatique. Ils pensaient russir mettre au point un traducteur automatique dans les cinq ans. Le problme savra nettement plus complexe ! Cet chec a men des questions sur : la reprsentation donner aux connaissances la faon d extraire ces connaissances dun individu
Historique
2/ Les dbuts (1955-1970)
Lappellation IA est ne en 1956 dans un congrs Dartmouth par deux jeunes chercheurs : John McCarthy : vision logique de la reprsentation des connaissances Marvin Minsky : reprsentations structures (frames) de strotypes de situation incluant diffrents types dinformation Logic Theorist (Newell, Shaw et Simon, 1956) dmonstration de thormes de la logique des propositions 1959 : Ces derniers dveloppent aussi un systme de rsolution de problmes gnraux (General Problem Solver, GPS) bas sur lvaluation de la diffrence entre la situation laquelle le systme est arriv et le but quil doit atteindre. 1960 : McCarthy dveloppe LISP qui va devenir le langage de lIA pendant les 20 annes venir. Dbut des annes 60 : Samuel et Bernstein dveloppent le premier programme capable de jouer aux checs. La recherche des annes 70 dans ce domaine est marque par lide de doter la machine de capacits de mise en uvre de stratgies sophistiques voluant dynamiquement avec le jeu. 1965 : Apparition du systme ELIZA de production automatique de parole en langage naturel 1969 : DENDRAL, un des premiers systmes experts (analyse dune spectrographie de masse en chimie)
15
Historique
3/ La spcialisation J.A. Robinson (1965) dveloppe le principe de rsolution qui sera la base de la ralisation de PROLOG et des systmes de rsolution mathmatiques LIA va se scinder alors en plusieurs branches : la comprhension du langage naturel la dmonstration automatique de thormes les jeux la rsolution de problmes gnraux la rsolution de problmes experts la reprsentation des connaissances la perception lapprentissage, etc.
16
Historique 4/ Lvolution
Lvnement majeur des annes 80 est larrive en force des japonais dans le domaine de lIA. Le japon lance le projet de 5me gnration dont le but est de dvelopper la fois sur le plan matriel et sur le plan logiciel des technologies et des techniques capables de faire de lIA une discipline efficace.
Langages de lIA
Les principaux langages de lintelligence artificielle Lisp (1960, J. MacCarthy) SmallTalk (1972, A. Kay) Prolog (1973, A. Colmerauer), Prolog avec contraintes JAVA (1994) , C++, Scheme, ...
17
18
15/06/2012
IA aujourdhui
on ne pense plus faire une IA court terme lIA est partout objets, agents, mthodologies, reprsentation des connaissances approches causales, qualitatives fouille de donnes, fouille de texte statistiques non linaires (rseaux neuronaux) programmation par contraintes nouvelles mthodes d optimisation (volution artificielle) LIA est utilis au quotidien sans le savoir Jeux de rflexion sur ordinateur Tlphonie mobile etc..
19
Domaines de lIA
Reconnaissance et synthse de la parole(ex: rservation dhtel) Reconnaissance et synthse d'images (ex. recherche dinfo, Reconnaissance des visages : avec les rseaux de neurones Reconnaissance de l'criture (ex: recon. cheques, codes postaux) Systmes experts : MYCIN (diagnostic mdical) Calcul formel : MAPLE, MATHEMATICA. Representation des connaissances Simulation du raisonnement humain: logique modale, logique floue. Traitement du langage naturel Rsolution de problmes (ordonnancement, planification, etc) Robotique Apprentissage Rseaux de neurones Systmes complexes adaptatifs : les algorithmes gntiques.
20
Les approches de l IA
1/ Approche cognitive
Les approches de l IA
1/ Approche cognitive
Elle est pluridisciplinaire, linguistes, informaticiens et psychologues essayent de travailler ensemble. Dfinition (W.J.Rapaport, 1983) : la science cognitive cherche comprendre les fonctions cognitives humaines en terme dtats mentaux, c'est--dire en terme dalgorithmes qui ralisent la transformation de donnes dentre en donnes de sortie. Lapproche calculatoire de la science cognitive dit que : il existe des tats mentaux et des processus qui interviennent entre les stimuli dentre et les rponses en sortie ces tats mentaux et ces processus sont des algorithmes et donc ils sont susceptibles dtre tudis scientifiquement.
21
LIA est la ralisation de programmes imitant dans leur fonctionnement lesprit humain. Ce type dapproche est gnralement utilis :face des problmes trop complexes: pour tenter dclairer les problmes de fiabilit des systmes reposant essentiellement sur des oprateurs humains pour procurer des aides la dcision aussi comprhensibles que possible pour lesprit humain.
22
Les approches de l IA
2/ Approche pragmatique Pour les pragmatistes: les enseignements apports lIA ne sont pas des fins en soi, mais des moyens pour dvelopper des thories permettant damliorer notre capacit programmer efficacement un ordinateur. But : dgager de ltude du problme des algorithmes, en tenant compte des contraintes imposes par la structure de lordinateur on cherche donc utiliser la machine au mieux de ses capacits. LIA pour un pragmatiste est une boite noire : Donnes Boite noire Rsultats
23
Rseaux de neurones
24
15/06/2012
Introduction Rsoudre un pb cest chercher un chemin qui permet daller dune situation initiale une situation finale (but)
Situation initiale
Chapitre 2
Rsolution de problme en IA Par recherche
? Trouver ce chemin
Situation Finale
27
Introduction
Pour rsoudre un problme il arrive quon puisse le dcomposer en sous-problmes puis dcomposer ceux-ci, etc., jusqu navoir plus que des problmes dont la solution est considre comme immdiatement accessible sans quil soit ncessaire de les dcomposer leur tour. Lensemble des dcompositions possibles peut tre reprsent par un graphe des sous-problmes . La rsolution dun problme est alors ramene la recherche dun certain sous-graphe du graphe des sous-problmes.
28
Introduction
Un graphe sans cycle arbre Arbre ET/OU ET
ET
OU
OU
Certains sommets marquent une conjonction de sous problmes dont la rsolution implique celle du problme dcompos. Dautres sommets marquent une disjonction de dcompositions possibles.
29
Exemple
Etat initial
Reprsenter le problme
1 9 6 7 3 11 10 14 4 2 5 12 8 Il faut dfinir:
Les tats du problme (abstrait) = ensemble d'tats rels Lobjectif atteindre: solution (abstraite) = ensemble de cheminssolutions dans le monde rel Les oprateurs de transformations (abstrait) = combinaison d'actions relles (reprsentation par graphe)
un tat est une configuration du tableau 4x4 On distingue: Ltat initial Un ou plusieurs tats finaux
13 9 6 7 10 11 3 5 4 2 1 15 12 8 14
30
13 15
15/06/2012
Types de problmes
dterministe, accessible problme tat unique
tat exact connu effets des actions connus
besoin de percevoir durant l'excution solution a une structure d'arbre souvent mlange entre recherche et excution effet conditionnel des actions
tat initial: coordonnes des articulations du robot et pices assembler oprateurs: mouvements continus du bras robotique test-but: assemblage termin, robot en position de repos cot-chemin: temps d'excution
34
oprateurs: dplacer la case vide test-but: tat courant = tat final cot-chemin: chaque dplacement cote 1, cot total = nombre de dplacements
35
Un oprateur transforme un tat en un autre tat. Il existe quatre oprateurs pour le taquin: dplacer la case vide en haut dplacer la case vide en bas dplacer la case vide gauche dplacer la case vide droite
Lapplication des oprateurs sur les tats en dmarrant de ltat initial conduit la construction dune arborescence
36
37
15/06/2012
k L G
O N M
Un tat est une reprsentation d'une configuration physique un noeud est un lment d'une structure de donne constitutive d'un arbre de recherche; il possde les informations de: parent, enfants, profondeur, cot de chemin g(x)
I H D E A B c F
?
Reprsentation par un arbre
Mthodes de recherche
Stratgies dexploration
Mthodes de recherche aveugles = Explorations non informes recherche recherche recherche recherche en largeur en profondeur en profondeur limite par approfondissement itratif
Critres d'valuation
Les diffrentes mthodes de recherche sont values selon les critres suivants: Compltude: est-ce que la mthode garantit de trouver une solution si elle existe? Complexit en temps: combien de temps faut-il pour trouver la solution? Complexit en espace: quel espace mmoire faut-il pour effectuer la recherche? Optimalit: est-ce que la mthode trouve la meilleure solution s'il en existe plusieurs?
Les complexits en temps et en espace sont mesure en fonction de: b = facteur de branchement maximum de l'arbre de recherche d = profondeur laquelle se trouve le (meilleur) noeud-solution m = profondeur maximum de l'espace de recherche (espace d'tats ou arbre de recherche) - peut tre infini
40
41
Algorithme de recherche
Largeur dabord (breadth-first-search)
15/06/2012
Algorithme
1-Insrer le noeud initial s dans une liste appele OPEN 2-Si OPEN est vide alors chec sinon continuer 3-Retirer le premier noeud de OPEN et linsrer dans une liste appele CLOSED. Soit n ce noeud. 4-Sil nexiste pas de successeur alors aller 2. Engendrer les successeurs de n et les insrer la queue de OPEN. Crer un chanage de ces noeuds vers n 5-Si parmi les successeurs, il existe un tat final alors succs: la solution est obtenue en suivant le chanage arrire de ce noeud vers la racine, sinon aller 2
Stratgie: tend le noeud le moins profond Implmentation: insertion des successeurs la fin de la file d'attente
44
45
Exercice 2 : taquin 3x3 Appliquer la recherche en largeur dabord sur la donne suivante: 1 8 7 2 6 5 4 3 1 8 7 6 2 3 4 5
Compltude Oui (si b est fini) Complexit en temps 1 + b + b2 + b3 + + bd = O(bd) (exponentiel en d) Complexit en espace O(bd) (il faut garder chaque noeud en mmoire) Optimalit Oui (si cot = 1 par tape ) en gnral pas optimal
46
47
Solution Exercice 2
1 8 7 2 6 5 4 3
Etat initial
(0)
2 6 5 3 4
2 6 5
3 4
3 6
(1)
8 7
(2)
8 7
(3)
8 7 5
Algorithme de recherche
1 2 8 7 5 2 6 4
2 6 5 3 4
2 6
2 4 5
3 2 5 6 4
2 5
2 6 4
(4)
8 7
(5)
8 7
(6)
8 7
(7)
8 7
(8)
2 3
2 3 4
3 4
(9)
8 7 5
(10)
8 7
6 5
(11)
8 7 6
Etat But
49
15/06/2012
Attention aux cycles infinis ! Il faut un espace de recherche fini et sans cycle, ncessit d'liminer les nuds dj rencontrs.
50
51
Compltude : Non
choue dans les espaces infinis ou avec cycle
complet dans les espaces finis acycliques Complexit en temps : O(bm) = terrible si m est beaucoup plus grand que d Complexit en espace: O(b * m) linaire! Optimalit : Non discussion: besoins modestes en espace pour b = 10, d = 12 et 100 octets/noeud: recherche en profondeur a besoin de 12 Koctets * 1010 !!! recherche en largeur a besoin de 111 Tera-octets
Algorithme de recherche
profondeur limite
52
53
54
55
15/06/2012
Exercice 3 : taquin 3x3 Reprendre lexercice 2 en appliquant la recherche en profondeur limite 3 sur la donne suivante: 1 8 7 2 6 5 4 3 1 8 7 6 2 3 4 5
56
57
Solution Exercice 3
1 8 7 2 6 5 4 3
Etat initial
(0)
2 6 5 3 4
2 6 5
3 4
(1)
8 7
(5)
8 7
Algorithme de recherche
approfondissement itratif = Itrative en profondeur
2 6 5 3 4
2 6
2 4 5
(2)
8 7
(6)
8 7
(3)
1 8 7
2 3
2 3 4
58
3 4
(4)
8 7
6 5
(7)
8 7 6
Etat But
59
c'est l'algorithme de choix si l'espace de recherche est grand et si la profondeur de la solution est inconnue
60 61
10
15/06/2012
62
63
64
65
Fonction dvaluation
La recherche ordonne revient choisir dvelopper le meilleur nud au sens dun certain critre centre sur le nud ayant les meilleurs chances de mener au but Lutilisation dune heuristique est base sur une fonction dvaluation pour ordonner la recherche
Mthode dvaluation
Soit f une fonction dvaluation, f(n) exprime la valeur de cette fonction pour le noeud n f*(n) reprsente le cot idal du chemin passant par un nud n pour arriver au but
I
g*(n) f*(n) h*(n)
n
B
h est la fonction heuristique qui estime le cot du passage de l'tat u l'tat final.
11
15/06/2012
Mthode dvaluation
Estimation de h* plus difficile car on connat
pas de chemin de n But
g*(n) Il faut se rfrer des informations heuristiques sur le domaine lalgorithme se fondant sur f(n) pour ordonner les nud est nomm
Etat initial
Nud n
I
f*(n)
h*(n)
I
f*(n)
h*(n)
g* peut tre le cot du meilleur Chemin dj rencontr de I n Soit g cette fonction du cot on a g(n) g* (n) Le choix de g est trs dpendant du domaine trait Exemple pour le jeu de taquin g(n) le nombre de jeton dplac (la longueur de la chane entre la racine et n)
n
B
n
B
Etat But
Etat But
lAlgorithme A
Lalgorithme A* est une stratgie du meilleur en premier dans le cadre des graphes OU et des problmes de minimisation des cots additifs. Lalgorithme A* est charg de calculer le plus court chemin menant de ltat initial ltat final.
68
69
Correction Exercice 4
1 2 6 5 4 3
f(n)=g(n) +h(n) avec g : nombre de jetons dplacs h: nombre de jetons mal placs 1 8 7 2 6 5 4
70
Etat initial
8 7
f(n)=(0+3)
1 8
2 6 5 3 4
1 8 7
2 6 5
3 4
1 8
3 6
(1+4)
(1+2)
(1+3)
1 8 7
3 4
*
1 8 7 2 6 2 4 5
(2+1)
5
Etat But
1 8 7
3 4
(3+0)
71
2 1 7 2 1 7
8 6
3 4 5
m(A) =4
d(x) =0
8 6
2 1 7
8 6
3 4 5
1 8 7
3 4
m(C) 4 =3 5
2 1 7
8 6 5
m(D) d(x) 4 =5 =1
8 1 6 8 1 6
3 4 5 3 4 5
m(E) =3
2 1 7 8 6 2 1 7 1 7 1 8 8 6 2 8 6 2 6
3 4 5 3 4 5 3 4 5 3 4 5
m(F) =3
2 1 7 2 1 7
8 4 6 3 8 6
3 5
m(G) d(x) =4 =2
m(H) =3
m(I) =4
m(J) =2
4 5
m(K) d(x) =4 =3
Rappel Mouvements lgaux: Dplace le <blanc> vers: - le haut - la droite - le bas - la gauche Contraintes: Les mouvements en diagonal sont interdits
72 73
m(L) =1
d(x) =4
1 m(M) 7 =0
2 8 6
3 4 5
m(N) d(x) =2 =5
12
15/06/2012
2 1 7 2 1 7
8 6
3 4 5
m(A) =4
d(x) =0
2 1 7 2 1 7
8 6
3 4 5
m(A) =4
d(x) =0
8 6
m(C) 4 =3 5
2 1 7
8 6 5
m(D) d(x) 4 =5 =1
m(B) 4 =5 5
8 6
m(C) 4 =3 5
2 1 7
8 6 5
m(D) d(x) 4 =5 =1
8 1 6 8 1 6
3 4 5 3 4 5
m(E) =3
2 1 7 8 6 2 1 7 1 7 1 8 8 6 2 8 6 2 6
3 4 5 3 4 5 3 4 5 3
m(F) =3
2 1 7 2 1 7
8 4 6 3 8 6
3 5
m(G) d(x) =4 =2
8 1 6 8 1 6
3 4 5 3 4 5
m(E) =3
2 1 7 8 6 2 1 7 1 7 1 8 8 6 2 8 6 2 6
3 4 5 3 4 5 3 4 5 3
m(F) =3
2 1 7 2 1 7
8 4 6 3 8 6
3 5
m(G) d(x) =4 =2
m(H) =3
m(I) =4
m(J) =2
4 5
m(K) d(x) =4 =3
m(H) =3
m(I) =4
m(J) =2
4 5
m(K) d(x) =4 =3
m(L) =1
d(x) =4
m(L) =1
d(x) =4
74
1 m(M) 4 =0 7 5
2 8 6
m(N) d(x) 4 =2 =5 5
75
1 m(M) 4 =0 7 5
2 8 6
m(N) d(x) 4 =2 =5 5
2 1 7 2 1 7
8 6
3 4 5
m(A) =4
d(x) =0
2 1 7 2 1 7
8 6
3 4 5
m(A) =4
d(x) =0
8 6
m(C) 4 =3 5
2 1 7
8 6 5
m(D) d(x) 4 =5 =1
m(B) 4 =5 5
8 6
m(C) 4 =3 5
2 1 7
8 6 5
m(D) d(x) 4 =5 =1
8 1 6 8 1 6
3 4 5 3 4 5
m(E) =3
2 1 7 8 6 2 1 7 1 7 1 8 8 6 2 8 6 2 6
3 4 5 3 4 5 3 4 5 3
m(F) =3
2 1 7 2 1 7
8 4 6 3 8 6
3 5
m(G) d(x) =4 =2
8 1 6 8 1 6
3 4 5 3 4 5
m(E) =3
2 1 7 8 6 2 1 7 1 7 1 8 8 6 2 8 6 2 6
3 4 5 3 4 5 3 4 5 3
m(F) =3
2 1 7 2 1 7
8 4 6 3 8 6
3 5
m(G) d(x) =4 =2
m(H) =3
m(I) =4
m(J) =2
4 5
m(K) d(x) =4 =3
m(H) =3
m(I) =4
m(J) =2
4 5
m(K) d(x) =4 =3
m(L) =1
d(x) =4
m(L) =1
d(x) =4
76
1 m(M) 4 =0 7 5
2 8 6
m(N) d(x) 4 =2 =5 5
77
1 m(M) 4 =0 7 5
2 8 6
m(N) d(x) 4 =2 =5 5
2 1 7 2 1 7
8 6
3 4 5
m(A) =4
d(x) =0
2 1 7 2 1 7
8 6
3 4 5
m(A) =4
d(x) =0
8 6
m(C) 4 =3 5
2 1 7
8 6 5
m(D) d(x) 4 =5 =1
m(B) 4 =5 5
8 6
m(C) 4 =3 5
2 1 7
8 6 5
m(D) d(x) 4 =5 =1
8 1 6 8 1 6
3 4 5 3 4 5
m(E) =3
2 1 7 8 6 2 1 7 1 7 1 8 8 6 2 8 6 2 6
3 4 5 3 4 5 3 4 5 3 4 5
m(F) =3
2 1 7 2 1 7
8 4 6 3 8 6
3 5
m(G) d(x) =4 =2
8 1 6 8 1 6
3 4 5 3 4 5
m(E) =3
2 1 7 8 6 2 1 7 1 7 1 8 8 6 2 8 6 2 6
3 4 5 3 4 5 3 4 5 3 4 5
m(F) =3
2 1 7 2 1 7
8 4 6 3 8 6
3 5
m(G) d(x) =4 =2
m(H) =3
m(I) =4
m(J) =2
4 5
m(K) d(x) =4 =3
m(H) =3
m(I) =4
m(J) =2
4 5
m(K) d(x) =4 =3
m(L) =1
d(x) =4
m(L) =1
d(x) =4
78
1 m(M) 7 =0
2 8 6
3 4 5
m(N) d(x) =2 =5
79
1 m(M) 7 =0
2 8 6
3 4 5
m(N) d(x) =2 =5
13
15/06/2012
2 1 7 2 1 7
8 6
3 4 5
m(A) =4
d(x) =0
2 1 7 2 1 7
8 6
3 4 5
m(A) =4
d(x) =0
8 6
m(C) 4 =3 5
2 1 7
8 6 5
m(D) d(x) 4 =5 =1
m(B) 4 =5 5
8 6
m(C) 4 =3 5
2 1 7
8 6 5
m(D) d(x) 4 =5 =1
8 1 6 8 1 6
3 4 5 3 4 5
m(E) =3
2 1 7 8 6 2 1 7 1 7 1 8 8 6 2 8 6 2 6
3 4 5 3 4 5 3 4 5 3
m(F) =3
2 1 7 2 1 7
8 4 6 3 8 6
3 5
m(G) d(x) =4 =2
8 1 6 8 1 6
3 4 5 3 4 5
m(E) =3
2 1 7 8 6 2 1 7 1 7 1 8 8 6 2 8 6 2 6
3 4 5 3 4 5 3 4 5 3
m(F) =3
2 1 7 2 1 7
8 4 6 3 8 6
3 5
m(G) d(x) =4 =2
m(H) =3
m(I) =4
m(J) =2
4 5
m(K) d(x) =4 =3
m(H) =3
m(I) =4
m(J) =2
4 5
m(K) d(x) =4 =3
m(L) =1
d(x) =4
m(L) =1
d(x) =4
80
1 m(M) 4 =0 7 5
2 8 6
m(N) d(x) 4 =2 =5 5
81
1 m(M) 4 =0 7 5
2 8 6
m(N) d(x) 4 =2 =5 5
2 1 7 2 1 7
8 6
3 4 5
m(A) =4
d(x) =0
2 1 7 2 1 7
8 6
3 4 5
m(A) =4
d(x) =0
8 6
m(C) 4 =3 5
2 1 7
8 6 5
m(D) d(x) 4 =5 =1
m(B) 4 =5 5
8 6
m(C) 4 =3 5
2 1 7
8 6 5
m(D) d(x) 4 =5 =1
8 1 6 8 1 6
3 4 5 3 4 5
m(E) =3
2 1 7 8 6 2 1 7 1 7 1 8 8 6 2 8 6 2 6
3 4 5 3 4 5 3 4 5 3
m(F) =3
2 1 7 2 1 7
8 4 6 3 8 6
3 5
m(G) d(x) =4 =2
8 1 6 8 1 6
3 4 5 3 4 5
m(E) =3
2 1 7 8 6 2 1 7 1 7 1 8 8 6 2 8 6 2 6
3 4 5 3 4 5 3 4 5 3
m(F) =3
2 1 7 2 1 7
8 4 6 3 8 6
3 5
m(G) d(x) =4 =2
m(H) =3
m(I) =4
m(J) =2
4 5
m(K) d(x) =4 =3
m(H) =3
m(I) =4
m(J) =2
4 5
m(K) d(x) =4 =3
m(L) =1
d(x) =4
m(L) =1
d(x) =4
82
1 m(M) 4 =0 7 5
2 8 6
m(N) d(x) 4 =2 =5 5
tat final
83
1 m(M) 4 =0 7 5
2 8 6
m(N) d(x) 4 =2 =5 5
Conclusion
Les algorithmes de recherche sont une technologie de base importante en Intelligence Artificielle. Recherche darbres en profondeur dabord: utilise peu de mmoire, mais peut rater la solution optimale. Recherche darbres en largeur dabord: gourmande en mmoire, mais trouve toujours la solution optimale. Recherche heuristique: A* peut trouver la solution optimale de manire efficace.
Chapitre 3
Rsolution de problme en IA Les stratgies de recherche dans les arbres de jeux : MinMax et Alpha-Beta
jouez et visualisez
http://www.dc.fi.udc.es/lidia/mariano/demos/8puzzle/Eight Puzzle.htm
84
14
15/06/2012
Sommaire
Introduction
Johan Huizinga, historien nerlandais : Jouer est le propre de l'homme. Depuis le Moyen Age (tournois de gladiateurs) Jeux : activits comportant des rgles prcises. Vainqueur : celui qui a fait preuve d'intelligence et d'habilet. But ultime de l'IA Raliser un ordinateur qui joue aussi bien, voire mieux, qu'un humain.
Introduction Arbre de jeu et arbre de recherche Notion de fonction d'valuation Algorithme MinMax Algorithme Alpha-Beta Etat de l'art de quelques jeux : dames, checs, backgammon,Othello et Go
86
87
Jeux de coopration l'tat pur : tude de dcisions concordantes tude des conditions amenant un intrt gnral Jeux de comptition l'tat pur : duels = jeux deux joueurs dont les intrts sont strictement opposs Partie la plus acheve de la thorie des jeux Jeux de comptition et de coopration : Plus proche des situations relles tude systmatique plus difficile
88
89
90
91
15
15/06/2012
Tous les jeux ne sont pas adapts une tude par des techniques d'IA. Les jeux les plus tudis : jeux somme nulle, information complte et parfaite.
92
93
objectes
oprateurs (actions)
espace de recherche
94 95
Algorithme MinMax
Principe : Maximiser la valeur d'utilit pour MAX avec l'hypothse que MIN joue systmatiquement pour la minimiser.
Description : tendre l'arbre de jeu valuer chaque noeud terminal propager ces valeurs aux noeuds non-terminaux : la valeur minimum aux noeuds du joueur MIN la valeur maximum aux noeuds du joueur MAX
96
97
16
15/06/2012
MinMax avec profondeur limite Principe : Etendre l'arbre de jeu jusqu' une profondeur N partir du nud courant Calculer la valeur de la fonction d'valuation pour chaque nud feuille, pas forcment terminal Propager ces valeurs jusqu'aux noeuds non-terminaux
98
99
-1
-1
-1
-2
100
101
Elagage Alpha-Beta
Principe : Etendre l'arbre de jeu jusqu' une profondeur h par une recherche en profondeur Ne plus gnrer les successeurs d'un noeud ds qu'il est vident que ce noeud ne sera pas choisi, compte tenu des noeuds dj examins Chaque noeud MAX conserve la trace d'une alpha-valeur, qui est la valeur de son meilleur successeur trouv jusqu' prsent Chaque noeud MIN conserve la trace d'une -valeur, qui est la valeur de son pire successeur trouv jusqu' prsent Valeurs initiales :
Elagage Alpha-Beta
Deux rgles : Interrompre la recherche d'un noeud MAX si son alpha-valeur de son nud parent.
-valeur
Interrompre la recherche d'un noeud MIN si sa -valeur alpha-valeur de son nud parent.
alpha = - et = +
102 103
17
15/06/2012
Rgles du jeu
Dplacement du pion
Position initiale
Rgles du jeu
dplacement du cavalier dplacement du fou
Rgles du jeu
dplacement de la tour dplacement de la reine
106
107
Rgles du jeu
Echec au roi lorsqu'une pice attaque le roi ennemi. Trois manires de parer un chec : Bouger le roi attaqu Prendre la pice attaquant le roi Intercaler une pice entre le roi et la pice menaante
Rgles du jeu
encore dautres rgles et contraintes Jeu qui a suscit le plus d'attention et d'efforts. Au dbut les progrs ont t trs lents. 1970 : 1er programme gagner le championnat ACM d'checs informatiques. Il utilisait un lagage a-b, un rpertoire d'ouvertures classiques et un rpertoire de fins de partie. 1985 : Hitech (Berliner) se classe parmi les 800 meilleurs joueurs du monde. Il est capable d'analyser plus de 10 Millions de positions par coup.
Dplacement du Roi
108
109
18
15/06/2012
111
Inconvnients de Alpha-Beta
Premier dfaut : manque total de stratgie
Programmes utilisant
Jouent des positions totalement indpendantes les unes des autres Pas de vision long terme de la partie
Chapitre 4
Reprsentation des connaissances et raisonnement
112
Sommaire Introduction Dfinitions Les types de connaissances Reprsentation des connaissances Logique des propositions : ordre 0 Logique des prdicats : ordre 1 Rseaux smantiques
Introduction
Lhomme a des connaissances a une reprsentation de ces connaissances
Pour rsoudre un pb
114
115
19
15/06/2012
Introduction
Exemple 1:
Robert est all Paris Pourrait tre reprsente telle quelle : x1, x2, .., xn ensemble de listes Inconvnient : une reprsentation des donnes mais pas des connaissances. On ne peut pas rpondre : qui est all Paris ? Autre reprsentation : Moyen formel de reprsentation des connaissances. Action : Aller Agent : Robert Source : ? Destination : Paris Temps : Pass Moyen : ?
116
Introduction
Exemple 2: Sami entra dans un restaurant. Il commanda de la viande. Il na pas laiss de pourboire. Sami a mang Sami sest assis Sami nest pas vgtarien Sami est radin Sami a pass un certain temps dans le restaurant
117
Introduction
Comment raliser toutes ces infrences ? Un programme ne peut raliser toutes les infrences possibles : explosion combinatoire. On ne peut pas raliser des infrences la demande. Il faut contrler le raisonnement. Dans un systme intelligent on a 3 composants Une BC Une partie pour faire les infrences (raisonnement) appel moteur dinfrence ou interprteur : I Une structure de contrle pour orienter le raisonnement: C
Dfinitions
Dfinition de la connaissance : Facult de connatre, manire de comprendre, de percevoir. Connatre : avoir une ide plus ou moins juste, savoir de faon plus ou moins prcise.
Dfinition de la reprsentation : Action de rendre sensible quelque chose au moyen dune figure, dun symbole, dun signe. Ex : lcriture est la reprsentation de la langue parle.
SI
BC + I + C
118 119
Les types de connaissances On entend par connaissances toutes les formes de savoir de lhomme des faits: des dfinitions (la terre est ronde) des vnements : aspects temporels (x a rencontr y en 1988) des infrences : (sil tousse .) des rgles de savoir faire (pour sortir du parking il faut ) des mta connaissances: connaissances sur les connaissances
120
121
20
15/06/2012
Ide de base
Avoir la connaissance stocke par morceaux dont lensemble fournit la connaissance entire et permet de raisonner sur cette connaissance. Il y un ensemble de modes de reprsentation : Logique (logique dordre 0, logique dordre 1, temporelle, floue, ) Rseaux smantiques Rgles de production Objets structurs (frames) Approche oriente objet
122
Vole (Toto)
prdicat argument
Robe(Fatma, rouge)
prdicat
argument2
Oiseau (Toto)
prdicat argument Proposition vraie
124
125
Logique des propositions Syntaxe Une proposition : vrai, faux Variables propositionnelles ou atome (affirmation) : P, Q, R, A1, A2, etc. Connecteurs (pour reprsenter des propositions plus complexes) :
ET : OU : NON : Implique : Equivalent :
Exemples : (PQ) ( P Q) (P (Q R)) S
126
127
21
15/06/2012
(P Q)R
Alphabet du langage : Ensemble des atomes {A, , An } + ensemble les connecteurs { ,, } + {(,)}
128
Insuffisance de la logique (dordre 0) Si on veut dduire des propositions pour des ensembles dlments ??? Exemple :
? exprimer que tous les oiseaux volent
Vole(oiseau 1), Vole(oiseau 2), , Vole(oiseau n)
130
Syntaxe
Pour crire des formules de logique des prdicats, on commence par se donner un vocabulaire: variables (x, y, z, x1, y1, z1, ) constantes (a, b, c, a1, b1, c1, ) fonctions (f, g, h, f1, g1, h1, ) prdicats (P, Q, R, P1, Q1, R1, ) parenthses connecteurs logiques: , ^, v, , quantificateurs: ,
Le quantificateur existentiel ()
Exemple :
? exprimer que tous les oiseaux volent
133
22
15/06/2012
Exercice
Mettre sous forme de formules les propositions suivantes : S1. Pour tout crime, il ya quelquun qui la commis S2. Seul les gens malhonntes commettent des crimes S3. Ne sont arrts que les gens malhonntes S4. Les gens malhonntes arrts ne commettent pas de crime S5. Il y a que des crimes S6. Il y a des gens malhonntes non arrts
Correction
Mettre sous forme de formules les propositions suivantes : S1. Pour tout crime, il ya quelquun qui la commis C(X) : X est un crime Commettre(Y, X) : Y a Commis X (X), C(X) --> (Y) Commettre(Y,X) S2. Seul les gens malhonntes commettent des crimes M(Y) : Y est malhonnte (X) (Y) C(X) ^ Commettre(Y,X) --> M(Y) S3. Ne sont arrts que les gens malhonntes (tout objet/ si lobjet est arrt alors cet objet est malhonnte) A(X) : X est arrt (X) A(X) --> M(X)
134
135
Correction suite
S4. Les gens malhonntes arrts ne commettent pas de crime (pour toute personne malhonnte et arrt, il nexiste pas de crime commis par elle) C(X) : X est un crime Commettre(Y, X) : Y a Commis X M(Y) : Y est malhonnte A(X) : X est arrt (X) M(X) ^ A(X) (Y) ( C(Y) ^ Commettre(X,Y) ) S5. Il y a que des crimes (X) C(X) S6. Il y a des gens malhonntes non arrts (X) M(X) ^ A(X)
136
Raisonnement en logique des prdicats Raisonner en logique dmontrer des nouvelles formules partir dun ensemble de formules existantes. Rgles ??
137
Rgles dinfrence
Rgles dinfrence
- Unification et filtrage
Exemple Si Franais(jean) et Franais(y) Rgion(y, Europe) daprs
alors
Modus Ponens
Rgion(jean, Europe)
Avec substitution de jean la variable y
- Spcification universelle
138
P(a)
139
23
15/06/2012
Inconvnients
Logique des prdicats du 1er ordre (V ou F) Ne permet pas dexprimer des nuances Ne permet pas de dcider avec des informations manquantes Contrairement lhomme qui fait des raisonnements par dfauts
-Logiques multivalues -Logique modales -Logique non monotones -Logique temporelle -Logique floue -
140
a un (attribut) Symbolique :
pompe a un moteur
142
143
Exercice
Reprsenter par un rseau smantique les connaissances suivantes: Karim est secrtaire et travaille pour Ahmed; karim et Ahmed sont des humains; karim et Ahmed travaillent au dpartement RH; karim a 30 ans et a les yeux bleus; Ahmed est directeur; Les directeurs ont des voitures de service; Les employs ont un permis de stationnement
Exercice
Reprsenter par un rseau smantique chaque connaissance indpendamment (vous pouvez enrichir les connaissances ) 1. Ali a frapp salah 2. Ali a frapp salah et mohamed a frapp ramy 3. Ali a frapp salah avec un bton dans le parc la nuit dernire 4. Sonia a donn alia un livre
144
145
24
15/06/2012
Sommaire
Introduction Structure dun Systme Expert Cycle dun moteur dinfrence Caractristique dun moteur dinfrence 1/ Mode dinvocation des rgles Chainage Avant Chainage Arrire Chainage mixte 2/ La stratgie de recherche 3/ Rgime de contrle 4/ Critre de monotonie Exercices dapplication
147
Chapitre 5
Systmes Experts et Moteurs dInfrence
Introduction Un systme expert est un logiciel qui reproduit le comportement d'un expert humain accomplissant une tche intellectuelle dans un domaine prcis.
Structure dun SE
Un systme expert ( SE) est compos de deux parties indpendantes : une base de connaissances (mmoire dun SE)
base de faits (BDF) qui contient les squences de faits tablis et ayant une valeur de vrit vraie (constitue la partie statique) base de rgles (BDR) qui contient lensemble des rgles de production pouvant tre appliqus aux faits. (il sagit de la partie dynamique)
un moteur d'infrences (MI) Il sagit du cerveau du SE. Cest un programme qui simule le raisonnement humain
148
149
Structure dun SE
Phase dvaluation
1/ Etape de Filtrage ou dtection : Elle consiste dfinir pour lensemble des rgles de BC, les rgles potentiellement applicables rsultat ensemble de rgles 2/ Etape de Slection avec rduction de conflits: Elle consiste choisir parmi lensemble des rgles applicables, la rgle appliquer effectivement rsultat une rgle
Phase dexcution
Elle consiste appliquer la rgle choisie et mettre jour la base de faits BDF
Le moteur dinfrence excute ces diffrentes phases de faon cyclique jusqu une condition darrt soit vrifie: Un objectif atteint Epuisement de toutes les connaissances
Etape de filtrage ne fournit aucune rgles potentiellement applicable Epuisement normale des rgles
150
151
25
15/06/2012
Arr t
Choix
1/ 2/ 3/ 4/
Mode dinvocation des rgles La stratgie de recherche Rgime de contrle Critre de monotonie
Dduction
152
153
MI chainage avant
154
155
MI chainage arrire
MI Chainage Mixte
156
157
26
15/06/2012
2/ La stratgie de recherche
La programmation dun MI ncessite la slection dun ensemble de critres:
3/ rgime de contrle
La programmation dun MI ncessite la slection dun ensemble de critres: 1/Mode dinvocation des rgles 2/ La stratgie de recherche
1/Mode dinvocation des rgles 2/ La stratgie de recherche Au cours des cycles de 3/ Rgime de contrle recherche dun MI, on dveloppe un arbre de recherche dans lequel chaque niveau correspond lensemble des 4/ Critre de monotonie de conflits) Chaque rgle dclenche rgles applicables (ensemble
cre une nouvelle situation et de nouvelles rgles invoquer. Deux principales stratgies de recherche se prsentent: soit on dveloppe toutes les rgles dun mme niveau lun aprs lautre avant de passer au niveau suivant (stratgie en largeur dabord) soit dun niveau un autre chaque fois quon dclenche une rgle et on ne revient aux rgles restantes que si on puise toutes les rgles en profondeur (stratgie en profondeur dabord) Le retour arrire dans le cas o la recherche en profondeur choue sera appel: backtracking
158
3/ Rgime de contrle
4/ Critre de monotonie
Le rgime de contrle dun MI peut tre: Irrvocable: Lapplication dune rgle dans un cycle du MI nest jamais remise en cause et on nopre pas de backtracking. Sil ny a plus de rgles appliquer. Le MI sarrte et signale un chec sans faire retour en arrire ou par tentative: Ce rgime peut remettre en cause des rgles dj appliques si elles nont pas abouti, et faire un backtracking en retirant aussi les faits qui en taient dduits
159
4/ Critre de monotonie
La programmation dun MI ncessite la slection dun ensemble de critres: 1/Mode dinvocation des rgles 2/ La stratgie de recherche 3/ Rgime de contrle
Exercice dapplication
Base de Fait (BDF): But : H Base des rgles (BDR): R1: B^D^E F R2: D^G A R3: C^F A R4: BX R5: DE R6: A^XH R7: CD R8: X^CA R9: X^BD
B, C
4/ Critre de monotonie
Un moteur dinfrence MI peut tre : monotone: En rgime monotone: le MI ne fait quajouter des faits la BDF et nlimine jamais une rgle de BDR non monotone En rgime non monotone: le MI peut en cas de retour arrire par exemple retrancher de la BDF un fait prcdemment ajout
Rsoudre ce problme en appliquant lapproche de chainage avant selon une stratgie en profondeur dabord monotone avec rgime irrvocable : La 1re rgle qui apparat dans lensemble des rgles dtectes est celle appliquer Une rgle applique est dfinitivement carte de BDR
160
161
Solution
Solution 1 Solution 2
Filtrage
slection
dduction
162
27
15/06/2012
Bibliographie Sommaire
JGanascia, Lintelligence Artificielle, Coll. DOMINOS, Flammarion, 1993 Ginsberg, Essentials of Artificial Intelligence, Morgan Kaufmann, 1997. Laurire, Intelligence Artificielle : rsolution de problmes par lhomme et la machine, Eyrolles, 1987 Russel et Norvig, Artificial Intelligence a Modern Approach, Prentice Hall Series in Artificial Intelligence, 1995 Cornujols et Miclet, Apprentissage artificiel :Concepts et algorithmes, Eyrolles, 2010. Alliot et Schiex, Intelligence artificielle et informatique thorique, CEPADUES, 2002.
164
28