Ein Beitrag von Jasmin Fisher, David Harel und Thomas Henzinger in der
Oktober-Ausgabe 2011 der Communications of the ACM (CACM
54,10, 72-82) lenkte meine Aufmerksamkeit mal wieder auf die Beziehung von
Informatik und Biologie. Der Artikel trägt die Überschrift ‚Biology as
Reactivity‘. Die Autoren versuchen die Frage zu beantworten, wieweit die in der
Informatik entwickelten Methoden zur Beschreibung reaktiver Systeme hilfreich
sind (oder gar ausreichend), um biologische Prozesse zu beschreiben. Da die
benutzten Konzepte und die Aussagen des Beitrags von grundlegender Bedeutung
sind, sollen sie kurz vorgestellt werden.
Ein Reaktives System besteht
aus einer Ansammlung vieler Komponenten, die miteinander interagieren. Es
reagiert auf Eingaben, bei denen nicht nur ihr Wert sondern auch ihre zeitliche
Abfolge eine Rolle spielen. Dazu gehören ihre Reihenfolge, ihre Abstände und
ihre Herkunft. Sein Verhalten kann als endlicher Automat nachempfunden
werden, mit deterministischem oder nicht-deterministischem Programm.
Ein Biologisches System kann
als Reaktives System aufgefasst werden, bestehend aus Organen, Zellen und
Molekülen, die hochgradig parallel und aufeinander abgestimmt, weitgehend
autonom arbeiten, um ein gemeinsames Ziel zu erreichen. Das gemeinsame Ziel
heißt Überleben und Reproduzieren. Die Funktionen des Systems sind in jeder
Zelle abrufbar. Sie sind als genetisches Programm des Systems in Form eines
sehr großen DNA-Moleküls festgelegt. Im Falle der Fruchtfliege Drosophila Melanogaster
besteht es aus 165 Mio. Basenpaaren, die 13k Funktionen auslösen können. Eine zentrale
Funktion ist die Erzeugung von Proteinen. Die Faltung der Proteine ist ein
darauf aufbauender, besonders komplexer Prozess, der zur Differenzierung von
Zellen führt. Welche Prozesse in welcher Reihenfolge und zu welchem Zeitpunkt
zur Ausführung gelangen, wird nicht durch eine zentrale Steuerung festgelegt,
sondern ergibt sich als Konsequenz von Zwischenresultaten. Ein solches System
gilt als „lebensfähig“, wenn es nicht abstürzt, d.h. wenn sein Programm für
alle vorkommenden Fälle eine sinnvolle Reaktion vorsieht.
Das ‚Programm des Lebens‘
läuft durch zwei sehr unterschiedliche Phasen. Während der Wachstumsphase
werden Zellen differenziert. Sie erhalten unterschiedliche Aufgaben zugeteilt.
Sobald diese Phase abgeschlossen ist, rückt die Erhaltung des Systems in den
Vordergrund und die Reproduktion. Das Leben
selbst ist eine emergente Eigenschaft biologischer Systeme. Eine emergente
Eigenschaft kann nicht (allein) aus den Komponenten des Systems erklärt werden.
In Biologie und Informatik dienen Modelle
dazu, Systeme zu beschreiben. Ein Simulationsmodell
bildet einzelne Ausführungspfade nach. Ein Vorteil ist, dass Simulationsmodelle
(meist) ausführbar sind, sowohl gedanklich wie mittels Computer. Sie drücken
die operationelle Semantik des Systems aus. Da die Anzahl möglicher Pfade sehr
groß ist, kann immer nur eine Teilmenge berücksichtigt werden. Welche Teilmenge
von Interesse ist, kommt auf den Zweck des Modells an. Ein Verifikationsmodell versucht alle möglichen Pfade zu erfassen. Das
kann nur durch eine mathematische Beschreibung in Form von Bedingungen oder
Relationen geschehen. Verifikationsmodelle sind nicht ausführbar. Wie weit sie
vollständig sind, ist schwer zu bestimmen.
Um komplexe Systeme sowohl in der Natur wie auch in der Technik zu
beschreiben, ist es hilfreich sie mittels Abstraktionsebenen
zu strukturieren. Oft werden dabei Funktionen und Interaktionen Schichten
zugeordnet. Auch die Synchronisation
parallel ablaufender Prozesse bedarf eines besonderen Augenmerks. Es wird
erwartet, dass Biologie und Informatik sich hier gegenseitig befruchten (wobei
ein biologischer Vorgang als Bild herhalten muss).
Der Unterschied von Naturwissenschaft und Ingenieurwissenschaft drückt
sich vor allem in der Rolle von Modellen aus. In der Naturwissenschaft ist das reale
Objekt vorgegeben. Ein Modell wird daraus abgeleitet. Die Korrektheit muss für
das Modell nachgewiesen werden, und zwar bezogen auf das reale Objekt. In den
Ingenieurwissenschaften ist es umgekehrt. Am Anfang steht das Modell eines
geplanten Produkts, genauer gesagt eine Spezifikation. Sie stellt (meist) die
richtige Absicht des Entwerfers dar. Je nach benutzter Notation kann die
Spezifikation als Modell interpretiert oder zu einem Modell weiterentwickelt werden, d.h. zu einem von mehreren möglichen Modellen.
Aus der Spezifikation bzw. dem Modell wird dann das Produkt abgeleitet. Daher
muss die Korrektheit des Produkts bewiesen werden, und zwar bezogen auf das
Modell bzw. die Spezifikation.
Während die Informatik eine Ingenieurwissenschaft ist, ist die Biologie
(noch) vorwiegend eine Naturwissenschaft. Erste Ansätze in Richtung einer Ingenieurwissenschaft
(Stichwort ‚bioengineering‘) gibt es schon. Sofern ihre Ergebnisse helfen,
Defizite zu korrigieren oder Mühsal zu beseitigen, werden sie als Teil von therapeutischen
Maßnahmen akzeptiert (z.B. künstliche Organe). Was darüber hinausgeht (z.B.
Intelligenzverstärker), gibt eher Anlass zur Sorge. Da geht es der Biologie
nicht anders als der Informatik.
Da mein Freund Peter Hiemann an diesen Fragen interessiert ist, bat ich
ihn mir seine Kommentare zu dem o.a. Artikel zu geben. Am 6.6.2012 schrieb er
aus Grasse:
Das Thema hat sofort mein
Interesse geweckt. Schließlich wollte ich schon immer mehr erfahren, ob und
wieweit sich Informatiker an biologischen Systemen orientieren, um zukünftige Informatiksysteme
mit komplexen, der Natur abgeschauten Kommunikations-Eigenschaften
auszustatten. Leider hat mich der Artikel nicht viel weiter gebracht in meinem
Verständnis. Das liegt auch daran, dass
ich nicht in der Lage war, viele der informatik-orientierten Aussagen zu verstehen. Immerhin habe ich gelernt,
dass bei der Entwicklung von Informatik-Modellen zwei grundlegend verschiedene
Entwürfe zu berücksichtigen sind.
Simulationsmodelle erlauben die Ausführung
einzelner „in silico“ Experimente, um Systemverhalten unter ausgewählten
Bedingungen zu studieren. Die „Berechnungen“ von Systemzustandsveränderungen
geschehen entweder durch feststehende Algorithmen, durch Lösungen
mathematischer Gleichungen oder durch Modellierung reaktiver Prozesse. Verifikationsmodelle dienen dem Zweck,
eine umfassende Analyse möglicher Systemzustände zu liefern. Verifikationsanalysen
von Systemen sind sehr Kosten aufwendig. Vollständige Analysen werden unmöglich
bei hoher Systemkomplexität, wie etwa für biologische Systeme.
Die University
of Washington hat einen interessanten Weg gefunden, die Methoden
der Simulation und Verifikation zu kombinieren, um möglichst gut „gefaltete“
Proteine zu identifizieren (Proteine im Zustand des Energieminimums). Der Prozess,
mit dem Lebewesen die primäre Struktur eines Proteins synthetisieren, ist recht
gut verstanden, ebenso die Kodierung als DNA. Zu bestimmen, wie die primäre
Struktur eines Proteins sich in eine funktionierende, dreidimensionale Struktur
verwandelt – wie sich das Protein faltet – ist wesentlich schwieriger. Der
generelle Prozess ist zwar bekannt, aber die Identifizierung möglicher
natürlicher Proteinstrukturen verlangt viel Rechenzeit. Vor allem steigen die
Möglichkeiten verschiedener Proteinfaltungen
exponentiell mit zunehmender Länge des Proteins. Die University of
Washington hat eine Software Foldit
entwickelt, die den generellen Prozess der Proteinfaltung simuliert. Dieses
Programm stellt sie interessierten Laien zur Verfügung, damit diese durch
spielerisches Ausprobieren möglicher Faltungen beitragen können, gut gefaltete
Proteinstrukturen zu finden (zu verifizieren). Eine Youtube-Demonstration der
Software Foldit zeigt diesen spielerischen Prozess sehr deutlich: http://www.youtube.com/watch?v=lGYJyur4FUA.
Die Simulationssoftware
Foldit bedient sich der reaktiven Modellierung. Das Modell enthält biochemische
operationale Semantik. Das Modell definiert eine virtuelle Maschine mit
Instruktionen, die Schritt für Schritt ausgeführt werden. Mit anderen Worten:
Das Modell offeriert eine kompakte syntaktische Beschreibung eines dynamischen
Systems. Die Beschreibung eines dynamischen Systems durch reaktive Regeln ist
wesentlich kondensierter als dessen Beschreibung durch Wahrscheinlichkeiten von
möglichen Zustandsänderungen. In diesem Sinn haben sogar Systeme mit „infinite
states“ endliche Beschreibungen.
Die obige Beschreibung
dynamischer Systeme durch reaktive Regeln passt übrigens gut zu Luhmanns
systemtheoretischem Ansatz. Die oben
beschriebene Technologie umfasst entsprechend Luhmanns Kommunikationsmodell die
Komponenten Programmsystem, Interaktionssystem und Funktionssystem. Die
interaktiven Phänomene Mutation, Selektion und strukturelle Kopplung sind in
der geschilderten Technologie nicht enthalten. Im Falle der Foldit-Software
werden die Prozesse Mutation und Selektion an „Laienspieler“ delegiert. Hinsichtlich
des von dem Biologen H.R. Maturana postulierte Phänomen „strukturelle Kopplung“
zwischen voneinander abhängigen Systemen (interagierenden virtuellen Maschinen
im reaktiven Simulationsmodell) scheinen sich die Autoren des obigen Artikels
bereits Gedanken zu machen. So interpretiere ich deren Statement: „One of the major challenges in biological
modeling is to find means to encapsulate biological and biochemical complexity
that will allow us to use abstraction beneficially to bridge and relate
different scales in order to manage the immense complexity observed in living
systems“.
Ich wusste übrigens vor dem
Lesen des obigen Artikels nicht, dass es so etwas wie eine Abstraktionstheorie
gibt. Es ist aber gut zu wissen, dass Informatiker überlegen, wie man von
niedrigen Abstraktionsniveaus auf höhere schließen kann und umgekehrt.
Schließlich beruht der Vorteil einer höheren Abstraktionsstufe darin, dass bei
Aussagen höherer Stufe Aussagen niedrigerer Stufen weggelassen werden dürfen.
Die Informatiker mussten
aber bedauernd feststellen, dass „in biology, we have not
(yet) been able to identify building blocks from which we can explain metabolic
pathways and cell behavior without referring to the underlying biochemical
(molecular) mechanisms”. Abschließend muss auch ich bedauernd feststellen, dass
ich es für ausgeschlossen halte, mir Kenntnisse zu erarbeiten, die für ein
tieferes Verständnis des oben angegebenen Artikels notwendig wären, wie etwa
- pi-calculus as a modeling
language
- BioSPI simulation
environment
- stochastic pi-calculus66
- location-aware process
calculi (such as BIO-PEPA)
- ambient calculus
- brane calculus
- discrete time and
continuous time Markov processes
- etc.
Ich bin
also besser aufgehoben, wenn ich mich für meine Zwecke an weniger informatik-spezifischer
Literatur orientiere (und erfreue).
PS. Zurzeit
lese ich das empfehlenswerte Buch „Der König aller Krankheiten, Krebs – eine
Biografie“. Krebs hat eine lange Geschichte, die sehr deutlich zeigt, wie viele
Schritte nötig waren und noch sind, um dieses biologische Phänomen zu erfassen.
Diese Geschichte sagt auch, dass der Mensch sich den Gedanken, die Krankheit
Krebs ein für alle Mal ausrotten zu können, aus dem Kopf schlagen kann.
Schließlich handelt es sich bei Krebs um Mutationen des genetischen Programmes,
die jederzeit aufs Neue unter anderen Umständen an verschiedenen Stellen des
Programmes auftreten können. Es ist aber möglich und zu erwarten, dass immer
effektivere Methoden gefunden werden, um mit dem Phänomen Krebs besser umgehen
zu können. Bei der Suche nach solchen Methoden könnten reaktive
Simulationsmodelle eine wichtige Rolle spielen.
Keine Kommentare:
Kommentar veröffentlichen
Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.