What might Psychology be, if not Philosophy, and Computer Science, and Bullshit?

5. Mai 2014


Zusammenfassung

Ein interessantes Seminar führt mich in die unkartographierten Bereiche meines Wissens; ich falle in einen Kaninchenbau aus Philosophie und Kognition und entdecke das lustigste Paper aller Zeiten. Der Bachelor nervt immernoch und Philosophie kann ziemlich toll sein.

Prokrastimmierung

Vor Kurzem hatte ich das Gefühl, innerhalb meines Studiums abzudriften. Ich sollte ja eigentlich Psychologie studieren, aber der Informatiker in mir fordert immer öfter Wegzoll und ich muss einfach mal wochenweise sinnlos Software schreiben oder mich mit Algorithmen und Datenstrukturen beschäftigen. Prokrastimmieren nenne ich das, eine Ligatur aus Programmieren und Prokrastinieren, you get the idea.

Als nächstes steht meine Bachelorarbeit an, in dieser soll es wieder um die Kognition beim Programmieren gehen. In meiner ersten Studie habe ich dazu ja bereits einige Vorarbeit geleistet. Zwischenzeitlich hatte ich es aber geschafft, mich wieder mehr auf mein Studium zu konzentrieren. Was ich in dieser Zeit gelernt habe, möchte ich hier dokumentieren; für mich als Tagebuch, für dich als Unterhaltung.

Ein tolles Seminar

Der Titel des heutigen Eintrags mag etwas seltsam gewählt sein. Mein Semester fing für mich im Dezember an (als es eigentlich schon zur Hälfte vorbei war). Da besuchte ich ein Seminar bei Daniel Holt der sich, im breitesten Sinne, mit Lernen und Problemlösen beschäftigt. Dieses heftige Understatement kannst du, lieber Leser, gerne selbst korrigieren, indem du auf den Link klickst.

Daniel hatte zusammen mit ein paar Leuten vom IWR , dem Institut für Wissenschaftliches Rechnen an der Uni Heidelberg, ein interessantes Seminar mit kompliziertem Namen angeboten: "Gedanken und Gefühle in Zahlen – Methoden des Wissenschaftlichen Rechnens in der Psychologie". Der Name ist so lang wie das Programm. Wir diskutierten in vier viel zu kurzen Sitzungen über kognitive Modellierung, die Natur der Kognition und angemessene wissenschaftliche Instrumente zu deren Beschreibung. Dabei wurde auch ein Paper besprochen von Tim van Gelder, mit dem Titel "What might cognition be, if not computation?". Van Gelder greift die vorherrschende Sichtweise an, dass Kognition am besten durch Komputation beschrieben wird und zeigt auf, dass dynamische Systeme und die dafür zu nutzenden Werkzeuge (Differentialgleichungen) angemessener seien, um sich über die Kognition als Solche gedanken zu machen. Das Paper ist gut zu lesen, spannend, durchwachsen und man wird nicht wirklich schlauer davon.

Ich sollte eine Kritik des Papers als Hausarbeit schreiben. Das Ganze hat mich knapp 3 Monate gekostet und ich habe immer noch kein Ergebnis - da ich aber eh nichts von Noten halte, ist mir auch egal was das für eine wird und ich konzentriere mich lieber auf das, was ich dabei gelernt habe. Die möchte ich nun weniger inhaltlich zusammenfassen, als viel eher meinen eigenen, subjektiven Eindruck davon darlegen. Ironischer Weise muss ich trotzdem erstmal ne Inhaltsangabe machen. Das Paper ist auch garnicht schlecht.

Die Hausarbeit

