Université de Sherbrooke Département d’informatique IFT615 – Intelligence artificielle Examen périodique Été 2011 Le lundi 20 juin 2011, 13 h 30 à 15 h 20, au D3-2037 Chargés de cours Éric Beaudry et Jean-François Landry Instructions L’examen dure une heure et cinquante minutes. L’examen comporte 5 questions pour un total de 20 points. Le questionnaire contient 6 pages incluant celle-ci. Vous devez répondre directement sur le questionnaire aux endroits indiqués. Des feuilles de brouillon sont incluses à la fin du questionnaire. Ne détachez aucune feuille du questionnaire. Matériel permis Livre de référence du cours (Artificial Intelligence: A Modern Approach). Deux feuilles recto-verso de notes personnelles. Calculatrice non programmable. Toute autre documentation et tout appareil électronique sont strictement interdits. Nom : _____________________________________ Prénom : _______________________ Matricule : ____________________ Signature : ____________________________________________ Q1 /4 Q2 /4 IFT615 – Examen périodique (Été 2011) Q3 /4 Q4 /4 Q5 /4 TOTAL /20 1/6 Question 1 – Recherche heuristique (4 points) Le tableau suivant défini les fonctions successeurs Succ, heuristique H et but B. La fonction successeur Succ(s) retourne un ensemble de paires {(s1, c1), …, (sn, cn)} tel que s est un état donné, si est un état successeur, et ci est le coût pour passer de l’état s à si. La fonction H(s) retourne une estimation de la distance entre un état s et un état satisfaisant au but. La fonction B(s) retourne « Vrai » si l’état s correspond au but, et « Faux » autrement. État s s0 s1 s2 s3 s4 s5 s6 s7 Succ(s) {(s2,1), (s5,3)} 4 {(s4,1)} {(s4,5)} {(s6,1)} {(s5,11)} 2 7 1 {(s2,1), (s6,1)} 4 {} H(s) {(s1,3),(s2,2), (s3,4) } 4 0 0 B(s) Faux Faux Faux Faux Faux Faux Vrai Vrai a) Donnez une trace d’exécution de l’algorithme A* en utilisant les fonctions définies précédemment et en considérant l’état initial s0. Pour chaque état dans les listes open et closed, donnez ses valeurs f et g. (2 points) Itér. Liste open (état, f, g), … 0 (s0, 4, 0) Liste closed (état, f, g), ... 1 (s2, 4, 2),(s1, 7, 3), (s3, 11, 4) (s0, 4, 0) 2 (s4, 4, 3),(s1, 7, 3), (s3, 11, 4) (s0, 4, 0), (s2, 4, 2) 3 (s6, 4, 4), (s1, 7, 3), (s3, 11, 4) (s0, 4, 0), (s2, 4, 2), (s4, 4, 3) 4 Solution trouvée en tête d’open : (s6, 4, 4), (s1, 7, 3), (s0, 4, 0), (s2, 4, 2), (s4, 4, 3), (s6, 4, 4) (s3, 11, 4) b) La fonction heuristique H est-elle admissible? Justifiez. (1 point) Non. Pour les états S3 et S5, la fonction H(n) surestime le coût pour se rendre à un état but. Le coût restant minimal sont : H*(S3)=6 et H*(S5)=1. c) Si la fonction but était modifiée tel que B(s6)=Faux, que se passera-t-il? Soyez aussi précis que possible. (1 point) Dans ce cas, le seul but restant sera dans l’état s7, mais comme aucune action ne mène à cet état, aucune solution ne pourra être trouvée. A* devra explorer tous les états accessible à partir de l’état initial avant de conclure d’aucune solution n’existe. IFT615 – Examen périodique (Été 2011) 2/6 Question 2 – Élagage alpha-beta (4 points) L’arbre suivant modélise les actions de deux joueurs adverses Min et Max. Chaque nœud représente un état du jeu. Les feuilles correspondent aux états terminaux. La valeur de ces états est indiquée à l’intérieur. a) Simulez l’algorithme d’élagage alpha-beta en utilisant un ordre de visite de gauche à droite. (2 points) Rayez le(s) arc(s) élagué(s) à l’aide d’un trait. Indiquez la valeur retournée par l’algorithme à l’intérieur de chaque nœud visité. Encerclez l’action retournée par l’algorithme. b) Serait-il plus efficace de visiter les nœuds successeurs de droite à gauche? Justifiez. (2 points) Oui dans le cas de cet exemple, car moins de nœuds seraient explorés. IFT615 – Examen périodique (Été 2011) 3/6 Question 3 – Processus décisionnels markoviens (4 points) Soit le processus de décision markovien suivant, dont les transitions sont étiquetées par les noms des actions et les probabilités de transitions; les états sont étiquetés par les récompenses correspondantes (exprimant une fonction d’utilité). a) Dans le tableau suivant, indiquez les valeurs des états à la fin de chacune des trois premières itérations de l’algorithme value-itération, en supposant qu’on utilise un facteur d’atténuation (discount factor) de 0.7 et en partant initialement (itération 0) avec des valeurs des états toutes égales à 0. (2 points) Valeurs itération 1 Valeurs itération 2 Valeurs itération 3 s0 8 8+max0.7*(1*-2, 1*-5)=6.6 (a1) 8+max 0.7*(1*1.92, 1*-1.5) = 8.344 (a1) s1 -2 -2+0.7*(0.2*8+0.8*5)=1.92 (a3) -2+0.7*(0.2*6.6 + 0.8*10.6) = 4.86 (a3) s2 -5 -5+0.7*(1*5)=-1.5 (a4) s3 5 5+0.7*(1*5, 1*8)=10.6 (a6) -5+0.7*(1*10.6)=2.42 (a4) 5+0.7*(1*10.6, 1*6.6) = 12.42 (a5) b) Donnez le plan d’actions (politique) correspondant aux valeurs de l’itération #3. (1 point) Plan itération 3 s0 (a1) s1 (a3) s2 (a4) s3 (a5) c) Est-ce que l’algorithme policy-iteration retournerait exactement la même politique de l’algorithme valueiteration ? Justifiez votre réponse. (1 point) Oui, à condition que la solution optimale soit unique. Même si les deux approches fonctionnent de façon différente, elles garantissent la génération d’une solution optimale. S’il existe plus d’une solution optimale, les deux algorithmes ne retournent pas forcément la même solution, mes la valeur des solutions trouvées sont équivalentes. IFT615 – Examen périodique (Été 2011) 4/6 Question 4 – Jeu de billard (4 points) On vous demande de commander un robot joueur de billard. La requête consiste à empocher, en un seul coup, la bille rouge dans la poche marquée par une étoile. Pour effectuer ce coup, le robot doit frapper la bille blanche. Ce coup est spécifié à l’aide de trois paramètres que vous devez calculer : angle de frappe, une vitesse de frappe, et un « spin ». a) Analysez ce problème en encerclant ses principales caractéristiques fondamentales. Pour chaque caractéristique, justifiez votre choix en le commentant. (2 points) Observabilité partielle vs totale : On possède ici une observabilité totale du système, aucune information n’est cachée. En d’autres mots, les positions exactes des billets sont connues. Déterministe vs stochastique : Comme on connait les équations physiques d’un objet en mouvement, nous pouvons prédire de façon exacte le résultat d’un coup donné. Épisodique vs séquentielle : Dans ce problème, nous voulons seulement exécuter un coup étant donné un état de table, donc il n’existe aucune dépendance sur les actions ou évènements antérieurs. Statique vs dynamique : Comme l’environnement ne changera pas pendant que l’agent est en train de délibérer, cet environnement est considéré statique. Discret vs continu : Comme les paramètres que nous cherchons à définir pour exécuter une action correspondant à l’angle, la vitesse de frappe et un « spin », nous travaillons dans un domaine continu. Agent unique vs multi-agent : Dans le cadre de cet énoncé, nous n’avons qu’un agent; le robot effectuant un coup selon des paramètres donnés. b) Plusieurs techniques de résolution de problèmes ont été présentées dans le cours. Pour chacune des méthodes suivantes, indiquez si elle est appropriée pour résoudre ce problème et justifiez votre réponse. (2 points) Recherche heuristique (A*) : La recherche heuristique A* n’est pas appropriée pour ce problème, étant donné que nous cherchons quelle action prendre parmi une infinité d’actions possibles. Il ne serait pas avantageux de tenter de représenter ce problème sous forme d’arbre pour une résolution avec A* (infinité d’états+infinité d’actions). Satisfaction de contraintes (CSP) : Bien qu’il serait possible de modéliser ce problème sous forme de CSP, cela n’est pas non plus à notre avantage comme le domaine des actions/états demeure continu. Recherche locale Hill-Climbing : Bien qu’il serait possible de modéliser notre problème de façon à utiliser une recherche locale Hill-Climbing, celle-ci nous demanderait quand même de discrétiser chacun de nos paramètres, et de définir une certaine heuristique pour nous indiquer si nous sommes proche ou non de la solution. De plus, cette méthode est sensible aux minimaux locaux. Cette approche n’est donc pas appropriée pour ce problème. Algorithme génétique : Cette technique se veut la plus appropriée pour la résolution de ce problème, comme nous pouvons supposer connaitre la fonction F(x) décrivant le trajet de la bille, pour le vecteur de paramètres x. À l’aide d’algorithmes génétiques, il sera possible de minimiser cette fonction de façon à trouver les paramètres qui nous génèrent une solution. Cette méthode permet également l’évitement des minimaux locaux. IFT615 – Examen périodique (Été 2011) 5/6 Question 5 – Vrai ou faux (4 points) Pour chacun des énoncés suivants, indiquez s’il est vrai ou faux et justifiez votre réponse. Un point sera retiré par mauvaise réponse, jusqu’à concurrence de zéro. a) Lorsqu’aucune solution n’existe, une heuristique efficace permet à l’algorithme A* de visiter moins de nœuds avant de conclure l’inexistence d’une solution. FAUX. Si aucune solution n’existe, l’algorithme A* devra quand même parcourir tous les nœuds accessibles afin d’en arriver à la conclusion qu’il n’y a pas de solution, peu importe l’heuristique utilisée. b) La présentation de Simon Chamberland portait sur les jeux de stratégie en temps réel et sur les jeux simultanés. Vrai ou faux : l'algorithme minimax avec élagage alpha-beta est très utilisé dans le cadre des jeux simultanés à deux joueurs, même si dans le pire cas aucun état n’est élagué. FAUX. Alpha-beta pruning n'est pas approprié pour les jeux simultanés; il est plutôt utilisé dans le cadre de jeux séquentiels à deux joueurs (avec information parfaite). C'est dans ce contexte qu'il permet généralement d'élaguer un grand nombre d'états, bien que dans le pire cas aucun élagage ne soit effectué. Utiliser alpha-beta pruning pour résoudre un jeu simultané à deux joueurs reviendrait à trouver l'action (la stratégie pure) minimisant la perte associée à la pire réplique (pure) possible de l'adversaire, cette perte étant une borne inférieure potentiellement très éloignée de la valeur optimale du jeu donnée par l'équilibre de Nash. c) L’algorithme de planification du système CORALS, présenté par un chercheur de Recherche et développement pour la défense Canada, utilise une recherche dans un espace de plans. Vrai ou faux : contrairement à la recherche heuristique (A*), le chemin trouvé dans le graphe n’est pas important. VRAI. Dans une recherche dans un espace de plans, chaque nœud est un plan d’action. Ainsi, la solution se trouve dans les nœuds et non sur les arrêtes (chemin dans le graphe). Donc, le chemin trouvé n’indique pas le plan, mais comment trouver le plan, ce qui est généralement moins important. d) Les problèmes sans incertitude ne peuvent pas être résolus par des processus décisionnels markoviens (MDP). FAUX. Ils peuvent être résolus par la formulation d’un MDP, la seule différence correspond à la probabilité correspondant aux actions. Cette probabilité sera de 1, et donc le MDP correspondra à un arbre de recherche standard. e) Pour un problème de type CSP, il est généralement efficace d’utiliser une heuristique explorant tout d’abord la variable la plus contrainte (avec le moins de valeurs possibles). VRAI. Cela correspond à l’heuristique « Minimum Remaining Value ». En explorant la variable la plus contrainte, l’arbre de recherche sera élagué dès le départ si possible, réduisant ainsi l’espace de recherche. --- Fin de l’examen --- IFT615 – Examen périodique (Été 2011) 6/6