• Aucun résultat trouvé

Intelligence Artificielle Heuristique

N/A
N/A
Protected

Academic year: 2022

Partager "Intelligence Artificielle Heuristique"

Copied!
27
0
0

Texte intégral

(1)

Intelligence Artificielle Heuristique

Bruno Bouzy

http://web.mi.parisdescartes.fr/~bouzy bruno.bouzy@parisdescartes.fr

Licence 3 Informatique

UFR Mathématiques et Informatique

Université Paris Descartes

(2)

Algorithmes et recherches heuristiques

Recherche meilleur d’abord Recherche gloutonne L’algorithme A

Algorithmes de recherche locale

(3)

Algorithmes et recherches heuristiques

Recherche meilleur d’abord Recherche gloutonne L’algorithme A

Algorithmes de recherche locale

(4)

Recherche meilleur d’abord

Rappel: Une strat´egie est d´efinie en choisissant un ordre dans lequel les

´

etats sont d´evelopp´es

Id´ee: Utiliser unefonction d’´evaluationf pour chaque noeud

mesure l’utilit´e d’un noeud

introduction d’unefonction heuristiqueh(n)quiestimele coˆut du chemin le plus court pour se rendre au but

InsertAllins`ere le nœud par ordre d´ecroissant d’utilit´e Cas sp´eciaux:

Recherche gloutonne(un choix n’est jamais remis en cause) A

(5)

Algorithmes et recherches heuristiques

Recherche meilleur d’abord Recherche gloutonne L’algorithme A

Algorithmes de recherche locale

(6)

Recherche gloutonne

Fonction d’´evaluationf(n) =h(n) (heuristique) h(n) : estimation du coˆut denvers l’´etat final

Par exemple,hdd(n) est la distance `a vol d’oiseau entre la villenet Bucharest

Larecherche gloutonned´eveloppe le nœud quiparaˆıt le plus prochede l’´etat final

(7)

Le voyage en Roumanie

Arad Zerind

Timisoara Oradea

Sibiu

Lugoj

Mehadia

Dobreta

Craiova Rimnicu Vilcea

Fagaras

Pitesti

Bucharest

Giurgiu Urziceni

Hirsova

Eforie Vaslui Lasi Neamt

75

118 71

140 151

111

70

75 120

80

146 99

138 97

211

101

90

85 98

80 142

92 87

Ligne droite jusqu’`a Bucharest

Arad 366

Bucharest 0

Craiova 160

Dobreta 242

Eforie 161

Fagaras 176

Giurgiu 77

Hirsova 151

Lasi 226

Lugoj 244

Mehadia 241

Neamt 234

Oradea 380

Pitesti 100

Rimnicu Vilcea 193

Sibiu 253

Timisoara 329

Urziceni 80

Vaslui 199

Zerind 374

(8)

Recherche gloutonne

Compl´etude: Incomplet (peut rester bloqu´e dans des boucles) Exemple : AradZerindArad. . .

Complet si on ajoute un test pour ´eviter les ´etats r´ep´et´es Temps: O(bm)

Une bonne heuristique peut am´eliorer grandement les performances Espace: O(bm) : Garde tous les nœuds en m´emoire

Optimale: Non

(9)

Algorithmes et recherches heuristiques

Recherche meilleur d’abord Recherche gloutonne L’algorithme A

Algorithmes de recherche locale

(10)

Algorithme A

Id´ee: Eviter de d´evelopper des chemins qui sont d´ej`a chers Fonction d’´evaluation: f(n) =g(n) +h(n)

g(n) est lecoˆut de l’´etat initial `a l’´etatn h(n) est lecoˆut estim´e pour atteindre l’´etat final

f(n) est lecoˆut total estim´epour aller de l’´etat initial `a l’´etat final en passant parn

Autilise une heuristiqueadmissible

h(n)h(n) o`uh(n) est le coˆut r´eel pour aller denjusqu’`a l’´etat final Une heuristique admissible ne surestime jamais le coˆut r´eel pour atteindre le but. Elle estoptimiste

Par exemplehddne surestime jamais la vraie distance

