Categoría: Web apps

Hongos y orquídeas

Un relato en dos actos

Hace 40 años, con una computadora TI99/4a, intenté una simulación de vida en un pequeño cuadriculado: hongos y orquídeas, con reglas muy sencillas, reproducían una “estrategia evolutivamente estable”, según el concepto de quienes estudian el comportamiento de los animales. Cuarenta años después, me lancé a comprobar si era cierto.

Reproduzco íntegro el artículo que escribí por aquel entonces, y luego una puesta al día con lo que encontré ahora.

Acto 1: 1986

(Artículo publicado en la revista Cacumen N° 44, septiembre de 1986).

Orquídeas de fantasía y hongos imaginarios luchaban por el territorio. El observador humano había montado la experiencia como un juego, pero los participantes apostaban allí su supervivencia. Y mientras tanto, inesperadamente, confirmaban importantes ideas de la etología, la ciencia del comportamiento animal.

La historia empezó con un encuentro feliz en un ambiente propicio. Quienes se encontraron fueron la sección “Juegos de ordenador”, de A. K. Dewdney, correspondiente a Investigación y Ciencia N° 101 (febrero de 1985), y el libro El gen egoísta, de Richard Dawkins. El ambiente propicio, mi pasión simultanea y poligámica por los temas de ambos textos.

En su articulo, “Tiburones y peces libran una guerra ecológica en el planeta Acua-Tor”, Dewdney describia la simulación por ordenador de un mar habitado por dos hipotéticas especies animales. A partir de una distribución inicial aleatoria y según ciertas reglas, “los tiburones de Acua-Tor se nutren de los peces, que depredan, y de los que parece haber siempre abundante provisión”. La intención, claro esta, era recreativa. Nadie pretendía que esos peces y esos tiburones actuaran como los reales, ni que su observación produjera algún principio importante para la biología.

Por el contrario, Dawkins construía su libro con ideas sobre la evolución de la vida aplicables al mundo real, y se valía de modelos sencillos (con mas de un elemento en común con los de Dewdney) para demostrarlas. Sin embargo, la tesis central de Dawkins (“somos máquinas de supervivencia, vehículos autómatas programados a ciegas con el fin de preservar las egoístas moléculas conocidas con el nombre de genes”), con lo provocativa y convincente que resulta, no fue lo que desencadenó los hechos.

Estos fueron irreprimibles a partir de la descripción, en la obra de Dawkins, de un concepto que manejan quienes estudian el comportamiento de los animales: el de “estrategia evolutivamente estable”. Decía Dawkins: “Una estrategia evolutivamente estable o EEE es definida como una estrategia que, si la mayoría de la población la adopta, no puede ser mejorada por una estrategia alternativa. (…) Otra manera de expresarlo sería decir que la mejor estrategia a seguir por un individuo depende de lo que la mayoría de la población esté haciendo. (…) Una vez que se logra una EEE, esta permanecerá; la selección penalizará cualquier desviación respecto de ella”. El concepto, propuesto originalmente por J. Maynard Smith, es difícil de asimilar en un primer momento; luego profundizaremos en él lo necesario para comprender su importancia decisiva en el comportamiento animal. De inmediato se me ocurrió la posibilidad de combinar ambos elementos. En otras palabras, de encontrar estrategias evolutivamente estables en los peces y tiburones de Dewdney. Si el intento fracasó no fue por culpa de los tiburones, sino de la escasa capacidad de mi computadora, que no alcanzaba para las complicaciones del programa requerido. Pero no me rendí; al contrario, me dediqué a simplificar las ideas de Dewdney para que “entraran” en mi máquina, y así surgieron las “orquídeas” y los “hongos”. Como veremos, mayor simplicidad no significó menor interés.

Orquídeas vs. hongos

La figura 1 muestra una situación típica en el bosque de orquídeas y hongos de mi computadora. El “bosque” es un cuadriculado de 12 x 12, con un total de 144 casillas. Las orquídeas están representadas por pacíficos ceros, y los hongos por agresivos asteriscos. Cada individuo, de cualquiera de las dos especies, ocupa una casilla; no pueden reunirse dos o más individuos en una misma casilla. Como se ve, hay mas orquídeas que hongos, pero eso no es algo que yo me haya propuesto; es lo que las orquídeas y los hongos tienden a hacer cuando se los deja solos.

