DarwinBotsManual
Abrir la app EnglishEN

.mrepro

Como .repro, pero el hijo nace con una probabilidad de mutar mucho mayor: reproducción para explorar.

Datos

Dirección
301
Nombre
.mrepro
Tipo
Comando: el bot la escribe y el motor la lee y, en general, la consume
Grupo
Reproducción
Quién la escribe
Tu ADN.
Quién la lee
El motor, igual que .repro; además el hijo muta al nacer con probabilidades diez veces más altas que las normales.
Cuándo se borra
El motor, solo cuando nace el hijo. Si el parto falla, sigue escrita.
Rango
−32000 a 32000; se usa el resto de dividir por 100.
Mutaciones
la eligen como destino de un store

Funciona igual que .repro: el número es el porcentaje que se lleva el hijo, se toma módulo 100, la orden queda escrita hasta que el parto sale bien y se cancela escribiendo 0. La diferencia está en el hijo: con la configuración habitual, sus probabilidades de mutar al nacer son diez veces más altas que las normales, y muta aunque su propia tabla de mutaciones esté apagada, algo que solo pasa en los bots de una simulación guardada que la trae así. Si las mutaciones están apagadas para toda la simulación, no muta igual. Las mutaciones se explican en Mutaciones.

Para qué sirve: un bot que se reproduce casi siempre con .repro y de vez en cuando con .mrepro mantiene un linaje estable con algunos hijos que prueban cosas nuevas.

' Uno de cada diez partos es exploratorio
cond
 *.nrg 6000 >
 *.timer 10 mod 0 =
start
 50 .mrepro store
stop
cond
 *.nrg 6000 >
 *.timer 10 mod 0 !=
start
 50 .repro store
stop

Si .repro y .mrepro están escritas a la vez, una moneda decide qué porcentaje se usa, y el hijo muta de más igual, porque basta con que .mrepro tenga algo. Ojo en el ejemplo: como las dos órdenes persisten hasta el parto, un pedido que falla en un ciclo puede quedar escrito junto con el del otro gen.