1
Let’s play snooker
Group 2Yannick ThimisterFrans van den HeuvelEnno RuijtersEsther VerhoefAli B. OzmenAchim Leydecker
2
Overview
Task description - Yannick Physics and noise – Ali Simple method – Frans Complex method - Enno Product demonstration - Esther Experiments and results - Achim Conclusion - Yannick
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.
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
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 =
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.
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.
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
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
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
12
Tactical method (snooker tactic)
• Snooker if no potting possible Avoid snookering yourself Considers only direct snookers
13
Tactical method(easy ball tactic)
• Try to leave easy balls for later shots
Avoid impossible shots later Problem: helping opponent?
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
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
Experiments
Noise All four types of noise are tested
separately with five different degrees of intensity
Fixed maximum number of random samples
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
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.