Und wieder ein Gastbeitrag von Sebastian Wagner, der sich fleißig darum bemüht, verschiedene Informatik-Wettbewerbe etwas bekannter zu machen – meinen Dank dafür.
Vierter Programmierwettbewerb des freien Magazins
Das freie Magazin, von dem jeden Monat eine Ausgabe veröffentlicht wird, richtet sich hauptsächlich an Interessierte aus der OpenSource- und Linux-Welt. Themen sind beispielsweise Programmvorstellungen oder kleine Einführungen in Programmiersprachen und -stile. Unerfahrene Entwickler auf Nicht-Unix-Systemen werden es bei diesem Wettbewerb zugegebenermaßen schwieriger haben als Entwickler auf Unix-Plattformen.
Das Spielprinzip des vierten Programmierwettbewerbs wird auf der Homepage so illustriert:
Ein Multimillionär verdient täglich so viel Geld, dass er gar nicht mehr weiß, wohin damit. Anstatt einen neuen Geldspeicher zu bauen, will er das Geld lieber in einem Experiment unter die Leute bringen. Dazu lädt er zwei Testsubjekte ein und begrüßt sie mit den Worten:
“Ich habe hier 1000 Euro. Das Geld gebe ich Testsubjekt A. Dieses muss dann einen selbst festgelegten Betrag X zwischen 0 und 1000 dem Testsubjekt B anbieten. Das kann also auch alles oder nichts sein! Testsubjekt B hat nun zwei Möglichkeiten: Entweder es akzeptiert den Betrag X. Dann erhält Testsubjekt B den Betrag X und Testsubjekt A natürlich den Restbetrag 1000-X. Testsubjekt B kann das Angebot aber ablehnen. Dann bekommt keiner die 1000 Euro und ich behalte das Geld. Damit es ausgeglichen ist, gebe ich danach Testsubjekt B ebenfalls 1000 Euro, welches auf die gleicher Art und Weise handeln muss.”
Beide Testsubjekte schauen erstaunt und wollen sich schon miteinander abstimmen, um einen größtmöglichen Gewinn zu erhalten, aber da springt der Millionär dazwischen: “Na na, Reden ist verboten. Ihr werdet beide in verschiedene Räume gesetzt und könnt nur über eine reine Zahlentastatur miteinander kommunizieren und die Beträge anbieten, annehmen oder ablehnen.” Die beiden Testsubjekte sind enttäuscht, aber machen dennoch mit, schließlich gibt es viel Geld zu gewinnen.
“Ach, noch was.” sagt der Millionär. “Das Spielchen wiederholen wir insgesamt 2500 Mal, weil es so viel Spaß macht. Ich bin gespannt, wer von Euch beiden mit mehr Geld nach Hause geht.”
Die Aufgabe ist nun einen möglichst intelligenten Bot zu entwerfen, dessen Ziel sein soll, die Taktik des Gegners (der auch immer ein Computer ist) zu erkennen und diesen dann auszutricksen. Infolgedessen ist es nötig, Muster in der Taktik des Gegners zu erkennen und mit verschiedenen Muster darauf zu reagieren: Nur eine implementierte Taktik allein wird also kaum zum Sieg führen! Es wird auch explizit auf Ähnlichkeiten zum Ultimatumspiel sowie zum Gefangenendilemma (beides stammt übrigens aus der Spieltheorie) hingewiesen, die Lektüre der entsprechenden Wikipedia-Artikel sollte also hilfreich sein.
Dadurch, dass nur die Standardein- bzw. -ausgabe verwendet wird, kann jede beliebige Programmiersprache verwendet werden. Für die Spielengine (in C++) ist allerdings ein C++-Compiler erforderlich. Der Wettbewerb läuft vom 1. Oktober 2011 bis zum 30. November 2011. Die ersten drei Plätze erhalten einen Amazon-Gutschein, dessen Höhe von der Anzahl der erreichten Punkte abhängt.
Happy Coding!
CCC ’11 Vienna
Seit 2007 veranstaltet die Linzer Firma Catalysts mindestens 1-mal jährlich einen Programmierwettbewerb, den Catalysts Coding Contest. Heuer fanden bereits die Spring Callenge (online) und der CCC ’11 in Linz statt. Der CCC ’11 Linz war der bisher größte mit 180 Teilnehmern, die 4 Stunden lang im Linzer Schloss um die Wette programmiert haben. Nun wurde auch ein CCC in Wien für den 21. Oktober angekündigt.
Die Wettbewerbe funktionieren folgendermaßen: Der Programmierer bekommt nicht eine Problemstellung, für die er die gegebene Zeit (in Wien dann 2 Stunden) aufwenden kann, sondern muss sich in Levels hochkämpfen, d.h. die Probleme werden immer größer und auch komplexer. Ziel ist es also, einen möglichst ausbaufähigen Code zu erstellen, um sich nicht selbst zu verwirren. Es gewinnt, wer am meisten Levels schafft und diese am schnellsten absolviert. Da jeder sein eigenes Notebook mitnimmt, darf jeder in seiner/ihrer Lieblingsprogrammiersprache programmieren sowie Dokumentationen verwenden.
Der Wettbewerb in Wien wird 2 Stunden dauern, von 14:00 bis 16:00 in der Raiffeisen Bausparkasse, nähere Details gibt es auf der Homepage. Ich weise darauf hin, dass es nur 80 Plätze Vor-Ort gibt! Dabei sein lohnt sich: Es gibt insgesamt 12.000€ an Preisgeldern, mindesten 20 TeilnehmerInnen werden laut Ankündigung mit Preisen heimkehren.
Für alle dabei sein wollen, aber nicht nach Wien kommen wollen/können: Es gibt zeitgleich auch einen Online-Wettbewerb, allerdings ohne Preise. Außerdem sind Teilnahmen im Team möglich (bis zu 3 Personen). Wer üben oder sich die Aufgaben ansehen möchte, kann dies auf CatCoder tun.
Catalysts unterstützt mit dem Wettbewerb übrigens auch den Nachwuchs (hierzu zählt auch der Autor): Für jeden Teilnehmer fließen 10 Euro an die Informatik-Olympiade (in Österreich).
Wer wissen möchte, worum es bei der Olympiade geht, kann sich den Gastbericht von der Internationalen Olympiade in Thailand 2011 durchlesen.
Ferner können Teilnehmer ihren Code über die Open-Commons Initiative der Stadt Linz ihren Code (freiwillig) Forschern zur Verfügung stellen.
Ich würde mich freuen, Leser des Von Bits und Bytes-Blogs in Wien kennen zu lernen!
P.S.: Falls es Fragen zu den Wettbewerben gibt, gebe ich gerne Auskunft in den Kommentaren!
Kommentare (24)