Applied Mathematics">
03 IA Heuristique
03 IA Heuristique
03 IA Heuristique
Elise Bonzon
http://web.mi.parisdescartes.fr/vbonzon/
elise.bonzon@mi.parisdescartes.fr
Licence 3 Informatique
UFR Mathématiques et Informatique
Université Paris Descartes
Intelligence artificielle
1 / 23
N
Algorithmes et recherches heuristiques
Intelligence artificielle
2 / 23
N
Algorithmes et recherches heuristiques
Intelligence artificielle
3 / 23
N
Algorithmes et recherches heuristiques
Rappel : Une stratégie est définie en choisissant un ordre dans lequel les
états sont développés
Idée : Utiliser une fonction d’évaluation f pour chaque noeud
→ mesure l’utilité d’un noeud
→ introduction d’une fonction heuristique h(n) qui estime le coût du chemin
le plus court pour se rendre au but
InsertAll insère le nœud par ordre décroissant d’utilité
Cas spéciaux :
Recherche gloutonne (un choix n’est jamais remis en cause)
A∗
Intelligence artificielle
4 / 23
N
Algorithmes et recherches heuristiques
Intelligence artificielle
5 / 23
N
Algorithmes et recherches heuristiques
Recherche gloutonne
Intelligence artificielle
6 / 23
N
Algorithmes et recherches heuristiques
Le voyage en Roumanie
Intelligence artificielle
7 / 23
N
Algorithmes et recherches heuristiques
Recherche gloutonne
Intelligence artificielle
8 / 23
N
Algorithmes et recherches heuristiques
Intelligence artificielle
9 / 23
N
Algorithmes et recherches heuristiques
Algorithme A∗
Intelligence artificielle
10 / 23
N
Algorithmes et recherches heuristiques
Le voyage en Roumanie
Intelligence artificielle
11 / 23
N
Algorithmes et recherches heuristiques
Preuve d’optimalité de A∗
Supposons qu’il y ait un état final non optimal G 0 généré dans la liste des
nœuds à traiter
Soit n un nœud non développé sur le chemin le plus court vers un état
final optimal G
start
f (G 0 ) = g (G 0 ) car h(G 0 ) = 0
> g (G ) car G 0 n’est pas optimale
n ≥ f (n) car h est admissible
G G0
Intelligence artificielle
12 / 23
N
Algorithmes et recherches heuristiques
Algorithme A∗
Intelligence artificielle
13 / 23
N
Algorithmes et recherches heuristiques
n g = 4, h = 8, f = 12
p g = 5, h = 4, f = 9
On perd de l’information
f (n) = 12, donc le vrai coût d’un chemin à travers n est ≥ 12
Donc le vrai coût d’un chemin à travers p est aussi ≥ 12
⇒ Au lieu de f (p) = g (p) + h(p), on utilise f (p) = max(g (p) + h(p), f (n))
→ f ne décroı̂t jamais le long du chemin
Intelligence artificielle
14 / 23
N
Algorithmes et recherches heuristiques
n g = 4, h = 8, f = 12
p g = 5, h = 4, f = 9
On perd de l’information
f (n) = 12, donc le vrai coût d’un chemin à travers n est ≥ 12
Donc le vrai coût d’un chemin à travers p est aussi ≥ 12
⇒ Au lieu de f (p) = g (p) + h(p), on utilise f (p) = max(g (p) + h(p), f (n))
→ f ne décroı̂t jamais le long du chemin
Intelligence artificielle
14 / 23
N
Algorithmes et recherches heuristiques
Intelligence artificielle
15 / 23
N
Algorithmes et recherches heuristiques
Intelligence artificielle
15 / 23
N
Algorithmes et recherches heuristiques
Intelligence artificielle
15 / 23
N
Algorithmes et recherches heuristiques
Intelligence artificielle
15 / 23
N
Algorithmes et recherches heuristiques
Dominance
Intelligence artificielle
16 / 23
N
Algorithmes et recherches heuristiques
Intelligence artificielle
17 / 23
N
Algorithmes et recherches heuristiques
Intelligence artificielle
18 / 23
N
Algorithmes et recherches heuristiques
Intelligence artificielle
19 / 23
N
Algorithmes et recherches heuristiques
Intelligence artificielle
20 / 23
N
Algorithmes et recherches heuristiques
shoulder
local maximum
"flat" local maximum
state space
current
state
Intelligence artificielle
21 / 23
N
Algorithmes et recherches heuristiques
Intelligence artificielle
22 / 23
N
Algorithmes et recherches heuristiques
Intelligence artificielle
23 / 23
N