The Human Problem: Das unlösbare Problem für Computer

Computer sind überall in unserem Alltag präsent und dringen in immer mehr Facetten unseres Lebens ein. Aber nicht nur in der Industrie, sondern auch immer mehr in unsere soziale Welt. Dabei vergessen wir oft wie viel vom Menschen in diesen Maschinen steckt.

Auf der anderen Seite träumen viele davon menschliches Verhalten zu verstehen und vorauszusagen. Warum Computer dazu aber nie in der Lage sein werden und wieso wir nicht über Computer reden können ohne auch über Menschen zu reden, möchte ich Ihnen in diesem Podcast zeigen.

Eigene Zusammenstellung. Alle Bilder können hier gefunden werden.

Leon Kaniuth

Transkript des Audios

Hallo und herzlich Willkommen zu diesem Podcast Beitrag, welcher im Rahmen eines Seminars bei Herrn Hagemann über digitale Ungleichheit aufgenommen wird. Ich bin Leon und studiere im 5. Fachsemester Bachelor Soziologie und Erziehungswissenschaften. Ich möchte mit Ihnen heute über künstliche Intelligenz, Algorithmen und Daten sprechen und soziologisch betrachten, was dahinter liegt.

Übrigens wird heutzutage überall im Internet Unmengen Daten gesammelt, die deinen Algorithmen weiterverarbeitet werden, aber zu welchem Zweck genau? Die offensichtliche Antwort ist natürlich für Werbezwecke, aber dahinter steckt noch einmal eine weitere implizitere Antwort. Zur Vorhersage menschlichen Verhaltens jetzt so ein Zitat aus einem vorzeitiger 2018 von Jeremy Fame: “In the past, peoples behavior was generally considered to be unpredictable because we had no way of tracking and analysing everything that goes into our decision making processes. Now, with sufisticated computer systems, deep learning and the ability to store vast amounts of data, we can begin to process information, to find patterns in the ways people operate.”

In anderen Worten, deep learning, neural networks, Algorithmen sollen uns dabei helfen, menschliches Verhalten vorauszusagen. Ich stelle in diesem Beitrag eine Gegenthese dazu auf: Der Mensch ist für Computer so, wie sie jetzt existieren sowei in zukünftigen Konzepten, ein fundamental unlösbares Problem, da sie von Menschen konstruiert sind und aufgrund ihrer grundlegenden Mechaniken nicht dazu in der Lage sind, Intelligenz zu entwickeln, weswegen Computer als Werkzeuge zu verstehen sind und die dahinter liegenden Machtverhältnisse zu analysieren sind. Wer setzt sie wann, wo und wie ein, um eine gewisse Aufgabe auszuführen?

Um erst einmal den Mythos zu widerlegen, dass wir kurz vor einer KI-Revolution stehen oder Ki uns kurz bevorsteht, zeige ich an Quantencomputern, warum dies nicht der Fall ist. Danach müssen wir verstehen, wie neuronale Netzwerke funktionieren, welche heutzutage fälschlicherweise oft als KI bezeichnet werden. Wir wirken dann immer tiefer in den Computer hinein, in ihren Code und ihre theoretische Informatik um aufzuzeigen, dass der Mensch an jeder einzelnen Stelle präsent ist, dazu nehme ich sie mit auf eine Reise in unsere unmittelbare Zukunft der Computertechnologie, zurück bis ins 17. Jahrhundert.

Zunächst möchte ich erstmal in die Zukunft blicken. Die nächste Technologie am Horizont, welche zu Teilen bereits existiert und die Computer revolutionieren könnte. Quantencomputer. Ich denke die meisten werden bereits das Gedankenexperiment von Schrödingers Katze kennen, aber hier noch einmal kurz zusammengefasst: Eine Katze wird in eine Luft dichte Kiste gepackt mit einem leicht radioaktiven Material, einem Geigerzähler und Gift. Wenn der Geiger Zähler radioaktive Strahlung wahrnimmt, wird das Gift freigelassen und die Katze stirbt. Schließen wir nun die Kiste, wissen wir nicht genau, wann das Material strahlt und wissen nicht, ob die Katze noch lebt oder nicht, solange wir die Kiste nicht öffnen, ist die Katze beides sowohl tot als auch lebendig. Das ist im Grundegenomen das Prinzip der Superposition.

