SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
Intelligence Artificielle
Planification
Bruno Bouzy
http://web.mi.parisdescartes.fr/~bouzy
bruno.bouzy@parisdescartes.fr
Licence 3 Informatique
UFR Mathématiques et Informatique
Université Paris Descartes
Introduction à la planification
Introduction à la planification
Qu’est ce que la planification?
Langage de représentation STRIPS
Planification dans les espaces d’états
Planification partiellement ordonnée
Conclusion
2 / 35
Intelligence artificielle
N
Introduction à la planification
Introduction à la planification
Qu’est ce que la planification?
Langage de représentation STRIPS
Planification dans les espaces d’états
Planification partiellement ordonnée
Conclusion
3 / 35
Intelligence artificielle
N
Introduction à la planification
Qu’est ce que la planification?
Tâche qui consiste à trouver une séquence d’actions qui réalisera un
objectif
→ systèmes autonomes et adaptables capables de raisonner sur leurs capacités
et les contraintes provenant de l’environnement
Représentation des problèmes de planification : états, actions et objectifs
Description d’un ou plusieurs état(s) initial(aux)
Description d’un ou plusieurs état(s) but(s)
Description d’un ensemble d’actions que l’agent peut effectuer
→ Trouver une séquence d’actions qui mène l’agent de l’état initial à l’état but
4 / 35
Intelligence artificielle
N
Introduction à la planification
Limites des algorithmes de recherche
L’agent peut être submergé par des actions non pertinentes
Les heuristiques et les tests de buts sont inadéquats : il faut trouver des
heuristiques indépendantes du domaine!
Pas d’exploitation de la décomposition du problème
⇒ Nous voulons trouver un langage qui est à la fois
suffisamment expressif pour décrire une grande varieté de problèmes, mais
assez restrictif pour permettre à des algorithmes efficaces d’agir
5 / 35
Intelligence artificielle
N
Introduction à la planification
Limites des algorithmes de recherche
But : Acheter du lait et une perceuse sans fil
Start
A
l
l
e
r
à
l
’
a
n
i
m
a
l
e
r
i
e
Aller à
l’école
Aller au supermarché
Aller au lit
Lire un livre
S’asseoir sur le canapé
E
t
c
.
.
.
Parler au perroquet
Acheter un chien
Aller en cours
Acheter du sucre
Acheter du lait
... Finish
Lire encore
Allumer la télé
Lire un livre
6 / 35
Intelligence artificielle
N
Introduction à la planification
Générer un plan
Etant donné
Une description du monde
Un état initial du monde
Une description du but
Un ensemble d’actions disponibles pour changer le monde
On veut trouver
Une liste d’actions permettant de passer de l’état initial à un état qui
satisfait le but
Représenter les changements
Savoir comment une action modifie le monde
Garder en mémoire les états du monde (a-t’on déjà été dans cet état
avant?)
Pouvoir répondre aux questions à propos des états du mondes potentiels
(qu’est-ce qu’il se passerait si... ?)
7 / 35
Intelligence artificielle
N
Introduction à la planification
Environnements de planification
Les environnements considérés dans la planification classique sont :
Totalement observables
Déterministes
Finis
Statiques - les changements ne sont dûs qu’aux seules actions des agents
Discrets
8 / 35
Intelligence artificielle
N
Introduction à la planification
Applications
Militaire
→ Mission de déminage naval
→ Mission d’hélicoptères de combats
Aérospaciale
→ Deep Space One
→ Prises de vues satellitaires
Robotique indistrielle
→ Ligne d’assemblage, transport
Vie de tous les jours
→ Aspirateur automatique, tondeuse automatique
Informatique
→ Composition de services web
→ Informatique ambiante ⇒ nouvelles applications
9 / 35
Intelligence artificielle
N
Introduction à la planification
Introduction à la planification
Qu’est ce que la planification?
Langage de représentation STRIPS
Planification dans les espaces d’états
Planification partiellement ordonnée
Conclusion
10 / 35
Intelligence artificielle
N
Introduction à la planification
Langage de planification
L’état du monde est décrit par une série de prédicats en logique du
premier ordre
Etat = conjonction de littéraux positifs
Pauvre ∧ Inconnu
A(Avion1, Paris) ∧ A(Avion2, Toulouse)
Les états (litéraux en logique du premier ordre) doivent être sans variable
ni fonction
But = conjonction de littéraux positifs sans variable ni fonction
Représentation des actions :
Nom de l’action + paramètres (ex: Voler(p,from,to))
Pré-conditions : conjonction de littéraux positifs, ce qui doit être vrai pour
pouvoir appliquer l’action
Effet : conjonction de littéraux, ce qui est vrai ou n’est plus vrai une fois
que l’action a été appliquée
11 / 35
Intelligence artificielle
N
Introduction à la planification
Sémantique du langage
Une action est applicable à chaque état qui satisfait les pré-conditions
Logique du premier ordre : un état satisfait les pré-conditions s’il existe
une substitution permettant d’unifier les pré-conditions avec les littéraux
de l’état
Exemple
Etat : A(A1,Orly) ∧ A(A2,Blagnac) ∧ Avion(A1) ∧ Avion(A2) ∧
Aeroport(Orly) ∧ Aeroport(Blagnac)
Pré-conditions : A(x,from) ∧ Avion(x) ∧ Aeroport(from) ∧ Aeroport(to)
Substitution : θ = {x/A1, from/Orly, to/Blagnac}
Substitution 2 : θ = {x/A2, from/Blagnac, to/Orly}
12 / 35
Intelligence artificielle
N
Introduction à la planification
Sémantique du langage
Action a menant d’un état s1 à un état s2
Chaque littéral positif l dans l’effet de a est ajouté à s2
Si l est déjà dans s2 il n’est pas ajouté deux fois
Chaque littéral négatif ¬l dans l’effet de a est supprimé de s2
Si l n’est pas dans s2, rien ne change
Solution d’un problème de planification : séquence d’actions permettant
de mener d’un état initial à un état qui satisfait le but
13 / 35
Intelligence artificielle
N
Introduction à la planification
Le langage STRIPS
STRIPS : Stanford Research Institute Problem Solver (1971)
Préconditions : ensemble des prédicats devant être vrais pour pouvoir
appliquer l’action
Action : nom de l’action et paramètres nécessaires pour appliquer l’action
Effets : modifications des prédicats après l’exécution de l’action
Retraits : prédicats qui étaient vrais et qui sont maintenant faux
Ajouts : prédicats qui étaient faux et qui sont maintenant vrais
Suffisamment expressif pour décrire de nombreux problèmes
Suffisamment restrictif pour être utilisé par des algorithmes efficaces
14 / 35
Intelligence artificielle
N
Introduction à la planification
Exemple : le monde des blocs
L’univers est composé d’un ensemble de blocs cubiques et d’une table
Les blocs sont mobiles, la table est immobile
Un agent déplace les blocs
Un bloc peut être sur la table ou sur un autre bloc
Il ne peut pas y avoir plus d’un bloc sur un autre bloc
La table est assez grande pour que tous les blocs puissent y prendre place
L’ordre des blocs sur l’axe horizontal n’est pas important
15 / 35
Intelligence artificielle
N
Introduction à la planification
Exemple : le monde des blocs
Prédicats :
Bloc(x) : Bloc(A), Bloc(B), Bloc(C), Bloc(D)
Sur(x, y) : Sur(C,B), Sur(B,A)
SurTable(x) : SurTable(A), SurTable(D)
Libre(x) : Libre(C), Libre(D)
L’état du monde est une conjonction de prédicats :
Bloc(A) ∧ Bloc(B) ∧ Bloc(C) ∧ Bloc(D) ∧ Sur(C, B) ∧ Sur(B, A) ∧
SurTable(A) ∧ SurTable(D) ∧ Libre(C) ∧ Libre(D)
16 / 35
Intelligence artificielle
N
Introduction à la planification
Exemple : le monde des blocs
Actions :
Action(Deplacer(b,x,y)
PRECOND : Sur(b,x) ∧ Libre(b) ∧ Libre(y) ∧ Bloc(b) ∧ Bloc(x) ∧ Bloc(y) ∧
(b 6= x) ∧ (b 6= y) ∧ (x 6= y)
EFFET : Sur(b,y) ∧ Libre(x) ∧ ¬ Sur(b,x) ∧ ¬ Libre(y))
Action(DeplacerSurTable(b,x)
PRECOND : Sur(b,x) ∧ Libre(b) ∧ Bloc(b) ∧ Bloc(x) ∧ (b 6= x)
EFFET : Sur(b,Table) ∧ Libre(x) ∧ ¬ Sur(b,x))
Action(DeplacerDeTable(b,x)
PRECOND : Sur(b,Table) ∧ Libre(b) ∧ Libre(x) ∧ Bloc(b) ∧ Bloc(x) ∧ (b 6=
x)
EFFET : ¬ Sur(b,Table) ∧ ¬ Libre(x) ∧ Sur(b,x))
17 / 35
Intelligence artificielle
N
Introduction à la planification
Exemple : le monde des blocs
Etant donné un problème
Etat initial : Bloc(A) ∧ Bloc(B) ∧ Bloc(C) ∧ Bloc(D) ∧ Sur(C, B) ∧
Sur(B, A) ∧ SurTable(A) ∧ SurTable(D) ∧ Libre(C) ∧ Libre(D)
Etat final : Bloc(A) ∧ Bloc(B) ∧ Bloc(C) ∧ Bloc(D) ∧ Sur(A, B) ∧
Sur(C, D) ∧ SurTable(B) ∧ SurTable(D) ∧ Libre(A) ∧ Libre(C)
Planification : trouver un enchainement d’actions permettant de passer de
l’état initial à l’état final
Problème difficile
Plusieurs méthodes de planifications existent
18 / 35
Intelligence artificielle
N
Introduction à la planification
Introduction à la planification
Qu’est ce que la planification?
Langage de représentation STRIPS
Planification dans les espaces d’états
Planification partiellement ordonnée
Conclusion
19 / 35
Intelligence artificielle
N
Introduction à la planification
Planification dans les espaces d’états
Algorithmes les plus simples pour la planification
Algorithmes de recherche dans lesquels l’espace de recherche est un
sous-ensemble de l’espace d’états
Nœud : état du monde
Arc : transition, action
Chemin entre l’état initial et un état satisfaisant le but : plan d’actions
Tou algorithme d’exploration complet (comme par exemple A∗
) est un
algorithme de planification complet
20 / 35
Intelligence artificielle
N
Introduction à la planification
Planification par recherche en chaı̂nage
avant
Procède de l’état initial vers l’état final en utilisant les techniques
d’exploration
Le facteur de branchement est élevé
Toutes les actions applicables sont prises en considération
Nécessité d’heuristiques
Algorithme de recherche en chaı̂nage avant : déterministe
Algorithme de recherche en chaı̂nage avant : correct et complet
21 / 35
Intelligence artificielle
N
Introduction à la planification
Algorithme de recherche en chaı̂nage
avant
Algorithm 1: RechAvant(A, s0, g)
début
si s0 satisfait g alors retourner un plan vide π
sinon
active ← {a|a est une action de A et precond(a) est vrai dans s0}
si active = ∅ alors retourner Echec
sinon
Choisir action a1 ∈ active
s1 ← γ(s0, a1)
π ← RechAvant(A, s1, g)
si π 6= Echec alors retourner a1.π; sinon retourner Echec
fin
22 / 35
Intelligence artificielle
N
Introduction à la planification
Planification par recherche en chaı̂nage
arrière
Procède de l’état final vers l’état initial
Limite le facteur de branchement
Habituellement, le but a peu d’opérateurs applicables
Ne considère que les actions pertinentes
Action pertinente pour le but sous forme conjonctive :
Accomplir l’un des termes de la conjonction
Ne pas annuler un des terme désiré
action consistente
Arrêt lorsqu’on obtient un sous-ensemble de littéraux qui satisfont l’état
initial
Nécessité d’heuristiques pour choisir l’action
Algorithme de recherche en chaı̂nage arrière : correct et complet
23 / 35
Intelligence artificielle
N
Introduction à la planification
Algorithme de recherche en chaı̂nage
avant
Algorithm 2: RechArriere(A, s0, g)
début
si s0 satisfait g alors retourner un plan vide π
sinon
pertinent ← {a|a est une action de A et effet(a) est vrai dans s0}
si pertinent = ∅ alors retourner Echec
sinon
Choisir action a1 ∈ pertinent
s1 ← γ−1
(s0, a1)
π ← RechArriere(A, s1, g)
si π 6= Echec alors retourner π.a1; sinon retourner Echec
fin
24 / 35
Intelligence artificielle
N
Introduction à la planification
Recherche dans les espaces d’états
Recherche avant et arrière : recherche d’un plan totalement ordonné
Séquence d’actions strictement linéaires
Ordre chronologique de planification
Une approche plus souple peut être nécessaire : résoudre différents
sous-buts et combiner les sous-plans
⇒ Planification en ordre partiel
25 / 35
Intelligence artificielle
N
Introduction à la planification
Introduction à la planification
Qu’est ce que la planification?
Langage de représentation STRIPS
Planification dans les espaces d’états
Planification partiellement ordonnée
Conclusion
26 / 35
Intelligence artificielle
N
Introduction à la planification
Planification partiellement ordonnée
Stratégie du moindre engagement (least commitment): se compromettre
uniquement sur les aspects pertinents des actions, en laissant les autres
aspects à plus tard
Un planificateur qui peut placer deux actions dans un plan sans spécifier
laquelle intervient en premier est appelé planificateur en ordre partiel
La solution est présentée comme un graphe d’actions
Linéarisation du plan: le planificateur représente un ordre entre toutes les
étapes
27 / 35
Intelligence artificielle
N
Introduction à la planification
Exemple
Partial Order Plan
Start
Left
Sock
Right
Sock
Left
Shoe
LeftSockOn
Right
Shoe
RightSockOn
Finish
LeftShoeOn, RightShoeOn
Total Order Plans
Start
Left
Sock
Right
Sock
Left
Shoe
Right
Shoe
Finish
Start
Left
Sock
Right
Sock
Left
Shoe
Right
Shoe
Finish
Start
Left
Sock
Right
Sock
Left
Shoe
Right
Shoe
Finish
Start
Left
Sock
Right
Sock
Left
Shoe
Right
Shoe
Finish
Start
Left
Sock
Right
Sock
Left
Shoe
Right
Shoe
Finish
Start
Left
Sock
Right
Sock
Left
Shoe
Right
Shoe
Finish
28 / 35
Intelligence artificielle
N
Introduction à la planification
Composantes d’un plan partiellement
ordonné
Un plan partiellement ordonné est un tuple hA, ≺, B, Li où
A = {a1, . . . , an} est un ensemble d’actions
Un plan vide contient uniquement les actions départ et fin
≺ est un ensemble de contraintes d’ordre entre les actions
Chaque contrainte spécifie le fait qu’une action doit survenir avant une
autre
Si l’action ai doit être exécutée avant aj , on écrira ai ≺ aj
B est un ensemble de contraintes d’instantiation sur les variables de A
L est un ensemble de liens causaux entre les actions, noté ai
p
−→ aj , tels
que
ai , aj ∈ A sont deux actions
ai ≺ aj est une contrainte d’ordre définie dans ≺
Signifie que la proposition p est un effet de a et une précondition de p
29 / 35
Intelligence artificielle
N
Introduction à la planification
Solution d’un plan partiellement or-
donné
Une solution est un plan complet et consistant que l’agent peut accomplir
et qui garantit l’accomplissement du but
Complet : toutes les préconditions sont satisfaites par une action
précédente, et ne sont pas annulées par une autre action
Consistant : Il n’y a pas de cycle dans les contraintes d’ordonnancement, et
pas de conflits entre les liens causaux
30 / 35
Intelligence artificielle
N
Introduction à la planification
Défaut et menace
Une action ak est une menace pour un lien causal ai
p
−→ aj ssi :
ak a un effet ¬q qui est potentiellement incohérent avec p
les contraintes d’ordres ai ≺ ak et ak ≺ aj sont cohérentes avec ≺
les contraintes d’instantiation résultant de l’unification de p et de q sont
cohérentes avec B
Un défaut dans un plan partiellement ordonné est soit
un sous-but, c’est à dire la précondition d’une action de A qui n’est pas
supportée par un lien causal
une menace, c’est à dire une action qui interfère avec un lien causal
31 / 35
Intelligence artificielle
N
Introduction à la planification
Exemple : changer un pneu
Actions :
Action(Sortir(NvPneu,Coffre)
PRECOND : Dans(NvPneu,Coffre)
EFFET : ¬ Dans(NvPneu,Coffre) ∧ Au(NvPneu,Sol)
Action(Retirer(PneuPlat,Essieu)
PRECOND : Sur(PneuPlat,Essieu)
EFFET : ¬ Sur(PneuPlat,Essieu) ∧ Au(PneuPlat,Sol)
Action(Mettre(NvPneu,Essieu)
PRECOND : Au(NvPneu,Sol) ∧ ¬ Sur(PneuPlat,Essieu)
EFFET : Sur(NvPneu,Essieu) ∧ ¬ Au(NvPneu,Sol)
Etat initial : Sur(PneuPlat, Essieu) ∧ Dans(NvPneu,Coffre)
But : Sur(NvPneu,Essieu)
32 / 35
Intelligence artificielle
N
Introduction à la planification
Exemple : changer un pneu
Début
Dans(NvPneu,Coffre)
Sur(PneuPlat,Essieu)
Fin
Sur(NvPneu,Essieu)
33 / 35
Intelligence artificielle
N
Introduction à la planification
Exemple : changer un pneu
Début
Dans(NvPneu,Coffre)
Sur(PneuPlat,Essieu)
Mettre(NvPneu,Essieu)
Au(NvPneu,Sol)
¬Sur(PneuPlat,Essieu)
Fin
Sur(NvPneu,Essieu)
33 / 35
Intelligence artificielle
N
Introduction à la planification
Exemple : changer un pneu
Début
Dans(NvPneu,Coffre)
Sur(PneuPlat,Essieu)
Retirer(PneuPlat,Essieu)
Sur(PneuPlat,Essieu)
Mettre(NvPneu,Essieu)
Au(NvPneu,Sol)
¬Sur(PneuPlat,Essieu)
Fin
Sur(NvPneu,Essieu)
33 / 35
Intelligence artificielle
N
Introduction à la planification
Exemple : changer un pneu
Début
Dans(NvPneu,Coffre)
Sur(PneuPlat,Essieu)
Retirer(PneuPlat,Essieu)
Sur(PneuPlat,Essieu)
Mettre(NvPneu,Essieu)
Au(NvPneu,Sol)
¬Sur(PneuPlat,Essieu)
Fin
Sur(NvPneu,Essieu)
33 / 35
Intelligence artificielle
N
Introduction à la planification
Exemple : changer un pneu
Début
Dans(NvPneu,Coffre)
Sur(PneuPlat,Essieu)
Retirer(PneuPlat,Essieu)
Sur(PneuPlat,Essieu)
Sortir(NvPneu,Coffre)
Dans(NvPneu,Coffre)
Mettre(NvPneu,Essieu)
Au(NvPneu,Sol)
¬Sur(PneuPlat,Essieu)
Fin
Sur(NvPneu,Essieu)
33 / 35
Intelligence artificielle
N
Introduction à la planification
Exemple : changer un pneu
Début
Dans(NvPneu,Coffre)
Sur(PneuPlat,Essieu)
Retirer(PneuPlat,Essieu)
Sur(PneuPlat,Essieu)
Sortir(NvPneu,Coffre)
Dans(NvPneu,Coffre)
Mettre(NvPneu,Essieu)
Au(NvPneu,Sol)
¬Sur(PneuPlat,Essieu)
Fin
Sur(NvPneu,Essieu)
33 / 35
Intelligence artificielle
N
Introduction à la planification
Introduction à la planification
Qu’est ce que la planification?
Langage de représentation STRIPS
Planification dans les espaces d’états
Planification partiellement ordonnée
Conclusion
34 / 35
Intelligence artificielle
N
Introduction à la planification
Conclusion
Langage de représentation STRIPS
Planification dans les espaces d’états
→ Produit des séquences d’actions
Planification dans les espaces de plans
→ Produit des plans partiellement ordonnés
Planification dans les graphes
→ Produit des plans solution qui sont des séquences d’ensembles d’actions
Graphe de planification
Moins expressive que dans les espaces de plans, mais plus que dans les
espaces d’états
35 / 35
Intelligence artificielle
N

Contenu connexe

Plus de RihabBENLAMINE

Interace Utilisateur.pdf
Interace Utilisateur.pdfInterace Utilisateur.pdf
Interace Utilisateur.pdfRihabBENLAMINE
 
Bases de données sous Android.pdf
Bases de données sous Android.pdfBases de données sous Android.pdf
Bases de données sous Android.pdfRihabBENLAMINE
 
Environnement Android.pdf
Environnement Android.pdfEnvironnement Android.pdf
Environnement Android.pdfRihabBENLAMINE
 
coursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfcoursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfRihabBENLAMINE
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdfRihabBENLAMINE
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfRihabBENLAMINE
 
016834638650_suitechap1.pptx
016834638650_suitechap1.pptx016834638650_suitechap1.pptx
016834638650_suitechap1.pptxRihabBENLAMINE
 
Chapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfChapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfRihabBENLAMINE
 
p01b_portelogique_boole.pdf
p01b_portelogique_boole.pdfp01b_portelogique_boole.pdf
p01b_portelogique_boole.pdfRihabBENLAMINE
 
architecture-des-ordinateurs.pdf
architecture-des-ordinateurs.pdfarchitecture-des-ordinateurs.pdf
architecture-des-ordinateurs.pdfRihabBENLAMINE
 
Architecture_Orientee_Service_La_technol.pdf
Architecture_Orientee_Service_La_technol.pdfArchitecture_Orientee_Service_La_technol.pdf
Architecture_Orientee_Service_La_technol.pdfRihabBENLAMINE
 

Plus de RihabBENLAMINE (20)

Interace Utilisateur.pdf
Interace Utilisateur.pdfInterace Utilisateur.pdf
Interace Utilisateur.pdf
 
Firebase.pdf
Firebase.pdfFirebase.pdf
Firebase.pdf
 
Bases de données sous Android.pdf
Bases de données sous Android.pdfBases de données sous Android.pdf
Bases de données sous Android.pdf
 
Les Activités.pdf
Les Activités.pdfLes Activités.pdf
Les Activités.pdf
 
Environnement Android.pdf
Environnement Android.pdfEnvironnement Android.pdf
Environnement Android.pdf
 
coursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfcoursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdf
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdf
 
016834638650_suitechap1.pptx
016834638650_suitechap1.pptx016834638650_suitechap1.pptx
016834638650_suitechap1.pptx
 
PHP_intro.pdf
PHP_intro.pdfPHP_intro.pdf
PHP_intro.pdf
 
Chapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfChapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdf
 
chapitre-2.pptx.pdf
chapitre-2.pptx.pdfchapitre-2.pptx.pdf
chapitre-2.pptx.pdf
 
p01b_portelogique_boole.pdf
p01b_portelogique_boole.pdfp01b_portelogique_boole.pdf
p01b_portelogique_boole.pdf
 
architecture-des-ordinateurs.pdf
architecture-des-ordinateurs.pdfarchitecture-des-ordinateurs.pdf
architecture-des-ordinateurs.pdf
 
html-css-casuhal.pdf
html-css-casuhal.pdfhtml-css-casuhal.pdf
html-css-casuhal.pdf
 
Chap4_XPTAH_FR.pdf
Chap4_XPTAH_FR.pdfChap4_XPTAH_FR.pdf
Chap4_XPTAH_FR.pdf
 
Architecture_Orientee_Service_La_technol.pdf
Architecture_Orientee_Service_La_technol.pdfArchitecture_Orientee_Service_La_technol.pdf
Architecture_Orientee_Service_La_technol.pdf
 
BDW-ProgWEB_P1.pdf
BDW-ProgWEB_P1.pdfBDW-ProgWEB_P1.pdf
BDW-ProgWEB_P1.pdf
 
BDW-ProgWEB_P2.pdf
BDW-ProgWEB_P2.pdfBDW-ProgWEB_P2.pdf
BDW-ProgWEB_P2.pdf
 
cours2-css.pdf
cours2-css.pdfcours2-css.pdf
cours2-css.pdf
 

Dernier

firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirstjob4
 
optimisation logistique MLT_231102_155827.pdf
optimisation logistique  MLT_231102_155827.pdfoptimisation logistique  MLT_231102_155827.pdf
optimisation logistique MLT_231102_155827.pdfSoukainaMounawir
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de planchermansouriahlam
 
Algo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésAlgo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésSana REFAI
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Ville de Châteauguay
 

Dernier (7)

firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdf
 
optimisation logistique MLT_231102_155827.pdf
optimisation logistique  MLT_231102_155827.pdfoptimisation logistique  MLT_231102_155827.pdf
optimisation logistique MLT_231102_155827.pdf
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de plancher
 
Algo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésAlgo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigés
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
 

09_IA_planif_BB.pdf

  • 2. Introduction à la planification Introduction à la planification Qu’est ce que la planification? Langage de représentation STRIPS Planification dans les espaces d’états Planification partiellement ordonnée Conclusion 2 / 35 Intelligence artificielle N
  • 3. Introduction à la planification Introduction à la planification Qu’est ce que la planification? Langage de représentation STRIPS Planification dans les espaces d’états Planification partiellement ordonnée Conclusion 3 / 35 Intelligence artificielle N
  • 4. Introduction à la planification Qu’est ce que la planification? Tâche qui consiste à trouver une séquence d’actions qui réalisera un objectif → systèmes autonomes et adaptables capables de raisonner sur leurs capacités et les contraintes provenant de l’environnement Représentation des problèmes de planification : états, actions et objectifs Description d’un ou plusieurs état(s) initial(aux) Description d’un ou plusieurs état(s) but(s) Description d’un ensemble d’actions que l’agent peut effectuer → Trouver une séquence d’actions qui mène l’agent de l’état initial à l’état but 4 / 35 Intelligence artificielle N
  • 5. Introduction à la planification Limites des algorithmes de recherche L’agent peut être submergé par des actions non pertinentes Les heuristiques et les tests de buts sont inadéquats : il faut trouver des heuristiques indépendantes du domaine! Pas d’exploitation de la décomposition du problème ⇒ Nous voulons trouver un langage qui est à la fois suffisamment expressif pour décrire une grande varieté de problèmes, mais assez restrictif pour permettre à des algorithmes efficaces d’agir 5 / 35 Intelligence artificielle N
  • 6. Introduction à la planification Limites des algorithmes de recherche But : Acheter du lait et une perceuse sans fil Start A l l e r à l ’ a n i m a l e r i e Aller à l’école Aller au supermarché Aller au lit Lire un livre S’asseoir sur le canapé E t c . . . Parler au perroquet Acheter un chien Aller en cours Acheter du sucre Acheter du lait ... Finish Lire encore Allumer la télé Lire un livre 6 / 35 Intelligence artificielle N
  • 7. Introduction à la planification Générer un plan Etant donné Une description du monde Un état initial du monde Une description du but Un ensemble d’actions disponibles pour changer le monde On veut trouver Une liste d’actions permettant de passer de l’état initial à un état qui satisfait le but Représenter les changements Savoir comment une action modifie le monde Garder en mémoire les états du monde (a-t’on déjà été dans cet état avant?) Pouvoir répondre aux questions à propos des états du mondes potentiels (qu’est-ce qu’il se passerait si... ?) 7 / 35 Intelligence artificielle N
  • 8. Introduction à la planification Environnements de planification Les environnements considérés dans la planification classique sont : Totalement observables Déterministes Finis Statiques - les changements ne sont dûs qu’aux seules actions des agents Discrets 8 / 35 Intelligence artificielle N
  • 9. Introduction à la planification Applications Militaire → Mission de déminage naval → Mission d’hélicoptères de combats Aérospaciale → Deep Space One → Prises de vues satellitaires Robotique indistrielle → Ligne d’assemblage, transport Vie de tous les jours → Aspirateur automatique, tondeuse automatique Informatique → Composition de services web → Informatique ambiante ⇒ nouvelles applications 9 / 35 Intelligence artificielle N
  • 10. Introduction à la planification Introduction à la planification Qu’est ce que la planification? Langage de représentation STRIPS Planification dans les espaces d’états Planification partiellement ordonnée Conclusion 10 / 35 Intelligence artificielle N
  • 11. Introduction à la planification Langage de planification L’état du monde est décrit par une série de prédicats en logique du premier ordre Etat = conjonction de littéraux positifs Pauvre ∧ Inconnu A(Avion1, Paris) ∧ A(Avion2, Toulouse) Les états (litéraux en logique du premier ordre) doivent être sans variable ni fonction But = conjonction de littéraux positifs sans variable ni fonction Représentation des actions : Nom de l’action + paramètres (ex: Voler(p,from,to)) Pré-conditions : conjonction de littéraux positifs, ce qui doit être vrai pour pouvoir appliquer l’action Effet : conjonction de littéraux, ce qui est vrai ou n’est plus vrai une fois que l’action a été appliquée 11 / 35 Intelligence artificielle N
  • 12. Introduction à la planification Sémantique du langage Une action est applicable à chaque état qui satisfait les pré-conditions Logique du premier ordre : un état satisfait les pré-conditions s’il existe une substitution permettant d’unifier les pré-conditions avec les littéraux de l’état Exemple Etat : A(A1,Orly) ∧ A(A2,Blagnac) ∧ Avion(A1) ∧ Avion(A2) ∧ Aeroport(Orly) ∧ Aeroport(Blagnac) Pré-conditions : A(x,from) ∧ Avion(x) ∧ Aeroport(from) ∧ Aeroport(to) Substitution : θ = {x/A1, from/Orly, to/Blagnac} Substitution 2 : θ = {x/A2, from/Blagnac, to/Orly} 12 / 35 Intelligence artificielle N
  • 13. Introduction à la planification Sémantique du langage Action a menant d’un état s1 à un état s2 Chaque littéral positif l dans l’effet de a est ajouté à s2 Si l est déjà dans s2 il n’est pas ajouté deux fois Chaque littéral négatif ¬l dans l’effet de a est supprimé de s2 Si l n’est pas dans s2, rien ne change Solution d’un problème de planification : séquence d’actions permettant de mener d’un état initial à un état qui satisfait le but 13 / 35 Intelligence artificielle N
  • 14. Introduction à la planification Le langage STRIPS STRIPS : Stanford Research Institute Problem Solver (1971) Préconditions : ensemble des prédicats devant être vrais pour pouvoir appliquer l’action Action : nom de l’action et paramètres nécessaires pour appliquer l’action Effets : modifications des prédicats après l’exécution de l’action Retraits : prédicats qui étaient vrais et qui sont maintenant faux Ajouts : prédicats qui étaient faux et qui sont maintenant vrais Suffisamment expressif pour décrire de nombreux problèmes Suffisamment restrictif pour être utilisé par des algorithmes efficaces 14 / 35 Intelligence artificielle N
  • 15. Introduction à la planification Exemple : le monde des blocs L’univers est composé d’un ensemble de blocs cubiques et d’une table Les blocs sont mobiles, la table est immobile Un agent déplace les blocs Un bloc peut être sur la table ou sur un autre bloc Il ne peut pas y avoir plus d’un bloc sur un autre bloc La table est assez grande pour que tous les blocs puissent y prendre place L’ordre des blocs sur l’axe horizontal n’est pas important 15 / 35 Intelligence artificielle N
  • 16. Introduction à la planification Exemple : le monde des blocs Prédicats : Bloc(x) : Bloc(A), Bloc(B), Bloc(C), Bloc(D) Sur(x, y) : Sur(C,B), Sur(B,A) SurTable(x) : SurTable(A), SurTable(D) Libre(x) : Libre(C), Libre(D) L’état du monde est une conjonction de prédicats : Bloc(A) ∧ Bloc(B) ∧ Bloc(C) ∧ Bloc(D) ∧ Sur(C, B) ∧ Sur(B, A) ∧ SurTable(A) ∧ SurTable(D) ∧ Libre(C) ∧ Libre(D) 16 / 35 Intelligence artificielle N
  • 17. Introduction à la planification Exemple : le monde des blocs Actions : Action(Deplacer(b,x,y) PRECOND : Sur(b,x) ∧ Libre(b) ∧ Libre(y) ∧ Bloc(b) ∧ Bloc(x) ∧ Bloc(y) ∧ (b 6= x) ∧ (b 6= y) ∧ (x 6= y) EFFET : Sur(b,y) ∧ Libre(x) ∧ ¬ Sur(b,x) ∧ ¬ Libre(y)) Action(DeplacerSurTable(b,x) PRECOND : Sur(b,x) ∧ Libre(b) ∧ Bloc(b) ∧ Bloc(x) ∧ (b 6= x) EFFET : Sur(b,Table) ∧ Libre(x) ∧ ¬ Sur(b,x)) Action(DeplacerDeTable(b,x) PRECOND : Sur(b,Table) ∧ Libre(b) ∧ Libre(x) ∧ Bloc(b) ∧ Bloc(x) ∧ (b 6= x) EFFET : ¬ Sur(b,Table) ∧ ¬ Libre(x) ∧ Sur(b,x)) 17 / 35 Intelligence artificielle N
  • 18. Introduction à la planification Exemple : le monde des blocs Etant donné un problème Etat initial : Bloc(A) ∧ Bloc(B) ∧ Bloc(C) ∧ Bloc(D) ∧ Sur(C, B) ∧ Sur(B, A) ∧ SurTable(A) ∧ SurTable(D) ∧ Libre(C) ∧ Libre(D) Etat final : Bloc(A) ∧ Bloc(B) ∧ Bloc(C) ∧ Bloc(D) ∧ Sur(A, B) ∧ Sur(C, D) ∧ SurTable(B) ∧ SurTable(D) ∧ Libre(A) ∧ Libre(C) Planification : trouver un enchainement d’actions permettant de passer de l’état initial à l’état final Problème difficile Plusieurs méthodes de planifications existent 18 / 35 Intelligence artificielle N
  • 19. Introduction à la planification Introduction à la planification Qu’est ce que la planification? Langage de représentation STRIPS Planification dans les espaces d’états Planification partiellement ordonnée Conclusion 19 / 35 Intelligence artificielle N
  • 20. Introduction à la planification Planification dans les espaces d’états Algorithmes les plus simples pour la planification Algorithmes de recherche dans lesquels l’espace de recherche est un sous-ensemble de l’espace d’états Nœud : état du monde Arc : transition, action Chemin entre l’état initial et un état satisfaisant le but : plan d’actions Tou algorithme d’exploration complet (comme par exemple A∗ ) est un algorithme de planification complet 20 / 35 Intelligence artificielle N
  • 21. Introduction à la planification Planification par recherche en chaı̂nage avant Procède de l’état initial vers l’état final en utilisant les techniques d’exploration Le facteur de branchement est élevé Toutes les actions applicables sont prises en considération Nécessité d’heuristiques Algorithme de recherche en chaı̂nage avant : déterministe Algorithme de recherche en chaı̂nage avant : correct et complet 21 / 35 Intelligence artificielle N
  • 22. Introduction à la planification Algorithme de recherche en chaı̂nage avant Algorithm 1: RechAvant(A, s0, g) début si s0 satisfait g alors retourner un plan vide π sinon active ← {a|a est une action de A et precond(a) est vrai dans s0} si active = ∅ alors retourner Echec sinon Choisir action a1 ∈ active s1 ← γ(s0, a1) π ← RechAvant(A, s1, g) si π 6= Echec alors retourner a1.π; sinon retourner Echec fin 22 / 35 Intelligence artificielle N
  • 23. Introduction à la planification Planification par recherche en chaı̂nage arrière Procède de l’état final vers l’état initial Limite le facteur de branchement Habituellement, le but a peu d’opérateurs applicables Ne considère que les actions pertinentes Action pertinente pour le but sous forme conjonctive : Accomplir l’un des termes de la conjonction Ne pas annuler un des terme désiré action consistente Arrêt lorsqu’on obtient un sous-ensemble de littéraux qui satisfont l’état initial Nécessité d’heuristiques pour choisir l’action Algorithme de recherche en chaı̂nage arrière : correct et complet 23 / 35 Intelligence artificielle N
  • 24. Introduction à la planification Algorithme de recherche en chaı̂nage avant Algorithm 2: RechArriere(A, s0, g) début si s0 satisfait g alors retourner un plan vide π sinon pertinent ← {a|a est une action de A et effet(a) est vrai dans s0} si pertinent = ∅ alors retourner Echec sinon Choisir action a1 ∈ pertinent s1 ← γ−1 (s0, a1) π ← RechArriere(A, s1, g) si π 6= Echec alors retourner π.a1; sinon retourner Echec fin 24 / 35 Intelligence artificielle N
  • 25. Introduction à la planification Recherche dans les espaces d’états Recherche avant et arrière : recherche d’un plan totalement ordonné Séquence d’actions strictement linéaires Ordre chronologique de planification Une approche plus souple peut être nécessaire : résoudre différents sous-buts et combiner les sous-plans ⇒ Planification en ordre partiel 25 / 35 Intelligence artificielle N
  • 26. Introduction à la planification Introduction à la planification Qu’est ce que la planification? Langage de représentation STRIPS Planification dans les espaces d’états Planification partiellement ordonnée Conclusion 26 / 35 Intelligence artificielle N
  • 27. Introduction à la planification Planification partiellement ordonnée Stratégie du moindre engagement (least commitment): se compromettre uniquement sur les aspects pertinents des actions, en laissant les autres aspects à plus tard Un planificateur qui peut placer deux actions dans un plan sans spécifier laquelle intervient en premier est appelé planificateur en ordre partiel La solution est présentée comme un graphe d’actions Linéarisation du plan: le planificateur représente un ordre entre toutes les étapes 27 / 35 Intelligence artificielle N
  • 28. Introduction à la planification Exemple Partial Order Plan Start Left Sock Right Sock Left Shoe LeftSockOn Right Shoe RightSockOn Finish LeftShoeOn, RightShoeOn Total Order Plans Start Left Sock Right Sock Left Shoe Right Shoe Finish Start Left Sock Right Sock Left Shoe Right Shoe Finish Start Left Sock Right Sock Left Shoe Right Shoe Finish Start Left Sock Right Sock Left Shoe Right Shoe Finish Start Left Sock Right Sock Left Shoe Right Shoe Finish Start Left Sock Right Sock Left Shoe Right Shoe Finish 28 / 35 Intelligence artificielle N
  • 29. Introduction à la planification Composantes d’un plan partiellement ordonné Un plan partiellement ordonné est un tuple hA, ≺, B, Li où A = {a1, . . . , an} est un ensemble d’actions Un plan vide contient uniquement les actions départ et fin ≺ est un ensemble de contraintes d’ordre entre les actions Chaque contrainte spécifie le fait qu’une action doit survenir avant une autre Si l’action ai doit être exécutée avant aj , on écrira ai ≺ aj B est un ensemble de contraintes d’instantiation sur les variables de A L est un ensemble de liens causaux entre les actions, noté ai p −→ aj , tels que ai , aj ∈ A sont deux actions ai ≺ aj est une contrainte d’ordre définie dans ≺ Signifie que la proposition p est un effet de a et une précondition de p 29 / 35 Intelligence artificielle N
  • 30. Introduction à la planification Solution d’un plan partiellement or- donné Une solution est un plan complet et consistant que l’agent peut accomplir et qui garantit l’accomplissement du but Complet : toutes les préconditions sont satisfaites par une action précédente, et ne sont pas annulées par une autre action Consistant : Il n’y a pas de cycle dans les contraintes d’ordonnancement, et pas de conflits entre les liens causaux 30 / 35 Intelligence artificielle N
  • 31. Introduction à la planification Défaut et menace Une action ak est une menace pour un lien causal ai p −→ aj ssi : ak a un effet ¬q qui est potentiellement incohérent avec p les contraintes d’ordres ai ≺ ak et ak ≺ aj sont cohérentes avec ≺ les contraintes d’instantiation résultant de l’unification de p et de q sont cohérentes avec B Un défaut dans un plan partiellement ordonné est soit un sous-but, c’est à dire la précondition d’une action de A qui n’est pas supportée par un lien causal une menace, c’est à dire une action qui interfère avec un lien causal 31 / 35 Intelligence artificielle N
  • 32. Introduction à la planification Exemple : changer un pneu Actions : Action(Sortir(NvPneu,Coffre) PRECOND : Dans(NvPneu,Coffre) EFFET : ¬ Dans(NvPneu,Coffre) ∧ Au(NvPneu,Sol) Action(Retirer(PneuPlat,Essieu) PRECOND : Sur(PneuPlat,Essieu) EFFET : ¬ Sur(PneuPlat,Essieu) ∧ Au(PneuPlat,Sol) Action(Mettre(NvPneu,Essieu) PRECOND : Au(NvPneu,Sol) ∧ ¬ Sur(PneuPlat,Essieu) EFFET : Sur(NvPneu,Essieu) ∧ ¬ Au(NvPneu,Sol) Etat initial : Sur(PneuPlat, Essieu) ∧ Dans(NvPneu,Coffre) But : Sur(NvPneu,Essieu) 32 / 35 Intelligence artificielle N
  • 33. Introduction à la planification Exemple : changer un pneu Début Dans(NvPneu,Coffre) Sur(PneuPlat,Essieu) Fin Sur(NvPneu,Essieu) 33 / 35 Intelligence artificielle N
  • 34. Introduction à la planification Exemple : changer un pneu Début Dans(NvPneu,Coffre) Sur(PneuPlat,Essieu) Mettre(NvPneu,Essieu) Au(NvPneu,Sol) ¬Sur(PneuPlat,Essieu) Fin Sur(NvPneu,Essieu) 33 / 35 Intelligence artificielle N
  • 35. Introduction à la planification Exemple : changer un pneu Début Dans(NvPneu,Coffre) Sur(PneuPlat,Essieu) Retirer(PneuPlat,Essieu) Sur(PneuPlat,Essieu) Mettre(NvPneu,Essieu) Au(NvPneu,Sol) ¬Sur(PneuPlat,Essieu) Fin Sur(NvPneu,Essieu) 33 / 35 Intelligence artificielle N
  • 36. Introduction à la planification Exemple : changer un pneu Début Dans(NvPneu,Coffre) Sur(PneuPlat,Essieu) Retirer(PneuPlat,Essieu) Sur(PneuPlat,Essieu) Mettre(NvPneu,Essieu) Au(NvPneu,Sol) ¬Sur(PneuPlat,Essieu) Fin Sur(NvPneu,Essieu) 33 / 35 Intelligence artificielle N
  • 37. Introduction à la planification Exemple : changer un pneu Début Dans(NvPneu,Coffre) Sur(PneuPlat,Essieu) Retirer(PneuPlat,Essieu) Sur(PneuPlat,Essieu) Sortir(NvPneu,Coffre) Dans(NvPneu,Coffre) Mettre(NvPneu,Essieu) Au(NvPneu,Sol) ¬Sur(PneuPlat,Essieu) Fin Sur(NvPneu,Essieu) 33 / 35 Intelligence artificielle N
  • 38. Introduction à la planification Exemple : changer un pneu Début Dans(NvPneu,Coffre) Sur(PneuPlat,Essieu) Retirer(PneuPlat,Essieu) Sur(PneuPlat,Essieu) Sortir(NvPneu,Coffre) Dans(NvPneu,Coffre) Mettre(NvPneu,Essieu) Au(NvPneu,Sol) ¬Sur(PneuPlat,Essieu) Fin Sur(NvPneu,Essieu) 33 / 35 Intelligence artificielle N
  • 39. Introduction à la planification Introduction à la planification Qu’est ce que la planification? Langage de représentation STRIPS Planification dans les espaces d’états Planification partiellement ordonnée Conclusion 34 / 35 Intelligence artificielle N
  • 40. Introduction à la planification Conclusion Langage de représentation STRIPS Planification dans les espaces d’états → Produit des séquences d’actions Planification dans les espaces de plans → Produit des plans partiellement ordonnés Planification dans les graphes → Produit des plans solution qui sont des séquences d’ensembles d’actions Graphe de planification Moins expressive que dans les espaces de plans, mais plus que dans les espaces d’états 35 / 35 Intelligence artificielle N