HomeTechnologyDocuments → Prototyp
 
 
A Prototyp
   
 

 

Analyse und Entwurf eines Betriebssystems

nach evolutionären und genetischen Aspekten

 

- Prototyp der Diplomarbeit -

 

im

Fachbereich Informatik

der Universität Dortmund

 

 

[diskutiert aber nicht] vorgelegt von

Christian Stroetmann

 

27. November 2000

 

 

 

Erstgutachter und Betreuer : Prof. Dr. W. Banzhaf

Zweitgutachter : N.N.

 

Universität Dortmund

Fachbereich Informatik

Lehrstuhl für Systemanalyse

D-44221 Dortmund

 

Inhaltsverzeichnis

1 Einleitung

1.1 Motivation

1.2 Ziel der vorgeschlagenen Diplomarbeit

1.3 Übersicht der folgenden Kapitel

2 Logik und Mathematik

2.1 Zahlentheorie

2.2 Arithmetik

2.3 Automatik- und Zahlensequenzen

2.3.1 Fibonacci-Sequenz

2.3.2 Zeckendorf-Expansion

2.3.3 Fibonacci-Nachfolger

2.3.4 Interpersionen

[[2.4] Strange-Loops ]

3 Kolmogorov-Komplexität und algorithmische Informationstheorie

3.1 Geschichte

3.2 Kolmogorov-Komplexität

3.3 Beispiele für die Kolmogorov-Komplexität

3.4 Algorithmische Informationstheorie

4 Chemie, Kristallogie und Molekularbiologie

4.1 Geschichte

4.2 Präbiotische Suppe

4.3 Cairns-Smith

4.4 [4.5] Zusammenfassung

[4.4] Robert Shapiro

5 Künstliche Chemie, künstliche Kristallogie

5.1 Methoden und Techniken

5.2 Künstliche Moleküle

5.2.1 Wachstumsprozess

5.3 Künstliche Kristallogie

5.3.1 Wachstumsprozess von Kristallen

6 Natürliche Embryogenie

6.1 Historische Entwicklung der Embryologie

6.2 Heutige Embryologie

6.3 Methoden und Techniken

6.4 Entwicklung eines Gehirns

7 Künstliche Embryologie [[7] Künstliche Embryologie]

7.1 Historische Entwicklung

7.2 Heutige künstliche Embryologie

7.3 Methoden und Techniken

7.4 John von Neumann-Universalkonstruktor

7.5 Komplexe Systeme, Zellulare Automaten

7.6 Ein-dimensionale Systeme des künstlichen Lebens

7.7 Zwei-dimensionale Systeme des künstlichen Lebens

7.8 Mehr-dimensionale Systeme des künstlichen Lebens

7.9 Partikelbasiertes Rechnen in zellularen Automaten

7.10 Isodipole Texturen

7.10.1 Algorithm

7.10.2 Recursion parameters for some sample textures

7.10.3 Generalizations

7.11 Isospatiale Räume

7.12 Probleme

7.13 Kristallogie und zellulare Automaten

7.14 Zufalls-Boolean-Netzwerke

[[7.15] de Garis ]

[[7.16] Bentley und Kumar ]

[[7.17] Reil ]

7.15 [7.18] Ab-Initio-Proteinstrukturvorhersage

7.16 [7.19] Compiler für DNA

7.17 [7.20] Linguistik der DNA

7.18 [7.21] Compiler für mRNA

8 Psychologie

9 Künstliche Intelligenz

10 Betriebssysteme

10.1 Ziele eines Betriebssystems

10.2 Allgemeine Struktur eines Betriebssystems

10.2.1 Komponenten eines Betriebssystems

10.2.2 Dienste eines Betriebssystems

10.2.3 Systemaufrufe eines Betriebssystems

10.3 Architekturen von Betriebssystemen

10.4 Virtuelle Maschine

10.5 Bootstrapping

10.6 Negative Eigenschaften von Betriebssystemen

10.7 Neue Anforderungen an Betriebssysteme aus der Sicht der Software-Technologie

10.7.1 Software-Tektoniken

10.7.2 Metamorphose

10.7.3 Flexible Grundlagen

10.7.4 Metaschichtenarchitektur und Reflektion

11 Embryogenie eines Betriebssystems

11.1 Anforderungsspezifikation des Prototypen

11.2 "Bootstrapping" eines Entwicklungsprozesses

11.2.3 "Bestäubung" der Hardware

11.2.4 "Virtuelle Zellteilung"

11.2.5 Prinzip eines Virus

11.3 Voraussetzungen

11.4  

11.5 "Virtuelle DNA"

11.6 Ontogenie

12 Ausblick

12.1 Hans Movarec

12.2 Silicon Bugs

13 Zusammenfassung

Literaturverzeichnis

1 Einleitung

1.1 Motivation

Ein Computer-System kann grob in die vier Bestandteile Hardware, Betriebssystem, Anwendungs-programme und Benutzer unterteilt werden. Das primäre Ziel eines Betriebssystems ist in diesem Kontext einem Benutzer eine Umgebung zur Verfügung zu stellen, die den Benutzungskomfort und die Effizienz eines Computer-Systems sichert (siehe [Sil,1994]) und wenn möglich sogar steigert. Die Entwicklung von Betriebssystemen folgt zur Zeit klassischen Betriebssystem-Paradigmen und Betriebssystem-Architekturen. In der vorgeschlagenen Diplomarbeit wird ein im Vergleich zu den klassischen Methoden und Modellen verschiedener Ansatz verfolgt, der biologische Prinzipien als leitende Vorbilder besitzt. Die Grundlage des Ansatzes stellt eine in diesem Proposal skizzierte Analogie zwischen der Entwicklung eines Gehirns und der Entwicklung eines Betriebssystems dar.

Diese Analogie ist inhaltlich zweigeteilt. Der eine Teil betont molekulare, genetische und ontogenetische Aspekte und ist durch die Beziehung zwischen einer Zygote und einem Boot-Sektorprogramm eines Betriebssystems gekennzeichnet. Aus dem Bereich Molekularbiologie, Entwicklungsbiologie der Bereich Embryologie, aus dem Bereich der zellularen Automaten der Bereich künstliche Embryologie, der Bereich der Turing-Maschinen, Kolmogorov-Komplexität und Chaostheorie. Bei dem anderen Teil der Analogie stehen phenotypische Aspekte im Vordergrund. Es wird zwischen den funktionalen Eigenschaften eines Gehirns und eines Betriebssystems aufgestellt. Hierbei werden aus der Psychologie die Bereiche Epistemologie und aus dem Bereich der künstlichen Intelligenz die Bereiche künstliche Epistemoogie und maschinelles Lernen, sowie aus dem Bereich der Software-Technologie der Bereich Betriebsysteme erfasst.

Da sich in Voruntersuchungen die künstliche Embryologie schon als ein sehr komplexes und auch ungelöstes Problem herausstellte, beziehen sich die prototypischen Teile auf den Bereich der künstlichen Embryologie und hier besonders auf das Entfalten eines bereits existierenden Betriebssystems. Hierdurch soll eine software-technische Grundlage geschaffen werden, die die Implementierungen von weiteren aber nur modellierten Aspekten zulässt.

1.2 Ziel der vorgeschlagenen Diplomarbeit

In der vorgeschlagenen Diplomarbeit soll ein Betriebssystems nach evolutionären und genetischen Aspekten modelliert werden. Während der Erstellung der Spezifikation und des Entwurfs sollen unter anderem die Integration von Methoden des evolutionären Rechnens und des künstlichen Lebens Beachtung finden. Weiterhin sollen Teilaspekte gefunden werden, die prototypisch implementiert werden können. Eine mögliche Verknüpfung mit einem Betriebssystem des menschlichen Gehirns kann und soll in der vorgeschlagenen Diplomarbeit hingegen nicht untersucht werden.

1.3 Übersicht der nachfolgenden Kapitel

Die Inhalte der nachfolgenden Kapitel sind nach mehreren Gesichtspunkten angeordnet. Der vordere Teil des Proposals konkretisiert den molekularen, genetischen und ontogenetischen Anteil der grundlegenden Analogie. Die phenotypischen Aspekte der Analogie sind im mittleren Teil des Proposals zu finden. In der Beschreibung der Analogie wird versucht, den biologischen Konzepten möglichst immer informationstechnischen Konzepte gegenüberzustellen. Dementsprechend werden in den einzelnen Kapiteln zuerst die biologischen Prinzipien beschrieben und daran anschliessend bereits vorhandene informationstechnische Adaptionen vorgestellt. Die abschliessenden Kapitel beschäftigen sich mit der Entwicklung eines Protoypen, dem Ausblick und der Zusammenfassung. Teile der vorderen Kapitel des Proposals fliessen in die Anforderungsspezifikation des Prototypen ein.

Das Kapitel befasst sich mit den klassichen Paradigmen von Betriebssystemen, dazu gehören unter anderem die Ziele, die Struktur und die Architektur, sowie weitere Konzepte aus diesem Bereich. Aus Sicht der Software-Technologie werden daran anschliessend die negativen Eigenschaften, sowie die daraus resultierenden neuen Anforderungen angesprochen.

Das Kapitel beschreibt im ersten Teil einige Aspekte bezüglich eines Gehirns die der vorgeschlagenen Diplomarbeit unter anderem als Leitfaden dienen. Der Fokus soll insbesondere auf das Wachstum und die allgemeinen funktionalen Eigenschaften eines Gehirns gelenkt werden.

Das Kapitel befasst sich zunächst mit der natürlichen Embryologie, also dem Prozess des Wachstums einer Zelle zu einem komplexen Organismus. Die messbaren Gehirnaktivitäten während dieser Entwicklungsphase geben weitere Anregungen. Das Kapitel beschreibt anschliessend kurz einige ausgewählte Interpretationen der Funktionsweise und der Fähigkeiten eines Gehirns.

Das Kapitel beschreibt einen Lösungsansatz. Im Einklang mit der in Kapitel fünf vorgeschlagenen Zuordnung werden daran anschliessend mehrere alternative Bootstrapping-Prozesse vorgestellt.

Ausblick Das Kapitel stellt einige kurze Ausblicke auf zukünftige Einsatzgebiete vor.

Das Kapitel versucht auf den Kapitel beschriebenen physiologischen Grundlagen eines Gehirns aufzusetzen und einen Übergang zu der psychologischen Ebene zu schaffen. Dabei erscheinen besonders Piaget‘s Forschungsarbeiten als hilfreich. Das Kapitel wird mit einer Zusammenfassung einer Forschungsarbeit aus dem Bereich der künstlichen Intelligenz beendet, die versucht Teile der Theorie von Piaget in Form eines Software-Programms zu implementieren. Das Kapitel fasst die voraus gegangenen Kapitel zusammen. Ausserdem wird in diesem Kapitel eine Zuordnung zwischen Bestandteilen eines Computer-Systems und einem biologischen Organismus vorgestellt.

Die Grundstoffwissenschaften Chemie und Physik sind im wesentlichen quantitative orientiert. Sie messen das eine und das andere und drücken die chemischen und physikalischen Gesetzmässigkeiten in Zahlen und symbolischen Formeln aus. Die Biologie hat noch nicht das Stadium der mathematischen Analyse erreicht. Die Phänomene des Lebens sind von vielfältigen Ursachen abhängig, die zum Teil noch völlig unbekannt sind. Die biologischen Gesetzmässigkeiten sind komplexer und schwer zu formulieren. Sollten aber mathematische Ausdrucksformen vorliegen, so sind diese schwerfällig und umständlich zu handhaben.

2 Logik und Mathematik

