Az önszaporodás egy élő szervezetnek , annak szervének , szövetének , sejtjének vagy sejtorganoidjának vagy zárványának azon képessége, hogy saját fajtáját képezze. [1] Tágabb értelemben egy dinamikus rendszer bármely olyan viselkedése, amely a dinamikus rendszer azonos másolatát eredményezi. Az élő szervezetekben az önszaporodás szaporodás útján történik .
A sejtosztódás során a DNS replikálódik, és a szaporodás során továbbadható az utódoknak. A biológiai vírusok reprodukálhatók, de csak a sejtek szaporodási gépezetének manipulálásával a fertőzés során. A számítógépes vírusok a számítógépekre már telepített hardver és szoftver segítségével is replikálódnak . Az önreplikáció a robotikában a sci-fi kutatási és érdeklődési területe. Bármely önreplikáló mechanizmus, amely nem készít tökéletes másolatot, különböző változatokat eredményez, és így ki van téve a természetes kiválasztódásnak . A legújabb tanulmányok a replikátorokat aszerint osztályozták, hogy mekkora támogatást igényelnek:
- Önszerelő rendszerek ( Neumann gépek ). Kész alkatrészekből állítják össze másolataikat. Már léteznek ilyen rendszerek (gyárak, ahol ipari robotok szerelnek össze más ilyen robotokat).
- Önreprodukáló rendszerek, amelyek másolatokat készítenek magukról ipari nyersanyagokból és anyagokból - fémek, műanyagok, félvezetők stb.
- Az "autotróf" replikátorok olyan önsokszorozó gépek , amelyek természetes környezetükből anyagok kinyerésével képesek reprodukálni. Az ilyen típusú replikátor ma már teljesen független lehet az embertől. Szervetlen autotróf replikátorokat az emberek a közeljövőben kifejleszthetnek, és könnyen átprogramozhatók emberbarát termékek előállítására.
- Természetes replikátorok. Ezek a rendszerek magukban foglalják az összes természetes életformát.
Az informatikában az önreplikáló számítógépes program olyan számítógépes program , amely végrehajtásakor a saját kódját reprodukálja. Quine -nek is hívják . Íme egy példaprogram a Python programozási nyelven :
a = 'a= %s ;nyomtasson egy %% 'a'' ; nyomtat a % ` a `Egy triviálisabb megközelítés az, ha olyan programot írunk, amely másolatot készít a neki küldött adatfolyamokról, majd magához irányítja. Ebben az esetben a program futtatható kódként és manipulálandó adatként kezeli.
Ez a megközelítés a legtöbb önreplikálódó rendszerben általános, beleértve az élet biológiai vonatkozásait is, és egyszerűbb abban az értelemben, hogy nem követeli meg, hogy a program tartalmazzon teljes leírást önmagáról.
Sok programozási nyelvben az üres program még mindig legális program, amely hiba és egyéb kimenet nélkül fut. Tehát a kimenet megegyezik a forráskóddal, tehát a program triviális önreplikációt végez.