Wie wir bereits wissen arbeiten Computer mit Bits, die 2 Zustände einnehmen können: 0 und 1 die jeweils für aus oder ein stehen oder auch niedrige oder hohe Spannung. Übertragen wir nun die Superposition darauf bedeutet das, dass ein Bit gleichzeitig sowohl für 1 als auch 0 stehen kann, bis wir nicht einen genaue Spannung messen, um genau das passiert in diesen Quantenbits oder auch Q-Bits. Die Vorteile, die sich daraus ergeben, sind immenz, besonders für die Naturwissenschaften. Quanten-Computer arbeiten deutlich schneller und können dadurch auch Probleme lösen, die für herkömmliche Computer unmöglich werden.

Ohne jetzt dabei zu genau ins Detail zu gehen, die für diesen Podcast den Rahmen sprengen würden, sollte festzuhalten sein, dass trotz der Anwendung von Quantenmechanik, ein Quantencomputer immer noch fundamental gleich arbeitet wie herkömmliche Computer. Nähmlich mit 0 und 1. Um dies wichtig ist, wird sich entlang meiner Argumentation zeigen, weswegen ich dich erstmal im Hinterkopf behalten möchte. Und zunächst über einen neuronalen Netzwerk sprechen möchte, um zu zeigen, was an sich dahinter liegt, was wir als künstliche Intelligenz bezeichnen würden.

Neuronale Netzwerke sind heutzutage überall zu finden, wenn es um lernfähige Algorithmen und Programme geht. Sie versuchen, die Art und Weise, wie unsere Euro in unserem Gehirn funktionieren, zu simulieren. Die Idee, beziehungsweise die funktionale Umsetzung von neuronalen Netzwerken sind dabei aber nichts Neues, sondern existieren schon seit Ende der 1950er Jahre. Das erste neuronale Netzwerk wäre dann Rosenblatts 1985er Perzeptron. Der Perzeptron wurde dazu entwickelt, Bilder zu erkennen, basierend auf dem Wissen, wie Neuronen funktionieren beziehungsweise so gut wie möglich über einen Computer zu simulieren.

Hier ein kurzer Abbruch wie dieses Netzwerk funktioniert. Zunächst müssen wir einmal kurz verstehen, welches Modell Rosenblatt nutzt, wie Neuronen funktionieren. Dazu wird angenommen, dass Neuronen nach einem All-or-Nothing-Prinzip funktionieren, also entweder aktiviert ist oder nicht, was leicht in meinem Computer umgesetzt werden kann, welche entweder 0, nicht aktiv, oder 1 für aktiv ausgeben kann. Der Perzeptron war dazu in der Lage, auf einem 20×20 Pixel Fekd aus einer Reihe von schwarz-weiß Testbildern zu erkennen, ob man es einen Kreis und Rechteck zeigt. Das wird im ersten Schritt jedem Pixel einen Wert von 0 oder 1 gegeben und 0 für einen schwarzen Pixel steht und 1 für einen weißen. Im nächsten Schritt werden diese Werte von jedem einzelnen Pixel an ein sogenanntes Weight oder Gewicht weitergegeben. Diese Gewichte können Positive oder negativen Werte annehmen und sollen erregen oder hemmen Synapsenverbindung simulieren. Mehrere Wights sind dann verbunden mit sogenannten Assoziationszellen. Jede Assoziationszelle hat dann einen eigenen Grenzwert, ab dem die Zelle aktiviert wird. Ob die Zelle aktiviert wird, ergibt sich dann aus der Summe aller Weights. Ist also die Summe grösser als der Grenzwert, wird die Zelle aktiviert und sie kleiner ist, bleibt Zelle deaktiviert. Der Lernprozess ergibt sich dann mit einem simplen Algorithmus. Wird das Bild korrekt identifiziert, bleibt alles gleich. Wird das Bild welcher Weise als positiv ausgegeben – also die Ausgabe ist gleich 1 – dann werden alle Felder auf denen weiße Pixel zur Aktivierung geführt haben 1 von Grenzwert subtrahiert wird das Bild fälschlicherweise als negativ ausgegeben – also Ausgabe ist gleich 0 – dann werden alle Felder, die zur Aktivierung hätten führen müssen, 1 auf den Grenzwert addiert. Wiederholt man diesen Prozess mit einer Gruppe von Testwellen oft genug. Dann sollte nach genügend Testläufen des Netzwerks immer das richtige Ergebnis ausspucken.

