23
1 Let’s play snooker Group 2 Yannick Thimister Frans van den Heuvel Enno Ruijters Esther Verhoef Ali B. Ozmen Achim Leydecker

Let’s play snooker

Embed Size (px)

DESCRIPTION

Group 2 Yannick Thimister Frans van den Heuvel Enno Ruijters Esther Verhoef Ali B. Ozmen Achim Leydecker. Let’s play snooker. Overview. Task description - Yannick Physics and noise – Ali Simple method – Frans Complex method - Enno Product demonstration - Esther - PowerPoint PPT Presentation

Citation preview

Page 1: Let’s play snooker

1

Let’s play snooker

Group 2Yannick ThimisterFrans van den HeuvelEnno RuijtersEsther VerhoefAli B. OzmenAchim Leydecker

Page 2: Let’s play snooker

2

Overview

Task description - Yannick Physics and noise – Ali Simple method – Frans Complex method - Enno Product demonstration - Esther Experiments and results - Achim Conclusion - Yannick

Page 3: Let’s play snooker

3

Task description

Design and implement an artificial intelligence for a Snooker simulation with a realistic physics model, including noise. Then determine the effects of this noise on the artificial intelligence.

Page 4: Let’s play snooker

4

Physics

• Spin & Cue Ball• Impulse • Noise Model

Page 5: Let’s play snooker

Spin and Cue ball

V: Linear velocity

F: Force acting on ball by cue

M: Mass of cue ball

θ: Angle between q and x-y plane

ω: Angular velocity

F: Force acting on ball by cue

M: Mass of cue ball

θ: Angle between q and x-y plane

R : Radius of the cue ball

...........0...........

cos /

...........0...........CBV Fx M

sin cos2

sin5

cos

Z y

Z CB

x

F F

F M R

F

Page 6: Let’s play snooker

Impulse

• Collisions between balls are handled by adding a certain amount of impulsive force to both balls in opposite directions.

• The magnitude of this impulse is given by the equation ;

J = J =

Page 7: Let’s play snooker

Impulse

• When we used to calculate the change in velocity in the collision, previous equation can be simplified into this equation:

• By assuming the two balls have the same mass, since the masses are factored out again when converting the change in momentum into the corresponding change in velocity.

Page 8: Let’s play snooker

Noise Model

A set of standard deviations

• Five parameters specified

(4 Input parameter & Coefficient of friction )

• Error is modeled by perturbing these 5 parameters by zero – means Gaussian noise.

Page 9: Let’s play snooker

Simple method

• Repeated random sampling• All directions / variation of force / No spin• Two versions• Iterate through the 50 best shots• Highest average amount of points• Easy implementation & good results 

Page 10: Let’s play snooker

10

Tactical method

• Extended version of Simple AI• Multithreaded

(4000 shots, 4 threads)• Adds heuristics to shot evaluation

– Avoid complex shots– Use tactics to improve future shots

• Naturally more resistant to noise

Page 11: Let’s play snooker

11

Tactical method(complexity avoidance)

• Minimize number of collisions– Ignore irrelevant collisions– Collisions between two moving

balls strongly avoided

• Minimize distance traveled– Again, ignore irrelevant paths

Page 12: Let’s play snooker

12

Tactical method (snooker tactic)

• Snooker if no potting possible Avoid snookering yourself Considers only direct snookers

Page 13: Let’s play snooker

13

Tactical method(easy ball tactic)

• Try to leave easy balls for later shots

Avoid impossible shots later Problem: helping opponent?

Page 14: Let’s play snooker

14

Tactical method(shot evaluation)

• Initial score based on actual points gained

• Add points for snookering opponent• Scale by penalty for every collision

– Exponential reduction• Scale linearly by distance• Add/subtract points for easy balls

Page 15: Let’s play snooker

15

Program demonstration

Page 16: Let’s play snooker

Experiments

Basic setup 100 full games per experiment

No player change Foul points are subtracted from the

total points Average and standard deviation are

recorded

Page 17: Let’s play snooker

Experiments

Noise All four types of noise are tested

separately with five different degrees of intensity

Fixed maximum number of random samples

Page 18: Let’s play snooker

Experiments

Page 19: Let’s play snooker

Experiments

Number of random samples Fixed noise level (2)

Effects of heuristics for tactical method Fixed noise level (2) Each tactic is tested separately Collision-avoidance & distance-

minimization only Snookering is tested by playing against

the simple method with 500 random samples

Page 20: Let’s play snooker

Results

Page 21: Let’s play snooker

Results

Page 22: Let’s play snooker

22

Conclusion

• Both methods decrease in performance when noise is added.

• The simple method performs better in general than the tactical method.

• In the tactical method, collision avoidance is less effective than distance minimization.

• Snookering is less effective than leaving easy balls.

Page 23: Let’s play snooker

Questions