Para simular la vida de estas extrañas especies, hacemos que el tiempo transcurra a saltos (que a propuesta de Dewdney podemos llamar “cronones”). Durante cada cronón inspeccionamos el contenido de todas las casillas, determinando dónde hay orquídeas y hongos. Cada orquídea y cada hongo lanzan una semilla a una casilla vecina en horizontal o vertical (no en diagonal), elegida al azar. (Que los hongos reales no se reproduzcan por semillas sino por esporas no debe interesarnos aquí.) Lo que ocurra con la semilla y con el individuo que la produjo depende de la especie a la que ambos pertenezcan, y también del contenido de la casilla vecina elegida:

– Si la semilla es de orquídea y la casilla vecina está vacía, en esa casilla aparece una nueva orquídea. Si la casilla vecina está ocupada, la semilla se pierde y todo queda igual que antes.

– Si la semilla es un hongo y en la casilla vecina hay una orquídea, la semilla parasita a la orquídea, y de inmediato aparece allí un nuevo hongo; de la orquídea no quedan rastros. Si la casilla vecina está vacía u ocupada por un hongo, la semilla se pierde; además, y esto es importante, también muere el hongo que produjo la semilla, quedando en su lugar una casilla vacía.

En otras palabras, las orquídeas se reproducen ocupando con su descendencia casillas vecinas vacías. En cambio, los hongos se reproducen ocupando casillas vecinas pobladas por orquídeas. Mientras que a las orquídeas no les sucede nada si no consiguen reproducirse, los hongos mueren si sus semillas no caen en casillas habitadas por orquídeas.

El contenido de una casilla no se puede modificar dos veces durante un mismo cronón. Cuando dicho contenido se modifica una vez, la casilla en cuestión queda “congelada” hasta el cronón siguiente (es decir, hasta la siguiente ronda de inspecciones); si una semilla de cualquier especie vuelve a caer allí, la semilla se pierde, sin otras consecuencias para la orquídea o el hongo que la haya producido. De esta manera aseguramos que la “velocidad de cambio” sea la misma en todo el bosque.

El cuadriculado que hace las veces de bosque se supone curvado de tal manera que la hilera superior de casillas sea vecina a la hilera inferior, y la columna de la izquierda vecina a la columna de la derecha. (Si efectivamente hiciéramos tal plegado nos quedaría en forma de anillo, lo que los matemáticos llaman un toro).

Al comenzar un experimento, antes de que los cronones empiecen a transcurrir, el bosque está completamente cubierto de orquídeas. Es nuestra tarea decidir cuántos hongos queremos. Elegido un número, los hongos se distribuyen al azar, reemplazando a una orquídea cada uno. Luego agregamos el ultimo toque: la vida.

¿Qué clase de resultados podemos esperar? ¿Evolucionará la población de nuestro bosque de manera aleatoria, sin patrones o limitaciones más o menos reconocibles? O, en caso contrario, ¿qué tipo de limitaciones encontraremos?

Después de un tiempo de experimentar, puedo anticipar una respuesta: hay una estrategia evolutivamente estable respecto al número de individuos de cada especie, que la población adopta casi de inmediato y difícilmente abandona. Para ver en qué consiste esa estrategia, y el porqué de su surgimiento casi inevitable, debemos tornar menos abstracta la definición de EEE. Volvamos entonces al libro de Dawkins, cosa que ya valdría la pena aunque solo fuera para disfrutar con la elegancia del razonamiento.

Halcones vs. palomas

Como si no bastara con la proliferación de formas de vida exótica que hemos tenido hasta aquí, incorporaremos otras dos. Son el punto de partida de un ejemplo muy ilustrativo de estrategia evolutivamente estable, creado por Maynard Smith (quien, recordemos, propuso originalmente la idea de EEE) y recogido por Dawkins en su libro.