Das Problem das sich hier ergibt, ist, dass der Computer davon abhängig ist, dass er mit korrekten Interpretationen von Menschen gefüttert werden muss, um diese weiter verarbeiten zu können und das hat sich auch seit Ende der 1950 Jahre nicht geändert. Wenn die Daten, die in einem Computer gegeben werden, bereits vorinterpretiert sind, dann können aus diesen Daten keine neutralen objektiven Ergebnisse kommen. Diese Programme und Netzwerke existieren nicht außerhalb der sozialen Welt. Sondern werden in ihr geschaffen. Wahrscheinlich kennen Sie diese Abfragen mit bitte wählen Sie alle Bilder aus auf denen Ampeln zu sehen sind. Die wissen Sie jetzt auch, was mit diesen Informationen getan wird: Sie haben dann für ein solches neuronales Netzwerk die Interpretationsarbeit übernommen. Natürlich sind die Netzwerke und Algorithmen noch einmal, um ein weiteres komplexer als eben erklärt und es wurde mit vielen Millionen Bildern die Bilderkennung immer verfeinert, aber im Grundprinzip sind sie immer noch gleich. Das Einzige, was sie unterscheidet, sind die genutzten Rechenkapazitäten und die Mengen an Daten, die verwendet werde. Aber das Problem bleibt das gleiche: Manche Netzwerke sind dazu zum Beispiel in der Lage, Ampeln auf Bildern zu erkennen, teilweise noch akkurater als Menschen. Aber ein Computer wird niemals das Konzept einer Antwort verstehen. Sein Computer ist das Erkennen einer Ampel ein Problem, welches zu lösen gilt und das ist auch kein Verständnis dafür. Aus den Millionen Bildern, die ihm vorgelegt werden, wird versucht, mathematische Muster zu erkennen, die möglichst häufig zu einem richtigen Ergebnis führen. Aber das Ergebnis muss innerhalb von einem Menschen überprüfen und interpretiert werde. Wir müssen Computer neuronale Netzwerke als komplexe Werkzeuge verstehen, denen wir Befehle und Instruktionen geben. Sie können nicht aus sich selbst operieren und Entscheidungen treffen. Die Wechsel werden immer von Menschen eingesetzt, um ein Ziel zu verfolgen. Diese Ziele können trivial sein, wird automatisch staubsaugen oder könne weitreichende soziale Folgen haben (Komplettüberwachung amd Arbeitsplatz oder sammeln von Daten zum Weiterverkauf).

Aber wie genau verfolgt ein Computer diese Ziele? Durch Befehle und diese Befehle sind alle fein säuberlich dokumentiert in einem Gerüst, dem Code. Durch ihn kommunizieren mit Computern und wir kommunizieren mit ihnen in einer Vielzahl von Sprachen: C++, Java Script, Python, Pascal. Ironischerweise existieren diese Sprachen aber nicht, dass uns Computer besser verstehen, sondern dass wir Computer besser verstehen. Die Einführung von Programmiersprachen war zu Beginn ein sehr kontroverses Thema mit vielen Programmierer der alten Schule, die eine Attraktion in der Programmiersprache sahen und darauf bestanden, weiter Programme im Maschinencode zu schreiben. Zur Erklärung mit Maschinencode ist das 8 stellige Binärsystem gemeint, also Code, der nur aus Nullen und Eisen besteht. Wer sich jetzt schon erschlagen von Gedanken fühlt, nicht nur lesen, sondern auch schreiben zu müssen, kann wahrscheinlich sehr gut verstehen, warum sich Programmiersprachen so schnell durchgesetzt haben. Dadurch entsteht eine interessante Dynamik bis zum einen Programmierer eine neue Sprache lernen müssen, die besonderen Wert legt auf korrekte Strukturen, Grammatik und zum anderen, dass das alles noch einmal von einem sogenannten Compiler oder auch auf Deutsch Übersetzer in Maschinencode übersetzt werden muss, damit der Computer das auch tun können, was der Programmierende von ihm möchte.

