• Aucun résultat trouvé

Planification optimale discrète et continue : un joueur de billard autonome optimisé

N/A
N/A
Protected

Academic year: 2021

Partager "Planification optimale discrète et continue : un joueur de billard autonome optimisé"

Copied!
143
0
0

Texte intégral

(1)

P L A N I F I C A T I O N O P T I M A L E D I S C R È T E E T

C O N T I N U E : U N J O U E U R D E B IL L A R D A U T O N O M E

O P T I M IS É

par

Jean-François Landry

Thèse présentée au D épartem ent d ’inform atique

en vue de l’obtention du grade de philosophise doctor (Ph.D .)

FACULTÉ DES SCIENCES

U N IV ERSITÉ DE SH ER B R O O K E

(2)

1+1

Library and Archives Canada Published Heritage Branch Bibliothèque et Archives Canada Direction du Patrimoine de l'édition 395 Wellington Street Ottawa ON K 1A0N 4 Canada 395, rue Wellington Ottawa ON K1A 0N4 Canada

Your file Votre référence ISBN: 978-0-494-93236-0 Our file Notre référence ISBN: 978-0-494-93236-0

NOTICE:

The author has granted a non­

exclusive license allowing Library and Archives Canada to reproduce, publish, archive, preserve, conserve, communicate to the public by

telecomm unication or on the Internet, loan, distrbute and sell theses

worldwide, for commercial or non­ commercial purposes, in microform, paper, electronic and/or any other formats.

AVIS:

L'auteur a accordé une licence non exclusive permettant à la Bibliothèque et Archives Canada de reproduire, publier, archiver, sauvegarder, conserver, transmettre au public par télécomm unication ou par l'Internet, prêter, distribuer et vendre des thèses partout dans le monde, à des fins com merciales ou autres, sur support microforme, papier, électronique et/ou autres formats.

The author retains copyright ownership and moral rights in this thesis. Neither the thesis nor substantial extracts from it may be printed or otherwise reproduced without the author's permission.

L'auteur conserve la propriété du droit d'auteur et des droits moraux qui protege cette thèse. Ni la thèse ni des extraits substantiels de celle-ci ne doivent être imprimés ou autrement

reproduits sans son autorisation.

In compliance with the Canadian Privacy A ct some supporting forms may have been removed from this thesis.

W hile these forms may be included in the document page count, their removal does not represent any loss of content from the thesis.

Conform ém ent à la loi canadienne sur la protection de la vie privée, quelques

form ulaires secondaires ont été enlevés de cette thèse.

Bien que ces form ulaires aient inclus dans la pagination, il n'y aura aucun contenu manquant.

(3)

Le 21 décem bre 2012

le ju ry a accepté la thèse de Monsieur Jean-François Landry dans sa version finale.

M embres du ju ry

Professeur Jean-Pierre Dussault Codirecteur de recherche Département d ’inform atique

Université de Sherbrooke

Professeur Philippe M ahey Codirecteur de recherche

ISIMA, École Publique d ’ingénieurs en informatique Université Biaise Pascal

Professeur Richard Egli Président rapporteur Département d’inform atique

Université de Sherbrooke

Professeur D om inique Orban Rapporteur

Département de mathém atiques et génie industriel École Polytechnique de Montréal

Professeur Jean-Claude Hennet Rapporteur

Laboratoire des Sciences de l’Inform ation et des Systèmes CNRS

Professeur Alain Quilliot M embre externe

ISIMA

(4)

S om m aire

Le sujet de thèse de ce doctorat consiste en l’élaboration de m éthodes pour la planification dans les domaines avec aspects continus, discrets et stochastiques.

C ette classe de problème, bien q u ’assez générale, ne com porte pas pour l ’instant de solution efficace et est souvent traitée de façon discrète plutôt que continue afin d ’y appliquer les approches existantes. L’aspect stochastique apporte une difficulté supplém entaire à la recherche d ’un plan optim al, et rend le problème d ’a u ta n t plus intéressant. L ’ensemble des approches et m éthodes proposées dans cette thèse sont avant to u t appliquées au jeu du billard, to u t en gard an t dans l’esprit q u ’une généra­ lisation p erm ettrait son application à d ’autres problèmes similaires.

En un prem ier lieu, une classification de ce type de problème par rap p o rt aux recherches existantes sera effectuée, suivie d ’une courte revue des approches actuelles possiblement applicables pour la recherche d ’une solution acceptable. Un modèle gé­ néral développé dans le contexte du jeu du billard sera présenté, ainsi que quelques indices sur la façon de le résoudre à l’aide de la program m ation dynamique.

Deuxièmement, un modèle pour une approche à deux-couches sera proposé, utili­ sant un contrôleur robuste profitant de la finesse qui p e u t être exploitée des techniques d ’optim isation non-linéaire.

Finalem ent, le modèle à deux-couches sera raffiné et quelques heuristiques de planifications seront proposée, afin de guider le contrôleur de façon à déterm iner un plan efficace. On term inera à l’aide d ’une synthèse des résultats et une discussion sur les perspectives futures.

M ots-clés: Optim isation, Contrôle Optim al, M odélisation, Planification, Intelligence

(5)

R em erciem en t s

Je désire to u t d ’abord remercier mes deux directeurs de recherche, sans qui la création de cette thèse n ’au rait pas été possible. Jean-P ierre D ussault, que je connais depuis m aintenant plusieurs années, qui a su me conseiller et me guider to u t au long de ces études et avec qui j ’ai partagé de très bons mom ents ainsi q u ’un nombre impressionnant d ’heures à discuter du billard. Philippe Mahey, qui a su ap p o rter un regard nouveaux à mes recherches et m ’a généreusem ent accueilli à deux reprises en France, me p erm ettan t d ’acquérir de nouvelles connaissances et de découvrir la magnifique région de l’Auvergne.

Mes bons amis Jaum e, Polo et Basile, sans qui mes séjours à C lerm ont-Ferrand n ’auraient pas été les mêmes, et avec qui j ’ai partagé le plaisir des études doctorales. Alessandro et Nancy, sur qui j ’ai toujours su com pter et avec qui j ’ai d ’innom brables bons souvenirs.

Je voudrais également saluer Eric, Khalid, Bilel et tous les autres membres du laboratoire d ’optim isation, qui ont toujours été d ’une bonne compagnie et avec qui j ’ai partagé bien des heures de discussions sur tous les sujets possibles. Stéphanie qui m ’a accompagné et supporté pendant la dernière année de ces travaux.

Finalem ent un dernier remerciement à mes parents, qui n ’ont jam ais cessés de croire en moi et de m ’encourager au fil de ces longues années d ’études.

Il est aussi im portant de noter que ce travail n ’a u rait pas été possible sans l’aide financière apportée par l’organisme du CRSNG et l ’organism e du FQ RN T.

(6)

A b rév ia tio n s et d éfin itio n s

IA : Intelligence Artificielle

C u e : Bille de choc (bille blanche)

C u e stic k : Queue de billard utilisée pour effectuer un coup

M D P : M arkov Decision Process

N L O P T : Librairie d ’optim isation (N on-L inear O P T im isatio n )

B O B Y Q A : Librairie d ’optim isation (B ounds-constrained optim ization w ithout de­ rivatives)

D IR E C T - L : Librairie d ’optim isation (D iv id in g R E C T a n g le s algorithm for global optim ization)

T N C : Librairie d ’optim isation (T ru n cated N ew ton w ith C onstraints)

L -B F G S : Librairie d ’optim isation (Low-storage B ro y d e n -F letch er-G o ld farb -S h an n o ) C R S : Librairie d ’optim isation (C ontrolled R an d o m Search)

M L S L Librairie d ’optim isation (M ulti-Level Single-Linkage)

IS R E S : Librairie d ’optim isation (Improved Stochastic R anking Evolution Strategy) D P : D ynam ic Program m ing

(7)

T able d es m a tières

Som m aire i

R e m er c iem en ts ii

A b r é v ia tio n s e t d éfin itio n s iii

T able d es m a tièr e s iv