La población de una especie animal hipotética cuenta con dos estrategias de lucha: la de los “halcones” y la de las “palomas”. Como ya ocurrió con peces, tiburones, orquídeas y hongos, se trata de nombres convencionales que ayudan a ver la situación; la diferencia consiste en que esta vez no son propuestos en plan de entretener, sino como parte de una seria discusión científica. Dice Dawkins: “Todo individuo de nuestra población hipotética está clasificado ya sea como halcón o como paloma. Los halcones lucharan siempre tan dura y desenfrenadamente como les sea posible, replegándose solo cuando se encuentren gravemente heridos. Las palomas se limitarán a amenazar de una forma digna y convencional, sin dañar jamás a nadie. Si un halcón ataca a una paloma, esta se alejará rápidamente y así no resultará dañada. Si un halcón ataca a otro halcón, continuará la lucha hasta que uno de ellos resulte muerto o gravemente herido. Si una paloma se enfrenta a otra paloma nadie saldrá lesionado; se limitarán a asumir una postura, una frente a la otra, durante un largo tiempo hasta que una de ellas se canse o decida no molestarse más y, por lo tanto, ceda. Por el momento, asumiremos que no hay forma de que un individuo pueda saber, por adelantado, si un rival determinado es un halcón o una paloma. Solo lo descubre al iniciarse la lucha, y no guarda memoria de pasadas luchas con otros individuos por las cuales guiarse”.

Para medir el resultado de cada lucha, Dawkins asigna puntuaciones:

– Ganar una lucha vale +50 puntos.

– Quedar gravemente herido vale -100 puntos.

– Perder el tiempo en una larga disputa vale -10 puntos.

Estas puntuaciones tienen significado en términos de supervivencia y propagación del comportamiento involucrado. Evidentemente, un animal estará en mejores condiciones de sobrevivir y de reproducirse cuanto más elevada sea su puntuación, es decir, cuanto mejor sea su resultado promedio en las luchas que entable. Los valores son arbitrarios; simplemente ayudan a hacer las cuentas con más facilidad que si empleáramos variables a las que se pudiera asignar cualquier valor. Lo único que importa (aunque Dawkins se haya ahorrado el trabajo de aclararlo) es que “quedar herido” signifique mayor penalización que “perder el tiempo”; que los puntos restados por “perder el tiempo” no reduzcan a cero los obtenidos por “ganar una lucha”; y que “ganar una lucha” no baste para compensar el “quedar herido”.

Sigue Dawkins: “Lo que nos interesa saber es si los halcones o las palomas constituyen una estrategia evolutivamente estable. Si una de ellas es una EEE y la otra no lo es, hemos de esperar que la que es una EEE evolucionará. (…) Sin embargo, como ahora veremos, ninguna de estas dos estrategias, halcón o paloma, podría ser evolutivamente estable por sí sola y, por lo tanto, no deberíamos esperar que ninguna de ellas evolucionara”.

Si la población está enteramente compuesta por palomas, nadie sale herido. El ganador de una lucha obtiene +50 puntos, y -10 por perder el tiempo, de manera que su resultado neto es de +40. El perdedor obtiene -10 por perder el tiempo, y ese es su resultado neto. Si cada paloma gana en su vida tantas luchas como las que pierde, su resultado promedio es el promedio de +40 y -10; es decir que, a la larga, en una población de palomas, cada paloma obtiene +15 puntos por cada lucha.

Dawkins: “Pero supongamos ahora que en la población surge un halcón mutante. Ya que él es el único halcón que se encuentra por los alrededores, todas sus luchas serán contra una paloma. Los halcones siempre vencen a las palomas, de manera que él obtiene +50 por cada pelea y es este su resultado final. Como resultado de ello, los genes de los halcones se esparcirán rápidamente a través de la población. Producto de esta nueva situación, cada halcón ya no puede contar con que cada rival que tenga enfrente será una paloma. Para tomar un ejemplo extremo: si los genes de los halcones se esparcieran tan rápidamente que toda la población estuviese formada por halcones, todas las peleas serían entre halcones. Las cosas serían ahora muy diferentes. Cuando un halcón se enfrenta a otro, uno de ellos resulta seriamente herido y obtiene una puntuación de -100, mientras que el ganador logra +50 puntos. Cada halcón, en una población de halcones, puede esperar ganar la mitad de sus batallas. Su promedio de puntos por pelea se encontraría, por lo tanto, entre +50 y -100, lo que da un resultado de -25. Consideremos ahora una sola paloma en una población de halcones. Seguramente perderá todas sus peleas, pero, por otra parte, nunca resultara dañada. Su promedio de puntos obtenidos será de 0 en una población de halcones, mientras que el promedio logrado por un halcón en una población de halcones es de -25. Los genes de las palomas, por consiguiente, tenderán a esparcirse a través de la población”.