Der Aufhänger ist die Dampfmaschine von James Watt. Um deren Output - ihre Drehgeschwindigkeit - unabhängig vom Kesseldruck konstant zu halten, baute James Watt einen Fliehkraftregler . Dieser macht, durch einen zentrifugalen Mechanismus, das Druckventil zu, wenn die Maschine schneller wird und wieder auf, wenn sie zu langsam ist. Ein Programm müsste das so erledigen: Erst wird die Geschwindigkeit gemessen, dann verglichen, ob sie zu schnell ist; dann wird errechnet, wie weit das Ventil geschlossen oder geöffnet werden muss, damit die gewünschte Sollgeschwindigkeit erreicht wird. Der Prozess muss natürlich in regelmäßigen Abständen wiederholt werden. Das Argument des Autors ist nun, dass der echte Fliehkraftregler nur schlecht durch den Algorithmus beschrieben wird. Hier sollte man eher mit Hilfe von Differentialgleichungen versuchen, den Mechanismus zu beschreiben. Beschäftigt man sich nun mit solchen dynamischen, gekoppelten Systemen, so erhält man bessere Modelle der Kognition, als wenn man immer nur so tut, als wäre ein Hirn auch gleich ein Computer.

Nach und nach hatte ich, durch viel Querlesen, verstanden, wo da die Probleme liegen. Zu allererst dachte ich, der Mann habe absolut recht und man bräuchte unbedingt die Theorie dynamischer Systeme zur Beschreibung von Kognition. Das Ganze liegt ja auch nahe: Kognition ist sicher ein "dynamischer Prozess" und vielen fällt es sicher schwer sich vorzustellen, dass im Kopf einfach ein Programm abläuft; aber so einfach ist die Diskussion hier nicht. Inhaltlich spannend, ich habe einige Papers zu dem Thema gelesen und am Ende hatte ich einen guten Überblick, dir, lieber Leser empfehle ich die Kurzübersicht (sorry, wissenschaftliche Paywall). Inhaltlich Spannend, aber nicht worauf ich hinaus will!

Haschd du gelernt?

Also: Komputation und Kognition. Das kann doch nicht so schwer sein. Als Informatiker kennt man sich ja mit Komputation aus, richtig? Naja, nicht ganz. Komputation muss halt auch erstmal definiert werden, bevor man sich drüber unterhalten kann. Und genau hier bringt der Autor den ersten Schnatzer: Er definiert einfach irgendwie zusammen. Dann vergleicht er das mit neuronalen Netzen und faselt dann was von dynamischen Systemen. Und der arme Student denkt nur: W. T. F. Aber das kommt vor, wenn man als Informatiker/Psychologe auf einmal philosophische Papers liest.

Zunächst war ich von den einzelnen Infos wie erschlagen. Die Autoren der Papers, allesamt Philosophen und Psychologen, gaben sich die Hand und hangelten sich von dynamischen Systemen zur Analyse von Flüssigkeiten, Neuronalen Netzen, Lern- und Motaivationstheorien über den Begriff von Repräsentation bis hin zur Nicht-Definition von Komputation. Es ging zu wie an einem Zirkustrapez. Keiner der Bereiche war mir wirklich intuitiv zugänglich, ich hatte immer das Gefühl, weit unter meiner Kompetenz zu arbeiten, hoffnungslos überfordert zu sein und aus dem Ganzen einfach nicht schlau zu werden. Nachdem ich dann mit Ach und Krach meine Hausarbeit beendet hatte (Rating in Progress), war ich irgendwie auch nicht schlauer. Mir war nur klar: Ich weiß, dass ich nichts weiß. Einfach zu kritisieren war, dass van Gelder hier und da einfach ein paar Definitionen weggelassen hatte und dynamische Systeme dann mit konnektionistischen Systemen (Natürliche Neuronale Netzwerke) in einen Topf warf. Darauf baute dann auch meine Hausarbeit auf - Ziel erfüllt würde ich sagen - aber viel mehr als die wahrheitsdehnende Herangehensweise von Herrn van Gelder wurden mir einige Punkte klar, die ich hier nun aufzeigen möchte.

1. Der Kaninchenbau

Die ganze Reise an die Grenzen meines Intellekts hat mir viel Spaß gemacht. Sie war höchst spannend und ultra bekloppt. Ich lernte die "Cognitive Science" als eigene Inter-Disziplin kennen, mir war nicht klar, dass dieser Begriff, den ich nun auch immer häufiger wahrnehme, ein eigenes Ding beschreibt. Ich dachte das sei eigentlich damit beendet, ein wenig Hirnanatomie und Psychologie zu diskutieren, aber dass es sich dabei um eine eigene Welt handelt, war mir nicht so klar. Die Psychologie hat noch viele Facetten und auch in der Informatik habe ich noch einige blinde Flecken - ich fühle mich wie Alice im Wunderland. Natürlich war das auch ein Benchmarking für meine eigene Ambiguitätstoleranz (toller Begriff, tolles Konzept).

