Lohhausen: Der Klassiker unter den komplexen Problemen

Das Computerprogramm „Lohhausen“ ist in der Geschichte der modernen Problemlöseforschung einer der Meilensteine, an denen kein Student und kein Forscher vorbeikommt. Die Simulation einer kleinen Kommune namens Lohhausen (siehe Stadtplan – BTW: liebe MairDumont GmbH & Co KG: Sie brauchen dafür nicht wieder Ihren Rechtsanwalt abmahnend auf mich zu hetzen wg illegaler Nutzung eines Stadtplanausschnitts…) war damals in den 70er Jahren, als es noch keine Personalcomputer gab, ein waghalsiges Unterfangen.  Aber nicht die technische Seite war sensationell, sondern die Aufgabenstellung:  Das Schicksal der kleinen Kommune wurde für 10 simulierte Jahre in die Hände von insgesamt 48 Versuchspersonen gelegt. Ein komplexes Problem, das sich den Bürgermeistern auf Zeit stellte! Und das Ergebnis: ziemlich katastrophal! Das hat die Arbeitsgruppe um Dietrich Dörner (damals Uni Giessen, heute Emeritus an der Uni Bamberg) berühmt gemacht (zusammenfassend: Dörner, Kreuzig, Reither & Stäudel, 1983). Damit ist Lohhausen ein Stück Psychologie-Geschichte.

Lohhausen an der Lohe

Als junger Doktorand (damals an der Uni Trier) habe ich das Buch verschlungen und 1984 Dietrich Dörner angeschrieben und um Übersendung des Quellprogramms gebeten. Ich bekam von ihm nicht nur das in ALGOL-SIMULA (=Compiler für eine CDC 3300 Rechenanlage, wie sie damals am HRZ Giessen stand) verfasste Programm mit Schreiben vom 29.2.1984 in Papierform, sondern auch die Unterlagen zur Bedienung und Dateneingabe in dieses Programm (die sog. Versuchsleitermappe). Damals konnte ich nicht viel damit anfangen, da unser damaliger Trierer Großrechner TR 440 andere Compiler besaß und den Quellcode nicht in ein lauffähiges Programm übersetzen konnte..

Vor wenigen Monaten fielen mir beim Aufräumen sowohl das Programmlisting (hier in verbesserter Form) als auch die Handanweisung in die Hände – beide in einem Zustand der Alterung, der keine lange Überlebensdauer mehr versprach. Daher beschloss ich, diese historischen Dokumente in digitaler Form zu sichern. Dies ist nun geschehen. Wenn sich jemand also für eine Re-Implementation interessiert – so sieht ein Ausschnitt vom Quellcode aus, der insgesamt 700 Zeilen umfasst und von Jessica Horn sehr sorgfältig abgetippt wurde:

„PROCEDURE“UMSETZ(VON,ZU,N).,“INTEGER“VON,ZU,N.,
„BEGIN““INTEGER“I,J,K,H.,“REAL“KAP.,
K.=HD(/VON,2/)+HD(/VON,3/).,“IF“N“GREATER“K“THEN“H.=K.,
„IF“K“GREATER“0″THEN“
KAP.=HD(/VON,14/)/K.,
„FOR“I.=1″STEP“1″UNTIL“H“DO““BEGIN“L..J.=RANDINT(1,5,U).,
„IF“ALTER(/VON,J/)“GREATER“0″THEN““BEGIN“ALTER(/VON,J).=ALTER(/VON,J/)
-1.,
ALTER(/ZU,J/).=ALTER(/ZU,J/)+1.,
HD(/VON,2/).=HD(/VON,2/)-1.,HD(/ZU,3/).=HD(/ZU,3/)+1.,
L2..K.=RANDINT(1,6,U).,“IF“WO(/K,VON/)“GREATER“0″THEN“
„BEGIN“WO(/K,VON/).=WO(/K,VON/)-1.,WO(/K,ZU/).=WO(/K,ZU/)+1″END“
„ELSE““GOTO“L2.,
HD(/VON,14/).=HD(/VON,14/)-KAP.,HD(/ZU,14/).=HD(/ZU,14/)+KAP“END“
„ELSE““GOTO“L.,“END““END“UMSETZ.,

Sowohl das Quellprogramm im Original (hier in leicht verbesserter Form) als auch das (umfangreiche) Versuchsleitermanual stehen als PDF zur Verfügung, wenn jemand eine Re-Implementation versuchen möchte! Vielleicht gibt es ja irgendwann einmal ein Lohhausen-Revival 🙂 Bitte informieren Sie mich!

Die von Dörner später entwickelte Psi-Theorie (nicht zu verwechseln mit der gleichnamigen Psi-Theorie von Julius Kuhl) beschreibt kognitive Prozesse als Interaktion von Kognition, Emotion und Motivation und geht damit über bekannte kognitive Architekturen wie ACT-R oder SOAR weit hinaus, die z.B. Emotionen völlig ignorieren. Eine Implementation der Dörner-Theorie mit dem Label „Micro-PSI“ hat Joscha Bach (CILS, HU Berlin) vorgelegt, mit dem wir gerade dieser Tage über eine Kooperation gesprochen haben. Wir möchten verschiedene der von uns verwendeten Szenarien (MicroDYN, MicroFIN, Plan-A-Day, RushHour, Turm von Hanoi, Tailorshop) mit seiner Architektur modellieren (hier ein Video dazu) und die gleichen Steuerungsprinzipien verwenden.

