Vous êtes sur la page 1sur 99

INTELLIGENCE ARTIFICIELLE

II3
1
Cours IA Dr W. Chaari
Universit Manouba ENSI
2
Cours IA Dr W. Chaari
BIBLIOGRAPHIE
Henri Farreny, Malik Ghallab. Elments d intelligence
artificielle.
Trait des Nouvelles Technologies, HERMES, 1990.
Cote I-35

Avron Barr, Edward A. Feigenbaum. Le manuel de l Intelligence
Artificielle. Tome I, EYROLLES, 1986.
Cote I-80

Jean-Louis Laurire. Intelligence Artificielle - reprsentation des
connaissances. Tome II, EYROLLES, 1988.
Cote I-110
3
Cours IA Dr W. Chaari
SOMMAIRE
Introduction gnrale

Reprsentation et rsolution de problmes

Architecture et mise en uvre des systmes experts

Applications de lIA

Intelligence Artificielle Distribue
4
Cours IA Dr W. Chaari
Introduction
1956 : Naissance de la discipline
Logic Theorist [Newell, Shaw, Simon] : dmonstration
de thormes de la logique des propositions.
A partir de 1956 plusieurs travaux ont vu le jour :
- Jeux d checs
- Dmonstration de thormes en gomtrie
- Traduction automatique,
Programmes et budgets de recherche :
Institute for new generation COmputer Technology
500 millions de dollars (82-90)
Strategic Computer Initiative de la DARPA
1 milliard de dollars (83-90)

5
Cours IA Dr W. Chaari
L IA : une science cognitive
Le champ d investigation de l IA est le raisonnement :
l IA cherche comprendre les mcanismes de comprhension.
Les sciences cognitives d intressent ce champ :
psychologie, linguistique, philosophie, neurosciences
L IA vrifie ses modles et ses thories sur la connaissance et le
raisonnement en programmant et non pas en exprimentant sur
des sujets humains.
Thse populaire au dbut des annes 70 au MIT [Minsky &
Winston].
Selon Charniak et McDermott, l IA est l tude des facults
mentales travers l utilisations de modles calculatoires.
6
Cours IA Dr W. Chaari
L IA : une branche de l informatique
L ordinateur n est pas seulement un outil d investigation, il est
l objet de la recherche.
La question fondamentale de l IA :
Comment rendre les ordinateurs plus habiles ?
L IA cherche concevoir des mthodes exploitant les possibilits
propres des ordinateurs pour leur faire raliser des fonctions
ncessitant de l intelligence :
accomplir des tches considres comme une facult
humaine et qui impliquent du raisonnement symbolique...
L IA cherche concevoir des programmes en mesure de traiter
des problmes pour lesquels on ne connat pas de mthodes de
rsolution directes et assures.
7
Cours IA Dr W. Chaari
Nature de la discipline
L IA est une science : elle cherche dcouvrir le rel, les
mcanismes de raisonnement et de comprhension.

Interprter, dduire, gnraliser, apprendre,

L IA est une technique : elle exploite les possibilits du rel, les
chercheurs en IA font de l ingnierie de la machine intelligente.

Dmontrer un thorme, diagnostiquer une maladie ou
une dfaillance dans un quipement, planifier la ralisation
d une tche complexe, analyser une image et identifier
son contenu, piloter un robot dans un univers inconnu, ...
8
Cours IA Dr W. Chaari
Applications de l IA
Les systmes experts,
La reconnaissance de la parole,
Les interfaces homme-machine,
La vision par ordinateur,
La robotique,
La productique,
Tches assistes par ordinateur : conception, traduction,
enseignement,

9
Cours IA Dr W. Chaari
Reprsentation et rsolution des problmes
Problme des 8 reines
Trouver une configuration de 8 reines sans prise sur un chiquier.
Aucune ligne, colonne, ou diagonale ne doit comporter plus d une
reine.

Approche par transformation de solution potentielle
Partir d une configuration, la tester, si elle ne constitue pas une
solution, la modifier localement, et recommencer.

Approche constructive
Procder chaque tape en plaant une k
e
reine sans prise sur un
chiquier o figurent k-1 reines.
10
Cours IA Dr W. Chaari
Problme des 4 couleurs
Colorer une carte gographique sans que deux pays voisins ne soient
identiquement colors.

Approche par transformation de solution potentielle

Partir d une coloration complte, la tester et modifier localement
si de part et d autre d une frontire on trouve la mme couleur.

Approche constructive
Colorer un k
e
pays, lorsque k-1 le sont dj, en le diffrenciant de
ses voisins dj colors.
11
Cours IA Dr W. Chaari
Plan de voyage
La recherche d un itinraire et d un plan de voyage entre deux points
gographiquement loigns.
S intresser au moyen de quitter le local o l on se trouve !!!

Dcomposition du problme en sous-problmes

Choisir le principal mode de transport et les tapes intermdiaires
qu il impose : changement de continent, ports ou aroports de
dpart et d arrive,

Le mme problme se pose entre le point de dpart et la premire de
ces tapes, que l on peut dcomposer son tour en recherche
d itinraires plus simples ...
12
Cours IA Dr W. Chaari
Tours de Hanoi
On dispose de trois axes verticaux, sur le premier sont empils N
disques par ordre de rayon strictement dcroissant. Le problme
consiste obtenir le mme empilement sur le 3
e
axe en dplaant
les disques un un sans superposer aucun moment un disque sur
un autre plus petit.

Dcomposition en sous-problmes :
- dplacer l empilement des (n-1) plus petits disques de l axe 1
l axe 2;
- dplacer le plus grand disque de l axe 1 l axe 3;
- dplacer l empilement des (n-1) plus petits disques de l axe 2
l axe 3.
13
Cours IA Dr W. Chaari
En rsum deux ingrdients sont ncessaires la mise en uvre
d une procdure constructive de rsolution d un problme :
- un ensemble de moyens de transformation du problme depuis une
situation (initiale ou intermdiaire) en une ou plusieurs autres
situations intermdiaires;
- un ensemble de moyens de test des situations obtenues par rapport
l objectif.