Tenemos entonces lo que parece una oscilación permanente entre población de palomas y población de halcones. Las palomas no pueden evitar que los halcones proliferen entre ellas, a pesar de que así se reduzca el beneficio neto de cada individuo. Y los halcones, precisamente a causa del castigo que se infligen unos a otros, no pueden evitar la proliferación de las palomas. Sin embargo, tal oscilación no se produciría si la proporción entre halcones y palomas fuera tal que todos los individuos tuvieran exactamente el mismo beneficio, sin que importara su comportamiento. Si tal proporción se diera, un aumento del número de halcones no haría más que empobrecer sus beneficios, y otro tanto ocurriría con un aumento del número de palomas.

¿Cómo calcular esa proporción? Supongamos que en una población hay p palomas y h halcones. En esa población, cuando una paloma haya tenido p enfrentamientos con otras palomas, es de esperar que también haya sufrido h enfrentamientos con halcones. Su resultado final, por lo tanto, será:

15p+0h

ya que 15 y 0 son, respectivamente, sus resultados promedio ante una paloma y un halcón. Un halcón, por su parte, tras p enfrentamientos con palomas se habrá enfrentado con otros h halcones. Su resultado final será:

50p-25h

ya que 50 y -25 son sus resultados promedio ante palomas y halcones.

Pero nosotros queremos que el beneficio neto de la paloma sea el mismo que tiene el halcón. Por lo tanto,

15p+0h=50p-25h

Tras algunas modificaciones sencillas de la igualdad, nos queda que:

p/h = 5/7

de modo que esa es la proporción ideal: 5 palomas por cada 7 halcones.

¿Alcanzará una población de halcones y palomas esos valores, o se trata de una abstracción sin sentido? La respuesta se puede deducir matemáticamente, pero me pareció adecuado “probarlo” con una simulación en mi computadora. No quedaron dudas. Partiendo de una población de 99 palomas y un solo halcón, la proporción entre palomas y halcones llegó rápidamente a valores muy próximos al predicho, de los cuales no volvió a apartarse significativamente.

(Una aclaración: la proporción indicada es esencialmente correcta para poblaciones muy grandes, pero hicimos trampa. En una población pequeña no debemos olvidar el hecho obvio de que una paloma o un halcón no pueden enfrentarse a sí mismos. Por lo tanto, si hay p palomas, la paloma que tomemos como muestra solo se habrá enfrentado a p-1 palomas tras h enfrentamientos con halcones; simétricamente, un halcón se habrá enfrentado a h-1 halcones tras luchar con p palomas. Teniendo esto en cuenta para nuestros cálculos, podemos llegar a esta ecuación:

35p+40= 25h

El lector puede vérselas con ella. Para nuestros fines podríamos haber actuado como Dawkins, que no menciona esta cuestión).

La consecuencia de todo lo dicho es que una población en la que haya 5 palomas por cada 7 halcones no “premia” la proliferación de unos ni otros. El alcanzar y mantener tal proporción es, entonces, una estrategia evolutivamente estable para la especie.

Lo interesante del caso es que esa composición no es, por término medio, lo más beneficioso para los individuos de la población. Es fácil calcular que así un individuo obtiene como promedio un resultado final de 6 puntos y cuarto tras cada lucha, beneficio bastante menor que los 15 puntos que obtendría en una población enteramente compuesta por palomas. Es decir, que a nuestra hipotética especie le “convendría” un acuerdo entre sus individuos para que todos actuaran como palomas; así saldrían más beneficiados. Pero, como dice Dawkins, tal concentración es propensa “a que se cometan abusos en su seno. Es un hecho cierto que es más beneficioso para todos los miembros el pertenecer a un grupo de palomas que a un grupo de EEE. Por desgracia, en los grupos de palomas la intromisión de un solo halcón supone un éxito tan rotundo que nada puede impedir la evolución de los halcones. La concentración está, por lo tanto, destinada a ser disuelta por la traición desde adentro. Una EEE es estable, no porque sea especialmente buena para los individuos que en ella participan, sino simplemente porque es inmune a este tipo de traición”.

