Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Self-Replicating Distributed Virtual Machines Lance R. Williams Dept. of Computer Science University of New Mexico Church-Turing Thesis All models of effective computation are equivalently powerful. However, certain models offer advantages with respect to particular modes of physical implementation. The von Neumann machine is well-suited to implementation using electronic components. Signaling Networks The von Neumann machine is less useful as a model for computations implemented using signaling networks of neurons, molecules, nanomachines, or bacteria. The ACTOR model (Hewitt ‘73) is potentially better suited to this mode of implementation. ACTOR Model A model of concurrent computation An actor is a process. Actors execute asynchronously and in parallel. An actor can send/receive messages to/from other actors. An actor can create new actors. Distributed Virtual Machines Compile programs written in a simple and expressive programming language into a network of actors Actors represent virtual machine bytecodes and basic datatypes. The network of actors constitutes the code, stack, and heap of a distributed virtual machine. Example put (define sqr (lambda (x) (* x x))) COMPILATION refer argument pair refer get pair get put pair put close closure assign halt argument symbol def symbol pair ref refer get get pair apply get number pair apply primitive put number number get The Cell It is a popular misconception that DNA is a self-replicating molecule. DNA is a molecular representation. DNA can be used to represent a description of a self-replicating machine called the cell. The cell translates the DNA into a copy of the cell and a copy of the DNA. Quines A quine is a program which prints its own source code. A quine consists of program and data. The program uses the data to construct copies of the program and the data. Self-Replicating Distributed Virtual Machines A compiler can be implemented as a distributed virtual machine. The distributed virtual machine can copy itself by compiling its own source code. A distributed virtual machine which copies itself and then copies its own source code is (in effect) a non-biological cell. Bacterial Implementation bacterium molecular key bytecode n+1 bytecode n continuation (plasmid) molecular lock bacterium Conclusion ACTOR model is better suited to describing signaling network embodied computations than the von Neumann machine. A compiler implemented as a distributed virtual machine can copy itself simply by compiling its own source code. A self-replicating distributed virtual machine embodied using bacteria would be a meta-cell.