Vous êtes sur la page 1sur 10

Plan

„ Agent de résolution de problèmes


Résolution de problèmes „ Formulation de problèmes
par l’exploration „ Stratégies d’exploration
… Exploration non informée
„ Largeur d’abord, profondeur d’abord, etc.
IFT-17587
… Exploration informée
Concepts avancés pour systèmes intelligents
Luc Lamontagne „ Meilleur d’abord, A*, recuit simulé, algorithmes génétiques, etc.

1 2

Agent basé sur les buts :


Rappel - Agent basé sur les buts Agent de résolution de problèmes
Capteurs
Agent 1. Formulation d’un but:
z Un ensemble d’états à atteindre.
Environnement

État Comment le monde

Comment le monde évolue?


est maintenant? 2. Formulation du problème:
z Les états et les actions à considérer.
Comment sera le monde
Quel est l’impact de mes actions?
si je fais l’action A? 3. Exploration de solution:
z Examiner les différentes séquences d’actions
Buts
Quelle action dois-je menant à un état but;
faire maintenant?
z Et choisir la meilleure.
Effecteurs 4. Exécution:
z Accomplir la séquence d’actions sélectionnées.
Goal-based agent

3 4

1
Agent basé sur les buts : Exemple de formulation de problèmes :
Agent de résolution de problèmes Planification de route

5 6

Exemple de formulation de problèmes :

Planification de route Formulation d’un problème


„ On est à Arad et on veut aller à Bucharest „ État initial
… But : … L’état x dans lequel se trouve l’agent
„ Être à Bucharest „ Par ex. x = À(Arad)
… Problème: „ Actions
„ États : villes … Une fonction successeur S(x) qui permet de trouver l’ensemble des
„ Actions : aller d’une ville à une autre. états adjacents (action, état_successeur)
… Solution : … Par ex. S(Arad) = { (AllerÀ(Sibiu), À(Sibiu)) , (AllerÀ(Zerind), À(Zerind)) ...}
„ Une séquence de villes. „ Test de but
„ Par ex. Arad, Sibiu, Fagaras, Bucharest … Un test afin de déterminer si le but est atteint
… Coût : „ Par ex. x = À(Bucharest)
„ Distance entre les deux villes (en km)
„ Coût du chemin
„ Environnement simple … Une fonction qui assigne un coût à un chemin.
… statique, observable, discret et déterministe … Elle reflète la mesure de performance de l’agent.
… La valeur est non-négative.

7 8

2
Exemple de formulation de problèmes : Exemple de formulation de problèmes :

8-puzzle 8-reines
5 7 3
„ États : „ États
1 … Une configuration de 0 à 8 reines sur
… Positions des huit tuiles dans les cases. 8
l’échiquier.
„ État initial : „ État initial
4 2 6
… Les huit tuiles dans n’importe quelle case. … Aucune reine sur l’échiquier.
„ Actions : État initial „ Actions
… Déplacement du trou … Ajouter une reine sur une case vide.
„ droite, gauche, haut, bas.
1 2 3 „ Test de but
„ Test de but : … Les 8 reines sont placés sur
… Un état qui correspond à l’état final. 4 5 6 l’échiquier sans attaque.
„ Coût : „ Coût
… Chaque action coûte 1. 7 8 … Chaque action coûte 1 (sans intérêt!).
État but

9 10

Exploration de solutions dans un arbre Exemple d’exploration dans un arbre

„ Simuler l’exploration de l’espace d’états en générant des


successeurs pour les états déjà explorés.
… Exploration simulée et offline

11 12

3
Exemple d’exploration dans un arbre Exemple d’exploration dans un arbre

13 14

Exploration dans un arbre :


Exploration de solutions dans un arbre
Mise en oeuvre
„ Simuler l’exploration de l’espace d’états en générant des
successeurs pour les états déjà explorés.
„ Nœud de recherche
… État: l’état dans l’espace d’état.
… Nœud parent: Le nœud dans l’arbre de recherche qui a généré ce
nœud.
… Action: L’action qui a été appliquée au parent pour générer ce nœud.
… Coût du chemin: Le coût g(n) du chemin à partir de l’état initial jusqu’à
ce nœud.
… Profondeur: Le nombre d’étapes dans le chemin à partir de l’état initial.

15 16

4
Stratégies d’exploration Évaluation des stratégies
„ Détermine l’ordre de développement des nœuds. „ Complétude:
„ Explorations non informées … Est-ce que l’algorithme garantit de trouver une
… Aucune information additionnelle. solution s’il y en a une?
… Elles ne peuvent pas dire si un nœud est meilleur qu’un autre.
… Elles peuvent seulement dire si l’état est un but ou non.
„ Optimalité:
… Est-ce que la stratégie trouve la solution optimale?
„ Explorations informées (heuristiques):
… Elles peuvent estimer si un nœud est plus prometteur qu’un „ Complexité en temps:
autre. … Combien de temps pour trouver une solution?
„ Complexité en espace:
… Quelle quantité de mémoire a-t-on besoin?

17 18

Complexité Stratégies d’exploration non informées

„ Elle est exprimée en utilisant les quantités suivantes „ Largeur d’abord (Breath-first - BFS)
… B : le facteur de branchement
„ c.-à-d. le nombre maximum de successeurs à un nœud. „ Coût uniforme (Uniform-cost - UFS)
… D : la profondeur du nœud but le moins éloigné.
… M : la longueur maximale d’un chemin dans l’espace d’états. „ Profondeur d’abord (Depth-first - DFS)
„ Complexité en temps „ Profondeur limitée (Depth-limited - DLS)
… le nombre de nœuds générés pendant la recherche.
„ Complexité en espace „ Itérative en profondeur (Iterative deepening - IDS)
… le nombre maximum de nœud en mémoire. „ Bidirectionnelle (Bidirectional search)