Las experiencias con orquídeas y hongos

Hay grandes diferencias entre el modelo de halcones y palomas y el modelo de orquídeas y hongos:

– Cada individuo de la población de halcones y palomas tiene acceso directo y aleatorio a cualquier otro individuo, cosa que no sucede con orquídeas y hongos. En estos influyen las variaciones locales en la población, mientras que en el caso de halcones y palomas solo interesa la población global.

– Los halcones pueden sobrevivir sin palomas. Los hongos, por el contrario, no pueden sobrevivir sin orquídeas.

– Halcones y palomas reciben puntuaciones abstractas según su desenvolvimiento. Hongos y orquídeas son premiados y castigados directamente con la vida o la muerte.

Figura 1. La población del experimento A, transcurridos cien cronones. Cada cero representa una orquídea, y cada asterisco un hongo.

Sin embargo, esas diferencias no impiden que la lucha entre orquídeas y hongos los fuerce a adoptar una estrategia evolutivamente estable. El concepto de EEE resiste la traslación a ambientes muy diferentes entre sí. La figura 2 muestra el resultado de cuatro experimentos sucesivos, con una población inicial de 1, 10, 20 y 50 hongos respectivamente. A simple vista se descubre la obstinación de los hongos por mantener su número entre los 5 y los 25 individuos. El número de orquídeas varía en consonancia con el número de hongos. La tabla que acompaña a la misma figura presenta otros valores de interés para analizar el comportamiento de ambas especies.

Figura 2. Resultados de cuatro experimentos con orquídeas y hongos. Las curvas muestran el numero (aproximado a múltiplos de 5) de hongos y de orquídeas que poblaban el bosque, a intervalos de cinco cronones. El número de individuos se indica en vertical, y el tiempo transcurrido en horizontal. La tabla presenta varias cantidades interesantes relativas a cada experimento. Observe la notable regularidad de las poblaciones promedio de hongos, orquídeas y total, independientemente de la población inicial.

El experimento A muestra que, tal como ocurría con halcones y palomas, basta un solo hongo en la población inicial para que las orquídeas se vean enormemente afectadas. El comportamiento “hongo” recibe grandes beneficios en una población de orquídeas. El único hongo tiene tantas orquídeas a su disposición que se reproduce a gran velocidad. Pero hay una contrapartida para el éxito inicial de los hongos, porque solo es posible gracias a la disminución del número de orquídeas. A menos orquídeas, menos posibilidades de supervivencia para los hongos. Por eso, la curva correspondiente a los hongos del experimento A sufre una caída vertiginosa desde los aproximadamente quince individuos que hay transcurridos cinco cronones hasta los casi cero que quedan transcurridos diez cronones.

El experimento D muestra el caso contrario. Una población inicial de 50 hongos encuentra serias dificultades para mantenerse, por el enorme consumo de orquídeas que significa. Por lo tanto, la curva desciende de un modo estrepitoso y, luego se sitúa firmemente en los valores estables.

Los hongos del experimento C se extinguieron tras 78 cronones. Esto no significa una excepción a la regla, sino que el bosque es demasiado reducido. Algunos experimentos realizados en un bosque mayor, de 16 x 16 casillas, demostraron que en tal bosque es mucho mas difícil que los hongos se extingan, porque tienden a mantener su número siempre por encima de los 10 individuos. El bosque de 12x 12, en cambio, los obliga tantas veces a quedar por debajo de los 5 individuos que las probabilidades de extinción son muy reales. Sería interesante que, disponiendo de un programa rápido, algún lector hiciese sus propios experimentos en bosques mayores que el mío; en tal caso, me gustaría conocer sus resultados.

