"exact" ist ein Programm zur Schachturnierverwaltung in kleineren
Vereinen. An dem Programm haben die Entwickler verschiedene
Technologien und Methoden getestet und erlernt. Es wurde bislang nicht
in den Zustand gebracht, von jedermann per "plug-and-play" bedient
werden zu können. Es ist in einem Verein mehrere Jahre
sehr erfolgreich eingesetzt worden.
Da die wesentlichen Funktionalitäten recht einfach gehalten
sind, kann man sich mit ein bisschen Probieren durchaus mit dem Programm
zurechtfinden. Falls es irgendwo mehrfach genutzt werden sollte, ist
eine Weiterentwicklung extrem wahrscheinlich (bitte also bei Nutzung
melden).
Der nächste Absatz gibt eine kurze Einführung ins Keizer-System,
welches eine sehr viel fairere Ermittlung einer Abschlussplatzierung
ermöglicht, als andere Auswahlsysteme wie z.B. das Schweizer
System.
Mit dem vorliegenden Programm wurde versucht, nicht nur "das System"
zu implementieren, sondern ein besonderes Problem, das in kleinen
Vereinen auftaucht, möglichst gut zu lösen: Es gibt Spieler,
die aus welchen Gründen auch immer öfter an Turnieren
teilnehmen wollen, als andere, an keinem der Spieltage kann vorher mit
Sicherheit gesagt werden, wer alles da ist. Alle herkömmlichen
Versuche, mit Vor- und Nachverlegungen dieses Problem in den Griff zu
bekommen, sind den Spielleitern vieler kleiner Vereine bekannt:
Sie führen entweder zu sehr viel kommunikativer Arbeit des
Turnierleiters ("Ich hab ihm doch zwei Termine vorgeschlagen, er kann
ja nie", "ich war ja da, ich will den Punkt") oder eben zu radikalen
Zugangsbeschränkungen, Reuegeld usw. - Beides dient normalerweise
nicht dem Verein.
Deswegen haben wir etwas erfunden, was wir den "Acht-Uhr-Modus" nennen.
Dabei kann in jeder Runde eine andere Menge von Spielern antreten (eben
immer genau die, die nunmal am Spieltag (z.B. um 8 Uhr) da sind), es gibt
weder Spielverlegungen noch kampflose Siege, kein "Rumsitzen" und vor
allem auch eine klare Trennung in Vereinsabende mit "Turnierruhe" und
solche ohne. In der Folge hat dann einer vielleicht sechsmal, ein anderer
siebenmal, einer vielleicht auch nur zweimal mitgespielt. Das ist mit
herkömmlichen Turniersystemen nicht machbar. Natürlich ist die
Abschlusstabelle auch hier nicht perfekt: Spieler, die nur selten
mitgespielt haben, sollten keine Platzierungspreise gewinnen können,
ihre Ergebnisse können aber sehr wohl für ihre Gegner
gewertet werden.
Das Keizer-System
Das System berechnet nach jeder Runde eine Rangfolge aufgrund einer
mathematischen Iteration, bei der nicht nur die Anzahl der Punkte
berücksichtigt wird, sondern auch, gegen wen man gewonnen (oder
remis gespielt) hat. Auf diese Weise wird schon nach einigen Runden
eine sehr genaue Rangfolge ermittelt, die nicht nur auf den ersten
Plätzen aussagekräftig ist.
Als Faustregel gilt: Man braucht etwa zwei Drittel der Teilnehmerzahl
als Rundenzahl, um eine auf allen Plätzen vernünftige
Abschlusstabelle zu erhalten.
Aufgrund dieser Vorgehensweise spielt die "Leistung" eines Teilnehmers
eine grössere Rolle als die "Punkte", die er erzielt. Deshalb ist
es auch nicht mehr unbedingt nötig, dass alle Teilnehmer die
gleiche Anzahl von Partien spielen. Es kann durchaus ein Spieler
gelegentlich aussetzen.
Weiter Infos zum Keizer-System im allgemeinen finden sich im Internet,
z.B. unter "http://www.schachfreunde-buer.de" und dann unter download,
programme. Dort wird auch auf ein holländisches Programm verwiesen,
mittlerweile können auch Swiss-Chess und diverse andere Programme
nach keizer-System auslosen.
(update 2009: diese Infos gibt es dort offenbar nicht mehr).
Das Programm in seiner aktuellen Konfiguration ist in folgender
Situation getestet worden: Ein Verein spielt mit etwa 20 Teilnehmern
ein Turnier über neun feste Termine (nur Spieler, die mindestens
sechs mal mitspielen, kommen in die Endwertung). An jedem Spieltermin
spielen zwischen zehn und vierzehn Spieler mit (Das Aussetzen bei
ungerader Anzahl wird spontan geregelt).
Aktuell
25.08.2009: Seite redaktionell überarbeitet. Das Applet
funktioniert bei mir nicht, irgendein Security-Kram? Hmm, keine Ahnung.
Die Java-Version funktioniert aber scheinbar nach wie vor.
Ich hätte so gerne Zeit, mich da mal wieder dranzusetzen ...
17.08.2005: Test-Version ins Netz gestellt. Leider nach wie vor
keinerlei Zeit, Konfigurationsmöglichkeiten einzubauen.
Februar 2004: Erstmalig eine Version ins Netz gestellt.
Navigation
Mit den Buttons "<" und ">" kommt man jeweils eine "halbe Runde"
vor und zurück, also von einer Tabelle auf die Paarungsansicht und
umgekehrt
Die Buttons "<<" und ">>" springen jeweils eine ganze Runde
vor und zurück, also z.B. von der Tabelle der Runde 6 zurück
auf die Tabelle von Runde 5 oder vor auf die Tabelle von Runde 7.
Wenn die entsprechende Ansicht nicht existiert (etwa weil man in
der ersten Runde steht), steht der jeweilige Button nicht zur
Verfügung.
Steht man in der letzten Ansicht (Paarungen oder Tabelle) des
Turniers, so ist der Button ">" farblich markiert, um anzuzeigen,
dass mit ihm die nächste Runde ausgelost bzw. die nächste
Tabelle berechnet werden kann.
Spieler erfassen
Beim Erfassen eines neuen Spielers ist darauf zu achten, dass alle
Teilnehmer eine eindeutige DWZ haben müssen, Spieler ohne Zahl
müssen also in der Spielstärke geschätzt werden, bei
Spielern mit genau gleicher Zahl muss die Zahl bei einem der Spieler
geändert werden (nur so ergibt sich eine Startreihenfolge aller
Spieler).
Spieler löschen
Man kann einen Spieler, der noch nicht mitgespielt hat, wieder aus dem
Turnier löschen, in dem man ihn in der Liste selektiert und dann
im Menü Spieler löschen auswählt.
Spielerdaten ändern
Den Namen und die Dwz eines Spielers kann man korrigieren, indem man
ihn in der Rangliste selektiert und dann im Menü Spieler
ändern auswählt. Alternativ kann man auch direkt in der
Rangliste mit Doppelklick auf den Namen oder die DWZ die Daten
ändern.
Das Absent-Flag
Das Absent-Flag wird benötigt, wenn man im "Acht-Uhr-Modus" spielt.
Das bedeutet, dass an den festgelegten Terminen zu einer bestimmten
Startzeit (z.B. 20 Uhr) alle Spieler ausgelost werden, die anwesend
sind. Alle abwesenden Spieler werden in der aktuellen Tabelle
(letzte Rangliste) über das Absent-Flag markiert.
Die in dieser Weise deaktivierten Spieler werden nicht ausgelost,
können aber in späteren Runden wieder am Turnier teilnehmen.
Das Absent-Flag wird mit einem Mausklick auf das Kästchen hinter
dem gewünschten Spieler gesetzt (Shortcut: Leertaste).
Bei Spielern, die bereits über den Dialog "Manuelle Paarungen"
gepaart wurden, kann das Absent-Flag nicht mehr gesetzt werden.
Hierzu muss vorher die entsprechende manuelle Paarung des Spielers
gelöscht werden.
Manuelle Paarungen
Im Dialog manuelle Paarungen können vor der Auslosung einer neuen
Runde einige (oder alle) Paarungen für die nächste Runde
manuell festgelegt werden. Es werden dann nur noch die restlichen
Spieler nach dem üblichen Verfahren gepaart.
Es können nur Spieler gepaart werden, für die kein
Absent-Flag gesetzt ist
Löschen von Tabellen und Paarungen
Wird die letzte Rangliste bzw. Paarungsliste angezeigt,
kann sie mit "<<<<" gelöscht werden.
Achtung: Es erfolgt keine Sicherheitsabfrage!
Export der Turnierdaten nach HTML
todo: beschreiben
Der Auslosungsalgorithmus
Grundsätzlich spielt in jeder Runde ausgehend vom aktuellen
Tabellenstand Nr. 1 gegen 2, 3 gegen 4, usw.
Die Farbverteilung ergibt sich aus den bisherigen Farben: Hatte
ein Spieler bislang anteilig seltener Weiss, erhält er Weiss;
hatten beide anteilig gleich oft Weiss, aber nur einer der Spieler
in der letzten Runde Schwarz, so erhält dieser Weiss. Ansonsten
erhält der Spieler mit der niedrigeren Rangnummer Weiss.
Ausnahme: Spielen zwei Spieler ein zweites Mal gegeneinander,
spielen sie auf jeden Fall mit gegenteiliger Farbverteilung
zum ersten Mal.
Spieler können im Keizer-System zwar prinzipiell auch noch ein
weiteres mal gegeneinander gelost werden, dies soll aber nicht
zu oft passieren und nur, wenn es keine "bessere" Lösung gibt.
Insbesondere an der Tabellenspitze gibt es jedoch oft einen
besonderen Reiz, wenn ein Spieler eine zweite Chance bekommt.
In der aktuellen Version des Programms wird eine wiederholte
Paarung frühestens nach drei Runden erlaubt, aber auch dann
wird auch nach Alternativpaarungen gesucht. Erst wenn die zu
paarenden Gegner allzuweit in der Tabelle auseinanderliegen
würden, wird stattdessen die Wiederholungspaarung gewählt.
Auch beim Berechnen der Rangfolge gibt es im Falle von aussetzenden
Spielern eine Reihe von programminternen Parametern, die in folgenden
Programmversionen konfigurierbar sein sollen. Aktuell sind sie
folgendermassen eingestellt:
Ein Spieler erhält in einer Keizer-Iteration seine eigene
Punktzahl plus der Punktzahl der besiegten Gegner plus die halbe
Punktzahl der Gegner, gegen die remis gespielt wurde.
Ausserdem wird für Runden, in denen der Spieler nicht gespielt
hat, ein Bonus gewährt, der von der DWZ, der Runde und der
eigenen Keizer-Punktzahl abhängt. Die Idee dahinter besteht
darin, dass zu Anfang des Turniers die DWZ stark mit einberechnet
wird, damit starke Spieler, die erst in Runde 2 oder 3 einsteigen,
dann noch ähnlich starke Gegner erhalten und nicht etwa
"in der Mitte" oder gar "ganz unten" in die Tabelle hineinkommen
(die resultierenden Paarungen bringen beiden Spielern nicht viel).
Umgekehrt soll aber insbesondere in den letzten Runden des Turniers
die Teilnahme eines Spielers kein Nachteil sein. Jemand der vor der
letzten Runde nur knapp führt und dann einfach aussetzt, kann mit
Sicherheit vom Zweiten eingeholt werden.
Glossar
Absent-Flag
Manual Pairings
Known Bugs
Keine Sicherheitsabfrage bei Überschreiben von Turnierdateien.
Missing Features / Nice to Haves
Es gibt bislang keinerlei Konfigurationsmöglichkeiten des
Auslosungsalgorithmus. Die Zahl der Runden (7) ist im Hinblick
auf die Gewichtung der Auslosungsparameter fest, es können aber
natürlich dennoch mehr Runden gespielt werden.
Die spielfrei-Auslosung bei ungerader Spielerzahl ist nur sehr
"einfach" implementiert.
Die HTML-Seiten-Generierung war bemüht mit CSS-Features farbige
oder schwarz-weisse Ausdrucke zu ermöglichen (je nach Drucker).
Leider gelingt dies nur bei wenigen
Browser/Betriebssystem/Drucker-Kombinationen.
Die HTML-Seiten heissen vom Namen her immer gleich, es gibt
keine Möglichkeit, einen Turniernamenskürzel einzubauen.
Es gibt keine kampflosen Punkte, so dass an sich nur im
"Acht-Uhr-Modus" gespielt werden kann, es sei denn, man ist sich
sicher, dass immer alle kommen, vor- oder nachspielen, oder dass
Nichterscheinen als "echtes" Verlieren gewertet wird.
Online Demo-Version
Hier ist die volle Testversion als Java-Applet. Aufgrund von
Sicherheitseinschränkungen von Java ist es in dieser Version nicht
möglich, Daten auf die lokale Festplatte zu speichern. Das Programm
kann aber ansonsten komplett getestet werden (update 2009: hmm, bei mir
geht's leider nicht mehr ...)
Das Programm wird gestartet mit: "java -jar Exact.jar" oder mit einem
Doppelklick auf das Programmsymbol
Eventuell muss dafür noch das Java-Runtime-Environment installiert
werden, es kann unter java.sun.com für
alle gängigen Betriebssysteme frei heruntergeladen werden.
exact wurde entwickelt von Markus Bördgen, Sebastian Flock,
Winfried Gessinger, Benjamin Kumm und Martin Mauelshagen. Auf dieser
Webseite steht seit Februar 2004 eine Testversion zur Verfügung.
Alle Rechte vorbehalten. Das Programm darf zu Testzwecken von jedermann
heruntergeladen und benutzt werden. Eine weitergehende Nutzung
(Weitergabe, Verkauf) ist nicht gestattet.
Es wird keinerlei Gewähr für irgendeine Nützlichkeit des
Programms übernommen, keine bestimmte Funktionalität
garantiert und für die Nutzung auch keinerlei Gebühr
verlangt. Die Anbringung eines Links auf diese Seite
("www.alles-schach.de") ist ausdrücklich erwünscht
Ein Zeitplan für die Erstellung weiterer Versionen des Programms
existiert zur Zeit nicht.
Anmerkungen und Vorschläge (oder wenn jemand einfach nur
erzählen mag, dass er das Programm nutzt) bitte jederzeit an
Winfried Gessinger (win@wingess.de). Danke!