Können Algorithmen die Basis für autopoietische Systeme sein?
Jessas! Nicht Algorithmen “werten”, sondern ihre Programmierer. P[rogrammierer] ist mit A[lgorithmus] eine soziotechn Einheit (weil Werkzeug), P[rogrammierer] handelt und P[rogrammierer] wertet.
— Christoph Kappes (@ChristophKappes) September 9, 2012
@christophkappes @kathrinpassig Das ist mechanistische Sichtweise. Wenn P[rogrammierer] ein autopoietisches System entwickelt, kann P[rogrammierer] nicht mehr werten.
— Rene Meissner (@qrios) September 10, 2012
Darauf entspann sich zwischen mir und @kathrinpassig eine Diskussion über die Praxisrelevanz meiner Aussage. Mein Verweis auf neuronale Netze und genetische Algorithmen waren ihr wohl noch zu akademisch. Daher verwies ich auf MapReduce:
@kathrinpassig @christophkappes MapReduce erfüllt in der Praxis auch die Anforderung dass P nicht 100% der Ergebnisse kennen kann.
— Rene Meissner (@qrios) September 10, 2012
Tatsächlich habe ich nahezu täglich mit diesem Effekt zu tun. Bei der WebAnalyse und dem Social-Media-Monitoring für größere Auftraggeber werden unter anderem Google Analytics oder facebook Insights eingesetzt. Beide verwenden MapReduce und tun dies auf der Basis von Stichproben. Alltägliche Erfahrung ist, dass zu unterschiedlichen Zeiten die Ergebnisse für den gleichen Zeitraum unterschiedlich sind.
Grade bei zeitnahen Abfragen werden Stichproben verwendet. Da MapReduce in großen Systemen wie Google und fb asynchron läuft hängt das Ergebnis unter anderem davon ab, welcher Server grade Zeit hat und daher verwendet wird. Dadurch werden bei zwei aufeinanderfolgenden Abfragen möglicherweise vollkommen andere Datensätze verwendet. Wie solche Systeme trotz der Abweichungen valide Daten liefern können beschreibt zum Beispiel die Arbeit “Early Accurate Results for Advanced Analytics on MapReduce“.
Als Programmierer könnte ich daher trotz Kenntnis über alle eingehenden Daten nicht vorhersagen, welche Ergebnisse “mein” Algorithmus liefern wird. Ich könnte lediglich eine Aussage darüber treffen, welche Werte minimal und welche maximal berechnet würden und welche Werte am wahrscheinlichsten sind.
Eine solche Unbestimmtheit würde sich noch fortpflanzen, wenn das Ergebnis – zum Beispiel in einem Mashup-System – selbst wieder zum Input für ein selbstorganisierendes System würde.
Der Programmierer spielt in einem solchen Setup kaum noch eine Rolle. Schon gar nicht wertet er. Einen spürbaren Einfluss auf das Ergebnis hat sicher noch derjenige, der bestimmte Parameter wie die Stichprobengröße oder die Anzahl der verteilten Prozesse festlegt. Allerdings sind auch diese meistens variabel. Denn sie sollten sich möglichst optimal auf Geschwindigkeit, Genauigkeit und Stromverbrauch einpegeln.
Wenn der Programmierer nicht wertet, wertet denn dann der Algorithmus? Eigentlich nicht. Ebenso wenig, wie das einzelne Neuron in unserem Gehirn rechnet, aber das Gehirn selbst rechnen kann. Vielmehr ist es der Systemzustand selbst, der über das Ergebnis entscheidet. Der gleiche Algorithmus (vom gleichen Programmierer) kommt bei gleichen Daten und bei gleicher Systemarchitektur zu unterschiedlichen Zeiten zu einem unterschiedlichen Ergebnis.
Wobei bereits die Bezeichnung “gleiche Systemarchitektur” ungenau ist. Betrachtet man mehrere Server in einem Rechenzentrum, so kommunizieren die darauf laufenden Services über TCP/IP welches seinerseits meistens über Ethernet läuft. Dieses Protokoll verwendet aber eine auf Zufallszahlen basierende Kollisionsvermeidung. Würden zwei Server bei einer verteilten MapReduce-Anwendung die Ergebnisse gleichzeitig abliefern wollen, würden die Nachrichten kollidieren. Beide würden es nach zufällig langer Pause wieder probieren. Fehlt dem Server zum Zeitpunkt der Kollision nur noch ein Ergebnis für seine Stichprobe würde er nur noch eines nehmen, das andere Ergebnis würde verworfen. Das Ergebnis hängt also tatsächlich von den Zufallsalgorithmen zweier Netzwerkkarten ab. Und die Ergebnisse der Zufallsalgorithmen können wiederum von nahezu beliebig vielen anderen Faktoren abhängen.
Letztlich sind demnach schon heute Algorithmen die Basis für autopoietische Systeme. Nicht nur bei neuronalen Netzen oder genetischen Algorithmen sondern bei jeder Cloud um die Ecke.
[...] sind selbst nicht deterministisch. Schon heute sind verteilte Rechner autopoietische Systeme. Siehe [...]
Ist die Welt berechenbar? | sph[∈∈]re
9 Oct 12 at 3:33 pm
[...] am Anfang die Frage, “was mag dieses Verhalten der Umwelt bedeuten?” und der Test auf willkürliche Reaktionen, wird nach dem Lernen die unwillkürliche Reaktion und damit der pawlowsche Reflex. Siehe [...]
Alternativlos #29 über Weltsicht, Spieletheorie und Autopoesis | sph[∈∈]re
11 May 13 at 4:55 pm