Los experimentos A, B, C y D no fueron elegidos especialmente para su presentación en este artículo. Fueron los primeros que realicé en cuanto quedó a punto el programa capaz de Ilevarlos a cabo. Experimentos posteriores no hicieron más que confirmar los resultados, mientras no modifiqué las reglas con que luchaban hongos y orquídeas. Luego se me ocurrió una ligerísima variación, que tuvo consecuencias desmedidas.

Tal como fueron descriptas más arriba, las reglas de juego permiten a los hongos cierta “protección mutua”. Supongamos que, en el transcurso de un cronón, un hongo X envía su semilla a la casilla ocupada por el hongo Y; la semilla no germina, y el hongo X muere. Luego, si el hongo Y envía su semilla a la casilla del hongo X no ocurrirá nada, porque dicha casilla, ya modificada en el transcurso del cronón, habrá sido “congelada”. El hongo Y se salvará, gracias a la bondad de las reglas.

Hay otras situaciones en las que un hongo puede salvarse “milagrosamente”: si envía su semilla a una casilla vacía, ya inspeccionada y “congelada” por otro hongo, o a una casilla donde otro hongo acaba de infectar a una orquídea. En cualquiera de estos casos, el hongo en cuestión sobrevive hasta el siguiente cronón sin haberse reproducido, violando en cierto modo las reglas iniciales.

La figura 3 muestra lo que sucedió al modificar esa cuestión. Allí repetimos los experimentos A, B, C y D, pero impidiendo a los hongos sobrevivir sin haberse reproducido. Los resultados fueron catastróficos: en ningún caso los hongos sobrevivieron más de 45 cronones. Esto demuestra el punto crítico en que se encuentran las reglas con que iniciamos la experiencia; la vida de los hongos, por decirlo así, pende de un hilo.

Figura 3. Resultado de impedir a los hongos la “protección mutua” descripta en el texto. En las mismas condiciones iniciales de los experimentos de las figura 2a y 2b, los hongos se extinguieron rápidamente.

Queda por realizar otro tipo de experiencia, que yo no Ilevé a cabo. Al hablar de halcones y palomas, Dawkins señala que es indistinto suponer que hay 5 palomas cada 7 halcones en una población estable, o que cada individuo de esa población actúa como paloma exactamente 5 veces por cada 7 veces que actúa como halcón. (De paso, en este último caso se hace innecesaria nuestra aclaración sobre la necesidad de descontar el propio individuo del número de halcones o palomas que haya en la población; en realidad, basta con solo 2 individuos, cada uno de los cuales alterna aleatoriamente 5 actuaciones como paloma con 7 actuaciones como halcón; en cuanto uno de ellos varíe esa proporción, el otro saldrá ganando, de modo que la estrategia sigue siendo evolutivamente estable). En nuestro caso, habría que descubrir qué ocurre si cada individuo del bosque puede actuar como hongo y también como orquídea. Si la proporción de actuaciones de un tipo y de otro variara evolutivamente según los resultados obtenidos cronón a cronón, sería posible llegar a una situación estable, donde cada individuo actuaría alrededor de h veces como hongo por cada o actuaciones como orquídea. ¿Cuáles serán entonces los valores de h y o? Si el lector obtiene algún resultado al respecto, le agradeceré que me lo haga saber.

Programando orquídeas y hongos

Es posible hacer a mano los cálculos de lo que sucede en el bosque de orquídeas y hongos, cronón a cronón, pero resultaría extremadamente lento y aburrido. Por otra parte, no es realmente difícil escribir un programa de computadora para hacer el mismo trabajo. En dicho programa, el bosque está representado por una matriz de dos dimensiones. A cada casilla se le asigna un valor diferente según esté ocupada por un hongo, una orquídea o un espacio vacío. Es cómodo que esos valores coincidan con los códigos de los caracteres que los representarán en pantalla; utilizando el código ASCII, empleé el valor 32 para el espacio vacío, el 48 (correspondiente al carácter “0”, cero) para la orquídea, y el 42 (correspondiente al carácter “*”, asterisco) para el hongo.

