Mit Neuronengeometrie in neue Dimensionen
Artikel erschienen in Swiss IT Magazine 2005/10
Die Biologie und in ihrem Fahrwasser auch die Medizin versprechen sich grosse Fortschritte durch die Möglichkeiten der modernen Informatik. So werden heute beispielsweise Wirkungen und mögliche Nebenwirkungen von Medikamenten mit Hilfe von Simulationen berechnet. Aber die Informatik kann auch in umgekehrter Richtung von der Biologie profitieren. Die Natur kann zum Vorbild von neuartigen Rechnern und Computerprogrammen werden. Ein Beispiel ist Perspex: Die geometrische Rechnerinstruktion imitiert eine Nervenzelle. Das an der britischen University of Reading von James Anderson entwickelte Modell verspricht fehlertolerante Anwendungen, die sehr schnell eine Näherung auch von sehr aufwendigen Berechnungen möglich machen.
Im wesentlichen ist Perspex eine mehrdimensionale Ausführung einer Turingmaschine (siehe Kasten), dem linearen «Ur-Computerkonzept», mit dem sich nach heutigem Kenntnisstand jede Berechnung beschreiben lässt. Geometrisch gesehen ist ein Perspex ein Tetraeder und kann somit auch als Darstellung der vier Dimensionen unserer Welt (3-D-Raum und Zeit) verstanden werden. Mathematisch wird jeder Punkt in einem Perspex-Raum durch eine 4x4-Matrix beschrieben. Im Gegensatz zur herkömmlichen Turingmaschine kann eine Perspex-Maschine aber auch mit irrationalen Zahlen umgehen. Anderson bezeichnet seine Perspex-Maschine darum als «Super-Turing».
In der Praxis werden für Berechnungen Perspex-Netze (siehe Abbildung rechts) analog zu neuronalen Netzen verwendet, in denen die einzelnen Perspexe als künstliche Neuronen visualisiert sind. Dabei liest ein «Perspex-Neuron» (siehe Abbildung unten) an der Stelle L 1 Informationen von Neuronen an den Positionen X und Y im Programmraum. Die gelesenen Informationen entsprechen dabei der Spezifikation der Neuronen, von denen sie kommen. Im Kern L wird die durch die Instruktion vorgegebene Matrizenberechnung durchgeführt, deren Resultat dann in die Position Z geschrieben wird, wodurch ein neues Neuron entsteht. Der Programmraum kann also wachsen. Schreiben zwei Neuronen gleichzeitig in eine bestimmte Stelle, wird der Wert gemittelt. Die Positionen t1 bis t4 sind die möglichen Orte, an die das Neuron L, je nach berechnetem Wert, springen kann.
Anderson und seine Mitarbeiter sind dabei, das Modell in praktische Anwendungen umzusetzen. So haben sie einen C++-Compiler geschrieben, mit dem herkömmlicher Code in Perspex-Programme übersetzt werden kann. Der Compiler editiert anstelle von Assembler-Templates aus dem Source-Code Netzwerke von Perspex-Neuronen. Für die Ausführung ist heute noch eine Emulation notwendig. Künftig sind parallele Super-Computer mit speziellen FPGAs (Field Programmable Gate Array) denkbar.
Visualisierung eines Perspex als künstliches Neuron
Als weiteren Vorteil seiner Methode nennt Anderson die Fehlertoleranz. Während bei herkömmlichen Programmen bereits ein einzelner Fehler die ganze Anwendung zum Absturz bringen kann, ändert das Entfernen einzelner künstlicher Neuronen aus einem Netz kaum etwas am Ergebnis. In einem Test habe er mehr als 90 Prozent der Instruktionen zerstören müssen, bis das Programm abgestürzt sei, so Anderson. Diese grosse Fehlertoleranz macht Perspex vor allem auch für die Robotik interessant, wo unabhängige Maschinen über lange Zeit unvorhersehbaren Einflüssen ausgesetzt sind.
Mögliche weitere Anwendungen könnten sich aus der Tatsache ergeben, dass Perspex-Programme in einem Raum existieren. So kann eine erste Näherung bereits durch die Berechnung eines einzelnen Neurons erzielt werden. Werden mehr Instruktionen angefügt, nähert sich der Wert immer genauer dem Endresultat. So liessen sich also sehr schnell erste Näherungswerte auch für komplexe Berechnungen finden.
Noch steht Anderson allerdings ganz am Anfang seiner Forschung. Zur Zeit sei er noch damit beschäftigt, der Fachwelt die generellen Eigenschaften zu erklären. In einem nächsten Schritt will er die möglichen Anwendungen ausloten und auch die Mathematik detaillierter formulieren – wie er sagt, sobald «ich selber eine klarere Idee davon habe, was ich eigentlich tue».
Weitere Informationen zum
Thema Perspex finden Sie auf
James Andersons Website
www.bookofparagon.com
Die Turingmaschine wurde 1936 vom englischen Mathematiker Alan Turing postuliert. Sie ist sozusagen die mechanische Beschreibung eines Algorithmus oder auch eines Computerprogramms. Dabei durchläuft ein Band, das in mehrere Felder eingeteilt ist, eine Maschine, die immer nur ein Feld auf einmal lesen kann. Jedes Feld ist mit einem Symbol aus einem definierten Alphabet beschriftet. Die Operationen der Maschine sind durch ihren momentanen Zustand und das jeweils gelesene Feld eindeutig bestimmt. Der Maschine stehen die vier Operationen «leeres Feld beschriften», «bedrucktes Feld löschen», «Band nach links oder rechts verschieben» und «stoppen» zur Verfügung. Die Kombination aus Zustand, gelesenem Zeichen, definiertem Verhalten und Festlegung des Folgezustands wird als Konfiguration bezeichnet. Die Summe aller Konfigurationen definiert eine Turingmaschine.
Die These, dass sich jede Berechnung als eine Turingmaschine beschreiben lässt, ist nicht endgültig bewiesen, aber auch noch nie widerlegt worden und wird darum heute allgemein anerkannt. Alan Turing ist aber nicht nur durch seine für die Computerei grundlegende Maschine bekannt geworden. Er hatte auch entscheidenden Anteil daran, dass die Engländer im zweiten Weltkrieg den Verschlüsselungscode der Deutschen knacken konnten. Zudem hat der Mathematiker den Turing-Test formuliert, eine Versuchsanordnung, mit der mittels einer Befragung künstliche von menschlicher Intelligenz unterschieden werden kann.