Examen de Planification Automatique et Techniques d`Intelligence
Transcription
Examen de Planification Automatique et Techniques d`Intelligence
Examen de Planification Automatique et Techniques d’Intelligence Artificielle (PATIA) Durée : 3h – Document autorisé : 1 feuille A4 Recto - Verso. 11 mai 2011 1 Machine de Turing Nous donnons en annexe le codage STRIPS d’une machine de Turing permettant de calculer le successeur d’un entier en représentation binaire (exercice vu en TD). À partir de cet exemple, donnez le problème de planification (état initial et le but) représentant une MT qui accepte le langage {0k 1k | k ≥ 1}. A 1 4 D B 2 3 C 5 Figure 1 – Circuit hamiltonien 2 Circuit hamiltonien Dans un graphe, un circuit hamiltonien est un parcours partant d’un nœud, passant une et une seule fois par tous les autres nœuds du graphe et revenant à son point de départ. 1 a) Représentez en Strips les opérateurs permettant de trouver un circuit hamiltonien ; b) Représentez en Strips l’état initial et le but du problème de la figure 1 en prenant comme point de départ le nœud A. 3 "Elevator" On s’intéresse à la représentation du domaine de planification suivant : un bâtiment est équipé d’un ascenseur desservant tous les étages. Les personnes travaillant dans ce bâtiment se déplacent entre les étages en utilisant cet ascenceur (sans capacité limite). Chaque personne a donc un point de départ et un point d’arrivée. Un planificateur tel que GraphPlan donnera donc le plan optimal en terme de nombre d’actions permettant à chaque personne d’arriver à destination. a) Représentez en Strips l’état initial et le but du problème suivant : le bâtiment a 6 étages ; Pierre est au 6e et veut redescendre au rez-de-chaussée ; Léa est au rez-de-chaussée et a rendez-vous au 5e ; Isabelle et Jean sont au 4e et veulent aller au 6e. b) Représentez en Strips les opérateurs. 2 Annexe 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 (c0 CASE) (c1 CASE) (c2 CASE) (b CHAR) (1 CHAR) (0 CHAR) (z0 STATE) (z1 STATE) (zh STATE) (l MOVE) (i MOVE) (r MOVE) (preconds (on c0 b) (on c1 1) (on c2 b) (link c0 c1 r) (link c1 c2 r) (link c2 c1 l) (link c1 c0 l) (rule z0 b l b z1) (rule z0 0 r 0 z0) (rule z0 1 r 1 z0) (rule z1 b r 1 zh) (rule z1 0 r 1 zh) (rule z1 1 l 0 z1) (state z0) (place c1)) (effect (state zh)) 3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 (operator TRANSITION (params (<from> CASE) (<to> CASE) (<cstate> STATE) (<read> CHAR) (<m> MOVE) (<write> CHAR) (<nstate> STATE)) (preconds (state <cstate>) (place <from>) (on <from> <read>) (link <from> <to> <m>) (rule <cstate> <read> <m> <write> <nstate>)) (effects (place <to>) (state <nstate>) (on <from> <write>) (del state <cstate>) (del place <from>) (del on <from> <read>)) ) (operator TRANSITION (params (<from> CASE) (<to> CASE) (<cstate> STATE) (<read> CHAR) (<m> MOVE) (<write> CHAR)) (preconds (state <cstate>) (place <from>) (on <from> <read>) (link <from> <to> <m>) (rule <cstate> <read> <m> <write> <cstate>)) (effects (place <to>) (on <from> <write>) (del place <from>) (del on <from> <read>)) ) 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 (operator TRANSITION (params (<from> CASE) (<to> CASE) (<cstate> STATE) (<read> CHAR) (<m> MOVE) (<nstate> STATE)) (preconds (state <cstate>) (place <from>) (on <from> <read>) (link <from> <to> <m>) (rule <cstate> <read> <m> <read> <nstate>)) (effects (place <to>) (state <nstate>) (del state <cstate>) (del place <from>)) ) (operator TRANSITION (params (<from> CASE) (<to> CASE) (<cstate> STATE) (<read> CHAR) (<m> MOVE)) (preconds (state <cstate>) (place <from>) (on <from> <read>) (link <from> <to> <m>) (rule <cstate> <read> <m> <read> <cstate>)) (effects (place <to>) (del place <from>)) ) 5