Vielleicht werde ich jetzt von Kollegen angegriffen, aber als Programmierer (und Physiker und Umweltschützer) möchte ich meine Zweifel öffentlich machen.
Den ersten Hinweis, was gemeint ist, bietet die Erklärung in „Wikipedia“ zum Stichwort Programmierer. Dort heißt es:

Im Unterschied zu fast allen anderen technischen Berufen braucht ein Programmierer weder eine Lizenz, noch muss er sich irgendwelchen Prüfungen unterwerfen, um sich als „Programmierer“ oder gar „Softwareingenieur“ bezeichnen zu dürfen.

Hmmm…
Vereinfacht gesagt, ist aus meiner Sicht das Programmieren nichts weiter, als ein Bündel von Annahmen in mathematische Gleichungen zu pressen.
Aber ist es wirklich möglich, hoch komplexe reale Zusammenhänge exakt in Nullen und Einsen zu übertragen? HAL [der Computer in „Odyssee 2001“, A. d. Übers.] mag das glauben, aber der gesunde Menschenverstand sagt nein. Dennoch versucht man es natürlich immer wieder, jedoch mit sehr begrenzten Erfolgen. Schauen wir uns das mal näher an!
Fangen wir mal mit den Annahmen an, die ein solches Modell macht.
Ich habe einmal ein Programm für das Begleichen von Rechnungen geschrieben. Typischerweise teilt man dem Schuldner mit, bis wann er zu zahlen hat. Die rechnungsstellende Firma hat die Zahlung nicht rechtzeitig verbucht. Welche Antwort ist jetzt angebracht? (Kursiv im Original).
Üblicherweise nimmt in solchen Fällen ein Computer Kontakt mit dem Schuldner auf. (Bei hunderten solcher Schuldner jeden Einzelfall von Hand zu prüfen, ist zeitlich völlig illusorisch!)
Also, was sagt man in diesem Falle dem Schuldner? Schon hier muss ein Programmierer bereits erste Annahmen machen.
Der Programmierer versucht, diese oder ähnliche Situationen in einem möglichst einfachen Modell zu erfassen. Entscheidend könnte zum Beispiel die Frage sein, ob der Schuldner überhaupt das Geld hat, die Rechnung zu begleichen, ja oder nein? (Kursiv im Original). Diese grundsätzliche Frage wird dann einer Boole’schen Regression unterzogen.
Welche Entscheidungshilfen hat der Programmierer für ja oder nein? Nun, zum Beispiel könnte er schauen, ob frühere Zahlungen pünktlich geleistet wurden, um eine statistische Wahrscheinlichkeit zu berechnen.
Natürlich besteht kein Computerprogramm lediglich aus einem einzigen möglichen Szenario, sondern einer ganzen Serie solcher Möglichkeiten, alle zu bearbeiten mit einer ja/nein – Entscheidung, die alle zusammen zu einer generellen Schlussfolgerung führen. In einer sehr komplexen Situation (z. B. Schulden eintreiben, Klimaänderungen oder finanzielle Transaktionen) kann man sehr leicht hunderte solcher Annahmen konstruieren.
Um zu verstehen, was das bedeutet, wollen wir einmal einen Fall betrachten, in dem es zehn solcher Entscheidungen zu treffen gilt – jede einzelne mit der Antwort „ja“ oder „nein“. Am Ende eines solchen Prozesses gibt es 2 hoch 10, also 1024 verschiedene Möglichkeiten. M. a. W., es gibt eine ganze Menge völlig verschiedener Schlussfolgerungen.
Unglücklicherweise gibt es in der Realität noch viel mehr Möglichkeiten. Die Annahme, dass die Situation unseres Schuldners in diesem Fall auf eine einfache ja/nein – Antwort reduziert werden kann, ist sehr ungenau. Es gibt viele andere reale Möglichkeiten, die sich häufig eben nicht mit ja oder nein beantworten lassen!
Beispiele: Es könnte sein, dass der Schuldner gar keine Rechnung bekommen hat, warum auch immer. Oder er hat korrekt gezahlt, aber die Überweisung ist irgendwie verloren gegangen. Oder er hat die Rechnung versehentlich an eine falsche Adresse gezahlt. Oder er hat es korrekt und pünktlich überwiesen, aber die Firma hat es falsch verbucht. Und so weiter, und so fort.
Soll ein Computerprogramm (oder –modell) genau sein, müssen alle diese Möglichkeiten in Betracht gezogen werden. Sieht man hier schon, wie kompliziert das Ganze schon in diesem einfachen Beispiel einer nicht eingegangenen Zahlung wird?
Es gibt noch einen anderen Faktor, der bisher nicht erwähnt wurde. Vielleicht kann ja der Schuldner gar nicht zahlen, weil sein Kind MS hat und er nicht krankenversichert ist? Wie kann ein Programmierer so etwas wie „fairness“ in seinem Programm berücksichtigen? Anders ausgedrückt: Können Nullen und Einser wirklich alle Möglichkeiten erfassen? Ich denke nein.
Also lautet die grundsätzliche Frage: Gibt es eine Möglichkeit, dass ein Computerprogramm alle Möglichkeiten der Realität korrekt abbilden kann, und sei es nur in diesem einfachen Beispiel? Die Antwort lautet nein!
Ein anderes scheinbar ganz einfaches Beispiel ist die simple Übersetzung hebräischer Bibeltexte in die englische Sprache. Wie viele Versionen der Bibel gibt es? Warum gibt es nicht nur eine einzige?
Kann man wirklich einen Prozess, der viel komplizierter ist, korrekt in ein Programm pressen? Man kann es natürlich versuchen, aber natürlich wird bei dieser Übertragung eine Menge (Kursiv im Original) verloren gehen.
Viele Menschen glauben, die volle Kontrolle über alle Variablen zu haben, und dass sie Szenarien von Hand verändern können. Das stimmt aber nicht, denn die vom User kontrollierten Elemente repräsentieren immer nur einen kleinen Teil aller Faktoren, die in einem Computermodell eine Rolle spielen.
Ganz ähnlich ist der Trugschluss, dass „wir alle Annahmen des Programmierers kennen, und dass wir diese Annahmen beeinflussen können“. Das ist falsch.
Beim Schreiben eines Computerprogramms werden jedes Mal Hunderte von Annahmen gemacht. Der Programmierer teilt dem User natürlich längst nicht (kursiv im Original) alle diese Annahmen mit; ähnlich wie ein Buchhalter, der einem Klienten, für den er eine Steuererklärung vorbereitet, auch nicht alle Annahmen mitteilen wird. Er präsentiert lediglich einige wichtige und sagt dann nur noch: „Bitte hier unterschreiben!“
Und noch eine andere grundlegende Variable ist zu beachten: Welche Datenbasis benutzt der Computer überhaupt für seine Annahmen?
Das Erstellen einer Steuererklärung ist abhängig von der Zusammenarbeit zweier Parteien. Beim Schreiben eines Computerprogramms bestehen diese zwei Parteien aus dem Programmierer und dem Wissenschaftler. Wenn der Steuerzahler seinem Buchhalter falsche oder nicht korrekte Zahlen übermittelt, wird das Ergebnis falsch sein. Viel schlimmer ist, dass keine der beiden Parteien dies bemerken dürfte.
Falls ein Wissenschaftler (irrtümlich) dem Programmierer unvollständige oder nicht korrekte Daten für sein Programm zur Verfügung stellt, dürfte das Ergebnis ebenfalls falsch sein. Und keiner der beiden wird das bemerken oder wissen! (Kursiv im Original).
Dann gibt es noch eine grundlegende Variable! Nachdem der Computer sein Modell berechnet hat, muss es jemanden geben, der dieses Ergebnis für Politiker und Öffentlichkeit (meist in Gestalt der Medien) interpretiert.
Und da gibt es eine Überraschung: Diese öffentliche Interpretation wird beeinflusst durch politische, religiöse, umwelttechnische, finanzielle und wissenschaftliche Meinungen! (Kursiv im Original). Berücksichtigen die Interpretierenden all diese unterschwelligen Verschiebungen? Die Antwort dürfte inzwischen klar sein: Absolut nicht!
Sollten alle diese Meinungen auch noch in die Gleichungen eingefügt werden, entfernt man sich so weit von den wissenschaftlichen Fakten, dass diese gar nicht mehr zu sehen sind.
Also sollte man sehr sorgfältig nachdenken, bevor man massive Aktionen durchführt, die nur auf solchen Modellergebnissen beruhen (als da wären: Ausgabe von Milliarden Dollar für Klimaschutz,; Bewertung der Rentabilität von Windparks, usw.)
Was also kann man tun? Soll man nun alle Computermodelle einstampfen?
Nein, das wäre das andere Extrem. Modelle haben ihre Berechtigung – sollten aber nicht der Schwanz sein, der mit dem Hund wedelt!
Man sollte Computermodelle realistischerweise als das sehen, was sie sind – Hilfsmittel, Denkanstöße und Hinweise, die als Ausgangspunkt für echte wissenschaftliche Forschungen dienen können.
Wegen ihrer naturgemäßen Grenzen (die ich hier nur gestreift habe), sollten alle (Kursiv im Original) diese Modelle mit einer gehörigen Portion Skeptizismus betrachtet werden. Außerdem sollten sie, um ihre Berechtigung unter Beweis zu stellen, den Forderungen wissenschaftlicher Methoden unterworfen werden.
Unglücklicherweise passier genau das nicht!
Wir sind der Illusion, dass diese Modellrechnungen korrekt sind, so hörig, dass wir jetzt sogar umgekehrt diese echten Fakten den Modellen anpassen oder sie anstelle der Modelle verwerfen, wenn sie nicht zu den Modellrechnungen passen (beide Hervorhebungen vom Übers.)! Das ist krankhaft!
Wenn eine Modellrechnung die Realität nicht vollständig spiegeln kann, hat sie nur sehr begrenzten Nutzen und sollte genauso behandelt werden wie die Vorhersagen eines Horoskops!
John Droz jr. ist Physiker und Anwalt für Umweltschutz
frei übersetzt von Chris Frey EIKE. Der Originalartikel erschien im Dezember 2009 bei Pajamas Media hier

image_pdfBeitrag als PDF speichernimage_printBeitrag drucken