Small logo of ETH main building ETH Zurich : Computer Science : Pervasive Computing : Distributed Systems : Education : I2 SS2001

Reversi Turnier 2001

Termin: Montag, 2. Juli 2001, 15:30 Uhr
Ort: RZ F21, Clausiusstr. 59, direkt ans IFW grenzend (s. Gebäudeplan)

Ergebnisse

Folgende Programme wurde zur Teilnahme eingesendet:

TeamProgramm
Christian Hitz, Stefan Schulerpresto.Presto
Daniel Furrer, Valentin Kellergoldkueste.Goldkueste
Marco Graf und Jens Temnitzerfortuna.fortuna
Roger Fischer, Roger KasparFischRog.FischRog
Clemens Lombriser, Marc Andreyarp.Player
Markus WenkRhineValley.RhineValley
Peter Schudelspeedygonzales.SpeedyGonzales
Stefan ChristianiWaldsterben
Daniel Hobi, Thomas KaufmannfreakyPlayer.freakyPlayer
Thomas FrechthomasFrechsLion.ThomasFrechsLion
Andreas WeibelwhoTheFuckProgrammedThis.NudePlayer
Manuel Aschwandenzusammenfuegen.zusammenfuegen
Mark Blum, Andreas GrüterZug
Meier, Andreasdude.Dude
Michael Casty, Christoph Finkcfmc.MyPlayer
Raphi Berner, Gion-P. GrossSibesiech.Sibesiech
Christof GutscherChampignon.Champignon
Cyril Stutz, Jon RohrerBBplayer.BBplayer
Linard Moll, Marc Herzogrotfluhstrasse_12.rotfluhstrasse_12
Lukas Winterhalter, Gabriel MuellerSpeedy.Speedy

Als Wettkampfsystem wurde ein der Fussball-Weltmeisterschaft ähnliches angewendet. Zunächst werden (zufällig) 4 Gruppen zu je 5 Teilnehmern gebildet. Die besten zwei jeder Gruppe erreichen das Viertelfinale. Im Halbfinale und Finale wird dann um die Plätze 1 bis 5 gekämpft.

Die Ergebnisse im einzelnen

Gruppenspiele

Gruppe 1

RangNameSpieleSiegeNiederlagenUnentschiedenPunkte
1 BBplayer.BBplayer 4 4 0 0 156
2 Zug 4 3 1 0 126
3 whoTheFuckProgrammedThis.NudePlayer 4 2 2 0 102
4 FischRog.FischRog 4 1 3 0 49
5 zusammenfuegen.zusammenfuegen 4 0 4 0 18

Gruppe 2

RangNameSpieleSiegeNiederlagenUnentschiedenPunkte
1 fortuna.fortuna 4 4 0 0 147
2 freakyPlayer.freakyPlayer 4 3 1 0 92
3 Waldsterben 4 2 2 0 53
4 cfmc.MyPlayer 4 1 3 0 72
5 goldkueste.Goldkueste 4 0 4 0 151

Gruppe 3

RangNameSpieleSiegeNiederlagenUnentschiedenPunkte
1 dude.Dude 4 4 0 0 218
2 presto.Presto 4 3 1 0 112
3 Speedy.Speedy 4 2 2 0 75
4 speedygonzales.SpeedyGonzales 4 1 3 0 92
5 RhineValley.RhineValley 4 0 4 0 75

Gruppe 4

RangNameSpieleSiegeNiederlagenUnentschiedenPunkte
1 Sibesiech.Sibesiech 4 4 0 0 164
2 thomasFrechsLion.ThomasFrechsLion 4 3 1 0 133
3 rotfluhstrasse_12.rotfluhstrasse_12 4 2 2 0 53
4 Champignon.Champignon 4 1 3 0 47
5 yarp.Player 4 0 4 0 11

Viertelfinale

ISieger Gruppe 1Zweiter Gruppe 2
BBPlayerPresto54:10
IIZweiter Gruppe 1Sieger Gruppe 2
ZugDude18:40
IIISieger Gruppe 3Zweiter Gruppe 4
SibesiechfreakyPlayer47:17
IVZweiter Gruppe 3Sieger Gruppe 4
thomasFrechfortuna25:39

Halbfinale

H1Sieger ISieger III
SibesiechBBPlayer34:30
H2Sieger IISieger IV
fortunaDude10:54

Spiel um den 5. Platz (Vorentscheidung)

H3Zweiter IZweiter III
PrestofreakyPlayer41:21
H4Zweiter IIZweiter IV
ZugthomasFrech35:29

Finale

Sieger H1Sieger H2
DudeSibesiech49:15

Spiel um den 3. Platz

Zweiter H1Zweiter H2
BBPlayerfortuna12:52

Spiel um den 5. Platz

Sieger H3Sieger H4
ZugPresto53:10

Endplatzierung

