Solving Robocup Problems Using Different Methodologies: Agent Oriented Programming & Design, Expert System and Genetic Programming - Binus e-Thesis
INTERNATIONAL UNDERGRADUATE PROGRAM
BINA NUSANTARA UNIVERSITY
Major Computer Science
Sarjana Komputer Thesis
Semester Even year 2004/2005
SOLVING ROBOCUP PROBLEMS USING DIFFERENT METHODOLOGIES:
Agent Oriented Programming & Design, Expert System, and Genetic
Programming
David Kartopranoto 0500552985 Glenn Cornelius Layaar 0500550632 Henry Suryawirawan 0500563521Abstract
RoboCup is an international competition in which teams of autonomous robots or
software softbots compete in simulated soccer matches to demonstrate cooperative
robotic techniques in a very difficult, dynamic, real-time, and noisy environment. This
thesis will only deal with creating software softbots soccer teams which were developed
using three different methodologies: Agent Oriented Programming and Design, Expert
System, and Genetic Programming. It is hoped that the results of the experiment would
be able to point out some advantages and disadvantages of using each methodology in
solving the RoboCup problem or similar type of problems.To simplify the problem domain, we created our own simulator including the exclusion
of real time problem restriction that is introduced in the real RoboCup simulator. Each
methodology submitted a five-player soccer team, and along with two other benchmark
teams, would compete in a simulated league in which each team would meet each other.
The results show that it is possible to solve RoboCup problem using those three
methodologies which can perform well. A surprising result came through as the Genetic
Programming team, developed using machine learning technique, finished the league on
top of one methodology which was hand-coded with fully human intervention. This
shows promising outcome of the machine learning techniques to solve similar type of
problems.Even though the result of the league was also subjective to each strategy used by each
team, we tried to draw a conclusion on the advantages and disadvantages of each
methodology by analyzing the general capability of it in dealing with such problems.
Hopefully, the analysis will be beneficial for further experiments on RoboCup problem
and also on using those three methodologies in solving other problems in different areas
as well.Abstract
Acknowledgements
We would like to thank Raymondus Kosala, Ph. D for his guidance, assistance, and
encouragement throughout the development of this thesis. We would also like to thank
our friend Yakin for his participation in creating a benchmark team to be included in our
experiment. Our family, friends, and teachers are also a constant support for which we
are especially grateful.Acknowledgements
TABLE OF CONTENTS
TRUCTURES 2. THEORETICAL FOUNDATION........................................ ERROR! BOOKMARK NOT DEFINED.
2.1.3 Applications of Expert System ........................................... Error! Bookmark not defined.
2.1.1 ............................................................ Error! Bookmark not defined. Definition of Expert 2.1.2 Advantages and Disadvantages of Expert System.............. Error! Bookmark not defined.
RROR ! B OOKMARK NOT DEFINED .
..................................................................E
YSTEM
S
XPERT
2.2 E
2.1.2 Agent Concept.................................................................... Error! Bookmark not defined.
2.1.1 Agent Definitions ............................................................... Error! Bookmark not defined.
RROR ! B OOKMARK NOT DEFINED .
2.1 A GENT O RIENTED P ROGRAMMING AND D ESIGN .................E
......................................................................... ERROR! BOOKMARK NOT DEFINED. COVER PAGE TITLE PAGE ........................................................................... ERROR! BOOKMARK NOT DEFINED.
CERTIFICATE OF APPROVAL FOR HARDCOVER COPYERROR! BOOKMARK NOT DEFINED.
1.5 .......................................................................E
UESTIONS
Q
ESEARCH
RROR ! B OOKMARK NOT DEFINED . R
1.4 ........................................................E
IMS AND B ENEFITS
1.3 ...........................................................E RROR ! B OOKMARK NOT DEFINED . A
1.1.2 Expert System..................................................................... Error! Bookmark not defined. 1.1.3 ......................................................... Error! Bookmark not defined. Genetic Programming 1.2 S COPE .................................................................................E RROR ! B OOKMARK NOT DEFINED .
1.1.1 Agent Oriented Programming and Design ......................... Error! Bookmark not defined.
1.1 B ACKGROUND .....................................................................E RROR ! B OOKMARK NOT DEFINED .
1. INTRODUCTION................................................................ ERROR! BOOKMARK NOT DEFINED.
RROR ! B OOKMARK NOT DEFINED . S
2.1.5 Rule-based Expert Systems ................................................ Error! Bookmark not defined.
1) System Goals.................................................................................. Error! Bookmark not defined. 2) Functionalities ................................................................................ Error! Bookmark not defined. 3) Scenarios ........................................................................................ Error! Bookmark not defined. 4) .............................................................. Error! Bookmark not defined. System Interface Diagram ........................................................... Error! Bookmark not defined.
RROR ! B OOKMARK NOT DEFINED .
3.2 ...................................................................E
RROR ! B OOKMARK NOT DEFINED . M
Y
S
IMULATOR 4. SOLUTION DESIGN .......................................................... ERROR! BOOKMARK NOT DEFINED.
4.1 A GENT O RIENTED P ROGRAMMING AND D ESIGN .................E
RROR ! B OOKMARK NOT DEFINED .
A. System Specification .......................................................... Error! Bookmark not defined.
B. Architectural Design
ROBLEM
................................................................ Error! Bookmark not defined. 1) Grouping Functionalities 2) Interaction Protocol ........................................................................ Error! Bookmark not defined. 3) ........................................................................... Error! Bookmark not defined. System Overview
C. .................................................................. Error! Bookmark not defined. Detailed Design
1) ............................................................................. Error! Bookmark not defined. Agent Overview 2) ............................................................................. Error! Bookmark not defined. Process Diagram
4.1.1 .................................................................................. Error! Bookmark not defined. JACK
4.2 E
XPERT
S
YSTEM
..................................................................E
....................................................E
P
2.1.5.1 Rules and Facts .............................................................................. Error! Bookmark not defined.
2.3.1 Genetic Programming......................................................... Error! Bookmark not defined.
2.1.5.2 Forward chaining (a data driven strategy) ...................................... Error! Bookmark not defined.
2.1.5.3 Conflict resolution strategy ............................................................ Error! Bookmark not defined.
2.1.5.4 Backward chaining (a goal-driven strategy)................................... Error! Bookmark not defined.
2.3 G
ENETIC
P
ROGRAMMING
....................................................E
RROR ! B OOKMARK NOT DEFINED .
2.3.2 Functions and Terminals .................................................... Error! Bookmark not defined. 2.3.3 .................................... Error! Bookmark not defined. Closure and Sufficiency Properties 2.3.4 Genetic Programming Algorithm ....................................... Error! Bookmark not defined.
UP
2.3.5 ................................................................................. Error! Bookmark not defined. Fitness 2.3.6 .............................................................. Error! Bookmark not defined. Selection Methods
2.3.7 ...Error! Bookmark not defined. Evolutionary Operations: Reproduction, Crossover, and Mutation
2.3.8 ............................... Error! Bookmark not defined. Strongly Typed Genetic Programming 2.3.9 Co-evolution....................................................................... Error! Bookmark not defined.
2.3.10 Genetic Programming Applied to Soccer ........................... Error! Bookmark not defined.
3. PROBLEM ANALYSIS ...................................................... ERROR! BOOKMARK NOT DEFINED.
3.1 T
HE
R
OBO
C
RROR ! B OOKMARK NOT DEFINED .
4.2.2 ..................................................................................... Error! Bookmark not defined. Jess 4.2.3 ........................................................................ Error! Bookmark not defined. Facts design 4.2.4 ....................................................................... Error! Bookmark not defined. Rules design 4.2.5 ..................................... Error! Bookmark not defined. Conflict resolution strategy design ....................................................................... Error! Bookmark not defined.
R
RROR ! B OOKMARK NOT DEFINED .
.............................................................E
ECOMMENDATION
7.2 R
ONCLUSION
RROR ! B OOKMARK NOT DEFINED . C
7.1 .......................................................................E
NALYSIS 7. CONCLUSION AND RECOMMENDATION.................... ERROR! BOOKMARK NOT DEFINED.
A
ESULT
R
6. EVALUATION 6.1 ...................................................E RROR ! B OOKMARK NOT DEFINED . D EVELOPMENT A NALYSIS 6.2 ..............................................................E RROR ! B OOKMARK NOT DEFINED .
ESULTS .................................................................... ERROR! BOOKMARK NOT DEFINED.
EAGUE
4.2.6 Brain Design 4.3 ....................................................E RROR ! B OOKMARK NOT DEFINED .
5.2 L
RROR ! B OOKMARK NOT DEFINED .
...............................................................E
REPARATION
P
EAGUE
RROR ! B OOKMARK NOT DEFINED . L
5.1 .......................................................E
4.3.4 ............................................................... Error! Bookmark not defined. Evolution History 5. IMPLEMENTATION AND RESULT................................. ERROR! BOOKMARK NOT DEFINED.
4.3.1 ............................................................. Error! Bookmark not defined. Experiment Design 4.3.2 ................................................... Error! Bookmark not defined. GP System and Simulator 4.3.3 Evolutionary Team Submission.......................................... Error! Bookmark not defined.
ROGRAMMING
P
ENETIC
G
BIBLIOGRAPHY .................................................................... ERROR! BOOKMARK NOT DEFINED. CURRICULUM VITAE .......................................................... ERROR! BOOKMARK NOT DEFINED. APPENDIX A: LEAGUE STATISTICAL RESULTS ............ ERROR! BOOKMARK NOT DEFINED. APPENDIX B: FIXTURES RESULTS ................................... ERROR! BOOKMARK NOT DEFINED. APPENDIX C: KAKEGAWA TEAM..................................... ERROR! BOOKMARK NOT DEFINED. APPENDIX D: EVO TEAM PROGRAMS ............................. ERROR! BOOKMARK NOT DEFINED. APPENDIX E: EXPERT SYSTEM TEAM RULES TREES .. ERROR! BOOKMARK NOT DEFINED. APPENDIX F: MYSIMULATOR MANUAL ......................... ERROR! BOOKMARK NOT DEFINED.
List of Tables Table 4.1: Facts table ...................................................... Error! Bookmark not defined. Table 4.2: Terminal set used in the evolutionary runs. ... Error! Bookmark not defined. Table 4.3: Function set used in the evolutionary runs..... Error! Bookmark not defined. Table 4.4: GP control parameters.................................... Error! Bookmark not defined. Table 5.1: League final table result................................. Error! Bookmark not defined. Table 6.1: GP vs ES table result...................................... Error! Bookmark not defined. Table 6.2: ES vs other teams table result ........................ Error! Bookmark not defined. Table 6.3: GP team table result ....................................... Error! Bookmark not defined. Table 6.4: Agent team table result .................................. Error! Bookmark not defined
Table 7.1: Advantages and disadvantages of each methodology Error! Bookmark not
defined.
Table 7.2: Comparison of each methodology based on some criteria Error! Bookmark
not defined.List of Figures Figure 2.1: Agent Execution Cycle................................. Error! Bookmark not defined. Figure 2.2: AI Programs.................................................. Error! Bookmark not defined. Figure 2.3: Forward Chaining......................................... Error! Bookmark not defined. Figure 2.4: Depth-first search ......................................... Error! Bookmark not defined. Figure 2.5: Breadth-first search ...................................... Error! Bookmark not defined. Figure 2.6: A GP program represented as a program treeError! Bookmark not defined
Figure 2.7: Flow chart of genetic programming algorithmError! Bookmark not
defined.Figure 2.8: Crossover Operation..................................... Error! Bookmark not defined. Figure 2.9: Mutation Operation ...................................... Error! Bookmark not defined. Figure 3.1: MySimulator snapshot.................................. Error! Bookmark not defined. Figure 4.1: Prometheus Design Phase............................. Error! Bookmark not defined. Figure 4.2: Goal Diagram ............................................... Error! Bookmark not defined. Figure 4.3: Functionalities Diagram ............................... Error! Bookmark not defined. Figure 4.4: System Interface Diagram ............................ Error! Bookmark not defined. Figure 4.5: Grouping Functionalities Diagram ............... Error! Bookmark not defined. Figure 4.6: Goal Scoring Interaction Protocol ................ Error! Bookmark not defined. Figure 4.7: System Overview Diagram........................... Error! Bookmark not defined. Figure 4.8: Soccer Agent Diagram ................................. Error! Bookmark not defined. Figure 4.9: MidFielder Agent Diagram .......................... Error! Bookmark not defined.
Figure 4.10: Soccer Agent Goal Scoring Process DiagramError! Bookmark not
defined.Figure 4.11: MidFielder Agent Goal Scoring Process DiagramError! Bookmark not defined. Figure 4.12: Expert system process each tick ................. Error! Bookmark not defined. Figure 4.13: Evolutionary champion team learning curveError! Bookmark not defined.
Appendices Appendix A: League Statistical Results .......................... Error! Bookmark not defined
Appendix B: Fixtures Results .......................................... Error! Bookmark not defined.
Appendix C: Kakegawa Team ......................................... Error! Bookmark not defined.
Appendix D: Evo Team Programs ................................... Error! Bookmark not defined.
Appendix E: Expert System Team Rules Trees............... Error! Bookmark not defined.
Appendix F: MySimulator Manual.................................. Error! Bookmark not defined.