L iste des figu res v ii

L iste d es ta b le a u x ix 1 In tr o d u c tio n 1 1.1 P ro b lé m a tiq u e ... 4 1.1.1 Variantes du b illa rd ... 5 1.1.2 Décomposition du p r o b l è m e ... 10 1.2 É tat de l ' a r t ... 15

1.2.1 Tournoi "C om putational Pool Tournam ent" ... 15

1.2.2 M éthodes d 'é c h a n tillo n n a g e ... 17

1.2.3 Approches h e u ris tiq u e s ... 19

1.2.4 O ptim isation d 'u n coup ... 19

1.2.5 Modèle g é n é r a l ... 19

2 Le b illard d ’un p o in t de v u e o p tim is a tio n 22 2.1 In tro d u c tio n ... 25

2.2 The Cue S p o r t s ... 26

(8)

Ta b l e d e s m a t i è r e s

2.2.1 Pool te r m in o lo g y ... 26

2.2.2 Specificity of game variants ... 28

2.3 Overview of com putational p o o l ... 30

2.3.1 Physics simulation ... 30

2.3.2 C ontrol of the cue b a l l ... 31

2.3.3 Strategic planning ... 31

2.4 Modeling billiards p h y s i c s ... 31

2.4.1 M athem atical m o d e ls ... 31

2.4.2 Existing physically docum ented s im u la to r s ... 33

2.5 Modeling billiards players ... 36

2.5.1 A dynamic program m ing fo r m u la tio n ... 36

2.5.2 Game is s u e s ... 38

2.5.3 Solution strategies for the D P m o d e l ... 39

2.6 Perspective ... 43

2.7 A cknow ledgm ents... 44

2.8 C o m p lé m e n ts ... 45

2.8.1 Casse o p t i m a l e ... 45

2.8.2 Tests avec différentes librairies d ’o p t i m i s a t i o n ... 48

3 U n co n trô leu r r o b u ste : un e a p p ro c h e à d e u x -n iv e a u x 51 3.1 In tr o d u c tio n ... 54

3.2 The game of b illia r d s ... 56

3.2.1 Physics simulation ... 57

3.2.2 Modeling the game of b illia rd s ... 57

3.2.3 Model spécifient i o n ... 59 3.3 A two-layered a p p ro a c h ... 60 3.4 C o n tr o lle r ... 62 3.4.1 M ulti-objective s h o t s ... 63 3.4.2 A robust m o d e l ... 67 3.5 R e s u lts ... 72 3.5.1 Random t a b l e s ... 73 3.5.2 Full g a m e s ... 77

(9)

Ta b l e d e s m a t i è r e s

3.6 Future w o r k ... 79

3.6.1 P l a n n e r ... 79

3.7 C o n clu sio n ... ... 82

3.8 C o m p lé m e n ts ... 83

3.8.1 Valeur d'une position sur la t a b l e ... 83

3.8.2 Repositionnement d o u b le ... 84

3.8.3 T e s t s ... 89

3.8.4 Analyse de la fonction o b je c tif ... 89

4 U n p la n ifica teu r h e u r istiq u e : a p p ro ch e à d e u x -n iv e a u x 95 4.1 In tr o d u c tio n ... 98

4.2 A two-layered a p p ro a c h ... 99

4.3 High-level p la n n e r... 101

4.3.1 Partially ordered search ... 102

4.3.2 Ball-order c l u s t e r i n g ... 103

4.3.3 Dynamic p ro g ra m m in g ... 105

4.3.4 Table state evaluation ... 106

4.4 Improvements to the robust c o n tro lle r... 109

4.4.1 Directional v e c to r ... 110

4.4.2 Robust positioning using derivatives ... I l l 4.4.3 Final shot e v a lu a tio n ... 112

4.5 R e s u lts ... 115

4.6 Perspective ... 121

C o n clu sio n 123

(10)

L iste d es figures

1.1 Table initiale pour le jeu de la 8 ... 6

1.2 Table init iale pour le jeu de la 9 ... 7

1.3 Table pour le jeu du S n o o k e r... 8

1.4 Table pour le jeu du C a r a m b o le ... 9

1.5 Trois coups avec une reposition différente... 10

1.6 Tracé des coups sur une b ille ... 11

1.7 R ésultat de plusieurs coups avec bruit... 12

1.8 Illustration du choix des param ètres pour un coup simple... 13

1.9 Schéma méthode d 'é c h a n tillo n n a g e ... 18

1.10 O ptim isation pour l’exécution et le repositionnem ent d'un coup sur une cible v is é e ... 20

2.1 Reachable re g io n s ... 35

2.2 Shot d iffic u lty ... 41

2.3 Casse typique d éfen sive... 46

2.4 R ésultat d ’une casse typique défensive ... 46

3.1 Shot p a ra m e te rs ... 58

3.2 T w o layered m o d e l ... 61

3.3 Robust shot for best position ... 63

3.4 Robust shot for second best position ... 64

3.5 Target re p o sitio n n in g ... 65

3.6 Double s h o t ... 67

(11)

Li s t e d e s f i g u r e s

3.8 Sensitivity to noise of harder s h o t ... 70

3.9 Average clean-off rate w ithout n o i s e ... 75

3.10 Average clean-off rate with 0.5x n o i s e ... 76

3.11 Average clean-off rate w ith lx n o i s e ... 77

3.12 Cum ulated averages of Pickpocket vs P o o l m a s t e r ... 78

3.13 Desired shot seq u en ce ... 81

3.14 Coup à d e u x -p h ases... 90

3.15 Coup optimisé de façon robuste sans planification... 91

3.16 R ésultats de 8 coups d iffé re n ts... 92

3.17 G raphe de la vitesse en fonction de la valeur f(x) ... 93

3.18 Illustration du coup utilisé pour générer le g r a p h e ... 93

3.19 Vue rapprochée de la figure 3.17... 94

4.1 Illustration of the two-layered a p p ro a c h ... 100

4.2 Shortest path for shot 1 103

4.3 Shortest path for shot 2 104

4.4 Repositioning for c lu s te rs ... 105

4.5 Straight-in corner s h o t ... 108

4.6 Corner shot w ith possible rebound ... 108

4.7 Corner shot blocked by obstacle ball ... 109

4.8 Close-proximity side s h o t ... 109

4.9 Side shot with offset from pocket c e n te r... I l l 4.10 Shot result after 500 sim ulations w ith n o is e ... 113

4.11 Shot result w ith added penalty to d e riv a tiv e s... 113

4.12 Cum ulated averages with 0.5x n o ise -le v e l... 117

4.13 Cum ulated averages with 0.5x n o ise -le v e l... 118

4.14 Cum ulated averages w ith lx n o ise-lev e l... 119

4.15 Cum ulated averages w ith lx n o ise-lev e l... 120

4.16 Cum ulated averages of 500 games with lx noise-level ... 121

4.17 Cum ulated averages of 500 games with 0.5x n o is e - le v e l... 122

(12)

L iste d es ta b le a u x

2.1 Shot optim ization results BOBYQA - D I R E C T - L ... 43

2.2 Shot optim ization results : CRS l i b r a r y ... 49

2.3 Shot optim ization results : ISRES l i b r a r y ... 49

2.4 Shot optim ization results : L-BFGS l i b r a r y ... 49

2.5 Shot optim ization results : MLSL l i b r a r y ... 50

(13)

C h ap itre 1

In tro d u ctio n

Le sujet de thèse de ce doctorat consiste en l’élaboration de m éthodes pour la planification dans les domaines avec aspects continus, discrets et stochastiques.

É tan t donnée la complexité im p o rtan te présente, il existe peu de techniques à ce jour pour effectuer de la planification sous de telles circonstances, et p o u rta n t les problèmes avec aspects continus sont très communs dans la vie de tous les jours.

