Implementation of Heuristic Algorithms for Board Games (SS2011)
The aim of the course is the implementation of a strong computer player for an extended version of Reversi. At the end of the course, a competition will be held between the developed computer players and a ranking is set up. The top of the ranking is the winner of the competition, and additional points to the final grade will be awarded to the winner.
During the course, techniques and concepts for creating stronger computer players are introduced incrementally which are expected to be studied and understood by the student. The course covers the following topics:
* Client network socket programming
* Basic multi-threaded programming
* Mini-max and paranoid search
* Alpha-beta pruning
* Iterative deepening
* Move sorting
* Aspiration windows
* Game state rating heuristics
* Empirical algorithmic efficiency analysis
* Performance and memory profiling
* Technical writing and reporting
Lab organisers are Viet Yen Nguyen (Dutch, English) and Gereon Kremer (German, English)
News
![]() | 04.05.2011 - Added links to a nice Alpha-Beta visualisation animations. |
![]() | 21.04.2011 - Added points to list of remarks. |
![]() | 07.04.2011 - Added meeting schedule and PDFs of exercises. |
![]() | 04.02.2011 - Added references and discussion group link. |
![]() | 31.01.2011 - Gereon Kremer added as lab organisor. |
![]() | 11.01.2011 - First setup of this website. |
References
![]() | Technical Writing Style by Wikiversity: en.wikiversity.org/wiki/Technical_writing_style |
![]() | Mayfield Handbook of Technical & Scientific Writing: www.mhhe.com/mayfieldpub/tsw/toc.htm |
![]() | Version Control with Subversion: svnbook.red-bean.com/en/1.5/svn-book.pdf |
![]() | Checkstyle for Java: checkstyle.sourceforge.net |
![]() | Alpha-Beta Pruning Animations: wolfey.110mb.com/GameVisual/launch.php homepage.ufp.pt/~jtorres/ensino/ia/alfabeta.html |
Global Meeting Schedule
Date | Time | Location | Exercise |
|---|---|---|---|
06.04.2011 | 17:30 - 18:15 | 4201b | |
21.04.2011 | 16:45 - 17:30 | 4201b | |
05.05.2011 | 16:45 - 17:30 | 4201b | |
19.05.2011 | 16:45 - 17:30 | 4201b | |
09.06.2011 | 16:45 - 17:30 | 4201b | |
30.06.2011 | 16:45 - 17:30 | 4201b |
Discussion Group
Use the mailinglist swp2011-rwth@googlegroups.com for general and technical questions and discussions among students. A searchable archive of the list can be found here. The used languages can be German and English. The mailinglist is monitored by Viet Yen and Gereon.
Remarks
![]() | Meetings will be held in English. Written student reports must be in English. |
![]() | Exercises will be provided in German. |
![]() | Student support will be in both German and English. |
![]() | By default, the implementation is expected to be in Java. Use of other languages require approval from me. |
![]() | Reports have to handled in a clearly defined location in your SVN folder as a PDF. |
![]() | Attendance of every meeting is mandatory. |
![]() | Students are expected to form and work in groups of 3 students. |
![]() | Grades are based on the quality of the written reports, the quality of the source code, the strength of the AI, team play and work attitude. |
![]() | The course follows the same structure and uses the same exercises set from the previous softwarepracticum: www-i2.informatik.rwth-aachen.de/i2/swp10/ |


