Der Mathe-dual e.V. hatte sich nach einer Anregung durch den Beirat wieder an die Aufgabe gewagt einen Programmierwettbewerb auszurichten. Die Mitglieder Nicolas Berr und Georg Schramm kümmerten sich ab Ende 2021 zunächst um die Aufgabenstellung und das Format des Wettbewerbs. Die Grundlage mit einem Optimierungsproblem bildete die Aufgabenstellung der letzten MATSE-Abschlussprüfung. Dabei liegt das Augenmerkmal zum einen in der grundsätzlichen Lösung der Problemstellung und zum anderen in der Optimierung des Lösungsweges. Parallel wurde mittels der CI/CD-Techniken von GitLab die Möglichkeit der kontinuierlichen Auswertung und Darstellung der Zwischenergebnisse geschaffen. Jeder Commit der Wettbewerber führte zu einer Auswertung und Aktualisierung der Zwischenergebnisse, so dass die Teams ihre Fortschritte gegenseitig beobachten konnten.

Am 9.2.2022 fand am Nachmittag der virtuelle Kickoff-Termin des Programmierwettbewerbs mit mehr als 10 Teams aus den Ausbildungsstandorten in Aachen und Jülich statt. Es wurden die Aufgabe, das Vorgehen für teilnehmende Teams und das Preisgeld vorgestellt.

Die auf den ersten Blick unscheinbar wirkende Aufgabe, eine oder mehrere Lösungen für ein Holzwürfelset mit verschiedene Oberflächen zu identifizieren, birgt gleich mehrere Herausforderungen: Die Anzahl möglicher Kombinationen ist riesig und wächst exponentiell mit der Anzahl an Würfeln. Brute Force-Ansätze verlieren so schnell ihren Reiz. Bevor man aber an diesen Punkt kommt, stellt die Frage nach der geeigneten Abbildung eines Würfels, seiner Rotationen und der Frage was eigentlich die Oberseite ist alle Teilnehmenden vor eine Knobelaufgabe. Auch das Organisations-Team beschäftigte sich in vielen Diskussionen mit diesen Themen.

In den ersten Stunden nach dem Kickoff führte zunächst ein Team die Wertung an, das lediglich die Sleep-Zeit im vorgegebenen Dummy halbierte und somit bei der Auswertung vorne lag. Dieser "Vorsprung" beinhaltete allerdings noch keinen wesentlichen algorithmischen Beitrag. Diese kamen nach der Überwindung der nicht ganz einfachen Einstiegshürde bei fünf der Teams auf. Wurden die kleineren Problemstellungen gelöst geschah dies meist ohne wesentlichen Zeitunterschied. Erst zum Ende des Wettbewerbs hin, als alle Teams einmalig die Chance für einen "Joker" geboten wurde, veränderte sich dies. Das Organisations-Team hatte zu seiner Freude die Fortschritte der Teams beobachtet und stellte für jedes Team eine hilfreiche Fehlermeldung des Auswertungslaufes auf Anfrage zur Verfügung.

Der im Bild gezeigte, letzte Zwischenstand kurz vor der Auswertungsphase stellt auch das Endergebnis dar. Die teilnehmenden Teams erhielten Preisgelder von 250,-€ bis 67,-€ und Siegerurkunden, um ihren Erfolg zu belohnen.

 

Wer den Lösungen für den Wettbewerb auf den Grund gehen möchte kann dies gerne mit den von den Teams bereitgestellten Quellcodes tun: Gruppe 10, Gruppe 5, Trivial, Gruppe 3.

Das Organisations-Team hat sich sehr über die rege und erfolgreiche Auseinandersetzung mit der Aufgabenstellung gefreut und wird die Erkenntnisse auch in den nächsten Wettbewerb einfließen lassen.