Vous êtes sur la page 1sur 28

15/06/2012

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

Dorra BEN AYED MEZGHANI

Sommaire Introduction Historique Dfinitions de lIA Domaines dapplication Les approches de l IA


cognitive, Pragmatique connexionniste

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.

IA = reprsente un pb non dterministe NP (non polynomial)

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

Introduction Quest ce que lIA ?


1)Rechercher (analyser, rsoudre des problmes, trouver des mthodes de rsolution) 2)Reprsenter des connaissances (logique, rgles, mmoire, cas, langue naturelle, etc.) 3)Mettre en application les ides 1) et 2) (Systmes Experts, pilotes automatiques, agents dinterfaces, robots, Data Mining, etc.)

10

Dfinition et objectif
Quest ce que lIA ?

Quest ce quon attend dun ordinateur intelligent ?


comprendre lesprit mental de lhomme et imiter au maximum son comportement reprsentent les tches les plus difficiles que la science essaie de rsoudre. Par exemple, pour linterprtation de limage :

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

on se rendit compte quon ne pouvait pas reprsenter toutes les connaissances.


13 14

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

Les approches de l IA 3/ Approche Connexionniste


Les systmes symboliques nont don de rsultats que sur les domaines o ltre humain a besoin dapprendre, alors que sur des domaines apparaissant comme inns (langage, la marche), ils se sont montrs inefficaces.

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

Le monde rel est excessivement complexe


6 9 1 7 3 12 10 11 14 4 2 13 8 15 5 9 6 5 3 11 10 8 14 4 2 13 15 12 1 7

l'espace d'tats doit tre une abstraction de la ralit


31

15/06/2012

Types de problmes
dterministe, accessible problme tat unique
tat exact connu effets des actions connus

Formulation d'un problme tat unique


Un problme est dfini par 4 lments: tat initial oprateurs (ou fonction successeur S(x)) Test-but: fonction applicable un tat qui dtermine si c'est l'tat solution. Cot-chemin: permet de dterminer quel est le meilleur chemin menant la solution si plusieurs chemins existent. une solution est une squence d'oprateurs menant de l'tat initial l'tat final (solution)
33

dterministe, inaccessible problme tats multiples


un ensemble parmi plusieurs ensembles d'tats effets des actions connus

non dterministe, inaccessible problme contingent


(perception limite, algorithmes plus complexes)

besoin de percevoir durant l'excution solution a une structure d'arbre souvent mlange entre recherche et excution effet conditionnel des actions

espace d'tats inconnu problme d'exploration ("online")


excution rvle les tats besoin d'exprimenter pour trouver la solution le plus difficile
32

Exemple: assemblage automatique

Exemple : jeu de taquin (puzzle)

Configuration initiale Etat initial tat

Configuration finale Etat final

initial: positions des 8 plaquettes dans une des 9 cases

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

Oprateurs du jeu taquin

Reprsentation par graphes dtats

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

Problme gnral de recherche

tats vs. noeuds

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

Graphe dtat gnral


38 39

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?

Mthodes de recherche heuristiques = Explorations informes

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

Exercice 1: problme du fermier


quartes acteurs le fermier(f), le loup(l), la chvre (c) et le chou (C) se trouvent sur la rive gauche dune rivire. On considre: Un bateau qui peut transporter le fermier seul ou avec un des trois acteurs restants de gauche droite Un bateau qui peut transporter le fermier seul ou avec un des trois acteurs restants de droite gauche Le loup peut manger la chvre sans prsence du fermier La chvre peut manger le chou sans prsence du fermier

Algorithme de recherche
Largeur dabord (breadth-first-search)

Pb? Comment faire pour passer les 4 acteurs lautre rive


42 43

15/06/2012

Principe de la recherche en largeur


Lexpansion des noeuds les moins rcemment engendrs seffectue en premier Larborescence est construite niveau aprs niveau et donc de manire horizontale

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

Proprits de la recherche en largeur

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

Configuration initiale Etat initial

Configuration finale Etat final

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)

profondeur dabord (depth-first-search)

2 3

2 3 4

3 4

(9)

8 7 5

(10)

8 7

6 5