1.Dude
2.Sibesiech
3.fortuna
4.BBplayer
5.Zug

Spiele Gruppe 1

SpielZeitRotPunkte RotGrünPunkte GrünErgebnisKommentar
rif35-153822 00:05:16.419 Zug 58 whoTheFuckProgrammedThis.NudePlayer 5 no moves left
rif35-154353 00:05:35.783 FischRog.FischRog 25 whoTheFuckProgrammedThis.NudePlayer 39
rif35-154941 00:05:49.770 BBplayer.BBplayer 57 whoTheFuckProgrammedThis.NudePlayer 7
rif35-155543 00:03:21.498 whoTheFuckProgrammedThis.NudePlayer 51 zusammenfuegen.zusammenfuegen 13
rif35-155917 00:05:16.415 FischRog.FischRog 6 Zug 49 red makes illegal move
rif35-160446 00:05:50.289 BBplayer.BBplayer 47 Zug 17
rif35-161049 00:00:12.626 zusammenfuegen.zusammenfuegen 2 Zug 2 red exceeds time limit
rif35-161115 00:06:00.544 FischRog.FischRog 16 BBplayer.BBplayer 48
rif35-161728 00:00:12.409 zusammenfuegen.zusammenfuegen 2 FischRog.FischRog 2 red exceeds time limit
rif35-161753 00:00:18.700 BBplayer.BBplayer 4 zusammenfuegen.zusammenfuegen 1 green exceeds time limit

Spiele Gruppe 2

SpielZeitRotPunkte RotGrünPunkte GrünErgebnisKommentar
rif36-153834 00:03:20.514 fortuna.fortuna 39 Waldsterben 25
rif36-154208 00:03:53.132 Waldsterben 11 freakyPlayer.freakyPlayer 53
rif36-154614 00:01:56.255 goldkueste.Goldkueste 33 Waldsterben 0 red makes illegal move
rif36-154823 00:03:34.727 Waldsterben 17 cfmc.MyPlayer 44 green makes illegal move
rif36-155210 00:04:19.681 freakyPlayer.freakyPlayer 26 fortuna.fortuna 18 red makes illegal move
rif36-155642 00:05:20.500 fortuna.fortuna 37 goldkueste.Goldkueste 27
rif36-160215 00:05:35.343 fortuna.fortuna 53 cfmc.MyPlayer 11
rif36-160803 00:02:55.587 freakyPlayer.freakyPlayer 0 goldkueste.Goldkueste 30 green makes illegal move
rif36-161111 00:02:36.900 cfmc.MyPlayer 15 freakyPlayer.freakyPlayer 13 red makes illegal move
rif36-161402 00:05:38.277 cfmc.MyPlayer 2 goldkueste.Goldkueste 61 green makes illegal move

Spiele Gruppe 3

SpielZeitRotPunkte RotGrünPunkte GrünErgebnisKommentar
rif37-153916 00:02:30.615 RhineValley.RhineValley 26 speedygonzales.SpeedyGonzales 38
rif37-154200 00:03:43.205 speedygonzales.SpeedyGonzales 21 Speedy.Speedy 43
rif37-154556 00:03:45.296 dude.Dude 50 speedygonzales.SpeedyGonzales 14
rif37-154954 00:04:20.405 presto.Presto 45 speedygonzales.SpeedyGonzales 19
rif37-155427 00:02:36.761 RhineValley.RhineValley 25 Speedy.Speedy 9 red exceeds time limit
rif37-155716 00:03:58.60 dude.Dude 54 RhineValley.RhineValley 10
rif37-160127 00:02:22.587 RhineValley.RhineValley 14 presto.Presto 12 red exceeds time limit
rif37-160402 00:05:09.757 dude.Dude 54 Speedy.Speedy 10
rif37-160925 00:05:44.338 presto.Presto 51 Speedy.Speedy 13
rif37-161522 00:06:09.996 presto.Presto 4 dude.Dude 60

Spiele Gruppe 4

SpielZeitRotPunkte RotGrünPunkte GrünErgebnisKommentar
rif38-153855 00:00:18.127 rotfluhstrasse_12.rotfluhstrasse_12 5 yarp.Player 2 green makes illegal move
rif38-153927 00:00:10.466 yarp.Player 3 thomasFrechsLion.ThomasFrechsLion 3 red makes illegal move
rif38-153949 00:00:08.788 yarp.Player 3 Sibesiech.Sibesiech 3 red makes illegal move
rif38-154010 00:00:10.502 yarp.Player 3 Champignon.Champignon 3 red makes illegal move
rif38-154033 00:05:12.532 rotfluhstrasse_12.rotfluhstrasse_12 1 thomasFrechsLion.ThomasFrechsLion 62 no moves left
rif38-154558 00:04:40.203 Sibesiech.Sibesiech 52 rotfluhstrasse_12.rotfluhstrasse_12 12
rif38-155051 00:05:54.821 Champignon.Champignon 29 rotfluhstrasse_12.rotfluhstrasse_12 35
rif38-155658 00:04:33.513 thomasFrechsLion.ThomasFrechsLion 9 Sibesiech.Sibesiech 55
rif38-160144 00:05:36.565 thomasFrechsLion.ThomasFrechsLion 59 Champignon.Champignon 5
rif38-160733 00:04:47.295 Sibesiech.Sibesiech 54 Champignon.Champignon 10