La reprsentation d un problme consiste dfinir formellement ces
ingrdients:
- les tats du problme (situations initiale et intermdiaires);
- l objectif atteindre;
- les oprateurs de transformation que l on choisit.
14
Cours IA Dr W. Chaari
Reprsentation par graphe d tats

On structure l ensemble des tats du problme par un graphe orient.

Un sommet du graphe est un tat du problme.

Il y a un arc du nud u au nud v, ssi on dispose d un oprateur
permettant de transformer l tat u en l tat v.

Pour un mme problme donn plusieurs reprsentations par graphe
d tats sont possibles.


15
Cours IA Dr W. Chaari
Reprsentation par graphe d tats
Les 8 reines

La position des pices sur l chiquier dfinit compltement l tat
du problme.
Description de chaque tat par un tableau :
chiquier(i, j) e {vide, reine} avec i et j entre 1 et 8
Un oprateur est ncessaire :
placer-reine (i, j) :
si chiquier (i, j) = vide alors chiquier (i, j) reine
2 tests compltent la reprsentation du problme :
chiquier-sans-prise : au plus 1 reine par ligne, colonne ou
diagonale.
chiquier-complet : total de 8 reines dans l chiquier.


16
Cours IA Dr W. Chaari
Du nud initial (chiquier vide) partent 64 arcs (diverses faons de
placer une reine).
De chacun des successeurs partent 63 arcs (placer une 2
e
reine)
Ce graphe comporte des cycles (il est possible d atteindre le mme
tat de diverses faons).

1- Une solution au problme est un chemin du graphe reliant le nud
initial un nud quelconque vrifiant les 2 tests.
- Tous les nuds sur un tel chemin doivent vrifier la condition :
chiquier-sans-prise .
- Une grande partie des 2
64
tats de la reprsentation prcdente est
inutile : tout tat avec une reine en prise ou tout successeur d un
tel tat.
17
Cours IA Dr W. Chaari
Il faut inclure le test chiquier-sans-prise dans les conditions
d application de l oprateur placer-reine .

2- Intgrer une partie des contraintes du problme la reprsentation :
La description suivante par un vecteur 8 composantes :
ligne(i) = j si la i

ligne de l chiquier comporte une reine en


colonne j,
et ligne(i) = 0 si cette ligne est vide
ne permet pas de reprsenter un tat de l chiquier avec plus
d une reine par ligne.

Il reste tester l absence de prise en colonne et diagonale.
Ainsi on rduit l espace d tats.

18
Cours IA Dr W. Chaari
Reprsentation par graphe d tats
Gnration de plans

Dans un univers de cubes, un bras articul muni d une pince
permet de saisir un objet, de le dplacer, de le poser sur un plan
de travail ou de l empiler sur d autres objets.

La pince ne peut prendre qu un seul objet la fois, seul un objet
sur lequel rien n est empil peut tre saisi.

Partant d un ensemble d objets dans une configuration initiale,
on dsire obtenir la squence d oprations lmentaires qui
permet de les rarranger dans une configuration donne.

19
Cours IA Dr W. Chaari
On dispose de n objets (numrots de 1 n) :
- accessible (k) e {vrai, faux}
- pos-sur (k) e {plan-de-travail} {1, 2, , n}
- pince-tient e {vide} {1, 2, , n}

L objectif atteindre est donn comme un tat explicite par rapport
auquel on teste l tat courant.

Une solution au problme est un chemin dans le graphe entre le
nud initial et le nud final : le plan recherch est la squence
d oprateurs, tiquetant les arcs de ce chemin.

(voir la partie du graphe d tats)

20
Cours IA Dr W. Chaari
- Saisir (x) : Si pince-tient = vide et accessible (x) = vrai et
pos-sur (x) = plan-de-travail
alors faire : pince-tient x ; accessible (x) faux
Si pince-tient = vide et accessible (x) = vrai et
pos-sur (x) = y et y = plan-de-travail
alors faire : pince-tient x ; accessible (x) faux ;
accessible (y) vrai
- Poser (x) : Si pince-tient = x
alors faire : pos-sur (x) plan-de-travail;
accessible (x) vrai; pince-tient vide
- Poser (x,y) : Si pince-tient = x et accessible (y) = vrai
alors faire : pos-sur (x) y; accessible (y) faux ;
accessible (x) vrai ; pince-tient vide
21
Cours IA Dr W. Chaari
Les oprateurs de modification d tat sont exprims sous forme de
rgles.

La partie condition dtermine si un oprateur est applicable en un
tat u.

La partie action dcrit comment passer de u l tat en lequel u est
transform par la rgle.

Ces transformations sont donnes dans les exemples sous forme
d affectation de valeurs aux variables d tat.
22
Cours IA Dr W. Chaari
Reprsentation par graphe de sous-problmes
Dans cette reprsentation, la notion principale est celle de
dcomposition. L tat initial ou courant est un problme rsoudre.
Une rgle ou un oprateur valide en cet tat, est une dcomposition
possible du problme en plusieurs sous-problmes.
La rsolution du problme initial, ou d un sous-problme
quelconque, ne peut se faire que s il se dcompose en
sous-problmes tous rsolus.
Les tats terminaux sont des problmes trivialement rsolus.
Diffrence :
- Dans la RGE, les oprateurs transforment un tat u en un
seul autre tat v.
- Dans la RGS, les oprateurs transforment un tat u en
plusieurs tats v
1
, , v
k
.

23
Cours IA Dr W. Chaari
Exemple : soient les 7 rgles suivantes :

R
1
a :=> b, c
R
2
d :=> a, e, f
R
3
d :=> a, k
R
4
f :=> i
R
5
f :=> c, j
R
6
d :=> g, h
R
7
k :=> e, l

Le symbole :=> est un oprateur de dcomposition.
La rgle R
2
dit : le problme d se dcompose en les sous-problmes
a , e et f .

24
Cours IA Dr W. Chaari
La dcomposition peut s interprter :
- soit d une faon squentielle : l ordre de rsolution des
sous-problmes doit tre celui indiqu par la rgle de
dcomposition ;
- soit avec un niveau de paralllisme : l ordre de rsolution
des sous-problmes n est pas contraignant.