(11)

8 7 6

Etat But
49

( ): numro donnant lordre de dveloppement 48

15/06/2012

Principe de recherche en profondeur


Stratgie: tend le noeud le plus profond Implmentation: insertion des successeurs en tte de la file d'attente

Algorithme de recherche en profondeur

Attention aux cycles infinis ! Il faut un espace de recherche fini et sans cycle, ncessit d'liminer les nuds dj rencontrs.

Les nuds sont numrots dans l'ordre de leur exploration

50

51

Proprits de la recherche en profondeur

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

Principe de la recherche en profondeur limite

Principe de la recherche en profondeur limite


algorithme de recherche en profondeur avec une limite de profondeur d'exploration L Implmentation les noeuds de profondeur L n'ont pas de successeurs exemple avec L = 2

54

55

15/06/2012

Proprits de la recherche en profondeur limite


Compltude: Oui
si L d

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

Complexit en temps: O(bL) Complexit en espace: O(b * L) Optimalit: Non

Configuration initiale Etat initial

Configuration finale Etat final

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

( ): numro donnant lordre de dveloppement

Principe de la recherche itrative en profondeur


Le problme avec la recherche en profondeur limite est de fixer la bonne valeur de L approfondissement itratif = essayer toutes les valeurs possibles de L partir de L = 0 (en incrmentant la limite) combine les avantages de la recherche en largeur et en profondeur
optimal et complet comme la recherche en largeur conome en espace comme la recherche en profondeur

Exemple de la recherche itrative en profondeur

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

Proprits de la recherche itrative en profondeur


Compltude Oui Complexit en temps (d+1)b0 + db1 + (d-1)b2 + + bd = O(bd) Complexit en espace O(b * d) Optimalit Oui
si cot = 1 par tape

Les mthodes heuristiques (exploration informe)

62

63

Introduction aux heuristiques


Les mthodes aveugles (non informes) sont des mthodes systmatiques peu efficaces Il existe des limites pratiques sur le temps dexcution et lespace mmoire pour appliquer ces mthodes sur une grande catgorie de problmes Toute technique visant acclrer la recherche est base sur une information appele heuristique Une heuristique signifie aider dcouvrir Ils utilisent des sources dinformation supplmentaires. Ces algorithmes parviennent ainsi des performances meilleures Les mthodes utilisant des heuristiques sont dites mthodes de recherche heuristiques

Implmentation des mthodes heuristiques


Utiliser un critre pour rordonner tous les nuds qui sont explors (au lieu dtre mis dans une pile ou file) Une certaine mesure doit tre tablie pour valuer la promesse dun nud. Cette mesure est appele fonction dvaluation ou dadquation ou objective

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)

appele fonction heuristique nomme h(u)

Etat initial Nud n Etat But

n
B

h est la fonction heuristique qui estime le cot du passage de l'tat u l'tat final.

f*(n) = g*(n) + h*(n)


66 67

11

15/06/2012

Mthode dvaluation Estimation de g*


g*(n)
Etat initial
Nud n

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

f*(n) = g*(n) + h*(n)

lAlgorithme A

f*(n) = g*(n) + h*(n)

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

Exercice 4: Recherche heuristique avec A*

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)

Configuration initiale Etat initial

Configuration finale Etat final

71

Exercice 5: recherche avec algorithme A*

puzzle avec heuristique A*


A, ..., N: mouvements m = mal placs jetons
2 1 8 6 7 3 m(B) 4 =5 5

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

d = niveau dans larbre (profondeur)


2

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

f(x) = m(x) + d(x)


7 8 2 7 1 6 3 4 5 2 7

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

Configuration initiale Etat initial

Configuration finale Etat final

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

puzzle avec heuristique A*


A, ..., N: mouvements m = mal placs carreaux d = niveau dans larbre (profondeur)
2 2 1 8 6 7 3 m(B) 4 =5 5

2 1 7 2 1 7

8 6

3 4 5

m(A) =4

d(x) =0

puzzle avec heuristique A*


A, ..., N: mouvements
2 1 8 6 7 3

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 = mal placs carreaux d = niveau dans larbre (profondeur)

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

