Selvreproduktion er en levende organismes evne , dens organ , væv , celle eller cellulære organoid eller inklusion til at danne sin egen art. [1] Mere bredt, enhver adfærd i et dynamisk system , der giver en identisk kopi af det dynamiske system. Selvreproduktion i levende organismer sker gennem reproduktion .
Under celledeling replikeres DNA og kan videregives til afkom under reproduktion. Biologiske vira kan reproduceres, men kun ved at manipulere cellernes reproduktionsmaskineri under infektion. Computervirus replikerer også ved hjælp af hardware og software, der allerede er installeret på computere . Selvreplikation i robotteknologi er et område med forskning og interesse for science fiction. Enhver selvreplikerende mekanisme, der ikke laver en perfekt kopi, vil resultere i, at forskellige varianter bliver skabt og dermed underlagt naturlig udvælgelse . Nylige undersøgelser har klassificeret replikatorer efter mængden af støtte, de har brug for:
- Selvsamlende systemer ( von Neumann maskiner ). De samler deres kopier af færdige dele. Sådanne systemer findes allerede (fabrikker, hvor industrirobotter samler andre sådanne robotter).
- Selvreproducerende systemer, der fremstiller kopier af sig selv fra industrielle råmaterialer og materialer - metaller, plast, halvledere mv.
- "Autotrofiske" replikatorer er selvreplikerende maskiner , der kan reproducere ved at udvinde materialer fra deres naturlige miljø. Denne type replikator kan nu være fuldstændig uafhængig af mennesket. Uorganiske autotrofe replikatorer kan udvikles af mennesker i den nærmeste fremtid og kan let omprogrammeres til at producere menneskevenlige produkter.
- Naturlige replikatorer. Disse systemer omfatter alle naturlige livsformer.
Inden for datalogi er et selvreplikerende computerprogram et computerprogram, der, når det udføres, gengiver sin egen kode. Det kaldes også Quine . Her er et eksempel på et program i programmeringssproget Python :
a = 'a= %s ;udskriv et %% `a`' ; udskriv en % ` a `En mere triviel tilgang er at skrive et program, der vil lave en kopi af enhver datastrøm, der sendes til det, og derefter dirigere det til sig selv. I dette tilfælde behandles programmet som eksekverbar kode og som data, der skal manipuleres.
Denne tilgang er almindelig i de fleste selvreplikerende systemer, inklusive de biologiske aspekter af livet, og er enklere i den forstand, at det ikke kræver, at programmet indeholder en fuldstændig beskrivelse af sig selv.
I mange programmeringssprog er et tomt program stadig et lovligt program, der kører uden fejl eller andet output. Så outputtet er det samme som kildekoden, så programmet udfører triviel selvreplikering.