2. Studium als Berufsvorbereitung? Sicher nicht!

Während ich mich mit den Inhalten beschäftigte, fiel mir auf, wie weit die Qualität und Informationsdichte in diesem Sektor der Wissenschaft sich von dem unterschied, was man sonst so im Studium hört. Das eine nenne ich mal die Bachelor-Seite, das ist die Perspektive, die man als Studienanfänger hat. Da wird in der Sozialpsychologie ein bisschen über irgendwelche verblüffenden Effekte gefaselt und man kommt aus dem Schmunzeln nicht raus, was für Pranks und Veräppfelungsaktionen heute teils als Wissenschaft durchgehen, andererseits lernt man ein bisschen Statistik und komische Fakten über Reliabilitäts-Skalen in der Diagnostik, liest hier ein Paper, da ein Paper, alles nichts Weltbewegendes... Aber dann macht man einen Schritt ins falsche Seminar und versteht nur Bahnhof. Da kommt höhrere Mathe zum Einsatz und die Leute beschreiben Probleme mit Analogien, die man nicht mal im Ansatz versteht. Die Autoren bedienen sich Theorien aus zig verschiedenen Disziplinen und springen von Informatik, Neurologie, Motivation zu Mathe und wieder zurück, ziehen dabei nicht über Los und sammeln auch keine 4000 Euro auf dem Weg... Das ist einerseits wunderschön: Es gibt so viel zu entdecken und immerhin habe ich diesen Kaninchenbau ja auch im Rahmen meines Studiums kennengelernt, aber es war dann doch leider eher vom Zufall getrieben. Ich kannte den Veranstalter, der kannte mich, ich hatte halt n bisschen Informatik gemacht und mit ihm diskutiert. Zwischen Tür und Angel dann fiel ihm ein, dass ich ja in das Seminar passen würde, zusammen mit den Leuten vom IWR gabs dann gute Diskussionen. Das Alles würde ich aber eher als Zusatzveranstaltung deklarieren. Aus dem regulären Bachelorstudium heraus wurde mir nicht mal klar, dass es diesen Kaninchenbau gibt. Eine Kritik des Bachelors ist aber grad so ausgelutscht wie Sänkyoufortravelingwisdeutschebahn, daher beende ich den Punkt an dieser Stelle.

3. Studier auf keinen Fall Psychologie!

Wenn man an Psychologie denkt, dann denken viele sicher erstmal an die Psychotherapie, also den klinischen Bereich (deswegen denken viele wohl auch, ich wollte umsatteln und kein Informatiker mehr sein, was aber Quatsch ist). Viele meiner Kommilitoninnen sind tatsächlich eher am Institut, weil sie Therapeutinnen werden wollen - mit Menschen arbeiten, ihnen helfen, empathisch sein. Klinischer Bereich eben. Da sind solche Inhalte, wie ich sie bisher erlebt habe aber doch eher hinderlich; eigentlich sollte das Studium ja auf einen Beruf vorbereiten, aber, sein wir nicht naiv, das tut es nur selten. Das Studium ist sicher geeignet als eine Vorbereitung auf eine wissenschaftliche Karriere, wenn man aber Thearapeut werden möchte, muss man ohnehin nach dem Studium erstmal eine Ausbildung machen. Die ganze Statistik und das wissenschaftliche Arbeiten kann man sich dann auch sparen, wenn man eine Praxis hat (ich kenne viele Therapeuten, ratet mal, wie viele von denen jeden Tag eine Varianzanalyse rechnen).

