Kalah thread

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Kalah thread
There was a question about Kalah rules. You should use the rules described in the introduction section on the Wikipedia page Kalah - Wikipedia, before the contents. I’m copying them here.

The game provides a Kalah board and a number of seeds or counters. The board has 6 small pits, called houses, on each side; and a big pit, called an end zone, at each end. The object of the game is to capture more seeds than one’s opponent.

You can use a database, but your submission still needs to be submitted as [m].class[/m], [m].java[/m], [m].scala[/m] or [m].jar[/m] (meaning you need to bundle the database). We are figuring out what a sensible limit on this would be. It will, of course, be less than any limit imposed by StudOn.

What’s the limit for databases?
Hello Katja,

the Kalah homework is due tomorrow, right?
Is the limit still the same as the limit of StudOn (200 MB as far as I remember?).

Best regards, Marco and Tobias


Yes, 200MB is ok.


When and where will the tournament occur?


I’m currently running the tournament on a laptop. It’s just past round 1 (3 houses) and halfway into round 2 (4 houses). A few agents that either produced exceptions or made an excessive amount of illegal moves got disqualified. I expect to get through all the rounds by Monday or so. On Tuesday, during lecture, we’ll run a mini tournament between the winners from this year and past years. I’ll also ask the teams with agents that did best or something interesting to talk about it briefly.

Should I post the intermediate scores?


Yes please, we’d be interested in the scores.

Best regards :slight_smile:

Scores after round 1, 3 houses and 3 seeds
Most agents entered the first round. Possible reasons for not getting into the first round were not working with the framework (possibly with some minor fixes), me noticing that they simply duplicated the Random Player, or similar. In addition to the submitted agents, there were three random players (named somewhat predictably) and Dennis’ agent Jazzpirate.

300 Prometheus
297 Kalahmari
282 DerGeisterPanzer
279 MohamedKalah
276 SchwanksAgent
264 Jazzpirate
252 awenga gscheida agent
246 Backblech
228 UberAgent
204 Jeshannes
165 GreedyAgent
165 KilalAgent
156 MiniMuskAgent
144 MyKalahRandomSolver
135 Oli
129 XXXKalaaaaahHuakbarXXX
129 JovialAgent
126 BeulahBot3
123 Fladni
120 Random2
102 Random1
99 Random3
99 Agent_of_ChJo
99 Jmi928A
99 Freedom4HK
99 CoHe
99 Tars
90 IsekaiTrash
66 SomeMinMaxAgent

The first round saw some exceptions (NullPointer by CoHeAgent, IllegalArgumentException by FladniAgent and a thread exception by LitzuckAgent) and illegal moves:

329 CoHe
320 Fladni
134 Oli
107 BeulahBot3
80 IsekaiTrash
29 XXXKalaaaaahHuakbarXXX
18 MiniMuskAgent
12 KilalAgent
9 Prometheus
2 SchwanksAgent

Agents that did not throw exceptions and had at most 100 illegal moves in total got into round 2.

Scores after round 2, 4 houses and 4 seeds
Here are the results after round 2 (corrected after a naming error)

632 Prometheus
621 Kalahmari
572 UberAgent
572 SchwanksAgent
570 DerGeisterPanzer
532 Jazzpirate
523 MohamedKalah
500 Backblech
492 awenga gscheida agent
384 Jeshannes
320 MyKalahRandomSolver
307 Tars
296 MiniMuskAgent
277 KilalAgent
275 Agent_of_ChJo
261 GreedyAgent
253 XXXKalaaaaahHuakbarXXX
237 JovialAgent
199 Jmi928A
195 Freedom4HK
190 Random1
179 Random3
164 Random2
158 SomeMinMaxAgent
90 IsekaiTrash


Results after round 3, 6 houses and 6 seeds:

1173 Kalahmari
1118 Prometheus
1094 SchwanksAgent
1052 UberAgent
961 MohamedKalah
934 Jazzpirate
900 awenga gscheida agent
896 Backblech
786 DerGeisterPanzer
637 Tars
629 Agent_of_ChJo
602 MiniMuskAgent
588 Jeshannes
536 MyKalahRandomSolver
499 KilalAgent
495 JovialAgent
381 Freedom4HK
367 Jmi928A
349 XXXKalaaaaahHuakbarXXX
333 GreedyAgent
290 SomeMinMaxAgent
280 Random1
263 Random3
176 Random2
90 IsekaiTrash


Scores after round 4, 8 houses and 8 seeds:

In round 4, another agent was added (due to some earlier issues) - Stein3000.