Le simple fait de conduire une voiture pour se rendre au travail le m atin dem ande une gestion de plusieurs actions faisant partie du dom aine continu. L ’être hum ain est habitué à fonctionner dans ces situations à l’aide d ’une dextérité acquise au fil des années. Par exemple il ne doit pas m esurer à chaque fois avec quel angle précis tourner le volant pour se garer; il va s’aju ster de façon approxim ative, et corriger si nécessaire. Beaucoup de connaissances sont acquises au préalable et c’est pourquoi il n ’est pas toujours facile d ’insérer cette inform ation dans un program m e afin de résoudre des problèmes de grande complexité.

La dextérité de l’être hum ain est particulièrem ent bien illustrée dans l’ensemble des jeux sportifs de h au t niveau. O n p eut penser p ar exemple à un sp o rt comme le tennis, qui requiert une précision très fine lors de l’exécution d ’un coup. Le joueur doit m aîtriser complètement l’aspect technique du jeu, afin de se concentrer sur l’aspect tactique et déjouer son adversaire. La complexité augm ente d ’au tan t plus quand on considère les jeux d ’équipes, ou une collaboration doit être présente entre les joueurs

(14)

afin de suivre un plan de m atch et atteindre u n b u t commun.

Deux aspects essentiels gouvernent le développem ent d ’agents intelligent pour résoudre ces problèmes dans la vie de tous les jours. Une première couche tra ite plu tô t de l’aspect m écanique et robotique du problème, c’est-à-dire la création d ’un robot répondant à certaines spécifications pour effectuer une tâche précise dans un contexte particulier. Une deuxième couche tra ite p lu tô t de l’aspect calculatoire qui fera en général abstraction du robot, en analysant les données d ’un problèm e comme par exemple un é ta t initial donné et un é ta t final recherché, pour y proposer une solution.

L’aspect robotique représente en lui seul une très grande difficulté, et sera par­ fois l’élément lim itant pour le problème qu ’on tente de résoudre. On doit gérer par exemple avec précision les actuateu rs contrôlant les actions du robot, ou bien ten ter de représenter un é ta t donné le plus précisém ent possible à p a rtir de données éparses récupérées de différents capteurs. Ce domaine, bien q u ’intéressant, ne fera que l’objet de quelques mentions dans ce travail. Il n ’est pas possible d ’en faire totalem ent ab­ straction comme la précision des actions qu ’il nous est possible d ’exécuter en dépend directem ent, mais cet aspect sera tra ité de façon indirecte à l’aide de sim ulations physiques prenant en compte les imperfections et lim ites de la robotique.

Cela nous laisse donc avec l ’aspect calculatoire du problème. La planification n ’étan t pas un domaine nouveau en intelligence artificielle et optim isation, il existe déjà plusieurs classifications de types de problèmes, et plusieurs approches pour les résoudre. On retrouve cependant des élém ents clés p e rm e tta n t de distinguer les dif­ férentes classes.

En supposant q u ’on tente de contrôler un agent quelconque afin d ’attein d re un certain b u t fixé, il faut to u t d ’abord déterm iner quelles sont les actions qui lui sont permises. Ces actions peuvent êtres discrètes ou continues, et peuvent varier en fonc­ tion de l’é ta t présent. O n peut également associer une dimension de coût à certaines actions, comme par exemple une ressource énergétique, et une durée potentielle de l’action. On peut supposer que l’exécution parallèle de plusieurs actions est possible, et que le résultat final d ’une action n ’est pas toujours garanti.

En général nous possédons également de l ’inform ation sur l’é ta t spécifique du système au moment de prendre une action. C ette inform ation peut être parfaite ou

(15)

partielle. Une action spécifique prise dans un é ta t p eu t résulter aussi en un nombre fini ou infini de nouveaux états, qui auront également une certaines valeur en fonction du b u t ultim e que l’agent tente d ’atteindre.

On peut assez rapidem ent com prendre pourquoi il existe une infinité d ’approches pour une infinité de problèmes particuliers. Malgré cela, il n ’existe à ce jou r que quelques travaux proposant une solution directe à la classe de problèm es abordée dans cette thèse. Celle de la planification en présence d ’actions et d ’é ta ts continus, soumis à une dimension stochastique.

Le jeu du billard, existant déjà depuis plusieurs siècles, com porte en lui-même tous ces aspects et plus. C ’est pourquoi il sera au centre de cette thèse, et sera la plateforme sur laquelle des approches et modèles seront développés et mis au test.

Dans un premier temps, le chapitre 1 intro d u ira la problém atique de façon générale. On fera une introduction à la classe de problèmes étudiée suivie d ’une courte synthèse des m éthodes existantes et de l’é ta t de l’art.

Le chapitre 2 introduira ensuite de façon plus formelle le problème sous sa forme continue, et suggérera un prem ier modèle de program m ation dynam ique pour en arriver à le résoudre. Quelques tests dém ontrant le potentiel de l ’approche seront proposés, et une courte étude de l’efficacité de différentes libriaries d ’optim isation non-linéaires sera effectuée.

Le chapitre 3 proposera une approche globale pour la résolution du problème, en développant un modèle à deux-couches divisant contrôleur et planificateur afin de profiter au maximum de la connaissance de l’é ta t du problème q u ’on ten te de résoudre. Un modèle pour un contrôleur robuste sera ensuite proposé, s ’inspirant des méthodes d ’optim isation robuste en program m ation non-linéaire. On proposera aussi une formulation spécifique pour l ’exécution de coups multi-objectifs. Un complément en français sera également présenté à la fin du chapitre 2 tra ita n t de divers aspects n ’ayant pas paru dans la revue comme l’optim isation de la casse et l’analyse de la fonction objectif qui est optimisée.

Le chapitre 4 viendra proposer différentes heuristiques de planification, de façon à guider le contrôleur robuste de façon efficace et en lim itant les calculs inutiles. On y présentera également quelques am élioration à la fonction d ’évaluation d ’un é ta t de table, et on améliorera encore une fois le contrôleur robuste à l’aide d ’une étude plus

(16)

1 . 1 . Pr o b l é m a t i q u e

poussée de la fonction à optimiser. Les dérivées de la fonction d ’exécution d ’un coup seront utilisées pour mieux guider la recherche d ’une solution robuste. Un supplém ent en français est aussi présenté à la fin de ce chapitre avec quelques éléments n ’ayant pas été soumis à la revue.

Finalem ent une courte synthèse du travail sera effectuée en conclusion avec quelques perspectives de travaux futurs.

1.1

P r o b lé m a tiq u e

Nous allons présenter dans cette section les élém ents essentiels de la problém atique dont nous allons faire l’étude, c’est-à-dire les problèmes avec actions et é ta ts continus soumis à des perturbations stochastiques. Plus précisément, comme il réunit tous ces éléments et plus encore, le jeu du billard sera au centre des m éthodes proposées et servira de plateform e pour tester et développer celles-ci. C ’est pourquoi nous allons commencer par une description détaillée des éléments de ce jeu, suivi d ’une brève introduction aux différentes variantes, afin de p erm ettre au lecteur de se familiariser avec les éléments essentiels qui nous intéressent dans cette étude.

Le jeu du billard est une application très intéressante représentant un problème hautem ent non-linéaire, où la moindre variation d ’un p aram ètre d ’angle sur un coup peut provoquer des résultats très variés. O btenir une solution optim ale dans ce type de problème est très difficile car les solutions sont très dispersées dans l ’espace des possibilités. La complexité de cette problém atique est commune à plusieurs autres problèmes en planification ; on y retrouve la combinaison de deux aspects, l’un con­ tinu et l’autre discret. Dans le billard, cela est tra d u it p ar l’aspect technique, qui représente la difficulté à spécifier les param ètres po u r effectuer un coup voulu, et l’aspect tactique, qui représente l’élaboration d ’un bon plan de match.

Afin de traiter ce problème de façon optimale, il devient nécessaire de développer une m éthode plus générale et mixte, travaillant sur ces deux aspects en même temps. C ’est donc à l’aide de différentes m éthodes comme la program m ation dynamique, le parallélisme et les techniques d ’optim isation robuste que je propose dans cette thèse de développer un algorithm e plus général ad ap té à ce genre de problèm e de planification.

(17)

1 . 1 . P r o b l é m a t i q u e