f(x) = m(x) + d(x)


7 8 2 7 1 6 3 4 5 2 7

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

f(x) = m(x) + d(x)


7 8 2 7 1 6 3 4 5 2 7

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

puzzle avec heuristique A*


A, ..., N: mouvements m = mal placs carreaux d = niveau dans larbre (profondeur)
2 2 1 8 6 7 3 m(B) 4 =5 5

2 1 7 2 1 7

8 6

3 4 5

m(A) =4

d(x) =0

puzzle avec heuristique A*


A, ..., N: mouvements
2 1 8 6 7 3

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 = mal placs carreaux d = niveau dans larbre (profondeur)

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

f(x) = m(x) + d(x)


7 8 2 7 1 6 3 4 5 2 7

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

f(x) = m(x) + d(x)


7 8 2 7 1 6 3 4 5 2 7

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

puzzle avec heuristique A*


A, ..., N: mouvements m = mal placs carreaux d = niveau dans larbre (profondeur)
2 2 1 8 6 7 3 m(B) 4 =5 5

2 1 7 2 1 7

8 6

3 4 5

m(A) =4

d(x) =0

puzzle avec heuristique A*


A, ..., N: mouvements
2 1 8 6 7 3

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 = mal placs carreaux d = niveau dans larbre (profondeur)

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

f(x) = m(x) + d(x)


7 8 2 7 1 6 3 4 5 2 7

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

f(x) = m(x) + d(x)


7 8 2 7 1 6 3 4 5 2 7

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

puzzle avec heuristique A*


A, ..., N: mouvements m = mal placs carreaux d = niveau dans larbre (profondeur)
2 2 1 8 6 7 3 m(B) 4 =5 5

2 1 7 2 1 7

8 6

3 4 5

m(A) =4

d(x) =0

puzzle avec heuristique A*


A, ..., N: mouvements
2 1 8 6 7 3

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 = mal placs carreaux d = niveau dans larbre (profondeur)

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

f(x) = m(x) + d(x)


7 8 2 7 1 6 3 4 5 2 7

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

f(x) = m(x) + d(x)


7 8 2 7 1 6 3 4 5 2 7

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

puzzle avec heuristique A*


A, ..., N: mouvements m = mal placs carreaux d = niveau dans larbre (profondeur)
2 2 1 8 6 7 3 m(B) 4 =5 5

2 1 7 2 1 7

8 6

3 4 5

m(A) =4

d(x) =0

puzzle avec heuristique A*


A, ..., N: mouvements
2 1 8 6 7 3

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 = mal placs carreaux d = niveau dans larbre (profondeur)

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

f(x) = m(x) + d(x)


7 8 2 7 1 6 3 4 5 2 7

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

f(x) = m(x) + d(x)


7 8 2 7 1 6 3 4 5 2 7

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

Votre tour ! Allez:

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

Introduction la thorie des jeux


La thorie des jeux : une branche des mathmatiques technique de recherche oprationnelle s'intresse aux situations dans lesquelles plusieurs personnes ont prendre des dcisions dont dpend un rsultat qui les concerne. Problme de jeu = prsence de plusieurs centres de dcisions. Domaines conomique politique diplomatique militaire

Introduction la thorie des jeux


Dans les problmes de jeux, deux facteurs essentiels : Coopration Comptition

Trois classes de problmes :

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

Introduction la thorie des jeux


Jeux information complte : Chaque joueur connat lors de la prise de dcision : ses possibilits d'action les possibilits d'action des autres joueurs les gains rsultants de ces actions les motivations des autres joueurs Jeux information parfaite : Jeux mcanisme squentiel, o chaque joueur a connaissance en dtail de toutes les actions effectues avant son choix.

Introduction la thorie des jeux


Jeux somme nulle : Jeux o la somme algbrique des gains des joueurs est constante. Ce que gagne lun est ncessairement perdu par un autre. Jeux somme non nulle : Jeux dans lesquels certaines issues sont globalement plus profitables pour tous, ou plus dommageables pour tous. Jeux synchrones : Les joueurs dcident de leur coup simultanment, sans savoir ce que les autres jouent. Jeux asynchrones (alternatifs) : Les joueurs se dcident les uns aprs les autres, en disposant chaque fois de linformation sur le coup des adversaires.

