
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.