Nous allons to u t d ’abord commencer par introduire les différentes variantes de jeu de billard, afin de motiver l ’intérêt de ce travail.

1 .1 .1

V a ria n tes d u b illa rd

L ’origine précise du billard n ’est pas très claire. L ’hypothèse la plus populaire propose que le jeu se serait to u t d ’abord développé à p a rtir du Croquet, très populaire en Angleterre. Le jeu au rait évolué en utilisant la queue du bâton lorsque pris dans une impasse ou pour effectuer un coup délicat. Plus ta rd on aurait commencé à jouer sur des tables rem plaçant l’utilisation d ’un bâton p ar une queue longue et fine, avec la pointe recouverte de cuir, pour p erm ettre un meilleur contrôle lors de l’im pact avec la bille. Ainsi l’arrivée du billard moderne.

De façon générale, une partie de billard est jouée sur une table rectangulaire de dimensions 1:2, recouverte d ’un feutre, p e rm e tta n t une certaine friction entre le tapis et les billes. C ette table possède 6 poches, situées aux quatre coins ainsi q u ’au milieu des bandes centrales (sur le plus long côté). Une queue, habituellem ent d ’une longueur approxim ative de 150cm, est utilisée pour exécuter le coup voulu. Un coup est exécuté en frappant la blanche, aussi appelée bille de choc, afin de percuter une seconde bille avec précision pour réussir à l ’expédier dans la poche désirée. La dimension des billes, de la table, de la hauteur des bandes ainsi que l ’ouverture des poches varie en fonction de la forme du jeu.

E n général, l’ensemble des jeux de billard possèdent des règles assez communes. Il faut empocher un certain nombre de billes, possiblem ent dans un ordre donné et en spécifiant les combinaisons billes-poches, sans faire de fautes sinon le to u r sera cédé à l’adversaire. Il est possible d ’effectuer des coups défensifs afin de m ettre l ’adversaire en mauvaise position, mais si une p artie s ’éternise sur plusieurs coups et q u ’il est jugé qu ’aucun progrès suffisant n ’est fait dans la partie, l’arb itre p eut choisir de term iner la partie et d ’en recommencer une nouvelle. Le début d ’une partie est habituellem ent lancé à l’aide de la casse, où les billes sont ordonnées dans u n triangle au bo u t de la table, et le joueur les dispersera en envoyant la bille blanche dans cette direction avec une grande vélocité.

(18)

1 . 1 . Pr o b l é m a t i q u e

Figure 1.1: Table initiale pour le jeu de la 8.

1 .1 .1 .1 Le je u d e la 8 (8 -b ail)

R ègles: O n retrouve 15 billes num érotées sur la table, les basses (1-7) les hautes (9-15) et la 8. Un joueur déterm iné au hasard va effectuer la casse. S’il réussit à

empocher une bille, il au ra ensuite le choix de continuer en visant pour les hautes ou les basses. Il doit spécifier quelle bille il désire em pocher dans quelle poche. Il continuera de jouer ainsi ju sq u ’à ce q u ’il m anque un coup ou qu’il effectue un coup défensif, instant auquel l’adversaire prendra la main. Le vainqueur sera le joueur ayant empoché to u te ses billes, ainsi que la 8 (qui ne peut être empochée q u ’à la fin). Si la 8 est empochée par accident, le joueur ayant commis la faute perd ra la partie.

A sp e c ts im p ortan ts: Aucune im portance dans l’ordre des billes à em pocher

sauf pour la 8. Possibilité de faire des coups défensifs. Il n ’est pas requis de spécifier quelle bille sera empochée sur la casse.

1 .1 .1 .2 Le je u d e la 9 (9 -b a ll)

R ègles: On retrouve 9 billes num érotées sur la table. Un joueur déterm iné au hasard va effectuer la première casse et le gagnant effectuera la casse pour les prochaines parties. Le joueur ayant empoché une bille sur la casse peut continuer à jouer. Il doit absolum ent toucher la bille ayant la plus p e tite dénom ination sur la table en premier mais ne doit pas nécessairement l’empocher, il peut em pocher une

(19)

1 . 1 . Pr o b l é m a t i q u e

au tre bille s’il le préfère. Le prem ier joueur ayant empoché la bille 9 gagnera la partie.

A s p e c ts im p o rta n ts: C ontraintes sur l’ordre des billes à empocher, im pliquant

une simplification de la planification des coups à effectuer, mais donnant une plus grande im portance aux coups défensifs.

Figure 1.2: Table initiale pour le jeu de la 9.

1 .1 .1 .3 Le C o n tin u ("Straight")

R èg les: Aussi appelé le 14.1 continu, ou simplement 14.1. On retrouve 15 billes numérotées sur la tab le dans ce jeu. Chaque coup réussi avec succès, défini p ar la réussite d ’un joueur à empocher une bille dans une poche spécifiée au préalable, vaut un point. Le gagnant est le prem ier joueur arrivant à accumuler 100 points. Plusieurs parties doivent donc être jouées afin de déterm iner un vainqueur. Il n ’est pas nécessaire d ’observer un ordre spécifique pour em pocher les billes. Lorsque le joueur arrive à son dernier coup, il doit effectuer celui-ci to u t en effectuant la casse et disperser les 14 autres billes pour son prochain coup, il est donc très im p o rtan t de bien se repositionner lors de son avant-dernier coup.

A s p e c ts im p ortan ts: C ontrairem ent aux variantes décrites précédem m ent, la

casse occupe une place beaucoup plus im portante dans ce jeu, car même lorsqu’il effectue celle-ci le joueur doit spécifier la poche dans laquelle il empochera une certaine bille choisie, et il risque de perdre deux points s ’il n ’effectue pas une casse légale. Le

(20)

1 . 1 . Pr o b l é m a t i q u e

prem ier coup est donc habituellem ent un coup défensif. On retrouve souvent de très longues séquences de coups défensifs dans ce jeu.

1 .1 .1 .4 L e S n o o k e r

R è g le s: On y retrouve 15 billes rouges valant 1 point, 6 billes de couleurs dif­ férentes (jaune, verte, m arron, bleue, rose et noire) valant de 2 à 7 points. Le joueur doit empocher une bille rouge suivie d ’une au tre couleur. Les billes de couleur sont replacées sur le jeu ta n t qu’il reste au moins une bille rouge su r le tapis. Les billes de couleur sont ensuite empochées en ordre croissant suivant leurs valeurs respectives, sans être replacées sur le tapis.

A s p e c ts im p o r ta n ts : C ette variante du jeu dem ande u n très h a u t niveau tech­ nique, étan t donné le diam ètres plus p e tit des billes, la taille plus grande de la table ainsi que l’ouverture des poches plus petite. O n y retrouve un échange im p o rtan t de coups défensifs lorsque la répartition des billes sur la table n ’est pas très bonne.

Figure 1.3: Table initiale po u r le jeu du Snooker. O n rem arque que les billes sont plus petites et la table plus grande.

1 .1 .1 .5 L e C a r a m b o le

R èg les: Bien q u ’il existe plusieurs variantes du Caram bole, la plus populaire utilise 3 billes sur la table, aucune poche. C ette table possède de plus h au te bandes que les autres variantes, étan t donné des billes de plus grand diam ètre. O n utilise

(21)

1 . 1 . Pr o b l é m a t i q u e

un certain mécanisme pour réchauffer le tapis, afin de promouvoir l ’effet de friction avec les billes. Un joueur doit frapper la blanche, frapper une des billes objet et ensuite frapper 3 bandes avant de venir frapper la 2e bille objet, sans bien sûr entrer à nouveau en collision avec la prem ière bille. Chaque coup réussi vaut un point, et le joueur continue ju sq u ’à ce q u ’il perde son tour. Une p artie est norm alem ent sur 10 points ou plus.

A s p e c ts im p o r ta n ts : Ce type de jeu est totalem ent différent des autres vari­ antes, du point de vue q u ’il est très difficile de prévoir plus d ’un coup à l’avance. Une très grande m aîtrise de la technique du jeu est nécessaire, ainsi que de la géométrie de la table, afin d ’arriver à faire un coup avec succès.