Sih(n) = 0 pour toutn, alors Aest ´equivalent `a l’algorithme de Dijkstra de calcul du plus court chemin

Th´eor`eme: Aest optimale

(11)

Le voyage en Roumanie

Arad Zerind

Timisoara Oradea

Sibiu

Lugoj

Mehadia

Dobreta

Craiova Rimnicu Vilcea

Fagaras

Pitesti

Bucharest

Giurgiu Urziceni

Hirsova

Eforie Vaslui Lasi Neamt

75

118 71

140 151

111

70

75 120

80

146 99

138 97

211

101

90

85 98

80 142

92 87

Ligne droite jusqu’`a Bucharest

Arad 366

Bucharest 0

Craiova 160

Dobreta 242

Eforie 161

Fagaras 176

Giurgiu 77

Hirsova 151

Lasi 226

Lugoj 244

Mehadia 241

Neamt 234

Oradea 380

Pitesti 100

Rimnicu Vilcea 193

Sibiu 253

Timisoara 329

Urziceni 80

Vaslui 199

Zerind 374

(12)

Preuve d’optimalit´ e de A

Supposons qu’il y ait un ´etat final non optimalG0 g´en´er´e dans la liste des nœuds `a traiter

Soitnun nœud non d´evelopp´e sur le chemin le plus court vers un ´etat final optimalG

start

n

G G0

f(G0) = g(G0) carh(G0) = 0

> g(G) carG0n’est pas optimale

≥ f(n) carhest admissible

f(G0)>f(n), donc Ane va pas choisirG0

(13)

Algorithme A

Compl´etude: Oui, sauf s’il y a une infinit´e de nœuds tels quef ≤f(G) Temps: exponentielle selon la longueur de la solution

Espace: exponentielle (garde tous les nœuds en m´emoire)

Habituellement, on manque d’espace bien avant de manquer de temps Optimale: Oui

(14)

Que faire si f d´ ecroˆıt?

Avec une heuristique admissible,f peutd´ecroˆıtreau cours du chemin Par exemple, sipest un successeur den, il est possible d’avoir

n

p

g= 4,h= 8,f = 12

g= 5,h= 4,f = 9 On perd de l’information

f(n) = 12, donc le vrai coˆut d’un chemin `a traversnest12 Donc le vrai coˆut d’un chemin `a traverspest aussi12

⇒ Au lieu def(p) =g(p) +h(p), on utilisef(p) =max(g(p) +h(p),f(n))

f ne d´ecroˆıt jamais le long du chemin

(15)

Que faire si f d´ ecroˆıt?

Avec une heuristique admissible,f peutd´ecroˆıtreau cours du chemin Par exemple, sipest un successeur den, il est possible d’avoir

n

p

g= 4,h= 8,f = 12

g= 5,h= 4,f = 9 On perd de l’information

f(n) = 12, donc le vrai coˆut d’un chemin `a traversnest12 Donc le vrai coˆut d’un chemin `a traverspest aussi12

⇒ Au lieu def(p) =g(p) +h(p), on utilisef(p) =max(g(p) +h(p),f(n))

f ne d´ecroˆıt jamais le long du chemin

(16)

Exemple d’heuristiques admissibles: le taquin

h1(n) = le nombre de pi`eces mal plac´ees

h1(S) = 8

h2(n) = la distance de Manhattan totale (la distance de chaque pi`ece entre sa place actuelle et sa position finale en nombre de places)

h(S) = 3 + 1 + 2 + 2 + 2 + 3 + 3 + 2 = 18

(17)

Exemple d’heuristiques admissibles: le taquin

h1(n) = le nombre de pi`eces mal plac´ees

h1(S) = 8

h2(n) = la distance de Manhattan totale (la distance de chaque pi`ece entre sa place actuelle et sa position finale en nombre de places)

h2(S) = 3 + 1 + 2 + 2 + 2 + 3 + 3 + 2 = 18

(18)

Exemple d’heuristiques admissibles: le taquin

h1(n) = le nombre de pi`eces mal plac´ees

h1(S) = 8

h2(n) = la distance de Manhattan totale (la distance de chaque pi`ece entre sa place actuelle et sa position finale en nombre de places)