Admettons que l ensemble des sous-problmes terminaux soit
T = {b, c, e, j, l} et que l on cherche rsoudre le problme
initial d .

Construction du graphe ET/OU.

25
Cours IA Dr W. Chaari
D un nud associ un problme p partent autant d arcs qu il y
a de rgles valides pour p.

Chacun de ces arcs est tiquet par le nom de la rgle Ri
correspondante.

Les arcs relis par un double trait signifient que tous les
sous-problmes auxquels ils mnent doivent tre rsolus pour que
p le soit.

On parle de graphe ET/OU, dans la mesure o il possde deux
types de nuds :
- OU (disjonction sur les rgles valides pour un problme).
- ET (conjonction sur tous les sous-problmes).

26
Cours IA Dr W. Chaari
Une autre reprsentation fait lconomie des nuds de
dcomposition, on y utilise deux entits :
- des nuds associs des problmes,
- des connecteurs.

Du nud p partent autant de connecteurs qu il y a de rgles
valides en p.

Dans une reprsentation par graphe d tats, une solution au
problme correspond un chemin du graphe.
Ici, une solution au problme sera un sous-graphe particulier.

Les deux solutions possibles.
27
Cours IA Dr W. Chaari
Choix d une bonne reprsentation
Le choix est souvent justifi par rfrence des notions telles que
la caractre naturel d une reprsentation pour un problme.

Le choix d une reprsentation porte surtout sur :
- la manire de modliser le problme rsoudre,
- les donnes prendre en compte,
- la manire d laborer les alternatives,
- la manire d exprimer les contraintes.
Un problme bien pos est moiti rsolu.

En formalisant le processus de rsolution de problmes, l IA a
certainement contribu clarifier le processus de formulation de
problmes.
28
Cours IA Dr W. Chaari
Notion d heuristique
Aprs la phase de choix et de formulation d une reprsentation
d un problme, on aborde celle de sa rsolution.

Chaque tape de la rsolution reposera sur deux oprations-cls :
- l opration de dveloppement des alternatives;
- l opration de choix d une alternative.

Il s agit de dterminer tous les oprateurs qui s appliquent une
situation donne :
si l on se trouve dans l tat (ou sous-problme) u de
l espace de recherche U, on voudra savoir tout ce qu il
est possible de faire partir de l.
29
Cours IA Dr W. Chaari
L existence de plusieurs alternatives choix non dterministe.
Le non-dterminisme correspond l absence d un moyen de
choix irrvocable.

Il faut grer les alternatives chaque tape de rsolution en se
donnant la possibilit de revenir sur les choix dj faits :
complexit.

La tche essentielle d un algorithme de recherche est de prendre
en charge le non-dterminisme :
guider la recherche d une solution en faisant des choix
et en grant les retours sur ces choix tout en vitant
l explosion combinatoire.
30
Cours IA Dr W. Chaari
Une heuristique est un moyen :
- un critre,
- une procdure,
- un ensemble de rgles
destin rduire les alternatives et guider les choix
non-dterministes que doit faire un algorithme de recherche.

Le plus souvent, une heuristique exploite une information
spcifique au problme pos non gnralisable.

Des techniques gnrales d laboration d heuristiques ont pu
tre dgages, elles sont loin d tre formelles.


31
Cours IA Dr W. Chaari
Un problme de navigation

Pour un robot mobile, dterminer le meilleur itinraire pour
atteindre un lieu donn dans un environnement suppos connu.

L environnement est dcompos et modlis sous forme
d un graphe planaire non orient.

Chaque nud u est une zone d espace l intrieur de laquelle
la navigation est un problme trivial.

Deux nuds u et v sont adjacents s il est possible au robot de
passer de la zone u la zone v.


32
Cours IA Dr W. Chaari
C
A
D
E
B
Exemple de navigation dun robot
33
Cours IA Dr W. Chaari
Si le robot se trouve en A et cherche atteindre B : le premier
choix doit se faire entre les alternatives C, D et E.
Pour ne pas faire un choix au hasard :
H
1
: Examiner l alternative correspondant la zone la plus
proche de celle o l on se trouve.
Ide : pour minimiser l itinraire, commencer par
minimiser la premire tape.
H
2
: Simplifions. Admettons un environnement sans contrainte
o le robot peut se dplacer droit au but.
Examiner comme 1
re
alternative la zone la plus proche
vol d oiseau du but (infos mtriques du pb initial).


H
3
: Combiner. On choisit l itinraire minimal, selon lequel
la premire tape s effectuerait dans l environnement
rel et se poursuivrait vol d oiseau.

34
Cours IA Dr W. Chaari
L heuristique est le plus souvent fonde sur une simplification
du problme initial, sur une relaxation des contraintes qui font
que ce problme est difficile.

La simplification la plus grossire fournit en gnral l heuristique
la plus pauvre et la moins efficace pour guider la recherche.

La simplification la plus labore conduit une heuristique plus
complexe valuer. Le compromis est difficile apprcier.

La qualit d une heuristique peut se mesurer en termes de
rduction de la complexit de la recherche :
une heuristique h
1
est prfrable h
2
, si dans tous les
cas h
1
conduit explorer moins d alternatives que h
2
.
35
Cours IA Dr W. Chaari
Stratgies d organisation de la recherche

La difficult essentielle que rsout un algorithme de recherche porte
sur l tape de choix parmi l ensemble des tats connus et
susceptibles d tre dvelopps, de celui qui le sera effectivement.

Ce choix est dtermin par la stratgie d organisation de la
recherche qu utilise l algorithme.