19 20

5
Largeur d’abord (BFS) Exemple largeur d’abord
„ Approche A
File:
… Développer tous les noeuds au niveau i
… Développer par la suite tous les nœuds au niveau i+1 B C B C D E F G
… Et ainsi de suite…

„ Implémenté à l’aide d’une file. D E F G


… Les nouveaux successeurs vont à la fin.

Ordre de visite: A – B – C – D – E – F - G
21 22

Propriétés de largeur d’abord Coût uniforme (UCS)


„ Complétude : oui, si b est fini
„ Complexité en temps : O(bd+1) „ Développe le nœud ayant le coût le plus faible.
… 1 + b + b2 + b3 + … + bd + (bd+1 – b) = O(bd+1) … g(n) := coût du nœud initial au nœud développé.
„ Complexité en espace : O(bd+1)
… Garde tous les nœuds en mémoire „ File triée selon le coût.
„ Optimal : non en général.
… Oui si le coût des actions est le même pour toutes les actions „ Si le coût des actions est toujours le même
Profondeur Nœuds Temps Mémoire … Équivalent à largeur d’abord !
(b=10) (10 000 nœuds/sec) (1000 octets/ nœuds)
8 109 31 heures 1 teraoctet
12 1013 35 ans 10 pétaoctets

23 24

6
Coût uniforme Profondeur d’abord (DFS)
„ Complète : oui, si le coût > ε „ Développe le nœud le plus profond.
„ Complexité en temps :
nombre de nœuds avec g(n) ≤ coût(solution optimale) „ Implémenté à l’aide d’un pile.
… Les nouveaux nœuds générés vont sur le
où C* est le coût de la solution optimale.
dessus.
„ Complexité en espace : même que celle en temps
„ Optimal : oui
… Les nœuds sont développés en ordre de g(n).

25 26

Exemple profondeur d’abord Propriétés de profondeur d’abord


„ Complétude :
A
Pile: … Non si la profondeur est infinie, s’il y a des cycles.
… Oui,si on évite les états répétés ou si l’espace de
B C recherche est fini.
„ Complexité en temps : O(bm)
H … Trèsmauvais si m est plus grand que d.
D E … Maissi les solutions sont denses, il peut être
D
JI beaucoup plus rapide que largeur d’abord.
„ Complexité en espace : O(bm), linéaire
H I J K B
E
K „ Optimal : Non
Ordre de visite: A – B – D – H – I – E – J – K - C C
27 28

7
Profondeur limitée (DLS) Exemple profondeur limité
Limite l = 2
„ L’algorithme de profondeur d’abord, mais avec A
Pile:
une limite de l sur la profondeur.
… Les nœuds de profondeur l n’ont pas de successeurs. B C
„ Complétude : Seulement si l > d
„ Complexité en temps : O(bl)
D E
„ Complexité en espace : O(bl), linéaire D

„ Optimal : Non! H I J K B
E

Ordre de visite: A – B – D – E - C C
29 30

Itérative en profondeur (IDS) Exemple - itérative en profondeur


12 5 2 1 A Limite: 3
0
1
2
„ Profondeur limitée, mais en essayant toutes les
profondeurs: 0, 1, 2, 3, … 20 9 4
13 6 3 B C
„ Évite le problème de trouver une limite pour la
recherche profondeur limitée.
14 7 D 17 8 E 21 10 F 24 11 G
„ A les avantages de largeur d’abord (complète et
optimale),
… Mais a la complexité en espace de profondeur H I J K L M N O
d’abord.
… Donc une combinaison des deux stratégies. 15 16 18 19 22 23 25 26

Ordre de visite: A – A – B – C – A – B – D – E – C – F – G – A – B – D – H – I – E – J –
K–C–F–L–M–G–N–O
31 32

8
Comparaison:
Propriétés itérative en profondeur
Itérative en profondeur et largeur d’abord
„ Complétude: Oui „ Comparaison pour b = 10 et d = 5, avec la solution
„ Complexité en temps: à l’extré
extrémité
mité droite
… (d+1)b0 + db1+ (d-1)b2 + bd = O(bd)
N(IDS) = 6 + 50 + 400 + 3000 + 20 000 + 100 000
„ Complexité en espace: O(bd)
= 132 456 nœ
nœuds
„ Optimal?
… Oui, si le coût de chaque action est de 1. N(BFS) = 1 + 10 + 1000 + 10 000 + 100 000 + 999 990
… Peut être modifiée pour une stratégie de coût = 1 111 101 noeuds
uniforme.

33 34

Recherche bidirectionnelle Propriété bidirectionnelle


„ Recherche simultanée
… Du départ vers le but „ Complétude: Oui
… Et du but vers le départ
… Afin de se rejoindre au milieu. „ Complexité en temps: O(bd/2)
„ Applicable si on peut faire une cherche à partir
du but. „ Complexité en espace: O(bd/2)
„ Besoin d’une vérification efficace de l’existence
d’un nœud commun aux deux arbres „ Optimale: Oui
… Table de hachage.
… Il faut conserver tous les nœuds d’au moins un des
arbres.

35 36

9
Répétition d’états :
Répétition d’états Exploration de type Graph-Search
„ La répétition d’états fait perdre du temps
… Dans le pire cas, la recherche tourne en rond dans
les cycles créés.
„ Détection de répétitions
… Normalementfaite en comparant les nouveaux
nœuds aux nœuds déjà développés.
„ Avant d’éliminer le nouveau nœud
… On doit vérifier s’il est meilleur que le nœud que l’on a
déjà.

37 38

10

Vous aimerez peut-être aussi