Figure 1.4: Table stan d ard pour le jeu du Carambole. Aucune poche sur la table et des billes plus grosses en font un jeu très différent des autres variantes de billard.

1 .1 .1 .6 E x e m p le s

Voici en exemple un premier coup simple afin d ’illustrer le choix auquel est con­ fronté un joueur de billard lors de la planification d ’un coup. On p eu t voir sur la figure 1.8 un coup très simple, où le joueur doit lui même décider de l’angle avec lequel il frappera la blanche. Il doit également contrôler la vitesse de la queue, et ten ter de choisir un coup simple q u ’il sera en mesure d ’exécuter en fonction de son niveau d ’expertise. L’ensemble de ces param ètres peut en fait être décrit à l’aide de cinq variables a, b, 0. cfr, v. Les variables a et b représentant le déplacement horizontal

(22)

1 . 1 . Pr o b l é m a t i q u e

Figure 1.5: Trois coups avec une reposition différente.

et vertical p ar rap p o rt au centre de la bille, 9 représentant l ’angle d ’inclinaison la queue, <f> pour indiquer l’orientation de la queue p ar rap p o rt à l’axe x-y de la table, et finalement v pour spécifier la vitesse initiale donnée à la bille.

On peut voir dans la figure 1.6 un tracé de correspondant aux différents endroits où un joueur pourrait décider de frapper la blanche. Si on suppose que les autres param ètres sont fixés (vitesse, angle d ’inclinaison de la queue, direction de la queue), on voit que déjà plusieurs possibilités s ’offrent au joueur. Le résultat des différents coups correspondant à cette figure est illustré dans la figure 1.7. O n p eu t voir que tous les coups ne seront pas effectués avec succès, et que le joueur devra ainsi choisir celui qui a la plus grande chance de réussite. Un au tre exemple p eu t être observé dans la-figure 1.5, où trois coups différents sont possibles. Il devra ainsi faire non seulement un choix de param ètres pour le coup à effectuer, m ais aussi un choix sur la meilleure position à atteindre pour espérer réussir la plus grande séquence de coups possible.

1 .1 .2

D é c o m p o s itio n d u p r o b lè m e

Pour en revenir au problème initial, l’objectif principal de ce travail n ’est pas d ’arriver à résoudre to u te les variantes de billard, mais de définir un modèle pouvant

(23)

1 . 1 . Pr o b l é m a t i q u e Shot sensitivity 5 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0 -0.5 -1 -1.5 -2 -2.5 - 3 -3.5 -4 -4.5 -5 Cue ball Good shots Missed shots Side spin (cm)

Figure 1.6: On peut observer sur ce graphique le tracé de la bille blanche, e t le résultat d ’un ensemble de coups, correspondant à l’é ta t de tab le présenté dans l’illustration 1.7. Les croix en bleu représentent les coups où la bille visée n ’est pas empochée.

représenter l’ensemble de ces problém atiques, afin de pouvoir ensuite proposer une solution potentielle. La variante '8-baH" du billard sera donc au centre de cette étude comme c’est une des plus simples et connues qui combine quand même plusieurs des aspects les plus intéressants.

E n se référant aux différentes variantes de billard décrites plus hau t, il est possible de décomposer le problème de façon à isoler chacun des aspects les plus im portants qui influent sur le résultat final d ’une partie. On peut diviser en trois catégories l ’ensemble des coups pour une partie: la casse, le coups offensif et le coup défensif.

1 .1 .2 .1 C ou p s offen sifs

S é le ctio n d u cou p La sélection d ’un coup consiste en l’analyse de tous les coups

possibles sur la table, et de la décision par le joueur de l’exécution de ce coup pour ten ter d ’atteindre une certaine zone de reposition. On retrouve divers types de coups: - direct: Un coup p ar lequel la blanche entrera en im pact direct avec la bille visée,

et cette dernière ira term iner sa trajectoire dans la poche.

(24)

1 . 1 . Pr o b l é m a t i q u e

Figure 1.7: Il est possible d ’observer sur cet é ta t de tab le le résu ltat de divers coups effectués. Les points rouges représentent les endroits où la blanche s ’immobilise après le coup, mais sans réussir à faire entrer la bille visée dans la poche au coin en bas à droite. Les points blancs représentent les coups réussis.

- indirect: Il existe deux types de coups indirects. Un coup par lequel la blanche va percuter la bille visée, et celle-ci va ensuite frapper une bande pour ensuite term iner sa trajectoire dans la poche. Un coup par lequel la blanche va to u t d ’abord percuter une bande pour ensuite frapper la bille visée, qui se dirigera ensuite dans la poche.

- combinaison: Un coup p ar lequel la blanche va percuter une bille, qui à son to u r ira percuter une deuxième bille visée qui se dirigera dans la poche.

Z on es d e r ep o sitio n En général lors d ’une partie de billard, peu im porte la vari­

ante, une certaine évaluation de la table doit être effectuée lors d ’un coup. C ette évaluation consiste en une analyse des positions qu ’il est possible d ’attein d re pour la réalisation du prochain coup. D ans le cas le plus simple, le joueur possédera une infinité de positions lui p erm ettan t plusieurs coups, dans le cas le plus complexe, ces zones seront assez petites et moins facilement atteignables.

Il est im portant de noter que ces zones de repositions sont en fait directem ent reliées aux coups suivants sur la table. La planification de la séquence de coups à exécuter en dépendra directem ent, en fonction bien sûr de la capacité d u joueur à

(25)

1 . 1 . Pr o b l é m a t i q u e

P M t f l l

Figure 1.8: Illustration du choix des param ètres po u r un coup simple.

atteindre ces cibles. Un bon joueur doit donc posséder une bonne capacité d ’analyse de la table, en fonction de son contrôle de la blanche.

E x é c u tio n d ’u n c o u p Un aspect essentiel consiste en l’exécution d ’un coup voulu sur une table. Cet aspect est essentiel et le plus im p o rtan t du joueur de billard. É tan t donné un certain é ta t de table, un joueur doit avoir la capacité d ’empocher une certaine bille dans une poche voulue, dans la m esure bien sûr où ce coup est possible. Cela revient à déterm iner à quel endroit précis il va frapper la blanche, ainsi q u ’avec quel angle et force. Une certaine pré-analyse est donc nécessaire de la p art du joueur, afin de déterm iner quels coups lui sont possibles, ainsi que la difficulté d ’exécuter ceux-ci.

1 .1 .2 .2 C o u p s d é fe n sifs

Un deuxième aspect présent dans toutes les variantes de billard consiste en l’exécution d ’un coup défensif. En faisant un tel coup, un joueur décide de laisser volontairem ent le contrôle de la table à l ’au tre joueur. C ependant il doit quand même percuter une de ses propres billes en faisant un tel coup, afin de faire évoluer l ’é tat de la table et d ’éviter un échange infini de coups défensifs entre deux joueurs. Cet aspect ne représente pas le même niveau de difficulté et n ’occupe pas la même im portance dans

(26)

1 . 1 . Pr o b l é m a t i q u e

chacune des variantes. En effet, au Caram bole par exemple, un joueur ne doit pas préciser qu'il exécutera un coup défensif ou offensif. C ependant comme il joue sur les mêmes billes que son adversaire, il devra p o rter particulièrem ent a tte n tio n lorsqu’il effectuera des coups offensifs. En effet, s ’il m anque ceux-ci, il aura intérêt à laisser l’adversaire en mauvaise position. Pour le jeu de la 8 par exemple, les deux joueurs ont chacun un ensemble de billes sur lesquels ils jouent. Il est donc possible q u ’un coup défensif soit parfois plus avantageux que d ’effectuer un coup offensif très risqué. De cette façon le joueur p eut espérer regagner le contrôle de la p artie quand son adversaire m anquera son coup et sera donc possiblement en meilleure position. Il est souvent possible d ’observer de très grands échanges de coups défensifs dans les variantes comme le Snooker ou le C ontinu où les adversaires atten d en t q u ’une erreur soit comise et que la table soit plus propice à l ’exécution d ’un coup réussi. Un joueur avec un peu moins de talen t technique aura souvent avantage à jouer de façon plus défensive au billard, supposant bien sûr qu ’il en soit de même pour son adversaire.