Hier kommen also mehrere Abstraktionsebenen ins Spiel: Die genannten, die Ziele des Programmierers übersetzt die Programmiersprache und die Übersetzung dieses Codes in eine für Computer verständliche Art und Weise. Chris Granger, einer der ehemalige Developer von Microsoft Visual Studios, ein Programm wenig wie Microsoft Word versucht, simple Fehler zu korrigieren, stellte fest, dass „basically people are playing computer inside their head“ – Programmierer spielen in ihrem Kopf Computer. Hinzu kommt noch ein Problem, welches auch die quantitative Soziologie plagt: Die Operationalisierung. Wie machen wir soziologische Konzepte oder auch gesellschaftliche Konzepte greifbar mit Zahlen? Ja-Nein-Fragen sind dann noch sehr direkt: 1 steht für ja, 0 steht für Nein. Das Konzept von Alter liegt sogar bereits in Form von Zahlen vor. Aber wie übersetzt man Gefühle? Wie drückt man in Zahlen aus, wie sehr man etwas mag oder auch nicht mag? Die gängige Art und Weise ist, auf Skalen abzufragen. Von 1 – 10 oder von „trifft voll und ganz zu“ bis trifft „gar nicht zu“ wird versucht dies in Zahlen ausdrückbar zu machen. Das wird auch in dem Bewusstsein getan, dass das, was man dabei rausbekommt, nicht die objektive korrekte Antwort ist, sondern eher eine Annäherung, eine Abstraktion. Unter der Annahme natürlich, dass Personen ehrlich und so genau wie möglich antworten. Aufgrund der Begrenzung des Werkzeugs, mit denen man arbeitet, muss man auch manchmal ein Problem arbeiten, um sie zu lösen? Desto mehr Abstraktionsebenen wir einführen, umso eher können sich Fehler einschleichen und diese Fehler werden direkt für den Computer übersetzt.

Wir sehen daran, dass die MacherInnen dieser Programme eng damit verwoben sind, was die Maschine tut, sowohl Richtiges als auch Falsches. Alles, was so ein Computer tut, geht auf die Befehle zurück, welche er vorher von einem Menschen gekriegt hat. Der Computer kann nicht dynamisch auf neue Situationen eingehen und selbstständig handeln. Er muss von Menschen auf alles vorbereitet sein, was die Verantwortung, die Programmiererin haben, in ein zentrales Licht rückt. Und bisher gibt es keine Instanzen, die diese Programme überprüfen dürfen oder Firmen dazu verpflichten, rigorose Tests durchzuführen, mit Ausnahme der Luftfahrtindustrie.

Ein anderer Aspekt ist auch, dass ProgrammiererInnen ihre eigene Handschrift haben mit Hinblick auf ihren Code. Die Art wie sie Probleme lösen, welche Befehle sie nutzen und wie sie gestaltet sind mit Absatz, Zeilen, Brüchen. Ein anschauliches Beispiel hierfür werden Esoteric Programming Languages oder kurz Esso-Langs, zu Deutsch: Esoterische Programmiersprachen. Esso-Langs zeichnen, sich dadurch aus, dass sie auf eigenartige Ideen aufgebaut sind, die absichtlich schwierig zu programmieren sind oder auch eine eigene Kunstform sind. So ist etwa die Esso-Lang Brainfuck darauf ausgelegt, möglichst verwirrend und umständlich zu programmieren zu sein und besteht gerade einmal aus 8 möglichen Befehlen. Die Esso-Lang Orca wurde von 2 Musikern entwickelt und ist eine visuelle Programmiersprache, mit der man Musik in Echtzeit machen kann. Und dann wäre da. Noch Piet zu erwähnen, die, wie der Name vielleicht schon verrät, auf den Künstler Piet Mondrian anspielt. Das Konzept von Piet ist das Programme Bilder sind. Hierzu sollten im Blogbeitrag einige Beispielbilder sein, von unterschiedlich aussehenden Hello-World-Programmen, also Programme, die von selbst die Phrase Hello Word schreiben. Dadurch soll nochmal visualisiert werden, das Programmieren ihren eigenen Stil haben, also wieder der Mensch auftaucht, selbst in der bloßen Architektur von Code.

Wir haben also nun dargestellt, dass Computer nicht unabhängig denken, dass sie Werkzeuge sind und dass sie eng verwoben sind mit den Personen, die sie programmiert haben. Für soziologische Betrachtungen sind Programme und Algorithmen immer in Relation zu verstehen, wer und aus welchen Gründen sie gemacht werden. Einen letzten Schritt tiefer in die Materie möchte ich noch machen und zwar in die theoretische Informatik. Dazu sehen wir uns die Automata Theory oder auf Deutsch Automatentheorie an. Ein Automat beschreibt dabei eine abstrakte Maschine. Abstrakt dahingehend, dass wir uns nicht dafür interessieren, was genau in der Maschine passiert, sondern lediglich für ihre Zustände (States), Eingaben (Inputs) und Ausgaben (Outputs). Zur weiteren Erklärung werde ich dann nur die englischen Begriffe benutzen. Was uns also interessiert sind die möglichen Dynamiken, Komplexität an Aufgaben und Zustände, in denen sich eine solche abstrakte Maschine befinden kann. Dabei entsteht eine grobe Hierarchie, die ich aufsteigend an Komplexität einmal auflisten und kurz beschreiben möchte:

Endliche Automaten, die nur eine endliche Zahl an Zuständen haben, sowie eine endliche Menge an Symbolen, die wiederum einen Wechsel des Zustands nach sich ziehen.

Als nächstes wären dann Kellerautomaten. Funktionieren gleich wie endliche Automaten, nur dass sie einen Speicher, einen Keller haben, indem sie vorige Symbole aufzeichnen können, was eine höhere Komplexität erlaubt.

Linear beschränkte Automaten benötigen anders als Kellerautomaten keinen Keller, dass sie Zugriff auf alle bereits ausgeführten Symbole oder Befehle haben. So als wären sie auf einem Band aufgezeichnet, welches die Maschine nach links oder nach rechts beliebig durchziehen kann und jede Zeile, die an Symbolen enthält, ablesen kann. Außerdem wir können linear beschränkte Automaten selbst Symbole aufschreiben, beziehungsweise andere Symbole austauschen oder auch löschen, wenn sie mit einem leeren Feld das Feld überschreiben.

Und zuletzt wären da noch Turing-Maschinen, die sich dahingehend zu linear beschränkten Automaten unterscheiden, dass ihr Band unendlich lang ist. Also kein Limit an Speicher besitzt. Turing-Maschinen zeichnen sich dadurch aus, dass sie trotz ähnlicher Zustände und damit verbundenen endlichen In- und Outputs eines unendlichen Speichers unendlich viele Interaktionsmöglichkeiten haben und dadurch alles, was möglich ist, berechnen können. Turing-Maschinen werden daher immer verglichen mit Computern, wo man da aber auch, um genau zu sein, sagen muss, dass es keine echten Turing-Maschinen gibt, da Computer aufgrund ihres Speichers einen endlichen Speicher haben, das aber in der Praxis heutzutage für die meisten Probleme kaum relevant ist.

Das Besondere ist, dass durch Turing-Maschinen die Berechenbarkeit definiert wird, also ob etwas überhaupt erst berechenbar ist an einer Berechnungsanweisung eines Algorithmus. Wir können also in genau fragen, ob menschliches Verhalten berechenbar ist. Genau das möchte ich anhand des Entscheidungsproblems und des Halteproblems erklären. 1936 erfand Alan Turing das Modell der Turing-Machine um das Entscheidungsproblemen zu beantworten. Das Entscheidungsproblem geht zurück auf Gottfried Wilhelm Leibniz, nachdem dieser eine mechanische Rechen Maschine gebaut hatte und von einer fortgeschrittenen Maschine träumte, die Symbole selbst manipulieren kann, um so die wahren Werte von mathematischen Aussagen zu berechnen. Im Jahr 1928 formulierten David Hill und Wilhelm Ackermann daraus das Entscheidungsproblem: Gibt es für jedes Problem, welches mit Ja oder Nein beantwortet werden kann, einen Algorithmus, der dieses Problem lösen kann? Mit diesen Lösungen können wir unterscheiden zwischen entscheidbaren Problem, semi-entscheidbaren Problemen und unentscheidbaren Problemen. Ein entscheidbares Problem ist sehr simpel, wie der Name schon verrät, ist es entscheidbar. Die logische Ausgabe wird akzeptiert und gibt die 1 für Ja aus oder es wird nicht akzeptiert und gibt 0 für Nein aus. Ein unentscheidbares Problem ist dementsprechend, dass keine klare Antwort gegeben werden kann und ist daher unentscheidbar. Semi-entscheidbare Probleme, sind daher etwas komplexer einsehen. Ein semi-entscheidbares Problem würde bei einer positiven Antwort anhalten und eine 1 ausgeben, aber bei einer negativen Antwort – beziehungsweise die Frage wäre dann, ob es tatsächlich eine negative Antwort wäre – nicht anhalten und können daher auch keine Ausgabe tätigen. Das bedeutet also, dass wenn die Maschinen eine positive Antwort gibt, können wir sicher sein, dass sie korrekt ist. Aber so lange auf eine Antwort warten können wir nicht genau sicher sein, ob sie ewig weiter rechnet oder jeden Moment eine positive Ausgabe tätigen könnte. Daher ist sie semi-entscheidend. Das Entscheidende ist, ob sie in absehbarer Zeit anhält oder nicht.

