Let’s play snooker Group 2 Yannick Thimister Frans van den Heuvel Enno Ruijters Esther Verhoef Ali B. Ozmen Achim Leydecker 1 Overview Task description - Yannick Physics and noise – Ali Simple method – Frans Complex method - Enno Product demonstration - Esther Experiments and results - Achim Conclusion - Yannick 2 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. 3 Physics • Spin & Cue Ball • Impulse • Noise Model 4 Spin and Cue ball ...........0........... V Fx cos / M CB ...........0........... FZ sin Fy cos 2 FZ sin 5 M CB R F cos x V: Linear velocity ω: Angular velocity F: Force acting on ball by cue F: Force acting on ball by cue M: Mass of cue ball M: Mass of cue ball θ: Angle between q and x-y plane θ: Angle between q and x-y plane R : Radius of the cue ball J= 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 ; 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 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 10 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 11 Tactical method (snooker tactic) • Snooker if no potting possible Avoid snookering yourself Considers only direct snookers 12 Tactical method(easy ball tactic) • Try to leave easy balls for later shots Avoid impossible shots later Problem: helping opponent? 13 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 14 Program demonstration 15 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 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 & distanceminimization only Snookering is tested by playing against the simple method with 500 random samples Results Tactical vs. simple Total points Tactical Total Points simple 144.3 144.2 127.4 124.8 106.4 95.8 87.6 95 87 71.6 88.8 69.8 69.8 53.4 53 37.9 27 10.6 No noise N0 Only noise Only noise Only noise Only noise All noise, in force of in contact in cue in table level N1 shot point angle friction All noise, level N2 All noise, level N3 All noise, level N_{4} Results 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. 22 Questions