En cada cronón se debe explorar la matriz, casilla por casilla. Cuando aparece un hongo o una orquídea, se da un valor aleatorio entre 1 y 4 a una variable para determinar la dirección en que será lanzada la “semilla”. De tal modo, si la variable en cuestión tiene el valor 1, la semilla irá hacia la casilla situada al “norte” de la inspeccionada; si tiene el valor 2, a la casilla situada al “este”, etc. Según lo que se encuentre allí, se modificará el valor correspondiente en otra matriz auxiliar, donde quedará almacenado hasta que concluya el cronón. Una vez hecho todo este trabajo con cada casilla, la matriz principal tomará los valores almacenados en la matriz auxiliar, se presentará el resultado en pantalla y todo empezará otra vez. Para “congelar” una casilla y evitar toda modificación ulterior durante el mismo cronón, basta con ponerla a 0 en la matriz principal, mientras se le da el valor correspondiente a su futuro contenido en la matriz auxiliar; así, al volver a tropezar con ella, el programa puede fácilmente pasarla por alto.

Un comentario final. La simulación por computadora de complejos procesos del mundo real es un recurso difundido de la investigación científica. En semejantes tareas se utilizan programas inmensos en computadoras poderosas, algo muy lejano para quienes, como yo mismo, solo disponen de una pequeña computadora doméstica y no conocen otros lenguajes de programación que Basic o Logo, con sus limitaciones, particularmente de velocidad (problema que se podría resolver en parte programando en Pascal). Sin embargo, aún es bastante lo que se puede hacer en estas condiciones; lo comprobé personalmente, experimentando con las orquídeas y los hongos. Por supuesto, el asunto no pasó de ser una cuestión recreativa, pero llegué a vislumbrar un asomo de lo que siente el investigador ante los procesos que estudia. Espero que a los lectores interesados en el tema, con acceso a una computadora, les ocurra lo mismo. Y que aquellos que no tengan una máquina hayan encontrado el relato lo bastante sugestivo como para que valiese la pena leerlo.

Acto 2: 2025

Intrigado por mis propias investigaciones primitivas, resolví volver a visitar el bosque de los hongos y las orquídeas con las herramientas inmensamente más poderosas que tenemos ahora. Me encontré con una tremenda sorpresa.

Primero, un diálogo que en 1986 hubiera resultado profundamente inverosímil:

Yo:

¡Hola! Lo que acabo de subir es un artículo que escribí en 1986. Te pido que lo leas y hagas una app para la web (en html, css y javascript) que implemente la parte referida a hongos y orquídeas. En lugar de un universo de 12×12, hacé uno de 40×25, ocupando 1000 pixels de ancho en la pantalla por 750 de alto. Para representar hongos y orquídeas usá emojis. Me interesa especialmente que la app lleve un registro estadístico de la población de hongos y de orquídeas cada cinco cronones, y permita exportar ese registro como una tabla en formato csv. Por favor, haceme preguntas sobre cualquier aspecto de esta tarea que te resulte confuso o sobre el que necesites aclaraciones.

Claude.ai:

Entiendo perfectamente las reglas del sistema. Antes de implementar la web app, tengo algunas preguntas para asegurarme de que haga exactamente lo que quieres:

  1. Emojis: ¿Qué emojis prefieres para representar hongos y orquídeas? Estaba pensando en 🍄 para hongos y 🌺 para orquídeas, pero quizás tengas otra preferencia.
  2. Configuración inicial: ¿Quieres que el usuario pueda elegir cuántos hongos iniciales colocar, o prefieres un valor por defecto (como en tus experimentos originales con 1, 10, 20, 50)?
  3. Velocidad de simulación: ¿Qué intervalo entre cronones te parece apropiado? ¿Unos 100-200 milisegundos para poder ver la evolución claramente?
  4. Controles: ¿Quieres botones para pausar/reanudar la simulación, reiniciar, y tal vez ajustar la velocidad?
  5. Visualización de estadísticas: ¿Prefieres que se muestren las estadísticas en tiempo real (población actual, cronón actual) además del registro cada 5 cronones?

Yo:

  1. Quiero exactamente esos.
  2. El usuario debe poder elegir cuántos hongos iniciales colocar.
  3. Me parece bien esa velocidad.
  4. Sí, por favor. Esos controles serán muy útiles.
  5. Sí, me gusta la idea.