Dieses Kapitel dient dem Zweck, die im weiteren Verlauf des Proposals benutzten Begriffe einzuführen. Ausserdem stellen die Inhalte des Kapitels einen Teil der logischen und mathematischen Grundlage des Prototypen dar.

2.1 Zahlentheorie

Einige besondere Zahlenmengen.

Primzahlen

Die Menge der Primzahlen ist folgendermassen definiert:

Jede natürliche Zahl grösser 1 ist eine Primzahl, wenn sie nur durch 1 und sich selbst teilbar ist.

Ein Beweis für die Annahme, dass die Menge der Primzahlen unendlich ist, wurde noch nicht geführt.

Goldene Zahl und Goldener Schnitt

Die Goldene Zahl φ ist gleich:

φ=(1+√5)/2

Der Goldene Schnitt ist das Umkehrprodukt der Goldenen Zahl, also:

1/φ=2/(1+√5)

2.2 Arithmetik

Das grundlegende Theorem der Arithmetik, auch bekannt als die Primfaktorzerlegung, ist wie folgt definiert:

Jede natürliche Zahl grösser 1 kann durch ein eindeutiges Produkt endlich vieler Primzahlen beschrieben werden.

2.3 Automatik- und Zahlensequenzen

Die hier beschriebenen Zahlensequenzen sind für die vorgeschlagenen Diplomarbeit fundamental, da der Prototyp sie teilweise implementiert.

2.3.1 Fibonacci-Sequenz

Die Fibonacci-Sequenz ist wie folgt definiert:

F(0)=0, F(1)=1, für jede natürliche Zahl grösser 1 ist F(n)=F(n-2)+F(n-1)

Weitere Eigenschaften

Die Fibonacci-Sequenz weist einige interessante Eigenschaften auf:

F(n)/F(n+1)=φ, für n gegen unendlich

F(n+1)/F(n)=1/φ, für n gegen unendlich

ggt(F(n),F(m))=F(ggt(n,m))

2.3.2 Zeckendorf-Expansion

Definition: Die Zeckendorf-Expansion einer natürlichen Zahl wird durch wiederholtes Subtrahieren der grösstmöglichen Fibonacci-Zahl F(i) ermittelt, bis der Rest gleich 0 ist.

Zum Beispiel ist 100=89+8+3=F(11)+F(6)+F(4).

2.3.3 Fibonacci-Nachfolger

Der Fibonacci-Nachfolger S(n) einer natürlichen Zahl wird ermittelt, indem jede Fibonacci-Zahl F(i) der Zeckendorf-Expansion durch F(i+1) ersetzt wird.

Zum Beispiel ist der Fibonacci-Nachfolger von 100 S(100)=144+13+5=162=F(11+1)+F(6+1)+F(4+1).

de Moivre‘s Formel

Die Fibonacci-Zahl F(i) kann auch durch die Formel de Moivre's ermittelt werden. Die simplifizierte Formel benutzt die Goldene Zahl und lautet (siehe Donald Knuth):

F(i)=1/√5*pow(φ,i)

2.3.4 Interpersionen

Interpersionen besitzen die folgenden Eigenschaften:

1. Die erste Reihe einer Interpersionstabelle ist die Fibonacci-Sequenz.

2. Jede Reihe ist eine Fibonacci-typische Sequenz mit der Form a(n)=a(n-2)+a(n-1).

3. Die erste Zahl jeder Reihe ist die kleinste Zahl, die nicht in einer der vorherigen Reihen gefunden werden kann.

4. Jede natürliche Zahl ist genau einmal in einer Interpersionstabelle vorhanden.

5. Die Zahlenwerte in jeder Reihe und Spalte steigen monoton an.

6. Die Zahlenwerte in jeweils zwei Reihen alternieren. Wenn also der erste Zahlenwert einer Reihe zwischen zwei aufeinanderfolgenden Zahlenwerten einer anderen Reihe liegt, so setzt sich das Alternieren der Zahlenwerte der zwei Reihen unendlich fort.

Es gibt unendlich viele Interpersionen (siehe [Kim, 1993]) und sie stehen in enger Beziehung zu fraktalen Sequenzen. Beispiele für besonders interessante Interpersionstabellen mit den oben genannten Eigenschaften sind die Wythoff-Tabelle und die Stolarsky-Tabelle (siehe [, 199X]).

Abbildung Wythoff-Tabelle

3 Kolmogorov-Komplexität und algorithmische Informationstheorie

Die Kolmogorov-Komplexität ist hilfreich bei Untersuchungen von grundsätzlichen Sachverhalten in den Bereichen wie der Informationstheorie, der universellen Induktion, der Datenkompression und der Statistik. Für die vorgeschlagene Diplomarbeit gibt sie die theoretischen Grundlagen und Grenzen allen Handelns vor.

3.1 Geschichte

Die mathematischen Grundlagen der Wahrscheinlichkeitstheorie entwickelten sich aufgrund von Problemen, die Hilbert im Jahr 1900 formulierte. Von Mises unternahm 1919 einen wichtigen Ansatz, um die Zufälligkeit einer 0-1 Sequenz zu definieren. Der Ansatz erfordert, dass die Frequenz von 0‘en und 1‘en annäherend gleich ist. Insgesamt zeigte sich der Ansatz als nicht ausreichend. Im Jahr 1931 initierte Kolmogorov einen weiteren Ansatz, wobei er zunächst die Messtheorie anwendete. Seine Theorie war sehr erfolgreich aus Sicht der Wahrscheinlichkeitstheorie. Die Wahrscheinlichkeitstheorie ist seitdem ein Teilgebiet der Messtheorie, das den so genannten Kolmogorov-Axiomen von 1933 folgen.

Die Kolmogorov-Komplexität war 1960 von Solomonoff proposed worden. In den 1960'er Jahren nahmen Kolmogorov und Chaitin unabhängig voneinander von Mises Ideen wieder auf, indem sie komplexitätstheoretische Hilfsmittel einsetzten. Sie definierten die Komplexität des Informationsinhalts einer Sequenz. Zufällige Sequenzen sind nach dieser Definition diejenigen, deren Informationsinhalte so gross wie möglich sind. Chaitin beschäftigte sich mit einer Messung der Komplexität, die auf der Produktion von Zustandssysmbolen für Turing-Maschinen basierte und Ideen von Shannon folgte. Er entwickelte die algorithmische Informationstheorie (kurz AIT), welche unter anderem Shannon's Informationstheorie und Turing's Theorie der Berechenbarkeit kombiniert. Bis heute ist Chaitin der "Architekt" der algorithmischen Informationstheorie. Kolmogorov hingegen suchte und fand einen Weg, die Definition der Komplexität von Informationen für das Entwickeln einer neuen Informationstheorie in Analogie zu Shannon's Informationstheorie zu gebrauchen. Im Gegensatz zu der Kolmogorov-Komplexität war Chaitin‘s Messung der Komplexität nicht objektiv und absolut (rekursiv invariant). Der Einfluss der Forschungsresultate beider Wissenschaftler geht heute über den Bereich der Wahrscheinlich- keitsrechnung hinaus.

3.2 Kolmogorov-Komplexität

Die Kolmogorov-Komplexität eines Objekts ist eine Form von absoluter Information über das individuelle Objekt. Die Definition der Kolmogorov-Komplexität K(s) eines Bitstrings s ist bestimmt durch:

Die Kolmogorov-Komplexität K(s) eines Bitstrings s ist die Länge des kürzesten Turing-Maschinenprogramms, dass den Bitstring s als Ausgabe produziert.

Die Definition hängt zwar von der Wahl einer Turing-Maschine ab, jedoch kann jede Turing-Maschine durch eine universelle Turing-Maschine emuliert werden. Die dadurch resultierende Verlängerung des ursprünglichen Programms durch einen konstanten Faktor ist für lange Bitstrings oft vernachlässigbar. AIT says your complexity measure is the size of the smallest program for a universal Turing machine, and in AIT2 it's got to be self-delimiting. Now there are two problems. First of all, which universal Turing machine do you pick? They're all pretty much equivalent but they give you slightly different complexity measures depending on the choice of universal Turing machine. Every universal Turing machine can simulate every other, but having to tell it which machine to simulate adds a certain number of bits to the complexity. Weiterhin ist K(s) im allgemeinen nicht berechenbar, da die Gewähr, dass ein Programm anhält während ein generierter Bitstring s auf Korrektheit getestet wird, nicht gegeben ist.

Auf dieser Basis aufbauend ist auch die Definition von Zufälligkeit eines Bitstrings möglich. Die Kolmogorov-Komplexität ist eine moderne notion von Zufälligkeit und beschäftigt sich mit der Quantität von Information in individuellen Objekten. It was proposed by A.N. Kolmogorov in 1965 to quantify the randomness of individual objects in an objective and absolute manner. Punktweise zufällig im Kontrast zu durchschnittliche Zufälligkeit. Dies ist unmöglich für klassische Wahrscheinlichkeitstheorie. Dies ist nicht mit Shannon's Informationstheorie bestimmbar. Im Gegensatz zu der Kolmogorov-Komplexität ist die Informationstheorie nur an der durchschnittlichen Information einer zufällig (gewählt)en Quelle interessiert.

Die Kolmogorov-Komplexität ist known variously as 'algorithmic information', 'algorithmic entropy', 'Kolmogorov-Chaitin complexity', 'descriptional complexity', 'shortest program length', 'algorithmic randomness', and others.

Unglücklicherweise zeigte sich, dass die originale Defintion nicht besonders geeignet ist, zufällige unendliche Sequenzen zu definieren. Für die korrekte Definition einer zufälligen unendlichen Sequenz muss die Kolmogorov-Komplexität um einen Beschreibungsmodus erweitert werden. Die Länge der kürzesten Beschreibung unter einem geeigneten Beschreibungsmodus.

3.3 Beispiele für die Kolmogorov-Komplexität

1. Pi ist eine unendliche Sequenz von anscheinend zufälligen Ziffern, aber sie enthält nur wenige Bits an Informationen. the size of the short program that can produce the consecutive bits of pi forever. Informell kann die beschreibende Komplexität von Pi als eine Konstante angesehen werden. Formal ist die Komplexität von Pi K(pi)=O(1), das heisst "K(pi) wächst nicht".

2. Ein zufälliger Bitstring s kann nicht signifikant komprimiert werden. Seine beschreibende Länge ist innerhalb eines konstanten Faktors bezüglich der Länge des Bitstrings s. Formal ausgedrückt ist
K(s)=O(|s|), das bedeutet "K(s) wächst so schnell wie die Länge von s".

3.4 Algorithmische Informationstheorie

Die algorithmische Informationstheorie ist eine weitreichende Synthese der Computer-Wissenschaften und der Informationstheorie. Ihre Anwendung geht weit über die Bereiche von Computer und Kommunikation hinaus. Die algorithmische Informationstheorie ist auch bekannt durch ihr Hauptresultat die Kolmogorov-Komplexität. Ihre Evolution hat bis heute drei wesentliche Stadien vollzogen, die im weiteren Verlauf des Kapitels beschrieben werden.

Die algorithmische Informationstheorie 1 entstand etwa 1965. Sie ist durch die Definiton der Kolmogorov-Komplexität bestimmt. Die Ergebnisse der algorithmische Informationstheorie 1 war die Erkenntnis, dass die meisten Bitstrings mit der Länge n Turing-Programme benötigen, die jungefähr die gleiche Länge besitzen. Gewöhnlich hat also ein Bitstring der Länge n eine Komplexität bezüglich der Programmgrösse von n.

AIT 1: Ein Bitstring der Länge n, besitzt eine Komplexität von n.