Was heißt direkt zum nächsten Problem führt, zum Halte-Problem. Das Halte-Probleme fragt danach, ob es einen Algorithmus gibt, der bestimmt, ob die Ausführung eines Algorithmus zu einem Ende gelangt, der also anhält. In den meisten Fällen ist es sehr leicht zu bestimmen, ob ein Algorithmus irgendeine Antwort ausgibt oder nach X Schritten einfach aufhört. Zum Beispiel berechnen Taschenrechner auch nur die ersten 8 Komma stellen von PI um zu verhindern, dass ein Taschenrechner nicht auf ewig weiter rechnet. Aber angenommen, wir haben in unserem Algorithmus keinen solchen Schrittbegrenzer, wenn man die Person fragen würde, ob ein solcher Algorithmus irgendwann anhalten würde, würden die meisten sagen: Nein, weil nach unseren bisherigen Verständnis Pi eine unendliche Nachkommastelle besitzt, die sich auch nicht nach einem Muster wiederholt. Diese Antwort tätigen wir dann meistens intuitiv und basierend auf Wissen anderer. Würden wir versuchen, eine definitive Antwort von einem Computer zu kriegen, bräuchten wir zunächst dafür ein Algorithmus. Das Problem, welches sich daraus ergibt, ist, dass die Instruktionen für den Computer, der bestimmen soll, ob ein anderer Computer auf ewig weiter rechnet, denselben Algorithmus beinhalten muss, wie der des ersten Computers. Um das Ganze noch einmal ein bisschen zu versimpeln: Wir haben eine Maschine A, die Pi berechnen soll und dafür den Algorithmus P als Eingabe erhält. Eine zweite Maschine B soll nun basierend auf der Instruktion für die Maschine A bestimmen, ob sie hält oder nicht hält und erhält dafür als Eingabe den Algorithmus Q. Das Problem ergibt sich, dass der Rhythmus Q den gesamten ein Rhythmus P beinhaltet, also erst mal dieselbe Aufgabe wie Maschine A erfüllen muss, um dann im zweiten Schritt ausgeben zu können, ob die Maschine hält oder nicht, daraus ergibt sich wieder eine semi-entscheidbare Situation, Held Maschine A, so hält auch Maschine B. Hält Maschine A nicht, dann kann Maschine B auch nicht anhalten. Also würden sich daraus ergeben, dass das Halte-Problem semi-entscheidbar ist oder?

Na ja, nicht ganz. Tatsächlich ist nachzuweisen, das das Halte-Problem nicht entscheidbar ist, beziehungsweise unentschuldbar ist. Ich verspreche, dass wir jetzt in den letzten mathematischen Formeln kommen. Wir haben es fast geschafft. Also, damit das Halte-Problem entscheidbar ist, muss das Kompliment des Halte-Problems 7 entscheidbar sein. Maschine B, die wir eben gerade behandelt haben, ist die Turing-Maschine, welche Halte-Problem lösen soll das Kompliment zum Halte-Maschinen wäre dann eine Maschine C. Die anhält, wenn Maschine B nicht anhält und nicht anhält, wenn Maschine B hält. Hier finden wir im ersten Beispiel wieder eine semi-entscheidbare Situation dabei denselben Algorithmus durchgehen müssen kann Maschine C nicht anhalten, wenn Maschine B auch nicht anhält, weil beide immer weiter rechnen würden. Es kann aber sehr wohl Maschine B anhalten und dafür Maschine C nicht. So weit, so gut. Bisher scheint es noch offensichtlich semi-entscheidbar zu sein, aber wir noch eine Stufe höher gehen, stoßen wir auf einen Widerspruch. Wir können das Spiel jetzt immer so weiterführen. Mit mehr Maschinen, D, E, F und so weiter, die bestimmen sollen, ob eine andere Maschine anhält oder nicht. Daraus ergibt sich ein theoretisches Konstrukt, welches sich Diagonalsprache nennt. Diagonalsprache weil die Maschinen der nächsten Stufe immer eine andere Antwort geben als die vor ihnen und nach ihnen. Es hört sich komplizierter an, als es tatsächlich ist. Hierzu ein kurzes Beispiel: Maschine A hält an, also Ausgabe „unbestimmt“ oder U. Dies hat zur Folge, dass Maschine B hält, also Ausgabe 1, Maschine C hält daher nicht an, Ausgabe U, Maschine D hält deswegen an, Ausgabe 1. Maschine E würde nicht anhalten, also Ausgabe U und immer so weiter: U und 1, U und 1. Wir können daraus schließen, dass das Kompliment des Halte Problems semi-entscheidbar ist, wenn die Diagonalsprache semi-entscheidbar ist. Das Problem ist, dass die Diagonalsprache widersprüchlich ist. Es kann keine Turing-Maschine existieren, die dieselbe Eingabe hat wie die Maschine, die sie überprüfen soll, ob sie hält oder nicht, aus dem simplen Grund, dass sobald es eine Maschine in einer Kette gibt, die nicht anhalten würde, es auch zur Folge hat, dass keine weitere Maschinen halten kann, weil sie alle dieselben Berechnungen durchgehen würden, bevor sie jemals anhalten könnte. Das heißt konkret, die Diagonalsprache ist nicht entscheidbar, wenn die Diagonalsprache nicht entscheidbar ist, dann ist auch das Kompliment des Halte-Problems nicht entscheidbar. Wenn das Kompliment des Halte- Problem nicht semi-entscheidbar ist, dann ist auch das Halte-Problem nicht entscheidbar. Das Halte-Problem ist daher unentscheidbar.