Les principales stratgies procdent en combinant un des 2 types
de dveloppement d tat et un des 3 types d organisation des
alternatives suivants :
36
Cours IA Dr W. Chaari
Stratgies d organisation de la recherche
Dveloppement d tat
A chaque tape, l tat choisi sera
a- compltement dvelopp : tous ses successeurs seront
engendrs et toutes les alternatives issues de cette tape sont
considres pour participer au choix suivant;
b- partiellement dvelopp : on s arrte au premier successeur
engendr, cette tape n a pas t entirement explore, et le
ou les nouveaux tats s ajoutent aux alternatives connues.
Organisation des alternatives (choix de l tat)
L ensemble des alternatives est ordonn sous forme d une pile,
avec trois organisations possibles :
1- dernier rentrant premier sortant (LIFO)
2- premier rentrant premier sortant (FIFO)
3- recherche ordonne (par ordre de cot croissant).

37
Cours IA Dr W. Chaari

1- Dernier rentrant premier sortant (LIFO)
on poursuit la recherche sur la dernire alternative en date
trouve.

2- Premier rentrant premier sortant (FIFO)
on dveloppe parmi l ensemble des alternatives la premire
en date engendre.

3- Recherche ordonne (par ordre de cot croissant)
l tat choisi sera celui pour lequel la fonction d valuation
de cot est minimale.


38
Cours IA Dr W. Chaari
Les algorithmes utilisant des dveloppements de type (a) sont les plus
dcrits dans la littrature.
Les algorithmes rencontrs dans les SBR reposent le plus souvent sur
des dveloppements de type (b).
Les organisations de type (1) sont dites recherche en profondeur, car
elles conduisent poursuivre sur un successeur de l tat qui vient
juste d tre dvelopp (simples implanter).
Les organisations de type (2) ne se rencontrent que dans la
formulation (2-a). Elles sont appeles recherche en largeur : tous les
successeurs d un tat seront dvelopps avant qu un de leurs
successeurs ne le soit (moins efficaces, lourdes mettre en uvre).
Les plus intressantes sont les stratgies de type (3) (plus
performantes que les autres).
39
Cours IA Dr W. Chaari
Mthodes de recherche
Chercher

Tout chemin Un chemin optimal Jeux

R. en profondeur Proc. du British Museum MINMAX
R. en prof. ordonne R. heuristique Elagage o - |
R. en largeur Programmation dynamique Approf. prog.
R. en faisceau Procdure A* Elagage h.
R. du meilleur premier Poursuite h.
40
Cours IA Dr W. Chaari
Recherche de chemins
S
A
B
C
D
E
F
G
3
4
4
3
4
2
4
5
5
Trouver un chemin dans un rseau de villes relies par des routes.
Le chemin doit commencer la ville source S et se terminer la
ville but G.
41
Cours IA Dr W. Chaari
Recherche de chemins
La difficult de la recherche d un chemin se mesure 2 niveaux :
- La dcouverte d un chemin (le plus court ou quelconque).
- Le parcours effectif de ce chemin.
Si parcours frquent du chemin entre S et G, trouver un bon chemin.
Si parcours une seule fois et si le rseau est complexe, se satisfaire
du premier chemin venu (des chemins plus efficaces seraient obtenus
en cherchant mieux).
Nous considrons d abord la recherche d un chemin quelconque,
nous prsentons ensuite la recherche de chemins optimaux.
Il faut organiser la recherche selon une technique d archivage
permettant l exploration de tous les chemins possibles suivant un
ordre donn.
Un tel procd doit interdire de dcrire un cycle : S - A - D - S - A -
D - S - A - D, ...
42
Cours IA Dr W. Chaari
Transformer le rseau en arbre
S
A D
B D
C E E
D F B F
G C G
A
E
B B F
C E A C G
F
G
11
14
19 19 17
17
25
15 15 13
43
Cours IA Dr W. Chaari
Transformer le rseau en arbre
On trace tous les chemins possibles dans le rseau, et pour chacun,
on s arrte lorsque le chemin repasse par un point dj explor.
Les connexions entre nuds sont appeles les liens dans un rseau, et
les branches dans un arbre.
S est la racine, un nud pre dont les fils sont A et D, un nud
anctre puisque tous les autres nuds de l arbre sont des descendants.
Les nuds sans fils sont les feuilles.
Les nombres crits sous les feuilles sont les sommes des distances
parcourues.
On dveloppe un nud en explicitant ses descendants. Un nud non
encore dvelopp est dit ouvert; un nud dj dvelopp est dit ferm.
Dans l exemple, le but est atteint par quatre chemins distincts.
44
Cours IA Dr W. Chaari
Recherche en profondeur depth-first search
S
A
B
C E
D
F
G
On slectionne une possibilit
chaque nud pour continuer
la descente jusqu ce qu on
atteigne le but ou une feuille.
Dans ce cas d impasse,
on reprend la recherche
lanctre le plus proche
dont au moins un fils n a pas
encore t explor.
45
Cours IA Dr W. Chaari
Procdure de recherche en profondeur
Pour effectuer une recherche en profondeur l aide d une pile :

1 Empiler la racine.

2 Jusqu ce que la pile soit vide ou que le nud but soit atteint,
dterminer si le sommet de la pile est gal au nud but :

2a Si oui, ne rien faire cette tape.
2b Si non, dpiler le premier lment et empiler ses fils, s il en a,
depuis celui le plus droite jusqu celui le plus gauche.

3 La recherche aboutit si le nud but a t atteint et choue sinon.
46
Cours IA Dr W. Chaari
Procdure de recherche en profondeur
La recherche en profondeur peut conduire vers des chemins
infiniment longs sans succs.
Recherche de hauteur-premire

La hauteur d un nud peut se dfinir ainsi :
1. La hauteur du nud initial est 0.
2. La hauteur d un autre nud vaut 1 de plus que celle de son
prdcesseur.
L arbre d espace d tats peut avoir une hauteur infinie. Pour viter
de prendre en compte des voies trop longues, un maximum de hauteur
est pos l extension des nuds.
Tout nud atteignant cette limite est trait comme n ayant pas de
successeurs.
47
Cours IA Dr W. Chaari
Il s agit d une recherche informe en profondeur d abord.

Lobjectif est damliorer lefficacit dune recherche si lon
dispose dun moyen dexaminer en premier les choix les plus
prometteurs .

On procde comme pour la recherche en profondeur, mais on
ordonne les choix selon une mesure heuristique de la distance
restant parcourir.