Zehn Jahre später wurde die algorithmische Informationstheorie 1 verbessert und es entstand die algorithmische Informationstheorie 2. Selbst begrenzende version of the theory. Die Innovation lag darin begründet, dass Unterroutinen konkatiniert werden können, Informationen werden dadurch additiv. Was zunächst als ein technisches Detail aussieht, ist eine Transformation der gesamten algorithmische Informationstheorie 1. Programme sollen ihre eigene Länge bestimmen können. Hierdurch steigt weiterhin die Komplexität eines Bitstrings. Zusätzlich zu dem Wissen über die Werte der n Bits müssen jetzt auch die Informationen über die Anzahl der zu produzierenden Bits gespeichert werden. So it's usually n plus the base-two logarithm of n, roughly speaking. Genau genommen ist es n plus die Komplexität bezüglich der Programmgrösse von n. Eine der Probleme der algorithmische Informationstheorie 2 ist ihre Erklärbarkeit.

AIT2: Ein Bitstring der Länge n, besitzt eine Komplexität von n+log2 n.

Die Motivation für die Weiterentwicklung der algorithmische Informationstheorie entsprang aus der Beobachtung, dass Lehrbücher über die Theorie der rekursiven Funktionen zwar immer Programme beschreiben, aber keins der beschriebenen Programme wirklich als Computer-Programm ausführbar ist. Die bei Analysen in AIT1 und AIT2 verwendeten universellen Turing-Machinen sind mathematisch konstruiert, sind aber keine realen Maschinen, die für die Erstellung von Programmen und deren Ausführungen benutzt werden kann. Die algorithmische Informationstheorie 3 verfolgt somit das Ziel, die nach der Theorie der rekursiven Funktionen erstellten Programme auf einem Computer-System auch ausführen zu können. Die algorithmische Informationstheorie 3 ist somit hauptsächlich die Theorie der rekursiven Funktionen plus deren Spezialisierung durch die Forderung nach der Komplexität eines Programms, die Grösse von Programmen (nachzulesen in [Cha, 1996]).

AIT3: Theorie der rekursiven Funktionen in Verbindung mit Programmgrösse.

4 Chemie, Kristallogie und Molekularbiologie

Als sich die Erde vor etwa 4.6 Billionen Jahren formte, war sie zunächst ein lebloser und unwirtlicher Ort. Einige Billionen Jahre später hatten sich erste Organismen gebildet, resembling blue-green algae. Wie war der Weg dorthin und wie began das Leben? Die Beantwortung dieser Frage führte zu den verschiedensten Schlussfolgerungen und Experimenten. Erste Antworten gaben Untersuchungen über die präbiotische Suppe ("Dünne Ursuppe"). Lange Zeit stand im Zentrum der Forschungen die Möglichkeit, dass das Auftreten von selbstreplizierender RNA ein entscheidender Meilenstein zur Bildung von Leben war. Da die Synthese von Nukleotiden und das Erreichen der Selbstreplikation von RNA unter plausiblen präbiotischen Konditionen eine äusserst mühsame und heikle Methode challenging ist, hegen mittlerweile Chemiker die Möglichkeit, dass RNA nicht mehr das erste selbstreplizierende Molekül war. Diese andere Richtung der Forschung sucht ein einfacheres System, das die Selbstreplikation vollzog und ein Entwicklungsschritt vor der RNA darstellt (siehe zum Beispiel [Orgel, 199x]).

4.1 Geschichte

Noch in der Mitte des 17. Jahrhundert glaubten viele Menschen, dass Menschen, Tiere und Insekten aus einem göttlichen Schopfungsakt entsprungen sind. Genauso war die Meinung verbreitet, dass Frösche und ähnliche kleine Organismen spontan aus einem Sumpf sich entwickeln können. In der Mitte des 19. Jahrhunderts begann die gereifte Wissenschaft eine moderne Diskussion über den Ursprung des Lebens zu führen. Zum einen konnte Louis Pasteur das Konzept der spontanen Generation von Leben widerlegen. Er zeigte dazu einen Beweis, indem Bakterien und andere Mikroorganismen entstehend durch parents resembling themselves. Gleichzeitig stellte er aber auch mit seinem Beweis eine neue Frage: Wie kam die erste Generation jede Spezie into existence? Die Theorie der natürlichen Selektion war der andere Fortschritt der eine Antwort versprach. Das Prinzip der natürlichen Selektion zeigt unter anderem, dass einige Differenzen zwischen Individuen in einer Population vererbbar sind. When the environment changes, individuals bearing traits that provide the best adaptation to the new environment meet with the greatest reproductive success. Konsequenterweiser beinhaltet jede nächste Generation einen gesteigerten Anteil gut angepasster Individuen displaying the helpful characteristics. Der Druck der Umgebung führt zu der Selektion adaptiver traits for perpetuation. Die Schlussfolgerung ist, dass durch diesen sich immer wiederholenden Prozess könnte so zu der Evolution von einfachen zu komplexen Organismen führte. Die Theorie impliziert somit, dass alle Lebensformen von einer einzigen einfachen progenitor abstammen. Dieser wird auch der letzte gemeinsame Vorgänger genannt ancestor. In Anbetracht der herrschenden religiösen Ansichten formulierte Darwin vorsichtig, dass der "Schöpfer" ursprünglich Leben in einige wenige Lebensformen oder in nur eine Lebensform hauchte. In privaten Korrespondenzen vermutete er, dass das Leben durch chemische Prozesse entstanden ist.

4.2 Präbiotische Suppe

Viele Wissenschaftler die sich mit der Frage des Ursprungs des Lebens beschäftigt haben, versuchten Darwin's private Hypothese real nachzuvollziehen. Es galt ohne übernatürlicher Einflussnahme zu zeigen, wie spontane Interaktion von einfachen Molekülen in den Meeren und Gewässern der jungen Erde könnten zu den letzten gemeinsamen Vorgänger führten. In den 1930‘er Jahren erklärten Oparin und Haldane, dass die organischen Bestandteile die für Leben benötigt werden, nicht auf der Erde geformt werden konnten, wenn die Atmosphere reich an Oxygen wie heutzutage war. Oxygen spaltet von anderen Verbindungen Wassserstoff ab, interferes mit den Reaktionen, die einfache Moleküle in komplexere Strukturen transformieren. Oparin und Haldane schlossen daraus, dass die Atmosphere der jungen Erde sehr wenig Oxygen und dafür sehr reich an Wasserstoff (H2) und Verbindungen die donate Wasserstoffatome an andere Sustanzen. Solche Gase waren presumed zu beinhalten Methane (CH4) und Ammoniak (NH3).

Oparin's und Haldane's Ideen insperierten Urey und Miller für ein Experiment, dass 1953 die Ära der experimentellen präbiotischen Chemie einläutete. Sie dachten über die Art der chemischen Reaktionen nach, die auf einer Erde auftraten, die noch von einer reduzierenden reducing Atmosphere eingehüllt war.

Dazu wurden folgende Annahmen getroffen. Die Erde war durch vulkanische Aktivitäten gekennzeichnet, also Hitze. Eine Atmosphere wie der jetztigen hatte sich noch nicht gebildet.

In einem Glaskolben stellte Miller eine ähnliche Atmosphere her. Diese Atmosphere bestand aus Methan, Amoniak und Wasserstoff oberhalb eines "Ozeans" mit Wasser gefüllt. Anschliessend führte Miller durch kontinuierliche elektrische Entladungen dem System "Blitze" hinzu und simulierte durch leichtes Schütteln Erdbeben. In the flask at the bottom circulating water vapor. Next he exposed the gases to a continuous electrical discharge ("lightning"), causing the gases to interact. Der Glaskolben wird geschüttelt (Vulkanaktivitäten und Erdbeben). Water-soluble products of those reactions then passed through a condenser and dissolved in the mock ocean.

Nach einigen Tagen analysierte er den Inhalt des "Ozeans". Nach ungefähr einer Woche lagert sich am Boden des Glaskolbens eine braune Schicht ab. Über dieser Schicht scheidet sich die Ursuppe ab. Interessanter Weise haben sich in der Ursuppe Polymerketten in Form von Aminosäuren gebildet.

Miller stellte fest, das mehr als 10 Prozent des zuvor enthaltenen Karbons zu einer geringen Anzahl von organische Verknüpfungen umgewandelt wurde. Weitere 2 Prozent des Karbons wurden in Aminosäuren umgewandelt, die als constituents von Proteinen dienen. Die letztere Entdeckung war besonders bedeutsam, da gezeigt werden konnte, dass die Aminosäuren als wichtiger Bestandteil zur Herstellung von Proteinen und für Leben an sich would have been abundant on the primitive planet. Seit dem wurden die verschiedensten Mischungen einfacher Gase mit verschiedenen Energiequellen untersucht. Die Resultate der Experimente können generalisiert werden. Unter ausreichenden reducing Zuständen bilden sich Aminosäuren leicht. Im Gegensatz dazu entstehen wenige oder gar keine Aminosäuren, wenn oxidizing Zustände herrschen.

Einer der kritischen Parameter dieser Experimente ist der Wasseranteil. Zu viel Wasser zerstört die sich bildenden Polymerketten wieder. Hingegen führt zu wenig Wasser dazu, dass die sich bildenden chemischen Strukturen der UV-Strahlung aus dem Weltall schutzlos ausgeliefert sind, da ja eine Atmosphere noch nicht vorhanden war.

Wenig Beachtung wurde zu dieser Zeit dem Ursprung von Nokleinsäuren gegeben. Das Interesse galt hauptsächlich der Erklärung wie Proteine auf der Erde entstanden. Im Jahr 1961 konnte Oró mit ähnlichen Studien wie der von Urey und Miller erste Hinweise geben, dass sich auch die Komponenten von Nukleinsäuren in einer präbiotischen Suppe bilden können. Sein Ziel war eigentlich zu untersuchen, ob Aminosäuren durch eine einfacheres chemiesches System wie das von Urey und Miller verwendete hergestellt werden können. Er stellte fest, dass Aminosäuren in einfacheren chemischen Systemen entstehen können. Zusätzlich macht er eine unerwartete Entdeckung, denn das am meisten abundant komplexe Molekül identified war Adenin.

In jüngster Zeit sind Zweifel an der Theorie entstanden, weil die von Urey und Miller angenommenen Zustände der Atmosphere nicht mit neueren Untersuchungen über die Entstehung der Erde übereinstimmen. Weiterhin ist es auch möglich, dass einige für das Leben benötigte organische Materialien nicht an der Erdoberfläche, sondern in der Tiefsee entstanden sind.

4.3 Cairns-Smith

the possibility that RNA was not the first self-replicating molecule on the primitive earth - that a simpler replicating system came first. Cairns-Smith war der erste, der solch eine Art des genetic takeover für angemessen hielt. Er und weitere Forscher argumentieren, dass die Komponenten des ersten genetischen Systems entweder sehr einfach waren oder zumindest sehr einfach generiert werden konnten. Cairns-Smith hat ausserdem eines der radikalsten Proposal für die Herkunft dieses frühen genetischen Systems gegeben. Er schlug vor, dass das erste System, das in der Lage zur Replikation war, nicht organisch war. He envisaged irregularities in the structure of a clay - for example, an irregular distribution of cations (positively charged ions) - as the repository of genetic information. Replication would be achieved in this example if any given arrangement of the cations in a preformed layer of clay directed the synthesis of a new layer with an almost identical distribution of cations. Selection could be achieved if the distribution of cations in a layer determined how efficiently that layer would be copied. Cairns-Smith envisages, dass die ersten Organismen den Wachstumsprozess von Kristallen gebrauchten, um high-fidelity Informationen über die Generationen zu transferieren. So wachsen zum Beispiel einige Kristalle in eine Richtung und halten Informationen zwischen den Ebenen intakt (in the form of cross-sectional area, and fault structures). Das Ergebnis ist ein langer Kristall. Wenn solch ein Kristall eine gewisse Grösse erreicht hat, bricht er in zwei Teile auseinander und der Wachstumsprozess fährt fort.