Aber klar, so einfach ist es nicht und ich will auch nicht abstreiten, wie sinnvoll eine Ausbildung auf wissenschaftlicher Basis ist. Allerdings fehlt mir hier etwas die Mitte zwischen Theorie und Praxis. Ich kenne studierte (Uni-) Informatiker, auch Unformatiker genannt, die könnten nicht programmieren, um ihre eigene Mutter zu retten - ich kenne aber auch praktizierende Programmierer, die seit 10 Jahren Java machen und nen Bogosort nicht von nem Shellsort unterscheiden können. Ich möchte sagen: Theorie und Praxis: Ja beides - aber wenn man absehen kann, worauf man hinaus will, dann sollte man die Möglichkeit haben, den Overhead zu reduzieren.

4. Mehr Respekt vor Philosophen!

Gemeiner Witz: Was sagt ein arbeitsloser Philosoph zum arbeitenden Philosophen? Einmal zum Hauptbahnhof bitte!

Das Cliché lässt sich nur schwer wegbekommen und einige Studenten der Philosophie sind kaum in der Lage, auch nur einen klaren Gedanken zu fassen und zu formulieren. Besonders in der Aufarbeitung des Papers war ich aber erstaunt, wie gewinnbringend da diskutiert wurde und wie klar die Konzepte an vielen Stellen waren. Ich hatte an einigen Stellen einfach keine Ahnung, wovon da gesprochen wird, aber das lag zumeist nicht an den Ausführungen selbst, sondern daran, dass ich halt mit dem Thema keine Erfahrungen hatte. Ist ja auch nicht schlimm, wenn man dumm ist, ist nur schlimm, wenn man dumm bleibt.

Die Leitfrage war ja sehr spannend: Ist die Kognition eher ein Computer oder ein dynamisches System? Die Beantwortung der Frage beinhaltete dann auch neuronale Korrelate, also einen Blick auf die Hardware. Wieder andere versuchten eine Verbindung zwischen Individuen und dem Sozialen Netzwerk eines Gehirns herzustellen. Alle diese Phänomene haben eines gemeinsam: Sie entziehen sich der direkten Messung. Daher war die Analyse des Sachverhalts eher auf einer sehr theoretischen und eben auch philosophischen Ebene. Und genau da wurde es interessant, denn die Philosophie stand nicht nur als bedeutungslos-"künstisches" Abstraktum im Raum, sondern wurde direkt aus konkreten Kenntnissen abgeleitet.

Ich komme daher zu dem Schluss: Philosophie ist extrem geil und total wichtig. Gute Philosophie ist praxisnah und nicht einfach nur was für Taxifahrer. Ich würde sogar noch weiter gehen. Wer es sich leisten kann, sollte sich einen Philosophen angeln und in die Firma holen. Philosophen bringen durchweg interessante Skills mit, die auch in der IT Verwendung finden könnten. Sie sind gut im Zerdenken und analysieren, die können sich mit abstrakten Dingen beschäftigen, und und und. Das alles sind Skills, die ein Informatiker oder Softwareentwickler idealer Weise auch mitbringt.

5. Oma Code

Bei meinen Recherchen fühlte ich mich oft an das folgende Zitat erinnert, welches Albert Einstein zugeschrieben wird:

If you can't explain it simply, you don't understand it well enough.

Viele Autoren kleideten sich in komplizierte Ausdrücke und machten sich keine Mühe, genaue Definitionen anzulegen. Das ist auch das, was meiner Kritik von schlechtem Code zu Grunde liegt - sich einfach auszudrücken ist extrem schwierig, besonders, wenn man komplizierte Gedanken hat. Wenn man abstrakte Systeme beschreibt und diese dann in Code konkretisiert, so erhält man ein Abbild des Systems - wenn das im Code aber komplizierter ist, als es in Wirklichkeit sein muss (das ist das, was wir sowohl als Over-Engineering als auch als Spaghetti-Code bezeichnen), dann ist das oft auch ein Zeichen dafür, dass an verschiedenen Stellen Unsicherheit besteht.

Das Zitat liefert eine gute Heuristik (Daumenregel): Wenn der Code kompliziert ist, ist das Problem unklar. Das ist übrigens garnichts neues. Auf Ernest Rutherford geht folgender Spruch zurück:

A good scientific theory should be explicable to a barmaid.