Ok. Was hat das jetzt alles mit der am Anfang genannten These zu tun? Wir erinnern uns. Die These ist, dass Menschen für Computer ein unlösbares Problem sind. Wir haben festgestellt, dass das Halte-Problem unentscheidbar ist. Daraus folgt auch, dass das Entscheidungsproblem nicht lösbar ist. Und nun bringen wir das alles einmal zusammen. Die Menschen sind dynamische Wesen, nehmen konstant jeden Moment neue Eindrücke wahr. Eindrücke, die eventuell unsere Entscheidungen beeinflussen. Heißt also, jeden Moment könnte uns einen Eindruck erreichen, welcher unsere Entscheidungen beeinflusst oder ändert. Nehmen wir einfach mal an, auch wenn ich im Ganzen widersprechen würde, dass Menschen nur Dinge tun und Entscheidungen treffen aufgrund von Neuronen in unserem Gehirn und dass wir diesen Prozess simulieren können innerhalb eines Computers. Denn wäre menschliches Verhalten vorausschaubar, korrekt? Das Problem ist nur, dass sie jeden Moment etwas passieren könnte, was unsere Entscheidungen beeinflusst, also nicht klar ist, wann unser Entscheidungsprozess aufhört. Wer jetzt aufgepasst, wird die Verbindung machen zum Halte-Problem, welches unentscheidbar ist? Das bedeutet effektiv, dass wir nie mit Sicherheit wissen, wie sich einen Mensch entscheiden wird bis zu dem Zeitpunkt, wo er oder sie so handeln. Alles, was wir dann tun können, ist Wahrscheinlichkeiten aufstellen. Aber Wahrscheinlichkeiten sind und bleiben lediglich Schätzungen und können auch falsch sein. Natürlich könnte man argumentieren, dass mit immer mehr Stichproben Schätzung immer akkurater werden, aber sie werden niemals hundert Prozent erreichen.

Ein komplett anderer Aspekt ist sehr wichtig ist und gleichzeitig schwer zu operationalisieren wäre, ist die Selbstreflektion, beziehungsweise das Selbstbewusstsein. In soziologischer Forschung setzt man sich schon mit der Schwierigkeit auseinander, dass Ergebnisse verzehrt werden, da Teilnehmende wissen, dass sie Teil einer Umfrage sind oder eines Experiments. Und so kann es sein, dass Teilnehmende falsche Antworten geben, weil sie eventuell nicht so erwünscht sind, weil es ihnen peinlich ist oder auch andere Antworten verstärken, wenn sie das Gefühl haben, ist es genau das, was die forschende Person hören will. Das wäre dementsprechend wichtig für die Voraussage menschlichen Verhaltens, dass sich Personen, die sich darüber bewusst sind, dass sie von Algorithmen beobachtet werden und von ihnen eine gewisse Entscheidungen erwarten, sich deswegen anders entscheiden und ein solcher Aspekt könnte es schlichtweg unmöglich machen, dass man nicht jemals menschliches Verhalten voraussagt.