Recherche en profondeur ordonne
hill climbing
48
Cours IA Dr W. Chaari
La Distance Euclidienne
(distance vol doiseau)
est un exemple de mesure
heuristique de la distance restant
parcourir depuis un nud.

Les nombres ct des nuds sont les distances qui les sparent
vol doiseau du nud but.

Recherche en profondeur ordonne
S
A D
A
E
B F
G
8,9
10,4
10,4
3,0
6,7
6,9
49
Procdure de recherche en profondeur
ordonne
Pour effectuer une recherche en profondeur ordonne :

1 Empiler la racine.

2 Jusqu ce que la pile soit vide ou que le nud but soit atteint,
dterminer si le sommet de la pile est gal au nud but :

2a Si oui, ne rien faire cette tape.
2b Si non, dpiler le premier lment et empiler ses fils, s il en a,
dans lordre dcroissant de leur distance au but.

3 La recherche aboutit si le nud but a t atteint et choue sinon.
Cours IA Dr W. Chaari
50
Cours IA Dr W. Chaari
Recherche en largeur breath first search
Elle cherche le but souhait parmi tous les nuds dun niveau donn
avant daller consulter leurs fils.
S
A D
B D
C E E
D F B F
A
E
B B F
C E A C G
51
Cours IA Dr W. Chaari
Recherche en largeur breath first search
Le nud D sera essay aussitt aprs le nud A. La procdure va
ainsi continuer, niveau aprs niveau, pour atteindre le nud G au
4
me
niveau de descente compter de la racine.

La procdure de recherche en largeur ressemble celle de la
recherche en profondeur simple :


La diffrence rside dans lendroit dinsertion des nouveaux
lments.
52
Cours IA Dr W. Chaari
Procdure de recherche en largeur
Pour effectuer une recherche en largeur :

1 Mettre la racine en tte de la file.

2 Jusqu ce que la file soit vide ou que le nud but soit atteint,
dterminer si le premier lment de la file est le nud but :

2a Si oui, ne rien faire cette tape.
2b Si non, le retirer de la file et placer ses fils, sil en a, en fin de
file, dans lordre gauche-droite naturel.

3 La recherche aboutit si le nud but a t atteint et choue sinon.
53
Cours IA Dr W. Chaari
Recherche en faisceau beam search
Il s agit d une recherche informe en largeur d abord. La recherche
en faisceau ou recherche rayonne ressemble la recherche en
largeur : elle progresse par niveaux successifs.

Elle nexplore un niveau infrieur qu partir des w meilleurs nuds
chaque niveau et ignore les autres.

Le nombre de nuds explors reste acceptable, mme en cas de
recherche trs profonde ou ramifie.

Si l on utilise une recherche en faisceau de largeur w sur un arbre de
degr b, on n explorera au plus que wb nuds chaque niveau :
nombre infrieur celui auquel conduirait une recherche en largeur
sur le mme arbre.
54
Cours IA Dr W. Chaari
Recherche en faisceau beam search
S
A D 10,4 8,9
1
2
S
A D
B D A E 6,7 8,9 10,4 6,9

w = 2
55
Cours IA Dr W. Chaari
Recherche en faisceau beam search
3
S
A D
B D A E

C E B F 4,0 6,9 6,7 3,0


56
Cours IA Dr W. Chaari
Recherche en faisceau beam search
4
S
A D
B D A E

C E B F


A C G 0,0 10,4

57
Cours IA Dr W. Chaari
Recherche du meilleur premier best first search
Il s agit d une recherche informe du meilleur d abord.

Dans la recherche ordonne, on se dirige vers le fils du nud
courant offrant les meilleures possibilits.

Dans la recherche du meilleur premier, on avance partir du
meilleur nud ouvert cet instant, quel que soit l endroit o il se
situe dans l arbre partiel dvelopp.

Les chemins trouvs lors de la recherche du meilleur premier sont
souvent plus courts que ceux trouvs par d autres mthodes.

La RMP ncessite le tri de toute la file.
58
Cours IA Dr W. Chaari
Procdure de recherche du meilleur premier
Pour effectuer une recherche du meilleur premier :

1 Mettre la racine en tte de la file.

2 Jusqu ce que la file soit vide ou que le nud but soit atteint,
dterminer si le premier lment de la file est le nud but :

2a Si oui, ne rien faire cette tape.
2b Si non, le retirer de la file, placer ses fils, s il en a, dans la file,
et trier la file entire par ordre croissant des distances calcules
au but.
3 La recherche aboutit si le nud but a t atteint et choue sinon.
59
Cours IA Dr W. Chaari
Procdure du British Museum
Elle est aussi appele procdure de l numration explicite.

Une technique pour trouver le chemin le plus court dans un rseau
consiste rechercher tous les chemins possibles, puis ne conserver
que le plus court.

Pour trouver tous les chemins possibles, les procdures de recherche
en profondeur ou en largeur conviendrait mais la recherche ne doit pas
s arrter ds que l on a trouv le premier chemin conduisant au but.

Tout va bien tant que la largeur et la profondeur de l arbre restent
raisonnables.

60
Cours IA Dr W. Chaari
La recherche heuristique branch-and-bound
Dans une recherche heuristique, on dveloppe le nud situ la fin
du plus court chemin conduisant un nud ouvert. Il s agit d une
recherche d une solution optimale (de cot uniforme).

Le dveloppement se poursuit jusqu ce qu il existe un chemin
reliant le but de longueur infrieure ou gale celles de tous les
chemins partiels menant des nuds ouverts.

Prenons un exemple simple de rseau (a). En (b) et (c), des arbres de
recherche partiellement dvelopps (les nombres inscrits sont les
distances cumules) :
- En b, mme s il se trouvait un chemin satisfaisant passant
par B, il pourrait en exister un plus court passant par A.
- En c, il n y aurait aucun intrt dvelopper B.

61
Cours IA Dr W. Chaari
La recherche heuristique branch-and-bound
S A G
B
5
2 2
2
B A
S
2 5
G
A B
S
2 5
4
a
b c
62
Cours IA Dr W. Chaari
Procdure de recherche heuristique
Pour effectuer une recherche heuristique :

