We are going to, in the probably the second week of December, we're going to
make a KALA championship where you form groups, if you want, and build a KALA AI.
Anybody know the game KALA? It's one of the oldest games on the planet. You play
it by having little pebbles or acorns or whatever you have. You make a couple of
little pits into the sand or into the earth or something like this in the form
that's basically like this and you take your acorns and basically evenly
distribute them on the inner pits. These are your private pits, right?
Both players get one and then the game mechanics is very simple. You take all
the acorns out of a pit of your choice and distribute them onto, in
this case there's two, onto the next two. If the opposing pit is empty, you
can take these and you can take your own pit. What was it that way? Well, maybe
if your last acorn comes into an
empty pit then you can take the opponent's acorns. So if this one is
empty, I empty out this one, put one here, put one there, take those, put them into
my own pit. And if I do that, I can basically do it again until I don't get
to take any acorns home and then the opponent can do the same. Very simple
game, surprisingly interesting. And if that is not interesting enough, you just
make it bigger. Okay, so what we're going to do is we're going to have a
championship where any number of groups can enter, build one, not in Prolog but
in Java or Scala. We're relenting on this, taking a real
programming language. And we basically supply with a game simulator
which your system can actually say, oh I want to empty out pit three and
distribute and so on. And in the end we'll have a big tournament in this
week, the second week of December. And we'll just have a ranking of teams and
so this will be one homework and the first ten groups get bonus points.
The first, the winner of it all gets a hundred bonus points and the second one
ninety and so on. And everybody who submits a color that actually
plays color gets four points but no bonus points unless they're in the
top ten. This is work but you'll have, it's a lot of fun and it's also, you
understand search very well after that typically. Okay and of course we're
going to also try out your systems against last year's systems, if they still
run who knows. So you can see how you're doing. Okay so actually I think Cala,
there are winning strategies to Cala up to six which you could download but of
course we're going to play it with seven and all. But it's good to actually train
if you need to train on smaller Calas. Okay upshot of all that I've been saying,
if you want to win here you better understand get an intuitive feeling for
the search spaces involved. So this is a good, this is just a nice thing. Any
questions? Yes.
Anything that talks to our Java classes is allowed so there are Java
Python bridges and if you can get that to work be my guest. I don't believe that
this is a good idea but who knows what you can cook up.
Python is Turing complete, meaning you can do anything in Python that you can
do in Java. The answer is yes you can do it in Python. I do not care what your
program does. Okay. It should be written by you though and it should play Cala.
Anything else is your private enjoyment. And it will be group work, okay, other
than the other homeworks. Any more questions?
How many persons are form one group? I believe it is three but don't quote me on
this. Dennis will organize the whole thing. All right, thank you. If you need
to know, post a question on the forum.
Presenters
Zugänglich über
Offener Zugang
Dauer
00:07:43 Min
Aufnahmedatum
2020-10-28
Hochgeladen am
2020-10-28 10:16:55
Sprache
en-US
Announcement for the Kalah Championship. A short explanation of Kalah, the rules and rewards.
NOTE: The date and other statements about this championship might have changed. Please ask in the forum for prevailing information.