h(S) = 3 + 1 + 2 + 2 + 2 + 3 + 3 + 2 = 18

(19)

Exemple d’heuristiques admissibles: le taquin

h1(n) = le nombre de pi`eces mal plac´ees

h1(S) = 8

h2(n) = la distance de Manhattan totale (la distance de chaque pi`ece entre sa place actuelle et sa position finale en nombre de places)

h2(S) = 3 + 1 + 2 + 2 + 2 + 3 + 3 + 2 = 18

(20)

Dominance

h1domineh2sih1eth2sont admissibles et queh1(n)≥h2(n) pour toutn h1est alors meilleure pour la recherche

Exemple :

d = 12 IDS: 3,644,035 nœuds A(h1): 227 nœuds A(h2): 73 nœuds d = 24 IDS: trop de nœuds

A(h1): 39,135 nœuds A(h2): 1,641 nœuds

(21)

Comment trouver des heuristiques ad- missibles?

Consid´erer uneversion simplifi´ee du probl`eme

Le coˆut exact d’une solution optimale du probl`eme simplifi´e est une heuristique admissible pour le probl`eme original

Exemple : simplification des r`egles du taquin une pi`ece peut ˆetre d´eplac´ee partout

h1(n) donne la plus petite solution

une pi`ece peut ˆetre d´eplac´ee vers toutes les places adjacentes

h2(n) donne la plus petite solution

(22)

Algorithmes et recherches heuristiques

Recherche meilleur d’abord Recherche gloutonne L’algorithme A

Algorithmes de recherche locale

(23)

Algorithmes de recherche locale

Dans de nombreux probl`emes d’optimisation, le chemin qui m`ene vers une solution n’est pas important

L’´etat lui-mˆemeest la solution

Id´ee : Modifier l’´etat en l’am´eliorant au fur et `a mesure Espace d’´etats : ensemble des configurations possible des ´etats Besoin de d´efinir une fonction qui mesure l’utilit´e d’un ´etat

(24)

Exemple : les n reines

Placernreines sur un plateau de taillen×n, sans que deux reines se trouvent sur la mˆeme ligne, colonne ou diagonale

D´eplacer une reine pour r´eduire le nombre de conflits

h = 5 h = 2 h = 0

(25)

Algorithmes de recherche locale

On cherche un maximum global

current state objective function

state space global maximum

local maximum

"flat" local maximum shoulder

(26)

Algorithmes de recherche locale

Algorithme d’ascension du gradient:

(27)

Algorithmes de recherche locale

On peut aussi consid´erer la descente du gradient On peut ˆetre bloqu´e dans un maximum local Probl`eme : les plateaux

Solution : on admet des mouvements de cˆot´e

Références

Documents relatifs

On en d´eduit que P admet une racine multiple si et seulement si les polynˆomes P et P ′ admettent une racine complexe commune c’est-`a-dire ne sont pas premiers entre eux ce

Un individu se pr´ esente au d´ epistage et la r´ eponse du test est n´ egative: quelle est la probabilit´ e que cette personne ne soit pas contamin´ ee.. Un individu se pr´ esente

Je suis un entier égal au produit de six nombres premiers distincts. La somme de mon inverse et des inverses de mes six facteurs premiers est égale

Par convention, dans la suite, si deux points S, T sont sur un mˆ eme cercle C, la notation (ST ) d´ esigne comme d’habitude la droite passant par S et T si ces deux points

[r]

Il existe donc une relation hautement significative entre le niveau de revenu et la propoension moyenne ` a ´ epargner (le coefficient de corr´ elation entre les deux variables

Compte tenu de la taille de l’´ echantillon, et sous r´ eserve de plus ample information sur la constitution de l’´ echantillon, la diff´ erence observ´ ee permet de

Dans le cas o` u λ 1 = λ 2 = λ, le temps moyen d’attente 1/(2λ) du premier bus arriv´e parmi deux hh bus exponentiels ii ind´ependants de param`etre λ est la moiti´e du