1 Initialement, la file des chemins partiels contient le chemin d ordre
zro, de longueur nulle et reliant la racine nulle part.

2 Jusqu ce que la file soit vide ou que le nud but soit atteint,
regarder si le premier chemin de la file atteint le but :
2a Si cest le cas, ne rien faire.
2b Si le premier chemin de la file naboutit pas au but :
2b1 Le supprimer de la file.
2b2 Former les nouveaux chemins obtenus en prolongeant
d un niveau le chemin supprim.


63
Cours IA Dr W. Chaari
Procdure de recherche heuristique
2b3 Insrer ces nouveaux chemins dans la file.
2b4 Le cot d un chemin tant gal la somme des distances
dj parcourues sur celui-ci, trier la file par cots
croissants.

3 La recherche aboutit si le nud but a t atteint et choue sinon.
--------------------------
Considrons de nouveau le problme de la carte routire et examinons
le comportement de la recherche heuristique : le cot d un nud j fils
d un nud i est dfini par s
- f(j) = g(i) + c(i, j) g(i)
- g(i) est le cot du trajet reliant le nud initial i. i
- c(i, j) est le cot de l arc reliant i j. c(i, j)
j
64
Cours IA Dr W. Chaari
Procdure de recherche heuristique
S
D A
3 4
S
D A
D B
7 8
4
1
2
...
65
Cours IA Dr W. Chaari
Recherche heuristique et estimations
minorantes
L efficacit de la recherche heuristique peut tre amliore :
si l on utilise d une part des estimations des distances
restant parcourir et d autre part la longueur du chemin
dj parcouru.

Une sous-estimation de la distance restante conduit une
sous-estimation de la longueur totale du chemin :
S(long totale du chemin) = d(dj parcouru) + S(distance restante)

Dans le cas de parcours d un rseau de villes, la distance vol
d oiseau fournit une sous-estimation de la distance relle.
66
Cours IA Dr W. Chaari
Recherche heuristique et estimations
minorantes
S
A D
S
A D
A E 19,4 12,9
13,4
13,4 12,9
1
2
67
Cours IA Dr W. Chaari
Recherche heuristique et estimations
minorantes
S
A D
A E
B
17,7
F
13,0
19,4
13,4
3
Les nombres inscrits ct des
nuds reprsentent la somme de
la distance parcourue et d un
minorant de la distance restante.
On dveloppe moins de nuds ...
68
Cours IA Dr W. Chaari
Recherche heuristique et estimations
minorantes
S
A D
A E
B
17,7
F
13,0
19,4
13,4
4
G
12,9
12,9
13,0
69
Cours IA Dr W. Chaari
Procdure de recherche heuristique
avec minoration
Pour effectuer une recherche heuristique avec minoration :

...

2b4 Le cot de chaque chemin tant la somme de la distance
dj parcourue et d une estimation minorante de la
distance restant parcourir, trier la file par cots
croissants.

...

70
Cours IA Dr W. Chaari
Recherche heuristique dynamique
Il s agit de supprimer les chemins redondants :
S
D A
D B
7 8
4 3
Prochain nud
dvelopper
Inutile de dvelopper
Les nombres inscrits reprsentent les distances cumules.
71
Cours IA Dr W. Chaari
Recherche heuristique dynamique
1
2
S
A D
3
4
S
A D
B D
7 8

3 4
...
72
Cours IA Dr W. Chaari
Procdure de recherche heuristique
dynamique
Pour effectuer une recherche heuristique par programmation
dynamique :
...

2b4 Le cot de chaque chemin tant la distance dj
parcourue, trier la file par cots croissants.

2b5 Si deux chemins ou plus atteignent le mme nud,
ne conserver que celui ayant la longueur minimale.
...


73
Cours IA Dr W. Chaari
Procdure A*
La procdure A* est une recherche heuristique avec estimation de
la distance restante, combine avec le principe de le programmation
dynamique.

Pour effectuer une procdure A* avec estimation minorante :
...
2b4 Le cot de chaque chemin tant la somme de la distance
dj parcourue et d une estimation minorante de la
distance restant parcourir, trier la file par cots
croissants.
2b5 Si deux chemins ou plus atteignent le mme nud,
ne conserver que celui ayant la longueur minimale.
...
74
Cours IA Dr W. Chaari
Procdure A*
1
2
S
A D
13,4
12,9
S
A D

13,4
...
19,4 12,9
E
A
75
Cours IA Dr W. Chaari
Remarques sur l algorithme A*
L algorithme s intresse au problme de trouver la voie au cot
minimal reliant le nud initial un nud terminal dans un graphe
d espace d tats.

Le caractre distinctif de l algorithme est sa dfinition de la fonction
d valuation f*.

Le nud choisi pour l extension est toujours celui pour lequel f* est
minimum.

f* considre la valeur de chaque nud n comme ayant deux
composantes :
- le cot pour atteindre n partir du nud initial.
- le cot pour atteindre le nud final partir de n.
76
Cours IA Dr W. Chaari
Remarques sur l algorithme A*
Ainsi on a :
f*(n) = g*(n) + h*(n)
g* value le cot minimum d une voie allant du nud initial n.
h* value le cot minimum d une voie allant de n au nud terminal.
Les cots rels sont exprims par f, g et h respectivement.

La fonction f*, applique au nud n considr pour l extension, est
calcule comme le cot rel du nud initial s au nud n le long de la
voie la moins chre trouve jusque-l par l algorithme.

g* peut s garer dans le sens d une surestimation du cot minimal.
h* doit tre non ngatif, et ne jamais surestimer le cot de la voie
allant du nud en cours d valuation au nud terminal
77
Cours IA Dr W. Chaari
Remarques sur l algorithme A*
Ainsi on a :
h*(n) s h(n) condition d admissibilit

Si h* satisfait la condition d admissibilit et que si, tous les cots
d arcs sont positifs et tendent vers un nombre positif,
alors A* garantit de trouver une voie de solution d un cot minimal, si
une voie de solution existe. proprit d admissibilit

