• Aucun résultat trouvé

IFT 702 – Planification en intelligence artificielle

N/A
N/A
Protected

Academic year: 2022

Partager "IFT 702 – Planification en intelligence artificielle"

Copied!
14
0
0

Texte intégral

(1)

IFT 702 – Planification en intelligence artificielle

Planification par recherche heuristique dans un espace d’états

Froduald Kabanza

Département d’informatique Université de Sherbrooke

planiart.usherbrooke.ca/cours/ift608

(2)

Contenu

• Rappels

• Architecture d’un planificateur utilisant comme solveur une recherche dans un espace d’états

• Langage de modélisation STRIPS et transformation

correspondante pour un solveur par recherche dans un espace d’états

• Langage de modélisation PDDL transformation

correspondante pour un solveur par recherche dans un

espace d’états

(3)

Rappel – un planificateur est un solveur de modèle

observations buts

action

World

Exécution de l’action

Plan Planificateur

Modèle d’actions, capteurs et buts

observations buts

IFT608/IFT702 3

(4)

Rappel – Hypothèses sur le domaine

Les hypothèses du domaine à considérer sont:

Un seul agent au lieu plusieurs agents

Déterministe au lieu de stochastique

Complétement observable au lieu de partiellement observable

Séquencement d’actions ayant des liens de causalité

Un algorithme défini avec ces hypothèse peut dans une certaine mesure être appliqué dans un environnement ne satisfaisant pas les deux premières

hypothèses:

Un planificateur déterministe centralisé peut planifier pour plusieurs agents

L’incertitude est géré par l’architecture décisionnelle en re-planifiant

(5)

Architecture générale d’un planificateur opérant par recherche dans un espace d’états

Modèle (actions, buts)

Fonction de transition

Recherche heuristique dans un graphe d’états

Plan (Séquence d’actions) État initial But

Le modèle ne décrit pas les capteurs puisque l’environnement est déterministe.

Le modèle est transformé en fonction de transition pour un graphe d’états.

IFT608/IFT702 5

(6)

Un robot doit empiler des blocs dans une configuration indiquée.

C’est une version simplifiée d’un robot de manipulation de conteneurs dans un port.

Exemple 1: Monde des blocs

(7)

Exemple 2: Livraison de colis

Un robot doit recevoir des commandes de livraisons de colis et les exécuter.

r1 (chambre) r2 (chambre)

c1 (corridor)

r4 (cuisine) r3 (s. bain)

c2 (corridor) Colis 1

Colis 2

d11 d12 d23 d24

(8)

Exemple 1 : Empiler des blocs

Étant donné un modèle d’actions primitives (prendre un block, relâcher un bloc, etc.), trouver un plan pour attendre le but.

Le problème est transformé en un problème de trouver un chemin dans un graphe dirigé.

(9)

Exemple 2 : Livrer des colis

Étant donné un modèle d’actions primitives (prendre un colis, relâcher un bloc, se déplacer d’une pièce à l’autre), trouver un plan pour attendre le but.

Le problème est transformé en un problème de trouver un chemin dans un graphe dirigé.

r1 r2 r3 r4

r5 r6

r1 r2 r3 r4

r5 r6

État initial But

robot

IFT608/IFT702 9

(10)

Take(…)

Goto(…)

… … … …

… …

(11)

Rappel - Comment trouver un chemin dans un graphe?

Non informé: Largeur, profondeur, iterative deepening, Dijkstra, etc.

Ces algorithmes ne sont pas efficaces pour des problèmes qui nous intéressent. Ils n’ont aucun sens de direction.

Le sens de direction est donné par une fonction heuristique.

Recherche heuristique dans un graphe

Best-first: (f(x) = α*g(x) + β*h(x))

o

α = 0: algorithme glouton (greedy)

o

β = 0: uniform-cost

o

α = β: A*

Défi: trouver une fonction heuristique h(x)

IFT608/IFT702 11

(12)

IFT 615 (Recherche heuristique globale)

Prérequis IFT615

(13)

IFT608/IFT702 13

Voir IFT 615 (Recherche heuristique globale)

A* est une extension de l’algorithme de Dijkstra

Utilisé pour trouver un chemin optimal dans un graphe via l’ajout d’une heuristique

Une heuristique h(n) est une fonction d’estimation du coût entre un nœud n d’un graphe et le but (le nœud à atteindre)

L’heuristique donne un sens de direction à l’exploration de l’espace d’états.

Le temps de calcul de A* et la qualité de la solution (proximité à la solution optimale) dépendent beaucoup de la qualité de l’heuristique.

Rappel - Recherche heuristique

(14)

Entrée de A*

État initial (l’état courant)

État final (le but)

Fonction de transition : successeur(état, action)

Fonction de cout : cout(état,successeur)

Fonction heuristique: h(état)

Sortie: chemin entre l’état initial et l’état final. Le chemin est optimal si l’heuristique est admissible.

Les fonctions sont définies une seule fois pour un domaine. Elles

définissent le domaine. L’état initial et le but spécifie un problème dans le domaine.

Rappel - Algorithme A* (IFT 615)

Références

Documents relatifs

• Pour l’instant, le seul avantage perceptible d’avoir un modèle PDDL (au lieu d’une fonction de transitions normale) est de représenter la fonction de transition de

• Pour l’instant, le seul avantage perceptible d’avoir un modèle PDDL (au lieu d’une fonction de transitions normale) est de représenter la fonction de transition de

• Expliquer comme est heuristique pour une recherche dans un espace d’états est défini à partir d’un graphe de planification relaxé en ignorant les delete-lists. IFT608/IFT702

 Pour des problèmes avec des contraintes binaires (c-à-d., entre deux variables), on peut visualiser le problème CSP par un graphe de contraintes.  Un graphe de contraintes est

3- Ne cessant d’améliorer notre commande, nous avons constaté qu’un phénomène d’oscillation de l’eau autour d’un niveau provoque de nombreux démarrage et arrêt

On décompose le volume du liquide en rotation en couronnes cylindriques de rayon r, d’épaisseur dr et de hauteur z(r). Exprimer le volume dV d’une telle couronne. En supposant que

Elle est d’autant plus importante que la masse de la charge est grande et s’oppose à la mise en mouvement. Elle est caractérisée par le moment d’inertie J, qui s’exprime en

Ils sont ensuite émis sans vitesse par la source S, puis accélérés par un champ électrostatique uniforme qui règne entre S et P tel que.. U sp