IFT615 – Examen périodique (Été 2011) 5 / 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.