Plus h* tendra vers h, mieux s excutera l algorithme.

Deux algorithmes similaires, A
1
et A
2
, peuvent tre compars par
rapport leurs choix de la fonction h*, disons h
1
* et h
2
*.
A
1
est dit mieux inform que A
2
, si lorsqu un nud n est valu,
h
1
* (n) > h
2
*(n).
78
Cours IA Dr W. Chaari
Recherches partir de GSP
Les techniques de recherche d une solution reviennent parcourir
des arbres spciaux ET/OU.

Elles consistent prendre :
- tous les nuds l alternative ET,
- un seul nud l alternative OU.

Les techniques aveugles se rapprochent de celles dj dveloppes.
Les techniques heuristiques se basent sur l algorithme AO*.


79
Cours IA Dr W. Chaari
Principe de l algorithme AO*
Il s agit d un algorithme de recherche heuristique avec une fonction
de cot h(n) dans les graphes ET/OU.
Une solution d un graphe ET/OU est un sous-graphe dmontrant que
le nud de dpart est rsolu.
Le cot d un arbre de solution peut se dfinir par chacune des deux
faons :
- Le cot total d un arbre de solution est la somme de tous les
les cots des arcs dans l arbre.
- Le cot maximum d un arbre de solution est la somme des
cots des arcs situs sur la voie la plus chre de la racine au
nud terminal.
Si l espace de recherche entier a t explor, alors un arbre de
solution optimal peut se construire et son cot se mesurer comme suit.

80
Cours IA Dr W. Chaari
Principe de l algorithme AO*
Soit c(n, m) le cot d un arc allant du nud n un nud successeur
m. Une fonction h(n) se dfinit par :
1. Si n est un nud terminal (pb. primitif), alors h(n)=0.
2. Si n a des successeurs en OU, alors h(n) est le minimum, par
dessus tous ses successeurs m, de c(n, m) + h(m).
3. Si n a des successeurs en ET et si les cots totaux sont
utiliss, alors h(n) est la sommation, par dessus tous les
successeurs m, de c(n, m) + h(m).
4. Si n a des successeurs en ET et si les cots maximums sont
utiliss, alors h(n) est le maximum, par dessus tous les
successeurs m, de c(n, m) + h(m).
5. Si n est un nud non terminal sans successeurs, alors h(n) est
infini.
81
Cours IA Dr W. Chaari
Application de l algorithme
Considrons l arbre ET/OU suivant :
S
A B
t
1
t
2
t
3
C D
u
1
t
4
u
2
E
t
5
t
6

1 2
1 6 2
1 3
1 1 1 2
1 1
t - nud terminal
u - nud insoluble
...
82
Cours IA Dr W. Chaari
Si les cots totaux sont utiliss, les valeurs de h sont telles que
montres sur la figure ci-dessous, et la solution optimale est le
sous-graphe comprenant les nuds : S, B, D, E, t
5
et t
6
.
S
A B
t
1
t
2
t
3
C D
u
1
t
4
u
2
E
t
5
t
6

1 2
1 6 2
1 3
1 1 1 2
1 1
h=9
h=0 h=0
h=2
h=inf h=0 h=inf
h=4 h=inf
h=0 h=0 h=0
h=9
h=7
83
Cours IA Dr W. Chaari
Si les cots maximum sont utiliss, les valeurs de h sont telles que
montres sur la figure ci-dessous, et la solution optimale est le
sous-graphe comprenant les nuds : S, A, t
1
, t
2
et t
3
.
S
A B
t
1
t
2
t
3
C D
u
1
t
4
u
2
E
t
5
t
6

1 2
1 6 2
1 3
1 1 1 2
1 1
h=7
h=0 h=0
h=1
h=inf h=0 h=inf
h=3 h=inf
h=0 h=0 h=0
h=6
h=6
N.B. On peut parler de h*
une estimation de h.
84
Cours IA Dr W. Chaari
Algorithmes de Jeux
+ Jeux avec adversaires et recherches
La nouveaut vient du fait que 2 joueurs, agissant comme des
adversaires, prennent des dcisions tour de rle.

Chaque joueur a une information explicite sur la position de son
adversaire (jeu de dames, jeu d checs, )

Il est absolument hors de question d employer la procdure du
British Museum pour parcourir les arbres de jeu.

La nature combinatoire des jeux rels fait que la gnration complte
d un arbre depuis le nud de dpart vers les nuds terminaux est
irralisable : environ 10
120
nuds (jeu checs) et 10
40
nuds (jeu de
dames).
85
Cours IA Dr W. Chaari
Algorithmes de Jeux
+ Position du problme

La recherche se caractrise par le fait que, contrairement au cas
courant des Systmes de Rsolution de Problmes (SRP), le
planificateur ne dispose pas de la matrise complte de
l enchanement des oprateurs, puisque des dcisions extrieures
lui sont prises (par l adversaire).

Dans le cas du jeu, sur un terrain parfaitement formaliss, deux
planificateurs antagonistes construisent l volution d une situation
avec des objectifs opposs.
86
Cours IA Dr W. Chaari
Algorithmes de Jeux
+ A partir d une situation donne :
Le jeu possible pour un joueur A peut se dvelopper sous forme
d un arbre appel arbre de jeu.

A envisage les coups qu il peut jouer, les rpliques possibles de B
et ses rpliques en retour jusqu un certain niveau de profondeur.

La reprsentation la mieux adapte est celle par Espace d Etats
avec quelques particularits :
1. La reprsentation traduit le point de vue d un des 2 joueurs.
2. Les successeurs d un nud sont les tats qu on peut
atteindre en ralisant un coup autoris par les rgles de jeu.
3. Les joueurs se succdent dans la ralisation des coups du
jeu.
87
Cours IA Dr W. Chaari
Algorithme MINMAX
On suppose que l on dispose d un mode d analyse qui permette de
convertir toutes les apprciations sur les situations du jeu en une
valuation numrique.

On suppose par convention que :
un nombre positif indique un avantage pour l un des joueurs,
un nombre ngatif indique un avantage pour l autre.