Nachtrag 1.6.2011: Mit Zustimmung von Dietrich Dörner hat sich Thomas Makait an die Arbeit gemacht, Lohhausen in eine moderne Programmiersprache umzusetzen und mit einer internetfähigen Schnittstelle auszurüsten. Dieser Prozess wird von ihm beschrieben unter http://www.lohhausen.org/ (der Link ist tot/23.7.2025) – bin sehr gespannt, was da entsteht! – Nachtrag 12/2013: Das Projekt scheint zu stagnieren (oder sogar abgebrochen)…

Nachtrag 16.1.2014: Mit Unterstützung durch Dietrich Dörner hat sich eine studentische Projektgruppe an der Universität Osnabrück unter Leitung von Frank Jäkel (neuer Link) an die Programmierung von „Lohhausen 2.0“ (der Link ist tot/23.7.2025) gemacht. Bei einem Besuch vor Ort konnte ich mir ein Bild von den bislang geleisteten Arbeiten machen und habe mit Freuede gesehen, dass der alte Simula-Quellcode weitgehend zum Laufen gebracht werden konnte. Eine Schnittstelle zum Internet ist in Planung.

Nachtrag 5.11.23: Mail von Dietrich Dörner: Lieber Joachim, jetzt habe ich mich ein wenig mit „Lohhausen“ beschäftigt und muss zunächst einmal zugestehen, dass das eine ziemlich haarige Sache ist. Zunächst mal: das gesamte Programm bestand anscheinend ursprünglich aus einem Lochkartenstapel und der ist letztenendes das Protokoll. Dadurch wird die ganze Geschichte fürchterlich unübersichtlich weil man auf eine Lochkarte eben so viel draufschrieb, wie drauf passte. Und irgendeine Art von Gliederungen des Textes durch Einrücken usw. unterblieben. Und Leerzeilen zur Gliederung gab es auch nicht, es fehlen also die Absätze! Dann stehen da allein irgendwelche Zahlen völlig isoliert vom anderen Text. Das waren Karten-Nummerierungen, die mit dem eigentlichen Programm überhaupt nichts zu tun haben und gewöhnlich auf den Spalten 71-80 der Lochkarte standen, die für Code nicht benutzt wurden. (Mit in diesen Zahlen konnte man dann die Lochkarten sortieren.) Also zu wissen, dass die Zeilen des Programmcodes mal Lochkarten waren, ist von großer Bedeutung. – Weiterhin wird die Sache dadurch schwierig, dass in dem Lochkartencode (das war amerikanischer Code) einige Zeichen nicht vorkamen und dann durch irgend eine Umschrift ersetzt wurden. Zum Beispiel gab es im Lochkartencode keine eckigen Klammern und auch keine „;“. Die eckigen Klammern wurden ersetzt durch „(/“ bzw. „/)“. Ein „;“ wurde zu „.,“.  Wenn dann einige Zeichen aufeinander folgten, ist dem mit dem Lochkartencode nicht vertrauten Leser vielleicht ganz unklar, was da eigentlich steht. – Dann fehlen in dem Lochkartencode alle Kommentare, die gewöhnlich in jedes Programm eingebaut werden. Was die einzelnen Variablen bedeuten, ist eigentlich nur aus dem Namen ersichtlich, aber diese Namen sind oftmals unverständliche Abkürzungen. Statt „Bank-Einkommen“ steht da „BAEIN“. Es waren auch nur Großbuchstaben erlaubt und die Namen durften auch nicht mehr als acht Zeichen lang sein (oder so ungefähr). – All das macht den Text für die unbefangenen Laien fast unlesbar bzw. man braucht eine Menge von Phantasie. – In diesem Zusammenhang: du schriebst irgendwo, dass noch umfangreiche Anleitungen vorhanden seien. Kannst du mir die bitte auch schicken; das dürfte einige Schwierigkeiten bei der Entzifferung von Namen beseitigen. – Ich werde jetzt zunächst eine Delphi Fassung des Programmes an, indem ich den Text so umschreibe, dass er lesbar wird. Und dann gehe ich an die Entzifferung der Bedeutung der Namen der Variablen. – Das ist alles eigentlich ganz lustig, ein bisschen Informationstechnik-Archäologie. Mal sehen was dabei rauskommt! – Eigentlich hätte das ganze Programm mit einem schriftlichen Kommentar versehen werden müssen. Aber damals wussten eben alle worum es ging und was was hieß. Und an die Enkel und Urenkel dachte mal wieder keiner!

Nachtrag 25.7.2025: Die am weitesten fortgeschrittene Re-Implementation von Lohhausen hat m. W. Bernhard Stoinski (Köln) im Frühjahr 2022 in DYLOGOS geschafft. Ich habe sie allerdings nicht gesehen.

Siehe auch: https://joachimfunke.de/2011/06/20/tailorshop-ein-wiederentdecktes-komplexes-problem/

Kategorien:

Archive
Kategorien