Informatiker und Wölfe

Man stelle sich einmal einen Informatiker im tiefsten Winter in einem dunklen Wald von hungrigen Woelfen gejagt vor. Hier ist der Informatiker geradezu in seinem Element. Er steht naemlich vor einem Problem, und solche zu loesen hat er ja waehrend seines Studiums sehr ausfuehrlich und muehsam erlernt. Das Problem ist zwar bereits gegeben, aber irgendwann einmal hat er vor langer, langer Zeit gelernt, dass ein Problem erst spezifiziert sein will. Er beginnt also:

Gegeben: Landschaft mit 1 Informatiker und n Woelfen, n aus NAT

Gesucht: Landschaft mit 1 Informatiker und keinen Woelfen

Loesungsweg: Woelfe mit einem Pruegel verjagen.

Sicher kann sich unser Informatiker denken, dass das Problem nicht einfach zu loesen ist. Also beginnt er, es in Teilprobleme zu zerlegen.

Etwa in n Teilprobleme:

fuer alle i aus (1..n): den Wolf i verjagen.

Nun ist unser Informatiker uebergluecklich. Er benutzt eine simple FOR-NEXT-Schleife, in der er nacheinander die n Teilprobleme loest

und

somit seine Teilloesungen sogar schon zu einer Gesamtloesung zusammengesetzt hat. Dass der Algorithmus korrekt ist und terminiert, hat unser Informatiker schnell bewiesen. Was nun weiter geschieht, ist typisch, wenngleich es zwei Moeglichkeiten gibt.

Fall 1 - Wir haben einen Durchschnittsinformatiker vor uns.

In Ermangelung eines Rechners benutzt er sich selbst als Maschine und laesst das Programm auf sich ablaufen. Er beginnt damit, den Wolf Nr. 1 zu verjagen, kommt zu Wolf Nr. 2, doch spaetestens jetzt hat ihn ein Wolf, der lauf Algorithmus noch gar nicht an der Reihe ist, ins Bein gebissen, worauf er in Panik geraet, das ganze schoene formale Denken vergisst und einfach instinktiv die Flucht ergreift. Spaeter dann, wenn er wieder in Sicherheit ist und wieder klar denken kann, bricht eine ganze Welt in ihm zusammen. Dies kommt davon, wenn man sich als Durchschnittsinformatiker mit praktischen Problemen beschaeftigt.

Fall 2 Ganz anders, wenn wir einen hochbegabten, mathematisch besonders geschulten Informatiker aus Hamburg in die Wildnis schicken, der schon nach dem 3. Semester das Vordiplom und nach dem 7. das Hauptdiplom gemacht hat.

Er sieht zwar n Woelfe, zweifelt jedoch daran, dass die Zahl der Woelfe ohne sein Zutun konstant bleiben wird. Es koennten ja waehrend des Verjagens eine noch nicht verjagte Woelfin Junge werfen. Um den Aufwand des Woelfeverjagens unter diesem Aspekt abzuschaetzen, muss zuerst eine Differentialgleichung geloest werden, ganz abgesehen davon, dass das Problem neu spezifiziert werden muss. Mit Erschrecken stellt unser Informatiker fest, dass ab einem bestimmten n der Algorithmus nicht mehr terminiert (es werden in gleicher Zeit mehr Junge geworfen, als er Woelfe verjagen kann). Er wird also eine neue Spezifikation vornehmen.

Gegeben: Ort a mit n Woelfen und 1 Informatiker, ein Ort b;

Gesucht: Ort a mit n+k Woelfen (k ist die Anzahl der zwischenzeitlich geborenen Woelfe), ein Ort b ohne Woelfe mit mindestens einem Informatiker.

Loesungsweg: Flucht von Ort a nach Ort b.

Nach Ausfuehrung seines Algorithmus trifft er dann auf unseren Durchschnittsinformatiker, der wahrscheinlich auf eine Baumspitze gefluechtet ist, wohin er sich eilends auch begibtund wartet, bis die Woelfe wieder abziehen. Sind die Woelfe erst weg, so werden sich beide Informatiker schnell darueber einig, dass man den Baum am besten per rekursivem Abstieg herunterkommt. Da sie lange auf dem Baum sassen, waren sie stark durchfroren. Doch zum Glueck kam ihnen eine alte Algorithmenentwurfsmethode entgegen, und eine alte Axt, die herumlag, entpuppte sich als ein ausgezeichnetes Programmierwerkzeug.