Teachers Paradise School Supplies Teacher Resources Free Encyclopedia
Teachers Paradise FREE Teaching Resources
Home Arts Crafts Audio Visual Equipment Office Supplies Teacher Resources
Main Page | Edit this page

Self-replication

Self-replication is the process by which some things make copies of themselves. Biological cells, given suitable environments, reproduce by cell division. Biological viruses can reproduce, but only by commandeering the reproductive machinery of cells through a process of infection. Computer viruses reproduce using the hardware and software already present on computers. Memes reproduce using the human mind as their reproductive machinery.

It is a long-term goal of some engineering sciences to achieve self-replication in a material device. Nanotechnologists in particular believe that their work will likely fail to reach a state of maturity until human beings design a self-replicative assembler of nanometer dimensions. Merely exploiting the replicative abilities of existing cells is insufficient, because of limitations in the process of protein biosynthesis (also see the listing for RNA). What is required is the rational design of an entirely novel replicator with a much wider range of synthesis capabilities. For a discussion of other chemical basis for hypothetical self-replicating systems, see carbon chauvinism.

A fully novel replicator is, however, a fairly long-term goal. Given the currently keen interest in biotechnology and the high levels of funding in that field, attempts to exploit the replicative ability of existing cells are timely, and may easily lead to significant insights and advances. It may also be practical to attempt to build a self-replicating machine of a more conventional size, elsewhere called a clanking replicator.

Example of a self-replicating computer program

In computer science a self-replicating computer program is a computer program, that, when executed, outputs its own code. Here is an example program in the Python programming language:

import string
def eniuq(s):
    print s + "\\neniuq (\\"" +  string.replace(string.replace(string.replace(s,"\\\\","\\\\\\\\"),"\\"","\\\\\\""),"\\n","\\\\n") + "\\")"
eniuq ("import string\\ndef eniuq(s):\\n    print s + \\"\\\\neniuq (\\\\\\"\\" +  string.replace(string.replace(string.replace(s,\\"\\\\\\\\\\",\\"\\\\\\\\\\\\\\\\\\"),\\"\\\\\\"\\",\\"\\\\\\\\\\\\\\"\\"),\\"\\\\n\\",\\"\\\\\\\\n\\") + \\"\\\\\\")\\"")

References

See also: virus, complex systems, artificial life (ALife)



Pay for Educational Supplies & Teaching Supplies with Visa, Master Card, American Express, Discover or Paypal.
TeachersParadise.com HOME | Safe Shopping Guarantee | Help Desk
All trademarks & brands are the property of their respective owners.
Legal Notice 2000-2008 TeachersParadise.com, Inc. All Rights Reserved