1 .1 .2 .3 C h o ix d e la ca sse

Le premier coup sur une table de billard, correspondant à la casse, occupe aussi une im portance différente en fonction de la variante de billard. Les règles d ’une casse légale varient en fonction du style de billard joué, mais pour le jeu du Snooker par exemple, le joueur doit positionner la blanche dans le demi-cercle sur la table (voir figure 1.3), et arriver à percuter au moins une des billes rouges dans le triangle à l’opposé de la table. Il pourra continuer à jouer s’il empoche une de ces billes. Pour le Continu, un joueur doit spécifier la bille q u ’il désire empocher à chaque coup, incluant la casse. Comme il est impossible de prédire exactem ent la dispersion des billes, le premier coup au Continu est habituellem ent un coup défensif, où le joueur va tenter de disperser le moins possible les billes (en gardant le coup légal), afin de laisser le tour à son adversaire avec aucun coup possible. Au jeu de la 8, les chances d ’empocher une bille sont assez grande et comme il n ’est pas nécessaire au préalable de préciser la bille visée, on désire habituellem ent bien disperser les billes et tenter d ’en empocher une sur la casse pour garder le to u r et continuer à jouer.

(27)

1 .2 . Ét a t d e l’a r t

1.2

É ta t de l ’art

Ces dernières années, la problém atique du jeu de billard a su a ttire r de plus en plus l’attention de la com m unauté scientifique. D ’un point de vue robotique, le défi représentant la création d ’un robot ayant la précision experte d ’un professionnel du billard n ’est pas tâche facile. La détection précise de l’em placement des billes sur la table, la calibration de la force donnée à un coup, ainsi que la précision de frappe de ce coup dem andent tous une im portante analyse. O n p eu t voir dans [31], [45] et [21] [8] [56] que même si plusieurs chercheurs y travaillent, un robot possédant to u te les abilités d ’un professionnel du billard n ’existe pas encore.

C ependant, en faisant abstraction du robot et en supposant l’existence d ’un sim­ ulateur représentant la réalité de façon idéale, il est possible de travailler sur l’aspect de planification des tâches de ce robot, afin de maximiser les chances de gagner une partie.

1.2 .1 T ou rn oi “C o m p u ta tio n a l P o o l T o u r n a m e n t”

En 2005 fût lancée la première édition du "C om putational Pool Tournam ent" à Taipei,Taiwan (voir [28]). C ette com pétition, organisée p ar l ’équipe de l’Université de Queens (Kingston), avait pour b u t de réunir en un seul endroit les personnes passionnées par le jeu du billard, et travaillant sur la création d ’u n joueur virtuel intelligent. Un sim ulateur physique, créé pour la com pétition, donnait la possibilité pour tous les participants de réaliser un joueur utilisant la même plateform e, afin d ’ensuite faire un m ini-tournoi entre ces joueurs virtuels. Ce tournoi p e rm e ttra it donc de dém ontrer l’efficacité des approches proposées, ainsi que de promouvoir l ’intérêt pour ce jeu très complexe à résoudre.

Trois compétitions furent organisées, en 2005, 2006 et 2008. Lors de cette dernière, il fut déterm iné que l’équipe de l’Université de Stanford organiserait la prochaine édition du tournoi, afin d ’améliorer l’infrastructure utilisée pour le tournoi. C ette dernière édition du tournoi n ’eut malheureusem ent pas lieu comme prévu en 2011, et il semblerait pour le moment qu’aucune au tre organisation n ’a it entrepris de continuer à s ’en occuper. De façon globale, on peut classifier en trois catégories l’ensemble des m éthodes utilisées lors de ces derniers tournois; les m éthodes d ’échantillonnage de

(28)

1 .2 . Ét a t d e l’a r t

type Monte-Carlo, les m éthodes heuristiques/hybrides, les m éthode d ’optim isation.

1 .2 .1 .1 S im u la teu r p h y siq u e

Le sim ulateur Poolfiz ([13]) utilisé lors des dernières com pétitions perm et de simuler en deux dimensions la physique d ’une table de billard, en sim ulant l’interaction entre les billes sur la table suite à la p ertu rb atio n du systèm e (exécution d ’un coup). La résolution analytique du système d ’équations représentant le tra je t des billes sur la table perm et un calcul direct du m oment des im pacts afin de créer une simu­ lation complète sans avoir recours à une m éthode d ’intégration pour calculer des estim ations. Cet aspect est assez im p o rtan t car il perm et en tre autres de créer une sim ulation dem andant beaucoup moins de tem ps de calcul.

C ependant il n ’est pas facile de créer un sim ulateur répliquant la réalité de façon parfaite, et il est possible d ’observer justem ent quelques-uns de ces défauts dans le sim ulateur de Poolfiz. E ntre autres les collisions avec avec les bandes, qui sont assez complexes, sont pour l’instant très simplifiées et ne p erm ettent pas d ’effectuer certains coups. Cela change donc de façon im portante la dynam ique des coups en fonction des param ètres utilisés.

Une version modifiée de Poolfiz a été développée par l’équipe de l’Université de Stanford ([9]) dans le b u t d ’augm enter l’efficacité des calculs. Fastfiz donne des résultats presque identiques mais avec un tem ps de calcul grandem ent réduit (4x plus rapide). C ependant il com porte toujours les même lacunes en ce qui concerne la fidélité de la simulation des im pacts avec les bandes.

Le même form at à été gardé pour le sim ulateur. L ’im pact de la queue de billard avec la bille est réduit à 5 param ètres représentant la force appliquée à la bille lors de la collision avec la queue (voir figure 3.1):

- a et b représentent l’endroit précis où la bille est frappée par ra p p o rt à son centre;

