Navigation News Algorithmen Mathe Downloads Bücher Links Autor Backtracking
Graphentheorie
Künstliche Intelligenz
Kombinatorik
Kompressions-Algorithmen
Kryptographie
Mathematisches
Sortier-Algorithmen
Datenstrukturen
Formale Sprachen, Compiler etc.
Prolog
TCP/IP Sockets
Datenströme, XML, etc.


hanoi.zip (15 KB)
Die Türme von Hanoi, ohne Ausprobieren mittels Backtracking, sondern mit straight forward betimmten verlege Anweisungen. Die Idee ist: um n Scheiben von A nach C zu verschieben, verschiebe n-1 Scheiben von A nach B, dann eine scheibe von A nach C, dann n-1 Scheiben von B nach C.

MQI-is-FPT.zip (2903 KB)
Meine Seminar-Ausarbeitung und -Vortragsfolien vom Hauptseminar exakte Algorithmen (WS2007/08) beim Lehrstuhl für theoretische Informatik (wo ich auch vertiefe und vorhabe, mein Diplom und Doktortitel zu machen)
Mein Thema war das Minimum Quartet Inconsistency Problem (MQI) welches parametrisierbar ist (der Wikipedia Artikel über parametrisierte Algorithmen stammt übrigens von mir :-) ).
Im Rahmen des Seminars habe ich einen viel kürzeren (Widerspruchs-)Beweis für den Hauptsatz aus dem Paper von Niedermeier und Gramm gefunden und die Laufzeit von verbessert auf .

pegsolitaire.zip (17 KB)
Ein kleines Progrämmchen, das Lösungen für Solitär findet (das Brettspiel, welches im Englischen "Peg Solitaire" heisst - nicht das Kartenspiel Patience, welches im Englischen "Solitaire" heisst).
Blankes Backtracking, aber da es für das Spiel so viele Lösungen gibt, ist so ne Lösung fix gefunden.

PythBaum.zip (53 KB)
Zwei Programme, die den Baum des Pythagoras zeichnen (ein hübsches Fraktal) eins für DOS, das ich mal während der Schulzeit geschrieben habe und (aus nostalgischen Erinnerungen an die Schulzeit) eine Neuauflage für Windows...

scramble_squares.zip (681 KB)
Ein Programm, das scramble square puzzles löst. Dadurch, dass immer die Position belegt wird, auf die die kleinste Anzahl von Puzzleteilen passt oder das Puzzleteil platziert wird, für das die kleinste Anzahl von Positionen in Frage kommt (jenachdem, was weniger ist), wird der Verzweigungs-Vektor sehr klein gehalten. Ausserdem werden Situationen erkannt und ausgenutzt, in denen mehrere Puzzleteile identisch sind und es werden symmetrische Lösungen vermieden. Das führt zu sehr guten Laufzeiten - in den Beispielen werden nur etwa 300-400 Rekursionen benötigt, obwohl es Kombinationen gibt. In den Rekursionsaufrufen werden jeweils Schritte benötigt.
Ich habe auch die alte Version noch einmal dazu gepackt, damit man den Unterschied in den Laufzeiten sehen kann.

SendMoreMoney.zip (56 KB)
Ein Programm, das Probleme wie das SEND MORE MONEY Problem löst - allerdings arbeitet das mit ner brute force analyse, also sehr langsam.