Teilnahme

Alle Studenten der Informatik II-Vorlesung sind aufgerufen, ein Programm zur Teilnahme am Turnier einzusenden. Die Programme werden gegeneinander antreten, um einen Sieger zu ermitteln. Die genauen Wettkampfmodalitäten, also das System, nach dem der Sieger ermittelt wird, hängen von der Anzahl der Teilnehmer ab und werden rechtzeitig angekündigt.

Technisch müssen die Programme die Bedingungen erfüllen, die im Laufe der Übungen vorgegeben wurden. Die Spielqualität selbst hat keinen Einfluss darauf, ob das Programm teilnehmen kann oder nicht. (Aber natürlich aller Voraussicht nach auf die Platzierung.) Selbstverständlich müssen die Reversi-Spielregeln eingehalten werden, da nur so ein sinnvolles Spiel möglich ist. Ausserdem wird ein Mindestmass an Kooperation verlangt, um den technischen Ablauf eines Spiels nicht zu gefährden.

Wettkampfbedingungen

Von der Anzahl der Einsendungen hängt ab, auf welche Weise der Sieger ermittelt wird. Bei vielen Teilnehmern werden Vorrunden ausgetragen, deren Sieger dann in der Finalrunde gegeneinander antreten. Bei wenigen Teilnehmern kann jeder gegen jeden antreten. Die Zeit, die pro Zug zur Verfügung steht, beträgt 5 Sekunden. Wenn ein Programm dieses Limit überschreitet, gilt das Spiel als verloren.

Die Spielprogramme werden auf einer Sun Workstation Ultra-1 ausgeführt. Diese Rechner stehen in den Studentenpools des IFW zur Verfügung.

Anmeldung

Programme müssen bis Donnerstag, 28. Juni, 24 Uhr bei uns eingegangen sein. Alle Programmteile müssen in Java geschrieben sein und sowohl im Quellcode als auch als übersetzte Klassendateien abgegeben werden. Einsendungen ohne vollständigen Quellcode können nicht teilnehmen! Einsendungen bitte per Mail an Harald Vogt senden. Wenn möglich, sollten alle notwendigen Dateien in einer ZIP-Datei oder einem tar-Archiv zusammengefasst werden. Ausserdem bitten wir um die Wahl eines Namens für das Programm und alle Klassen sollten Teil eines Package sein, das eben diesen Namen trägt. Das erleichtert uns die Benennung der Programme.

Programme

Wir verwenden zur Austragung des Turniers ein Monitor-Programm, das ein animiertes Reversi-Spielbrett zeigt und die Spieler-Programme überwacht. Dieses Programm kann hier heruntergeladen werden, um die eigene Implementierung auf Verträglichkeit zu testen. Dieses Programm soll nicht zusammen mit dem eigenen Programm eingesendet werden! Allfällige Probleme bitte melden!

Der Monitor wurde unter Linux entwickelt und getestet. Es ist zu erwarten, dass die Animation der Spielzüge unter anderen Systemen (Solaris, Windows) nicht unbedingt zufriedenstellend funktioniert. Dies soll demnächst behoben werden. Wer selbst eine Lösung hackt, kann sie mir gerne mitteilen.

Der Monitor wird wie folgt aufgerufen:

java reversi.Arena 4711 package1.spieler1 package2.spieler2 5000
Dabei ist "4711" ein beliebiger String (ohne Space), der das Spiel bezeichnet. Durch diesen Namen kann man mehrere durchgeführte Spiele bei der Auswertung unterscheiden. "package1.spieler1" bezeichnet Paket und Klasse des roten Spielers, analog ist "package2.spieler2" der grüne Spieler. "5000" ist die Zeit, die pro Zug zur Verfügung steht.

Der Monitor legt eine Logdatei an (reversilog), in der alle Spielzüge aufgezeichnet werden. Diese Logdatei wird verwendet, um Auswertungen für mehrere Spiele zu erstellen. Dazu gibt es ein Skript, das aus der Logdatei eine HTML-Seite erzeugt, die mit einem Browser angeschaut werden kann. Benutzung des Skripts:

chart >chart.html

Code des Monitors: [monitor.tar.gz][monitor.zip]

Skript zur Auswertung der Logdatei: [chart]

ETH ZurichDistributed Systems Group
Last updated August 23 2010 01:53:46 PM MET hv