- 6 l’élévation de la queue par rap p o rt au plan horizontal de la table; - (f> l’orientation de la queue par rap p o rt à la table;

- v, la vitesse initiale donnée à la bille.

Une fois ces param ètres donnés au sim ulateur, celui-ci retourne l ’é ta t de la table résultant.

(29)

1 .2 . Ét a t d e l’a r t

Il existe aussi plusieurs autres sim ulateurs, professionnels et am ateurs, créés sou­ vent avec l’intention d ’obtenir une plateform e de jeu réaliste. C ependant dans la plupart des cas il n ’est pas possible de vérifier la fidélité physique de ces sim ulateurs, comme ces compagnies préfèrent ne pas divulger le code ou les approches utilisées. Dans les autres cas, les sim ulateurs utilisent souvent des approches de discrétisation pour déterm iner la trajectoire des billes sur la table, ce qui dem ande encore plus de calculs est n ’est pas nécessairement plus précis. Le sim ulateur Billiards ([-51]), basé sur le m oteur physique ODE, semble être plus fidèle à la réalité comme il dépend directem ent d ’un sim ulateur physique général. C ependant il n ’est pas sans désavan­ tages. Entre autres le même coup (même param ètres) exécuté deux fois sur la même table ne donnera pas toujours le même résultat. Ceci est possiblement dû à une m au­ vaise utilisation du sim ulateur physique ODE p ar l ’interface Techne du program m e Billiards.

Un autre sim ulateur, [3] créé par Fray, J-M ., utilise p lu tô t une interpolation de données acquises au préalable afin de simuler une tab le de billard. Des centaines de coups ont été effectués sur une table réelle, pour ensuite compiler ces données dans une base de donnée. Lorsqu’un coup est effectué sur le sim ulateur, une recherche est effectuée dans cette base de donnée afin d ’en déduire l’état le plus proche et d ’en interpoler l’é ta t résultant. C ette approche fût élaborée après avoir échoué dans la réalisation d ’un sim ulateur répliquant de façon parfaite une table réelle. Bien qu ’empirique, le sim ulateur résultant n ’en dem eure pas moins convainquant pou r le jeu du Carambole, mais nécessite pour chaque table différente une étude com plète et une nouvelle base de donnée.

1.2 .2

M é th o d e s d ’é c h a n tillo n n a g e

Parm i les approches existantes les plus intéressantes, celle proposée en 2006 p ar Mike Sm ith [58] demeure à ce jour la plus efficace en ce qui concerne le jeu de la 8. En effet, ce fût l ’approche qui perm it de gagner les deux prem ières éditions du tournoi. En discrétisant l’ensemble des actions possibles pour effectuer un coup sur une table, et en faisant un échantillonnage sur l’espace de ces actions, un arbre de recherche est ainsi établi p erm ettan t d ’analyser l’efficacité d ’une certaine séquence de coups (voir

(30)

1 .2 . Ét a t d e l’a r t

figure 1.9). Une heuristique est utilisée pour évaluer les é tats de table et la valeur est ainsi propagée avec un certain facteur d ’attén u atio n dans l’arbre de recherche.

0

’23 ’24 '25

’22

Figure 1.9: Approche par échantillonnage. L ’espace de recherche est exploré en dicrétisant les param ètres a,b,9,(j),v afin de déterm iner les états atteignables. Le chemin optim al avec les états m axim isant les chances de réussites est ensuite sélec­ tionné (S*)

C ependant, il est évident q u ’une telle approche dépend beaucoup du tem ps disponible pour effectuer la recherche dans l’espace des actions. Un désavantage im p o rtan t est le manque d ’analyse a priori de l’é ta t de la table, ignorant ainsi une certaine con­ naissance qui pourrait être extraite afin de faciliter la recherche. Il est aussi facile d ’imaginer que d ’appliquer une telle approche dans une variante de jeu avec une plus grande complexité de planification pourrait devenir problém atique, é tan t donné un espace de recherche encore plus grand.

Lors de la compétition en 2008, une équipe de l’université de Stanford raffina l’approche de Smith([58]), en m e tta n t un im portant effort sur la m axim isation du tem ps de calcul, en parallélisation de l’approche, ainsi q u ’en créant un sim ulateur simplifié basé sur poolfiz, p erm ettan t d ’effectuer plus de calculs dans le tem ps permis. Le résultat fût un joueur très perform ant gagnant facilement la dernière édition du tournoi.

(31)

1 .2 . Ét a t d e l’a r t

1 .2 .3

A p p r o c h e s h e u r istiq u e s

Différentes approches heuristiques ont aussi été développées pour trouver une so­ lution au problème avec plus ou moins de succès. Un système, expert par exemple p eut ten ter d ’identifier la situation (énum érer les coups intéressants) et interpoler les param ètres nécessaires pour effectuer un coup à l’aide de tables pré-calculées. Cepen­ d an t il clair que l ’efficacité d ’une telle approche dépend directem ent de la capacité du program m eur à résoudre le problème.

1 .2 .4

O p tim is a tio n d ’u n co u p

C ette approche, qui est à la base de ce travail, consiste en l’élaboration d ’un modèle décrivant un coup sur une table de billard, afin de le minimiser en utilisant une m éthode d ’optim isation non-linéaire. O n ten te de trouver les param ètres optim aux pour effectuer un coup donné afin de se repositionner sur une cible précise sur la table, to u t en réussissant le coup voulu.

Plus précisément, en supposant q u ’un sim ulateur com plet soit disponible ([43]) pouvant donner l’é ta t résultant en fonction d ’un coup effectué, il est possible de créer un problème de moindres carrés afin d ’effectuer un coup et de se repositionner sur la table. Supposons que le vecteur x représente l ’ensemble des param ètres décrivant un coup sur le sim ulateur. Il est possible de définir:

min ^ (||p c (x) - c f + p ||p o ( x ) - p ||2)

où Pc, p 0 représentent les positions de la blanche et de la bille objet respectivem ent au tem ps final, c la cible de reposition pour la blanche, p la poche visée (voir fig 1.10) et p une pénalisation associé à la satisfaction de la contrainte.

À l’aide de ce modèle, il est donc possible de déterm iner les param ètres nécessaires d ’un coup pour empocher une bille visée et se repositionner où l’on désire.

1 .2 .5

M o d è le g én ér a l

Dans l’article [12], un modèle général du billard est proposé. Celui-ci est décrit comme faisant partie d ’une classe de jeux nommée “Two-player Zero-sum Billiards

(32)

1 . 2 . ÉTAT DE L’ART

Figure 1.10: O ptim isation pour l’exécution et le repositionnem ent d ’un coup sur une cible visée

G am e”. Plus précisément, on décrit le jeu du billard p ar l’ensemble (S, A , A, p, s°, C, r ) où:

- 5 c l " est un espace d ’é ta t com pact de dimension n, représenté p ar un vecteur

s = ( s i , ..., sn) de nombres réels.

- A C est un espace d ’action com pact de dimension m pour les joueurs 1 et 2, où une action est représentée p ar un vecteur a = (a1; ...,a m) de nom bres réels.

a1 G A est l’action choisie au tem ps t.

- A : S I-» {1, 2} est une fonction utilisée pour représenter quel joueur doit faire son coup pour un é ta t donné de la partie. A (s1) indique à qui est le to u r de jouer dans l ’é ta t sb

- p : S x A ^ A (S) est la fonction de transition, où A ( S ) est l’ensemble de toutes

les distributions de probabilité pour S.

- s° correspond à l’é ta t initial.

- A(s°) représente le joueur qui com mencera la partie.

- C Ç S est l’ensemble des états term inants, un sous-ensemble fermé de l ’espace des état.

- r : C »-> R est la fonction de récompense, où r(s ) spécifie le m ontant que le joueur 2 doit payer au joueur 1 si la p artie term ine dans un é ta t où S E C.

(33)

1 .2 . Ét a t d e l’a r t

La partie commence avec l’é ta t s°, et le joueur A(s°) spécifie une action. Le prochain état, s 1, est déterm iné par p(-|s°, a0), et le jeu continue avec le joueur A(s1) spécifiant le prochain coup. Le jeu continue ainsi jusqu’à ce que l’é ta t sT G C soit atte in t, et le

joueur 1 reçoit alors r(.sT) du joueur 2.

On propose par la suite de définir v(s) comme é ta n t la valeur du jeu du billard, pour en arriver à l’équation minmax:

Si on définit, pour n > 1, l’historique H n, comme é tan t le produit de S x {A x S) x ... x ( i x S )[ S x n { S x A)'s], on peu t définir l ’élément hn = (s°, a0, s 1, ..., an_1, sn) comme un historique. Il est donc possible de définir une stratégie a comme é tan t

<jn : H n A. De cette façon, la stratégie <ti(s) = argm axa [/5 v *(• )dp( • |.s, a)] sera optim ale et m ènera donc vers la victoire avec le plus grand pourcentage de réussite.

Ce modèle, bien que décrivant fidèlement la problém atique générale du billard, présente des inconvénients assez évidents ren d an t son utilisation impossible dans une application. En effet, on ne peut sans simplifications très im portantes, explorer l’espace complet des é tats et actions. Même en discrétisant de façon im p o rtan te le domaine, cela revient à explorer l’ensemble des coups possibles non seulement pour un joueur, m ais aussi pour son adversaire. Un aspect im portant de ce travail sera donc de procéder a une simplification de ce modèle, de façon à trouver une solution optimale

max„ [/5 u(-)dp(-|s, a)] si A (s) = 1 m ina [/5 v(-)dp(-\s, a)] si A (s) = 2.

(34)

C h ap itre 2

Le b illard d ’un p o in t d e v u e

o p tim isa tio n

R é su m é

Depuis quelques années, il est possible d ’observer un intérêt grandissant dans le domaine de la recherche pour les aspects robotique et calculatoire du jeu du billard. Le défi se montre très im p o rtan t et très intéressant. Nous allons nous concentrer dans ce travail sur l’aspect com putationnel du pro­ blème, sans cependant oublier l ’im portance et la difficulté relevant de l’as­ pect robotique.

D ’un point de vue calcul, on p eut globalem ent diviser la tâche en trois aspects principaux : la simulation physique, l’exécution de coups, et la pla­ nification d ’une séquence de coups. Ces aspects seront développés plus en détail à l’aide du domaine de l’optim isation. Le côté planification de la pro­ blématique relevant également du dom aine de l ’intelligence artificielle, et le lien entre les deux approches sera révélé progressivement dans le travail.

Nous allons présenter l’é ta t de l’a rt dans ce to u t nouveau domaine, ainsi que les obstacles dem eurant présents avant q u ’il soit possible de m e ttre au défi un professionnel du billard à l’aide d ’un systèm e robotique.

(35)

C o m m e n ta ire s

Cet article à été soumis à la revue "Wiley Encyclopedia of O perations Research and M anagement Science" le 12 juillet 2010, accepté sous révision d ’un comité de lecture, et publié dans l ’édition 2010 de la revue. Les trois auteurs sont listés en ordre alphabétique et non en ordre d ’im portance et se sont partagés la rédaction. La p a rt de l ’étu d ian t est très im portante, ayant mis en place la plateforme de test utilisée pour appuyer les différents aspects discutés, et ayant travaillé avec les co-auteurs sur le développement du modèle proposé.

L ’ap p o rt principal de cet article par rap p o rt à la thèse concerne s u rto u t le développement de l’approche pour la discrétisation du problème en une com­ binaison de billes poches cibles, et les tests sur les différentes librairies d ’op­ tim isation. En effet, on propose dans cet article un résumé général de l ’état de l’a rt et on tente de situer la problém atique par rap p o rt aux recherches existantes. Pour cela, une courte description des différentes variantes du jeu du billard est fournie, afin d ’en dégager les élém ents essentiels. Ceci perm et donc par la suite d ’introduire la form ulation générale d ’un modèle de pro­ gram m ation dynamique, et d ’y présenter quelques résultats préliminaires.

Ce travail sert également de preuve de concept pour motiver les chapitres suivants, qui iront plus en détail dans le développement d ’un contrôleur robuste pour le jeu du billard, ainsi que d ’un planificateur de h a u t niveau. L ’ensemble des tests sur les librairies d ’optim isation perm ettent de faire une courte analyse quant à l ’efficacité d ’utiliser une approche d ’optim isation locale plutôt que globale.

L’article présenté est entièrem ent rédigé en anglais mais comprend aussi une section complémentaire en français à la fin du chapitre com portant des résultats n ’ayant pas paru dans la revue. Il est im portant de no ter une correction concernant la section 2.4.2.2 de l’article. Il semblerait que la raison pour laquelle il n ’est pas possible de simuler deux fois le même coup avec le sim ulateur Billiards n ’est pas directem ent relié à ODE mais possiblem ent dû à une mauvaise im plém entation de la librairie Techne utilisée comme interface à ODE.

(36)

C o m p u ta tio n a l pool:

an O R — o p tim iz a tio n p o in t o f v iew

Jean-Pierre D ussault, Jean-François Landry

D épartem ent d ’inform atique, Université de Sherbrooke, Sherbrooke, Québec, C anada J1K 2R1

J e a n - P i e r r e .D u s s a u l t @ u s h e r b r o o k e. c a ,

J e a n - F r a n c o i s .L a n d r y 2 0 u s h e r b r o o k e. c a

P hilippe M ahey

ISIMA - Cam pus des Cézeaux, B P 10125, 63173 Aubière CEDEX, France.

P h i l i p p e . M a h e y @ I s i m a .fr

K eyw ord s: Pool, Billiards, Snooker, Game, Sim ulation, Planning, S tra t­

egy, O ptim ization, Artificial Intelligence

A b s tr a c t

C om putational and robotic pool has received increasing interest in th e past few years. The challenges are im portant. In this survey, we focus on th e com putational aspect, but nevertheless acknowledge th a t the robotic aspect is b o th very im portant and very difficult.

Com putationally, one m ay roughly split th e tasks into three m ain as­ pects: sim ulation of the physics, execution of th e shots and planning of sequences of shots. We will discuss those aspects from an O R -optim ization point of view. The planning aspect retains also th e interest of the artificial intelligence community, and links between bo th approaches will be revealed.

We will present th e state of the a rt in th is young research area, as well as th e obstacles th a t remain before a com puter-robotic system actually chal­ lenges a hum an champion.

(37)

2 . 1 . In t r o d u c t i o n

2.1

In tr o d u c tio n

The interest in com putational pool is m otivated by a variety of factors. The mechanics of pool has long served as a focus of interest for physicists, an interest which has extended naturally to th e realm of com puter simulation. Realistic and efficient sim ulators have led to the proliferation of com puter pool games. These games include significant com puter graphics components, often including hum an av atar com petitors w ith unique personalities, as well as an element of artificial intelligence to sim ulate strategic play. There are numerous one-person games available, of various physical realism.

Though in the context of this chapter th e prim ary objective is th e creation of a com puter pool player, we wish to extend our research beyond the scope of billiards. We hope th a t by researching the best way of m aking a perfect player we can develop new AI approaches, and possibly contribute to other problems of th a t nature.

There have been three instances of pool Olympiads where rival com putational pool player competed. The com petitions a ttra c te d participants from th e artificial intelligence community, a pool player representing a challenge for the agent approach. Yet, only 8-ball tournam ents were held, and th e champions used a M onte Carlo search tree strategy [29, 30, 59, 10], In this chapter, we develop a com plem entary approach based on O R techniques, simulation, dynam ic program ming, numerical optim ization.

Although the problem we wish to solve is determ inistic in nature, subject to the laws of physics, it is so easily influenced by m any small factors th a t it can actually be seen as stochastic. This makes it very hard to create a perfect player, because even if he never misses, th e outcome of th e game is never pre-defined.

In this chapter we will explore th e technical challenges of com putational pool from an O R point of view. Section 2.2 describes the elements of the cue sports from a hum an perspective, including some discussion of th e aspects of advanced hum an play. Section 2.3 introduces the several O R aspects to be detailed later on.

Section 2.4 presents the requirem ents to produce a sim ulation model. Section 2.5 addresses th e optim ization of a billiards player. This is work in progress.

Future trends are discussed in section 3.7.

Figure

Figure  1.1:  Table  initiale  pour  le jeu  de  la  8.
Figure  1.2:  Table  initiale  pour  le jeu   de  la  9.
Figure  1.3:  Table  initiale  po u r  le  jeu  du   Snooker.  O n  rem arque  que  les  billes  sont  plus  petites  et  la  table  plus  grande.
Figure  1.8:  Illustration  du  choix  des  param ètres  po u r  un  coup  simple.
+7

Références

Documents relatifs

− Dans ce cas, lorsqu'un fait demandable n'a pas encore été établi, le système le demandera à l'utilisateur avant d'essayer de le déduire d'autres faits connus... • En

le coˆ ut g(x) pour atteindre l’´ etat contenu dans le nœud depuis l’´ etat initial la profondeur du nœud, i.e., la distance entre le nœud et la racine de l’arbre.. Strat´

Langage de repr´ esentation STRIPS Planification dans les espaces d’´ etats Planification partiellement ordonn´ ee Conclusion.!. Introduction ` a

d'une artographie vetorielle bruitée, nous avons présenté le problème de loalisation d'un engin. autonome à partir de mesures fournies par ses apteurs et de

La méthode SAPI (Statistical Analysis of Propagation of Incidents) a été développée originale- ment pour résoudre le problème de réordonnancement du trafic ferroviaire en

– Utilisé pour trouver un chemin optimal dans un graphe via l’ajout d’une heuristique. • Une heuristique h(n) est une fonction d’estimation du coût entre un nœud n

• Pour l’instant, le seul avantage perceptible d’avoir un modèle PDDL (au lieu d’une fonction de transitions normale) est de représenter la fonction de transition de

• Pour l’instant, le seul avantage perceptible d’avoir un modèle PDDL (au lieu d’une fonction de transitions normale) est de représenter la fonction de transition de