1925 Kalahmari
1814 SchwanksAgent
1758 Prometheus
1732 UberAgent
1561 MohamedKalah
1524 awenga gscheida agent
1494 Jazzpirate
1424 Backblech
1250 DerGeisterPanzer
1085 Tars
1058 MiniMuskAgent
1037 Agent_of_ChJo
924 Jeshannes
871 JovialAgent
856 MyKalahRandomSolver
723 KilalAgent
685 Freedom4HK
639 Jmi928A
546 SomeMinMaxAgent
533 XXXKalaaaaahHuakbarXXX
445 GreedyAgent
384 Random1
304 Random2
303 Random3
90 IsekaiTrash
64 Stein3000

I also checked for illegal moves:

479 Stein3000
164 XXXKalaaaaahHuakbarXXX
101 KilalAgent
98 DerGeisterPanzer
8 SomeMinMaxAgent
5 awenga gscheida agent
3 MiniMuskAgent
2 Prometheus
2 SchwanksAgent
1 MohamedKalah

Agents not continuing to the next round are those that did not get a score over 800 or made over 90 illegal moves.

DerGeisterPanzer
KilalAgent
Freedom4HK
Jmi928A
SomeMinMaxAgent
XXXKalaaaaahHuakbarXXX
GreedyAgent
Random (1-3)
IsekaiTrash
Stein3000


Scores for the top 13 and Jazzpirate for round 5, 10 houses and 10 seeds

2405 Kalahmari
2334 SchwanksAgent
2178 Prometheus
2152 UberAgent
1864 awenga gscheida agent
1861 MohamedKalah
1794 Jazzpirate
1544 Backblech
1278 MiniMuskAgent
1245 Tars
1157 Agent_of_ChJo
984 Jeshannes
956 MyKalahRandomSolver
951 JovialAgent


Scores for the top 13 and Jazzpirate for round 6, 12 houses and 12 seeds

3005 Kalahmari
2934 SchwanksAgent
2658 Prometheus
2656 UberAgent
2272 awenga gscheida agent
2245 MohamedKalah
2118 Jazzpirate
1736 Backblech
1542 MiniMuskAgent
1461 Tars
1349 Agent_of_ChJo
1052 MyKalahRandomSolver
1044 Jeshannes
999 JovialAgent

I would like to ask the top 3 teams and anyone else who things they did something interesting to tell us tomorrow during the lecture.


Of course, congratulations to the winners, and everybody else, especially those who got to stretch their programming skills!


I think you should include in the assignment description that it is not allowed to return illegal moves or throw exceptions or modify the framework to fail whenever an agent does one of these.
It was never said that it is not allowed to throw exceptions or do illegal moves as far as I know.

I also think it is quite unfair that DerGeisterPanzer was disqualified because at first the limit was 100 illegal moves and later suddenly 90 - probably just to disqualify DerGeisterPanzer. (Even though this change was good for my bonus points)

Teams that made agents like DerGeisterPanzer probably put many hours into creating their agent and then get disqualified for some illegal moves even though it was not forbidden to do return them.
As said before I think it would be good to include this in the problem statement so everyone can simply do a big try/ catch and use a simple method to prevent illegal moves.

1 „Gefällt mir“

Homework points for the Kalah tournament
The criteria for the points were not throwing exceptions, working with the framework, performing better than the random player, playing few illegal moves. In general an agent got 100 points, if it performed marginally better than the random player and did not throw exceptions.

Agents did not enter the tournament if they didn’t work with the framework, simply duplicated the RandomPlayer, or similar. Agents that didn’t work with the framework, were throwing errors, or otherwise did not do much got 60 points. Agents that performed comparably to the random player got 80 points.

The first round (3 houses, 3 seeds) mainly served to eliminate agents that were producing exceptions or excessive numbers of illegal moves.

All other agents participated in rounds 2-4 (4, 6, 8 houses and seeds). At this point, there were too many agents to include them all in the following rounds (if nothing else, for running purposes).

Finally, some bonus points were awarded to a team that presented a different approach, whose agent didn’t get any extra points for a good score.

Please check that I got all the teams right. If your agent didn’t get bonus points, you didn’t get any bonus points, but you talked about your solution in the discussion, also let me know.

200 Kalahmari
190 SchwanksAgent
180 Prometheus
170 UberAgent
160 AwengaGscheidaAgend
150 MohamedKalah
140 BackblechAgent
130 MiniMuskAgent
120 Tars
120 Stein3000
110 Agent_of_ChJo
100 DerGeisterPanzer
100 MyKalahRandomSover
100 AlphaBetaPruningAgent
100 JovialAgent
100 KilalAgent
100 Freedom4HK
100 Jmi928A
100 KalahGAgent
100 DavidManuLiamAgent
100 GreedyAgent
80 LitzuckAgent
80 BeulahBot3
60 FladniAgent
60 CoHe
80 IsekaiTrash
60 TotoAndRose
60 Player
60 Dog