SAI,
SS 1999,
Allgemeine Informatik II,
Wettbewerb
Teilnahmebedingungen
Für das 5. Übungsblatt ist es notwendig, ein geeignetes
Branch-And-Bound-Verfahren für die rekursive Wegsuche durch
ein 2-dimensionales Labyrinth zu entwickeln. Wie bei anderen
Problematiken, die ebenfalls mit dem Branch-And-Bound-Verfahren
angegangen werden, läßt sich viel Kreativität und Phantasie
in die Entwicklung geeigneter Techniken investieren, die möglichst
große Teile des Suchraumes abschneiden sollen. Da es
zum Erreichen der vollen Punktzahl (neben den anderen üblichen
Kriterien) es bereits genügt, wenn überhaupt ein
Branch-And-Bound-Verfahren verwendet wird, hielten wir es für eine
gute Idee, wenn die Suche nach einer möglichst effizienten
Lösung durch einen Wettbewerb zusätzliche Motivation erhält.
Aktueller Hinweis:
Wer es statt mit einem Branch-And-Bound-Verfahren mit einem iterativen
Verfahren probieren möchte (z.B. einem Breitensuche-Verfahren),
kann dies ebenfalls gerne tun und
so eine Lösung zum Wettbewerb einreichen. Allerdings werden wir
daraus eine separate Gewinnkategorie machen (ich organisiere noch eine
zweite Flasche Wein).
Teilnahmebedingungen
- Teilnahmeberechtigt an diesem Wettbewerb sind alle registrierten
Übungsgruppen zu dieser Vorlesung.
- Die Beiträge für diesen Wettbewerb müssen das
5. Übungsblatt erfüllen und dem zugehörigen Tutor (wie sonst
auch üblich) zur Bewertung vorgelegt worden sein.
- Jede Gruppe kann bis zum 27. Mai 1999, 15:00 Uhr (also bis
unmittelbar vor den Übungen) mir einen Beitrag per E-Mail an
borchert@mathematik.uni-ulm.de
schicken. Wenn eine Gruppe mehrere Beiträge schickt, gilt nur
die letzte Einsendung. Frühere Einsendungen bleiben unberücksichtigt.
- Jeder Beitrag sollte in einer der Quellen die Namen aller
Gruppenmitglieder aufführen.
- Jede Gruppe, die einen Beitrag schickt, erklärt sich damit
einverstanden, daß ihre Lösung hier auf den Webseiten zur
Vorlesung veröffentlicht werden darf, wenn sie den Wettbewerb gewinnen
sollte.
- Jede Gruppe sollte bei der Einreichung ihres Beitrages festlegen,
ob die Wettbewerbsresultate ihres Beitrages unter ihrem Namen oder
einem selbst gewählten Gruppennamen veröffentlicht werden soll.
- Jede Gruppe, die plant, an dem Wettbewerb teilzunehmen, kann
jederzeit Fragen zu den Wettbewerbsbedingungen an mich per E-Mail
schicken. Ich würde mich dann bemühen, sie so rasch wie möglich
zu beantworten.
Vergleichskriterien
Das einfachste Vergleichskriterium wäre die Laufzeit. Allerdings
sind wir nicht ganz glücklich damit, weil dies dazu verführen
könnte, vielfach die Lesbarkeit des Programmtexts zugunsten
marginaler Effizienz-Vorteile aufzugeben. Deswegen haben wir uns
ein anderes Verfahren überlegt:
- Jede der teilnehmenden Lösungen wird mit sechs Labyrinthen
getestet. Drei davon werden zuvor veröffentlicht,
drei bleiben vor dem Abgabetermin geheim.
- Bei jedem Testlauf hat jede teilnehmende Lösung nicht
nur den kürzesten Pfad auszugeben, sondern auch noch eine
Kennzahl, die wie folgt zu berechnen ist:
- Zu Beginn ist die Kennzahl auf 0 zu setzen.
- Wenn zwischen dem erfolgreichen Einlesen des Labyrinths und
dem rekursiven Branch-And-Bound-Verfahren irgendwelche Analysen
des Labyrinths vorgenommen werden, ist für jedes betrachtetes
Feld des Labyrinths die Kennzahl um 1 zu erhöhen. Die Betrachtung
eines Labyrinthfeldes darf dabei die Ermittlung der von dort aus
direkt erreichbaren Nachbarfelder einschließen.
- Innerhalb des rekursiven Branch-And-Bound-Verfahrens ist
für jede Untersuchung einer Situation mit konstantem Aufwand
die Kennzahl um 1 zu erhöhen.
- Erfolgt die Untersuchung einer Situation mit nicht-konstantem
Aufwand, so ist die Kennzahl entsprechend des tatsächlichen Aufwands
weiter zu erhöhen. So ist z.B. einem Aufwand von O(n)
die Kennzahl um n zu erhöhen.
- Wir behalten uns das Recht vor, die korrekte Ermittlung der
Kennzahl zu überprüfen und ggf. die Lösung diesbezüglich zu
korrigieren.
- Für jede der Lösungen werden die sechs Kennzahlen der
sechs Testfälle addiert. Die Lösung mit der minimalen Gesamtsumme
gewinnt. Wenn es mehrere Lösungen gibt, die mit der minimalen Gesamtsumme
auskommen, wird der Gewinner aufgrund weiterer Kriterien bestimmt
(insbesondere Lesbarkeit und Eleganz der Lösung).
- Wenn eine Lösung bei einer der Testfälle mehr als
fünf Minuten CPU-Zeit (auf der Thales) benötigen sollte oder ein
falsches Ergebnis liefert, bleibt sie nur dann im Rennen, wenn es keine
andere Lösung gibt, die mehr Testfälle innerhalb von jeweils fünf
Minuten CPU-Zeit korrekt lösen kann.
Gewinn
Zu gewinnen gibt es einen
guten Bourdeaux-Wein aus ökologischem Anbau.
Er wird der gewinnenden Gruppe im Laufe der Vorlesung am 1. Juni
feierlich überreicht. Die Lösung der gewinnenden Gruppe wird
hier im Web veröffentlicht zusammen mit einer Vergleichsübersicht
der erreichten Resultate aller eingereichten Lösungen.
Termine
Beginn des Wettbewerbs: | 20. Mai |
Spätester Abgabetermin: | 27. Mai, 15:00 Uhr |
Preisverleihung: | 1. Juni, in der Vorlesung |
Verweise
Andreas Borchert,
28. Mai 1999