A Game of Billiards in Empirical Modelling Richard Coleman.

Slides:



Advertisements
Similar presentations
Small Group Teaching. The Importance of Seminars Develops students' understanding Encourages students to take responsibility for their own learning Develops.
Advertisements

Module 13: Performance Tuning. Overview Performance tuning methodologies Instance level Database level Application level Overview of tools and techniques.
CS4432: Database Systems II
The Logic of Intelligence Pei Wang Department of Computer and Information Sciences Temple University.
Artificial Intelligence 13. Multi-Layer ANNs Course V231 Department of Computing Imperial College © Simon Colton.
Computer Science 111 Fundamentals of Programming I Introduction to Object-Based Programming.
Flappy bird guide for Scratch
Intelligent Agents Russell and Norvig: 2
CHAPTER 4 DECISION SUPPORT AND ARTIFICIAL INTELLIGENCE Brainpower for Your Business.
1 Electrical and Computer Engineering Guitar Virtuos Justin D’Alessando (EE) Jacob Dionne (CSE) Adam Montalbano (CSE) Jeffrey Newton (EE) Team Kelly Preliminary.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Relational Algebra Chapter 4, Part A Modified by Donghui Zhang.
INFS614, Fall 08 1 Relational Algebra Lecture 4. INFS614, Fall 08 2 Relational Query Languages v Query languages: Allow manipulation and retrieval of.
Minority Games A Complex Systems Project. Going to a concert… But which night to pick? Friday or Saturday? You want to go on the night with the least.
CMPT 354, Simon Fraser University, Fall 2008, Martin Ester 52 Database Systems I Relational Algebra.
The Decision-Making Process IT Brainpower
Electrical Engineering Department Software Systems Lab TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY Meeting recorder Application based on Software Agents.
What is AI  An attempt to imitate human reactions by scripting reactions to happen when a certain cause is brought about.
ART: Augmented Reality Table for Interactive Trading Card Game Albert H.T. Lam, Kevin C. H. Chow, Edward H. H. Yau and Michael R. Lyu Department of Computer.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
© M.E. Fayad SJSU -- CmpE Analysis Heuristics Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
Oct 30, 2001 Richard Fateman1 Do Math Making Computers Do Math Prof. Richard Fateman Fall, 2001 University of California, Berkeley.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Relational Algebra Chapter 4 - part I. 2 Relational Query Languages  Query languages: Allow manipulation and retrieval of data from a database.  Relational.
Creative Software for the Creative Industries Dr. Simon Colton Department of Computing Imperial College, London.
Creating pong in scratch Learning objectives: To learn how to program Sensing via colour and sprite proximity O:\ICT\ks3\scratch\scratch Exercises\Creating.
CS 352, W12 Eric Happe, Daniel Sills, Daniel Thornton, Marcos Zavala, Ben Zoon ANDROID/IOS RPG GAME UI.
Playing for Life – what is it? Playing for life is an approach to coaching that uses games rather than drills to introduce the skills and tactics of the.
Exploring Math What is Exploring Math? A comprehensive intervention and reinforcement resource An easy to implement resource for summer school, after.
Hex Combinatorial Search in Game Strategy by Brandon Risberg May 2006Menlo School.
Chapter 24 Real Estate Mathematics
Early Design Process Brent M. Dingle, Ph.D Game Design and Development Program Mathematics, Statistics and Computer Science University of Wisconsin.
Artificial Intelligence: Its Roots and Scope
Active Structure A + B = C. Logic and Numbers IF A + B = C THEN D + E = F.
Event Driven Programming
A Spring 2005 CS 426 Senior Project By Group 15 John Studebaker, Justin Gerthoffer, David Colborne CSE Dept., University of Nevada, Reno Advisors (CSE.
DAT602 Database Application Development Lecture 12 C/S Model Database Application.
Robotics Simulation (Skynet) Andrew Townsend Advisor: Professor Grant Braught.
DESC9180 Designing Virtual Worlds Week 12 Future of Virtual Worlds 6pm – 9pm Tuesday, October 16 th, 2007 Kathryn Merrick and Owen Macindoe DESC9180 Designing.
Neural Networks AI – Week 23 Sub-symbolic AI Multi-Layer Neural Networks Lee McCluskey, room 3/10
Let’s play snooker!. Overview Introduction to snooker UML diagram Physics Simulation techniques Result Conclusion Further research.
CS 4730 Action vs. Interaction CS 4730 – Computer Game Design Credit: Several slides from Walker White (Cornell)
Principles of intelligent systems -DG 215- Nikos Kompotis Nic Minns
CS 352, W12 Eric Happe, Daniel Sills, Daniel Thornton, Marcos Zavala, Ben Zoon ANDROID/IOS RPG GAME UI.
Last.fm Hall of F/S Brian Morris Edward Nishihama.
1 Relational Algebra and Calculas Chapter 4, Part A.
CS 352, W12 Eric Happe, Daniel Sills, Daniel Thornton, Marcos Zavala, Ben Zoon ANDROID/IOS RPG GAME UI.
MEMORY Memory is important for information processing, particularly when we rely on our previous experiences It is important in determining the motor programme.
1 Frisbee Physics Simulation Charles George Advisor: Brian Postow 03/05/05.
Analyse Results Effect on performance of strengths and weaknesses in basketball.
1 Let’s play snooker Group 2 Yannick Thimister Frans van den Heuvel Enno Ruijters Esther Verhoef Ali B. Ozmen Achim Leydecker.
M1G Introduction to Programming 2 5. Completing the program.
Intro CS – Screens and Variables Lesson Plan 9. Goals  Using sprites as full screens (Start screen, Game over)  Using layering to control ordering of.
Troops and Flags ITCS /10/07. Graduate Team #1 Daniel – Model (Team Leader) Jonathan –Rule Checker Priyesh – View, Sprites, Foley artist Rob –
Decision Making Under Uncertainty - Bayesian Techniques.
Runo Marian, Oppliger Andreas, Neff Marius, Hirt Luca Games to Science Project „Tankwar“ by.
 Defined STEM and 21 st Century Teaching and Learning Evelyn Wassel, Ed. D.
SharePoint 2010 Business Intelligence Module 7: Filter Web Parts.
MATLAB Lab Simulating Billiard Game Modify hitball.m and myball.m to simulate 3-cushion billiard game. Rules: –two players –three balls.
L3-S1Analysis Heuristics 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Artificial Intelligence Knowledge Representation.
OBJECT ORIENTED VS STRUCTURED WHICH ONE IS YOUR CHOICE.
Why study programming languages?
Object-Oriented Database Management System (ODBMS)
Relational Algebra Chapter 4 1.
BILLIARDS THERE’S MORE TO IT THAN YOU THINK… A PowerPoint Presentation
Artificial Intelligence Lecture No. 5
Completing the tasks for A452 with….
Relational Algebra Chapter 4 1.
Event Driven Programming
Software Engineering Experimentation
Presentation transcript:

A Game of Billiards in Empirical Modelling Richard Coleman

Presentation Overview (1)  Background to the Project –Involvement with the EM Group –What is EM? –Choice of Project to Take Over  Development –Level 1 –Level 2 –Level 3 –Level 4 –Level 5 –Level 6

Presentation Overview (2)  Summary of Functionality  Problems Encountered –What Were They? –How Were They Dealt With?  Future Extensions  Summary and Conclusion  Questions

Background to the Project  Joined EM Group in Summer 2003  What is Empirical Modelling? –Modelling the “Real World” using: Observables, which are constants about the domain being modelled Dependencies, which hold between the Observables Agents, which cause changes to the Observables and the system –Attempts to bridge divide between “Real World” and the formality of Logic & Maths – Background  EM Project Choice Development Level 1 Level 2 Level 3 Level 4 Level 5 Level 6 Summary of Functionality Problems What they were Solutions Extensions Summary + Conclusion

Choice of Model to Use  Three existing models in EM archive: –Simon Yung, 1996 –Alexei Moissenkov, 1999 –Ben Carter, 1999  Chose to use Moissenkov 1999 because: –Good use of levels –Easy to extend –Lack of complexity found in others Background EM  Project Choice Development Level 1 Level 2 Level 3 Level 4 Level 5 Level 6 Summary of Functionality Problems What they were Solutions Extensions Summary + Conclusion

Level 1  Moissenkov’s Level 1 very limited  Implemented a complete table, with pockets and ball re-spotting  Added a level loader  Added a reset button Background EM Project Choice Development  Level 1 Level 2 Level 3 Level 4 Level 5 Level 6 Summary of Functionality Problems What they were Solutions Extensions Summary + Conclusion

Level 1 Background EM Project Choice Development  Level 1 Level 2 Level 3 Level 4 Level 5 Level 6 Summary of Functionality Problems What they were Solutions Extensions Summary + Conclusion

Level 2  Moissenkov simply added friction  Implemented extra balls, complete with ball-respotting  Implemented cue ball repositioning Background EM Project Choice Development Level 1  Level 2 Level 3 Level 4 Level 5 Level 6 Summary of Functionality Problems What they were Solutions Extensions Summary + Conclusion

Level 2 (Moissenkov) Background EM Project Choice Development Level 1  Level 2 Level 3 Level 4 Level 5 Level 6 Summary of Functionality Problems What they were Solutions Extensions Summary + Conclusion

Level 2 (Coleman) Background EM Project Choice Development Level 1  Level 2 Level 3 Level 4 Level 5 Level 6 Summary of Functionality Problems What they were Solutions Extensions Summary + Conclusion

Level 3  Moissenkov added balls and replay facility  Filtered out replay code and made it into a completely separate level  Replay available at the touch of a button Background EM Project Choice Development Level 1 Level 2  Level 3 Level 4 Level 5 Level 6 Summary of Functionality Problems What they were Solutions Extensions Summary + Conclusion

Level 4  Level at which rules are added  Includes scoreboard, and detection of all types of shots  Graphically looks similar to Moissenkov’s top level  Functionally similar to Moissenkov too Background EM Project Choice Development Level 1 Level 2 Level 3  Level 4 Level 5 Level 6 Summary of Functionality Problems What they were Solutions Extensions Summary + Conclusion

Level 4 (Coleman) Background EM Project Choice Development Level 1 Level 2 Level 3  Level 4 Level 5 Level 6 Summary of Functionality Problems What they were Solutions Extensions Summary + Conclusion

Level 5  Completely new level, implementing Spin (aka “English”)  Spin chosen by clicking on ball image on RHS  Selection image changes colour according to whose shot it is  Calculations include spin off of cushions Background EM Project Choice Development Level 1 Level 2 Level 3 Level 4  Level 5 Level 6 Summary of Functionality Problems What they were Solutions Extensions Summary + Conclusion

Level 5 Background EM Project Choice Development Level 1 Level 2 Level 3 Level 4  Level 5 Level 6 Summary of Functionality Problems What they were Solutions Extensions Summary + Conclusion

Level 6  Implements a playable Artificial Intelligence  Calculates 3 types of shot: –Pot –In-Off –Cannon  Chooses and takes most appropriate shot  Skill and “Adventurousness” can be varied using scrollbars Background EM Project Choice Development Level 1 Level 2 Level 3 Level 4 Level 5  Level 6 Summary of Functionality Problems What they were Solutions Extensions Summary + Conclusion

Level 6 Background EM Project Choice Development Level 1 Level 2 Level 3 Level 4 Level 5  Level 6 Summary of Functionality Problems What they were Solutions Extensions Summary + Conclusion

Summary of Functionality (1)  Completely working 4-layered Billiards model, based on but an improvement of billiardsMoissenkov1999  Improvements include: –Restructuring of layers –Addition of a model reset facility –Addition of a level loader Background EM Project Choice Development Level 1 Level 2 Level 3 Level 4 Level 5 Level 6  Summary of Functionality Problems What they were Solutions Extensions Summary + Conclusion

Summary of Functionality (2)  Partial implementation of cue ball spin –Interface completed and functional –Problems with Physics  Partial implementation of fully playable Artificial Intelligence  How is it an Empirical Model? –More on this in project demonstration Background EM Project Choice Development Level 1 Level 2 Level 3 Level 4 Level 5 Level 6  Summary of Functionality Problems What they were Solutions Extensions Summary + Conclusion

Problems Encountered  Time Management not the issue!  Spin is a complex and little-understood mathematical problem  Potting a ball is easy  Calculating in-offs and cannons is not  Rules of inherited model were poor What went wrong… Background EM Project Choice Development Level 1 Level 2 Level 3 Level 4 Level 5 Level 6 Summary of Functionality Problems  What they were Solutions Extensions Summary + Conclusion

Problems Encountered  Main focus on AI, since Spin has been looked at in previous projects  Recognition that in-off and cannon are essentially the same shot  Attempt to build an approximation method for in-offs –Problems with pockets and table orientation  More on this in demonstration Attempted Solutions… Background EM Project Choice Development Level 1 Level 2 Level 3 Level 4 Level 5 Level 6 Summary of Functionality Problems What they were  Solutions Extensions Summary + Conclusion

Future Extensions  Fix implementations of Spin & AI –May be completed before Report  Implement AI taking shots off cushions  Implement AI learning and improving its play –Possibly through use of an EDDI database  Convert Non-AI levels to dtkEden –Two player game over a network Background EM Project Choice Development Level 1 Level 2 Level 3 Level 4 Level 5 Level 6 Summary of Functionality Problems What they were Solutions  Extensions Summary + Conclusion

Summary and Conclusion  Model has come a long way since Moissenkov  Spin a slight disappointment but may be (relatively) easily fixed  AI does take shots  Plenty of scope for extension / improvement by myself and / or others –Perhaps next year’s project students! Background EM Project Choice Development Level 1 Level 2 Level 3 Level 4 Level 5 Level 6 Summary of Functionality Problems What they were Solutions Extensions  Summary + Conclusion

Questions? Richard Coleman 2004