In der Beziehung auf Quellcode nenne ich persönlich das Prinzip den "Oma-Code". Der Code sollte dem Sekretär oder der eigenen Oma erklärbar sein (oder jemandem ohne technischen Hintergrund). Wenn man sich im agilen Umfeld umsieht, gibt es auch einige Instrumente, die dabei helfen sollen, die Komplexität der Gedanken oder zumindest des Ausdrucks zu reduzieren, wie beispielsweise User Stories oder die Ubiquitous Language im Domain Driven Design.

6. Don't bullshit a bullshitter

Auf Walter White aus der genialen Serie Breaking Bad geht dieser Satz zurück. Wer immer nur kompliziert daherredet, verhindert, dass man irgendwann die wirklich komplexen Probleme von den einfachen Problemen unterscheiden kann.

Als Programmierer sind wir Fans unserer Fachsprache. Wir freuen uns über die komplexen Algorithmen und komischen Muster, die seltsamen Begriffe, die keiner sonst versteht. Du, lieber Leser merkst das vielleicht, wenn du im Freundeskreis mal mit Nicht-Informatikern weggehst (oder Nicht-Psychologen), als Informatiker unter Psychologen merke ich das jeden Tag. Je nach dem wie gut man sich in einem Bereich auskennt, merkt man auch, wenn jemand Unfug redet. Beim Schreiben der Hausarbeit dachte ich oft, ich sei zu doof, um einige Sachverhalte zu verstehen und das mag auch an vielen Stellen so gewesen sein, allerdings gab es auch Momente, wo ich entgeistert ins Leere blickte, als mir klar wurde, dass da gerade einer Unfug erzählt.

Zenit meiner Recherche war folgende wunderbare Begegnung mit den Ausführungen von Barbara Fredrickson. In ihrem Paper "Positive Affect and the Complex Dynamics of Human Flourishing" (American Psychologist, 2005, 60,7, pp. 678-686) beschreibt sie, zusammen mit Marcial Losada, die "Positive Affect Ratio":

The authors predict that a ratio of positive to negative affect at or above 2.9 will characterize individuals in flourishing mental health.

Bisher war ich überzeugt, dass die Theorie dynamischer Systeme angemessen sei, um bestimmte Aspekte zu beschreiben. Beim Lesen dieses Papers kamen dann doch Zweifel auf. Da wurden beispielsweise mit dem Lorenz-Attraktor argumentiert, Details weggelassen und Methodisch einfach irgendwelche Annahmen getroffen, die dann als selbstverständlich dargestellt werden. Als unbedarfter Student hat man natürlich erstmal das Vertrauen, dass das alles mit rechten Dingen zugeht. Immerhin wusste vor dem Lesen nicht mal, was genau der Lorenz-Attraktor ist. Hatte ich mal gehört, mehr aber auch nicht. Doch wie genugtuend ist es, dann eine antwortende Streitschrift in einem anderen Paper zu lesen. Allein der Titel ist zum totlachen:

The Complex Dynamics of Wishful Thinking: The Critical Positivity Ratio

(Brown, N. J.L., Sokal A. D., & Friedman, H. L., 2013, American Psychologist, 68). Die Autoren nehmen die Ausführungen des, tatsächlich sehr oft zitierten, Papers von Fredrickson und Losada auseinander. Sie beschreiben methodische Fehler und interessante Auslegungen. Sie enden in der folgenden Money Quote:

Let us stress that our concern here is with the objective properties of published texts, not the subjective states of mind of the authors (which might, however, be of interest to philosophers, such as Frankfurt, 2005)

Aha, was hat denn Frankfurter zu dem Thema beizutragen, fragt sich der interessierte Student. Ein genaueres Studium des Quellenverzeichnis liefert dazu folgende Referenz:

Frankfurt, H. G. (2005). On bullshit. Princeton, NJ: Princeton University Press.

Ich bin fast vom Stuhl gekippt vor Lachen. Und damit wird wohl klar, was einige Schlechtcodeschreiber und Verwirrungswissenschaftler so treiben:

If you can't convince them - confuse them. - Harry Truman