Hacé que la app se detenga si los hongos se extinguen, y que informe ese hecho y en qué cronón ocurrió. Hacé también que la app muestre el promedio de la cantidad de hongos a lo largo de la simulación, y la desviación estándar.

Aunque no es el objetivo de este artículo, frenemos un momento para notar las diferencias. En aquel entonces estaba aislado en mi casa, con una computadora que tenía 16 kilobytes de RAM, programando en BASIC. Ahora, estaba en una PC con Windows 10, infinitamente más rápida y memoriosa, conectado a Internet, charlando con una inteligencia artificial para que escriba el programa de manera que pueda publicarlo en la web. Listo. Es todo lo que quería decir en esta pausa.

Los nuevos hongos y orquídeas

Tras unas cuantas idas y vueltas, sobre todo para agregar variantes, el programa estuvo listo. Se puede jugar con él en este link. Permite experimentar en el bosque de 12×12 original, pero también en uno de 40×25 (como se ve en la imagen de arriba de todo). Además, se puede elegir entre varias reglas diferentes.

Me llevó más o menos dos minutos comprobar lo que había escrito cuarenta años antes. De vez en cuando, la población pequeña lleva a los hongos a extinguirse, pero casi siempre hongos y orquídeas alcanzan una estrategia evolutivamente estable.

Figura 4. Gráfico de los experimentos de 1986 repetidos en 2025 (bosque de 12×12). En aquel entonces llevaron horas. Ahora, minutos.
Figura 5. Una situación típica en el bosque de 12×12.

Pero claro, la capacidad actual de las computadoras me permitió llevar aquellos experimentos mucho más lejos. El siguiente gráfico muestra el tremendo resultado de aumentar mucho la cantidad de cronones. ¿Será que me había apurado a cantar victoria?

Figura 6. En el bosque de 12×12, a la larga los hongos se terminan extinguiendo por culpa de la baja población. Como se ve en el gráfico, esto no depende en absoluto de la cantidad inicial de hongos, sino de la profundidad de los valles en el subibaja de la población de hongos.

Acá los números son decisivos. En el bosque de 40×25, la probabilidad de que los hongos se extingan es tan pequeña que básicamente podemos ignorarla. Lo muestra el gráfico siguiente.

Figura 7. En el bosque de 40×25, los hongos tal vez sobrevivan hasta que el sol se convierta en nova (evento no incluido en esta simulación). Población inicial: 1 hongo; 10 millones de cronones.

Esto parece confirmar que la hipótesis de una EEE entre hongos y orquídeas se sostiene a lo largo del tiempo, siempre que la población total sea lo bastante grande. En cualquier caso, es notable que la proporción de hongos y orquídeas se aproxima mucho a 1:6 independientemente del tamaño del bosque.

¿Y de a un organismo por vez?

Algo que no llegué a probar en el primer acto de la saga: ¿qué pasa si en lugar de hacer un barrido completo del bosque a cada cronón, dejamos que actúe un solo organismo? Es decir: ¿y sí elegimos uno al azar, le hacemos producir su semilla e implementamos el resultado; y esto repetido un montón de veces? La teoría dice que el resultado debería ser similar. En todo caso, más preciso: al no tener casillas congeladas, ni favorecer a los de arriba por sobre los de abajo (je), la evolución de la población debería reflejar más limpiamente el efecto de las reglas.

El resultado de mis pruebas, usando el bosque de 40×25, en los siguientes gráficos.

Figura 8. Evolución de las poblaciones con 1, 10, 20 y 50 hongos iniciales, a lo largo de un millón de cronones, en el bosque de 40×25. Variante: actúa 1 organismo por cronón.

Final, por ahora

Esto es casi todo lo que sé sobre la lucha de “orquídeas imaginarias versus hongos simulados”, como decía el título del artículo en Cacumen. Queda alguna variante menor que buscó favorecer a los hongos (y solo logró que acabaran con las orquídeas y, por lo tanto, se extinguieran), y las ganas de seguir jugando en este bosque que a mí me resulta encantado.

Que vaya este pequeño homenaje a John Maynard Smith (1920-2004), Alexander Keewatin Dewdney (1941-2024) y Richard Dawkins (1941). A todos, hasta la próxima.