La procdure qui dtermine l valuation numrique qualitative est
appele valuation statique (fonction d valuation).

le joueur cherchant obtenir des valeurs positives est appel le
maximiseur. Son adversaire est le minimiseur.
88
Cours IA Dr W. Chaari
Algorithme MINMAX
Si le prochain joueur est le maximiseur, il va chercher un chemin
une valeur positive la plus grande possible, il suppose que son
adversaire va essayer de forcer le jeu vers des situations d valuation
statique fortement ngatives.

Les scores d un niveau donn dterminent laction et le score effectif
au niveau immdiatement suprieur.
Soit l arbre de jeu miniature suivant ...
89
Cours IA Dr W. Chaari
Principe MINMAX
2 7 1 8
a
2 7 1 8
b
2 7 1 8
c
2 1
2 1
2
max
min
max
max
min
max
max
min
max
90
Cours IA Dr W. Chaari
Principe MINMAX
Les valuations statiques aux pseudo-feuilles de l arbre indiquent au
minimiseur qu il peut envisager des scores de 2 et 1 au niveau
immdiatement suprieur celui de ces valuations.

Connaissant ces scores, le maximiseur peut choisir la meilleure faon
qu il a de jouer au niveau encore au-dessus.

Le maximiseur se dplacera de toute vidence vers le branchement
partir duquel le minimiseur ne pourra pas faire mieux que d abaisser
le score 2.

La procdure par laquelle le calcul des scores traverse de niveau en
niveau l arbre de jeu s appelle la procdure MINMAX :
91
Cours IA Dr W. Chaari
Procdure MINMAX
Pour appliquer le principe MINMAX :
1 Dterminer si la limite de recherche a t atteinte, si le niveau de jeu
est minimisant, ou s il est maximisant :

1a Si la limite de recherche a t atteinte, calculer l valuation
statique de la position courante. Conserver le rsultat.

1b Si le niveau de jeu est minimisant, appliquer la procdure
MINMAX aux fils du nud courant. Conserver le minimum
des rsultats trouvs.

1c Sinon, le niveau de jeu est maximisant. Appliquer la procdure
MINMAX aux fils du nud courant. Conserver le maximum des
rsultats trouvs.
92
Cours IA Dr W. Chaari
Remarques sur la Procdure MINMAX
L ide gnrale repose sur la conversion en un nombre unique (la
valeur statique) de la qualit d une situation donne.

La mise en correspondance de la qualit et d une chelle numrique
unique prsente un inconvnient :
un nombre ne donne aucune information sur la manire dont il
a t calcul. C est impos par notre manque de connaissances
sur ce que nous devrions faire.

Le calcul des valeurs statiques cote cher.

Le parcours de l arbre peut se faire selon les stratgies aveugles
de dveloppement dj vues.

93
Cours IA Dr W. Chaari
Algorithme dlagage o-|
L algorithme o - | lague l arbre de jeu. Il s agit d une procdure
qui se charge de rduire tant le nombre de branches de l arbre
dvelopper que celui d valuations ncessaires.


Observons l exemple qui suit ...

94
Cours IA Dr W. Chaari
Principe dlagage o-|
max
min
max
max
min
max
max
min
max
2 7
a
2 7
b
2 7 1
c
= 2
= 2 s 1
= 2
> 2
> 2
95
Cours IA Dr W. Chaari
Principe dlagage o-|
Considrons la figure a o la fonction d valuation a dj fourni des
scores pour les deux premires situations terminales.
L emploi de la procdure MINMAX sur les scores 2 et 7 va
dterminer que le joueur minimiseur est garanti d un score de 2.
Ceci garantit son tour au maximiseur d avoir au moins un score de
2 au dpart (indiqu la racine sur la figure b).
Supposons que la valeur statique du prochain nud terminal soit de 1.
Le minimiseur est sr d avoir un score au moins aussi bon que 1.

Est-il utile de descendre jusqu la situation correspondant au nud
final ? Non. Comme le maximiseur sait qu il est assur d un score
de 2 en passant par la branche gauche, tout ce qu il a besoin de
savoir sur la branche droite est qu il ne peut pas esprer obtenir un
score suprieur 1 en la prenant, sans plus.
96
Cours IA Dr W. Chaari
Principe dlagage o-|
Cette stratgie ncessite l entretien de 2 valeurs :
- une borne infrieure sur la valeur qu un nud maximisant
peut se voir attribuer (o);
- une borne suprieure sur la valeur qu un nud minimisant
peut se voir attribuer (|);

L algorithme dtermine la valeur minmax de la racine de l arbre de
jeu en traversant l arbre dans un ordre prdtermin (de la gauche
vers la droite) sautant tous les nuds qui ne peuvent plus influencer
la valeur minmax de la racine.

Les nuds sauts se trouvant un niveau MAX (resp. MIN), sont
appels des nuds lagus par une coupure o (resp. |).
97
Cours IA Dr W. Chaari
Exemples dlagage o-|
1
2 3
4
5
6
7
max
min
max
min
17
17
27
> 27
|
1
2 3
4 5
max
min
max
15
s 10
10
15 o
98
Cours IA Dr W. Chaari
Les Algorithmes de Jeux et l IA
Certains spcialistes estiment qu part l examen de nombreux
coups et ripostes et l analyse de toutes leurs consquences, bien
peu de savoir est ncessaire pour bien jouer.

Pour d autres, une approche uniquement prvisionnelle ne peut
porter de stratgie de jeu trs subtile;
Pour eux, cette dmarche doit tre complte par une analyse
approfondie des mcanismes de comprhension des situations et de
ractions diffrentes combinaisons de jeu.

Ce qui fait un bon joueur n est pas tellement sa puissance de calcul
mais sa facult choisir les bons coups sans critre fixe mais
dpendant de la situation.
99
Cours IA Dr W. Chaari
Les techniques d Intelligence Artificielle ont donc contribu au
dveloppement de systmes plus performants bass sur :

- Les techniques d apprentissage.
- La gnration de plans.
- Les systmes de production avec des rgles d interprtation
de situations et des rgles d actions.
- La programmation logique.