Wie fängt man einen Löwen in der Wüste?che
Methoden
Die Hilbertsche oder axiomatische Methode:
Man stellt einen Käfig in die Wüste und führt folgendes Axiomsystem ein:
Axiom 1: Die Menge der Löwen in der Wüste ist nicht leer.
Axiom 2: Sind Löwen in der Wüste, so ist auch ein Löwe im Käfig.
Schlußregel: Ist p ein richtiger Satz, und gilt "wenn p, so q", so
ist auch q ein richtiger Satz.
Satz: Es ist ein Löwe im Käfig.
Die geometrische Methode:
Man stelle einen zylindrischen Käfig in die Wüste.
1 Fall: Der Löwe ist im Käfig. Dieser Fall ist trivial.
2 Fall: Der Löwe ist außerhalb des Käfigs. Dann stelle man sich in den Käfig
und mache eine Inversion an den Käfigwänden. Auf diese Weise gelangt der Löwe
in den Käfig und man selbst nach draußen. Achtung: Bei Anwendung dieser Methode
ist dringend darauf zu achten, daß man sich nicht auf den Mittelpunkt des Käfigbodens
stellt, da man sonst im Unendlichen verschwindet.
Die Projektionsmethode:
Ohne Beschränkung der Allgemeinheit nehmen wir an, daß die Wüste eine Ebene
ist. Wie projizieren diese auf eine Gerade durch den Käfig, und die Gerade auf
einen Punkt im Käfig. Damit gelangt der Löwe in den Käfig.
Die Peano - Methode:
Man konstruiert eine Peano - Kurve, die durch jeden Punkt der Wüste geht. Es
ist gezeigt worden, daß man eine solche Kurve in beliebig kurzer Zeit durchlaufen
kann. Mit dem Käfig unterm Arm durchlaufe man die Kurve in kürzerer Zeit, als
der Löwe benötigt, um sich um seine eigene Länge fortzubewegen.
Die Bolzano - Weierstraß - Methode
Wir halbieren die Wüste in Nord- Süd Richtung durch einen Zaun. Dann ist der
Löwe entweder in der westlichen oder östlichen Hälfte der Wüste. Wir wollen
annehmen, daß er in der westlichen Hälfte ist. Daraufhin halbieren wir diesen
westlichen Teil durch einen Zaun in Ost-West Richtung. Der Löwe ist entweder
im nördlichen oder im südlichen Teil. Wir nehmen an, er ist im nördlichen. Auf
diese Weise fahren wir fort. Der Durchmesser der Teile, die bei dieser Halbiererei
entstehen, strebt gegen Null. Auf diese Weise wird der Löwe schließlich von
einem Zaun beliebig kleiner Länge eingegrenzt. Achtung: Bei dieser Methode achte
man darauf, daß das schöne Fell des Löwen nicht beschädigt wird.
Die funktionalanalytische Methode
Die Wüste ist ein separabler Raum. Er enthält daher eine abzählbar dichte Menge,
aus der eine Folge ausgewählt werden kann, die gegen den Löwen konvergiert.
Mit einem Käfig auf dem Rücken, springen wir von Punkt zu Punkt dieser Folge
und nähern uns so dem Löwen beliebig genau.
Die mengentheoretische Methode
Die Punkte der Wüste lassen sich wohlordnen. Ausgehend vom kleinsten Element
erwischt man den Löwen durch transfinite Induktion.
Bemerkung: Diese Methode ist in Fachkreisen umstritten wegen der Verwendung
des Wohlordnungssatzes bzw. des Auswahlaxioms. Wie so oft, hat auch die vorliegende
Fragestellung zu einer fruchtbaren Entwicklung geführt. Dabei wurde schließlich
eine sehr viel einfachere Methode entdeckt, die den genannten Mangel nicht aufweist:
Man betrachte alle Teilmengen der Wüste, die den Löwen enthalten und bilde ihren
Durchschnitt. Er enthält als einziges Element den Löwen. (Bei dieser Durchschneiderei
ist lediglich darauf zu achten, daß das schöne Fell des Löwen nicht zerschnitten
wird!)
Die topologische Methode
Der Löwe kann topologisch als Torus aufgefaßt werden. Man transportiere die
Wüste in den vierdimensionalen Raum. Es ist nun möglich, die Wüste so zu deformieren,
daß beim Rücktransport in den dreidimensionalen Raum der Löwe verknotet ist.
Dann ist er hilflos.
Die Banachsche oder iterative Methode
Es sei f eine Kontraktion der Wüste in sich mit Fixpunkt x0. Auf diesen Fixpunkt
stellen wir den Käfig. Durch sukzessive Iteration W(n+1) = f (W(n)), n=0,1,2,...
( W(0)=Wüste ) wird die Wüste auf den Fixpunkt zusammengezogen. So gelangt der
Löwe in den Käfig.
Die Kompaktheitsmethode:
Die Wüste wird ohne Beschränkung der Allgemeinheit als kompakt vorausgesetzt.
Man überdecke sie mit einer Familie von
Käfigen K(i). Dann gibt es unter ihnen endlich viele Käfige K(j), die
bereits die ganze Wüste überdecken. Die Durchmusterung dieser Käfige auf darin
befindliche Löwen wird als Diplomarbeit vergeben.
Hierzu schrieb mir Sven Schulz:
Die Kompaktheitsmethode hat einen schweren mathematischen Fehler, da die Wüste mit offenen Käfigen überdeckt werden müsste, und auch Mathematik-Diplomanden würden sich einem Löwen in einem offenen Käfig nicht nähern!
Die stochastische Methode:
Man benötigt dazu ein Laplace - Rad, einige Würfel und eine Gaußsche Glocke.
Mit dem Laplace - Rad fährt man in die Wüste und wirft mit den Würfeln nach
dem Löwen. Kommt er dann wutschnaubend angerannt, so stülpt man die Gaußsche
Glocke über ihn. Unter ihr ist er mit der Wahrscheinlichkeit eins gefangen.
Die
metrische Methode:
Wir stellen einen Käfig in die Wüste, verlassen diese unauffällig und definieren
in ihr die indiskrete Metrik, d.h. der Abstand zwischen allen Punkten ist 0.
Insbesondere ist also der Abstand zwischen Löwe und Käfig gleich 0, d.h. der
Löwe ist im Käfig.
Die gruppentheoretische Methode
Man definiere die Wüste als endliche Gruppe mit dem Käfig als beliebiges, nicht-neutrales
Element a und dem Löwen als neutralem Element e. Für endliche Gruppen gilt:
Es gibt ein n aus den natürlichen Zahlen, so daß gilt:
an=e=Löwe
Man potenziere den Käfig mit n. Auf diese Weise gelangt der Käfig zum Löwe und
somit der Löwe in den Käfig.
Die einfachste Methode
Wir bauen an beliebiger Stelle außerhalb der Wüste einen Zaun um uns herum und
definieren uns als außerhalb dieses Zaunes. Da sich der Löwe auf der anderen
Seite des Zaunes befindet, muß er sich folglich innerhalb des Zaunes befinden.
Einen eingezäunten Löwen zu fangen kann als hochgradig trivial betrachtet werden.
Die induktive Methode
Ein Löwe sei in der Wüste. Mit vollständiger Induktion zeigt man leicht, daß
für beliebige n Element N gilt: n Löwen sind in der Wüste. Weil die Wüste endlichdimensional
ist, liegen die Löwen für hinreichend große n überall dermaßen dicht, daß zwangsläufig
einer in den Käfig gedrängt wird.
Die Wiener-Tauber-Methode
Wir beschaffen uns einen zahmen Löwen, Lo,
aus der Klasse (-oo, oo), dessen Fourier-Tranformierte nirgends verschwindet,
und setzen ihn in der Wüste aus. Lo
konvergiert dann gegen unseren Käfig. Aufgrund des allgemeinen Wiener-Tauber-Theorems
wird dann jeder andere Löwe L gegen denselben Käfig konvergieren. (Als eine Alternative können
wir uns stattdessen beliebig nahe an L
annähern, indem wir Lo durch die Wüste
translatieren.e
Methoden
Die Newtonsche Methode
Käfig und Löwe ziehen sich durch die Gravitationskraft an. Wir vernachlässigen
die Reibung. Auf diese Weise muß der Löwe früher oder später am Käfig landen.
Die Diracsche Methode
Wir stellen fest, daß wilde Löwen, ipso facto, in
der Wüste Sahara nicht beobachtet werden können. Wenn es überhaupt Löwen in
der Sahara gibt, sind sie daher zahm. Das Einfangen eines zahmen Löwen bleibt
dem Leser als Übungsbeispiel überlassen.
Die Heisenberg - Methode
Ort und Geschwindigkeit eines bewegten Löwen lassen sich nicht gleichzeitig
bestimmen. Da bewegte Löwen also keinen physikalisch sinnvollen Ort in der Wüste
einnehmen, kommen sie für die Jagd nicht in Frage. Die Löwenjagd kann sich daher
nur auf ruhende Löwen beschränken. Das Einfangen eines ruhenden, bewegungslosen
Löwen wird dem Leser als Übungsaufgabe überlassen.
Die Schrödinger - Methode
Die Wahrscheinlichkeit dafür, daß sich ein Löwe zu einem beliebigen Zeitpunkt
im Käfig befindet, ist größer als Null. Man setze sich vor den Käfig und warte
Die Methode der Kernphysik
Setze einen zahmen Löwen in den Käfig und wende einen Majorana-Austauschoperator
zwischen ihm und einem wilden Löwen an. Als eine Variante lassen Sie uns annehmen,
daß wir z.B. einen männlichen Löwen fangen wollen. Wir setzen eine zahme Löwin
in den Käfig und wenden daraufhin einen Heisenberg-Austauschoperator an, der
die Spins austauscht.
Die Einsteinsche Methode
Man überfliege die Wüste mit Lichtgeschwindigkeit.
Durch die relativistische Längenkontraktion wird der Löwe flach wie Papier.
Man greife ihn, rolle ihn auf und mache ein Gummiband herum.
Eine relativistische Methode
Wir verteilen über die Wüste Löwenköder, der große
Mengen des Begleitsterns des Sirius beinhaltet. Wenn genügend von dem Köder
gefressen wurde, senden wir einen Lichtstrahl über die Wüste. Dieser wird sich
rund um den Löwen wickeln, so daß er ganz verwirtt wird und man sich ihm ungestraft
nähern kann.
Die
thermodynamische Methode
Wir konstruieren eine halbdurchlässige Membran, die
alles außer Löwen durchläßt, und ziehen sie über die Wüste.
Die Methode der Atomspaltung
Wir bestrahlen die Wüste mit langsamen Neutronen.
Der Löwe wird radioaktiv, und ein Zerfallsprozeß setzt ein. Wenn der Zerfall
hinreichend weit fortgeschritten ist, wird der Löwe nicht mehr imstande sein,
Widerstand zu leisten.
Die magneto-optische Methode
Wir pflanzen ein großes linsenförmiges Beet von Katzenminze
(Nepeta cataria), dessen Achse parallel zur Richtung der Horizontalkomponente
des Erdmagnetfeldes verläuft und setzen einen Käfig in einen ihrer Brennpunkte.
Wir verteilen über die Wüste große Mengen von magnetisiertem Spinat, der, wie
allgemein bekannt ist, einen hohen Eisengehalt hat. Der Spinat wird von den
pflanzenfressenden Bewohnern der Wüste verzehrt, die wiederum von den Löwen
aufgefressen werden. Die Löwen sind daraufhin parallel zum Erdmagnetfeld orientiert,
und der resultierende Strahl von Löwen wird durch die Linse aus Katzenminze
in den Käfig fokussiert.
Die optische Methode
Man schaue durch ein umgedrehtes Fernglas auf den
Löwen, nehme ihn mit einer Pinzette und lege ihn in eine Streichholzschachtel.
Die Entropie-Methode
Ich stelle den Käfig hin und nach hinreichend langer
Zeit ist der Löwe aus Entropie-Gründen so verteilt, daß ich Löwenteile im Käfig
habe. Wenn es mir gelingt, die Anreicherung der Löwenteile anzuregen, wird,
wieder nach hinreichend langer Zeit, wieder ein ganzer Löwe draus. Funktioniert
übrigens auch umgekehrt, so kriege ich auch einen Käfig in einen Löwen.
Die
Such-Methode
Wir nehmen an, daß der Löwe von unserm Standpunkt
aus wahrscheinlich in nördlicher Richtung zu finden ist.
Daher ist das ganze Problem eigentlich nur eines der Geschwindigkeit, so daß
wir es mit einem Computer leicht lösen können.
Die Parallel-Such-Methode
Durch Parallelverarbeitung können wir die Suche in
nördliche Richtung der vorigen Methode deutlich beschleunigen.
Die Monte-Carlo-Methode
Wir nehmen eine zufällige Zahl, die den Raum, in
dem wir suchen, indiziert. Nimmt man benachbarte Punkte aus der Suche heraus,
kann man die zu untersuchende Punktzahl drastisch reduzieren. Nach den Gesetzen
der Wahrscheinlichkeit wird der Löwe somit früher oder später auftauchen.
Praktische Approximation
Nahe bei uns ist ein Hase. Da er schon tot ist, ist
er sicherlich leicht zu fangen. Wir fangen ihn und definieren ihn als Löwen.
Lineare Suche
Stelle Dich in die linke obere Ecke der Sahara. Gehe
einen Schritt nach Osten. Wiederhole, bis Du den Löwen gefunden hast, oder bis
Du an den rechten Rand der Sahara gekommen bist. Wenn Du an den rechten Rand
gekommen bist, gehe einen Schritt nach Süden und gehe nach Westen, bis Du den
Löwen hast, oder am linken Rand angekommen bist. Fahre so fort, bis Du den Löwen
gefunden hast. Hast Du ihn gefunden, so stülpe einen Käfig über ihn. Sollte
der Löwe Dich fressen, bevor Du das schaffst, drücke den RESET-Knopf und versuche
es erneut.
Die logische Methode oder Methode des
"Tertium non datur"
Man stelle einen offenen Käfig in die Wüste und lege
ein Brett mit Leim daneben. Beides biete man dem Löwen zum Betreten an. Der
Löwe sagt dann: "Nein auf den Leim gehe ich nicht!" Nach dem "Tertium
non datur" muß er in den Käfig gehen. Danach schlägt man die Tür zu.
Die dialektische Methode
Man zäune die Wüste ein, bewässere sie, sät Gras
und setzt Kaninchen aus. Die Kaninchen vermehren sich schnell. Nach Hegel kommt
daher bald der Zeitpunkt, bei dem Quantität in Qualität umschlägt, und dann
hat man einen Löwen.
Die
KI-Methode
suche(Löwe,Wüste,_) :- var(Wüste),!,fail.
% In einer nicht instantiierten W"uste
% lassen sich keine L"owen fangen.
suche(Löwe,Wüste,Wüste) :- atomic(Wüste), gefunden(Löwe,Wüste).
% Wenn die W"uste atomar ist,
% mu"s dort der L"owe sein.
suche(Löwe,[],_):- !, fail.
% Wenn die W"uste leer ist, ist auch
% kein L"owe drin.
suche(Löwe,[HEAD],HEAD) :- gefunden(Löwe,HEAD).
% Wenn der L"owe im ersten Element
% der W"uste ist, dann fertig.
suche(Löwe,[_|T],X) :- suche(Löwe,T,X).
% Sonst weiter schauen.
fange(Was,Wo,Womit) :-
fange(Was,Wo,WoGenau),
bewege(Womit,WoGenau).
gefunden(Was,Worin) :- member(Was, Worin).
bewege(Was, _ ) :- retract(position(Was,_)), fail.
bewege(Was,Wohin) :- asserta(position(Was,Wohin)).
test_Wüste([Wüste_1, Wüste_2, Wüste_3, Wüste_4, Wüste_5,
Wüste_6, Wüste_7, [Wüste_8, Löwe], Wüste_9,
Wüste_A, [Wüste_B, wagen], Wüste_C, Wüste_D]).
fange_Löwe_test :-
bewege(Käfig,wagen),
test_Wüste(Wüste),
fange(Löwe,Wüste,Käfig).
Die Methode der Telekom
Man benötigt dazu nur eine Telefonzelle und eine
Fahradklingel. Die Telefonzelle wird in der Wüste aufgestellt und man klingelt
mit der Fahradklingel. Der Löwe hört das Klingeln, will ans Telefon und wenn
er die Zelle betreten hat, muß man nur noch die Tür verschließen.
Die Methode von Herlitz
Man benötigt hierfür nur ein Notizblock der entsprechenden
Firma. Damit setzt man sich auf eine Palme und wartet bis der Löwe sich unter
diese legt. Nun zerreißt man den Notizblock und und läßt die Papierschnitzel
auf den Löwen regnen. Der denkt es schneit und erfiert.
Geeignete Datenstrukturen werden vorrausgesetzt!
5.1 Als Standardlösung ist immer zu empfehlen:
MODULE Fang;
FROM Problem IMPORT Loesung;
BEGIN;
Loesung;
END Fang.
5.2 Auch in ASM (MS-DOS) ist es möglich (ab MASM 9.0 oder TASM 4.5):
dosseg
.DATA
MAX equ 65535
Wüsten_Feld db MAX dup (0)
Käfig db
extern Löwe_Fkt_Nummer:Word ; DOS-Int. Nummer
.CODE
lds si, W_Feld ; ES:DI zeigt auf Anfang des Feldes
cld
mov CX,MAX ; CX als max. Index
M1:
lodsb
cmp al,Löwe
je Gefangen
loop M1
jmp Error
Gefangen:
mov BX,SI
mov AX,Löwe_Fkt_Nummer
lds di, Käfig
int 21h ; Dos-Interrupt, da alle aufwendigen Proc. in
; ASM ausgelagert werden sollen.
Error:
int 20h
END
5.3.Die einzigste
wahrhaftige Lösung , die wirklich
funktioniert , ist in der genialen Umgebung des LPC, das man
in UNItopia bewundern kann. /* Ist ein Multi-User-Textadventures, geschrieben
in C++-Clone.
int fang(string str)
{ object ob1,ob2,ob3;
if (!str || str!="Löwe mit Käfig")
{ write("WEN willst du mit WAS fangen ?\n");
return 1;
}
ob1=clone_object("/obj/Wüste"); /* Wüste enthält Löwe s.Aufgabe */
ob2=clone_object("/obj/Käfig");
if (!ob3=present("Löwe",ob1)
{ write("Es ist kein Löwe in der Wüste !\n"); /* Falls weggerannt
*/
return 1;
}
ob3->move(ob2);
write("Der Löwe befinde sich jetzt im Käfig.\n");
return 1;
}
Diese Funktion muß noch an ein Ereignis angehängt werden, die Objekte
Käfig.c und Wüste.c sind geeignet zu implementieren.
5.4 In Turbo Pascal geht dieses Problem natürlich auch:
program Test_Loesung;
type Wüster_Typ= Array[1..Max_X,1..Max_Y] of Index;
Inhalt = { weiß nicht }
Käfig_Typ = record
voll : Boolean;
Inhalt : Tier;
end;
Löwen_Typ = Tier;
var Wüste : Wüster_Typ;
Käfig : Käfig_Typ;
Tiere : Array[1..Max_Tiere] of Tier; { Falls noch Kamele in der Wüste }
{ sind . }
procedure Löwen_Fang;
var i,j:Word;
begin;
Käfig.voll:=false;
for i:=1 to Max_X do { Wüste nach Löwe absuchen }
for j:=1 to Max_Y do
if Wüste[i,j]=LöweN_INDEX then begin;
Käfig.Inhalt:=Tiere[Wüste[i,j]];
Käfig.voll:=true;
Wüste[i,j]:=KEINER_INDEX;
exit; { Da der Käfig schon voll }
end; { ist.Man könnte aber auch }
{ mit dieser Procedure alle Löwen einfangen. }
WriteLn('Achtung ! Kein Löwe gefunden, wie wärs mit einem Kamel ?');
end;
begin;
Init; { Wüste, Tiere werden eingestellt. }
Löwen_Fang;
if (Käfig.voll) then WriteLn(' Ok,der Löwe ist im Käfig.')
else WriteLn('Achtung ! Kein Löwe gefunden, durch "+
'Abänderung in KAMEL_INDEX wäre vielleicht"+
#10#13'ein Kamel möglich ?');
end.
5.5 Sogar als Shellscript geht es schon
#!/bin/sh
for $tier in $Wüste
do
if [ $tier = $Löwe ]
then mv $tier $Käfig; exit 0
fi
done