Man all diesen Ideen und Probleme im Blick scheint es nicht nur eine schwierige Aufgabe für Computer zu sein, sondern auch wirklich unmöglich, das Problem Mensch zu lösen. Vielmehr zeigt sich, dass die Probleme und Diskussionen um Computer stark sozial beeinflusst sind. Von den Personen, die sie schreiben, von den Organisationen und Firmen, die sie einsetzen zur Profitmaximierung und von den nationalen und supranationalen Parlamenten, die versuchen sie zu regulieren. Schon ein simples Verständnis von Algorithmen, neuronale Netzwerke und Programmen kann helfen, mit Hilfe eines soziologischen Blicks zu verstehen, wie wir besser mit solchen Technologien umgehen sollten. Sie sind weder allwissend noch vermögen sie es, es irgendwann zu sein. Diese Logikmaschinen, die komplexe Aufgaben ausführen können, sind aber auch gleichzeitig einfach nur Werkzeuge. Werkzeuge, die die meisten Menschen rudimentär nutzen können für diese Technologie fast magisch wirkt. Wir brauchen daher nicht nur ein allgemeines Verständnis, wie Computer funktionieren, sondern auch Instanzen, die Algorithmen einsehen könnten, überprüfen auf die Daten, die Sie verarbeiten, wo sie eingesetzt werden und auf Herz und Nieren testen, damit keine unvorhergesehenen Fehler gibt, besonders in extrem wichtigen Feldern wie autonomes Fahren. Für die Diskussion um Computer ist und bleibt deswegen eine stärkere soziologische Betrachtung unerlässlich.

Ich bedanke mich vielmals fürs Zuhören. Ich hoffe, es war nicht allzu schwer zu folgen und hoffe, dass Sie etwas aus diesem kleinen Podcast mitnehmen konnten. Dieses Thema war mir persönlich sehr wichtig, weil es wichtig ist, zu verstehen, wie Computer funktionieren, wie und wer sie macht und daraufhin eine weitreichende Diskussion über Relation zu Menschen haben zu kann. Dass wir verstehen, dass diese Technologie von Menschen gemacht wird und auf Daten basiert, die von Menschen erhoben oder interpretiert wurden. Sie verlässt diesen Bereich des Sozialen nicht und daher können die Ergebnisse auf die ein Computer kommt, nicht objektiv seien, sondern reflektieren lediglich den Bias der Personen, die die Maschine gebaut oder programmiert haben. Was dahinter steht, ist eine immense Verantwortung, wie damit umgegangen werden sollte. In Diskussion, die bis jetzt nur selten gehalten wurden und öfter diskutiert werden sollten. Sollten Sie sich für ein anderes der angesprochenen Themen weiter interessieren, wie etwa Quantencomputer, Automata Theory oder Esso-langs, kann ich Ihnen einen Blick in die Quellen empfehlen. Ich würde sagen, die meisten sind davon relativ einsteigerfreundlich. Ich bedanke mich erneut fürs Zuhören und wünsche Ihnen einen angenehmen Tag. Bleiben Sie gesund!

Quellen

Aziz, Amal Dar; Cackler, Joe; Yung, Raylene (2004); Basics of Automata Theory; IN: https://cs.stanford.edu/
people/eroberts/courses/soco/projects/2004-05/automata-theory/basics.html
Fain, Jeremy (2018); How deep learning can help predict human behaivour; IN:
https://www.forbes.com/sites/forbesagencycouncil/2018/04/30/how-deep-learning-can-help-predict-humanbehavior/?sh=1680290b5554
Hartnett, Kevin (2018); Finally, a Problem That Only Quantum Computers Will Ever Be Able to Solve; IN:
https://www.quantamagazine.org/finally-a-problem-that-only-quantum-computers-will-ever-be-able-tosolve-
20180621/
Rosenblatt, F. (1958). The Perceptron: A Probabilistic Model for Information Storage and Organization in the
Brain. Psychological Review, 65(6), 386-408 –
http://web.stanford.edu/class/psych209a/ReadingsByDate/01_30/Rosenblatt58Perceptron.pdf
Somers, James (2017); The coming Software Apocalypse; IN:
https://www.theatlantic.com/technology/archive/2017/09/saving-the-world-from-code/540393/
Wayne, Hillel (2021);A Brief Introduction to Esoteric Languages – https://hillelwayne.com/talks/esolangs/
Wayne, Hillel (2021); Are we really engineers? – https://www.hillelwayne.com/post/are-we-really-engineers/


Weitere Referenzen:
Wiki-Artikel zur Esolang Piet
Wiki-Artikel zur Esolang Brainfuck
Wiki-Artikel zur Esolang ORCA
Quantencomputer; Cassini AG
Gallerie mit Piet Programmen

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

%d Bloggern gefällt das:
search previous next tag category expand menu location phone mail time cart zoom edit close