Les algorithmes de recherche

publicité
Résolution de problèmes en IA:
Les algorithmes de recherche
Salima Hassas
Université Lyon1
Ce cours réutilise les transparents de cours de Mr. Pelligrini (Univ. Genève)
La résolution de problème
Problème
Trouver une application entre l’ensemble des lettres et des chiffres qui vérifie
l’opération
 Représenter le problème
- Ensembles L={S,E,N,D,R,O,M,Y, r1,r2,r3,r4}, C={0,.,9}
SEND
- contraintes (permettant de vérifier l’opération)
MORE
 Etat initial
M O NEY
- D=0,1 ou 2 ou,..9 , E=0, 1, ..,9 etc
- M=1, ou, ..9, idem pour S
- r1, r2, r3, r4= 0 ou 1


Etat final : {M=1, O=0, S=9, R=8, D=7, N=6, E=5, Y=2}
2
La résolution de problème
..
État initial
Espace d’états (du problème)
- Successeur : état suivant
- Actions: Transition entre états
..
État final
Algorithme de recherche : trouver le chemin de l’état initial à l’état final
3
Algorithmes de recherche
Autre exemple: le taquin-8
4
Algorithmes de recherche
Autre exemple: le taquin-8
5
Algorithmes de recherche
6
Algorithmes de recherche


Les algorithmes de recherche de la solution
fournissent des mécanismes de résolution généraux
et efficaces.
Formalisation de la résolution par recherche d’un
problème:



l’état initial : point de départ dans le processus de recherche
l’ensemble d’opérateurs (actions) : transitions d’1 état à
l’autre
l’état solution (final) : le but de la recherche
7
Algorithmes de recherche
• Espaces d’états =
•Abstraction du monde réel
• Décrit par l’état initial et l’ensemble des opérateurs
• Un chemin dans l’espace d’états=
• une suite d’états résultant de l’application valide des opérateurs
• Il peut aussi être décrit par l’état de départ et la séquence
des opérateurs qui a produit la suite d’états
8
Algorithmes de recherche
• Algorithme de recherche : consiste à trouver un chemin qui
part de l’état initial et arrive à l`état final (solution).
• Au cours de l’algorithme, un état parcouru est testé par
une fonction appelée fonction test-but, pour déterminer si
c’est un état solution
• Il peut exister plusieurs chemins menant à l'état solution.
Dans ce cas : déterminer meilleur chemin
(critère de performance) => fonction coût-chemin
• Solution du problème = chemin menant à l`état solution.
⇒ Etat initial + séquence d’opérations valides vers l’état solution
9
Algorithmes de recherche
Plus formellement
10
Algorithmes de recherche
Un algorithme de recherche doit réaliser une exploration de
l’espace d`états d’une manière systématique et contrôlée.
On distingue deux classes d'algorithmes de recherche :
• Algorithmes non informés ou « aveugles » :
==> recherche exhaustive, aucune information concernant
la structure de l’espace d`états pour optimiser la recherche
• Algorithmes informés ou heuristiques =
==> utilisent des sources d`information supplémentaires
==> meilleures performances
11
Algorithmes de recherche
Caractéristiques - critères d’évaluation
• Optimalité – trouver la meilleure solution (cas plusieurs solutions)
• Complétude – garantir de trouver la solution si elle existe
• Complexité en temps – estimation du temps nécessaire pour
résoudre le problème
• Complexité en espace – estimation de l’espace mémoire nécessaire
pour résoudre le problème.
Les deux complexités, en temps et en espace, sont exprimées
comme des fonctions de la dimension du problème.
12
Algorithmes de recherche
Définir un problème de recherche
• Espace d'états
• État initial
• Fonction "successeur »
• Test-solution
• Coût du chemin
13
Algorithmes de recherche
• Espace d'états
– chaque état est une représentation abstraite de
l'environnement
– l'espace d’état est discret
• État initial
• Fonction « successeur »
• Test-solution
• Coût du chemin
14
Algorithmes de recherche
Définir un problème de recherche
• Espace d'états
• Etat initial
– habituellement l’état courant
– parfois un ou plusieurs états hypothétiques
• Fonction "successeur »
• Test-solution
• Coût du chemin
15
Algorithmes de recherche
Définir un problème de recherche
• Espace d'états
• État initial
• Fonction "successeur"
– fonction : [ Etat → sous-ensemble d’états ]
– une représentation abstraite des actions possibles
• Test-solution
• Coût du chemin
16
Algorithmes de recherche
Définir un problème de recherche
• Espace d'états
• État initial
• Fonction "successeur »
• Test-solution
– habituellement une condition à satisfaire
– parfois la description explicite d'un état
• Coût du chemin
17
Algorithmes de recherche
Définir un problème de recherche
• Espace d'états
• État initial
• Fonction "successeur »
• Test-solution
• Coût du chemin
– fonction : [ chemin → nombre positif ]
– habituellement: coût du chemin = somme des coûts de ses étapes
– Ex: # déplacements de la plaquette "vide » (Taquin)
18
Exemple1 : Voyage en Roumanie


En vacance en Roumanie à Arad, L’avion quitte
Bucharest le lendemain
Formulation:

But:


Problème:



être Bucharest
Etats : les différentes villes possibles
Actions: se déplacer d’une ville à une autre
Solution:

Une suite de villes : Arad, Sibiu, Fagars, Bucharest
19
Exemple1 : Voyage en Roumanie
20
Exemple 2: L’aspirateur

Le monde consiste en 2 positions:




pièce gauche, pièce droite
Chaque pièce peut-être poussièreuse
L’aspirateur est dans l’une des 2
pièces
Il y’a au total :


8 états possibles
3 actions possibles: aller à gauche,
aller à droite, aspirer
21
Exemple 2: L’aspirateur

L'aspirateur est dans l'une des 2 pièces

Formulation


But : éliminer toute poussière
Problème:



Etats: les 8 états possibles du problème
Actions: se déplacer à gauche, se déplacer à droite, aspirer
Solution

Être dans l’état 7 ou 8
22
Types de problèmes

Problèmes à état
unique:



Problèmes contingents

Etat exact connu
Effet des actions connu



Problèmes à états
multiples:


Un ensemble parmi
plusieurs ensembles
d’états
Effets des actions
connus

Effet conditionnel des
actions
Perception limitée
Algorithmes plus
complexes nécessitant
de la planification
Problèmes d’exploration



L’exécution révèle les
états
besoin d’expérimenter
pour trouver la solution
Le plus difficile
23
Types de problèmes



Déterministe, totalement observable => problème à
état unique
Déterministe, inaccessible=> problème à états
multiples
Non déterministe, inaccessible=> problème
contingent




Besoin de perception durant l’exécution
Solution à une structure d’arbre
Souvent mélange entre recherche et exécution
Espace d’états inconnu => problème exploratoire
(« online »)
24
Exemple: aspirateur
Etat unique
– état initial: #5
– solution ??
25
Exemple: aspirateur
Etat unique
– état initial: #5
– solution ??
[aller à droite, aspirer]
26
Exemple: aspirateur
Etat unique
– état initial: #5
– solution ??
[aller à droite, aspirer]
Etats multiples
– état initial {1,2,3,4,5,6,7,8}
– aller à droite produit {2,4,6,8}
– solution ??
27
Exemple: aspirateur
Etat unique
– état initial: #5
– solution ??
[aller à droite, aspirer]
Etats multiples
– état initial {1,2,3,4,5,6,7,8}
– aller à droite produit {2,4,6,8}
– solution ??
[aller à droite, aspirer, aller à gauche, aspirer]
28
Exemple: aspirateur
Etat unique
– état initial: #5
– solution ??
[aller à droite, aspirer]
Etats multiples
– état initial {1,2,3,4,5,6,7,8}
– aller à droite produit {2,4,6,8}
– solution ??
[aller à droite, aspirer, aller à gauche, aspirer]
Contingent
– état initial: #5
– perception locale: poussière
– solution ??
29
Exemple: aspirateur
Etat unique
– état initial: #5
– solution ??
[aller à droite, aspirer]
Etats multiples
– état initial {1,2,3,4,5,6,7,8}
– aller à droite produit {2,4,6,8}
– solution ??
[aller à droite, aspirer, aller à gauche, aspirer]
Contingent
– état initial: #5
– perception locale: poussière
– solution ??
[aller à droite, si poussière alors aspirer]
30
Exemple: aspirateur (état unique)
• Etats:
- entiers indiquant la position du robot et de la poussière
(ignorer la quantité de poussière)
• Opérateurs:
- aller à gauche (L), aller à droite (R), aspirer (S), ne rien faire (NoOp)
• Test: plus de poussière nulle part
• Fonction-coût: chaque action coûte 1 unité, (0 pour NoOp)
31
Exemple: Taquin-8
• Etats:
- numéros des positions des plaquettes (ignorer les positions intermédiaires)
• Opérateurs:
- déplacer la case vide à gauche (L), à droite (R), en haut (U), en bas (D)
• Test: état courant = état final
• Fonction-coût: chaque déplacement de la case vide vaut 1,
coût total = nombre total de déplacements de la case vide
• Remarque: solution optimale pour Taquin-n est NP-difficile
32
Exemple: problème des 8 reines
Placer 8 reines sur un échiquier de façon à ce qu'il n'y ait aucune
attaque mutuelle (c.à.d. n'occupe la même ligne, la même colonne ou
la même diagonale)
33
Exemple: problème des 8 reines
1ère formulation
• États: n'importe quel arrangements de 0 à 8 reines sur l'échiquier
• État initial: aucune reine sur l'échiquier
• Fonction "successeur": ajouter une reine sur n'importe quelle case
• Test-solution: 8 reines placées, pas d'attaque.
==> 648 états avec 8 reines
34
Exemple:
problème des 8 reines
2ème formulation
• États: n'importe quel arrangements de k = 0 à 8 reines sur les k
colonnes de gauche de l'échiquier sans attaque
• État initial: aucune reine sur l'échiquier
• Fonction "successeur": ajouter une reine sur n'importe quelle case de
la première colonne vide à partir de la gauche sans qu'elle ne soit
attaquée par les autres reines déjà placées
• Test-solution: 8 reines correctement placées sur l'échiquier.
==> 2,067 états
35
Problèmes réels
• Recherche de parcours
– itinéraires automatiques, guidage routier, planification de routes
aériennes, routage sur les réseaux informatiques, …
• Configuration de circuits VLSI
– placement de millions d'éléments sur un chip déterminant pour le
fonctionnement efficace du circuit
• Robotique
– assemblage automatique, navigation autonome, …
• Planification et ordonnancement
– horaires, organisation de tâches, allocation de ressources, ...
36
Typologie des problèmes de recherche?

Tous les problèmes qui peuvent être décrits par







un ensemble fini d’états,
un ensemble fini d'actions,
un sous-ensemble d’ états initiaux et finaux,
une relation "successeur" définie sur l'ensemble des états et des
actions dans l'ensemble des états,
et une fonction de coût positive.
Principalement les problèmes dont la solution s'exprime en termes
de chemin dans des graphes finis.
Principalement les problèmes dont la solution s'exprime en
termes de chemin dans des graphes finis
37
Algorithmes de recherche aveugles
38
Problème général de recherche
39
Critères d’évaluation
40
Critères d’évaluation
41
Algorithme général de recherche
42
Exemple
43
Concepts de base pour la recherche
44
Etats vs Noeuds
45
Etats vs Noeuds
46
File d’attente
47
Algorithme général de recherche
48
Stratégies de recherche
49
Exemple: taquin-8
50
Exemple: taquin-8
51
Stratégies aveugles
52
Recherche en largeur
53
Recherche en largeur
54
Recherche en largeur (Propriétés)
55
Algorithme de recherche en coût
uniforme
56
Algorithme de recherche en coût
uniforme
57
Algorithme de recherche en coût
uniforme
58
Algorithme de recherche en coût
uniforme
59
Algorithme de recherche en coût
uniforme - Propriétés
60
Algorithme de recherche en Profondeur
61
Algorithme de recherche en Profondeur
62
Algorithme de recherche en profondeur Propriétés
63
Algorithme de recherche en profondeur
limitée
64
Algorithme de recherche en profondeur
limitée - Propriétés
65
Algorithme de recherche par
approfondissement itératif (IDS)
66
Algorithme de recherche par
approfondissement itératif (IDS)
67
Algorithme de recherche par
approfondissement itératif (IDS)
Approfondissement itératif L = 0
68
Algorithme de recherche par
approfondissement itératif (IDS)
Approfondissement itératif L = 1
69
Algorithme de recherche par
approfondissement itératif (IDS)
Approfondissement itératif L = 2
70
Propriétés de la recherche par
approfondissement itératif
71
Algorithme de recherche bidirectionnelle
72
Stratégie bi-directionnelle
73
Propriétés de la recherche bidirectionnelle
74
Comparaison des algorithmes de
recherche aveugles
75
Algorithmes de recherche heuristique
76
Méthodes de recherche heuristique
77
Fonction heuristique
78
Exemples de fonctions heuristiques
79
Best-First search
80
Best-First search
81
Greedy search
82
Exemple 1: voyage en Roumanie
83
Exemple 1: voyage en Roumanie
84
Exemple 2: puzzle-8
85
Exemple 2: puzzle-8
86
Propriétés de Greedy search
87
Greedy search-Commentaires
88
Fonction heuristique admissible
89
Fonction heuristique admissible:
Exemple
90
Algorithme A*
91
Exemple: voyage en Roumanie
92
Exemple: puzzle-8
93
Complétude et optimalité de A*
94
Propriétés de A*
95
Téléchargement