Cairns-Smith vertritt die Meinung, das das Leben auf der Erde als Basis selbst-replizierende inorganische Krystale hat. Trifft dies zu, so müssen organische Replikatoren und eventuell auch die DNA später die Funktion übernommen haben (siehe zum Beispiel Richard Dawkins' "The Selfish Gene", 1976 in greater depth in "The Blind Watchmaker", 1982)

Die Hypothese wurde bis jetzt noch nicht durch Experimente im Labor geprüft. Aus theoretishcer Sicht ist jedoch sein Ansatz nicht schlüssig. Strukturelle Unregelmässigkeiten in einem clay die ausreichend komplex sind to set the stage for the emergence of RNA probably would not be amenable to accurate self-replication.

4.4 [4.5] Zusammenfassung

Whether RNA arose spontaneously or replaced some earlier genetic system, ist development was probably the watershed event in the development of life. It very likely led to the synthesis of proteins, the formation of DNA and the emergence of a cell that became life's last common ancestor. The precise events giving rise to the RNA world remain unclear. As we have seen, investigators have proposed many hypotheses, but evidence in favor of each of them is fragmentary at best. The full details of how the RNA world, and life, emerged may not be revealed in the near future. Nevertheless, as chemists, biochemists and molecular biologists cooperate on ever more ingenious experiments, they are sure to fill in many missing parts of the puzzle.

Obviously, it had to possess genetic information - that is, heritable instructions for functioning and reproducing - and the means to replicate and carry out those instructions. Otherwise it would have left no descendants. Also, its system for replicating its genetic material had to allow for some random variation in the heritable characteristics of the offspring so that new traits could be selected and lead to the creation of diverse species. Anyone trying to solve this puzzle immediately encounters a paradox. Nowadays nucleic acids are synthesized only with the help of proteins, and proteins are synthesized only if their corresponding nucleotide sequence is present. It is extremely improbable that proteins and nucleic acids, both of which are structurally complex, arose spontaneously in the same place at the same time. Yet it also seems impossible to have one without the other. And so, at first glance, one might have to conclude that life could never, in fact, have originated by chemical means.

Thus, there is good reason to think the RNA world did exist and that RNA invented protein synthesis. If this conclusion is correct, the main task of origin-of-life research then becomes explaining how the RNA world came into being. The answer to this question requires knowing something about the chemistry of the prebiotic soup: the aqueous solution of organic molecules in which life originated. Fortunately, even before the RNA-world hypothesis was proposed, investigators had gained useful insights into that chemistry.

From such findings we can infer that our last common ancestor stored genetic information in nucleic acids that specified the composition of all needed proteins. It also relied on proteins to direct many of the reactions required for self-perpetuation. Hence, the central problem of origin-of-life research can be refined to ask, By what series of chemical reactions did this interdependent system of nucleic acids and proteins come into being?

[4.4] Robert Shapiro

Robert Shapiro's "Origins" (Bantam 1986) discusses Cairns-Smith's ideas.

5 Künstliche Chemie, künstliche Kristallogie

5.1 Methoden und Techniken

5.2 Künstliche Moleküle

5.2.1 Wachstumsprozess

5.3 Künstliche Kristallogie

5.3.1 Wachstumsprozess von Kristallen

6 Natürliche Embryogenie

Den auftretenden Fragen die sich aus der Entwicklung von multizellularen Organismen ergeben stellt sich die Entwicklungsbiologie. Dieser Bereich der Biologie beschäftigt sich mit allen Aspekten der Entwicklung eines Organismus. Zu diesen Aspekten zählen sowohl die Erforschung von den Genen als auch von den molekularen Ereignissen, die die strukturalen Veränderungen die ein Organismus während seiner Entwicklung durchläuft kontrollieren. Die Betonung liegt auf der Dynamik des Entwicklungsprozess mit den einhergehenden strukturalen Veränderungen. Unterstützende Erkenntnisse stammen aus der molekularen, genetischen und zellularen Biologie.

6.1 Historische Entwicklung der Embryologie

Wie werden Körper und andere organische Entitäten geformt? Ist der Bauplan in dem fertilised Ei enthalten, ist das Ei vielleicht sogar vorgeformt? Diesen Frage der biologischen Entwicklung widmeten sich bereits die Griechen, insbesondere Hippocrates. Aristoteles war dann der erste, der eine formale Beschreibung des Problembereichs entwickelte. Er vertrat zwei Möglichkeiten, entweder gibt es eine Vorformung (Präformation) oder die Epigenese stellt die Grundlage dar. Aristoteles favorisierte die Epigenese im Kontrast zu der vorherrschenden Staatsreligion, die der Idee der Vorformung folgte. Erst 1672 erstellte der Italiener Marcello Malpighi eine detailierte Beschreibung eines Hühnereis. Er vertrat auch die immer noch von der Kirche vetretene Meinung der Vorformung. Malpighi stellte aber in seinen Untersuchungen lediglich fest, dass er das Hühnerembryo nicht mit seinen Mikroskopen sehen konnte. Im Jahr 1768 war dann Carl Friedrich Wolff nach neun Jahren Forschungsarbeit in der Lage, das Konzept der Vorformung entgültig zu widerlegen. Dem deutschen Botanist Matthias Schleiden und dem Physiologist Theodor Schwann gelang es in den Jahren 1838 und 1839 die Zelle zu entdecken. Die Entdeckung der Zelle war eine der entscheidenden Wendepunkt der Embryologie und der Beginn der Entwicklungsbiologie. In der Mitte des 19. Jahrhunderts konnte der Botanist Gregor Mendel zeigen, dass der Grund für die Variabilität der Vererbung in Unterschieden zwischen von ihm benannten Faktoren liegt. Am Ende des 19. Jahrhunderts stellte August Weismann ein Entwicklungsmodell vor das Spezialfaktoren beinhaltet. Durch Ergebnisse von Experimenten an Froschembryonen wurde Weismanns Modell unterstützt. Wilhelm Roux schloss aus seinen Froschexperimenten, dass die Entwicklung eines Frosches auf einem mosaikartigem Mechanismus aufbaut. Die von Gregor Mendel definierten Faktoren wurden später von Wilhelm Johannsen als Gene benannt. Er war auch derjenige, der am Anfang des 20. Jahrhunderts den Unterschied zwischen einem Genotyp und einem Phenotyp erkannte und die Verbindung zwischen dem Genetischem und der Embryologie herstellte. (siehe [Bard, 1990] und [Wolpert, 1998]). Seit Mitte der 1980‘er Jahre staggering (stagnierte?) die Forschung in der Entwicklungsbiologie. Auf der einen Seite nimmt die Zahl der gefundenen Gene zwar stark zu und können erste Genome in ihrer Gesamtheit entschlüsselt werden. Auf der anderen Seite fehlt jedoch ein konzeptionelles Rahmenwerk, dass die Interaktionen von Genen beschreiben kann (siehe zum Beispiel [Gil, 1994]). globalität

6.2 Heutige Embryologie

Die heutige Embryologie umfasst das Studium der kontrollierten Formation und Entwicklung von Tier- und Pflanzenembryos. Die drei grundlegenden Prozesse sind im folgendem beschrieben:

  • Die Morphogenese umfasst das Auftreten, beziehungsweise das Entstehen und die Veränderungen von Körpern.
  • Die regionale Spezifikation (Musterformation) , die in bestimmten Bereichen auftritt, ist mit der Kompartmentalisation eines Embryos verknüpft.
  • Die zellulare Differenzierung beschreibt, wie Zellen für besondere Aufgaben spezialisiert werden.

Diese Prozesse operieren zusammen in verschiedenen Teilen eines Embryos, zu verschiedenen Zeiten und in unterschiedlichen Entwicklungsstufen. Sie orientieren sich dabei an einer Embryogenie. Eine Embryogenie beschreibt aber nicht ein Tier oder einer Pflanze in seiner/ihrer Gesamtheit, sondern wie ein Tier oder eine Pflanze wachsen soll. Ein besonderes Problem der Embryogenie sind die Informationen über die Positionen...

6.3 Methoden und Techniken

Die Methoden und Techniken entstammen der kausalen, experimentellen Embryologie. Ihr Ziel ist es, die Ursachen für den Prozess zu erforschen, der für die chronoligische Aufeinanderfolge von Erscheinungen während eines Entwicklungsprozess verantwortlich ist. Der kausalen Embryologie gelang es zwar einige grundsätzliche Entwicklungsprozesse zu analysieren und einige Faktoren der Differenzierung aufzuzeigen. Diese Erklärungen sind aber nur Facetten, wesentliche Erscheinungen sind immer noch rätselhaft.

6.4 Entwicklung eines Gehirns

Hervorzuheben sind an dieser Stelle zum einen der beobachtbare Entwicklungsprozess eines multizellularen Organismus. Dieser beginnt mit genau einer Zelle, die durch Zellteilung und Austausch von Botenstoffen zu einem komplexen Organismus heranwächst. Solch ein Organismus kann zum Beispiel im Fall der Spezie Mensch auch ein Gehirn besitzen.

Zum anderen ist die sogenannte Rapid Eye Movement oder auch der paradoxische Schlaf bemerkenswert. Der paradoxische Schlaf ist eine in bestimmten Abständen auftretende, messbare und rythmische Bewegung der Augen. Bei Embryonen wird vermutet, dass er die Quelle der Stimulation während der Selbstorganisation des sich bildenden Gehirns ist (siehe zum Beispiel [Mir, 1986]).

Zusammen genommen würde die Richtigkeit der Beobachtungen bedeuteten, dass der Entwicklungsprozess eines Gehirns schon in einem frühen Stadium reflektive Eigenschaften aufzeigt. Während ein Gehirn mit genau einer Zelle beginnend wächst, wird zu einem Zeitpunkt eine gewisse Anzahl an Neuronen mit geringer Funktionalität aufgebaut. Diese geringe Funktionalität dient während des Entwicklungsprozesses in der Phase des paradoxischen Schlafs der eigenen Organisation und somit wiederum auch der eigenen Weiterentwicklung eines Gehirns.

Betrachtet man den Entwicklungsprozess eines Gehirns weiterhin aus der obigen Sicht, so stellt sich die Frage des "Bootstrappings" eines Gehirns. Schliesslich muss zu einem Zeitpunkt die im Wachstum aufgebaute Gehirnmasse mit der Ausführung von Funktionen beginnen. Wie ein Modell dieses "Bootstrappings" und der Aufbau der dazu notwendigen "kritischen Masse" aussieht ist in der Biologie noch nicht untersucht worden.

7 Künstliche Embryologie

Eine Anforderung für ein besseres Verständnis der Ontogenie ist die Integration von Entwicklungsbiologie und komplexen Systemen (siehe [May, 1998]).

7.1 Historische Entwicklung

Von Neumann-Replikator

Das Betrachten von Genomen als ein komplexes Netzwerk und die Erforschung der Dynamiken in einem solchen Netzwerk wurde von Kauffman durchgeführt (in [Kau, 1971] und [Kau, 1974]). Er benutzte Zufalls-Boolean-Netzwerke als Abstraktion. Die von ihm gewonnenen Erkenntnisse, sowie die Betrachtung von Zelltypen als Attraktoren, konnten die Gemeinschaft der Biologen nicht überzeugen. Zum einen ist bemängelt worden, dass die Abstraktheit von Zufalls-Boolean-Netzwerken für die Beschreibung von realen genetischen Netzwerken nicht ausreicht. Zum anderen ist die nur begrenzte Erweiterbarkeit des Gesamtmodells eine weitere negative Eigenschaft.

7.2 Heutige künstliche Embryologie

Die heutige künstliche Embryologie beschränkt sich hauptsächlich auf den morphologischen Aspekt. Auf der einen Seite sind besonders oft Lindenmayer-Systeme zu finden. Auf der anderen Seite werden Systeme die Algorithmen als Bilder darstellen im künstlerischen Bereich benutzt (Algoristen).

7.3 Methoden und Techniken

7.4 John von Neumann-Universalkonstruktor

Der Universalkonstruktur von von Neumann ist eine Erweiterung des logischen Konzeptes einer universellen Rechenmaschine. In einem von von Neumann vorgeschlagenen zellularen Umgebung both computing and constructive universality can be achieved. Von Neumann konnte beweisen, dass in seinem zellularen lattice sowohl eine Turing-Maschine und eine Maschine die in der Lage ist, jede andere Zellassemblierung zu produzieren, vorausgesetzt, dass ein geeignetes Programm zugefphrt wird, eingebettet werden können. Die letztere Maschine nannte er einen universellen Konstruktor und zeigte, dass diese Maschine in der Lage ist, wenn ein Program das seine eigene Beschreibung enthält fähig ist, sich selbst zu reproduzieren.

7.5 Komplexe Systeme, Zellulare Automaten

Eine Anforderung für ein besseres Verständnis der Ontogenie ist die Integration von Entwicklungsbiologie und komplexen Systemen (siehe [May, 1998]). Deshalb werden die verschiedensten Modelle für Gene, Genome, sowie deren Funktionalität und Interaktionen vorgeschlagen. Edge of chaos

7.6 Ein-dimensionale Systeme des künstlichen Lebens

7.7 Zwei-dimensionale Systeme des künstlichen Lebens

7.8 Mehr-dimensionale Systeme des künstlichen Lebens

7.9 Partikelbasiertes Rechnen in zellularen Automaten

7.10 Isodipole Texturen

Isodipole Texturen wurden von Bela Julesz als counterexamples für seine Konjekture bezüglich der preattentiven visuellen Verarbeitung eingeführt. Eine Anzahl von Variationen sind entwickelt worden. Dieses Kapitel skizziert die theoretischen Grundlagen von isodipolen Texturtechniken. (Victor, Jonathan D.; Conte, Mary M.; Purpura, Keith; Katz, Ephraim: Isodipole textures: A window on cortical mechanisms of form Processing In Early Vision and Beyond (1995). Cambridge, The MIT Press, Seite 99 - 107)

Bela Julesz folgerte 1962, dass "effortless" visuelle Prozess kann nicht Texturen unterscheiden, die das gleiche Power-Spektrum oder äquivalent, identische Korrelationen zweiter Ordnung. Solche Texturen sind auch als isodipole Texturen bekannt. Allgemeine sind Texturen deren Statistik ist identisch bis zur Ordnung N-1, aber nicht bei der Ordnung N, werden Texturen n-ter Ordnung genannt. Es zeigte sich, das die conjecture falsch ist.

This page presents a family of such algorithms to construct isodipole textures of order N. Formally, a "texture" is a statistical ensemble of images, not an individual image. Statements about the statistics of the texture relate to the complete ensemble, not to individual images. To be rigorous, experiments based on isodipole textures must therefore explore a number of examples of each texture, to be sure that findings are not due to the idiosyncracies of a particular example. This issue is discussed more fully elsewhere.

7.10.1 Algorithm

Isodipole textures may be constructed by a recursive scheme, which might be called a plane Markov process. These constructions lead to texture ensembles which have a number of nice theoretical properties, including ergodicity. See for example E. N. Gilbert's work.

A texture example consists of an assignment of pixel values 0 or 1 to a lattice ai,j of points, and a rendering of these pixel values as an image (typically 0 as black, 1 as white). Here, i represents the row and j represents the column of the pixel in the lattice.

A set of "integer recursion parameters" (pk,qk) (k = 1, 2, ..., N-1) is chosen. The values pk must be non-negative (say, in the range 0 to P, P arbitrary). For values of k for which pk=0, then qk must be positive (say, in the range 1 to Q, Q arbitrary). This is to ensure that the recursion rule (below) can be implemented.

Even within these limits, the recursion parameters (pk,qk) cannot be chosen arbitrarily; certain choices do not lead to Nth-order textures because they imply correlations of lower order. See E. N. Gilbert's work.

The texture sample is initiated by assigning the pixels ai,j (0 <= i < P or 0 <=j < Q) to values 0 or 1, randomly and with equal probability. For all other values of i and j, the value of ai,j is determined by the recursion rule ai,j = ai-p1,j-q1 + ai-p2,j-q2 + ... + ai-pN-1,j-qN-1,

where addition is interpreted mod 2. The restrictions on the recursion parameters (pk,qk) ensure that this recursion can be carried out at each step.

7.10.2 Recursion parameters for some sample textures:

even texture: N=4, (p1,q1)=(0,1), (p2,q2)=(1,0), (p3,q3)=(1,1).

odd texture: N=3, (p1,q1)=(0,1), (p2,q2)=(1,0).

cross texture: N=4, (p1,q1)=(1,1), (p2,q2)=(1,-1), (p3,q3)=(2,0).

tee texture: N=4, (p1,q1)=(1,1), (p2,q2)=(1,0), (p3,q3)=(1,-1).

7.10.3 Generalizations

Sporadic decorrelation: after the texture is completed, a fraction fspor of the ai,j's can be flipped to 1-ai,j. Set fspor=1 to convert the dark-triangle texture to the bright-triangle texture, and set it to intermediate values to make other examples.

Propagated decorrelation: each time the recursion rule is applied, a fraction fprop of the ai,j's can be flipped to 1-ai,j. Set fprop=1 to make the odd texture, and set it to intermediate values to make other examples.

Textures may be XORed with one another, and with randomly superimposed profiles of arbitrary shape. This is a further generalization of sporadic and propagated decorrelation.

The "pixels" represented by ai,j=0 or 1 need not be rendered just as black or white, but could be arbitrary colors, or line elements at different orientations, or windows onto other textures.

Textures may be constructed on other lattices, zum Beispiel hexagonal. Als isospatiale Räume

The values assigned to the pixels ai,j need not be binary. For example, they could be drawn from the set {0, 1, ..., N-1}, with addition interpreted mod N. More generally, they could be drawn from any group, not necessarily abelian. The summation in the recursion rule is interpreted accordingly.

The lattice of "pixels" may be created in 3 oder mehr dimensionen (siehe nächstes Kapitel), and a texture may be produced from a 2-d slice.

7.11 Isospatiale Räume

Frazer

Sechs-dimensional

7.12 Probleme

Edge of chaos führt zu hoch komplexen Systemen mit grossen Dynamiken

Replikator

Logische Widersprüche

7.13 Kristallogie und zellulare Automaten

simulation of crystal growth on the level of atoms and atomic forces. abstracting the essential features into a cellular automaton. The resulting design is relatively simple. It has five states per cell, plus a counter, which is used to attain synchrony when reproducing. The automaton uses the Von-Neumann neighbourhood.

Like HexHAL random configurations are likely to spontaneously lead to self-reproducing entities, in a manner reminiscent of a biogenesis.

On the error rate

The automaton displays replication with sufficiently high fidelity to preserve genetic information across many generations. However, like practically all such models there is a "natural" preference for small organisms – since these are less likely to interfere with the reproduction of their own offspring. If the automaton is allowed to run, smaller organisms will come to dominate. Normally, one would apply selection in a manner which counteracts this.

Comments

there may be room for improvements.

Because of considerations relating to embedding universal automata on the back of self-reproducing automata, the fact that a two-dimensional automaton results in organisms that are fundamentally one-dimensional is a significant problem.

If one has an n-dimensional substrate available, one is unlikely to be satisfied designing n-1-dimensional circuits.

Plans

The basic idea of attaining synchrony - and then reproducing in a synchronous manner - can be used to produce a substrate in which genuinely two-dimensional organisms reproduce. Such a model probably more closely represents crystalline growth processes. It's disadvantage over the mechanism illustrated here is that it is not so simple.

It's intended that the next self-reproducing automaton we create will be along these lines.

7.14 Zufalls-Boolean-Netzwerke

The RAM of the virtual computer is known as the "soup''.

[7.18] 7.15 Ab-Initio-Proteinstrukturvorhersage

Die bekannteste Strange-Loop in der Biologie ist dort zu finden, wo DNA gebraucht wird, um Proteine herzustellen, die wiederum zur Herstellung von DNA gebraucht werden. Im Allgemeinen kann eine Selbstreplikation eines Systems durch tangled Hierarchien charakterisiert werden. Ein weiteres Beipiel für eine Strange-Loop hat mit dem zellularen Einfluss beim Proteinentfaltens zu tun. Proteine benötigen weitere Proteine um entfaltet zu werden. Chaperoninen sind Proteine die anderen Proteinen bei der Entfaltung helfen. Dies führt zu der Frage, ob ein Chaperonin ein anderes Chaperonin für seine Entfaltung benötigt, was zu einer Art Meta-Strange-Loop führen würde.

Die Paarung von Beta-Strand kann auch als eine Strange-Loop angesehen werden, teilweise ist die Basenpaarung einer DNA eine Strange-Loop. Die Formation von Beta-Strand require hydrogen bonding for overall stability.

Wenn eine Kette sich entfaltet, auf sich selbst sequentiell startend von einem Ende zum andere Ende (is not the case) dann wäre der gesamte Prozess des Entfaltens eine elegante rekursive Strange-Loop.

Um ein Protein mit einer Länge von n entfalten zu können, wird zuerst ein Protein mit einer Länge von n-1 entfaltet und anschliessend der letzte residue gebildet. Die Betrachtungen lassen sich generalisieren. Die Strange-Loops entstehen wegen der kontextuellen Sensitivität in Proteine. Um ein Protein mit einer Länge von n zu entfalten wird folgender Algorithmus bezüglich der Reihenfolge einer Entfaltung vorgeschlagen, wobei c(R_1) einen Startpunkt darstellt:

f(n) = f(n-1) + c(R_n)

f(n-1) = f(n-1-1) + c(R_n-1) = f(n-2) + c(R_n-1)

f(n-2) = f(n-2-1) + c(R_n-2) = f(n-3) + c(R_n-2)

.

.

.

f(3) = f(3-1) + c(R_3)

f(2) = f(2-1) + c(R_2)

f(1) = c(R_1)

(Alle c(R_x) müssen sich auch aus einem Konstrukt der f(x-1) benutzt rekursiv entfalten)

Der rekursive Aufruf muss nicht auf eine Sepuenz mit einer Länge von n-1 angewendet werden. Es kann auf Sequenzen mit beliebiger Länge angewendet werden, die eine Substruktur repräsentieren. So you can view the process as putting together a bunch of independent sub-units.

Solche Methoden/Modelle werden eingesetzt, um Proteinstrukturen aufzubauen, wie zum Beispiel im CASP3 ab initio prediction method für die Zuweisung von sekundären Strukturen zu groben Modellen. Das Konzept ist als rekursiv bekannt.

Über diesen Bereich existieren nur wenige dokumentierte Arbeiten. Die grundlegende Methode benutzt lattice-based und off-lattice modelle mit vier und sechs Zuständen, um die Proteinstruktur zu repräsentieren und einen exhaustive Exploration des conformational Raums. Zusätzlich wird eine sogenannte All-Atom-Diskriminierungs-Funktion benutzt. Eine Abwandlung der Ab-Initio-Methode inkludiert den Gebrauch einer distance geometry techniques to sample protein conformational space and using the all-atom function to select native-like conformations. Die Methoden hatten guten Erfolg in Experimenten mit blinder Vorhersage (siehe third meeting on the Critical Assessment of Protein Structure Prediction methods (CASP3)).

[7.19] 7.16 Compiler für DNA

Ein Compiler für DNA scheint nach dem Betrachten genetischer Mechanismen, die die Transcription und die Translation verwenden, nicht zu fantastisch zu sein. we will observe that is exactly what an organism does. Ein Organismus tastet ab, übersetzt und generiert DNA-Code indem Proteine gebildet werden, die dann für verschiedene Aufgaben gestartet werden. The practical aspects of this undertaking must be emphasised, because what we do in a stack frame is to attempt to come up with a way to derive protein structure from sequence using formal language theory; if successful, this will have enormous implications in the field of biochemical genetics.

Der Beweis das DNA wirklich "compiliert" wird zur Herstellung von Proteinen, die wiederum gestartet werden, ist eine nicht triviale Aufgabe. Der Versuch zu verstehen, wie DNA transcribed and translated in Termen der formalen Sprachen ist hilfreich, weil es provides another means of representing the nucleic acid chain und es befähigt mRNA und Proteinstrukturen von Sequencen abzuleiten.

Der Grund für die Konstruktion eines Compilers vor dem notwendigen Betriebssystem ist, dass das Betriebssystem durch einen Boot-Strapping-Prozess aufgebaut werden muss. Das erfordert die DNA zu enkodieren, damit durch die vom Compiler generierten Proteine eine einzelne Zelle konstruiert werden kann.Diese einzelne Zelle ist die von einem Entwickler hergestellte Zygote.

[7.20] 7.17 Linguistik der DNA

Die erste Operation eines Compilers ist die lexikographische Analyse, in diesem Fall ist sie relativ einfach gestaltet. Die Erforschung der Linguistik der DNA führt zu einer Grammatik die ein Gen formalisiert. Ausserdem kann gezeigt werden, dass DNA inherently kontext sensitiv ist (siehe [David Searls, 19xx]). Die einzigen Tokens die für einen Compiler der auf einer solchen Grammatik basiert für einen DNA-Abschnitt benötigt werden, sind die vier Nukleotidbasen.

[7.21] 7.18 Compiler für mRNA

Der nächste Schritt ist eine Grammatik zu entwickeln die in der Lage ist mRNA-Strukturen zu lesen und die Ausgaben in Form von Aminosäureketten produziert. Ein Konstrukt das seine Eingaben untersucht, sie einliest und nach einer festen Regelmenge Ausgabe produziert wird Transducer genannt. Der oben beschriebene DNA-Compiler ist demnach ein kontext-sensitiver Transducer der als Eingabe einen DNA-Strang bekommt und als Ausgabe einen mRNA-Strang produziert. Der abstrakte Syntaxbaum der von dem Parser produziert wird, gibt Aufschluss über die sekundäre Struktur eines mRNA-Strangs (siehe [David Searls, The Linguistics of DNA, 19xx]).

Ein Transducer für DNA-Transkription wird mRNA als Ausgabe produzieren. Er kaann ausserdem die Anzahl und die Struktur von tRNA- und rRNA-Molekülen bestimmen, die durch einen gegebenen DNA-Strang kodiert werden. Der oben beschriebene Parser als Teil eines DNA-Compilers kann unter anderem auch das Intron-Splicing handhaben. Wird die Ausgabe des Parsers als Eingabe für den mRNA -> Protein-Transducer genutzt, so ist man in der Lage aus einem Strang DNA Proteine zu entfalten. Insgesamt sind somit alle essentiellen Komponeneten einer Zelle durch eine Konzepte der formalen Sprachen beschreibbar: DNA, hnRNA, mRNA, tRNA, rRNA und Proteine. Der kritische Schritt liegt in der Vorhersage der Struktur und Funktion der von den durch mRNA-Sequenzen generierten Proteinsequenzen. Die restliche Aktivität einer Zelle ist die Interaktionen zwischen Enzymen und Proteinen, die Replikation von DNA und die Teilung der neu entstandenen Zelle.

8 Psychologie

9 Künstliche Intelligenz

10 Betriebssysteme

In diesem Kapitel wird zuerst eine Übersicht über die Ziele, die Struktur und die Architektur von Betriebssystemen gegeben, wobei nur auf allgemeine Anforderungen an Betriebssysteme eingegangen wird. Anschliessend werden die Konzepte virtuelle Maschine und Bootstrapping erläutert. Da ein Betriebssystem zwar einem Benutzer die Handhabung eines Computer-Systems erleichtert, es aber auch einige Schwächen aufweist, werden diese in Kapitel 9.6 kurz angesprochen. Diese negativen Eigenschaften führen zu ergänzenden oder neuen Anforderungen an ein Betriebssystem. Aus der Sicht der Software-Technologie werden diese ergänzenden bzw. neuen Anforderungen in Form von Entwicklungsmustern kurz vorgstellt.

10.1 Ziele eines Betriebssystems

Das primäre Ziel eines Betriebssystems addressiert den Benutzungskomfort eines Computer-Systems. Ein sekundäres Ziel ist den effizienten Betrieb eines Computer-Systems zu ermöglichen. Zur Realisierung der Vorgaben kontrolliert und koordiniert ein Betriebssystem den durch verschiedene Anwendungsprogramme eines Benutzers verursachte Gebrauch von Hard- und Software-Resourcen. Durch die Kontrolle der Ausführung eines Programms versucht es Fehler zu vermeiden und den Missbrauch eines Computer-Systems zu verhindern. Die Koordination der von einem Anwendungsprogramm benötigten Hard- und Software-Resourcen soll den effizienten und "fairen" Einsatz dieser Resourcen sichern (nach [Sil,1994]).

10.2 Allgemeine Struktur eines Betriebssystems

Obwohl mittlerweile eine unbestimmte Zahl an Betriebssystemen implementiert wurde, bestehen die meisten Betriebssysteme unter anderem aus den in Abschnitt 10.2.1 aufgeführten System-komponenten. Da ein Betriebssystem ausserdem eine Umgebung zur Ausführung von Software-Programmen darstellt, muss es dazu entsprechende Dienste aufweisen (siehe Abschnitt 10.2.2). Des weiteren stellt ein Betriebssystem eine Schnittstelle zu Prozessen in Form von Systemaufrufen zur Verfügung (siehe Abschnitt 10.2.3). Weiterhin ist festzuhalten, dass die meisten Betriebssysteme durch einen auf Interrupts basierenden Mechanismus gesteuert werden.

10.2.1 Komponenten eines Betriebssystems

Zu den Komponenten der meisten Betriebssysteme zählen (nach [Sil,1994]):

  • das Management von Prozessen,
  • die Verwaltung des Hauptspeichers,
  • das Management von nicht-flüchtigem Speichern,
  • die Dateiverwaltung,
  • das Sicherheitssystem,
  • die Netzwerkfunktionen und
  • das System des Befehlsinterpreters.

10.2.2 Dienste eines Betriebssystems

Die Dienste eines Betriebssystems lassen sich in zwei Mengen aufteilen:

  • Die erste Menge unterstützt hauptsächlich einen Benutzer in der Rolle des Software-Programmierers. Sie enthält Dienste zur Programmausführung, Dateisystemmanipulation und Kommunikation, sowie für Eingabe-/Ausgabeoperationen und das Aufspüren von Fehlern.
  • Die zweite Menge dient nicht speziell einem Benutzer, sondern sichert die effiziente Ausführung des Betriebssystems im Mehrbenutzerbetrieb. Sie umfasst die Dienste für die Resourcen-Allokation, die Abrechnung bezüglich benutzter Resourcen und die Ausführung von Sicherheitsmaßnahmen.

10.2.3 Systemaufrufe eines Betriebssystems

Die Schnittstelle des Betriebssystems zu Prozessen besteht normalerweise aus den folgenden fünf Gruppen:

  • Prozesskontrolle
  • Dateimanipulation
  • Gerätemanipulation
  • Informationshandhabung
  • Kommunikation

10.3 Architekturen von Betriebssystemen

Betriebssystemarchitekturen können am einfachsten nach zwei Gesichtspunkten unterschieden werden:

  • Die einfache Architektur verbindet die in Kapitel 10.2 aufgelisteten Bestandteile eines Betriebssystems und verschmelzt diese zu einem Betriebssystemkern (kurz Kernel). Das Betriebssystem setzt direkt auf der Hardware eines Computer-Systems auf.
  • In der Schichtenarchitektur werden Schichten spezifiziert, die jeweils als Schnittstelle zwischen der Schicht unter und der Schicht über ihr dienen. In diesem Modell stellen die Hardware-Komponenten eines Computer-Systems die unterste Schicht dar. Auf dieser Hardware-Schicht liegt entweder eine Hardware-Abstraktionsschicht (kurz Nano-Kernel) gefolgt von einem darüber liegenden minimalen Kernel (kurz Micro-Kernel oder m -Kernel) oder aber direkt der m -Kernel. Erst über der m -Kernel-Schicht befinden sich diejenigen Schichten, die noch nicht erfasste Bestandteile eines Betriebssystems beinhalten. Anwendungsprogramme eines Benutzers repräsentieren in einer Schichtenarchitektur die oberste Schicht.

10.4 Virtuelle Maschine

Das Prinzip der virtuellen Maschine treibt das Prinzip der Schichtenarchitektur einen Schritt weiter. Durch den Einsatz des CPU-Schedulings und der Techniken des virtuellen Speichers kann eine virtuelle Maschine ein System simulieren, dass aus Sicht des Benutzers die Illusion von mehreren Prozessen erzeugt, denen eigene CPUs und Speicher zugeordnet sind. Ausserdem können durch den Einsatz einer virtuellen Maschine Anwendungen die für eine bestimmte Hardware eines Computer-Systems entwickelt wurden, auf anderen Computer-Systemen mit unterschiedlichen Hardware-Konfigurationen ausgeführt werden.

10.5 Bootstrapping

Das Bootstrapping-Programm ist ein "einfaches" Programm, dessen Aufgabe die Initialisierung eines Computer-Systems während eines Neustarts ist. Nach einem Kalt- oder Warmstart eines Computer-Systems initialisiert es die Inhalte der CPU-Register, die Gerätesteuerungen und den Inhalt des Arbeitsspeichers. Anschliessend muss das Bootstrapping-Programm das Betriebssystem laden und dessen Ausführung starten. Erst dann übernimmt das Betriebssystem die Kontrolle und wartet auf Interrupts seitens der Hardware.

Der vorgestellte Prototyp stellt ein Bootstrapping dar.

10.6 Negative Eigenschaften von Betriebssystemen

Allgemein betrachtet ist ein Betriebssystem eine komplexe Software. Diese ist schwer zu warten und zu verändern, so neigen Reparaturen zur Zerstörung der Software-Systemstruktur und zur Steigerung der Entropie in einem Software-System (nach [Vli, 1996]). Des weiteren ist Software-Evolution nicht vorhersehbar oder bestimmbar, da zukünftige hardware- und software-technologische Anforderungen unbekannt sind.

Viel schwer wiegender ist jedoch die Tatsache, dass Benutzeranfordrungen bei der Entwicklung von Betriebssystemen verallgemeinert werden. Hat ein Benutzer speziellere Aufgaben zu bewältigen als ein Betriebssystem zulässt, so muss er entweder das eingesetzte Betriebssystem erweitern oder aber sogar das Betriebssystem wechseln. Dadurch leidet der Benutzerkomfort eines Computer-Systems, das primäre Ziel eines Betriebssystems wird also nicht ganz erreicht.

Weiterhin wird zukünftig "Der Wert von Computer-Systemen [...] nicht danach bewertet werden, wie gut sie sich für den einen Zweck eignen, für den sie entworfen wurden, sondern wie gut sie sich für Anwendungen eignen, für die sie nie vorgesehen waren." (siehe [Kay, 1984]). Heutige Betriebssysteme besitzen überhaupt nicht diese geforderte Flexibilität, so dass auch eine Realisierung solcher Computer-Systeme zur Zeit nicht möglich ist.

10.7 Neue Anforderungen an Betriebssysteme aus der Sicht der Software-Technologie

Aufgrund der im vorherigen Kapitel beschriebenen negativen Eigenschaften von Betriebssystemen ergeben sich neue Anforderungen an ein Betriebssystem. Betrachtet man ein Betriebssystem wieder als komplexe Software, so sollen diese neuen Anforderungen aus der Sicht der Software-Technologie unter anderem durch die Beachtung von Software-Entwicklungsmuster realisiert werden (siehe [Vli, 1996]). Von besonderem Interesse sind vor allem die Software-Entwicklungsmuster Software-Tektoniken, Metamorphose und flexible Grundlagen. Den einzelnen und kurzen Beschreibungen dieser Muster folgt der Abschnitt Metaschichtenarchitektur und Reflektion, in dem einige der durch die Software-Entwicklungsmuster gegebenen Heuristiken aufgegriffen werden.

10.7.1 Software-Tektoniken

Das Software-Entwicklungsmuster Software-Tektoniken betont, dass auch Software-Systeme einer gewissen Evolution unterliegen. Es fordert dem entsprechend die Einnahme einer geeigneten Sicht auf Software seitens des Entwicklers. Das Software-Entwicklungsmuster ist durch folgende Stichwörter gegeben:

  • Evolution oder Tod
  • Evolution nicht Revolution
  • Software nicht konstruieren, sondern "heran wachsen" lassen
  • Zyklischer und inkrementeller Entwicklungsprozess

10.7.2 Metamorphose

Das Software-Entwicklungsmuster Metamorphose betont die Omnipräsenz der Forderung nach Flexibilität von Software und die Problematik, dass diese Forderung teilweise nur durch die Anwendung von dynamsichen Methoden gelöst werden kann. Die folgenden Stichwörter beschreiben das Software-Entwicklungsmuster:

  • Metainformation
  • Regeln ändern
  • Leistung ändern
  • Dynamisches Schema
  • Dynamische Sprachen
  • Entfernung von "Überflüssigem"
  • Spätes Binding

10.7.3 Flexible Grundlagen

Dieses Entwicklungsmuster gibt Auskunft über Konstruktionsmerkmale von Software-Systemen, die die Resistenz dieser Systeme gegenüber Veränderungen ermöglichen. Es soll ausserdem helfen, die Anforderung an eine kontinuierliche und inkrementelle Software-Evolution zu bewältigen, wie sie seitens des Entwicklungsmusters Software-Tektoniken gestellt wird. Die drei wichtigsten Stichwörter des Software-Entwicklungsmusters flexible Grundlagen sind:

  • Offene Architektur
  • Offene Implementierung
  • Koevolution eines Betriebssystems und seiner Grundlagen

10.7.4 Metaschichtenarchitektur und Reflektion

Insbesondere die Realisierung des Entwicklungsmusters Metamorphose bedarf einer Metaschichten-architektur die ein Software-System mit einem zugehörigem Metasystem in Beziehung setzt. In dieser Kombination hat das Metasystem die Aufgabe die Dynamik der "Metamorphose" des Systems zu kontrollieren und gegebenenfalls auch zu steuern. Ebenso ist die Forderung nach einer Koevolution eines Betriebssystems und seiner Grundlagen (siehe Muster flexible Grundlagen) nicht ohne den Einsatz einer Metaschichtenarchitektur realisierbar.

Im Zusammenhang mit den obigen Software-Entwicklungsmustern und dem Begriff Metaschichtenarchitektur wird oft der Begriff Reflektion verwendet. Ein Software-System besitzt reflektive Eigenschaften, wenn es folgende zwei Kriterien nicht verletzt (siehe [Mae, 1987]):

  • Ein Software-System mit reflektiven Eigenschaften hat zur Laufzeit Zugriff auf seine eigene Repräsentation und Methoden zur Manipulation seiner Repräsentation.
  • Diese Manipulationen seiner Repräsentation muss sofort in die weitere Ausführung des Software-Systems einfliessen.

Ein Software-System mit reflektiven Eigenschaften ist wünschenswert, da durch die Realisierung eines solchen Systems unter anderem viele durch die Software-Entwicklungsmuster geforderten Eigenschaften umgesetzt werden können.

11 Embryogenie eines Betriebssystems

Der folgende Vorschlag soll den Ansatz der vorgeschlagenen Diplomarbeit konkretisieren. In den weiteren Kapiteln werden diese Ergebnisse dem bereits angedeuteten biologischen Entwicklungsprozess folgend beschrieben. Zunächst werden drei Bootstrapping-Varianten des Entwicklungsprozesses vorgestellt (siehe Kapitel).

11.1 Anforderungsspezifikation des Prototypen

Selbstreplikation im Arbeitsspeicher

11.2 "Bootstrapping" eines Entwicklungsprozesses

Das "Bootstrapping" eines Entwicklungsprozesses eines Betriebssystems kann in verschiedenen Varianten erfolgen. Die folgenden Abschnitte beschreiben drei dieser Möglichkeiten. Die erste Variante startet nur mit der Hardware eines Computer-Systems, die "bestäubt" werden muss. Aus dem Prozess der "Bestäubung" wird der Entwicklungsprozess einer "virtuellen Zelle" gestartet. Ist eine "virtuelle Zelle" enstanden, geht die erste Variante in die zweite Variante über. In der zweiten Variante existiert bereits eine "virtuelle Zelle". Aus dieser Zelle soll dann ein Entwicklungsprozess ein Software-System nach biologischen Regeln und Prinzipien aufbauen. Die letzte Variante orientiert sich dagegen besonders an dem Vorgehen eines Virus, der sich in einem bereits existierenden Software-Systeme einnistet.

11.2.3 "Bestäubung" der Hardware

Diese Variante stellt den direktesten Weg des Ansatzes dar. Bei dieser Variante wird durch die im BIOS gespeicherte Bootsequenz der zugrundeliegenden Hardware die Ausführung einer einfachen Funktion gestartet. Die einfache Funktion initialisiert das System in einer bestimmten Weise in dem sie den Arbeitsspeicher beschreibt. Dieser Initialisierungsprozess durchläuft mehrere Stufen bis eine "kritische virtuelle Masse" entstanden ist. Die Bewertung dieser "kritischen virtuellen Masse" soll nach rein quantitativen Messungen erfolgen, zum Beispiel durch das Herunterzählen eines vorgegebenen Wertes. Die so entstandene "virtuelle Masse" stellt die erste "virtuelle Zelle" mit zugehöriger "virtueller DNA" dar. Der weitere Entwicklungsprozess dieser so entstandenen "virtuellen Zelle" wird in der nächsten Variante beschrieben.

Eine Klasse von Kandidaten für eine einfache Funktion die das System initialisiert sind zum Beispiel isodipole Texturen oder die Fibonacci-Sequenz mit geänderten Startwerten. Nach dem Beschreiben des Arbeitsspeichers besitzt der Inhalt bestimmte Eigenschaften, die einem ausführbaren Programm entsprechen.

11.2.4 "Virtuelle Zellteilung"

Im Gegensatz zu der ersten Variante liegt der Fokus auf einer bereits vorhandenen "virtuellen Zelle", die eine "virtuelle DNA" enthält. Die "virtueller DNA" repräsentiert eine Struktur, die zum Beispiel Informationen über zwei Baupläne enthält. Der eine Teil enthält Anweisungen für die "virtuelle Zellteilung" und der andere Teil die Atome eines logischen Modells für den m -Kernel eines Betriebssystems. Beide Bauplane sind ineinander verschränkt. Eine einfache Funktion sorgt für die Reproduktion der Zellen bis erneut eine "kritische virtuelle Masse" entstanden ist. Die einfache Funktion entschlüsselt dabei eigentlich nur die in der "virtuellen DNA" enthaltenen Informationen und baut dadurch neue Strukturen im Arbeitsspeicher auf.

Da in dieser Variante bereits die Atome eines ganzen Kalküls reproduziert werden, ist in dieser "kritischen virtuellen Masse" auch eine qualitativ bewertbare Funktionalität enthalten. Eine deshalb vorhandene Funktion könnte zum Beispiel ein zum paradoxischen Schlaf äquivalenter Algorithmus sein, der zur Reorgansiation der entstandenen Struktur dient. Ausserdem kann durch Reorganisationsphasen das System durch Reifikation an Funktionalität gewinnen. Zum Schluss seiner Entwicklung soll durch Metamorphose eine virtuelle logische Maschine entstehen, die konform zu den in der "virtuellen DNA" enthaltenen Atome eines logischen Modells ist. Die virtuelle logische Maschine setzt direkt auf der Hardware auf und soll bereits reflektive Eigenschaften besitzen.

Insbesondere Algorithmen aus dem Bereich des künstlichen Lebens können hier Anwendung finden. Der Wettbewerb Corewar gibt zum Beispiel Einblicke wie eine einfache Funktion aussehen könnte. Die Grösse eines simulierten Arbeitsspeichers ist vorgegeben und ringförmig indiziert. In diesem Bereich kämpfen zwei sogenannte Warriors gegeneinander. Ein Warrior ist ein Programm mit maximal 100 Befehlen und beschreibt einen Algorithmus, der dann im simulierten Arbeitsspeicher als Prozess ausgeführt wird. Die benutzbaren Befehle lehnen sich sowohl in Syntax als auch in Semantik an Assembler-Programmiersprachen an. Jeder Prozess ist abwechselnd an der Reihe einen Prozesschritt durchzuführen. Das Ziel des jeweiligen Prozesses ist den anderen Prozess zu zwingen einen bestimmten Stop-Befehl auszuführen. Dabei wird unter anderem von den Warriors die Möglichkeit ausgenutzt, den Inhalt des Arbeitsspeichers zu überschreiben. Hierdurch können bestimmte Stop-Befehle "dem Gegner als Minen in den Weg gelegt" oder "als Bomben geworfen" werden.

11.2.5 Prinzip eines Virus

Diese Variante erfordert ein bereits aktives Computer-System als Umgebung in der die Entwicklung einer "virtuellen Zelle" bis zu seiner Metamorphose zur virtuellen logischen Maschine geschützt wird. Dieses Vorgehen erlaubt die Benutzung bereits vorhandener Resourcen, also auch bereits vorhandener Betriebssystemdienste. Die Variante wird durch folgende mathematische Aussage gestützt: Wenn ein berechenbares reflektives System möglich ist, sichert die Theorie der Berechenbarkeit, dass das System von einem turing-äquivalenten System "bootstrapped" werden kann. Dazu ist ein geeigneter Evaluator nötig (siehe [Ban, 1999]). Das eigentliche Problem verschiebt sich somit auf die Beantwortung der Frage, wie ein logisches Modell eines Evaluators zu gestalten ist.

11.3 Voraussetzungen

Computersystem mit Intel-Prozessor startet in Real-Modus, das heisst 16 Bit breiter Addressbus, maximal 1 Megabyte Arbeitsspeicher addressierbar. Das BIOS lädt den Bootsektor an Adresse 0x7c00 und startet den im Bootsektor enthaltenen Maschinen-Code.

11.4

Die von einer Turing-Maschine geschriebenen Bitstrings können wiederum Programme für eine Turing-Maschine darstellen. Die Bitstrings die geschrieben werden sind als natürliche Zahlen interpretiert. Das Programm ist die Ausführung der Fibonacci-Sequenz im Arbeitsspeicher, wobei die Startwerte vorher durch Anwendung der Wythoff-Tabelle, der Zeckendorf-Expansion und der Goldenen Zahl ermittelt wurden.

11.5 "Virtuelle DNA"

Die "virtuelle DNA" enthalt mehrere Bereiche. Ein Bereich ist für die iterative Ausführung der Fibonacci-Sequenz zuständig. Ein weiterer Bereich enthält ein Unterprogramm das beliebig lange Zahlen im Arbeitsspeicher addiert. Ausserdem ist ein bestimmter Bereich mit Angaben über a(0) und a(1) belegt.

11.6 Ontogenie

Das BIOS lädt den Bootsektor und startet die Ausführung der Berechnung der entsprechenden Fibonacci-Zahl. Die Fibonacci-Zahl ist ein Programm, dass an die Addresse 0x7c00 geschrieben wird und an das anschliessend die Kontrolle übergeben wird. Das Programm ist ein Realzeitbetriebssystem mit einer Bibliotheken für die Programmiersprache C.

12 Ausblick

12.1 Hans Moravec

Hans Moravec used "genetic takeover" as the theme in his presentation at the first "Artificial Life" conference, in 1987 - drawing attention to the similarity between historical genetic takeovers and the one likely to be precipitated by human cultural evolution.

In his 1988 book "Mind Children", pages 3 and 4 are devoted to Cairns-Smith's theories - and their connection with the possibility of a modern genetic takeover:

Today, billions of years later, another change is under way in how information passes from generation to generation. Humans evolved from organisms defined almost totally by their organic genes. We now rely additionally on a vast and rapidly growing corpus of cultural information generated and stored outside our genes - in our nervous systems, libraries, and, most recently, computers. Our culture still depends utterly on biological human beings, but with each passing year our machines, a major product of the culture, assume a greater role in its maintenance and continued growth. Sooner or later our machines will become knowledgeable enough to handle their own maintenance, reproduction and self-improvement without help. When this happens the new genetic takeover will be complete. [...]

12.2 Silicon Bugs

They're half bacterium, half microchip. A LIVING semiconductor that could sniff out poison gas in a bio-terrorist attack has been accidentally discovered by researchers in the US and Northern Ireland. The discovery followed the scientists' failure to eliminate some particularly persistant bacteria from computer chip production lines. The researchers had tried everything to destroy the microbes, from ultraviolet light to powerful oxidants. But the bacteria survived every attempt. "The micro-organisms were protecting themselves against our heroic measures to kill them," says biophysicist Robert Baier, director of the Center for Biosurfaces at the State University of New York in Buffalo. When microchips are cleaned with ultra-pure water, the water can dissolve some semiconducting materials, such as germanium oxide, which can then crystallise around the bacteria. The bacteria survive extremely well inside their crystal homes, impervious to the best human efforts to eradicate them. But the problem has a silver lining. The microbes have created a "living cell" out of semiconducting material. "This is where the imagination runs wild," says physicist John O'Hanlon, project leader and director of the Center for Microcontamination Control at the University of Arizona in Tucson. O'Hanlon and Baier believe the semiconductor-encrusted bacteria can be used for building bio-transistors. In a normal three-terminal transistor, the current flow between the source and the drain is controlled by the voltage across the gate terminal. In the bio-transistor, the gate would be replaced by the bacteria-semiconductor crystal. The idea is to tap into biological processes, such as respiration and photosynthesis, which result in electron transfers, says Baier. The bacteria could be induced to produce electrons when exposed to light or organic vapours--which would turn on the bio-transistor. Such an exquisitely sensitive device could detect poison gas during bio-terrorist attacks, says Baier. Michael Larkin, a microbiologist at the Queen's University of Belfast, has been identifying the bacteria. He declines to name them, as the results of the research have yet to be published. However, he says that the bacteria are extremophiles, "capable of growing in areas with very low nutrients, fixing nitrogen and surviving in clean water". Meanwhile, Baier's group is making the crystals in the lab by trickling bacteria-infested ultra-pure water over semiconductor wafers. Bio-crystals form on the surface of the wafers and can be scraped off. "It looks like diamond dust. It's absolutely beautiful," says Baier. The next step is to get the crystals to behave like a transistor, says Baier. Sandip Tiwari, director of the Cornell Nanofabrication Facility at Cornell University in Ithaca, New York, says that while the device should work there's still a lot of development needed.

Anil Ananthaswamy From New Scientist magazine, 12 August 2000.

13 Zusammenfassung

Dieses Kapitel konzentriert sich im ersten Teil mit der Beschreibung einer Analogie zwischen der Entwicklung eines Gehirns und der Entwicklung eines Betriebssystems, sowie deren Funktionsweisen. Bei dieser Beschreibung der Analogie wird auf die in den vorherigen Kapiteln beschriebenen Beobachtungen und Ergebnissen aufgebaut.

Die oben angedeutete Analogie lässt zunächst viele Fragen unbeantwortet. Einige dieser Fragen sollten im Rahmen der vorgeschlagenen Diplomarbeit beachtet werden und sind deshalb nachfolgend aufgeführt:

Wie soll das "Bootstrapping" des Wachstums einer "virtuellen Zelle" funktionieren und welche Struktur muss dabei entstehen ?

Wie ist der konkrete Entwicklungsprozess eines solchen Software-Systems zu gestalten ?

Wie sieht die Ontogenie des Software-Systems aus ?

Literaturverzeichnis

[And, 1999]

Anderson, Carl M.: Spontaneous Fractal Behavior from Ion Channels to the Internet: A Bridge from Molecules to Minds. Harvard Medical School, Consolidated Department of Psychiatry, Online-Publikation remfractal.mclean.org:8080./intro.html, 1999

[Ban, 1999]

Ban, Dang V.; Rideau, Francois R.: Reflection, Non-Determinism and the l -Calculus. France Telecom, Online-Publikation www.tunes.org/~fare, 1999

[Dam,1998]

Damon, William; Lerner, Richard M.: Handbook of child psychology, Volume 1: Theoretical Models of Human Development. Wiley, 1998

[Dre,1986]

Drescher, Gary L.: Genetic AI: Translating Piaget into LISP. Massachusetts Institute of Technology, Artificial Intelligence Laboratory, Online-Publikation AIM-890, 1986

[Gin, 1998]

Ginsburg, Herbert P.; Opper, Sylvia: Piaget‘s Theorie der geistigen Entwicklung.
Klett-Cotta, 1998

[Joh,1983]

Johnson-Laird, Philip: Mental minds. Cambridge University Press, 1983

[Kay,1984]

Kay, Alan: Computer Software. In: Scientific America (1984), Volume 251, Seite 41-47

[Mae,1987]

Maes, Pattie: Computational Reflection. Vrije Universiteit Brussel, Artificial Intelligence Laboratory, Technical Report 87-2, 1987

[Min,1988]

Minsky, Marvin: The Society of Mind. Simon & Schuster, 1988

[Mir, 1986]

Mirmiran, M.: The importance of fetal/neonatal REM sleep. In: European Journal of Obstetrics Gynecology and Reproductive Biology (1986), Band 21: Seite 281-291

[Pia, 1965]

Piaget, Jean: Logic and psychology. Manchester University Press, 1965

[Pia, 1972]

Piaget, Jean: Urteil und Denkprozeß des Kindes. Pädagogischer Verlag Schwann, 1972

[Pia, 1983]

Piaget, Jean: Biologie und Erkenntnis. Fischer-Taschenbuch, 1983

[Sil,1994]

Silberschatz, Galvin: Operating System Concepts. Addison-Wesley,1994

[Vli, 1996]

Vlissides, John M.; Coplien, James O.; Kerth, Norman L.: Pattern Languages of Program Design 2. Addison-Wesley, 1996

[Chevallier]

Chevallier: Quelle zur Zeit noch unvollständig

[Damaso]

Damaso, Antonio: Quelle zur Zeit noch unvollständig

 

Gilbert, S.: Developmental Biology. Sauer Associates, 1994

 

Kauffman, S.A.: Gene regulation networks: A theorie for their global structure and behavior. Current topics in developmental biology 6 (1971), Seite 145 ff.

 

Kauffman, S.A.: The large-scale structure and dynamics of gene control circuits: An ensemble approach. Journal of theoretical Biology 44 (1974), Seite 167 ff.

 

Maynard Smith, J.: Shapping - Life Genes, Embryos and Evolution. Weidenfeld und Nicolson, 1998

 

Reil, T.: Dynamics of Gene Expression in an Artificial Genome - Implications for Biological and Artificial Ontogeny. 5. Europäische Konferenz Artificial Life, Springer, 1999

 

von Neumann, J.: Theory of Self-Reproducing Automata. A.W. Burks (ed.), University of Illinois Press, 1966

The Julesz conjecture

 

Julesz, B.: Visual pattern discrimination. IRE Trans. Inf. Theory IT-8, pp. 84-92, 1962

 

Julesz, B.; Gilbert, E.N.; Shepp, L.A.; Frisch, H.L.: Inability of humans to discriminate between visual textures that agree in second-order statistics -- revisited. Perception 2, pp. 391-405, 1973

Original counterexamples to the Julesz conjecture

 

Caelli, T.; Julesz, B.: On perceptual analyzers underlying visual texture discrimination. Part I. Biological Cybernetics 28, pp. 167-175, 1978

 

Caelli, T.; Julesz, B.; Gilbert E.N.: On perceptual analyzers underlying visual texture discrimination. Part II. Biological Cybernetics 29, pp. 201-214, 1978

 

Julesz, B.; Gilbert, E.N.; and Victor, J.D.: Discriminable textures with identical Buffon needle statistics. Biological Cybernetics 31, pp. 231-234, 1978

Theory of planar Markov processes

 

Gilbert, E.N.: Random colorings of a lattice on squares in the plane. SIAM J. Alg. Disc. Meth. 1, pp. 152-159, 1980

[Kolmogorov complexity and Algorithmic Information Theory]

 

Kolmogorov, A.N.; Uspensky, V.A.: Algorithms and randomness. SIAM J. Theory of Probability and Its Applications, vol. 32, pp. 389-412, 1987

 

Uspensky, V.A.: Complexity and entropy: An introduction to the theory of Kolmogorov complexity. O. Watanabe (Ed.), Kolmogorov Complexity and Computational Complexity. Springer, pp. 85-102, 1992

 

Uspensky, V.A.; Semenov, A.: Algorithms: Main Ideas and Applications. Kluwer, 1993

 

Chaitin, G.J.: Algorithmic Information Theory. Cambridge University Press, 1987

 

Li, M.; Vitanyi, P.: An Introduction to Kolmogorov Complexity and Its Applications Second Edition. Springer, 1997

Interpersionen

 

Kimberling, C.: Interspersions and dispersions. Proc. Amer. Math. Soc. 117, 1993

   
 
© and/or ® 2006-2012
Christian Stroetmann GmbH
Disclaimer