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
Glenn Cornelius Layaar
0500550632
Henry Suryawirawan
0500563521
0500552985
Abstract
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.
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.
TABLE OF CONTENTS
...ERROR! BOOKMARK NOT DEFINED. COVER PAGE
TITLE PAGE ...ERROR! BOOKMARK NOT DEFINED.
CERTIFICATE OF APPROVAL FOR HARDCOVER COPYERROR! BOOKMARK NOT DEFINED.
ABSTRACT ... II
ACKNOWLEDGEMENTS...III
TABLE OF CONTENTS
...7 ...4
LIST OF TABLES
LIST OF FIGURES...8
APPENDICES...10
1. INTRODUCTION...ERROR! BOOKMARK NOT DEFINED.
1.1 BACKGROUND...ERROR! BOOKMARK NOT DEFINED.
1.1.1 Agent Oriented Programming and Design ...Error! Bookmark not defined.
1.1.2 Expert System...Error! Bookmark not defined.
1.1.3 Genetic Programming...Error! Bookmark not defined.
1.2 SCOPE...ERROR! BOOKMARK NOT DEFINED.
1.3 AIMS AND BENEFITS...ERROR! BOOKMARK NOT DEFINED.
1.4 RESEARCH QUESTIONS...ERROR! BOOKMARK NOT DEFINED.
1.5 STRUCTURES...ERROR! BOOKMARK NOT DEFINED.
2. THEORETICAL FOUNDATION...ERROR! BOOKMARK NOT DEFINED.
2.1 AGENT ORIENTED PROGRAMMING AND DESIGN...ERROR! BOOKMARK NOT DEFINED.
2.1.1 Agent Definitions ...Error! Bookmark not defined.
2.1.2 Agent Concept...Error! Bookmark not defined.
2.2 EXPERT SYSTEM...ERROR! BOOKMARK NOT DEFINED.
2.1.1 Definition of Expert...Error! Bookmark not defined.
2.1.2 Advantages and Disadvantages of Expert System...Error! Bookmark not defined.
2.1.3 Applications of Expert System ...Error! Bookmark not defined.
2.1.5 Rule-based Expert Systems ...Error! Bookmark not defined.
2.1.5.1 Rules and Facts ...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 GENETIC PROGRAMMING...ERROR! BOOKMARK NOT DEFINED.
2.3.1 Genetic Programming...Error! Bookmark not defined.
2.3.2 Functions and Terminals ...Error! Bookmark not defined.
2.3.3 Closure and Sufficiency Properties...Error! Bookmark not defined.
2.3.4 Genetic Programming Algorithm...Error! Bookmark not defined.
2.3.5 Fitness...Error! Bookmark not defined.
2.3.6 Selection Methods...Error! Bookmark not defined.
2.3.7 ...Error! Bookmark not
defined.
Evolutionary Operations: Reproduction, Crossover, and Mutation
2.3.8 Strongly Typed Genetic Programming...Error! Bookmark not defined.
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 THE ROBOCUP PROBLEM...ERROR! BOOKMARK NOT DEFINED.
3.2 MYSIMULATOR...ERROR! BOOKMARK NOT DEFINED.
4. SOLUTION DESIGN ...ERROR! BOOKMARK NOT DEFINED.
4.1 AGENT ORIENTED PROGRAMMING AND DESIGN...ERROR! BOOKMARK NOT DEFINED.
A. System Specification ...Error! Bookmark not defined.
1) System Goals...Error! Bookmark not defined.
2) Functionalities...Error! Bookmark not defined.
3) Scenarios...Error! Bookmark not defined.
4) System Interface Diagram...Error! Bookmark not defined.
...Error! Bookmark not defined. B. Architectural Design
...Error! Bookmark not defined.
1) Grouping Functionalities
2) Interaction Protocol ...Error! Bookmark not defined.
3) System Overview...Error! Bookmark not defined.
C. Detailed Design...Error! Bookmark not defined.
1) Agent Overview...Error! Bookmark not defined.
2) Process Diagram...Error! Bookmark not defined.
4.1.1 JACK...Error! Bookmark not defined.
4.2 EXPERT SYSTEM...ERROR! BOOKMARK NOT DEFINED.
4.2.2 Jess...Error! Bookmark not defined.
4.2.3 Facts design...Error! Bookmark not defined.
4.2.4 Rules design...Error! Bookmark not defined.
4.2.5 Conflict resolution strategy design...Error! Bookmark not defined.
...Error! Bookmark not defined. 4.2.6 Brain Design
4.3 GENETIC PROGRAMMING...ERROR! BOOKMARK NOT DEFINED.
4.3.1 Experiment Design...Error! Bookmark not defined.
4.3.2 GP System and Simulator...Error! Bookmark not defined.
4.3.3 Evolutionary Team Submission...Error! Bookmark not defined.
4.3.4 Evolution History...Error! Bookmark not defined.
5. IMPLEMENTATION AND RESULT...ERROR! BOOKMARK NOT DEFINED.
5.1 LEAGUE PREPARATION...ERROR! BOOKMARK NOT DEFINED.
...ERROR! BOOKMARK NOT DEFINED. 5.2 LEAGUE RESULTS
...ERROR! BOOKMARK NOT DEFINED. 6. EVALUATION
6.1 DEVELOPMENT ANALYSIS...ERROR! BOOKMARK NOT DEFINED.
6.2 RESULT ANALYSIS...ERROR! BOOKMARK NOT DEFINED.
7. CONCLUSION AND RECOMMENDATION...ERROR! BOOKMARK NOT DEFINED.
7.1 CONCLUSION...ERROR! BOOKMARK NOT DEFINED.
7.2 RECOMMENDATION...ERROR! BOOKMARK NOT DEFINED.
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.
List of Tables
Table 4.1
: Facts table
...
Error! Bookmark not defined.
...
Error! Bookmark not defined.
Table 4.2
: Terminal set used in the evolutionary runs.
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.
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 tree
Error! Bookmark not defined.
Figure 2.7
: Flow chart of genetic programming algorithm
Error! Bookmark not
defined.
Figure 4.10
: Soccer Agent Goal Scoring Process Diagram
Error! Bookmark not
defined.
Figure 4.11
: MidFielder Agent Goal Scoring Process Diagram
Error! Bookmark not
defined.
Figure 4.12
: Expert system process each tick ...
Error! 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.