90

91

15

15/06/2012

Classification de certains jeux


Jeux asynchrones, somme nulle: Echecs, dames, dominos, Jeux de cartes (Poker, rami, belotte, tarot...), Jeux synchrones, somme nulle: Feuille-Papier-Ciseaux...

Exploration en situation dadversaire


Soient 2 joueurs : MAX et MIN, jouant tour de rle. MAX joue en 1er. Construction de l'espace d'tats (arbre de jeu), avec connaissance parfaite des tats : Etat initial Etats finaux Oprateur dterministe de gnration des tats successeurs : aucune incertitude sur les effets de l'oprateur succ. Fonction eval, qui indique si un tat terminal est gagnant, perdant ou de rsultat nul pour le joueur MAX. Choix du meilleur coup : algorithme MinMax ou Alpha-Beta

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

Dfinition d'un arbre de jeu MinMax


Un arbre de jeu rpertorie l'ensemble des coups ralisables au cours d'une partie, en partant du noeud racine, qui symbolise la configuration initiale, jusqu'aux noeuds terminaux : les positions finales. Chaque noeud de l'arbre reprsente une position de jeu et chaque arc un coup possible d'un joueur permettant de passer d'une position une autre. A chaque noeud terminal est associ un score ternaire :
+1 si MAX gagne -1 si MIN gagne 0 s'il y a nulle

Exemple: jeu Tic Tac Toe

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.

Exemple dArbre de jeu MinMax

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

Proprit de lalgorithme MinMax


Complet : si l'arbre de jeu est fini. Complexit en temps : O( bm ) b = facteur de branchement m = profondeur de l'arbre total Complexit en espace : O( bm ) Pour les checs : b 35, m 100... NB: L'algorithme MinMax est totalement intraitable pour certains problmes.

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

MinMax avec profondeur limite


1) Etendre l'arbre de jeu partir de l'tat courant, o c'est MAX de jouer, jusqu' une profondeur h 2) Calculer la fonction d'valuation pour chacune des feuilles 3) Rtro-propager les valeurs des noeuds feuilles vers la racine de l'arbre, de la manire suivante : Un noeud MAX recoit la valeur maximum de l'valuation de ses successeurs Un noeud MIN recoit la valeur minimum de l'valuation de ses successeurs 4) Choisir le mouvement vers le noeud MIN qui possde la valeur rtro-propage la plus leve.

Exemple MinMax avec profondeur limite

-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

Etat de l'art :jeu d'checs

Rgles du jeu

Dplacement du pion

Position initiale

Quelles sont les rgles du jeu ?


104 105

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

Techniques utilises pour les checs


Le milieu de partie Royaume de l'Alpha-Beta et de la fonction d'valuation Fonction d'valuation extrmement complexe. Prend en compte : Valeurs des pices : Dame : 9 Tour : 5 Cavalier, fou : 3 Pion : 1 Scurit du roi Paire de fous Domination du centre Mobilit Cavaliers centraliss Tours places sur des colonnes ouvertes Fous placs sur des diagonales ouvertes Qualit de la structure de pions ...
110

Techniques utilises pour les checs


Lalgorithme Alpha-Beta utilis dans un programme d'checs incorpore quelques amliorations : lagage de futilit Test prioritaire des coups meurtriers Retour l'quilibre Heuristique du coup nul (Null Move Heuristic)
Fonction d'valuation gnralement de la forme : eval( s ) = w1 f1( s ) + w2 f2( s )+ ... + wn fn( s ) avec : fi( s ) : caractristique de la position wi : poids associ une caractristique

111

Inconvnients de Alpha-Beta
Premier dfaut : manque total de stratgie
Programmes utilisant

- ne sont pas guids par un plan

Jouent des positions totalement indpendantes les unes des autres Pas de vision long terme de la partie

Chapitre 4
Reprsentation des connaissances et raisonnement

Deuxime dfaut : l'effet d'horizon (Berliner, 1974)


