vielleicht alt aber gut: Informatiker und Woelfe
-
(quelle http://www.thomashertweck.de/texte/math/infowolf.txt )
Informatiker und Woelfe
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 begibt und 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.
-
noch besser:
Das Schweigen der Lemma
"Das Schweigen der Lemma. Ein Horror-Schocker, in dem Primzahlen
willkuerlich in Faktoren zerlegt werden, und arme, kleine Epsilons auf
grausamste Weise solange geteilt werden, bis sie kleiner als null sind.
Fiebern Sie mit, wenn e(x) mutig dem diabolischen Differential
entgegentritt, ohne zu wissen, dass es d/dy ist. Erleben Sie die
fuerchterlichsten Schrecken, wenn jungfraeuliche Kreise mit
Moerderfraktalen zu Quadraten zerfleischt werden. Aber seien Sie auf der
Hut... vor dem gnadenlosen MATLAB!T(v)=Spielfilm vergibt fuer diesen Film pi Sternchen."
-
@xroads:
Danke für den morgentlichen Lacher
Aber den Schluss versteh ich nicht:
Doch zum Glueck kam ihnen eine alte
Algorithmenentwurfsmethode entgegen, und eine alte Axt, die herumlag,
entpuppte sich als ein ausgezeichnetes Programmierwerkzeug.Was meinen die damit ?
-
Cpp_Junky schrieb:
@xroads:
Danke für den morgentlichen Lacher
Aber den Schluss versteh ich nicht. Was meinen die damit ?Das die einfachsten und simpelsten Methoden immer noch die besten sind.
-
Is zwar auch alt, aber zeigt die kleinen aber feinen unterschiede der Programmierwelt

Wer jagt wie Elefanten?
Informatiker jagen Elefanten, indem sie Algorithmus A ausführen:
begin { Gehe nach Afrika Beginne am Kap der guten Hoffnung Durchkreuze Afrika von Süden nach Norden bidirektional in Ost-West-Richtung Für jedes Durchkreuzen tue { Fange jedes Tier, das Du siehst Vergleiche jedes gefangene Tier mit einem als Elefant bekannten Tier halte an bei Übereinstimmung } }Erfahrene Programmierer verändern Algorithmus A, indem sie ein als Elefant bekanntes Tier in Kairo plazieren, damit das Programm in jedem Fall korrekt beendet wird.
Assembler-Programmierer bevorzugen die Ausführung von Algorithmus A auf Händen und Knien.
SQL-Programmierer verwenden folgenden Ausdruck:
SELECT Elefant FROM Afrika.Natural-Programmierer lassen sich von ADABAS einen Elefanten bringen.
Logo-Programmierer reiten durch Afrika auf ihrer Schildkröte.
COBOL-Programmierer tun dies auf einem Dinosaurier.
BASIC-Programmierer bevorzugen jedoch einen mit Samt ausgepolsterten Einspänner, bei dem die Bremsen ständig angezogen sind.
C-Programmierer bestimmen zuerst mit sizeof() die nötige Speichermenge für einen Elefanten, versuchen diese zu allozieren, vergessen dabei das Ergebnis abzuprüfen und schiessen dann mit wilden Pointern auf den Elefanten.
C++ - Programmierer bestehen darauf, daß der Elefant eine Klasse sei, und somit schließlich seine Fang-Methoden selbst mitzubringen habe. Und wenn der Elefant Afrika verlassen sollte, dann wird ja automatisch sein Destruktor ausgelöst.
Pascal-Programmierer markieren zuerst einen Punkt auf der Landkarte, schreiben dann END davor und träumen davon, daß Nikolaus Wirth von einem Elefanten totgetrampelt wird.
Modula-Programmierer importieren einen Elefanten aus/von einem Zoo.
LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, daß sich der Elefant darin verirrt.
Mathematiker jagen Elefanten, indem sie nach Afrika gehen, alles entfernen, was nicht Elefant ist und ein Element der Restmenge fangen.
Erfahrene Mathematiker werden zunächst versuchen, die Existenz mindestens eines eineindeutigen Elefanten zu beweisen, bevor sie mit Schritt 1 als untergeordneter Übungsaufgabe fortfahren.
Mathematikprofessoren beweisen die Existenz mindestens eines eineindeutigen Elefanten und überlassen dann das Aufspüren und Einfangen eines tatsächlichen Elefanten ihren Studenten.
Ingenieure jagen Elefanten, indem sie nach Afrika gehen, jedes graue Tier fangen, das ihnen über den Weg läuft und es als Elefant nehmen, wenn das Gewicht nicht mehr als 15% von dem eines vorher gefangenem Elefanten abweicht.
Wirtschaftswissenschaftler jagen keine Elefanten. Aber sie sind fest davon überzeugt, daß die Elefanten sich selber stellen würden, wenn man ihnen nur genug bezahlt.
Statistiker jagen das erste Tier, das sie sehen n-mal und nennen es Elefant.
Systemanalytiker wären theoretisch in der Lage, die Korrelation zwischen Hutgröße und Trefferquote bei der Elefantenjagd zu bestimmen, wenn ihnen nur jemand sagen würde, was ein Elefant ist.
SAP-Systemingenieure erklären das erstbeste Tier zu einem Elefanten und passen Ihre Vorstellungen eines Elefanten an dieses Tier an.
Microsoft kauft einen Elefanten aus dem Zoo in Seattle, kopiert ihn massenhaft, redet aller Welt ein, daß jeder einen bräuchte und daß dieser die ideale Ergänzung zu MS Office sei und exportiert 14 Mio. Stück nach Afrika.
Windows NT Programmierer schiessen mit vollig ungeeigneten Gewehren in die vollig falsche Richtung und erklaren dann, daB es ein Fehler am Elefanten sein muB.
Windows 95 Programmierer tun dasselbe, nur mit Pfeil und Bogen.
-
@PuppetMaster2k:
Das ist doch von dieser Seite hier (also www.c-plusplus.net) kopiert...