D la ncessit de fixer a priori une profondeur Programme ne peut percevoir les effets d'un coup au del de la profondeur choisie Tendance repousser au del de son horizon une position dfavorable

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

La qualit dun systme intelligent est celle de sa base de connaissance BC

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

Reprsentation des connaissances


Le problme de la reprsentation des connaissances est celui de leur transcription sous une forme symbolique qui puisse tre exploite par un systme de raisonnement (moteur dinfrence). Un mode de reprsentation associe ainsi deux aspects imbriqus : la structure de donnes pour reprsenter linformation la mthode associe dexploitation de cette information ou de raisonnement.

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

Mode de reprsentation logique Logique des propositions (dordre 0)

122

Logique des propositions Exemple : Toto vole

Logique des propositions Un prdicat peut avoir plusieurs arguments Exemple


argument1

Vole (Toto)
prdicat argument

Robe(Fatma, rouge)
prdicat

argument2

Toto est un oiseau

Oiseau (Toto)
prdicat argument Proposition vraie
124

La robe de Fatma est rouge Fatma a une robe rouge

125

Logique des propositions


Dduction mathmatique : dduire de nouvelles connaissances des anciennes. Le calcul des propositions se dfinit : dune part par sa syntaxe rgissant lensemble des assertions exprimables dans le langage et dautre part par ses rgles dinfrence dcrivant comment on peut crer de nouvelles assertions partir des anciennes.

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

Logique des propositions


P : tous les grecs sont mortels Q : Socrate est grec donc Socrate est mortel :R

Dfinition rcursive dune FBF


FBF 1. Un atome est une FBF 2. Si G est une FBF alors G est une FBF 3. Si G et H sont des FBF alors (GH), (GH), (GH) et (GH) sont des FBF Toutes les FBF sont construites partir de 1, 2 et 3. Une interprtation I est une certaine combinaison des atomes A1, A2, , An dune formule G . Une formule est vraie ou fausse dans une interprtation I. Une formule est valide : si pour toute I, une FBF est vraie (sinon, elle est invalide)
129

(P Q)R

FBF(Forme Bien Forme)

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)

Mode de reprsentation logique Logique des prdicats (dordre 1)

? exprimer que certains oiseaux ne volent pas


. (on ne peut pas)

130

la logique (dordre 1) Cest la logique des propositions dordre 0


laquelle on ajoute: Le quantificateur universel ()

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

x oiseau (x) Vole(x)


? exprimer que certains oiseaux ne volent pas x oiseau (x) Vole(x)
132

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

(x) P(x) alors

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 -

Mode de reprsentation Rseaux Smantiques

140

Les Rseaux smantiques


Les rseaux smantiques sont une manire de reprsenter des relations entre des objets (nuds). Cest un graphe tiquet Les nuds (objets) sont relis entre eux et les liens ont une signification. Les liens sont orients car la relation nest pas symtrique. Exemple : la pomme a une couleur rouge un canari est une sorte doiseau une pompe centrifuge est une sorte de pompe la pompe P1 est une pompe la pompe a un moteur NB: Certains liens reviennent trs souvent dans les rseaux

Reprsentation Type de lien : est un (IS a)


(est un exemple de, est une instance, est un lment de)

est une sorte de (kind of)


(est une sous-classe de, est un sous-ensemble de )

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

Cycle dun Moteur dinfrence


Le moteur dinfrence fonctionne en deux phases:

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

Cycle dun Moteur dinfrence

Caractristiques dun Moteur dInfrence

La programmation dun MI ncessite la slection dun ensemble de critres:


Dtection

Arr t

Choix

1/ 2/ 3/ 4/

Mode dinvocation des rgles La stratgie de recherche Rgime de contrle Critre de monotonie

Dduction

152

153

1/Mode dinvocation des rgles


La programmation dun MI ncessite la slection dun ensemble de critres: 1/Mode dinvocation des rgles 2/ La stratgieMI recherchechainage avant de approche de MI approche de chainage arrire 3/ Rgime de contrle MI approche de chainage mixte 4/ Critre de monotonie

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

Sous forme dun tableau

Sous forme dun arbre de recherche en profondeur dabord

Numro dinfre nce

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

Vous aimerez peut-être aussi