Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa...

92
Desarrollo de un modelo de hipercomputación biológica Nelson Alfonso Gómez Cruz Universidad Nacional de Colombia Facultad de Ingeniería Bogotá, Colombia 2017

Transcript of Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa...

Page 1: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

Desarrollo de un modelo de

hipercomputación biológica

Nelson Alfonso Gómez Cruz

Universidad Nacional de Colombia

Facultad de Ingeniería

Bogotá, Colombia

2017

Page 2: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

Desarrollo de un modelo de

hipercomputación biológica

Nelson Alfonso Gómez Cruz

Tesis de investigación presentada como requisito parcial para optar al título de:

Magister en Ingeniería de Sistemas y Computación

Director:

Luis Fernando Niño Vásquez, Ph.D.

Asesor:

Carlos Eduardo Maldonado Castañeda, Ph.D.

Línea de Investigación:

Hipercomputación biológica

Grupo de Investigación:

Laboratorio de Sistemas Inteligentes

Universidad Nacional de Colombia

Facultad de Ingeniería

Bogotá, Colombia

2017

Page 3: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

Agradecimientos

Quiero agradecer, en primera instancia, al Dr. Luis Fernando Niño, mi director, por haber

confiado en mi trabajo. Su acompañamiento constante y desinteresado, su rigor académico y su

calidez humana fueron para mí un aliciente. Valoro profundamente su actitud siempre crítica,

pero constructiva, la cual fomenta el respeto por la diferencia y por el conocimiento.

También quiero agradecer, de manera muy especial, al Dr. Carlos Eduardo Maldonado, mi asesor,

por las muchas conversaciones, enseñanzas y trabajos compartidos, pero, sobre todo, por su

invaluable amistad.

Le agradezco a los miembros del Laboratorio de Investigación en Sistemas Inteligentes (Facultad

de Ingeniería, Universidad Nacional), particularmente a Carlos Manuel Estévez, por escucharme

tantas veces y por sus siempre valiosas sugerencias y comentarios.

De la misma manera, le agradezco a los miembros del Centro de Innovación de la Escuela de

Administración de la Universidad del Rosario (Daniel, David, John, Carlos y Sergio) por todo el

apoyo operativo e intelectual que me proporcionaron para culminar la tesis.

Le agradezco a los revisores, Drs. Eugenio Andrade y Carlos Álvarez, por sus valiosos

comentarios sobre la tesis.

Finalmente, le agradezco a mi familia. A mi esposa, María Teresa, y a mis hijos, Juan David y

José Daniel, por todo el amor que me han dado y por el tiempo que tuvieron a bien concederme.

Page 4: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

i

Resumen

La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la

computación suponen que en la máquina de Turing (MT), que es modelo paradigmático de la

teoría de la computación algorítmica, se encuentran los límites de lo que se puede computar y lo

que no. Por tanto, analizan los sistemas vivos como MT. Sin embargo, el tipo de computación

que lleva a cabo la vida difiere en maneras fundamentales de la soportada por dicho modelo.

Nuevas perspectivas teóricas y nuevos modelos de computación son necesarios. La tesis que se

defiende en esta investigación es que el procesamiento de información biológico no sucede en

términos algorítmicos, como en la MT, sino en términos de hipercomputación. Más exactamente,

como una forma de hipercomputación no clásica. Para ello, se introduce un marco conceptual y

teórico denominado hipercomputación biológica (HB). Con base en él, se modela el sistema de

navegación empleado por las hormigas del desierto (Cataglyphis fortis). Se logra mostrar que la

manera como las hormigas resuelven el problema de volver al nido está más allá del alcance de

los algoritmos y de las funciones matemáticas computables. Aunque más desarrollos son

necesarios, la HB establece un escenario robusto para investigar la naturaleza computacional de

la vida.

Page 5: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

ii

Abstract

Life processes information. This is what it does to. Several biologist and computer scientists

assume that the Turing Machine, the paradigmatic model of algorithmic computation, sets the

limits for what can be computed. Hence, they analyze living systems as Turing machines.

However, computation carried out by living systems differs in significant ways from this classical

model, bringing to the fore the need of new theoretical insights and models of computation. This

thesis puts forward the idea that biological information processing is not algorithmic, as it is in

the Turing machine, but hypercomputational. Biological systems, it is argued, perform non-

classical hypercomputation. To support this claim, a new theoretical framework: Biological

Hypercomputation, is introduced. This framework is used to model the navigation system

employed by desert ants (Cataglyphis fortis). It is shown that algorithms and mathematical

computable functions cannot reproduce the process employed by these ants to return to the nest.

Even though further developments are needed, the framework of biological hypercomputation

proves to be robust enough to study the computational nature of life.

Page 6: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

iii

Tabla de contenido

Resumen ..................................................................................................................................... i

Abstract ..................................................................................................................................... ii

Lista de figuras .......................................................................................................................... v

Lista de tablas ........................................................................................................................... vi

Abreviaturas ............................................................................................................................ vii

Introducción ................................................................................................................................. 1

Objetivos ................................................................................................................................... 2

Contribuciones .......................................................................................................................... 2

Publicaciones y ponencias ......................................................................................................... 3

Organización de los capítulos ................................................................................................... 4

1. El modelo estándar de computación, la máquina de Turing ........................................... 5

1.1 ¿Qué es la computación? ..................................................................................................... 5

1.2 Origen y marco de relevancia de la máquina de Turing ...................................................... 7

1.3 Propiedades principales de la máquina de Turing ............................................................... 9

1.4 La tesis de Church-Turing ................................................................................................. 10

1.5 La tesis fuerte de Church-Turing ...................................................................................... 11

1.6 El universo de los problemas algorítmicos........................................................................ 12

2. Teoría de la hipercomputación e hipercomputación no-clásica .................................... 15

2.1 Los límites de la máquina de Turing ................................................................................. 15

2.2 Del universo cerrado de la computación algorítmica a la falacia de la tesis fuerte de

Church-Turing ......................................................................................................................... 16

2.3 Hipercomputación clásica ................................................................................................. 18

2.4 Hipercomputación no-clásica ............................................................................................ 20

3. Hipercomputación interactiva.......................................................................................... 22

3.1 La computación y su naturaleza interactiva ...................................................................... 22

3.2 Computación interactiva secuencial .................................................................................. 24

3.3 Computación interactiva distribuida y simulación basada en agentes .............................. 25

3.4 Computación no-Turing y las vías hacia la hipercomputación no-clásica ........................ 27

4. Computación biológica ..................................................................................................... 29

4.1 Interacciones entre la biología y las ciencias de la computación ...................................... 29

4.2 ¿Procesan información los sistemas vivos?....................................................................... 32

4.3 De la dinámica de la energía a la dinámica de la información .......................................... 33

4.4 Computación biológica: noción, antecedentes y ejemplos ................................................ 36

4.5 Interacción, auto-organización y multiescalaridad en biología ......................................... 39

4.6 Rasgos computacionales de los sistemas vivos ................................................................. 40

5. Hipercomputación biológica ............................................................................................. 44

5.1 La máquina de Turing como modelo de los procesos vivos ............................................. 44

5.2 Computación biológica y la completitud de la máquina de Turing ................................... 46

Page 7: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

iv

5.3 Hipercomputación biológica, hipercomputación no-clásica y computación no Turing .... 48

5.4 Evolución de los modelos de computación: de la máquina de Turing a la

hipercomputación biológica .................................................................................................... 51

6. Hipercomputación en colonias de hormigas ................................................................... 53

6.1 Complejidad y cognición en colonias de hormigas ........................................................... 54

6.2 Computación individual y colectiva en hormigas ............................................................. 55

6.3 Estrategias de navegación en hormigas ............................................................................. 57

6.4 Integración de rutas en hormigas forrajeras del desierto, Cataglyphis fortis .................... 59

6.5 Modelado y simulación del integrador de rutas en Clataglyphis fortis ............................. 61

6.6 Computación emergente en colonias de hormigas y la necesidad de nuevos modelos de

computación ............................................................................................................................ 65

7. Conclusiones y trabajo futuro .............................................................................................. 69

7.1. Conclusiones .................................................................................................................... 69

7.2 Trabajo futuro .................................................................................................................... 70

Referencias ................................................................................................................................. 71

Page 8: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

v

Lista de figuras

Figura 1.1. Esquema de la máquina de Turing…………………………………….................... 9

Figura 1.2. El universo de los problemas algorítmicos, aproximación general……….............. 13

Figura 1.3. El universo de los problemas algorítmicos, computabilidad en principio frente a

computabilidad en la práctica……………………………………........................... 14

Figura 2.1. El panorama de la hipercomputación………………………………………………. 20

Figura 3.1. Configuración de una máquina persistente de Turing……………………….…….. 24

Figura 3.2. Ilustración de un macro-paso en una máquina persistente de Turing………........... 25

Figura 3.3. Expresividad de la computación interactiva……………………………………….. 26

Figura 4.1. Espacio comportamental de los sistemas dinámicos en relación con su

complejidad…………………………………………………………………....... 34

Figura 5.1. La complejización de la computación…………………………………………… 52

Figura 6.1. Uso de herramientas en hormigas tejedoras (Oecophylla)……………………... 55

Figura 6.2. Dinámica de reclutamiento en hormigas de la especie Linepithema humile……. 56

Figura 6.3. Tres estrategias de orientación para retornar hacia un punto en el espacio……… 58

Figura 6.4. Hormiga del desierto, Cataglyphis fortis y visión frontal de su cerebro…………. 59

Figura 6.5. Viaje de forrajero de una hormiga de la especie Cataglyphis fortis……………… 59

Figura 6.6. Interpretación gráfica del modelo de integración de rutas…………………….... 61

Figura 6.7. Ejemplos simulados de integración de rutas…………………………………….. 62

Figura 6.8. Diagrama de flujo de la hormiga artificial que implementa el modelo Müller-

Wehner…………………………………………………………………………... 63

Figura 6.9. Captura de pantalla del modelo Ants tras 325 ticks de simulación……………….. 65

Figura

6.10.

Dinámica de recolección de alimentos en una colonia de hormigas bajo distintos

criterios de interacción………………………………………………....................... 67

Figura

6.11.

Formación emergente de senderos y recolección óptima de recursos en un

hormiguero simulado……………………………………………………………… 68

Page 9: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

vi

Lista de tablas

Tabla 2.1. Refutación de la tesis fuerte de Church-Turing, según Goldin y Wegner

(2008)………………………………………………………….………………. 17

Tabla 2.2. Distribución modelos de hipercomputación según la taxonomía de M.

Stannett………………………………………………………………………… 19

Tabla 4.1. Ejemplos de computación biológica reportados en la literatura……………….. 38

Tabla 5.1. Diferencias entre la computación tradicional y la computación biológica de

acuerdo con los criterios de información, rasgos de procesamiento y sistemas

computacionales……………………………………………………………….. 46

Tabla 5.2. Campos y tendencias en el tránsito de la máquina de Turing a la

hipercomputación biológica……………………………………………………... 52

Tabla 6.1. Tiempos de explotación (en ticks) de tres fuentes de alimento bajo distintos

parámetros de interacción……………………………………………………..... 67

Page 10: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

vii

Lista de abreviaturas

Abreviatura Término

ACM Association for Computing Machinery

CC Ciencias de la computación

CI Computación interactiva

CID Computación interactiva distribuida

CIS Computación interactiva secuencial

HC Hipercomputación clásica

HnC Hipercomputación no-clásica

IGI Interacciones guiadas por información

MR Marco de relevancia

MT Máquina de Turing

MTE Máquina de Turing evolutiva

MTP Máquina de Turing persistente

MUT Máquina Universal de Turing

PS Procedimiento sistemático

SA Sistemas auto-modificantes

SI Sistema inmune

SIR Sistema de integración de rutas

tCT Tesis de Church-Turing

VA Vida artificial

Page 11: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

1

Introducción

Las relaciones entre la computación y la biología son profundas y diversas. En los últimos años,

particularmente, se ha revivido el interés por entender y explicar la vida en términos

computacionales o, lo que es lo mismo, en términos de procesamiento de información. Para

algunos biólogos reputados, como Paul Nurse (2008), la visión computacional de la vida podría

contribuir decisivamente a la comprensión de aquellos fenómenos de gran nivel que aún

permanecen elusivos. Ejemplos de ello son el mantenimiento de la integridad celular, la

generación de orden espaciotemporal o el desarrollo embrionario. Esta visión computacional de

la vida ha sido promovida, también, por prestigiosos científicos de la computación, como Gregory

Rozenberg (2008), quien es considerado como el padre de la computación natural.

Durante la VII Conferencia Internacional sobre Vida Artificial, realizada en el año 2000 en

Portland, Estados Unidos, se planteó un conjunto de catorce problemas abiertos relativos a la

simulación y la síntesis de sistemas vivos (Bedau et al., 2000). El décimo problema propuesto,

especialmente, fue dedicado al desarrollo de una teoría (inexistente hasta la fecha) acerca del

procesamiento, el flujo y la generación de información en sistemas evolutivos biológicos.

Recientemente, además, la noción de computación biológica fue retomada (Mitchell, 2012) en un

intento por unificar los esfuerzos de investigación alrededor de la comprensión computacional de

la vida.

En el plano teórico de la computación, por su parte, la computación algorítmica se ha mantenido

como el paradigma dominante y la máquina de Turing (MT) como el modelo de computación

estándar (Cleland, 2006). Por razones esencialmente históricas y en muchos casos extra-

científicas, se ha acrecentado la idea de que cualquier cosa computable es computable por una

máquina de Turing (esto se conoce como la tesis fuerte de Church-Turing). Buena parte de las

investigaciones en computación biológica, en consecuencia, han asumido implícita o

explícitamente a la MT como el referente teórico. Sin embargo, existe una apreciación creciente

de que la MT abarca solo una pequeña porción de todas las computaciones posibles (Stepney,

2009).

Existen, asimismo, diferencias importantes entre una MT y un organismo que son muchas veces

ignoradas. La computación que realiza la MT es diseñada (por un operador humano), cerrada,

discreta, simbólica, determinista, secuencial y sus cálculos son sensibles a los errores, los fallos

o el ruido. Este tipo de computación debe culminar, es decir, detenerse, para ser exitosa. La

computación que efectúan los seres vivos, de otro lado, es encontrada (en la naturaleza), abierta,

continua, no simbólica, estocástica, paralela y uno de sus criterios de éxito es no detenerse

(Stepney, 2008). Si la computación se detiene la vida cesa. De acuerdo con este panorama, una

noción más amplia de la computación y nuevos modelos de computación son necesarios

(Maldonado & Gómez-Cruz, 2015; Dodig-Crnkovic, 2011a).

La MT le abrió paso al computador digital, a las ciencias de la computación y al estudio científico

de la complejidad. Pese a ello, desde el punto de vista teórico, ha permanecido dentro del marco

de la ciencia clásica (Maldonado & Gómez-Cruz, 2015). Otros enfoques se han propuesto, pero

no gozan aún del reconocimiento y de la aceptación necesarios por parte de la comunidad

científica en teoría de la computación. La hipercomputación es uno de ellos. En su acepción más

amplia, la hipercomputación trata de la posibilidad de computar cosas y problemas que la máquina

Page 12: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

2

de Turing no puede. Esta idea sugestiva no ha impactado suficientemente la biología. Es decir, la

biología sabe poco de la teoría de la hipercomputación.

El propósito de esta investigación es elaborar una síntesis entre la computación biológica y la

hipercomputación, dos campos recientes que resultan filosóficamente conflictivos, pero que

representan, en un futuro previsible, avances significativos para las ciencias de la computación y

la biología. La tesis que se defiende en esta investigación es que la vida procesa información no

en términos algorítmicos, como sucede en la MT, sino en términos de hipercomputación. ¿Qué

significa que la vida procese información? ¿Qué beneficios aporta el enfoque computacional a la

comprensión de la lógica de los sistemas vivos? ¿Es adecuada la MT para modelar la computación

biológica? ¿Establece la máquina de Turing un límite sobre lo que pueden computar los sistemas

vivos? ¿Es la vida una forma de hipercomputación? Esta tesis espera contribuir a responder estas

preguntas y a establecer un marco conceptual y teórico para la computación biológica.

Objetivos

Los objetivos de esta tesis son:

1. Establecer un estado del arte sobre hipercomputación haciendo énfasis en los modelos de

hipercomputación bioinspirados (capítulos 1, 2 y 3).

2. Identificar los modelos de hipercomputación existentes que sirvan, eventualmente, como

prospectos para la computación biológica (Capítulo 3 y sección 5.3).

3. Construir un estado del arte sobre computación biológica (Capítulo 4).

4. Caracterizar la noción de hipercomputación biológica con miras a integrar los campos de la

computación biológica y la hipercomputación (Capítulo 5).

5. Formular un modelo de computación biológica con base en la teoría de la

hipercomputación (Capítulo 6).

6. Realizar simulaciones computacionales de los rasgos principales del modelo propuesto

(Capítulo 6).

Contribuciones

1. Se analizan dos formas de hipercomputación.

La hipercomputación clásica, que es la más ampliamente difundida, se refiere a la posibilidad

teórica y práctica de computar funciones o números que la máquina de Turing no puede. Esta

forma de hipercomputación encuentra soporte, principalmente, en la teoría de la relatividad y

la física cuántica. Sin embargo, permanece acotada por la visión matemática de la

computación. La hipercomputación no clásica, por su parte, es un campo incipiente que

cuestiona los pilares de la teoría clásica de la computación y aboga por formas de computación

ortogonales a la máquina de Turing. Se resalta la importancia de la hipercomputación no

clásica en el contexto de las tecnologías computacionales modernas, la computación científica

y el pensamiento computacional. Este es el tema del capítulo 2. El capítulo 3 se centra en el

paradigma de la computación interactiva. Se argumenta que este es el área más desarrollada

dentro de la hipercomputación no clásica.

2. Se introduce una nueva taxonomía acerca de las interacciones entre la biología y la

computación.

En la sección 4.1 se presenta una nueva taxonomía que busca dar cuenta de la riqueza, la

vitalidad y la diversidad de los enfoques existentes entre la biología y la computación. Así

mismo, se busca clarificar el papel de la biología en computación y de la computación en

biología. De manera especial, se discute cómo la computación biológica emerge sin tener una

carga particular hacia la biología o hacia la computación. Se establecen, entonces, criterios de

Page 13: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

3

demarcación entre las distintas formas de interacción y se muestran rasgos y ejemplos

característicos de cada una de ellas. La taxonomía propuesta permite establecer distinciones

entre las siguientes aproximaciones: la computación como soporte tecnológico para investigar

acerca de los sistemas vivos; la computación como método para el estudio de la vida; la

computación inspirada por la vida; la computación con sustratos vivos y la computación que

ocurre naturalmente en los sistemas biológicos.

3. Se evalúa, desde una perspectiva histórica, la evolución de los modelos de computación.

Se propone, en la sección 5.4, la hipótesis según la cual la complejidad de un sistema es

directamente proporcional a la expresividad del procesamiento de información que es capaz

de llevar a cabo. Con base en ello, se formula un marco histórico que contrasta los modelos de

computación contra una tendencia de complejización. El transito va desde de la máquina de

Turing (menor complejidad) hasta los modelos de hipercomputación biológica (mayor

complejidad).

4. Se propone y se caracteriza la noción de hipercomputación biológica.

En los capítulos 4 y 5, se introduce un nuevo marco conceptual y teórico para estudiar el

procesamiento de información que sucede naturalmente en los sistemas vivos. Se sostiene que

la hipercomputación biológica permite entender la vida no lo que es, sino por lo que hace. Se

describen los límites de la máquina de Turing como modelo de la vida y de la tesis de Church-

Turing como cota superior de lo que puede ser computado. Se hacen explicitas las limitaciones

de pensar la vida en términos de algoritmos y funciones matemáticas, y se justifica la necesidad

de hallar nuevas formas de comprender las nociones de información, computación y

expresividad computacional. Algunas alternativas son propuestas. Uno de los principales

aportes de esta contribución es el argumento de que la vida consiste en una forma de

hipercomputación no clásica.

5. Se desarrolla un modelo de hipercomputación biológica.

En el capítulo 6 se propone un modelo del mecanismo que emplean las hormigas del desierto

(Cataglyphis fortis) para retornar al nido tras caminatas de varios cientos de metros en

búsqueda de alimento. Particularmente, se modela un módulo conocido como sistema

integrador de rutas. Este módulo integra información traslacional y rotacional para informar

a la hormiga acerca de la dirección y la distancia que debe recorrer para volver al nido una vez

que encuentra el alimento. El modelo, basado en la teoría de la computación interactiva

secuencial, demuestra que este mecanismo no opera de manera funcional ni algorítmica y, por

tanto, constituye un ejemplo genuino de hipercomputación no-clásica.

Publicaciones y ponencias

Durante el desarrollo de esta tesis se publicaron dos artículos con resultados parciales y se

presentaron cuatro ponencias.

Artículos:

2015. Biological hypercomputation: a new research problem in complexity theory. Complexity,

20(4), 8-18. (Con Carlos Eduardo Maldonado)

2014. Synchronicity among biological and computational levels of an organism: quantum biology

and complexity. Procedia Computer Science, 36, 177-184. (Con Carlos Eduardo Maldonado)

Page 14: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

4

Ponencias:

• Biological hypercomputation: a concept is introduced.

Ponencia presentada en el 2nd International Conference on Complex Sciences: Theory and

Applications, realizado en Santa Fe, Nuevo Mexico, Estados Unidos entre el 5 y el 7 de

diciembre de 2012. (Con Carlos Eduardo Maldonado)

• Procesamiento de información en sistemas vivos.

Ponencia presentada en el V Encuentro Interuniversitario sobre Complejidad, realizado en

Bogotá entre el 26 y el 30 de agosto de 2013.

• Computación en sistemas complejos.

Ponencia presentada en el VI Encuentro Interuniversitario sobre Complejidad, realizado en

Bogotá entre el 30 de septiembre y el 3 de octubre de 2014.

• El paradigma computacional de los sistemas sociales.

Ponencia presentada en el VII Encuentro Interuniversitario sobre Complejidad, realizado en

Bogotá entre el 13 y el 16 de octubre de 2015.

Organización de los capítulos

Esta tesis está organizada en 6 capítulos. Los primeros tres están dedicados a la lógica de la

computación. Los tres últimos a al procesamiento de información en los sistemas vivos. Los tres

primeros establecen el contexto para los tres últimos. El capítulo 1 comienza con una

aproximación a la pregunta ¿qué es la computación? A partir de ello, se introducen la máquina de

Turing como el modelo estándar de computación y las razones que llevaron al establecimiento de

la tesis fuerte de Church-Turing. El capítulo 2 discute los límites de la máquina de Turing, las

debilidades de la tesis fuerte de Church-Turing y el alcance de la teoría de la hipercomputación

(en sus enfoques clásico y no-clásico). El capítulo 3 describe la computación interactiva como el

paradigma más desarrollado dentro del campo de la hipercomputación no clásica. El capítulo 4

revisa el estado situacional en computación biológica, discute las nociones de información y

computación en biología e identifica los rasgos principales del procesamiento de información en

sistemas vivos. El capítulo 5 introduce y caracteriza la noción de hipercomputación biológica.

Previo a ello, resalta las debilidades de la máquina de Turing como modelo de la vida y la

inadecuación de la tesis fuerte de Church-Turing como límite entre lo que se puede computar y

lo que no. El capítulo 6 estudia el procesamiento de información en colonias de hormigas y

desarrolla un modelo computacional, basado en hipercomputación interactiva, del mecanismo que

emplean las hormigas para regresar al nido tras la búsqueda de alimento. El modelo propuesto

aporta evidencia que contribuye a la visión de que la vida no procesa información a la manera de

una máquina de Turing. El capítulo 7 presenta las conclusiones de la investigación y perspectivas

de trabajo futuro.

Page 15: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

5

1. El modelo estándar de computación, la

máquina de Turing

El desarrollo de la computación ha permeado prácticamente todos los órdenes de la vida humana.

Los computadores han modificado radicalmente la manera como vivimos, nos comunicamos, nos

movilizamos, nos entretenemos, negociamos, accedemos al conocimiento y hacemos ciencia. En

el orden teórico, la máquina de Turing (MT), formulada por Alan M. Turing en 1936, fue elegida

como modelo estándar de computación gracias a su simplicidad, versatilidad y potencia. En

prácticamente todo el mundo, un curso de teoría de la computación toma como eje central e hilo

conductor el estudio de la MT y sus capacidades (expresividad, poder computacional). Los libros

de texto sobre el tema y la corriente principal de teóricos de la computación sostienen que no hay

un modelo de computación más general ni poderoso que la MT.

Este capítulo introduce la noción de computación desde una perspectiva histórica, describe el

modelo de computación de la MT y discute el universo computacional que se creó alrededor suyo.

La sección 1.1 ofrece una aproximación a la pregunta ¿qué es la computación? La sección 1.2

presenta el origen de la MT y el contexto bajo el que fue concebida. La sección 1.3 sintetiza las

propiedades más importantes de la MT desde el punto de vista de las computaciones que

realiza/soporta. La sección 1.4 introduce la tesis de Church-Turing, de acuerdo con la cual todo

algoritmo puede ser descrito por una MT. La sección 1.5 analiza la versión fuerte de la tesis de

Church-Turing. La sección 1.6 delimita el alcance del universo computacional algorítmico.

1.1 ¿Qué es la computación?

No existe una visión unificada sobre lo que significa la computación, ni como concepto, ni como

disciplina. La concepción de lo que quiera que sea la computación permanece vaga y ambigua

(Burgin & Dodig-Crnkovic, 2013a; Copeland, 1996). El número 4(4) de la revista Minds and

Machines (1994) y el número 55(7) de The Computer Journal (2012) están dedicados a discutir

dicha cuestión. Sin embargo, una definición única está lejos de ser alcanzada.

Denning (2010; 2012; 2014) ha dedicado importantes esfuerzos a caracterizar la evolución del

campo de la computación. A manera de síntesis, Denning (2012) propone la siguiente progresión

de nociones asociadas con la computación y las ciencias de la computación (CC):

• Estudio de la computación automática (1940s)

• Estudio del procesamiento de información (1950s)

• Estudio de los fenómenos alrededor de los computadores (1960s)

• Estudio de lo que puede ser automatizado (1970s)

• Estudio de las ciencias de la computación (1980s)

• Estudio del procesamiento de información, a la vez natural y artificial (2000s)

Para principios de la década de 1930, un computador era una persona encargada de realizar

cálculos sistemáticos en entornos de negocios, gobierno o investigación, habitualmente

(Copeland, 2012). La computación, por aquellos días, se refería a los pasos mecánicos seguidos

para evaluar funciones matemáticas. Las primeras formalizaciones de lo que es la computación

Page 16: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

6

en términos matemáticos y lógicos se deben a los trabajos seminales de investigadores como Kurt

Gödel, Alonzo Church, Emil Post y Alan M. Turing. Este último es considerado como el padre

de las CC (en las secciones subsiguientes se describen con mayor detalle estos orígenes). La

computación, entonces, fue definida en términos de funciones matemáticas, las cuales se

dividieron en decidibles (o computables -que pueden ser evaluadas por un algoritmo) y no

decidibles (no computables).

A partir del modelo teórico formulado por Turing (hoy conocido como máquina de Turing),

particularmente, se inició el estudio de la computación automática durante la década de 1940.

Varios de los primeros computadores se comenzaron a construir con base en los fundamentos de

la máquina de Turing y la arquitectura de von Neumann (por ejemplo, Colossus, ENIAC, ACE,

EDVAC, UNIVAC, EDSAC). La tecnología electrónica empleada estaba basada en tubos de

vacío. El propósito de la computación, durante esa década, estuvo orientado a sentar las bases de

la computación automática. Algunas de las aplicaciones de esos primeros computadores fueron

la resolución de ecuaciones, el cálculo de trayectorias balísticas, el “craqueo” de códigos

(criptografía) y el análisis de datos.

A comienzos de la década de 1950, se crearon las primeras compañías de computadores y algunas

universidades comenzaron a ofrecer programas de estudio en computación (Denning, 2010). La

nueva disciplina fue un enigma para los campos ya establecidos de la ciencia. El esfuerzo en la

década de 1960 fue darle a la computación un estatus similar al de la física y la matemática. En

esos desarrollos, la noción de algoritmo y la MT se hicieron centrales. En el texto influyente de

Newell, Perlis y Simon1 (1967, pág. 1374), publicado en la revista Science, se lee: “Las ciencias

de la computación son el estudio de los fenómenos alrededor de los computadores”2. El libro de

Simon (1969), Las ciencias de lo artificial, finalmente, consolidó a las ciencias de la computación

(CC) como una ciencia de lo artificial.

Durante la década de 1970, la computación viró hacia el estudio de lo que puede ser automatizado.

Las ya establecidas CC se constituyeron como investigación empírica (Newell & Simon, 1976).

La influencia de investigadores como Edsger Dijkstra y Donald Knuth favoreció el análisis de

algoritmos como el tema central en CC. El eslogan fue ciencias de la computación =

programación. Un trabajo que influenció la visión de las CC como el estudio de aquello que se

puede automatizar fue el estudio las ciencias de la computación y la investigación en ingeniería,

dirigido por Bruce Arden y financiado por la National Science Foundation (Arden 1976; 1980).

Durante sus cuatro primeras décadas, la computación se había orientado hacia los aspectos

ingenieriles. Para la década de 1980, las CC ya contaban con campos bien establecidos (Denning,

2010): algoritmos, estructuras de datos, métodos numéricos, lenguajes de programación, sistemas

operativos, redes, bases de datos, gráficos, inteligencia artificial e ingeniería de software. Estos

campos estimularon el nacimiento de otros subcampos nuevos: la ciencia de redes, la computación

móvil, el trabajo cooperativo y el diseño de interfaces de usuario, entre otros. Las CC se centraron

en el estudio y la promoción de sus propios (sub)campos. Distintos retos fueron creados por la

creciente demanda de aplicaciones comerciales (Denning, 2014).

Hacia mediados de la década de 1980 y durante toda la década de 1990, el uso del computador

como herramienta científica se acentuó. La fundación del Instituto Santa Fe, en Nuevo México,

particularmente, puso en primer plano el papel del computador para la exploración científica en

ciencias de la complejidad. Durante estos años se comenzó a gestar lo que se conoce hoy como

computación científica o ciencia computacional. Los trabajos de Wolfram (1984) y de Pagels

(1988) marcaron este hito.

1 Newell fue premio Turing en 1975, Perlis lo fue en 1966 y Simon en 1975. Simon, adicionalmente, obtuvo el Nobel de Economía de 1978. 2 Computer science is the study of the phenomena surrounding computers. Traducción del autor.

Page 17: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

7

Casi simultáneamente, una visión computacional de la naturaleza comenzó a tomar forma. D.

Baltimore, Premio Nobel de Fisiología o Medicina de 1975, impulsó la visión de la vida como un

fenómeno computacional. Enfoques similares emergieron en la física y en las ciencias sociales.

La computación dejó de ser solamente una herramienta tecnológica para la ciencia y se convirtió

en un modo de pensamiento (Wing, 2006). Dicho de otra manera, la computación dejó de ser una

ciencia de lo artificial para convertirse, además, en una ciencia de lo natural (Denning, 2013).

Rosenbloom (2013) promulgó la visión de la computación como el cuarto gran dominio científico,

transversal a los dominios físico, biológico y social.

Todas las variantes que han surgido en CC se han mantenido activas a su manera y cohabitan en

la actualidad. Lo que se entiende por computación sigue sin tener una respuesta única. Para

Copelan (1996), computar es ejecutar un algoritmo. Wegner (1997) propone que la visión

interactiva de la computación es más general que los algoritmos. Para Fortnow (2012), la

computación está delimitada por la capacidad de las MT, mientras que Syropoulos (2008)

argumenta que hay computación más allá de la barrera de la MT. La visión de la computación

como manipulación de símbolos (Conery, 2012), por su parte, contradice los resultados de la

computación analógica (MacLennan, 2013). Y la neurociencia sostiene que hay computación sub-

simbólica en el nivel neuronal (Angelaki, Shaikh, Green & Dickman, 2004). Entre tanto, la idea

de que la naturaleza y la vida procesan información (Mitchell, 2012; Rozenberg, et al. 2012) toma

cada vez mejor forma.

Un consenso práctico, con el que la mayoría está de acuerdo, sin embargo, es que computar

significa adquirir, transformar y comunicar información. Esto es, procesar información

(Rosenbloom, 2013; Copeland, 1996). De acuerdo con Denning (2014), la comprensión de la

computación como procesamiento de información es más general y fundamental que la definición

algorítmica tradicional. En síntesis:

Computar es procesar información.

El desarrollo del campo de la computación, desde la década de 1960 a la fecha, matiza mucho

mejor la aproximación mencionada:

La computación es la ciencia del procesamiento de información, tanto natural como

artificial.

La discusión y el alcance de lo que es la computación es una cuestión abierta, activa y vívida que

ocupa no solamente a científicos de la computación, sino a investigadores provenientes de casi

cualquier dominio de conocimiento. Kari y Rozenberg (2008) motivan la discusión:

En estos tiempos llenos de entusiasmo, nuestra tarea es nada menos que descubrir una nueva y

amplia noción de computación, y entender el mundo que nos rodea en términos de procesamiento

de información3 (pág. 83).

1.2 Origen y marco de relevancia de la máquina de Turing

David Hilbert (1862-1943), prominente matemático alemán y considerado el padre de las

matemáticas europeas (Copeland, 2012), propuso en 1900, durante el Congreso Mundial de

Matemáticas celebrado en París, un conjunto de 23 problemas abiertos que habrían de definir la

agenda de investigación en matemáticas para buena parte del siglo XX. El programa de Hilbert

pretendía, esencialmente, formalizar (axiomatizar) las matemáticas. Tres preguntas capitales

3 In these times brimming with excitement, our task is nothing less than to discover a new, broader, notion of computation, and to understand the world around us in terms of information processing. Traducción del autor.

Page 18: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

8

estaban en la base de su propuesta (Mitchell, 2009): (1) ¿es la matemática completa? (2) ¿Es la

matemática consistente? (3) ¿Es decidible cualquier sentencia en matemática?

En 1931, Kurt Gödel (1906-1978), lógico y matemático austriaco, formuló su teorema sobre la

incompletitud de la aritmética (Gödel, 1962, versión original de 1931, en alemán). Con este

teorema demostró que si la aritmética es consistente no puede ser completa. Es decir, que hay

sentencias verdaderas de la aritmética que no pueden ser demostradas dentro del sistema de

axiomas. A través de este resultado, Gödel dio respuesta a las dos primeras preguntas

mencionadas en el párrafo anterior y echó abajo, en gran medida, el programa formalista de

Hilbert. Su trabajo es considerado como uno de los descubrimientos en matemática más

sobresalientes de todos los tiempos. “Lo que Gödel mostró es que en las matemáticas hay más

verdad de la que se puede demostrar” (Copeland, 2012, pág. 22).

La tercera pregunta, que continuaba sin ser respondida, suponía un procedimiento sistemático

(PS) único capaz de determinar, en un tiempo finito, si una sentencia es verdadera o falsa. A este

enunciado se le conoce como el problema de decisión (Entscheidungsproblem). Un PS es un

“método manual que cualquiera pueda llevar a cabo, de forma mecánica, paso a paso, sin

necesidad de creatividad o entendimiento de ningún tipo” (Copeland, 2012, pág. 23). La noción

de PS es equivalente a las nociones de algoritmo, proceso mecánico, computación efectiva y

función recursiva. Una característica común a los PS es que pueden ser realizados por una

máquina (ibíd).

Alan M. Turing (1912-1954), lógico, matemático y criptógrafo británico, formuló en 1936 un

modelo abstracto que imitaba a un operador humano en la tarea de realizar PS, bajo los supuestos

de que tenía lápiz y papel ilimitados y que no hacía uso de su inteligencia. El modelo, conocido

actualmente como máquina de Turing (MT), demostró que hay problemas matemáticos que,

aunque admiten una respuesta falsa o verdadera, no se pueden resolver por medios mecánicos.

Este resultado se conoce como teorema de indecidibilidad de Turing. La pretensión de Hilbert

(pregunta 3) recibió como respuesta otro no contundente. El modelo de la MT (figura 1.1) se

compone de (definiciones formales se encuentran en Harel & Feldman, 2004; Turing, 1936):

• Una cinta de papel ilimitada (en ambas direcciones) dividida en celdas. Sobre ella se

pueden escribir símbolos y desde ella se pueden leer símbolos.

• Una cabeza de lectura/escritura que puede moverse a la derecha y a la izquierda, leer

símbolos de la cinta y escribir símbolos sobre ella.

• Un conjunto de reglas que le dicen a la cabeza de lectura/escritura qué hacer.

La MT comienza con un estado de inicio especial y culmina cuando un estado final ha sido

alcanzado. Turing demostró, además, que existe una MT particular que puede emular cualquier

otra MT. A este dispositivo se le denominó máquina universal de Turing (MUT). Una MUT

puede realizar cualquier procedimiento sistemático imaginable. Cabe resaltar, como anota

MacLennan (2009), que todo modelo opera dentro de un marco de relevancia (MR), el cual

delimita, a veces de manera borrosa, el tipo de cuestiones que el modelo puede responder con

precisión. El MR de la MT parte de una serie de supuestos que son razonables en el marco de las

matemáticas formales y la “calculabilidad” efectiva. Los principales supuestos bajo los que se

soporta la MT son (MacLennan, 2009):

• La representación y el procesamiento de información se suponen como formales, finitos

y definidos.

• El tiempo es considerado en términos secuenciales.

• La computación es tomada como equivalente a la evaluación de una función matemática

bien definida sobre un argumento. Este supuesto es de particular interés, puesto que casi

cualquier objeto matemático puede ser tratado como una función. Tradicionalmente,

además, las funciones han sido esenciales para la descripción del cambio en física.

Page 19: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

9

• En la tarea de calcular una función, un operador humano puede acceder a recursos (lápiz

y papel) ilimitados.

• Lo relevante del comportamiento de la máquina es la correspondencia entre la entrada y

la salida (que es establecida por una función matemática).

• La comparación de la MT con otros modelos de computación se da en términos de las

clases de funciones matemáticas que cada modelo es capaz de computar. En esto se basa

la noción de poder o expresividad computacional.

Figura 1.1. Esquema de la máquina de Turing Fuente: adaptado de Mitchell (2009)

La MT capturó de forma precisa la noción de algoritmo y sus equivalentes: procedimiento

mecánico, efectivo, sistemático (Dodig-Crnkovic, 2011a). Mediante la MT, Turing (1936)

estableció los límites de la computación algorítmica secuencial y mostró que existen funciones y

números que no son computables algorítmicamente. La MT, en consecuencia, fue suficiente para

el problema y el contexto para los que fue creada. Esto es, para mostrar los límites de la

decidibilidad en sistemas lógicos y matemáticos formales, como la aritmética. El propósito de

Turing, como se mostrará más adelante, no fue el de definir un concepto último y acabado de

computación. Sin embargo, la MT sirvió como modelo teórico para los primeros computadores:

la MT inauguró lo que ahora se conoce como teoría de la computación. Turing, entre tanto, es

reconocido como el primer científico de la computación.

1.3 Propiedades principales de la máquina de Turing

Una computación en una MT se lleva a cabo a la manera de una caja negra. La computación

consiste en la transformación de una entrada finita (por ejemplo, una cadena -string) en una salida

finita, haciendo uso de una cantidad finita de tiempo. La entrada es determinada antes de iniciar

la computación y la salida solo estará disponible una vez que la computación culmina. La

transformación está definida por una función recursiva y se expresa mediante un algoritmo. La

MT constituye un modelo de computación algorítmica secuencial, cuyas principales propiedades

son (Eberbach, Goldin & Wegner, 2004):

• Modela solamente computaciones cerradas (es decir, ignora el mundo exterior mientras

es ejecutada). Esto significa que no entra ni sale información durante la computación.

Por tanto, para que una computación sea exitosa, la máquina se debe detener y arrojar el

resultado.

• Usa recursos (tiempo y memoria) finitos, aunque ilimitados.

1 1 0 1 0 1 1 1 …

Reglas

1…

2…

3…

.

.

.

Estado actual: inicio

Símbolo Actual: 0

Cabeza de lectura/escritura

Cinta

Page 20: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

10

• Es algorítmica. Su comportamiento es arreglado, mecánico. Una vez definido el

algoritmo, este no cambia (no se adapta, aprende ni evoluciona). Para una MT específica,

todas las computaciones inician en una misma configuración.

• Se basa en funciones. Establece un mapeo entre entradas y salidas.

• Es determinística y secuencial. Las variantes probabilísticas o paralelas de la MT no

proveen mayor expresividad (Stepney, 2008).

La validez de la MT (como la de cualquier otro modelo) depende de su marco de relevancia (MR).

Fuera de él, la MT podría funcionar o no. En general, no es posible suponer la validez de un

modelo más allá de su MR sin que exista una prueba de ello. En el modelo de la MT, la

computación se supone como una propiedad lógica o matemática (Stepney, 2008). Un número o

una función matemática, por tanto, son computables si pueden ser calculados con recursos de

tiempo y memoria finitos, aunque ilimitados (MacLennan, 2009; Turing, 1936). En consecuencia,

el alcance de la MT no es otro que el de computar cualquier algoritmo posible, suponiendo que

un algoritmo, en su acepción clásica (como Turing la consideró), es equivalente a la de

procedimiento sistemático que se definió en la sección anterior. Es expresamente a esa noción de

algoritmo a la que, en general, se hará referencia en el resto de esta investigación, a menos que se

indique otra cosa.

1.4 La tesis de Church-Turing

Los esfuerzos por responder el llamado del programa formalista de Hilbert, particularmente frente

al problema de decisión, llevó a varios investigadores a proponer nuevas clases de funciones.

Gödel (1962) definió las funciones recursivas. Alonzo Church (1903-1995), lógico y matemático

estadounidense, introdujo en 1936 el cálculo λ, con el que mostró la existencia de problemas

indecidibles4. Y Turing introdujo la MT; Turing mostró que las funciones efectivamente

calculables (o computables) son equiparables a las funciones Turing-computables (Eberbach,

Goldin & Wegner, 2004):

Tesis de Turing. Una máquina de Turing puede computar cualquier función efectiva

(parcialmente recursiva) sobre números naturales (o cadenas).

Church (1936) propuso algo similar con respecto a las funciones λ-definibles. La equivalencia

entre las funciones recursivas, Turing-computables y λ-definibles se tomó como prueba de que la

computabilidad efectiva había sido finalmente capturada de manera formal. Estos hallazgos son

combinados en la tesis de Church-Turing (tCT):

Tesis de Church-Turing. Siempre que haya un método efectivo (algoritmo) para obtener

los valores de una función matemática, esta puede ser computada por una MT o por el

cálculo λ.

Este resultado es, como se indica, una tesis y no un teorema. La razón es que la noción de

‘computabilidad efectiva’ es informal e imprecisa (Harel & Feldman, 2004). Por tal motivo, la

tCT no puede probarse matemáticamente. Otros modelos de computación algorítmica que han

mostrado su equivalencia con la MT han constatado una y otra vez el resultado sugerido por la

tCT, aportando evidencia sobre su validez. Cualquier modelo equivalente a la MT se denomina

Turing completo. Algunos ejemplos de tales modelos son los siguientes (Wegner, Eberbach &

Burgin, 2012):

• Las funciones (recursivas) de Gödel.

• El cálculo λ de Church.

4 Este es un resultado análogo al alcanzado por Turing. Casualmente, la publicación de Church sucedió justo cuando Turing finalizaba su manuscrito sobre la MT (Copeland, 2012).

Page 21: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

11

• Las funciones de Herbrand.

• Las funciones (parciales recursivas) de Kleene.

• Los sistemas de Post.

• Los algoritmos de Markov.

• Las gramáticas irrestrictas y las gramáticas libres de contexto de Chomsky.

• Las gramáticas de atributos de Knuth.

• Las máquinas de acceso aleatorio.

• Algunas instancias de los autómatas celulares, como la regla 110 de Wolfram.

• Las MT multi-cinta.

• Las MT no determinísticas.

• Las MT con múltiples cabezas lectoras.

• Las máquinas multi-tarea.

• Las máquinas contadoras.

La tCT se puede extender fácilmente a la computación de funciones sobre cadenas de símbolos

(strings), puesto que tales cadenas se pueden codificar como enteros. De acuerdo con Eberbach,

Goldin y Wegner (2004), lo que no es usualmente apreciado es que la tesis involucra estrictamente

la computación de funciones matemáticas sobre enteros y no otros tipos de computación (por

ejemplo, la computación analógica (MacLennan, 2004) y la computación interactiva (Wegner,

1998)). La teoría de la computación se constituyó sobre una visión matemática del mundo, según

la cual “todos los problemas computables son basados en funciones” (Goldin & Eberbach, 2008,

pág. 20). Pese a ello, se ha pretendido extender el alcance de la teoría, injustificadamente, a

dominios donde no opera.

1.5 La tesis fuerte de Church-Turing

Los fundamentos de la matemática formal que le abrieron el paso a la MT y a la tCT soportaron

la idea de que todo problema computable se basa en funciones. Adicionalmente, puesto que toda

función susceptible de ser computada algorítmicamente es computable por un MT, se llegó a

pensar que cualquier problema computable se podría describir mediante algoritmos

(procedimientos sistemáticos) (Goldin & Wegner, 2008). Los primeros computadores,

construidos durante las décadas de 1940 y 1950, fueron, de hecho, implementaciones prácticas de

la MT. Estos aspectos, aunados con los resultados de Turing-completitud que acompañaron a

distintos sistemas formales y modelos de computación, contribuyeron a la redefinición del alcance

de la tCT hacia su forma fuerte:

Tesis fuerte de Church-Turing (versión 1): Una máquina de Turing puede computar

cualquier cosa que un computador pueda hacer.

En la década de 1960, en medio de la proliferación de los programas de pregrado en CC y del

interés por legitimar el campo como una disciplina, la Association for Computing Machinery

(ACM) acentuó el rol central de los algoritmos en sus reportes y recomendaciones de currículo

(Goldin & Wegner, 2008). En el reporte de 1965 (citado en Goldin & Wegner, 2008, pág. 24) se

dice:

Las CC se ocupan de la información en la misma medida en que la física se ocupa de la energía ...

El científico de la computación está interesado en descubrir los medios pragmáticos por los cuales

la información puede ser transformada […] Este interés conduce a la investigación de formas

efectivas de representar la información, algoritmos efectivos para transformar la información,

lenguajes efectivos con los cuales expresar algoritmos ... y maneras efectivas de lograr esto a un

costo razonable.5

5 Computer science is concerned with information in much the same sense that physics is concerned with energy... The computer scientist is interested in discovering the pragmatic means by which information can be transformed. […] This

Page 22: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

12

Las CC, soportadas en el estudio de los procesos algorítmicos resolubles mediante la MT,

alcanzaron de esta manera un estatus similar al de la física (el estudio de las propiedades de la

materia) y las matemáticas (el estudio de la cantidad y el espacio) (Eberbach, Golding & Wegner,

2004). Los libros de texto en CC, teoría de la computabilidad y lenguajes formales acentuaron

aún más esta posición, inclusive en la actualidad (ver, por ejemplo, Brookshear & Brylow, 2015;

Sipser, 2013; Harel & Feldman, 2004; Harel, 2000; Davies, 1958). Harel (2000) argumenta que

la tCT no es susceptible a las diferencias entre modelos de computación, a la adición de

paralelismo o a los enfoques cuánticos. Para Martin (2003), la MT es un modelo general de

computación. Sipser (2013) asegura que la MT puede hacer cualquier cosa que un computador

real pueda hacer. Parkes (2008), por su parte, sostiene que la MT es el dispositivo computacional

más potente de todos. Este tipo de apreciaciones llevó a pensar en la MT como un modelo

universal de computación y a radicalizar aún más la tesis fuerte de Church-Turing (tfCT):

Tesis fuerte de Church-Turing (versión 2): Cualquier cosa computable es computable

por una máquina de Turing (Wegner, Eberbach & Burgin, 2012).

Dannny Hillis, quien es reconocido por el diseño del supercomputador que se conoce como

connection machine, opinó en su influyente libro de 1998, The Pattern on the Stone:

Hasta donde sabemos, ningún dispositivo construido en el universo físico puede tener más poder

computacional que una máquina de Turing. Para ponerlo de manera más precisa, cualquier

computación que pueda ser realizada por cualquier dispositivo de computación físico puede ser

realizada por cualquier computador universal [MT], siempre que ésta tenga suficiente tiempo y

memoria6 (énfasis adicionado).

En el plano práctico de nuestras tecnologías computacionales actuales, sin embargo, no es claro

que toda computación corresponda a un algoritmo computando una función matemática (Goldin

& Wegner, 2008). Tampoco es claro que no existan otros métodos efectivos para computar

funciones no computables en el contexto de la lógica y la matemática (hipercomputación)

(Syropoulos, 2013; 2008). Menos aún, que otras formas de computación estudiadas en la

naturaleza (computación natural) (Kari & Rozenberg, 2008) y notablemente en la biología

(computación biológica) (Mitchell, 2012) se reduzcan a formas de computación algorítmica.

Mostrar que la tfCT es una falacia (mientras que la tCT original continua siendo válida) es el

propósito de la sección 2.2. De momento, la atención se dirige a acentuar el alcance y los límites

de la computación algorítmica.

1.6 El universo de los problemas algorítmicos

Queda dicho: la teoría de la computación, en su forma actual, se ha restringido al estudio de los

problemas algorítmicos. Esto se debió a las razones comentadas en el apartado anterior. El texto

de Davies (1958) fue particularmente influyente en los comienzos de la teoría de la computación.

En su prefacio se lee:

interest leads to inquiry into effective ways to represent information, effective algorithms to transform information, effective languages with which to express algorithms... and effective ways to accomplish these at reasonable cost. Traducción del autor. 6 As far as we know, no device built in the physical universe can have any more computational power than a Turing machine. To put it more precisely, any computation that can be performed by any physical computing device can be performed by any universal computer, as long as the latter has sufficient time and memory. Traducción del autor.

Page 23: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

13

Este libro es una introducción a la teoría de la computabilidad y la no computabilidad, usualmente

referida como la teoría de funciones recursivas. [… L]a noción de máquina de Turing ha sido

central en el desarrollo (págs. vii y viii).7

Dentro del universo algorítmico (una expresión acuñada por Burgin & Dodig-Crnkovic, 2013)

hay dos tipos de problemas principales. Aquellos que se pueden resolver con una máquina de

Turing y aquellos que no. Al primer grupo se le denomina problemas computables y al segundo

problemas no-computables (figura 1.2). Si se trata de problemas de decisión, las nociones

adecuadas son problemas decidibles y problemas no decidibles, respectivamente (Harel &

Feldman, 2004). En la práctica, todo problema algorítmico se puede reformular como un

problema de decisión, por lo tanto, las nociones ‘computable’ y ‘decidible’ son equivalentes

(Talbi, 2009).

Figura 1.2. El universo de los problemas algorítmicos: aproximación general Fuente: adaptado de Harel (2000)

La teoría de la computación tiene dos componentes principales. La teoría de la computabilidad y

la teoría de la complejidad computacional. La teoría de la computabilidad estudia lo que se puede

y lo que no se puede computar con algoritmos. Particularmente, estudia la MT y otros modelos

de computación con igual o con menor capacidad expresiva. Los problemas para los que no hay

solución algorítmica son considerados no-computables. Dicho con otras palabras, existen

problemas específicos, como el problema de la detención o el problema de mosaico (ver Harel,

2000), que no son resolubles mediante ningún modelo de computación algorítmico. Por otra parte,

existen modelos de computación, como la MT o sus equivalentes, que pueden resolver cualquier

problema algorítmico. Harel (2000), particularmente, opina que los límites de la computación son

los límites del conocimiento.

Un resultado técnico en teoría de la computabilidad (Harel & Feldman, 2004) es que existen

problemas no computables que son mutuamente reducibles. Pero también hay problemas no-

computables para los que la reducibilidad no es bidireccional. Los problemas que no admiten

reducibilidad bidireccional se denominan altamente no computables (ver figura 1.3, parte

superior). El problema de la verificación (Harel, 2000) cae en esta última categoría.

La teoría de la complejidad computacional, por su parte, clasifica los problemas computables de

acuerdo con la cantidad de recursos (tiempo y memoria) que requieren. La complejidad de un

problema es equivalente a la complejidad del mejor algoritmo para resolverlo (Talbi, 2009). Un

problema es tratable o fácil si existe un algoritmo razonable (de tiempo polinomial) que lo

resuelva. Un algoritmo es intratable o difícil si no admite un algoritmo semejante (ver figura 1.3,

7 This book is an introduction to the theory of computability and noncomputability, usually referred to as the theory of recursive functions. [… T]he notion of Turing machine has been made central in the development. Traducción del autor.

Problemas no computables(indecidibles)

Problemas computables(decidibles)

Page 24: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

14

parte inferior). Un ejemplo de problema intratable es el del agente viajero con entradas (número

de ciudades) moderadas o grandes. Para estos problemas la única alternativa es emplear

mecanismos de cómputo8 aproximados, como las heurísticas o las metaheurísticas.

Figura 1.3. El universo de los problemas algorítmicos: computabilidad en principio frente a computabilidad en la práctica Fuente: adaptado de Harel y Feldman (2004)

No existe, en la práctica, ningún modelo de computación algorítmica que pueda computar más

funciones que la MT. A eso se refiere exactamente la tesis de Church-Turing. La figura 1.3 lo

ilustra de la siguiente manera: el universo algorítmico (la teoría de la computación) está limitado

por aquellos problemas que no se pueden resolver (problemas no computables) y por aquellos

que, aunque admiten solución, no pueden ser computados de manera práctica (problemas

intratables). El genio de Turing consistió justamente en eso: en mostrar que el universo

algorítmico es cerrado y limitado. Como se sugirió en la sección 1.1 y como se discutirá en los

siguientes capítulos, este escenario no captura la práctica y el alcance actual de la computación

(Goldin & Wegner, 2008; Stepney, 2008). A pesar de ello, la MT y la teoría de la computabilidad

que en ella se fundamenta siguen dominando el pensamiento de la corriente principal

(mainstream) de investigadores en teoría de la computación (Cleland, 2004).

8 Los denominamos “mecanismos de cómputo” y no “algoritmos” porque no respetan la noción de algoritmo que consideramos en este trabajo. Entre otras cosas, porque no garantizan eficiencia y correctitud (Shasha & Lazere, 2010). Un ejemplo son los “algoritmos” genéticos.

Lo no computable

Lo altamente no computable

Lo intratable

Lo tratable

Computabilidad en principio

Computabilidad en la práctica

Page 25: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

15

2. Teoría de la hipercomputación e

hipercomputación no-clásica

Existen funciones matemáticas que la máquina de Turing no puede resolver, pero también existen

problemas y procesos computacionales que simplemente caen fuera de su alcance. El campo de

la hipercomputación busca llenar esos vacíos a través de dos vías. La teoría de la

hipercomputación clásica (HC), por una parte, estudia modelos y métodos para computar clases

de funciones más amplias que las que puede computar una MT. Lo que varía en este caso son los

modelos, no los problemas. La hipercomputación no clásica (HnC), por su parte, consiste en el

estudio de nociones y modelos de computación ortogonales a la MT. En este segundo caso varían

los problemas y, por tanto, también los modelos. La HC se ha venido acentuando y consolidando

desde finales de la década de 1980. La HnC, en contraste, se viene gestando hace

aproximadamente una década.

En este capítulo se elabora un estado situacional de los principales tipos de hipercomputación,

desde la HC hasta la HnC. En la sección 2.1 se describen los límites de la MT y se argumenta que

las nociones de universalidad y otras semejantes aplican solamente en el contexto de la

computación algorítmica. En consecuencia, se sostiene que tales nociones no son extensibles a

otras formas de computación. En la sección 2.2 se muestra, con base en el análisis de Goldin y

Wegner (2008), que la tesis fuerte de Church-Turing (tfCT) es un mito. Se discuten las razones

históricas y extra-científicas que contribuyeron a su apropiación por parte de la comunidad de

científicos de la computación y a su proliferación. La sección 2.3 introduce la teoría de la HC, la

cual estudia formas de computar problemas no computables dentro del marco de relevancia de la

lógica y las matemáticas formales. Se aporta evidencia acerca de las limitaciones de esta forma

de hipercomputación para capturar (explicar, modelar) modos de computación relevantes en los

sistemas computacionales modernos, en computación natural y en computación biológica. La

sección 2.4, por último, presenta la noción de hipercomputación no clásica (HnC), acuñada por

S. Stepney (2009), y analiza brevemente su potencial frente a las limitaciones de la HC.

2.1 Los límites de la máquina de Turing

Alan Turing demostró los límites de la computación algorítmica. El propósito de esta sección es

reiterar que, en efecto, la MT no soporta todas las formas posibles de computación y resolución

de problemas. Ni en el plano teórico ni en el práctico. Desde el punto de vista de la lógica formal,

se puede afirmar que la MT no puede modelar todas las clases de lenguajes. En consecuencia, la

MT no es un modelo de computación completo (Wegner, Eberbach & Burgin, 2012).

Soportado en los trabajos de Turing y Church, Stephen Kleene (1909-1994), lógico y matemático

estadounidense, definió una jerarquía de problemas conocida como la jerarquía aritmética. Tal

jerarquía encuentra su contraparte en la teoría de lenguajes formales y en la teoría de las funciones

recursivas, dos de los pilares de la teoría de la computación. Kleene mostró que la MT solo puede

resolver aquellos problemas que pertenecen a la primera categoría de la jerarquía, a los que se

denomina problemas recursivos o decidibles (Syropoulos, 2013). Para los problemas que se

encuentran en el segundo nivel, hay una MT que se detiene solamente cuando la entrada (input)

que resuelve el problema es proporcionada. Cuando la entrada no resuelve el problema, la

máquina no puede parar. Por esta razón, los problemas que se hallan en el segundo nivel de la

Page 26: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

16

jerarquía se conocen como semi-decidibles o semi-resolubles. Todos los demás problemas no

pueden ser resueltos por una MT (ibíd.).

Syropoulos (2013) mostró que, en la práctica, hay problemas resolubles (demostrables,

decidibles, computables) que no pueden ser resueltos por la MT. El ejemplo contundente que él

menciona es el último teorema de Fermat, cuya demostración, se sabe, no es posible

algorítmicamente. A pesar de ello, el matemático británico Andrew Wiles logró demostrarlo en

1995, apelando a herramientas distintas a la teoría de la recursión y los modelos algorítmicos.

Este problema, que no es decidible por medios mecánicos, afirma Syropoulos, encontró solución:

es decidible (¡!). Algo similar se puede decir de la demostración de la conjetura de Poincaré,

proporcionada por Grigory Perelman entre 2002 y 2003. En esencia, los problemas que bajo las

condiciones específicas de la MT son irresolubles, podrían ser resolubles bajo perspectivas y

condiciones nuevas.

La MT es, en términos estrictos, un modelo formal de la noción clásica de algoritmo recursivo.

Un algoritmo recursivo (o proceso sistemático, como lo consideró Turing) supone un número

finito de pasos, cada uno de los cuales debe tener un significado bien definido que se pueda

implementar (Wegner, Eberbach & Burgin, 2012). Como se describió en la sección 1.3, la MT es

cerrada, usa recursos finitos, se basa en el mapeo de funciones y, por tanto, su comportamiento

es arreglado. Sin embargo, algunas aproximaciones teóricas recientes (ej. Burgin, 2005) y la

práctica actual de la computación (Goldin & Wegner, 2008) no se reducen a esa definición

limitada de algoritmo ni a su definición de computación asociada.

Eberbach, Goldin y Wegner (2004) sostienen que buena parte de los sistemas computacionales

modernos procesan flujos infinitos (streams) de solicitudes que se generan de manera dinámica.

Además, muchos de esos sistemas funcionan de manera indefinida (sin detenerse). Y en otros

tantos casos, su comportamiento puede ser dependiente de las acciones pasadas que hayan

afectado el sistema. Los ejemplos son múltiples e incluyen sistemas operativos, servidores y

procesadores de texto; la interacción dinámica de clientes y servidores sobre Internet (ej. los

sistemas de reservas de vuelos en línea); los robots que perciben y actúan en entornos dinámicos

y la adaptación infinita en computación evolutiva (Eberbach, Goldin & Wegner, 2004; Wegner

& Eberbach, 2004).

Las nociones de universalidad, completitud o propósito general buscan capturar el hecho de que

la MT puede describir cualquier algoritmo. Sin embargo, esas nociones no son extensibles al

hecho de que la MT capture completamente cualquier forma de computación. Burgin y Dodig-

Crnkovic (2013) argumentan que el universo cerrado de los algoritmos clásicos limita tanto la

flexibilidad y la expresividad de los modelos de computación, como la creatividad en el

modelamiento matemático.

2.2 Del universo cerrado de la computación algorítmica a la

falacia de la tesis fuerte de Church-Turing

Goldin y Wegner (2008) analizaron la versión fuerte de la tCH y mostraron que no es equivalente

a la versión original. Más aún, mientras que la tesis original sigue siendo válida, su

reinterpretación (la tesis fuerte de Church-Turing) es infundada. Como se ha insistido en esta

investigación, la MT formalizó la noción de algoritmo y abrió el camino para la construcción del

computador digital. Sin embargo, la teoría y la práctica de la computación tomaron caminos

distintos. En el plano teórico, la computación fue estudiada a través del formalismo de la MT. En

el plano práctico, por su parte, la noción de algoritmo se hizo central. La equivalencia entre la MT

y los algoritmos quedó implícita. En la práctica, la noción de algoritmo fue flexibilizada (relajada)

a medida que los computadores se desarrollaron y las aplicaciones se incrementaron. Los libros

de texto sobre programación incluyeron problemas “algorítmicos” que no estaban basados en

funciones recursivas (ibíd.). De esta manera, la noción formal de algoritmo, definido como el

Page 27: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

17

cálculo de una función recursiva, se extendió a la versión informal de algoritmo como un conjunto

de instrucciones para hacer “alguna cosa” (Rice & Rice, 1969).

Esta divergencia se ha mantenido durante varias décadas sin ser zanjada, acentuando la idea de

que los algoritmos, que son precisados por la MT (en su versión formal), son lo que los

computadores hacen (en su versión informal). De este modo, la MT ganó aceptación como un

modelo general de los computadores y se popularizó el hecho de que cualquier problema

computable puede ser descrito por un algoritmo. Con el advenimiento del pensamiento

computacional (Wing, 2006), la noción distorsionada de algoritmo se propagó a través de las

ciencias, fomentando la visión de que la computación observable en los fenómenos naturales es

algorítmica y Turing-computable.

Los científicos de la computación, en su mayoría, estaban a gusto con la simplicidad, la precisión

y el rigor con los que la MT había capturado los fundamentos de la computación algorítmica. A

tal punto que en la década de 1960 la acogieron como el modelo central en ciencias de la

computación. El malentendido aquí descrito, de hecho, fue tomado como una comprobación

adicional del poder y la generalidad de la MT. Wegner, Eberbach y Burgin (2012) describen de

manera cruda la situación:

… una [gran] parte de la comunidad en ciencias de la computación decidió que el modelo de la

MT proporciona el límite absoluto para el poder de computación, e ignoró modelos más expresivos

que aquellos clásicos de la MT. Para esas personas, fue más fácil vivir en el universo

computacional cerrado que inventar o incluso aprender alguna cosa nueva y más relevante (pág.

406).9

Pues bien, si se toma como base la noción formal de algoritmo y se intenta aplicar al contexto

práctico, entonces el mito de la tfCT puede ser falsado. Eso implica que solo los problemas que

están basados en funciones pueden ser modelados algorítmicamente. Del mismo modo, que hay

problemas (como el último teorema de Fermat) que son computables y, sin embargo, no admiten

solución algorítmica. En contraposición, esto significa que solo los problemas algorítmicos se

basan en funciones. Así mismo, se puede concluir que varios de los procesos computacionales

que se ejecutan sobre las tecnologías actuales no se pueden describir de manera algorítmica. Por

tanto, los algoritmos fueron lo que los primeros computadores hacían. Solamente eso.

La tabla 2.1 muestra un resumen del análisis realizado por Goldin y Wegner. A la izquierda se

encuentran las afirmaciones sobre las que se soporta la tfCT. A la derecha sus versiones

corregidas. La conclusión a la que llegan Goldin y Wegner (2008, pág. 34) es que “las MT no

pueden computar todos los problemas, ni pueden hacer todo lo que los computadores reales

pueden hacer”.

Tabla 2.1. Refutación de la tesis fuerte de Church-Turing, según Goldin y Wegner (2008)

Afirmaciones falsas Afirmaciones corregidas

Todos los problemas computables están basados en

funciones.

Todos los problemas algorítmicos están basados en

funciones.

Todos los problemas computables pueden ser descritos por un algoritmo.

Todos los problemas basados en funciones computables pueden ser descritos por un algoritmo.

Los algoritmos son lo que los computadores hacen. Los algoritmos son lo que los primeros computadores

solían hacer.

La MT sirve como un modelo general para los

computadores.

La MT sirvió como un modelo general para los primeros

computadores.

La MT puede simular cualquier computador. La MT puede simular cualquier dispositivo de

computación algorítmica.

Fuente: elaboración propia a partir de Goldin y Wegner (2008)

9 … a part of the computer science community decided that the TM model gives the absolute limit for the power of computation, and ignored more expressive than classical TMs models. For such people, it was much easier to live in the closed computational universe than to invent or even to learn something new and more relevant. Traducción del autor.

Page 28: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

18

Si esta postura es apropiada, entonces cabe afirmar que la MT no modela todo lo computable y

que otras formas de computación deben ser concebidas y estudiadas. El estudio de los procesos

computacionales que caen fuera del alcance de la MT se conoce genéricamente como

hipercomputación y es el tema de las secciones y el capítulo subsiguientes.

2.3 Hipercomputación clásica

Alan Turing fue el primero en explorar formas de computación más allá de los algoritmos

(Syropoulos, 2008; Eberbach, Goldin & Wegner, 2004). En el mismo artículo en el que introdujo

la MT, Turing (1936) propuso, además, de manera informal, las máquinas de elección (máquinas

c, en inglés c-machines). Una máquina c admite, en contraste con la MT, la intervención de un

operador humano (durante la computación) toda vez que la máquina alcanza configuraciones

ambiguas. En 1939, como parte de su tesis doctoral, Turing describió las máquinas con oráculo

(máquinas o, en inglés o-machines). Estos dispositivos, similares a las máquinas c, también

permiten la interacción con el mundo exterior durante la computación. En este caso, a través de

un oráculo. El papel del oráculo es el de proporcionar información no recursiva a la máquina-o,

aumentando así su capacidad expresiva (Turing, 1939). Turing no aportó detalles sobre la

naturaleza del oráculo, salvo la indicación de que no se trata de una máquina (de Turing).

Estas aproximaciones y otras variantes de, o alternativas a, la MT propuestas en la literatura

científica, fueron ignoradas e incluso obliteradas por varios años. En 1999, Jack Copeland y Diane

Proudfoot publicaron un artículo titulado Alan Turing's forgotten ideas in computer science en el

que, por un lado, reivindicaron varios de los aportes poco conocidos de Turing a las ciencias de

la computación y, por otra parte, introdujeron la noción de hipercomputación. Esta última para

referirse a las máquinas c, las máquinas o y todos aquellos modelos, hipotéticos o reales, capaces

de computar lo no computable con una MT.

La hipercomputación se refiere, entonces, a la posibilidad teórica y práctica de computar números,

funciones o problemas (como el de la detención) que la máquina de Turing es incapaz de computar

(Syropoulos, 2008; Copeland, 2002). La idea general es que todos aquellos números, funciones y

problemas que no son computables por una MT, podrían llegar a serlo si otros modelos de

computación alternos son considerados. Según Syropoulos (2008), la hipercomputación consiste,

primero, en identificar los métodos generales para resolver problemas no computables y, segundo,

en la aplicación de tales métodos para resolver problemas no computables específicos. La teoría

de la hipercomputación se ha convertido en campo activo apenas desde la década de 1990. Por

esta razón, su desarrollo está todavía en la infancia.

Un ejemplo sencillo de hipercomputación son las máquinas de Turing aceleradas (Copeland,

2002). Se trata de máquinas conceptuales que pueden realizar cada paso de cómputo en la mitad

del tiempo del paso inmediatamente anterior. Así, si el primer paso tomara un segundo, la serie

se comportaría como sigue:

1 +1

2+1

4+1

8+⋯+

1

2𝑛+

1

2𝑛+1+⋯ < 2

De acuerdo con esto, la computación culminaría la tarea justo antes de completar dos segundos.

La capacidad de llevar a cabo un número infinito de pasos en una cantidad finita de tiempo se

conoce como supertarea. Otros ejemplos basados en la realización de supertareas son las

máquinas de Zeus, el computador acelerado rápidamente (rapidly accelerating computer), las

máquinas de Turing de tiempo infinito y los autómatas de tiempo infinito. Todos “resuelven”,

desde el punto de vista teórico, el problema de la detención de Turing (halting problem). Dicho

problema es el ejemplo paradigmático de problema no computable en teoría de la computabilidad.

La posibilidad de implementar máquinas semejantes en la práctica depende de las propiedades

espaciotemporales del universo.

Page 29: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

19

Stannett (2004) introdujo una taxonomía de los modelos de hipercomputación reportados en la

literatura. Los modelos fueron organizados en seis categorías de acuerdo con su campo de origen,

inspiración o fundamentación, así: modelos teóricos, sistemas clásicos, computación cuántica,

redes neuronales (y modelos biológicos relacionados), computación de campo (field computation)

y computación relativista. Cada una de esas categorías, a su vez, fue evaluada con respecto a tres

modelos de tiempo: discreto, acelerado y análogo. Aquellos que no se ubicaron en una categoría

de tiempo específica fueron etiquetados como modelos de “tiempo generalizado”. La tabla 2.2

muestra, a título ilustrativo, la distribución de los modelos descritos por Stannett. Por cada modelo

de hipercomputación considerado, se incluye un punto en la tabla. Otras revisiones de los modelos

de hipercomputación son encontradas en Syropoulos (2008) y Ord (2002).

Tabla 2.2. Distribución modelos de hipercomputación según la taxonomía de M. Stannett

Fuente: adaptado de Stannett (2004)

Dentro de los modelos de hipercomputación, además de los ya mencionados y sin ser exhaustivos,

se encuentran: máquinas no organizadas (u-machines), máquinas de ensayo y error, MT

inductivas, computación con números reales, MT acopladas, MT tipo 2, Máquinas de Zeus,

máquinas de tiempo infinito con oráculo, máquinas de sitio e Internet, π-cálculo (procesos

concurrentes), $-cálculo (cálculo de costo), computación interactiva y concurrente, redes

aleatorias de autómatas, máquinas X analógicas, algoritmos difusos y computación topológica,

entre muchos otros (Wegner, Eberbach & Burgin, 2012; Syropoulos, 2008; Burgin, 2005).

La biología, particularmente, ha influenciado de manera importante el estudio de la

hipercomputación durante los últimos años. Lo contrario no necesariamente es cierto. Calude y

Pǎun (2004), basados en los modelos de la computación con membranas (membrane computing),

notan que las estructuras celulares se anidan a través de varias escalas espaciotemporales. A partir

de esta observación sugieren que un sistema de membranas puede acelerar la velocidad de sus

procesos computacionales a medida que los reactores (lugares donde ocurre el procesamiento de

información) decrementan su tamaño y los canales de comunicación se hacen más rápidos. En

este caso, la aceleración es una propiedad del hardware y no del entorno, como en otras máquinas

aceleradas. Estos autores demuestran que su enfoque permitiría, en teoría, resolver el problema

de la detención en un tiempo acotado para el observador externo.

Eberbach (2005) introdujo un formalismo que buscaba capturar la lógica y la expresividad de

computación evolutiva. Su modelo fue denominado máquina de Turing evolutiva (MTE). Una

Tiempo discreto Tiempo acelerado Tiempo análogo

Modelos teóricos

Sistemas clásicos

Computación

cuántica

Redes neuronales

(y modelos

biológicos

relacionados)

Computación de

campo

Computación

relativista

Page 30: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

20

MTE es una serie (posiblemente infinita) de MT que trabajan sobre una población a través de

generaciones. Eberbach demostró varios resultados interesantes. Primero, que el problema de

encontrar el mejor algoritmo evolutivo es indecidible. Segundo, que las MTE son más expresivas

que las MT. Tercero, que las MTE pueden resolver de forma no algorítmica el problema de la

detención de la MUT. Cuarto, que la búsqueda del mejor algoritmo evolutivo, aunque no es

posible, puede ser aproximada potencial e indefinidamente usando técnicas evolutivas. Otros

modelos de hipercomputación bioinspirados son la computación por remoción (computing by

carving) (Manca, Martín-Vide & Pǎun, 1999), las redes neuronales analógicas (Siegelmann,

2003) y los sistemas de membranas difusos (Syropoulos, 2006).

La teoría de la hipercomputación presentada hasta aquí busca ampliar el rango de las funciones

computables por una MT y, por tanto, permanece dentro del ámbito de las funciones matemáticas

y los lenguajes formales. Incluso, los modelos bioinspirados de computación mencionados se

orientan a calcular números no computables, decidir funciones matemáticas no recursivas o

resolver el problema de la detención. Stepney (2009) denomina estos trabajos como

hipercomputación clásica (HC). Syropoulos (2013) defiende la idea de que la HC no solo es

factible, sino significativa. Davis, por su parte, la califica como un mito y defiende la postura

diametralmente opuesta. Como quiera que sea, la HC ha creado una nueva perspectiva teórica y

práctica para las ciencias de la computación (figura 2.1). No obstante, sigue dejando por fuera

formas de computación fundamentales que ocurren en los sistemas computacionales modernos,

en la naturaleza y notablemente, como se verá a lo largo de este documento, en la biología.

Figura 2.1. El panorama de la hipercomputación

2.4 Hipercomputación no-clásica

Si la computación se redujera a la visión matemática del mundo que critican Goldin y Wegner

(2008), en la que el marco de relevancia10 es la matemática y la lógica formales, entonces se

podría suponer que “no hay modelo de computación más general ni poderoso que la máquina de

Turing” (De Castro, 2004, pág. 4). Si el marco de relevancia se expande para considerar la HC,

pero sin salir de los límites de la lógica y la matemática, se puede suponer que existe la posibilidad

teórica y eventualmente práctica de computar funciones y números que la MT no puede.

Sin embargo, como se planteó en la sección 1.1, la noción de computación y el alcance de las

ciencias de la computación se han extendido, modificado o reconsiderado, según el caso, para

incluir fenómenos, procesos y sistemas que antes se pensaban no computables o que simplemente

caían fuera del alcance de la MT y de la lógica de la transformación recursiva de una entrada en

una salida. Nuevos modelos de computación son, por lo tanto, necesarios (Dodig-Crnkovic,

10 Una discusión acerca de los marcos de relevancia en el contexto de los modelos de computación se encuentra en MacLennan (2009).

Lo no computable(indecidible)

Lo computable(decidible)

Hypercomputación (¡!)

Computación algorítmica

Page 31: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

21

2011a). En las condiciones actuales, sostienen Wegner, Eberbach y Burgin (2012), es ingenuo

pensar que la computación (con todos sus matices) se pueda reducir solamente al mundo cerrado

y algorítmico que soporta la MT.

Se reitera: la hipercomputación, además de explorar la posibilidad teórica y práctica de computar

números y funciones que la máquina de Turing es incapaz de computar, está relacionada con

comportamientos y fenómenos que caen fuera del interés de la MT (es decir, en otros marcos de

relevancia). Stepney (2009) denomina a este enfoque hipercomputación no-clásica (HnC). La

HnC es también conocida como computación no Turing (MacLennan, 2009; 2004) o computación

superTuring - en el sentido acuñado por H. Siegelmann (2013).

De acuerdo con Stepney (2009), la HC busca respuestas nuevas a algunas de las viejas preguntas

de la teoría de la computabilidad, pero no cuestiona la noción de computación (como computación

de funciones) ni los pilares sobre los que la teoría se erigió. Dentro de dichos pilares se encuentran,

entre otros, la adopción de los algoritmos como forma ubicua de procesamiento; la equiparación

de los programas informáticos con las funciones matemáticas; la visión de los programas como

estructuras estáticas; el énfasis en la arquitectura secuencial de von Neumann; la desconfianza en

la aleatoriedad y el ruido como recursos computacionales; el acento en el dualismo software-

hardware y la centralidad del problema de la detención como criterio de expresividad

computacional (Stepney et al., 2005; 2006). Stepney cuestiona hasta qué punto, por ejemplo, el

problema de la detención es de interés en la actualidad.

Pues bien, la HnC reta los fundamentos de la computación clásica y explora formas más

consistentes de tratar la computación que exhiben los sistemas computacionales modernos y la

naturaleza. Por ejemplo, computación incorporada (embodied) antes que independiente del

sustrato de implementación; computación paralela antes que secuencial; computación interactiva

(CI) antes que algorítmica; computación autoorganizada y emergente antes que prescrita, y

desarrollo de programas con mecanismos bioinspirados e inexactos antes que basados en

especificaciones funcionales y procesos sistemáticos de refinamiento. Cada uno de estos aspectos

abre ventanas a la posibilidad de explorar formas no clásicas de hipercomputación (Stepney,

2009).

A la fecha, el campo que más y mejor se ha desarrollado dentro del contexto de la HnC es la CI

(Maldonado & Gómez-Cruz, 2015). Esta forma de computación supone que es posible que el

sistema, agente o dispositivo computacional interactúe con su entorno durante el proceso de

computación, algo que en absoluto es posible para un algoritmo. La CI constituye en sí misma un

nuevo paradigma de la hipercomputación (Wegner, Eberbach & Burgin, 2012; Goldin & Wegner,

2008; Goldin, Smolka & Wegner, 2006: Wegner & Eberbach, 2004; Wegner, 1998). La CI es

relevante en HnC por varias razones. De momento, es importante resaltar que este nuevo

paradigma (Goldin, Smolka & Wegner, 2006) permite, en principio, integrar y servir de

basamento para las otras formas de HnC consideradas por Stepney (2009). Por esta razón, y por

su aplicabilidad potencial en biología, se tratará la CI con más detalle en el siguiente capítulo.

Page 32: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

22

3. Hipercomputación interactiva

La computación interactiva (CI) estudia formas de procesamiento de información que van más

allá de las funciones Turing-computables y de la hipercomputación clásica (HC). Más

exactamente, la CI estudia procesos computacionales no terminantes, no algorítmicos y no

funcionales en los que la interacción con el mundo exterior sucede durante el proceso mismo de

cómputo. De esta manera, la CI extiende el alcance de las ciencias de la computación (CC). Este

nuevo paradigma de computación determina el tránsito desde una visión centrada en los

algoritmos, las MT y los sistemas formales, hacia una visión empirista de la computación

congruente con las tecnologías computacionales de este siglo y con los avances de la computación

científica y el pensamiento computacional.

Este capítulo elabora una síntesis de la CI como una forma de hipercomputación no clásica (HnC).

La sección 3.1 discute la visión interactiva de la computación en contraste con la visión

matemática característica de las CC. La sección 3.2 introduce, de manera sucinta, la teoría de la

computación interactiva secuencial. Específicamente, se discuten las máquinas de Turing

persistentes. Se indica, además, de qué manera esta forma de computación es más expresiva que

los algoritmos. La sección 3.3 aporta argumentos a favor de la idea de que la computación

interactiva distribuida es más expresiva que la computación interactiva secuencial. La sección 3.4

analiza la forma como la CI concibe los problemas computacionales más allá de la computación

de funciones. Con base en ello, son descritos tres principios que permiten derivar formas de HnC.

3.1 La computación y su naturaleza interactiva

La computación interactiva (CI) fue introducida por Wegner (1997) y sus fundamentos teóricos

fueron esbozados por el mismo autor en 1998. Una discusión reciente y detallada del campo se

encuentra en el libro Interactive Computation: The New Paradigm (Goldin, Smolka & Wegner,

2006). Se trata de un nuevo paradigma de computación que captura los aspectos fundamentales

de aquellas computaciones en las que, a diferencia de las que soporta la MT, existe comunicación

(o interacción) con el mundo exterior durante el proceso de cómputo (Dodig-Crnkovic, 2010;

Wegner, 1997). La visión matemática de la computación desarrollada en el capítulo 1 es extendida

por la visión interactiva de la computación (Goldin & Wegner, 2008). En la visión interactiva, la

computación es vista como un proceso permanente (ongoing) de interacción con el entorno, antes

que como la transformación, basada en funciones, de una entrada en una salida.

En un sistema interactivo las entradas y las salidas se entrelazan durante la computación. Las

entradas son generadas por el entorno y las salidas son “depositadas” por el sistema en el entorno.

Salidas tempranas pueden afectar entradas futuras. La interacción, aunada a la persistencia,

introduce la noción de historia en la computación, análogamente a como la termodinámica del no

equilibrio lo hizo en la física (Maldonado & Gómez Cruz, 2011). Asimismo, la terminación del

proceso de cómputo deja de ser un criterio de éxito para las computaciones en CI. Un sistema

operativo o Internet, por ejemplo, no se espera que detengan su procesamiento, porque eso

significaría un fallo o un error.

Al permitir la interacción con el entorno, la CI capturó la noción fundamental de sistema abierto.

De esta manera, la computación no puede ser sustraída del entorno en el que sucede. El

comportamiento de dispositivos o de agentes que interactúan con entornos abiertos, cuya

Page 33: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

23

dinámica es impredecible, no puede ser descrito por algoritmos. Para un sistema interactivo, el

entorno se convierte en una parte primordial de su computación. La MT, por su parte, se mantuvo

como un modelo cerrado de computación.

Dos tipos básicos de interacción pueden ser mencionados. La computación interactiva secuencial

(CIS) y la computación interactiva distribuida (CID). La CIS describe la computación de un único

agente interactuando con su entorno mediante un canal de comunicación único. La CID

comprende varios agentes trabajando de forma concurrente y asíncrona, con múltiples canales de

comunicación que pueden, incluso, ser reconfigurados durante la computación (Eberbach, Goldin

& Wegner, 2004). En sus artículos de 1997 y 1998, Wegner conjeturó que la CI es más expresiva

que la computación algorítmica. En el 2004, Goldin, Smolka, Attie y Sonderegger aportaron la

primera demostración para el caso secuencial (ver sección 3.2). El caso distribuido es considerado

en la sección 3.3.

Muchos sistemas y dispositivos computacionales actuales se comportan de manera interactiva.

Algunos ejemplos, como ya se ha mencionado, son los servicios web, los agentes inteligentes, la

robótica situada y comportamental, la simulación basada en agentes, los sistemas operativos, las

interfaces gráficas de usuario y los procesadores de texto (Goldin & Wegner, 2008; Wegner &

Eberbach, 2004). Sin embargo, aunque no ha sido este su alcance de momento, la CI puede

modelar de manera más natural y significativa los procesos computacionales que ocurren en los

sistemas físicos, biológicos y sociales. En el capítulo 6 se discute la aplicación de la CI en el caso

de los sistemas vivos.

La CI es más expresiva que la MT en dos sentidos. De un lado, los modelos interactivos son

capaces de resolver un conjunto de problemas computables más grande que la MT y, por el otro

lado, tales modelos exhiben formas más variadas y ricas de comportamiento (Goldin & Wegner,

2008). En este segundo sentido la CI es una forma de hipercomputación no-clásica. Goldin &

Wegner (2008) aseveran:

[La CI] muestra que la semántica de los flujos (streams) no puede ser expresada por la de las

cadenas (strings), que la interacción incluye comportamiento no algorítmico y no funcional, que

los agentes persistentes no son descriptibles algorítmicamente, que extender los algoritmos a la

interacción transforma los comportamientos de resolución de problemas de “lerdos” a

“inteligentes”. Además, muestra que el aumento del poder expresivo puede, en muchos casos,

disminuir o eliminar la posibilidad de formalización -la capacidad de plantear un problema (o

describir un sistema computacional) formal y completamente (pág. 34).11

Los sistemas interactivos expresan sistemas abiertos y dinámicas emergentes (en su modo

distribuido). Tales aspectos no pueden ser capturados por lógicas de primer orden. De esta

manera, la CI es fundamentalmente incompleta (da Costa & Doria, 2013). Nuevos sistemas

lógicos son necesarios. Las lógicas paraconsistentes ofrecen una alternativa sensata. Es

interesante notar que la incompletitud de los sistemas interactivos contribuye a su expresividad

computacional, pero limita la posibilidad de formalizarlos (Goldin & Wegner, 2008). Es decir, a

mayor expresividad, menor capacidad de formalización.

La computación algorítmica es prescriptiva. La computación interactiva, por su parte, soporta

tanto comportamientos autónomos dependientes de la historia y del contexto, como

comportamientos autoorganizados y emergentes. Dentro de sus ventajas se encuentran el tránsito

de la visión matemática de la computación a la visión interactiva de la computación (Goldin &

11 [IC] shows that the semantics of streams cannot be expressed by that of strings, that interaction includes nonfunctional non-algorithmic behavior, that persistent agents are not algorithmically describable, that extending algorithms to interaction transforms ‘‘dumb’’ to ‘‘smart’’ problem-solving behaviors. It furthermore shows that increased expressive power may in many cases decrease or eliminate formalizability—the ability to state a problem (or describe a computing system) formally and completely. Traducción del autor.

Page 34: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

24

Wegner, 2008), la integración de la teoría de la computación con la teoría de la concurrencia y el

énfasis en la expresividad, antes que solamente en la conveniencia del modelado interactivo.

3.2 Computación interactiva secuencial

Goldin, Smolka, Attie y Sonderegger (2004) introdujeron las máquinas de Turing persistentes

(MTP) como una manera de capturar los rasgos sobresalientes de la CI considerando el mínimo

número de modificaciones a una MT estándar. Las MTP fueron la primera prueba formal de la

conjetura de Wegner (1997; 1998), según la cual la interacción es más expresiva que los

algoritmos. En esencia, las MTP logran capturar la noción intuitiva de computación interactiva

secuencial (Ebebach, Goldin & Wegner, 2004). Una MTP no solamente extiende la sintaxis de la

MT (como muchas de las variantes clásicas que resultaron ser Turing-completas), sino que

además extiende de manera simple pero profunda su semántica. La forma de hacerlo es

incorporando flujos dinámicos (dynamic streams) y persistencia.

Una MTP es un modelo no determinístico con tres cintas semi-infinitas: una de entrada, una de

lectura/escritura, denominada cinta de trabajo, y una de salida (figura 3.1). La MTP interactúa

con su entorno, durante la computación, procesando un flujo (stream) de entradas (tokens, strings

o cadenas) y generando un flujo de salidas correspondiente. El flujo de entradas es generado

dinámicamente por el entorno. El flujo de salidas, a medida que es procesado por la MTP, es

emitido al entorno. Cada vez que la MTP recibe un token de entrada lo procesa por un momento

y produce un token de salida. Este proceso se realiza sin cesar.

Figura 3.1. Configuración de una máquina persistente de Turing. s representanta el estado de la máquina, ai el contenido de la cinta de entrada, wi el contenido de la cinta de trabajo y oi el contenido de la cinta de salida. Las flechas representan la posición de las cabezas lectoras. Los recuadros con sus puntos suspensivos representan las cintas semi-infinitas

Técnicamente, la computación que realiza una MTP es una secuencia infinita de macropasos: el

i-ésimo macropaso recibe el i-ésimo token ai desde el flujo de entrada y produce el i-ésimo token

oi que se integra al flujo de salida. Puesto que cada token es una cadena compuesta por varios

caracteres, un macropaso consiste en múltiples transiciones o micropasos (ver la figura 3.2). Los

tokens de entrada y de salida conforman el flujo de interacción 𝜎𝑎𝑜 = {(𝑎1, 𝑜1), (𝑎2, 𝑜2),… }, el

cual es generado dinámicamente a medida que la computación se desarrolla. El flujo de

interacción constituye el comportamiento observable de la MTP. La cinta de trabajo, que se

describe a continuación, no es observable.

La cinta de trabajo wi procesa el flujo de entrada y almacena su contenido de un macropaso al

siguiente. El contenido almacenado representa la memoria de la “máquina”. En este sentido, la

MTP es persistente. Como consecuencia de esta propiedad, la configuración inicial de la MTP no

es idéntica para cada token de entrada, como si debe serlo en la MT. El token de entrada ai, por

su parte, afecta la computación del i-ésimo macropaso y la cinta de trabajo para el siguiente. De

esta manera, cada token de salida oi depende del token de entrada ai y del contenido de la cinta de

trabajo al inicio del i-ésimo macropaso. La persistencia extiende el efecto de las entradas sobre

las salidas (Goldin & Wegner, 2006). Esta propiedad es referida como dependencia de la historia.

ai

wi

oi

S…

Page 35: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

25

La figura 3.2 ilustra la noción de macropaso. En el primer momento, la máquina está en el estado

s0 y recibe como entrada a1. Tanto la cinta de trabajo como la de salida se encuentran vacías (ɛ).

Tras la ejecución de los micropasos, la máquina alcanza su estado de detención sh para el primer

macropaso. En ese momento la cinta de trabajo conserva información del macropaso w1 y la salida

o1 es emitida hacia el entorno. La flecha curvada representa la transición al segundo macropaso.

El nuevo macropaso inicia recibiendo la entrada a2. La cinta de trabajo conserva w1 y la cinta de

salida se encuentra vacía. Tras sus respectivos micropasos, la máquina alcanza su estado de

detención sh para el segundo macropaso. La cinta de trabajo es actualizada por w2 y la nueva salida

generada es o2. Los puntos suspensivos indican el carácter no terminante de la MTP.

Figura 3.2. Ilustración de un macropaso en una máquina persistente de Turing Fuente: adaptado de Goldin, Smolka, Attie y Sonderegger (2004)

Como se aprecia, en la MTP no hay una idea de salida (output) final, última o definitiva. Lo que

interesa, más que el resultado, es el proceso mismo, que a su vez es dependiente de la historia. De

acuerdo con esto, una MTP puede aprender o evolucionar a medida que procesa las entradas y

almacena información en la cinta de trabajo. Adicionalmente, no se espera que la MTP se detenga

para que su computación sea exitosa. Por el contrario, la detención determina un fallo crítico que

interrumpe su funcionamiento.

Las MTP formalizan la noción intuitiva de máquinas secuenciales interactivas acuñada por

Wegner (1998). Las MTP modelan sistemas autónomos, persistentes, orientados a objetos y

reactivos que proveen servicios en el tiempo. El comportamiento de tales sistemas no es

reproducible ni expresable mediante funciones computables. Por esta razón, la MTP no es un tipo

de MT. Ni siquiera es una máquina en el sentido clásico, pues su comportamiento es

esencialmente no algorítmico (no mecánico) y no funcional (dicho en términos matemáticos). Los

detalles de la formalización y de las pruebas de expresividad de la MTP se pueden encontrar en

el texto de Goldin, Smolka, Attie y Sonderegger (2004).

3.3 Computación interactiva distribuida y simulación basada

en agentes

La interacción, el paralelismo y la distribución son formas ortogonales de comportamiento

(Wegner, 1998). Un sistema compuesto por múltiples partes que operan de manera distribuida y

paralela, pero sin interacción, es algorítmico. Este tipo de sistemas son serializables en el sentido

de que su comportamiento se puede reducir a una composición secuencial. Como resultado, el

comportamiento del sistema queda especificado por la suma de sus partes y es susceptible de ser

formalizado de forma completa (ibíd.).

Cuando la interacción es incluida de manera no trivial (esto es, no lineal) en un sistema distribuido

y paralelo, el comportamiento del sistema se convierte en no composicional. En este caso, el

a1

ɛ

ɛ

S0

a1

w1

o1

Sh

a2

w1

ɛ

S0

a2

w2

o2

Sh

Page 36: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

26

comportamiento global es determinado por las acciones de las partes más el efecto de la

interacción. A tal forma de comportamiento se le denomina emergente. Los comportamientos

emergentes no pueden ser descritos ni formalizados de manera completa. Sin embargo, los

sistemas incompletos son más expresivos que los sistemas completos. Wegner (1998) establece

las siguientes correspondencias (representadas por el signo =) para distinguir los dos tipos de

sistemas:

𝑐𝑜𝑚𝑝𝑙𝑒𝑡𝑜 = 𝑐𝑜𝑚𝑝𝑜𝑠𝑖𝑐𝑖𝑜𝑛𝑎𝑙 = 𝑛𝑜 𝑒𝑚𝑒𝑟𝑔𝑒𝑛𝑡𝑒 = 𝑓𝑜𝑟𝑚𝑎𝑙𝑖𝑧𝑎𝑏𝑙𝑒 = 𝑎𝑙𝑔𝑜𝑟í𝑡𝑚𝑖𝑐𝑜

𝑖𝑛𝑐𝑜𝑚𝑝𝑙𝑒𝑡𝑜 = 𝑛𝑜 𝑐𝑜𝑚𝑝𝑜𝑠𝑖𝑐𝑖𝑜𝑛𝑎𝑙 = 𝑒𝑚𝑒𝑟𝑔𝑒𝑛𝑡𝑒 = 𝑛𝑜 𝑓𝑜𝑟𝑚𝑎𝑙𝑖𝑧𝑎𝑏𝑙𝑒 = 𝑖𝑛𝑡𝑒𝑟𝑎𝑐𝑡𝑖𝑣𝑜

Ya se mostró que en el caso de la interacción secuencial hay más expresividad que en la MT. Pero

la interacción secuencial no captura de forma apropiada la noción de emergencia, la cual sucede,

por definición, en sistemas compuestos por múltiples partes que interactúan de manera no líneal

entre sí y con el entorno (Gómez-Cruz, 2016). De acuerdo con Goldin, Smolka, Attie y

Sonderegger (2004), la computación interactiva secuencial no admite comportamientos no

serializables como la coordinación de entradas provenientes de múltiples fuentes concurrentes.

Estos autores conjeturan que un modelo de CI que considere MTP concurrentes podría ser más

expresivo a una MTP secuencial en términos de los lenguajes de streams que producen.

Similarmente, Eberbach, Goldin y Wegner (2004) sostienen que cuando un sistema interactivo

está conformado por múltiples componentes autónomos, asíncronos y concurrentes, el sistema no

puede ser simulado mediante la serialización de los comportamientos de sus componentes. Los

sistemas multi-componente, específicamente los sistemas complejos basados en agentes (Grimm

et al., 2005), exhiben patrones de comportamiento más ricos que aquellos que soporta un agente

interactivo secuencial (figura 3.3).

Figura 3.3. Expresividad de la computación interactiva

El cerebro humano, por ejemplo, está compuesto por alrededor de 86 mil millones de neuronas

(Azevedo, et al., 2009). En la microescala, cada una de ellas cuenta con capacidades funcionales

limitadas, acceso a información parcial del entorno y la posibilidad de interactuar solo con un

pequeño puñado de otras neuronas. En la macroescala se encuentra una red interactiva que se

autoorganiza sin la intervención de un controlador central o externo. De la red emergen dinámicas

y funciones cerebrales complejas (como la memoria, la cognición, la conciencia y los

sentimientos) que ninguna neurona podría acometer por sí sola. La integración (o síntesis) de la

información parcial de los componentes en la macroescala, le confiere al sistema la capacidad de

interactuar eficientemente con el entorno (Moussaid, Garnier, Theraulaz & Helbing, 2009). La

misma lógica opera en todos los sistemas complejos. La autoorganización de los componentes y

la emergencia de patrones agregados son, por tanto, las principales firmas de la complejidad

(Vicsek, 2002).

Computación

algorítmica

Computación

interactiva

secuencial

exp

resi

vid

ad

+

-

Computación

interactiva

distribuída

Page 37: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

27

La simulación basada en agentes (Gómez-Cruz, 2016) y el modelo Actor de Carl Hewitt (2013)

son modelos de computación distribuida e interactiva que modelan la emergencia en sistemas

complejos. A pesar de ello, ninguno de los dos enfatiza el problema de la expresividad

computacional. No existe un modelo análogo a la MTP que capture la expresividad de los sistemas

interactivos distribuidos. A pesar de ello, la evidencia empírica que soporta su expresividad sobre

los sistemas de interacción secuencial es amplia. Eberbach, Goldin y Wegner (2004) lo dicen en

los siguientes términos:

La interacción distribuida es más expresiva que la interacción secuencial, de la misma manera en

que la interacción secuencial es más expresiva que la computación algorítmica (énfasis original)

(pág. 175).

3.4 Computación no-Turing y las vías hacia la

hipercomputación no-clásica

La CI expande la noción de problema computacional e incluye dinámicas no terminantes,

persistencia, dependencia de la historia, procesos no funcionales, mecanismos no algorítmicos,

sistemas distribuidos y patrones emergentes. Todos estos son aspectos relevantes para los

sistemas computacionales modernos, la ciencia computacional y el pensamiento computacional.

En CI, la capacidad de un sistema interactivo para resolver problemas es sinónimo de expresividad

(Eberbach, Goldin & Wegner, 2004). La visión interactiva de la computación ya no se reduce a

los conjuntos de funciones matemáticas que un modelo puede computar. Dicho de forma general:

la HnC, especialmente la CI, desplaza la visión de la computación centrada en las matemáticas

hacia una visión de la computación centrada en la computación.

Goldin y Wegner (2006) muestran que la CI reivindica el carácter empirista, antes que

racionalista, de la computación. Las matemáticas tradicionales, notablemente el programa

formalista de Hilbert, han sido justificadas mediante principios racionalistas. Los supuestos

acerca de la naturaleza de la computación, por su parte, sostienen Goldin y Wegner, también han

sido racionalistas. Sin embargo, el enfoque empleado por Turing para demostrar la indecidibilidad

en matemáticas fue empirista. Fue ese enfoque el que dio paso al computador y a las CC. Y es la

CI, junto con otros modelos y nuevos enfoques (Stepey, 2009; Stepney et al., 2006; 2005), la que

le devuelve a la teoría de la computación su talante empirista.

Bajo esta perspectiva, Eberbach, Goldin y Wegner (2004) identifican tres principios que permiten

derivar modelos de computación más expresivos que la MT:

• Interacción con el mundo.

• Infinidad de recursos.

• Evolución del sistema.

El primer principio se refiere explícitamente a la CI descrita en las secciones anteriores. El

segundo principio, la infinidad de recursos, se refiere a la idea de extender la MT mediante la

remoción de sus límites a priori o de considerar modelos alternos que exploten alguna forma de

infinito. Por ejemplo, permitiéndole al sistema tener acceso a una configuración inicial infinita,

una arquitectura infinita, tiempo infinito o alfabetos infinitos. Cuando una MTP, por ejemplo,

preserva información de una computación a la siguiente, su configuración inicial puede crecer

indefinidamente dando paso a una configuración infinita. Un autómata celular compuesto por

infinitas células tiene una arquitectura infinita. Un modelo que admita computaciones no

terminantes, como las MTP y los autómatas celulares, permite tiempo infinito. Las redes

neuronales recurrentes analógicas admiten, en principio, precisión infinita.

El principio de evolución le permite a un dispositivo o sistema computacional adaptar su

hardware o su software a través del tiempo y de manera autónoma. Las máquinas desorganizadas

Page 38: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

28

(u-machines), formuladas por Turing en 1948, son modelos análogos a las redes neuronales que

pueden evolucionar su red de conexiones mediante búsquedas genéticas. Distintas estrategias para

implementar dinámicas evolutivas pueden ser usadas: aprendizaje automático, computación

evolutiva, hardware evolutivo, modelos de autoorganización guiada, hardware autoreplicante,

entre otros. Bajo una perspectiva evolutiva, una MT estándar podría evolucionar hacia una MTP

y exhibir, así, comportamientos más expresivos que la MT (Eberbach, Goldin & Wegner, 2004).

Como en la evolución biológica, la evolución artificial puede ser ilimitada.

Los tres principios están profundamente inter-relacionados. Por ejemplo, no es posible tener

evolución sin infinidad o sacar provecho de la infinidad sin interacción (ibíd.). Como quiera que

sea, la interacción -secuencial o distribuida- constituye el basamento de los otros dos principios

mencionados. La interacción entre los agentes o los dispositivos computacionales es

indispensable para que la evolución tenga lugar en un sistema distribuido. La interacción con el

entorno, por su parte, restringe los límites y las posibilidades de la evolución. Por otro lado, la

infinidad está implícita en el comportamiento interactivo. La arquitectura de Internet y de otros

sistemas interactivos y masivamente paralelos no limita el número de componentes

computacionales que los integran. El número de componentes, de hecho, se modifica

dinámicamente y no se puede modelar de forma finita.

La computación algorítmica, se reitera, no es una teoría completa. Wegner, Eberbach y Burgin

(2012) demuestran que los sistemas interactivos son más completos (computacionalmente) que la

MT y, sin embargo, no constituyen un modelo de computación completo. Para estos autores, la

búsqueda de una teoría completa de la computación (es decir, una teoría de todas las cosas para

la computación) podría ser infinita.

Page 39: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

29

4. Computación biológica

El físico austriaco Erwin Schrödinger (1887-1961), ganador del premio Nobel de física (1933),

mostró convincentemente en su libro de 1944, ¿Qué es la vida? (What is life?), que el rasgo que

caracteriza a los sistemas vivos es el de evitar su tendencia al equilibrio (Goodsell, 2009). Para

que tal propiedad fuera posible, los sistemas vivos incorporaron (embodied) diversas funciones,

que van desde la adquisición de nutrientes, la explotación de distintas fuentes de energía y la

autopreservación, hasta el establecimiento, la reproducción y el mantenimiento de patrones de

organización compatibles con el estado vivo. Todas ellas requieren en mayor o menor medida la

manipulación y el uso de información. En este sentido, los procesos biológicos están soportados

en el procesamiento de información (Kampfner, 1989). Como resultado, “la vida sin computación

es inconcebible” (Tsuda, Zauner & Gunji, 2006, pág. 39). Es posible afirmar, desde este punto de

vista, que la computación es la piedra angular de la biología.

Este capítulo introduce el campo reciente de la computación biológica. La sección 4.1 propone

una taxonomía de las interacciones entre la biología y las ciencias de la computación, con el fin

de establecer criterios de demarcación básicos (en el espíritu de la filosofía de la ciencia) que

permitan distinguir la computación biológica de otros campos cercanos o relacionados. La sección

4.2 expone diversas posturas frente a la pregunta ¿procesan información los sistemas vivos? y

justifica la relevancia científica de comprender la vida en términos computacionales. La sección

4.3 introduce la dinámica de la información como la propiedad más relevante de la vida y presenta

una definición operativa del concepto de información. La sección 4.4 precisa la noción de

computación biológica, describe sus antecedentes, elabora un estado situacional de sus principales

desarrollos y describe, a manera de ejemplo, algunos de ellos. La sección 4.5 establece una síntesis

de los rasgos computacionales de los sistemas vivos y a partir de ellos redefine la noción de

computación. La sección 4.6 caracteriza la lógica de la vida a partir de las nociones de

individualidad, interacción, multiescalaridad y emergencia.

4.1 Interacciones entre la biología y las ciencias de la

computación

La relación entre la biología y la computación surgió desde las primeras conceptualizaciones

acerca de lo que significa computar y de la búsqueda de los medios posibles para hacerlo. Más

adecuadamente, el diálogo entre ambos campos precede la invención y el trabajo con

computadores tal como se conocen hoy. Durante décadas, esta fructífera relación se ha mantenido

y enriquecido, resultando en diversas áreas de investigación bien establecidas en la comunidad

académica y científica (Navlakha & Bar-Joseph, 2011; Wooley & Lin, 2005). La presente sección

introduce una taxonomía de las interacciones entre la biología y las ciencias de la computación,

cuya finalidad es la de distinguir la computación biológica de otros campos cercanos o

relacionados.

Probablemente, las primeras referencias que relacionan la biología con la computación se

encuentran en D’Arcy W. Thompson (1860-1948), desde la biología, y en Alan M. Turing (1912-

1954) y John von Neumann (1903-1957), desde la computación. Aunque la noción de

computación no aparece en su libro, On Growth and Form, Thompson (1917) emplea un enfoque

computacional, por ejemplo, cuando aborda la relación entre la forma y la eficiencia mecánica.

La obra pionera de Turing, por su parte, está cargada de analogías biológicas y de explicaciones

Page 40: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

30

computacionales de los procesos vivos. Ejemplos de ello son el test de inteligencia (Turing, 1950),

la referencia a las búsquedas genéticas, el modelo de redes conexionistas booleanas (a las que

denominó máquinas no organizadas tipo B) (Turing 1948) o el estudio, apoyado en simulaciones

computacionales, de las bases químicas de la morfogénesis (Turing, 1952). Gracias a ello, Turing

es considerado como el fundador de la inteligencia artificial y como el precursor de las redes

neuronales artificiales, la computación evolutiva, el aprendizaje por refuerzo, la biología

(molecular) computacional y la vida artificial (Copeland, 2004; Eberbach, Goldin & Wegner,

2004). Von Neumann, asimismo, en su esfuerzo por abstraer la lógica de la autoreproducción

biológica, concibió los autómatas celulares (conjuntamente con Stanislaw Ulam) y formuló, hacia

1952, la teoría de los autómatas autoreproductores (von Neumann 1966).

Desde entonces, biólogos y científicos de la computación han creado un productivo bucle de

retroalimentación. De un lado, el aumento en las capacidades computacionales y los desarrollos

teóricos de la computación han posibilitado avances sin precedentes en biología. Por otro lado, la

computación se ha nutrido de metáforas, modelos y enfoques bio-inspirados. Históricamente, los

principales propósitos que marcaron la relación desde la perspectiva biológica han sido:

(i) Organizar y procesar datos biológicos.

(ii) Modelar computacionalmente fenómenos vivos sacando provecho de las prestaciones

(cada vez mayores) de los sistemas computacionales.

Desde el punto de vista de las ciencias de la computación los intereses se han orientado hacia:

(i) Tomar inspiración de los fenómenos biológicos para diseñar algoritmos que puedan

resolver (de forma aproximada, pero sensata) problemas computacionalmente difíciles,

esto es, intratables por métodos exactos.

(ii) Construir sistemas bio-inspirados que se comporten de manera “inteligente”.

Actualmente, son seis las principales tendencias que vinculan a biólogos y científicos de la

computación, siendo la última, la computación biológica, la más reciente y la menos explorada.

Dichas tendencias son:

1. Almacenamiento, descubrimiento, manipulación, integración, análisis y visualización

de información biológica a partir de datos experimentales extraídos o tratados por

medios computacionales. Los trabajos en este campo son habitualmente agrupados bajo

la denominación de biología computacional. La bioinformática (y sus aplicaciones en

genómica, transcriptómica, proteómica, interactómica, metagenómica, microbiómica,

entre otras “ómicas”) (Ramsden, 2015), la inmunoinformática (Tong & Ren, 2009) y la

ecoinformática (Michener & Jones, 2012) forman parte de esta tendencia. Ejemplos

conspicuos de la investigación realizada en biología computacional incluyen el proyecto

genoma humano (Cull, 2013) y la manipulación computacional de información genética

para lograr la síntesis artificial de ADN (Gibson et al., 2010).

2. Modelamiento, simulación y síntesis computacional de procesos y sistemas vivos. Esta

es la principal preocupación de la vida artificial (VA) (Gómez-Cruz, 2013), dentro de

la cual se han desarrollado campos como los sistemas de Lindenmayer (Prusinkiewics

& Lindenmayer, 1990), las químicas artificiales (Banzhaf & Yamamoto, 2015), los

autómatas celulares (Langton, 1986) y la simulación basada en agentes (Macal, 2009).

Otros enfoques, como la biología computacional de sistemas (Kitano, 2002) y la

biología sintética (Gramelsberger, 2013), se orientan también al modelamiento y la

simulación de sistemas vivos. Notablemente, la VA ha sido considerada como el

enfoque sintético de la biología, en contraste con los métodos analíticos tradicionales

(Langton, 1989). Varios campos de trabajo aplicado han surgido motivados por la VA,

entre ellos la tecnología viva (living technology) (Bedau et al., 2010), la ingeniería

morfogenética (Doursat, Sayama & Michel, 2013), la computación orgánica (Würtz,

2008) y la autoorganización guiada (Prokopenko, 2014).

Page 41: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

31

3. Algoritmos bio-inspirados para la resolución de problemas computacionalmente

“complejos” (NP y NP-completos) relacionados con optimización, búsqueda,

reconocimiento de patrones, aprendizaje, clasificación y agrupamiento. Dos ramas

fuertemente relacionadas componen esta tendencia: la computación bioinspirada

(Olariu & Zomaya, 2006) y el trabajo con metaheurísticas basadas en poblaciones

(Talbi, 2009). Una línea de trabajo de gran importancia surgida en este contexto es la

construcción de sistemas “inteligentes” motivados por los sistemas vivos (en el sentido

de la inteligencia computacional (Engelbrecht, 2007) o de la inteligencia artificial bio-

inspirada (Floreano & Mattiussi, 2008)). Algunos de los paradigmas que se han

desarrollado dentro de este plano son las redes neuronales artificiales (Graupe, 2013),

la computación evolutiva (Eiben & Smith, 2015), la inteligencia de enjambres

(Engelbrecht, 2005) y la computación inmune (Dasgupta & Niño, 2009). En un texto

reciente se describen alrededor de 100 nuevos algoritmos bio-inspirados (Xing & Gao,

2014). Algunos trabajos apuntan, además, a la hibridación y paralelización de

metaheurísticas (Talbi, 2013; Alba, 2005), así como al diseño e implementación de

hiper-heurísticas (Burke et al., 2013) y (meta) heurísticas autoadaptativas (Cotta,

Sevaux & Sörensen, 2008).

4. Nuevos modelos y arquitecturas de computación inspirados en el funcionamiento y la

estructura de los sistemas biológicos. Algunos de los campos que contribuyen con esta

tendencia son la computación basada en ADN (Ignatova, Martínez-Pérez &

Zimmermann, 2008; Amos, 2005), la computación con membranas (Pǎun, Rozenberg

& Saloma, 2010; Pǎun, 2005; 2002), los autómatas celulares (Schiff, 2008; Mitchell,

1998), las máquinas celulares (paralelas) (Sipper 1990; 1997; Toffoli & Margolus,

1987), las máquinas de Turing evolutivas (Eberbach, 2005), el cálculo de interacción de

proteínas (Fernández, 2009), la computación química (Dittrich, 2005) y la computación

celular (Teuscher, 2009; Amos, 2004). Se ha demostrado que la mayoría de modelos de

computación bio-inspirados son Turing-completos (Maldonado & Gómez-Cruz, 2015).

También se han propuesto modelos de computación bio-inspirados que logran

sobrepasar, teóricamente, el poder computacional de la máquina de Turing (Sección

2.4).

5. Uso de materiales biológicos para implementar computaciones. Dentro de los ejemplos

se encuentra el trabajo seminal de Adleman (1994) sobre computación con ADN, la

computación con bacterias (Sakakibara & Hiyama, 2012), con moho de fango

(Adamatzky, 2016; 2015; 2010), con células (Daniel, Rubens, Sarpeshkar & Lu, 2013)

y con clusters o redes celulares (Solé & Macia, 2011; Regot et al., 2010). Buena parte

de los enfoques que se enmarcan en esta tendencia están orientados a la implementación

de máquinas convencionales (máquinas de Turing) o a la resolución de problemas

matemáticos o ingenieriles que requieren computación.

6. Estudio de la naturaleza computacional de los sistemas biológicos. Varios autores

sostienen que la computación es un aspecto clave para explicar el origen, la lógica y la

complejidad de la vida (ejemplos son Mayfield (2013), Bray (2009) o Kampfner

(1989)). Distintas aproximaciones han comenzado a converger hacia una explicación

computacional de la vida. Este nuevo campo se conoce en la literatura como

computación biológica (Mitchell, 2012) y se puede definir como un subconjunto de la

computación que ocurre en la naturaleza (una de las vertientes más recientes de la

computación natural (Kari & Rozenberg 2008)). Ejemplos típicos son la computación

en ciliados, la computación en bacterias y la computación en el sistema inmune.

La taxonomía que precede permite distinguir conceptual, lógica y filosóficamente entre diversas

aproximaciones:

• La computación como soporte tecnológico para investigar acerca de los sistemas vivos.

• La computación como método (basado en simulación) para el estudio de la vida.

• La computación inspirada por la vida (ítems 3 y 4 de la lista anterior).

• La computación con sustratos vivos.

Page 42: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

32

• La computación que ocurre naturalmente en los sistemas biológicos.

La última aproximación mencionada es la que apropiadamente puede ser denominada como

computación biológica (y la que interesa en esta investigación). Sin embargo, cabe aclarar que

las fronteras entre las diversas tendencias mencionadas son borrosas y que los vasos comunicantes

entre ellas son múltiples y diversos (Kari & Rozenberg, 2008): la vida artificial, por ejemplo,

sirve como soporte teórico y conceptual para la computación bio-inspirada (Kim & Cho, 2006) y

para la computación biológica (Gómez-Cruz & Maldonado, 2011; Tsuda, Zauner & Gunji, 2006);

la computación bio-inspirada se aplica cada vez más en problemas de bioinformática (Recknagel,

2006; Lahoz-Beltrà, 2004) y los nuevos modelos y arquitecturas de computación están motivando

el desarrollo de algoritmos y sistemas de computación bio-inspirada (especialmente, técnicas

paralelas) (Talbi, 2009).

4.2 ¿Procesan información los sistemas vivos?

La computación biológica está lejos de ser plenamente comprendida y aceptada. Por un lado,

debido a la complejidad que exhiben los sistemas vivos y, por otra parte, porque el interés en este

campo es relativamente reciente (Navlankha & Bar-Joseph, 2015; Mitchell, 2012; 2009; Solé &

Macia, 2011; Kari & Rozenberg, 2008; Syropoulos, 2008; Amos, Hodgson & Gibbons, 2007).

Pese a ello, la comprensión de la vida y de sus procesos en términos computacionales es un tema

que se ubica en la frontera del conocimiento y de la investigación de punta en el mundo (Niiranen

& Ribeiro, 2011). Comprender cómo la vida procesa información, esto es, cómo computa,

permitirá acceder a una visión más unificada de la biología (Farnsworth, Nelson & Gershenson,

2013; Mitchell, 2012), a la vez que ampliará la concepción sobre la noción de computación

(Rozenberg, Bäck & Kok, 2012; Kari & Rozenberg, 2008; Rozenberg, 2008). La importancia y

las implicaciones de este tema para la biología en general, así como para las ciencias de la

computación, las ciencias de la complejidad (Maldonado & Gómez-Cruz, 2011; Mainzer, 2007)

y la ingeniería de sistemas complejos (Gómez-Cruz & Maldonado, 2011), no escapan a una

mirada reflexiva.

Pese a los avances y al interés, no hay todavía un consenso en la comunidad científica sobre si los

sistemas biológicos procesan información o no. En contextos como el de computación natural, la

inteligencia computacional, la computación suave o flexible (soft computing) o el diseño de

metaheurísticas, es frecuente encontrar investigadores que buscan inspiración en la biología para

para resolver problemas ingenieriles o computacionales, sin reparar en si el fenómeno subyacente

es –o no– esencialmente computacional (véase, por ejemplo, Negoita & Hintea, 2009; Talbi,

2009; de Castro, 2007; Engelbrecht, 2007; Dorigo & Stützle, 2004). El principal interés, en estos

casos, es la utilidad práctica de los enfoques bioinspirados. Pero esto no es una regla. Algunos

autores, en esos mismos contextos, reconocen las capacidades computacionales de los sistemas

vivos y llaman la atención sobre la necesidad de comprenderlas y de formular, a partir de ellas,

enfoques más adecuados para resolver los problemas de la ingeniería y computación (ejemplos

de ello son Dasgupta & Niño, 2009; Forrest, Balthrop, Glickman & Ackley, 2005).

Otros autores simplemente no admiten el hecho de que la naturaleza procese información, salvo

en un sentido estrictamente metafórico. Calude y Pǎun (2000), por ejemplo, sostienen:

En realidad, no aceptamos el hecho de que la naturaleza compute. Nosotros los humanos como

seres racionales, vemos computaciones en muchos lugares donde la naturaleza simplemente

evoluciona. Aceptar que la naturaleza computa es como aceptar que las abejas tienen alguna

representación geométrica del hecho de que las células de sus nidos sean hexagonales. Aun así,

hablamos aquí, metafóricamente, acerca de las formas/herramientas/estructuras utilizadas por la

naturaleza para computar (pág. 38).12

12 Actually, we do not accept the fact that nature computes. We humans as rational beings, see computations in the many places where the nature just evolves. Accepting that nature computes is like accepting that the bees have any

Page 43: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

33

La misma postura es reiterada por estos autores en su libro de 2001. Para ellos, la computación

tiene que ver con cálculos y abstracciones matemáticas y, en consecuencia, con una actividad

estrictamente humana. Análogamente, Syropoulos (2008) considera que la computación no ocurre

realmente en la naturaleza, sino que son los humanos quienes se encargan de interpretar ciertas

secuencias de eventos como computaciones.

Finalmente, un número creciente de investigadores ha comenzado a afirmar que la naturaleza y

la vida, de manera especial, procesan información (Dodig-Crnkovic & Giovagnoli, 2013a;

Mitchell, 2012; 2009; Zenil, 2012; Vedral, 2010; Bray, 2009; Kari & Rozenberg, 2008; Cohen,

2006; Hodgson & Gibbons, 2007; Ben-Jacob & Levine, 2006; Prescott & Rozenberg, 2002;

Maynard-Smith & Szathmáry, 2001; Sipper, 1997; Hogg & Huberman, 1984). Para ellos, la

computación biológica es un proceso que sucede en la naturaleza, antes que una abstracción, una

metáfora o una simulación computacional de la vida. De forma radical, incluso, se ha llegado a

argumentar que la computación es una característica esencial (esto es, fundamental) para que la

vida tenga lugar (Maldonado & Gómez-Cruz, 2015; Mitchell, 2012; Tsuda, Zauner & Gunji,

2006; Dittrich, 2005). La formulación de una teoría acerca del procesamiento de información en

sistemas vivos constituye actualmente un problema abierto en vida artificial (Bedau, et al., 2000)

y en ciencias de la complejidad (Mitchell, 2009).

El enfoque computacional de la vida permite entenderla no por lo que es, sino por lo que hace. Y

lo que la vida hace de forma distintiva (para vivir), se sostiene (Maldonado & Gómez-Cruz, 2015),

es procesar información. El procesamiento de información es el término que conlleva una serie

de procesos y dinámicas, de estructuras y relaciones (de gran escala y de corto plazo), tales como

la percepción; el almacenamiento de información y la memoria; el filtrado, la recuperación, la

modificación, la reparación, la optimización, la difusión y la síntesis de información (estos rasgos

se discutirán un poco más en la sección 4.5); la interacción y la comunicación; el reconocimiento

de patrones; la capacidad de respuesta en tiempo real; el sustrato físico y la conexión hardware-

software. David Baltimore, Premio Nobel de Fisiología o Medicina de 1975, y Sydney Brenner,

quien alcanzaría el mismo galardón en el 2002, impulsaron considerablemente la visión

computacional de la biología hacia finales de la década de los 90. Para Baltimore (2001), la

biología es una ciencia de la información. Brenner (1995), por su parte, manifestó la necesidad

de desarrollar una biología computacional.

4.3 De la dinámica de la energía a la dinámica de la

información

Los fenómenos biológicos difieren en formas fundamentales de los fenómenos físicos. De

acuerdo con Christopher Langton (1992), quien es considerado el fundador de la vida artificial,

la propiedad más sobresaliente de los sistemas vivos es que su comportamiento está basado en

una compleja dinámica de la información. Mientras que la dinámica de la energía predomina en

los sistemas no-vivos, en los sistemas vivos la dinámica de la información ha logrado tomar

ventaja. De esta manera, la información, cuyo rol ha permanecido pasivo para los sistemas

naturales inanimados, adquiere un rol activo en el contexto de la vida (Roederer, 2005; Hopfield,

1994).

Langton (1992) investigó bajo qué condiciones se puede esperar que la dinámica de la

información emerja espontáneamente y controle el comportamiento de un sistema físico. Para ello

recurrió al formalismo de los autómatas celulares (AC). La razón estriba en que los AC soportan

todo el rango de comportamientos conocido para los sistemas dinámicos (que va desde la

convergencia hacia puntos de equilibrio, pasando por comportamientos periódicos, hasta

geometrical representation of the fact the cells of their nests are hexagonal. Still, we speak here, metaphorically, about ways/tools/frameworks used by nature for computing. Traducción del autor.

Page 44: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

34

dinámicas caóticas). Esta propiedad ha llevado a pensar que los AC constituyen una buena

aproximación discreta a los sistemas físicos (Wolfram, 1984). Tras parametrizar el espacio de las

reglas posibles en AC unidimensionales, Langton (1992) identificó una zona crítica, entre los

comportamientos periódicos y caóticos, cuyas estructuras adquieren la capacidad de modificar,

almacenar y transmitir información. A tal zona la denominó el filo del caos. Basado en estos

resultados, Langton propuso la tesis según la cual la vida evoluciona hacia esa zona crítica donde

la dinámica de la información emerge espontáneamente y donde la complejidad del sistema se

hace creciente (figura 4.1). En términos físicos, el filo del caos sucede en las inmediaciones de

una transición de fase de segundo orden.

Desde el punto de vista conceptual, las nociones de computación, dinámica de la información y

procesamiento de información son equivalentes, puesto que las tres involucran la manipulación y

el uso de información. Tal equivalencia ha sido introducida, discutida y justificada desde campos

como la filosofía de la información y la computación (Fioridi, 2011, capítulo 1), la teoría de los

algoritmos super-recursivos (Burgin, 2005), la teoría de sistemas complejos (Mitchell, 2009), las

ciencias de la computación (Denning, 2012), el info-computacionalismo (Dodig-Crnkovic,

2014a), la computación natural (Rozenberg, Bäck & Kok, 2012; Dodig-Crnkovic, 2011), la vida

artificial (Langton, 1992), la biología (Farnsworth, Nelson & Gershenson, 2013; Bray, 1995), la

ciencia cognitiva (Fresco, 2014, capítulo 6) y la computación biológica (Mitchell, 2012). La

computación, sobre un nivel fundamental, es la dinámica de la información (Dodig-Crnkovic,

2014a). Pero ahora, ¿qué es la información?

Figura 4.1. Espacio comportamental de los sistemas dinámicos en relación con su complejidad. El esquema muestra cómo, cerca al valor crítico del parámetro lambda de Langton (𝝀𝒄), la complejidad se hace creciente Fuente: adaptado de Langton (1992)

La información es un concepto elusivo, y pese a ello potente, que se puede entender desde diversas

perspectivas en función de la meta que se persiga (Fioridi, 2011; Reading, 2011). De acuerdo con

el contexto científico del que se trate (por ejemplo, teoría de la información, complejidad

algorítmica, procesamiento de información, recuperación de información o ciencia de la

información), distintos significados, modelos y modos de medición suelen ser considerados

(Wing, 2008). Kauffman (2011) argumenta que, en la actualidad, continuamos sin saber

exactamente qué es la información y cuál es su rol en la biología. Las dos principales teorías de

la información (esto es, la teoría matemática de la comunicación de Shannon y la teoría

algorítmica de la información de Kolmogorov -TAI), a pesar de haber sido empleadas de forma

amplia en diversos campos de la biología, muestran limitaciones en el contexto de la computación

biológica (Mitchell, 2012; Niiranen & Ribeiro, 2011; Gatenby & Frieden, 2007).

Shannon estaba interesado en el problema de transmitir un mensaje desde una fuente de

información hasta un destino a través de un canal de comunicación sujeto a ruido. Su trabajo tiene

que ver con la capacidad de un sistema para transmitir información antes que con el significado

de la información transmitida (Reading, 2011). En su trabajo de 1948, Shannon puso abiertamente

de manifiesto, de hecho, que, dentro del marco de relevancia de su teoría, el significado de la

Co

mple

jidad

alta

baja

0.0 1.0

Fijo

Periódico Caótico

Complejo

Page 45: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

35

información producida por la fuente es irrelevante. Esto quiere decir que los aspectos semánticos

de la información no fueron considerados. En consecuencia, la información de Shannon no puede

ser expresada como una cantidad dependiente del contexto. Para los sistemas vivos, sin embargo,

la información siempre es semántica o dependiente del contexto (Niiranen & Ribeiro, 2011). Un

ejemplo interesante del papel de la información semántica se encuentra en el caso de las células

madre.

Las células madre de un organismo, cuyo ADN contiene en principio la misma cantidad de

información de Shannon, varían en sus propiedades y comportamiento de acuerdo con las

características de sus nichos (microentornos), de los tejidos donde residen, de las señales

sistémicas emitidas por el organismo y de factores ambientales (Drummond-Barbosa, 2008). De

esta manera, cada célula tiene el potencial para autorrenovarse o diferenciarse en función de la

naturaleza de su entorno y del “significado” que la célula le otorgue. Un entorno atípico, entonces,

conlleva la diferenciación anormal de las células madre. El aumento de acidez en el esófago, por

ejemplo, puede hacer que las células madre no se diferencien en células epiteliales escamosas,

como es normal, sino en células colónicas, similares a las intestinales. Este trastorno se conoce

como síndrome de Barret.

Kolmogorov, por su parte, se interesó en la longitud del algoritmo más corto que reproduzca,

sobre una máquina universal de Turing, cierta cadena de símbolos. Dicha longitud representa el

“contenido” de información -o la complejidad algorítmica- de la cadena considerada (Floridi,

2004). Cuando es aplicada a la biología, la TAI de Kolmogorov presenta dos fallas fundamentales

(Adami, 2009): de un lado, el proceso de buscar el algoritmo más corto podría nunca terminar.

Como consecuencia, la complejidad algorítmica resultaría, en esencia, no computable (para una

MT). Por otro lado, las cadenas completamente aleatorias poseen más complejidad algorítmica

(esto es, mayor contenido de información) que aquellas que exhiben algún patrón de organización.

En ese caso, habría más información en una señal de ruido blanco que en una célula. Adami (ibíd)

sostiene que, “de hecho, la complejidad de Kolmogorov es lógicamente inconsistente” y aporta

argumentos al respecto.

A lo anterior se suma que ni Shannon ni Kolmogorov precisan lo que la información es

(Kauffman, 2011; Burgin, 2010). Shannon proporciona una medida de la cantidad de información

que posee la fuente en un sistema de comunicación. Kolmogorov cuantifica el contenido de

información como la longitud del algoritmo más corto. Burgin (2010) enfatiza que no es lo mismo

la información que las mediadas de la información. Varios biólogos, teóricos de la información y

científicos de la computación han cuestionado la aplicabilidad de las teorías de la información

descritas aquí dentro del marco de relevancia de la biología (Reading, 2011; Burgin, 2010;

Godfrey-Smith, 2007; Roederer, 2005; Floridi, 2004). Mitchell (2012) asegura, específicamente,

que una eventual teoría de la computación biológica deberá considerar nociones nuevas de

información y de procesamiento de información (computación) que sean consistentes con las

características y la naturaleza de la vida.

Una definición operativa de la noción de información se puede extraer de los trabajos de Reading

(2011) y Roederer (2005). Reading define la información como una función de la manera en que

la materia y la energía se (auto-)organizan y forman patrones en el espacio-tiempo. Un patrón de

información adquiere significado para una entidad (viva o manufacturada) que pueda detectarlo

y descifrarlo. En nuestro caso, una entidad receptora puede ser una macromolécula, una célula,

un organismo pluricelular o una colonia (por ejemplo, de bacterias o de abejas). De forma general,

toda entidad biológica está dotada de receptores que le permiten acceder a un subconjunto de los

patrones que encontrará en su entorno. Aquellos que provocan cambios estructurales,

comportamentales o funcionales en la entidad receptora constituyen información significativa

(Reading, 2011). La información que no se puede detectar o aquella que, aunque detectada, no

genera cambios en la entidad receptora se considera sin significado.

Page 46: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

36

Roederer (2005) sostiene una postura similar. Para él, la evolución ha moldeado y favorecido

diversos mecanismos que le permiten a los sistemas biológicos establecer correspondencias entre

algunos patrones críticos detectados en el entorno y las respuestas (comportamentales,

estructurales o funcionales) necesarias para mantener el estado vivo. Dichas correspondencias

están mediadas por lo que Roederer denomina interacciones guiadas por información (IGI).

Específicamente, una IGI sucede cuando un patrón 𝑃𝐸, presente en el entorno 𝐸, produce un

cambio específico en un sistema vivo 𝐴. En tal caso, 𝑃𝐸 codifica, expresa o representa información

pragmática para 𝐴. De esta manera, las nociones de información significativa e información

pragmática no solamente son equivalentes, sino que son relevantes para los sistemas biológicos.

El flujo de información es esencial para la vida (Tračik & Bialek, 2016). Sin embargo, es gracias

a la capacidad de reconocer y procesar información pragmática (o significativa) que los

organismos logran autogestionarse e interactuar con el entorno (Farnsworth, Nelson &

Gershenson, 2013). La vida se puede definir, entonces, como un sistema de procesamiento de

información que ha adquirido la capacidad de almacenar y procesar la información necesaria para

su mantenimiento y su reproducción (Gatlin, 1972). La computación es, de esta manera, un

aspecto fundamental para explicar la complejidad y la evolución de la vida (Fernández & Solé,

2006). Bajo la perspectiva aquí desarrollada, la vida se debe considerar como una forma

emergente de computación que brotó en el filo del caos (Emmeche, 1998).

4.4 Computación biológica: noción, antecedentes y ejemplos

La computación biológica (CB) admite dos acepciones estrechamente relacionadas. Comprendida

como fenómeno, la CB se refiere a la computación que los organismos biológicos llevan a cabo

en su entorno natural. Entendida como proyecto de investigación, consiste en el estudio de la

manera como esa computación toma lugar en los sistemas vivos y sus propiedades. Se puede

zanjar la distinción afinando el lenguaje:

Computación biológica (biological computation): Procesamiento de información que

ocurre naturalmente en distintas escalas espacio-temporales de los procesos y sistemas

biológicos.

(Teoría de la) computación biológica (biological computing (theory)): Estudio de la

naturaleza computacional de los sistemas vivos; de los mecanismos por los cuales

procesan información y de los modelos de computación que capturan la lógica y la

expresividad computacional de la vida.

Históricamente, la noción de CB biológica fue introducida por Hogg y Huberman en 1984.

También fue tratada de forma independiente por Hopfield en 1986 y por Brenner en 1995. Sin

embargo, nociones alternativas, como la de procesamiento de información biológica, fueron

consideradas con anterioridad. Sampson (1976), por ejemplo, fue uno de los primeros en explorar

el procesamiento de información que los sistemas vivos llevan a cabo de forma natural. Su trabajo

se centró, específicamente, en el estudio de los procesos de codificación y control biomolecular,

y en la transmisión de información a nivel genético y neuronal. Kampfner (1989), por su parte,

puso en primer plano la idea de que el procesamiento de información soporta las funciones

biológicas y posibilita la adaptación de la vida a su entorno.

Pese a que existen diversos antecedentes de la CB, no se puede hablar aún de un campo unificado.

Un llamado reciente al reconocimiento y la unificación de la CB se encuentra en el trabajo de

Mitchell (2012). Siguiendo la taxonomía propuesta en la sección 4.1, es claro que la CB difiere

en propósito y alcance de la bioinformática, de la biología computacional, de la simulación de

sistemas vivos, de la computación bio-inspirada y del uso de materiales biológicos para resolver

problemas computacionales (Maldonado & Gómez-Cruz, 2015; Mitchell, 2012; Gómez-Cruz &

Maldonado, 2011). De acuerdo con Mitchell (2012), aunque las fronteras entre estos campos son

Page 47: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

37

difusas, solo la CB se preocupa por responder si, cómo y por qué la naturaleza de la vida puede

ser comprendida en términos esencialmente computacionales.

La CB comparte su esencia y fundamentos con la vida artificial (Gómez-Cruz, 2013). Ambas

confluyen en la identificación y el estudio de los mecanismos computacionales que soportan la

función biológica. Sin embargo, la finalidad que cada una persigue es substancialmente diferente.

La vida artificial emplea conceptos computacionales y simulación computacional con el fin de

explicar los principios funcionales de la vida en general (Boden, 1996). La computación

biológica, por su parte, establece un marco conceptual, filosófico y científico para pensar los

sistemas vivos en términos de procesamiento de información, y se interesa en la formulación de

modelos de computación que permitan estimar la expresividad (o el poder) computacional de la

vida.

Ahora bien, la noción de CB que se ha introducido en esta investigación no tiene que ver con el

sentido que le dan a este término algunos autores. Lamm y Unger (2011), por ejemplo, en su libro

titulado biological computation, establecen una visión general de las relaciones entre la biología

y la computación con un énfasis marcado en la computación bioinspirada. A pesar del título, el

libro no considera la computación biológica en sentido estricto. El término tampoco tiene que ver

con la aproximación que proponen Tračik y Bialek (2016), cuyo trabajo destaca la importancia

que tienen los flujos de información para los sistemas vivos, y no precisamente la manera en que

dicha información es procesada por un organismo.

Existe actualmente un buen número de ejemplos acerca de sistemas o procesos biológicos que

han sido comprendidos o reinterpretados en términos computacionales (la tabla 4.1 presenta una

selección de los principales trabajos en computación biológica a la fecha). Los desarrollos y los

argumentos que soportan estos ejemplos toman distintos matices, así: los hay meramente

descriptivos o conceptuales; basados en experimentos o en simulaciones computacionales, y

formales desde el punto de vista computacional (Maldonado & Gómez-Cruz, 2015). A

continuación se describe una pequeña muestra de ellos.

Ehrenfeucht y Rozenberg (2007; 2010; 2010a) introdujeron un modelo de computación formal,

denominado sistemas de reacción (reaction systems), con el fin de investigar la naturaleza

computacional de las reacciones bioquímicas (y de sus interacciones) en las células vivas. El

modelo asume que el funcionamiento de toda reacción bioquímica se basa en los mecanismos de

facilitación e inhibición. Una reacción tendrá lugar, por tanto, cuando todos los reactivos están

presentes y ninguno de sus inhibidores. En tal caso, la reacción generará su producto. Distintos

aspectos y extensiones de los sistemas de reacción se han estudiado (una revisión se encuentra en

Brijder, Ehrenfeucht, Main & Rozenberg, 2011).

Otro caso que ha llamado fuertemente la atención en las últimas décadas es el cifrado de ADN y

su reensamblaje en ciliados (Brijder, Daley, Harju, Jonoska, Petre & Rozenberg, 2012;

Ehrenfeucht, Harju, Petre, Kari & Landweber, 2004; Prescott & Rozenberg, 2004; 2002;

Landweber & Kari, 1999). Los ciliados son un grupo de organismos unicelulares protozoos que

habitan, virtualmente, en todos los cuerpos de agua dulce y salada y en distintas regiones donde

los suelos son húmedos. Las dos características principales de los ciliados son que (i) poseen cilios

que usan para la movilidad y la recolección de alimento y (ii) tienen dos tipos de núcleos dentro

de la misma célula: uno o más macronúcleos que codifican copias funcionales de todos los genes

que regulan el crecimiento vegetativo y la proliferación celular, y uno o más micronúcleos que

contienen versiones encriptadas del ADN macronuclear. El material cifrado es empleado para el

intercambio sexual de ADN cuando dos células se aparean (Ehrenfeucht et al., 2004). El proceso

de ensamblaje del macronúcleo a partir de la información contenida en el micronúcleo se asemeja

a la estructura del problema del camino hamiltoniano en un grafo dirigido y es el caso de

manipulación de ADN más complejo que se conoce en los organismos vivos (Prescott &

Rozenberg, 2002). Dos modelos de computación formales se han introducido para estudiar ese

proceso (Brijder et al., 2012). Uno, conocido como modelo intermolecular, se ha centrado en

Page 48: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

38

estudiar el poder computacional del ensamblaje de genes (Kari & Landweber, 2004; Landweber

& Kari, 1999). El otro, denominado modelo intramolecular, se ha enfocado en el ensamblaje en

sí mismo (Ehrenfeucht et al., 2004; Prescott & Rozenberg, 2002; 2004).

Tabla 4.1. Ejemplos de computación biológica reportados en la literatura

Sistema/Proceso Escala Estatus actual Referencias

Reacciones bioquímicas Molecular Modelos teóricos

Brijder, Ehrenfeucht, Main &

Rozenberg, 2011; Ehrenfeucht &

Rozenberg, 2010; 2010a; 2007

Ensamblaje de genes en ciliados Molecular Modelos teóricos

Brijder, Daley, Harju, Jonoska, Petre & Rozenberg, 2012; Ehrenfeucht,

Harju, Petre, Prescott & Rozenberg,

2004; Kari & Landweber, 2004; Prescott & Rozenberg, 2004; 2002;

Landweber & Kari, 1999

Redes de interacción proteína-proteína/Redes bioquímicas

Molecular Descripción Kari & Rozenberg, 2008

Redes de transporte biológico Molecular Descripción Kari & Rozenberg, 2008

Difusión de información en el

sistema endocrino Molecular Solo como referencia Kari & Rozenberg, 2008

Metabolismo Molecular Descripción Mitchell, 2009

Red reguladora de genes Genética Modelo, descripción

Kari & Rozenberg, 2008; Istrail, Ben-

Tabou De-Leon & Davidson, 2007;

Ben-Hur & Siegelmann, 2004

Células Celular Modelos

Bray, 2009; 1995; Amos, 2004;

Ehrenfeucht, Harju, Petre, Prescott &

Rozenberg, 2004

Sistema inmune Celular /molecular

Descripciones, experimentos, modelos

Dasgupta & Niño, 2009; Cohen, 2007; 2006; Forrest & Hofmeyr, 2000

Ensamblajes celulares Tejido Solo como referencia Sipper, 1997

Retina Organísmica Solo como referencia Sipper, 1997

Procesos cerebrales y redes neurales Organísmica Modelos teóricos Coolen, Kühn & Sollich, 2005; Hogg & Huberman, 1984

Desarrollo / mapeo genotipo

fenotipo Organísmica Solo como referencia

Solé & Macia, 2011; Ehrenfeucht &

Rozenberg, 2010

Plantas Organísmica Análisis conceptual,

Simulaciones

Bush & Benfey, 2010; Karpinski & Szechynska-Hebda, 2010; Peak, West,

Messinger & Mott, 2004

Colonias de bacterias Poblacional Simulaciones,

experimentos

Ben-Jacob, 2009; Amos, Hodgson &

Gibbons, 2007; Ben-Jacob & Levine 2006

Insectos sociales Poblacional Modelos, descripción

Moussaid, Garnier, Theraulaz &

Helbing, 2009; Detrain, Deneubourg & Pasteels, 2001

Bancos de peces Poblacional Descripción Moussaid, Garnier, Theraulaz &

Helbing, 2009

Evolución y diversificación de los

seres vivos Evolutiva Modelos conceptuales

Mayfield, 2013; Landweber & Winfree, 2002;

Maynard-Smith & Szathmáry, 2001

El sistema inmune (SI) también ha sido interpretado en términos computacionales. Cohen (2007),

especialmente, propone que la principal función del SI es computar el estado del cuerpo. Su

trabajo involucra una visión no clásica del SI (Cohen, 2006). Según dicha visión, la función del

SI no se reduce a la defensa del cuerpo contra patógenos externos, sino que incluye, además, la

gestión de los procesos inflamatorios y la mediación entre el cuerpo y el microbioma. De manera

general, entonces, el SI se encarga del mantenimiento del cuerpo. La idea de computar el estado

del cuerpo (para mantenerlo) significa que el SI recibe como entrada las respuestas inmunes de

los tejidos (estados inmunogénicos), las cuales indican trauma, infección, transformaciones

malignas o senescencia, y genera, como salida, patrones de respuesta inmune y procesos

inflamatorios particulares. La salida induce la curación de los tejidos y modifica la estructura y el

comportamiento futuro de los componentes innato y adaptativo del SI (Cohen, 2007). Las

principales características computacionales del SI son descritas en el trabajo Dasgupta y Niño

(2009, pág. 40). Otra aproximación a la computación en el sistema inmune se puede encontrar en

el trabajo de Forrest y Hofmeyr (2000).

Page 49: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

39

En otro contexto, se ha aportado evidencia de que las plantas resuelven el problema del

intercambio óptimo de gases mediante una estrategia de procesamiento de información

distribuido y emergente (Peak, West, Messinger & Mott, 2004). Sobre las hojas, las estomas

ajustan su apertura de tal manera que se garantiza el consumo de 𝐶𝑂2 necesario para la

fotosíntesis, a la vez que se evita la pérdida excesiva de agua. En el proceso se conforman clústeres

de estomas sincronizadas que exhiben dinámicas complejas similares a las observadas en algunos

autómatas celulares (Ibíd). Otro trabajo ha sugerido que las plantas funcionan como dispositivos

biológicos de procesamiento cuántico de información (Karpinski & Szechynska-Hebda, 2010).

Específicamente, dicho trabajo muestra que las plantas son capaces de extraer y almacenar por

varios días información cuántica encriptada en la composición espectral de la luz. Esa

información es convertida en señales foto/electro/fisiológicas que son usadas por las plantas para

anticipar los cambios potenciales del entorno (como ataques de patógenos) y regular sus

respuestas fisiológicas (ibíd.).

Los ejemplos presentados son evidencia de la diversidad de escalas, procesos y sistemas

biológicos que se han estudiado computacionalmente. Asimismo, son una muestra de la

diversidad de perspectivas conceptuales, teóricas y metodológicas empleadas en CB. En el

capítulo 6 se estudia la computación en insectos sociales, particularmente en colonias de

hormigas.

4.5 Interacción, autoorganización y multiescalaridad en

biología

La vida es un fenómeno autoorganizado y emergente (Luisi, 2010). Todas las propiedades

características de las entidades vivas son el resultado de las interacciones que suceden entre sus

componentes y entre estos y su entorno. No existe un controlador externo o centralizado. Por el

contrario, los sistemas vivos son sistemas reactivos (mejor, interactivos) altamente concurrentes

y paralelos (Fisher, Harel & Henzinger, 2011; Cohen & Harel, 2007). Un sistema reactivo

reacciona de manera paralela a múltiples entradas concurrentes y también puede (auto-)generar

acciones que modifiquen el entorno. (En este sentido, la noción de interacción es más general.)

Las salidas y los patrones (comportamentales, estructurales, funcionales) que exhibe no se

reducen a una función (matemática) de los valores de las entradas, sino que dependen además de

la variedad de las mismas, del orden, el tiempo y la velocidad con que arriban, de su localización,

de la información almacenada (ej. en el material genético o en memoria), de salidas previas, entre

otros rasgos (Cohen & Harel, 2007).

El ADN, por tanto, no es la única fuente de información para un sistema vivo. Cohen y Harel

(2007) sostienen que las proteínas estructurales, las enzimas, los carbohidratos, los lípidos, las

señales intracelulares, las hormonas y otras moléculas forman e informan al sistema. Asimismo,

el entorno es una fuente crítica e imprescindible de información. Dicho de otra manera, el ADN

es irrelevante sin la “maquinaria” celular que lo procesa y sin las interacciones con el entorno que

lo modelan (Noble, 2006). Los sistemas vivos reaccionan de forma simultánea, asíncrona e

incesante tanto a la información significativa que proviene del entorno, como a aquella generada

internamente.

Pues bien, sobre la base de la autoorganización, emergen patrones y propiedades en el nivel global

de un sistema que son generadas dinámicamente, pero no deducibles, reducibles o predecibles, a

partir de las interacciones componente-componente y componente-entorno en el nivel local

(Gómez Cruz, 2013). La vida, especialmente, es un patrón emergente en el espacio-tiempo. Si se

disecciona una célula en busca de explicación, se podrá notar que ninguno de sus componentes,

incluido el ADN, está vivo. Lo relevante, en este caso, no son los componentes en sí mismos, sino

los patrones de interacción que operan entre ellos. Las interacciones en una escala generan objetos

en una escala superior (Cohen & Harel, 2007). Por ejemplo, las interacciones moleculares crean

células en el siguiente nivel. Las interacciones celulares crean la diversidad de organismos que

Page 50: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

40

habitan el planeta. Las interacciones entre organismos crean sociedades. Nótese, además, que

entre las interacciones que suceden en un nivel y los objetos que surgen en otro puede haber

niveles intermedios. Entre las interacciones celulares y los organismos se encuentran tejidos,

órganos y subsistemas como niveles de emergencia intermedios.

Cuando la incertidumbre del entorno se incrementa, un organismo (individuo) puede responder

de diversas maneras, entre ellas, cambiando de entorno (movilidad), cambiando el entorno

(tecnología), aumentando la capacidad de anticipación (ej. el sistema inmune), aumentando la

complejidad (esto es, la riqueza de sus estados accesibles) o haciendo mezclas entre ellas

(Wagensberg, 2010). El último recurso es asociarse y cambiar (parcial o totalmente) su identidad

en pro de una nueva identidad colectiva que le permita perseverar. Esta lógica ha sido favorecida

por la selección natural:

[L]os individuos vivos tienden a reunirse para formar colectivos vivos que tienen a erigirse en

nuevos individuos. Es posible que la complejidad creciente que se observa en tantas líneas

evolutivas de la naturaleza responda en buena parte a esta cuestión (Wagensberg, 2010, pág 168).

El camino entre una identidad colectiva (individualidad) y un nuevo individuo es cuestión de

grados. Un organismo tiene el grado máximo de individualidad (la de individuo). Un hormiguero

tiene un grado de individualidad medio. La fragata portuguesa (Physalia) es un caso intermedio

entre un organismo y un hormiguero. Los componentes de Physalia son medusas clónicas con

diversas formas, tamaños y funciones que se agrupan para formar un superorganismo cuyo

aspecto es el de una medusa de grandes proporciones (Wagensberg, 2010). El desarrollo de esta

idea se encuentra en el artículo de Wagensberg, García Leal & Lins de Barros (2010).

Lo que vale la pena resaltar es que cada vez que emerge una nueva individualidad todo un nuevo

mundo emerge para la biología. Nuevas maneras de lidiar con el entorno, nuevas propiedades

emergentes, nuevas interacciones ecológicas, pero, sobre todo, nuevos mecanismos de

procesamiento de información. Wagensberg (2010, pág. 171) manifiesta que “[l]a capacidad de

crear entes nuevos por este procedimiento no tiene límite a la vista”. Puesto en el contexto de este

trabajo, el fenómeno de la vida está constituido sobre una jerarquía abierta de procesos

computacionales.

Los modelos reactivos en biología, de acuerdo con Fisher, Harel y Henzinger (2011), enfatizan la

importancia de aspectos como la concurrencia, la interactividad, la multiescalaridad y la

complejidad combinatoria. A ellos se pueden sumar, igualmente, los de autoorganización,

emergencia y, en esencia, procesamiento colectivo de información. La computación interactiva,

como se mostró en el capítulo 3 y como se argumentará en el capítulo 5, constituye un escenario

ideal para ahondar en nuestra comprensión de los sistemas vivos. Por ahora, nuestro interés se

desplaza hacia ¿qué tienen en común los procesos computacionales que exhibe la vida? ¿Cuáles

son las características fundamentales de la CB?

4.6 Rasgos computacionales de los sistemas vivos

Los sistemas vivos son una fuente inagotable de metáforas para las ciencias de la computación y

la ingeniería, no cabe duda (Fournier, 2011; Floreano & Mattiussi, 2008; Forbes, 2004). Y sin

embargo, como se evidenció en la sección anterior, recientemente el énfasis se ha hecho en la

naturaleza computacional de la vida, antes que en su aplicabilidad práctica. Los procesos y

sistemas biológicos han comenzado a ser mejor comprendidos y explicados en términos de

procesamiento de información (en contraposición con las explicaciones físicas o biológicas

tradicionales). Desde el punto de vista computacional, la vida exhibe un conjunto de rasgos

relevantes (radicalmente distintos a los de la computación tradicional), cuya comprensión aún

resulta precaria y limitada (Solé & Macia, 2011; Amos, Hodgson & Gibbons, 2007; Hogg &

Huberman, 1984). La lista que se presenta aquí es presumiblemente incompleta y en algunos

Page 51: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

41

aspectos redundante. A pesar de ello, busca capturar los principales rasgos de la computación que

realizan los sistemas vivos. La CB:

• Es distribuida y opera sin un control central (Navlankha & Bar-Joseph, 2015; Ben-Jacob,

2009).

• Es estocástica, no lineal y masivamente paralela (Stepney, 2008; Fernández & Solé,

2006). Todas las formas de CB usan la aleatoriedad y las probabilidades en maneras

esenciales (Mitchell, 2009).

• Sucede en todas las escalas espaciotemporales de la organización biológica (computación

multi-nivel), desde las moléculas hasta los ecosistemas y la evolución (Farnsworth,

Nelson & Gershenson, 2013; Cohen 2007). Más precisamente, opera como una red de

percolación en la que la información es constantemente transducida desde las escalas

macro a las escalas micro y posteriormente amplificada desde las escalas micro a las

macro (Conrad, 1996). Los seres vivos, en este sentido, no pueden ser captados,

comprendidos o explicados a partir de un único nivel, escala o capa (Maldonado &

Gómez-Cruz, 2015).

• Es robusta, resiliente y flexible ante fallas, ruido, daños y errores (Fisher, Harel &

Henzinger, 2011; Stepney, 2008; Hogg & Huberman, 1984). Un sistema vivo o un

proceso biológico específico son robustos si tienen la capacidad de seguir funcionando

en presencia de perturbaciones (por ejemplo, mutaciones, cambio ambiental o ruido

interno) (Wagner, 2005). La robustez sucede en todos los niveles de la organización

biológica (ibíd.). Son diversos los mecanismos soportan esta capacidad, entre ellos la

redundancia, la degenerancia, la compensación distribuida, la autoreparación y los

procesos homeostáticos.

• Involucra la capacidad para percibir el entorno y aprovechar la información latente que

en él se encuentra (la cual es percibida por el sistema vivo). De este modo, los

componentes bióticos y abióticos de la biosfera están vinculados por una relación

coevolutiva que involucra procesamiento de información.

• Es esencialmente colectiva e interactiva (o reactiva) (Maldonado & Gómez Cruz, 2015;

Fisher, Harel & Henzinger, 2011; Neuman, 2008; Cohen & Harel, 2007). Los

componentes en los sistemas vivos interactúan entre ellos y con el entorno (que por

definición es no computable) durante el proceso mismo de computación. Esto le permite

al sistema generar patrones o resolver problemas colectivamente y adaptarse a las

variaciones y la incertidumbre del entorno.

• Permite sintetizar, esto es, “metabolizar”, nueva información sobre la base de la propia

información del sistema y la información latente en el entorno (Ben-Jacob, 2009).

• Integra múltiples formas (mecanismos) de procesamiento de información. Por ejemplo,

el sistema inmune procesa información de manera distinta a como lo hace una célula o el

cerebro.

• Es autónoma, autoreferencial, autoorganizada y autogenerada (Kampis, 1991). No

depende de un operador o programador externo ni posee una unidad central de

procesamiento (Cohen, 2006). Los componentes del sistema solo acceden a información

local de su entorno inmediato.

• Por su naturaleza autoorganizada, tiene el potencial de crear o de sintetizar nuevas formas

o modos de computación (computación emergente). En este sentido, como se puede

interpretar del trabajo de Maynard-Smith y Szathmáry (2001), la complejización de la

vida ha consistido en (y depende directamente de) la complejización de los mecanismos

biológicos de procesamiento de información –que, en rigor, emergen mediante

evolución–. La evolución, comprendida como un proceso computacional (Mayfield,

2013), es capaz de crear modos de computación robustos, elaborados y expresivos. La

CB puede ser vista como una comprensión enriquecida de la evolución. Sin embargo,

esto no introduce (no debería) una visión teleológica de la evolución.

Page 52: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

42

• Es abierta. Las salidas son solo resultados parciales del proceso de cómputo. En otras

palabras, las salidas son dinámicamente generadas durante la computación, teniendo en

cuenta entradas recientes, información almacenada por el sistema y salidas tempranas.

• Se adapta mediante evolución o aprendizaje (Sampson, 1976). Esto significa que los

mecanismos de procesamiento son modificados (a medida que interactúan con el entorno)

y seleccionados de acuerdo con la historia de vida del organismo. Esta es una propiedad

que, particularmente, se ha sugerido, no es soportada por una máquina de Turing estándar

(Siegelmann, 2013), la cual funciona de acuerdo con su programa preestablecido.

• Implica persistencia (memoria). La información necesaria para mantener la vida y sus

funciones se encuentra distribuida en diversas moléculas dentro de la célula. No solo en

los nucleótidos (que son la base del ADN y el ARN), sino en las proteínas y las moléculas

mensajeras; en sus interacciones y en su distribución espacial (Farnswoth, Nelson &

Gershenson, 2013). La persistencia hace que los sistemas vivos sean dependientes de la

historia. En general, el aprendizaje y la adaptación requieren memoria (Garzón, 1995).

• Opera como un sistema de sistemas, es decir, como red de redes (Dodig-Crnkovic &

Giovagnoli, 2013; Farnsworth, Nelson & Gershenson, 2013) integrada por una sola y

única función, a saber, mantener la vida por todos los medios posibles.

En conjunto, estas características permiten extender y enriquecer la noción de computación con

aspectos que otrora eran considerados distantes, diferenciados, complementarios o simplemente

innecesarios para hablar de computación. La noción de procesamiento de información es central

en este desarrollo. La CB, comprendida como procesamiento de información, implica estructuras

y procesos funcionales (mecanismos) espacialmente extendidos y emergentes capaces de:

• percibir,

• adquirir,

• representar,

• (des)encriptar,

• almacenar (memorizar),

• recuperar,

• copiar/transcribir,

• traducir,

• discriminar,

• reparar,

• (re)ordenar,

• comunicar/transmitir,

• modificar/transformar/transmutar/ transducir y

• sintetizar información.

El procesamiento de información en los sistemas biológicos sucede de una forma radicalmente

distinta al considerado por la teoría de la computación y efectuado por la mayoría de nuestros

sistemas de cómputo actuales (Teuscher, 2009). Mientras los computadores digitales, basados en

la máquina de Turing y en la arquitectura de Von Neumann, hacen uso de complejos procesadores

capaces de llevar a cabo tareas complicadas de forma secuencial (Sipper, 1990), las

computaciones en los sistemas biológicos emergen de la interacción coordinada y descentralizada

de elementos con capacidades computacionales relativamente modestas (Sipper, 1997; Dittrich,

2005). La salida (si cabe la expresión) que resulta de los procesos computacionales biológicos se

manifiesta en la configuración global del sistema y no en alguno de sus componentes o en algún

dato final que arroje el sistema.

Adicionalmente, los mecanismos por los cuales la computación es realizada tampoco se

encuentran representados explícitamente en el sistema, sino que emergen como un patrón

espaciotemporal a partir de las interacciones no lineales que suceden entre los componentes del

sistema y entre estos y el entorno. Se retomará este aspecto en el siguiente capítulo. Bajo la

Page 53: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

43

perspectiva presentada en esta investigación, cabe anotar que toda forma de computación

biológica constituye hipercomputación.

Page 54: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

44

5. Hipercomputación biológica

La máquina de Turing (MT) sigue siendo el modelo de computación estándar (por lo menos en el

orden teórico) (Siegelmann, 2013). Por ser este el paradigma vigente de computación, buena parte

de las investigaciones activas en computación biológica modelan los sistemas vivos como MT o

bien aceptan que, aunque se usen modelos alternos, no es posible trascender su poder

computacional. La teoría de la hipercomputación no ha logrado permear de manera contundente

a la biología. Sin embargo ¿Es adecuada la MT para expresar/modelar la computación biológica?

¿Establece la MT un límite sobre lo que pueden computar los sistemas vivos?

El propósito de este capítulo es hacer una síntesis de la relación entre la teoría de la

hipercomputación (capítulos 2 y 3) y la computación biológica (capítulo 4). La sección 5.1 expone

las limitaciones de la máquina de Turing como modelo de computación de los procesos vivos. La

sección 5.2 ilustra la creencia generalizada en biología de que en la MT se encuentran los límites

de lo computable. La sección 5.3 introduce la noción de hipercomputación biológica (HB) y

discute algunas aproximaciones teóricas que buscan trascender el poder computacional de la MT

en biología. Adicionalmente, propone que la computación interactiva puede establecer los

fundamentos para una teoría de la HB. Por último, la sección 5.4 describe el proceso de

complejización de los modelos de computación, desde la MT hasta la HB.

5.1 La máquina de Turing como modelo de los procesos vivos

La máquina de Turing (MT) ha sido empleada por varios autores como un modelo de computación

de los sistemas vivos o como una analogía para aproximar la comprensión de la vida y sus

procesos. Brenner (2012), por ejemplo, opina que las células y las MT tienen mucho en común;

que los mejores ejemplos de las MT se encuentran en la biología, y que las células y los

organismos son, de hecho, MT “especiales”. Para Forbes (2004), la lógica de los sistemas

biológicos está acotada por las capacidades de la MT. Solé y Macia (2011), por su parte,

mencionan una posibilidad más modesta: la de modelar los ribosomas como nanomáquinas de

Turing capaces de (i) leer una cinta definida por el ARN mensajero, (ii) crear una cadena de

aminoácidos de salida e (iii) iniciar y terminar el proceso mediante la detección de secuencias

dadas. Asimismo, distintas aproximaciones a la mente y a los procesos cognitivos suponen que el

cerebro es una MUT natural (Barrett, 2011; Syropoulos, 2008). Un ejemplo notable es el trabajo

de Newell y Simon (1976). Ellos supusieron abiertamente que el pensamiento humano era

equiparable a un proceso algorítmico de manipulación de símbolos, y que el cerebro era la

instancia física de la MUT que lo implementa.

Sin embargo, al contrastar los rasgos computacionales de los sistemas vivos (sección 4.6) con los

de la MT (sección 1.3), es difícil encontrar algún aspecto relevante en común. La MT (estándar)

es un dispositivo de procesamiento secuencial, determinístico, cerrado (en el sentido de que

durante la computación no entra ni sale información) y terminante (esto es, que debe detenerse

para que la computación sea exitosa). Para los sistemas vivos, en contraste, el procesamiento de

información es concurrente, no determinístico, abierto, interactivo y autoorganizado. El criterio

de éxito para los procesos computacionales biológicos no es su terminación, sino la capacidad de

respuesta al mundo exterior, la velocidad, flexibilidad, robustez y adaptabilidad (Dodig-Crnkovic,

2011a). En un sistema vivo dejar de computar, es decir, terminar el procesamiento de información,

equivale a la muerte del sistema. Puesto en términos positivos, vivir es procesar información.

Page 55: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

45

Antes que comportarse como máquinas de Turing, los sistemas vivos se asemejan a sistemas

interactivos (ver capítulo 3) (Maldonado & Gómez-Cruz, 2015; Noble, 2010; Neuman, 2008).

El estudio del procesamiento de información en colonias de bacterias es un bello ejemplo de la

insuficiencia de la MT para modelar la vida. De acuerdo con Ben-Jacob (2009), existen

diferencias cardinales e irreconciliables entre la computación “a la Turing” (computación

convencional) y la manera como las bacterias computan. El dualismo hardware-software es una

de ellas. Mientras que en la MT uno y otro están separados, en una colonia de bacterias el

“hardware” cambia de acuerdo con las entradas, la información almacenada, los mecanismos de

procesamiento de información y la salida (respuesta) esperada en el nivel colectivo. Las bacterias,

además, pueden intercambiar información en forma de hardware (tokens de información

genética), algo que no es posible para una MT.

En general, los mecanismos de procesamiento de información sobre los que recae la vida son

probabilísticos y tolerantes a fallos. A partir de ellos, los sistemas vivos pueden funcionar,

aprender, adaptarse y coevolucionar con un entorno dinámico y cargado de incertidumbre. Tales

rasgos tampoco son considerados por la MT. Tanto Turing como von Neumann fueron

conscientes de este hecho (Dyson, 2012). Von Neumann, en su teoría sobre autómatas

autoreproductores (1966), sostuvo que, si “cada error tiene que ser capturado, explicado y

corregido, un sistema de la complejidad de un organismo vivo no correría [se ejecutaría,

funcionaría] por un milisegundo”13. Turing (1947, citado en Dyson, 2012), análogamente,

consideró que una máquina infalible (que no cometa errores ni aprenda de la experiencia, como

la MT) no podría llegar a ser inteligente. Como se discutió en el capítulo dos, Turing introdujo

otras “máquinas” más adecuadas para explorar los procesos biológicos y cognitivos (Eberbach,

Goldin Wegner, 2004). Entre ellas se encuentran la máquina con oráculo (o-machine), la máquina

de elección (c-machine) y la máquina desorganizada tipo B (B-type u-machine). Von Neumann,

por su parte, también consideró un modelo de computación distinto a la MT para capturar la lógica

de la autoreproducción: los autómatas celulares (cellular automata o von Neumann machines).

Mitchell (2012) planteó que para precisar el concepto de computación biológica se deben

responder las siguientes preguntas:

• ¿Cómo es representada la información en un sistema vivo?

• ¿Cómo es “leída” y “escrita” la información por el sistema?

• ¿Cómo es procesada?

• ¿Cómo esta información adquiere función (o propósito, o significado)? (ver sección 4.3)

Con base en ellas, Mitchell estableció diferencias fundamentales entre la computación tradicional

y la computación biológica (tabla 5.1). Por ejemplo, para las MT las nociones de

“programabilidad” y universalidad son relevantes, pero esa relevancia no es clara en el contexto

biológico. La vida, antes que un dispositivo programable, es una red interactiva en la que no hay

manera de separar las instrucciones del proceso de llevarlas a cabo (Noble, 2010). En conjunto,

las diferencias planteadas por Mitchell sugieren la necesidad de adaptar o formular modelos de

computación que representen mejor la naturaleza robusta, colectiva y emergente de la vida.

Las redes conexionistas, por ejemplo, resultan más atractivas que la MT a la hora de estudiar los

procesos cerebrales y la inteligencia desde un punto de vista computacional (Barrett, 2011). De

un lado, porque el conexionismo no supone la manipulación explícita de símbolos de acuerdo con

un conjunto de reglas que operan de manera algorítmica. En una red conexionista, las

representaciones se hallan distribuidas implícitamente a través de las unidades (“neuronas”) que

la conforman. En este sentido, el procesamiento es subsimbólico. De otro lado, porque las redes

13 […] every error has to be caught, explained and corrected, a system of the complexity of the living organism would not run for a millisecond. Traducción del autor.

Page 56: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

46

neuronales pueden dar lugar a propiedades emergentes que no fueron programadas. Mientras

tanto, una MT solo puede hacer aquello para lo que fue programada (Siegelmann, 2013).

El marco de relevancia de la MT se limita al contexto lógico-matemático de las funciones

parcialmente recursivas (sección 2.1). Fuera de dicho contexto, la equivalencia conceptual,

estructural y lógica de la MT con otros sistemas y procesos computacionales no se puede dar por

sentada sin que exista una prueba de ello. Como se argumentó en esta sección, los aspectos que

son importantes dentro del marco de relevancia de la computación biológica no revisten interés

dentro del marco de relevancia de la MT. En razón de esto, es claro que la analogía entre los

organismos, especialmente las células, y las máquinas de Turing es equivocada y superficial

(Witzany & Baluška, 2012).

Tabla 5.1. Diferencias entre la computación tradicional y la computación biológica de acuerdo con los criterios de información, rasgos de procesamiento y sistemas computacionales

Computadores tradicionales Sistemas vivos

Aspecto 1: información

Digital Análoga (a menudo)

De único tipo (bits) De varios tipos (reflejada en las tasas de interacción o las concentraciones de diversas substancias)

Predefinida (no cambia a menos que sea explícitamente

reescrita) Dinámica

Centralizada (es decir, llevada a un lugar central para ser procesada)

Descentralizada

Sin ruido (típicamente) Con ruido

Aspecto 2: procesamiento de información (computación)

Centralizado (realizado por una CPU) Distribuido

Serial (típicamente) Masivamente paralelo

Determinístico Estocástico

Exacto Inexacto

Terminante (existe un resultado final no ambiguo de la

computación) Permanente (on going)

Se basa en funciones (mapeo entradas-salidas) No es claro el mapeo entre entradas y salidas

Aspecto 3: sistemas computacionales

Requieren sincronización (en muchos aspectos de su

procesamiento) Operan con componentes asíncronos

Requieren componentes confiables Los componentes están sujetos a fallos, errores o daños

Bajas probabilidades de error Fallas frecuentes

Las nociones de universalidad y “programabilidad” son

fundamentales Tales nociones no tienen una relevancia clara

Fuente: elaboración propia a partir del texto de Mitchell (2012)

Algunos modelos de computación, distintos al conexionismo, han sido introducidos para estudiar

de forma expresa procesos particulares de computación biológica. Entre ellos se encuentran los

sistemas de reacción (Brijder, Ehrenfeucht, Main, & Rozenberg, 2011) y los modelos de

autoensamblaje intracelular y extracelular en ciliados (Ehrenfeucht, Harju, Petre, Prescott &

Rozenberg, 2004; Landweber & Kari, 1999). No obstante, para otros fenómenos biológicos, como

el mantenimiento de la integridad celular, la generación espacial y temporal de orden, la

quimiotaxis, la toma de decisiones colectivas en insectos sociales, entre otros, siguen siendo

necesarios nuevos modelos de computación (Maldonado & Gómez Cruz, 2015; Dodig-Crnkovic,

2011a; Nurse, 2008). Dicho esto, permanecen abiertas otras cuestiones: ¿establece la MT un

límite superior para lo que la vida puede computar? ¿Cuál es el sentido de explorar la expresividad

computacional de la vida?

5.2 Computación biológica y la completitud de la máquina de

Turing

La MUT puede computar cualquier proceso algorítmico. Solo en este sentido, como se argumentó

en el capítulo 2, se debe hablar de un modelo de computación completo, de propósito general o

universal. Pero no toda computación es algorítmica. La implicación es que la MT no logra

capturar todas las formas de computación posibles. En el plano general de la computación

Page 57: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

47

científica (ciencia computacional) y el pensamiento computacional, sin embargo, este hecho sigue

siendo anecdótico. Amparados por opinión de la corriente principal (mainstream) en teoría de la

computabilidad y por la amplia difusión la tesis fuerte de Church-Turing, muchos científicos de

la computación e investigadores de distintas ciencias (entre ellos los biólogos) suponen que todo

lo que se puede computar es computable por una MT.

Sampson (1976), por ejemplo, considera a los organismos vivos como máquinas adaptativas

naturales. Aunque reconoce las limitaciones de la MT como modelo de tales máquinas, sostiene

que, en términos de expresividad, la MT “puede computar todo lo que es computacionalmente

posible” (pág. 2). Independiente de si se trata de una máquina teórica, artificial o natural. Andras

(2011), análogamente, se adhiere a la postura de que la MT puede computar cualquier cosa

computable. Para él, las células vivas son sistemas autocatalíticos y autoreferenciales

“equiparables” a la MT. De acuerdo con el argumento de Andras, la expresividad computacional

de la vida está acotada por la tesis fuerte de Church-Turing.

Paul Cull, profesor emérito de ciencias de la computación de la Universidad Estatal de Oregón,

sostiene en su texto sobre biocomputación (2013) que la MT captura de manera exacta la idea

intuitiva de computación, y presenta su versión (fuerte) de la tesis de Church-Turing:

Tesis de Church-Turing: Algo es computable si y sólo si es Turing-computable.

Cull argumenta que ante cualquier intento por definir la computabilidad (expresividad o poder

computacional) de un modelo, la noción de “computable” significa “computable por una máquina

de Turing”. En el único caso en que reconoce algo distinto es para aquellos modelos que tienen

menos poder computacional. Según Cull, la MT constituye el límite superior en ciencias de la

computación. Cohen (2007), cuyo trabajo se centra en la comprensión computacional del sistema

inmune, opina que la computación de cualquier tipo puede ser reducida a la actividad de una MT.

De acuerdo con esto, cualquier forma de computación, incluso la que ocurre en el sistema inmune,

es algorítmica o reducible a algoritmos.

El problema de la computabilidad para la mayoría de los nuevos paradigmas y modelos de

computación inspirados por, u orientados a, la biología, por tanto, se ha reducido a la posibilidad

de que dichos modelos o paradigmas logren igualar el poder computacional de la MT, pues se

supone, de entrada, que en el modelo de Turing se encuentran los límites de lo que se puede

computar y lo que no (Maldonado & Gómez-Cruz, 2015). La literatura al respecto es vasta. Dentro

de la larga lista de modelos que han demostrado su Turing-completitud se pueden citar los

siguientes ejemplos:

• Computación con péptidos (Balan & Jürgensen, 2008).

• Redes neuronales fluidas (Solé & Delgado, 1996).

• Computación con membranas o sistemas P (Ionescu, Martín-Vide, Pǎun & Pǎun, 2003;

Pǎun, 2005).

• Autómatas celulares autoreproductores (Von Neumann, 1966).

• Autómatas celulares unidimensionales (regla 110) (Shiff, 2008; Cook, 2004).

• Autómatas celulares bidimensionales (juego de la vida de Conway) (Gaucher, 2010).

• Sistemas de inserción-supresión (Takahara & Yokomori, 2003).

• Sistemas L de Watson y Crick extendidos (Sears, 2010).

• Diversos modelos de computación con ADN (Ignatova, Martínez-Pérez & Zimmermann,

2008; Freund, Kari & Pǎun, 1999).

• Modelo intermolecular de ensamblaje de genes en ciliados (Kari & Landweber, 2004;

Landweber & Kari, 2002).

• Modelo de conmutación de tareas en hormigas (Lachmann & Sella, 1995).

Page 58: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

48

La Turing-completitud de los modelos mencionados se tomó como una prueba de su poder

computacional y como base para justificar el argumento de que no puede haber computaciones

más complejas o sofisticadas que las realizadas por un computador universal -esta línea de

pensamiento es defendida en los trabajos de Wolfram (2002) y de Langton (1989; 1992)-.

Partiendo del supuesto de la validez de la tesis fuerte de Church-Turing, el argumento sonaría, en

líneas generales, de la siguiente manera: un modelo de computación X (y el sistema X’ al cual

representa) puede exhibir procesos computacionales (algorítmicos) de complejidad arbitraria si y

solo si se demuestra su Turing-completitud. Probar la equivalencia de los nuevos modelos de

computación con la MT se convirtió en un tema de rutina y, a pesar de ello, diversos autores

coinciden en que la MT no expresa todas las formas de computación posibles y, por lo tanto, no

debería ser el fundamento de los modelos de computación que se inspiran en (o que buscan

explicar) la naturaleza y la vida (Siegelmann, 2013; Wegner, Eberbach & Burgin, 2012; Dodig-

Crnkovic, 2011a; Syropoulos, 2008).

Una cosa es, entonces, que los sistemas biológicos (o sus modelos) soporten computación

universal (habitualmente bajo condiciones de laboratorio o en contextos artificiales) y otra muy

distinta es que el procesamiento de información en esos sistemas/modelos se reduzca a los límites

impuestos por tesis fuerte de Church-Turing. Como se mostró en la sección 3.1, varios de los

sistemas computacionales actuales no son expresables como MT y, sin embargo, existe el

consenso de que realizan tareas computacionales relevantes (un sistema operativo es un ejemplo

frecuente). De manera similar, los procesos que se entienden como computación en biología no

se han podido representar de manera útil o relevante mediante funciones matemáticas

computables y procesos algorítmicos.

Emprender de manera sistemática la empresa de fundamentar la CB implica el establecimiento de

conexiones rigurosas y no triviales entre la biología y la computación. Algo que hasta el momento

permanece elusivo (Peak, West, Messinger & Mott, 2004). Los avances en filosofía de la

computación, computación natural, computación no-convencional y teoría de la

hipercomputación (clásica y no clásica, capítulos 2 y 3) han aportado argumentos y pruebas

contundentes a favor de una nueva historia: la MT y los modelos equivalentes a ella conforman

un subconjunto cerrado dentro escenario abierto de los modelos de computación posibles (Burgin

& Dodig-Crnkovic, 2013). Con esta perspectiva en mente: ¿qué tipo de modelos de computación

son relevantes para la biología? ¿Cómo estudiar el poder computacional de los sistemas vivos?

5.3 Hipercomputación biológica, hipercomputación no-clásica

y computación no Turing

La hipercomputación biológica (HB) se refiere a la propuesta de que los sistemas vivos procesan

información de manera más expresiva, computacionalmente, que la MT. Si suponemos (i) que la

vida no busca resolver funciones matemáticas (sean computables o no computables) o problemas

como el de la detención de Turing y (ii) que los comportamientos biológicos, debido a su

naturaleza interactiva, no se pueden reducir a una MT o realizar mediante funciones computables

(Wegner, 1998), entonces se podría afirmar que la HB no debe ser a la manera de la

hipercomputación clásica (HC) expuesta en el capítulo 2. Una alternativa más apropiada es la de

considerar la vida como una forma de hipercomputación no-clásica (HnC) (Maldonado & Gómez-

Cruz, 2015).

Mientras que la HC extiende el número de funciones computables por una MT, la HnC reta

verdaderamente los pilares de la computación tradicional (Stepney, 2009) y modifica

sensiblemente el alcance de la noción de computación hacia dinámicas computacionales que

involucran procesamiento de información incorporado (embodied), paralelismo como la única

manera factible de ejecutar acciones en tiempo real, interacciones con el entorno durante la

computación y patrones funcionales emergentes como formas no-convencionales de computación

(ibíd.). Todos estos aspectos caen fuera de los intereses de la MT y la HC y, sin embargo, son

Page 59: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

49

fundamentales para la caracterización y el modelado en computación biológica. De acuerdo con

MacLennan (2009, pág. 373), “algunos modelos de computación nuevos se han movido lejos de

la idea de computación como la evaluación de una función fija”14. Modelos y enfoques de

computación semejantes podrían ser consistentes con los principios de la HnC y se podrían

considerar, por lo tanto, como prospectos para la HB. Entre ellos se encuentran:

• Sistemas de metabolismo y reparación (Rosen, 1991).

• Redes automodificantes (Kampis, 1991).

• Redes neuronales recurrentes analógicas (Siegelman, 2013).

• Computación interactiva (incluye varios modelos) (Goldin & Wegner, 2008; 2005;

Goldin, Smolka & Wegner, 2006).

Rosen (1991) introdujo los sistemas de metabolismo y reparación (denotados como (M, R)-

systems) con el fin de probar que la vida no se puede comprender en términos mecánicos (o

algorítmicos) y que los modelos de los sistemas vivos no son susceptibles de ser simulados,

computados (por una MT) o definidos por un algoritmo recursivo clásico (Louie, 2007). Para

Rosen (2000), solo aquellos sistemas que obedecen a modelos no computables (algorítmicamente)

y no formalizables (como los sistemas vivos) deben ser considerados como complejos. Las

consecuencias de esta afirmación no han sido consideradas por la biología y las ciencias de la

complejidad (Maldonado & Gómez-Cruz, 2015).

Kampis (1991; 1996), bajo un argumento similar, sostiene que los sistemas biológicos y

cognitivos no pueden ser expresados o explicados apelando a la MT. Para él, la MT solo puede

ser aplicada a sistemas simples. En contraposición, Kampis desarrolló los sistemas auto-

modificantes (SA), cuyo alcance es el de explicar el origen y el incremento de la complejidad de

la vida y la cognición. Los SA se caracterizan por ser autogenerados, autoreferenciales y

autoorganizados. Un SA es un sistema en el que el hardware define el software y el software

define el hardware de forma indefinida. Cabe anotar que la lógica, los recursos físicos y el

significado de las acciones de una MT son determinados (por un ser humano) antes de la

computación. La MT presupone la acción humana como parte del sistema computacional. Es el

humano quien tiene las preguntas, determina el algoritmo, provee los recursos computacionales e

interpreta las salidas (Dodig-Crnkovic, 2011a).

Una aproximación reciente a la idea de la HB fue desarrollada por Siegelmann (2013). Ella

argumenta que la MT computa solamente aquellas tareas para las que ha sido programada, pero

que es incapaz de adaptarse a nuevas situaciones o aprender de ellas. De acuerdo con esto,

sostiene: los modelos computacionales de los sistemas vivos que carecen de adaptación pueden

ser en esencia incorrectos. En respuesta a la limitación de la MT, Siegelmann introduce un modelo

de computación super-Turing capaz de modelar computaciones adaptativas. El modelo,

denominado redes neuronales recurrentes analógicas, permite el uso eficiente de recursos y la

flexibilidad necesaria para cambiar su “programa” de acuerdo con las demandas del entorno. Con

base en esas capacidades, el modelo puede aprender y adaptarse. Desde el punto de vista

conceptual, la computación super-Turing no solo es más expresiva que la MT, sino que es

radicalmente diferente. Puesto en el lenguaje que se introdujo en la sección 2.5, la computación

super-Turing trasciende la HC y se instaura como un caso particular de la HnC.

La computación interactiva (CI) (capítulo 3), como modelo de computación, es el enfoque que

más se ha desarrollado dentro de la HnC (ver, por ejemplo, Wegner 1998 o Goldin, Smolka &

Wegner, 2006). Su lenguaje, además, es mucho más genérico (y por tanto transversal) que el de

los otros modelos descritos. Se propone que este nuevo paradigma de computación puede sentar

las bases para establecer una teoría de la HB, algo que no se ha explorado a la fecha. Gracias a su

genericidad, se considera en esta investigación que la CI ofrece un lenguaje común que permite

14 Some new models of computation have moved away from the idea of computation as the evaluation of a fixed function. Traducción del autor.

Page 60: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

50

integrar las propuestas de HB presentadas aquí y todas aquellas que se pueda desarrollar a futuro.

Adicional a lo ya indicado, en esta investigación se opta por esta alternativa debido a varias otras

razones:

• Los modelos de interacción capturan la idea de realizar una tarea o llevar a cabo un

proceso, antes que calcular, con base en datos de entrada, el resultado de una función

(Goldin, Smolka & Wegner, 2006).

• En CI el entorno de la computación es una parte del modelo y juega un rol activo durante

la computación. Para los sistemas vivos el entorno no puede obviarse, ni suponerse como

estático o computable por medios mecánicos.

• La CI considera distintas formas de interacción: secuencial, distribuida, paralela,

concurrente, serializable/no serializable, síncrona/asíncrona (Wegner, 1998). Gracias a

esto, la CI permite considerar distintas instancias y procesos biológicos.

• Los componentes computacionales en CI son modelados en términos de su

comportamiento observable, el cual consiste en pasos de interacción.

• La CI capta las nociones de sistema abierto, persistencia, interacción con el entorno,

dependencia de la trayectoria (path dependece), autoorganización y computación

emergente, las cuales no son susceptibles de ser descritas algorítmicamente (Wegner,

1998).

• Los sistemas interactivos son incompletos en el sentido de que no pueden ser modelados

por lógicas de primer orden. Esto es consistente con el carácter abierto de la biología.

• Los sistemas interactivos expresan el cambio de paradigma de los algoritmos, la lógica y

las matemáticas a modelos empíricos interactivos (Wegner, 1998). La CI le da a la teoría

de la computación un estatus epistemológico distinto al de las matemáticas.

• La CI puede ser simulada a través de modelos basados en agentes. En vía inversa, los

modelos basados en agentes (Gómez-Cruz, 2016) pueden ser estudiados como sistemas

de CI. Por estas razones, los modelos basados en agentes proveen una manera útil de

implementar los sistemas interactivos y la CI podría proporcionar los medios para

estudiar la expresividad computacional de los modelos basados en agentes.

• Otro modelo de computación basado en agentes que se puede integrar con la CI es el

modelo actor de Hewitt (2013). Dodig-Crnkovic (2014) enfatiza que el modelo actor es

idóneo para estudiar la computación que toma lugar en la naturaleza.

Ahora bien, definir en qué sentido los sistemas vivos realizan HB no es una tarea trivial. Las

nociones de equivalencia y expresividad son estrictamente dependientes del marco de relevancia

del modelo considerado (MacLennan, 2009). En el caso de la MT y la HC, la expresividad

computacional tiene que ver con las clases de funciones matemáticas que un modelo específico

puede computar. Cuando el marco de relevancia es la biología, otros criterios de expresividad

deben ser considerados. De acuerdo con MacLennan (2004), la computación natural y la

computación biológica requieren de modelos de computación que admitan nociones ortogonales

de poder o expresividad computacional. MacLennan denomina a tales modelos computación no-

Turing. Las expresiones HnC, computación super-Turing y computación no-Turing apuntan en

una sola y misma dirección.

Para un sistema vivo, la computación establece el límite entre la vida y la muerte. Computar

“bien” significa vivir y la posibilidad participar en el proceso de la evolución. Computar “mal”,

por su parte, pone en riesgo su continuidad y lo ubica al borde del peligro y la extinción

(Maldonado & Gómez-Cruz, 2015). Los criterios de expresividad deben dar cuenta de este hecho.

MacLennan (2004) propone los siguientes criterios:

• Respuesta en tiempo real.

• Velocidad de respuesta.

• Generalidad de la respuesta.

• Flexibilidad en la respuesta a la novedad.

Page 61: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

51

• Adaptabilidad.

• Tolerancia al ruido, el error, las fallas y los daños.

Algunos de ellos serán considerados en el capítulo 6.

5.4 Evolución de los modelos de computación: de la máquina

de Turing a la hipercomputación biológica

La hipótesis que se sugiere en esta sección es que la complejidad de un sistema (vivo) es

directamente proporcional a la sofisticación (expresividad, poder computacional) del

procesamiento de información que es capaz de llevar a cabo. Así, exhibe mayor complejidad una

MT que una máquina de estado finito. Del mismo modo, exhibe mayor complejidad una máquina

de Turing persistente que una máquina de Turing estándar. Y exhibe mayor complejidad una

máquina interactiva distribuida que una máquina interactiva secuencial. Se han aportado

evidencias que indican que el procesamiento de información que efectúan los sistemas vivos no

se puede representar (de forma relevante, interesante o útil) con una MT (sección 5.1), ni reducir

a su capacidad expresiva (secciones 5.2 y 5.3). Esto último sugiere, por lo tanto, que la máquina

de Turing y la tesis de Church-Turing no establecen, en absoluto, una cota (o límite) superior para

lo que la vida puede computar. Así mismo, que la tesis fuerte de Church-Turing es, por decir lo

menos, errónea.

La figura 5.1 muestra el desarrollo histórico de los modelos de computación contra una línea de

complejización. Cada escenario dentro del esquema ha introducido cambios cualitativos en la

forma como se comprende la computación y se resuelven los problemas computacionales. La

computación clásica, representada por la máquina de Turing, demostró el potencial y el alcance

de los procedimientos sistemáticos (es decir, algorítmicos, mecánicos, efectivos, recursivos) en

la resolución problemas matemáticos. La tratabilidad de aquellos problemas que, bajo el enfoque

algorítmico, requieren demasiados recursos (tiempo y memoria) ha sido el objeto principal de la

computación no-convencional, los modelos bioinspirados y el uso de materiales alternos para

computar (ADN, por ejemplo). Estos campos renunciaron, en cierto sentido, a las soluciones

exactas de la computación clásica en beneficio de la eficiencia computacional (ver, por ejemplo,

Talbi, 2009).

De otro lado, la hipercomputación clásica (primero) y la hipercomputación bioinspirada (después)

han formulado y estudiado modelos teóricos que permiten resolver, in info, problemas

matemáticos que la máquina de Turing no puede (como el problema de la detención). La

hipercomputación no-clásica (HnC), por su parte, extendió la noción de computación más allá de

la visión matemática soportada en el cálculo de funciones. Los modelos de computación

interactiva (una forma de HnC), ofrecen maneras mejores de modelar los sistemas

computacionales actuales y los sistemas naturales que procesan información. En esencia, la HnC

creó un escenario idóneo para pensar en sistemas abiertos y procesos computacionales no

algorítmicos (Wegner, 1998). La computación biológica tomó como objeto de estudio, si cabe la

expresión, a los sistemas vivos y ya no solamente consideró la biología como inspiración para

resolver los problemas computacionales de naturaleza humana.

La integración de la HnC con los modelos de computación biológica representa una ruptura con

respecto a toda la historia de las ciencias de la computación. Como resultado de la integración

emerge el campo incipiente de la hipercomputación biológica (HB) (Maldonado & Gómez-Cruz,

2015). La HB establece una nueva síntesis a partir de la cual es posible generalizar la noción de

computación y comprender las características y los límites computacionales de la vida. La tabla

5.2 aporta evidencia bibliográfica sobre los hitos presentados en la figura 5.1.

Page 62: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

52

Figura 5.1. La complejización de la computación Fuente: adaptada de Maldonado y Gómez-Cruz (2015)

Tabla 5.2. Campos y tendencias en el tránsito de la máquina de Turing a la hipercomputación biológica

Campo/tendencia Referencias históricas/relevantes

Modelos de computación algorítmica

Turing, 1937; Church, 1936

Modelos de computación no-

convencional

Adamatzky, 2001; Calude, Casti & Dinneen, 1998; Forrest, 1991; Cosenza

& Neri, 1987; Toffoli & Margolus, 1987; Crutchfield, 1984; Benioff, 1982

Modelos de computación bio-inspirados

Dasgupta, 1999; Pǎun, 1999a; Gibbons, Amos & Hodgson, 1996; Bishop, 1995; Berry & Boudol, 1992

Biología como sustrato de

implementación

Regot, Macia, Conde, Furukawa, Kjellén, Peeters, …, Solé, 2011;

Benenson, Paz-Elizur, Adar, Keinan, Livneh, & Shapiro, 2001; Tolmachiev

& Adamatzky, 1996; Adleman, 1994

Hipercomputación clásica Syropoulos, 2008; Burgin, 2005; Copeland, 2002a; 1998; Copeland &

Proudfoot, 1999; Siegelmann, 1995; Turing, 1937; 1939; 1948

Hipercomputación bioinspirada Burgin & Eberbach, 2012; Gheorghe & Stannett, 2012; Eberbach, 2005; Calude & Pǎun, 2004; Pǎun, 1999

Computación biológica

Mayfield, 2013; Mitchell, 2012; Ben-Jacob, 2009; Bray, 2009; Amos,

Hodgson & Gibbons, 2007; Ben-Hur & Siegelmann, 2004; Ehrenfeucht,

Harju, Petre, Prescott & Rozenberg, 2004; Peak, West, Messinger & Mott, 2004; Prescott & Rozenberg, 2002; Detrain, Deneubourg & Pasteels, 2001;

Maynard-Smith & Szathmáry, 2001; Forrest & Hofmeyr, 2000

Hipercomputación no-clásica Wegner, Eberbach & Burgin, 2012; Dodig-Crnkovic, 2011a; Ehrenfeucht, & Rozenberg, 2010a; MacLennan, 2009; Stepney, 2009; Goldin & Wegner,

2008; Goldin, Smolka & Wegner, 2006; Wegner, 1998

Hipercomputación biológica Siegelmann, 2013; Rosen, 2000; 1991; Kampis, 1991

Fuente: Adaptado de Maldonado & Gómez-Cruz (2015)

En definitiva, la noción de computación no puede estar limitada al plano de las funciones

matemáticas computables. Ni siquiera al campo de las matemáticas y la lógica formales. Es

evidente que la definición de lo que es (o no) computable depende expresamente del modelo de

computación considerado y distintos modelos pueden tener distintos marcos de relevancia.

Actualmente, la noción de “computación implica […] una apertura conceptual, teórica y

metodológica hacia los procesos de cómputo que tienen lugar en la naturaleza en general

(computación natural) y en los sistemas vivos en particular (computación biológica)” (Gómez-

Cruz, 2013, pág. 199).

Computación

clásica

Modelos bio-

inspirados de

computación

Computación

no-

convencional

Biología como

sustrato de

implementación

Computación

biológica

Hipercomputación

clásica

Hipercomputación

no-clásica

Hipercomputación

bio-inspirada

Hipercomputación

biológica

Lín

ead

e co

mp

leji

zaci

ón

Tiempo

ruptura y

nueva síntesis

1930s-1940s 1995-19991994 2004-2005 2009 20121980s-1990s 1990s

Page 63: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

53

6. Hipercomputación en colonias de

hormigas

El propósito de este capítulo es mostrar, de manera sencilla pero contundente, que la vida procesa

información más allá del marco de relevancia establecido por la máquina de Turing. Para tal fin,

se tomó como caso el procesamiento de información que sucede en las colonias de hormigas. El

marco computacional considerado es la computación interactiva (CI), descrita en el capítulo 3.

Varias razones justifican las elecciones tomadas. Primero: las colonias de hormigas son sistemas

autoorganizados y la autoorganización es ubicua en los sistemas vivos (Mazzocchi, 2008;

Camazine, Deneubourg, Franks, Sneyd, Theraulaz & Bonabeau, 2001). En consecuencia, se

espera que los resultados alcanzados se puedan extender a otros fenómenos y sistemas biológicos.

Segundo: la autoorganización biológica, a diferencia de la que sucede en sistemas físicos no

biológicos, implica procesamiento de información. Tercero: la autoorganización es un fenómeno

esencialmente interactivo: múltiples elementos que interactúan entre ellos y con el entorno. Esto

justifica el uso de la computación interactiva. Cuarto: las colonias de hormigas han sido

ampliamente estudiadas, incluso en términos de la manera como procesan información. Quinto:

el autor está más familiarizado con el caso de las colonias de hormigas que con otros que podrían

resultar interesantes (como la célula, el cerebro, las colonias de bacterias o el sistema inmune, por

nombrar algunos).

Dos limitaciones, sin embargo, estuvieron latentes. Por un lado, se trata del hecho de que la

computación interactiva distribuida (CID) no cuenta aún con un modelo paradigmático, análogo

a las máquinas de Turing persistentes (MTP) de la computación interactiva secuencial (CIS), que

permita realizar alguna prueba de expresividad. Por otra parte, existen vacíos en el conocimiento

de los mecanismos de procesamiento que operan en los niveles molecular, celular e individual en

las colonias. Esto es cierto incluso en fenómenos ampliamente estudiados en inteligencia de

enjambres (swarm intelligence) como las estrategias de forrajeo. Por estas razones, se optó por

estudiar un ejemplo sencillo que es susceptible de ser analizado de manera idealizada, pero

tomando en cuenta su esencia computacional, a partir de las MTP. Se trata del mecanismo de

integración de rutas que usan las hormigas del desierto (Cataglyphis fortis), y otras tantas

especies de hormigas, para resolver el problema de regresar al nido tras el forrajeo. En el caso

colectivo, se realiza una aproximación informal y estrictamente cualitativa para mostrar que la

CID es más expresiva que la CIS.

Este capítulo procede de la siguiente manera. La sección 6.1 caracteriza las colonias de hormigas

como sistemas complejos adaptativos. La sección 6.2 destaca las capacidades computacionales

de la colonia tanto en el nivel colectivo como en el individual. Se muestra que las dinámicas

computacionales de la colonia son mejor apreciadas como una red de procesos que operan en

múltiples escalas espaciotemporales. La sección 6.3 se centra en las estrategias de navegación

empleadas por las hormigas durante el forrajeo, particularmente, en el proceso de integración de

rutas. La sección 6.4 introduce el mecanismo de integración de rutas empleado por la hormiga del

desierto, Cataglyphis fortis, y desvela su naturaleza computacional. La sección 6.5 propone un

modelo idealizado del mecanismo de integración de rutas, tomando como base las MTP. El

mecanismo es simulado, como prueba de concepto, empleando NetLogo®. Se evidencia que la

integración de rutas es mejor capturada por un modelo interactivo antes que por uno algorítmico.

La sección 6.6 discute, desde el punto de vista conceptual, la expresividad que exhibe la colonia,

Page 64: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

54

en el nivel colectivo, cuando recolecta alimento. Esta última sección es consistente con la

conjetura de que la CID es más expresiva que la CIS.

6.1 Complejidad y cognición en colonias de hormigas

Las colonias de hormigas han sido reconocidas como sistemas complejos adaptativos (SCA)

desde hace algunas décadas (Gordon, 2010; Mitchell, 2009; Dorigo & Stützle, 2004; Bonabeau,

1998; Hölldobler & Wilson, 1990). Un SCA es aquel cuya organización, dinámica y función

resultan de la acción autónoma, paralela, distribuida, asíncrona e interactiva entre sus múltiples

componentes (en este caso, las hormigas). De acuerdo con Mitchell (2009), los SCA exhiben

procesamiento de información sofisticado y capacidad de adaptación mediante aprendizaje o

evolución. “Para comprender cómo la acción coordinada de los componentes logra desplegar

patrones colectivos de organización espaciotemporal, es necesario considerar por lo menos dos

niveles diferentes de observación. La escala local (o microescala), donde operan e interactúan los

componentes del sistema. Y la escala global (o macroescala), donde aparecen los patrones

agregados, que pueden ser estructurales, comportamentales o funcionales” (Gómez-Cruz, 2016).

Actualmente se estima que existen más de 14.000 especies de hormigas que se extienden a través

de todos los hábitats del planeta (Gordon, 2016). Algunas de ellas llegan a conformar colonias de

hasta 300 millones de individuos. En la microescala, las capacidades funcionales de cada hormiga

son restringidas (respecto a las demandas del ambiente); su capacidad para acceder a información

del entorno es incompleta, y su interacción, que puede ser directa (física) o mediada por el entorno

(a través de feromonas), es local. En la macroescala, de otro lado, surge una red que opera de

manera autoorganizada, es decir, sin la acción de un líder. De la red emergen patrones agregados

complejos que ninguna hormiga podría llevar a cabo por sí sola. Estos incluyen la construcción,

reparación o extensión del nido; la búsqueda y recolección de alimento; la asignación dinámica

de tareas; la clasificación, la alimentación, la limpieza y el cuidado de las larvas, entre otros

(Gordon, 2016; Bonabeau, Dorigo, Theraulaz, 1999).

Además, algunas especies realizan funciones especializadas que dependen de las características

ecológicas de su entorno (Gordon, 2016). Las hormigas cortadoras (Atta), por ejemplo, cortan y

transportan hojas de plantas y de árboles para cultivar hongos dentro del nido que luego consumen

y brindan como alimento a las larvas y las pupas. Las hormigas legionarias (Eciton) construyen

puentes y andamios con sus propios cuerpos con el fin de superar precipicios y obstáculos de

manera eficiente (Hess, 2016; Bonabeau, Dorigo, Theraulaz, 1999). Las hormigas tejedoras

(Oecophylla) elaboran nidos con seda (de las larvas) y hojas. También pueden atrapar, inmovilizar

y transportar animales de gran tamaño como escorpiones. Las hormigas negras (Lasius niger)

agrupan los cadáveres en pilas a la manera de “cementerios”. Todas estas capacidades involucran

capacidades computacionales y cognitivas por parte de la colonia (Dornhaus & Franks, 2008). El

comportamiento colectivo de las colonias de hormigas es equiparable, en términos ecológicos, al

de un organismo (Gordon, 2010): nacen, crecen, se reproducen y mueren. De acuerdo con Gordon

(2016), la expectativa de vida de una colonia oscila entre 25 y 30 años.

Varios de los procesos complejos que realiza la colonia se pueden explicar sin apelar a la

complejidad de los individuos. En dichos casos, es posible suponer que las hormigas son entidades

interactivas simples (Bonabeau, Theraulaz, Deneubourg, Aron & Camazine, 1997). Esto ha

llevado a los investigadores en campos como las ciencias de la complejidad (Mitchell, 2009), la

inteligencia colectiva (Bonabeau, Dorigo & Theraulaz, 1999) y la inteligencia computacional

(Dorigo & Stützle, 2004) a representar y modelar a las hormigas como autómatas reflejos (o

agentes simples), cuyo comportamiento es predefinido e inflexible. Incluso, entomólogos de la

talla de E. O. Wilson consideraron a las hormigas como componentes genéticamente programados

para cumplir su tarea (Gordon, 2010). En realidad, se trata de un supuesto o de una hipótesis de

trabajo, útil en algunos casos, pero que no siempre hace justicia a las hormigas. Como Gordon

Page 65: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

55

(2010) apunta, el comportamiento de las hormigas no se reduce simplemente a un conjunto de

respuestas fijas a señales químicas específicas.

Por el contrario, el repertorio comportamental de las hormigas es complejo y sofisticado. Más de

lo que los campos mencionados habitualmente reconocen. Se ha mostrado, por distintas vías, que

el comportamiento de las hormigas es altamente flexible e involucra muchas veces aprendizaje

(Dornhaus & Franks, 2008). Tal flexibilidad requiere capacidades cognitivas elaboradas. La

cognición se define como la habilidad para adquirir información del entorno (mediante los

sentidos), retenerla, procesarla y tomar decisiones con base en ella (Shettleworth, 2001). Además,

se sabe que las hormigas pueden modificar su esquema de comportamiento de acuerdo con el

patrón de interacción que perciben en su entorno (Gordon, 2010). Por tales razones, las hormigas

no son simplemente máquinas algortímicas. Como se aprecia, la cognición y la computación

operan tanto en el nivel individual como en el nivel colectivo.

6.2 Computación individual y colectiva en hormigas

En el nivel individual, las hormigas despliegan un amplio repertorio de capacidades cognitivas y

computacionales. Cada hormiga es capaz de percibir una gran cantidad de entradas sensoriales,

modular su comportamiento de acuerdo con múltiples estímulos, y tomar decisiones con base en

grandes cantidades de información. Se sabe, por ejemplo, que las hormigas pueden distinguir

entre cientos de químicos distintos (Gordon, 2016). Con su diminuto cerebro, que pesa alrededor

de 0.1 miligramos15 (Ronacher, 2008), las hormigas aprenden (tanto procedimental como

declarativamente), planean para el futuro, enseñan, toman decisiones sofisticadas y usan

herramientas (Dornhaus & Franks, 2008). El uso de herramientas, particularmente, es empleado

en el transporte de líquidos y en la construcción de nidos. La figura 6.1 muestra una hormiga tejedora australiana (Oecophylla) sosteniendo una larva entre sus mandíbulas para extraer seda

de ella. La hormiga adulta golpea con sus antenas a la larva como indicación para que comience

a secretar seda de sus glándulas salivares (National Geographic, 2011). La seda es empleada para

unir dos hojas que formarán parte del nido de la colonia.

Figura 6.1. Uso de herramientas en hormigas tejedoras (Oecophylla) Fuente: National Geographic (2011)

Cada una de estas habilidades involucra diversos mecanismos de procesamiento de información

que operan en las escalas molecular, celular, cerebral y organísmica. No obstante, la complejidad

individual no suele explicar los patrones estructurales, comportamentales y funcionales que

exhibe la colonia (Bonabeau, Theraulaz, Deneubourg, Aron & Camazine, 1997). De hecho, como

se indicó en la sección anterior (6.1), muchas veces ni siquiera es necesario apelar a la complejidad

individual para explicar algunas dinámicas particulares de la complejidad colectiva. Un caso

bastante estudiado es la formación de senderos para la recolección de alimento (Camazine,

Deneubourg, Franks, Sneyd, Theraulaz & Bonabeau, 2001; Bonabeau, Dorigo & Theraulaz,

1999).

15 En contraste con los cerca de 1400 gramos del cerebro humano.

Page 66: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

56

Durante el proceso de búsqueda y recolección de alimento, el comportamiento funcional de las

hormigas se puede considerar “simple” (Franks, 1989). El proceso opera más o menos como se

indica a continuación (Wilensky & Rand, 2015). Las hormigas forrajeras abandonan el nido,

caminando de forma aleatoria, en busca de alimento. Cuando una de ellas lo encuentra, toma un

poco y regresa a dejarlo en el nido. De regreso al nido, la hormiga en cuestión deposita una

sustancia química, denominada feromona, en el camino. El rastro de feromonas se difunde en el

entorno cercano con un efecto atractivo sobre las demás hormigas. Cada vez que otra hormiga

que deambule sin alimento detecte el rastro, existe una mayor probabilidad de que module su

comportamiento y decida seguirlo. Al hacerlo, depositará más feromonas y el rastro será

reforzado, atrayendo más y más hormigas al nuevo sendero.

Este mecanismo de “reclutamiento” de hormigas mediante feromonas genera un bucle de

retroalimentación positiva. Entre más hormigas participen en la recolección, más feromonas serán

depositadas y más atractivo será el sendero. De esta manera, el número de hormigas en el sendero

se incrementa exponencialmente en el tiempo (Moussaid, Garnier, Theraulaz & Helbing, 2009).

Sin embargo, el proceso es contrabalanceado por un bucle de retroalimentación negativa: en la

medida en que las feromonas se evaporan, el número total de hormigas disponibles es alcanzado

o el alimento de la fuente ha sido recolectado por completo. La figura 6.2 muestra la dinámica de

reclutamiento para hormigas de la especie Linepithema humile. La figura ilustra la emergencia

del rastro de feromonas entre el nido y la fuente de alimento. Mediante este proceso, la colonia

decide colectivamente qué fuente de alimento explotar y conforma un carril dinámico para

hacerlo. La información (feromona) necesaria para realizar la recolección es difundida a través

del entorno y no puede ser contenida o generada por una sola hormiga. La feromona constituye,

en la escala global, la memoria de la colonia.

Figura 6.2. Dinámica de reclutamiento en hormigas de la especie Linepithema humile Fuente: Adaptada de Moussaid, Garnier, Theraulaz y Helbing (2009)

En general, la colonia produce, por un lado, nueva información (información cogenerada) que las

hormigas asumen individualmente y, por el otro, nuevos mecanismos para procesar

colectivamente dicha información. La integración (o la síntesis) de la información parcial que las

hormigas adquieren, procesan y comunican (en la microescala), y los mecanismos de

procesamiento de información que emergen (en la macroescala), le confieren a la colonia

capacidades computacionales que no están presentes en ninguno de sus miembros (Mitchell,

2009). Tales capacidades le permiten a la colonia, como un todo, interactuar eficientemente con

el entorno y resolver problemas que para un solo individuo serían no computables o resolubles

solamente de manera ineficiente. Algunos ejemplos son la construcción de nidos; la búsqueda de

la ruta más corta entre el nido y la fuente de alimento; la selección de la fuente de alimento más

cercana entre dos o más opciones igualmente atractivas; la elección de la fuente más atractiva

(por ejemplo, más abundante o más nutritiva) entre dos o más alternativas; o la explotación

0

20

40

60

80

100

120

1 3 5 7 9 11 13 15 17

Retroalimentación negativa

Tiempo (en minutos)

Retroalimentación positiva

No

. de

ho

rmig

as e

n la

fu

ente

de

alim

ento

Page 67: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

57

(sub)óptima de varias fuentes de alimento disponibles (Camazine, Deneubourg, Franks, Sneyd,

Theraulaz & Bonabeau, 2001).

Algunas aproximaciones al procesamiento de información en colonias de hormigas se han

reportado en la literatura. En el contexto de la inteligencia computacional, específicamente en

campo de la optimización por colonias de hormigas, la capacidad de procesamiento de

información de la colonia se ha sobre-simplificado y reducido a su aplicación práctica en

problemas de optimización y búsqueda. El enfoque ha sido principalmente ingenieril, no

científico. La manera como se analizan los modelos resultantes es en términos de su complejidad

computacional, es decir, en términos de la cantidad de recursos computacionales (de tiempo y

memoria) requeridos para resolver problemas matemáticos -por ejemplo, de optimización

combinatoria- que son intratables por métodos exactos (Dorigo, 2004). No en términos de su

expresividad computacional. El marco de trabajo, en consecuencia, continúa siendo el de los

problemas computables por una máquina de Turing.

Otros trabajos ofrecen aproximaciones que involucran técnicas computacionales (como la

simulación) o el uso de lenguaje computacional para comprender o explicar procesos específicos,

como la formación de senderos o la formación de carriles (Moussaid, Garnier, Theraulaz &

Helbing, 2009). Sin embargo, tampoco ha estudiado de manera explícita la expresividad

computacional de las hormigas y los hormigueros.

Más allá de estos casos, estudiar el hormiguero (o cualquier otro sistema vivo) como una red de

procesamiento de información distribuida que opera en distintas escalas espaciotemporales sigue

siendo un reto. El hormiguero comprende múltiples mecanismos que funcionan de manera

simultánea, dinámica, interactiva y coordinada para que la vida misma de la colonia sea posible.

Como se infiere de lo anterior, la colonia no computa ninguna función matemática específica ni

se espera que su procesamiento se detenga. En general, sugiere Dodig-Crnkovik (2011), una red

de procesamiento de información que funciona en un entorno dinámico no puede ser serializada

ni modelada, de ninguna forma interesante o útil, con una máquina de Turing.

Más aún, los modelos de hipercomputación no clásica (HnC) disponibles no pueden, de momento,

capturar la complejidad global de la colonia, involucrando sus múltiples escalas de emergencia y

la coevolución de la miríada de mecanismos de computación presentes. Nuevos modelos de

computación siguen siendo necesarios. Sin embargo, como se verá en secciones subsiguientes, el

paradigma de la computación interactiva, aunque incipiente, permite aportar evidencia específica

acerca de la expresividad computacional de las hormigas y las colonias que conforman.

6.3 Estrategias de navegación en hormigas

Las hormigas y otros insectos sociales se caracterizan por ser forrajeros centrales. Esto significa

que rutinariamente vuelven al nido (foco central) tras deambular por el entorno en busca de

alimentos u otros insumos (Hartmann & Wehner, 1996). En el nivel colectivo, la colonia forma

exitosamente senderos una vez que el alimento ha sido encontrado. El gran reto individual

consiste en saber cómo regresar tras haber encontrado por primera vez el alimento luego de

recorrer cientos de metros.

Por lo menos tres estrategias han sido identificadas en la naturaleza para resolver el problema de

retornar a un punto específico tras una jornada de forrajeo (Ronacher, 2008). Los poliplacóforos

y los gasterópodos (como los caracoles), por ejemplo, son capaces aplicar marcas durante el

forrajeo que luego siguen de forma inversa para retornar al punto de origen (figura 6.3, izquierda).

Varias especies de vertebrados, de otro lado, utilizan mapas cognitivos a través de los cuales

logran establecer relaciones espaciales entre las estructuras que encuentran en el entorno (figura

6.3, derecha). Las hormigas, por su parte, emplean un mecanismo denominado integración de

rutas (path integration) (ver figura 6.3, centro). Este mecanismo consiste en la medición, por

Page 68: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

58

parte de la hormiga, de las distancias recorridas y las variaciones en la orientación del

desplazamiento. La información calculada es integrada en un vector (dirección y distancia) de

regreso, que es actualizado constantemente en la memoria de la hormiga y que estará disponible

en todo momento durante el forrajeo. De esta manera, la hormiga logra retornar prácticamente en

línea recta hacia el nido.

Varios módulos están involucrados en la integración de rutas (Whener, 2003). (i) Una brújula,

basada en la polarización de la luz, que le permite a la hormiga estimar sus ángulos de rotación.

(ii) Un odómetro que opera como un “contador” de pasos y le permite a la hormiga medir las

distancias recorridas. Incluso cuando el terreno es ondulado (Ronacher, 2008). (iii) El integrador

de rutas, propiamente dicho, que calcula el vector de regreso con base en los ángulos y las

distancias medidas. (iv) Una memoria que le permite a la hormiga almacenar el vector actual de

regreso y la información de ciertas marcas encontradas en el entorno (por ejemplo, cerca al nido).

El uso de marcas es relevante puesto que el integrador de rutas es propenso a la acumulación de

errores. (v) Un módulo global a través del cual la hormiga orquesta de forma flexible los demás

módulos mencionados.

Figura 6.3. Tres estrategias de orientación para retornar hacia un punto en el espacio Fuente: Ronacher (2008)

La integración de rutas tiene ventajas selectivas para las hormigas frente a las otras estrategias

descritas. En el primer caso, la estrategia de seguimiento de ruta no resulta del todo implausible,

ya que las hormigas podrían dejar marcas de feromonas para retornar tras el forrajeo. Sin embargo,

esta estrategia tiene dos desventajas manifiestas. Primero, que el viento u otros factores podrían

alterar el rastro depositado, dejando a la hormiga con vacíos de información y seguramente

extraviada. Segundo, que retornar por la misma ruta de ida incrementa considerablemente la

distancia total recorrida y, por tanto, también el consumo de recursos energéticos por parte de la

hormiga. En el caso de las hormigas del desierto, una situación semejante aumentaría el riesgo de

morir por agotamiento o desecadas por el sol. En el segundo caso, el uso de mapas mentales

requeriría almacenar grandes volúmenes de información sobre cientos de metros recorridos. La

hormiga, con su cerebro diminuto, tal vez no esté en condiciones de lograr algo semejante. Sobre

todo, si se toma en cuenta que el cerebro en cualquier animal es uno de los órganos que mayor

cantidad de energía demanda. Ronacher (2008) plantea que, probablemente, la complejidad de

los mecanismos neuronales empleados por las hormigas se encuentre a medio camino entre el

seguimiento de rutas y la elaboración de mapas mentales.

La navegación en hormigas puede ser entendida como un problema eminentemente

computacional. Para una hormiga, integrar rutas o hacer uso de puntos de referencia para regresar

exitosamente al nido requiere, entre otras capacidades, percepción, almacenamiento,

recuperación, medición, transformación y síntesis de información. Comprender los procesos de

percepción y de cómputo que emplean las hormigas para resolver sus necesidades de navegación

es, de hecho, un problema computacional de interés científico, particularmente desde el punto de

vista de la neurociencia y la ciencia cognitiva (Wehner, 2003).

Integración de ruta Mapa cognitivoSeguimiento de ruta

Nido

Fuente

,

Nido

Fuente Fuente

Nido

Page 69: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

59

6.4 Integración de rutas en hormigas forrajeras del desierto,

Cataglyphis fortis

La integración de rutas es el principal modo de navegación que emplean las hormigas del desierto

del género Cataglyphis (figura 6.4) (Ronacher, 2008). La razón radica en que, en ambientes

desérticos, como los salares del norte de África, los terrenos son llanuras que no presentan puntos

de referencia o marcas que las hormigas puedan memorizar y seguir (Andel & Wehner, 2004).

Puesto que en el desierto las fuentes de alimento son escasas, las excursiones de forrajeo se pueden

extender por cientos de metros. Para no deshidratarse, las hormigas deben desplazarse tan rápido

como les resulte posible en búsqueda de presas y retornar al nido por la vía más corta disponible.

Las hormigas Cataglyphis se desplazan a la sorprendente velocidad promedio de 50 cm/seg

(Whener & Whener, 1990). En escala humana, esta velocidad es equivalente a 180 km/h

(Ronacher, 2008).

Figura 6.4. Hormiga del desierto, Cataglyphis fortis (derecha) y visión frontal de su cerebro (izquierda) Fuente: tomado de Wittlinger, Wolf y Whener (2007) y Stieb (2010), respectivamente

Por su parte, el retorno al nido, que no es menos sorprendente, se logra empleando la integración

de rutas. La figura 6.5 muestra el mapeo experimental de la trayectoria saliente de una hormiga

del desierto cuando busca el alimento (línea continua). Este recorrido cubre 354,5 metros. La

trayectoria entrante, soportada en el integrador de rutas, mide solo 113,2 metros. Los puntos que

aparecen sobre las trayectorias saliente y entrante fueron dispuestos cada 60 segundos (Müller &

Wehner, 1988).

Figura 6.5. Viaje de forrajeo de una hormiga de la especie Cataglyphis fortis Fuente: Müller y Wehner (1988)

Page 70: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

60

Como se indicó en la sección anterior, la integración de rutas significa que el animal es capaz de

computar continuamente su posición actual con respecto a un punto de origen (el nido) a medida

que se desplaza. Esa información es empleada, posteriormente, para regresar al punto de origen

de forma directa y no reconstruyendo la ruta original. Las hormigas del desierto continuamente

recuerdan los componentes lineales y angulares de su movimiento e integran dicha información

en un vector de regreso. Esta información posicional es autogenerada (Wehner & Srinivasan,

2003). Cada hormiga está equipada con una “brújula” que determina las direcciones y un

“odómetro” que mide las distancias (Hartmann & Wehner, 1995). Ambos mecanismos son

altamente complejos.

Para determinar la dirección, las hormigas usan los patrones de polarización del cielo y, en menor

medida, la posición del sol, gradientes espectrales y la dirección del viento (Ronacher, 2008). Las

aproximaciones experimentales soportan la idea de que los insectos sociales (abejas y hormigas,

por ejemplo) usan una plantilla interna simplificada que abarca los patrones de polarización que

ocurren en distintos momentos del día y del año. Este mecanismo les permite a las hormigas

determinar su dirección de desplazamiento con bastante precisión (Horváth & Varjú, 2004).

Adicionalmente, cuando una hormiga viaja a sitios comunes varias veces durante el día, las

variaciones en los patrones de polarización de la luz son compensadas con información acerca del

curso del sol, la cual es obtenida gracias a su reloj circadiano interno (Ronacher, 2008).

Por otro lado, la manera como las hormigas miden las distancias recorridas permaneció elusiva

por mucho tiempo. Experimentos recientes demuestran que la hipótesis más plausible es el uso

de un mecanismo de conteo de pasos (Ronacher, 2008; Wittlinger, Whener & Wolf, 2006;

Thiélin-Bescond & Beugnon, 2005). Los detalles acerca de su funcionamiento siguen siendo

objeto de investigación y debate.

Se han logrado avances importantes con respecto a la manera como la información posicional es

integrada para producir el vector de regreso al nido. Algunas estrategias también se han

descartado. Por ejemplo, se ha logrado demostrar que las hormigas del desierto no hacen uso de

información cartográfica acerca de la ubicación del nido ni de la fuente de alimento (Andel &

Wehner, 2004). La implicación de este hecho es que las hormigas no adquieren ni usan mapas

cognitivos como mecanismo de navegación (Wehner, Boyer, Loertscher, Sommer & Menzi,

2006). También se sabe que no calculan la suma de los vectores recorridos. Por el contrario, los

hallazgos experimentales sugieren que el mecanismo está soportado en una estrategia

aproximada, sujeta a errores. Como se anotó anteriormente, las hormigas pueden emplear marcas

en el entorno (cuando están disponibles) y en casos extremos recurrir a búsquedas sistemáticas.

Müller y Wehner (1988) proponen un modelo que es consistente con la información experimental

disponible. El modelo parte del supuesto de que las hormigas pueden medir de manera iterativa

la media aritmética de todas las desviaciones efectuadas durante un pequeño trayecto, ponderando

el resultado con la longitud total recorrida. Esta hipótesis es formulada como sigue:

𝜑𝑛+1 =𝑙𝑛𝜑𝑛 + 𝜑𝑛 + 𝛿

𝑙𝑛 + 1=

𝜑𝑛(𝑙𝑛 + 1) + 𝛿

𝑙𝑛 + 1

𝑙𝑛+1 = 𝑙𝑛 + 1 −𝛿

9

𝜑𝑛 denota la dirección (orientación) media tras 𝑛 pasos. 𝑙𝑛 denota la distancia cubierta por la

hormiga tras 𝑛 pasos, y 𝛿 es la diferencia angular entre 𝜑𝑛 y la dirección de la hormiga en el paso

𝑛 + 1. 𝜑𝑛+1 y 𝑙𝑛+1 denotan la dirección y la distancia tras 𝑛 + 1 pasos, respectivamente. La

interpretación geométrica de las ecuaciones es presentada en la figura 6.6. Algunos afinamientos

adicionales sobre el modelo son presentados en el artículo de Müller y Wehner (1988). Sin

Page 71: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

61

embargo, la versión aquí expuesta es suficiente para los propósitos de esta investigación (ver la

sección siguiente).

Figura 6.6. Interpretación gráfica del modelo de integración de rutas Fuente: Müller y Wehner, 1988

La integración sucede tras cada segmento recorrido y el resultado es actualizado en la memoria

de la hormiga. El mecanismo es innato y no requiere, en principio, aprendizaje. Sin embargo,

debido a factores de entorno, fisiológicos y cognitivos, la integración es propensa a errores. Es

necesario, entonces, que la hormiga memorice (aprenda), por lo menos, algunos atributos de la

entrada del nido y sus alrededores como complemento de la información que provee el integrador

(Ronacher, 2008). En la siguiente sección se propone un modelo computacional del mecanismo

integrador de rutas propuesto por Müller & Wehner (1988). No se consideran dinámicas de

aprendizaje.

6.5 Modelado y simulación del integrador de rutas en

Clataglyphis fortis

En esta sección se presenta la simulación de una hormiga artificial que emplea el modelo de

integración de rutas propuesto por Müller y Wehner (1988) (en adelante, referido como modelo

Müller-Wehner). Posteriormente, el sistema de integración de rutas (SIR) de la hormiga

Cataglyphis fortis es modelado como una máquina de Turing persistente (MTP) (que fue

presentada en el capítulo 3), asumiendo varios supuestos. Sin embargo, el modelo logra capturar

aspectos esenciales acerca de la naturaleza y la expresividad computacional del SIR.

El modelo Müller-Wehner fue simulado usando NetLogo (Wilensky, 1999). Se dispuso un

entorno caracterizado por una cuadrícula de 160 x 160. En la parte inferior derecha se dispuso el

nido (de color morado) y en la parte superior izquierda una presa (de color azul). Se programó un

agente artificial (hormiga) que parte del de su nido siguiendo una caminata aleatoria similar a la

que realizan las hormigas reales. Antes de cada paso, durante el proceso de forrajeo, se le permitió

al agente decidir su orientación de manera aleatoria dentro de un rango de (-35°, 35°). Se supuso

que cada instante de la simulación (tick) equivale a un metro de desplazamiento del agente. Para

cada tick, la hormiga calcula su desplazamiento y su ángulo de giro. Esos dos datos son

suministrados a un procedimiento denominado integrador_de_rutas, que aplica el modelo

Müller-Wehner. Al encontrar el alimento, el integrador_de_rutas informa a la hormiga el vector

de regreso. La figura 6.7 muestra tres ejemplos del funcionamiento del modelo. En la imagen de

18 + 𝛿

18 − 𝛿

𝛿

𝜑𝑛 𝜑𝑛+1

𝑙𝑛

Page 72: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

62

la izquierda la ruta de forrajeo (línea roja) equivale a 624 metros y la ruta de retorno al nido 189

metros. En la imagen del centro, la ruta de forrajeo (línea roja) equivale a 337 metros, mientras

que la ruta de retorno al nido solo 172 metros. La imagen de la derecha muestra una ruta de

forrajeo de 437 metros y 164 de retorno.

Figura 6.7. Ejemplos simulados de integración de rutas Fuente: implementación del autor en NetLogo

El hecho de que las hormigas no regresen de manera estrictamente recta (como se evidencia en la

figura 6.5), supone la existencia de un mecanismo de compensación que, hasta donde sabemos,

no ha sido estudiado. Con el único fin de hacer más realista la apariencia visual del modelo que

se presenta en la figura 6.7, se implementó un mecanismo de “wiggle compensado”. Dicho

mecanismo opera toda vez que la hormiga se orienta hacia el nido para ejecutar su vector de

regreso. La figura 6.8 muestra el diagrama de flujo de la hormiga artificial durante el proceso de

búsqueda de alimento y retorno al nido.

Se sabe que el SIR opera sin referencia a guías externas y que nunca deja de funcionar (Wehner

& Srinivasan, 2003). De acuerdo con esto y con la simulación realizada, el SIR puede ser

entendido en sí mismo como un agente autónomo y dinámico, dotado con una memoria

rudimentaria y con la capacidad de interactuar con su entorno (la hormiga). Se sabe también que

los subsistemas que miden la rotación y la traslación son independientes y trabajan en paralelo.

Para efectos prácticos, se supone que tanto el ángulo de rotación, como la distancia recorrida, son

presentados al SIR en la forma de un paquete único de información. Dicho paquete será

denominado pA-D (paquete ángulo-distancia).

El SIR, entonces, percibe el pA-D y lo procesa con base en el modelo Müller-Wehner discutido

en la sección 6.4. Como resultado, obtiene el vector de regreso al nido �⃗�𝑖. Dicho vector es

almacenado en la memoria del SIR. Si existe un vector previo almacenado �⃗�𝑖−1 es reemplazado

por el nuevo vector. Este proceso es repetido de forma indefinida hasta que la hormiga encuentra

el alimento. Cuando esto sucede, el SIR informa a la hormiga el contenido de su memoria y la

hormiga emplea esa información para retornar al nido. Una vez que la hormiga arriba al nido, la

memoria del integrador se reinicia en cero. Mientras la hormiga permanezca en el nido, la

memoria no se actualizará y, sin embargo, el SIR permanecerá activo. El proceso global sucede

cada vez que la hormiga sale a forrajear.

La información del vector de regreso almacenada en memoria (�⃗�𝑖−1) es mantenida (memorizada)

de un macropaso de computación a la siguiente y afectará el cómputo de los vectores

subsecuentes. De esta manera, el SIR es un sistema persistente. Asimismo, los cálculos efectuados

por el SIR dependen estrictamente de su interacción con el entorno. Puesto que siempre está

activo, todo procesamiento de información dentro del SIR ocurre durante la computación. Por la

misma razón, el SIR no es un sistema terminante, salvo que sufra un daño o que la hormiga

perezca.

Page 73: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

63

Figura 6.8. Diagrama de flujo de la hormiga artificial que implementa el modelo Müller-Wehner Fuente: elaboración propia

El esquema conceptual del SIR que se acaba de introducir es ahora reformulado en el lenguaje de

las MTP. La cinta de trabajo es usada para almacenar el vector de regreso vigente y calcular las

nuevas versiones del mismo. Los pasos computacionales son definidos por una función de mapeo

Turing-computable de la forma:

(𝑡𝑜𝑘𝑒𝑛 𝑑𝑒 𝑒𝑛𝑡𝑟𝑎𝑑𝑎,𝑚𝑒𝑚𝑜𝑟𝑖𝑎 𝑎𝑐𝑡𝑢𝑎𝑙) → (𝑡𝑜𝑘𝑒𝑛 𝑑𝑒 𝑠𝑎𝑙𝑖𝑑𝑎,𝑚𝑒𝑚𝑜𝑟𝑖𝑎 𝑛𝑢𝑒𝑣𝑎)

Partir del nido

Avanzar n pasos

Decidir orientación

Integrar ruta

Depositar alimento

en el nido

Memorizar

vector

Recuperar información

del vector de regreso

Avanzar n pasos en

dirección de regreso

(más un error)

Compensar error

¿Encontró

alimento?

No

Reiniciar

vector

¿llegó al

nido?

No

Page 74: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

64

De acuerdo con esto, el SIR 𝐼 está definido por:

𝑓𝐼(𝑐𝑎𝑙𝑐𝑢𝑙𝑎𝑟 �⃗�𝑖, �⃗�𝑖−1) = (𝑜𝑘, �⃗�𝑖−1);

𝑓𝐼(𝑎𝑙𝑚𝑎𝑐𝑒𝑛𝑎𝑟 �⃗�𝑖, �⃗�𝑖−1) = (𝑜𝑘, �⃗�𝑖);

𝑓𝐼(𝑟𝑒𝑝𝑜𝑟𝑡𝑎𝑟, �⃗�𝑖) = (�⃗�𝑖, �⃗�𝑖);

𝑓𝐼(𝑟𝑒𝑖𝑛𝑖𝑐𝑖𝑎𝑟, �⃗�𝑖) = (ℎ𝑒𝑐ℎ𝑜, �⃗�0).

Como se señaló en el capítulo 3, una MTP recibe un flujo de entrada que es generado

dinámicamente por el entorno. En este caso, es la hormiga quien genera el flujo de entrada para

el SIR. El siguiente flujo de entrada resalta la manera como la hormiga interactúa con su entorno

durante el forrajeo. De esta manera, permite ilustrar que el procesamiento de información que

realiza el SIR es dependiente de la historia:

(𝑐𝑎𝑙𝑐𝑢𝑙𝑎𝑟 𝐴, 𝑎𝑙𝑚𝑎𝑐𝑒𝑛𝑎𝑟 𝐴, 𝑐𝑎𝑙𝑐𝑢𝑙𝑎𝑟 𝐵, 𝑎𝑙𝑚𝑎𝑐𝑒𝑛𝑎𝑟 𝐵,… , 𝑟𝑒𝑝𝑜𝑟𝑡𝑎𝑟,

𝑟𝑒𝑖𝑛𝑖𝑐𝑖𝑎𝑟, 𝑐𝑎𝑙𝑐𝑢𝑙𝑎𝑟 𝐴′, 𝑎𝑙𝑚𝑎𝑐𝑒𝑛𝑎𝑟 𝐴′, 𝑐𝑎𝑙𝑐𝑢𝑙𝑎𝑟 𝐵′, 𝑎𝑙𝑚𝑎𝑐𝑒𝑛𝑎𝑟 𝐵′, … , 𝑟𝑒𝑝𝑜𝑟𝑡𝑎𝑟, 𝑟𝑒𝑖𝑛𝑖𝑐𝑖𝑎𝑟, … )

La hormiga parte de una posición de origen (el cero relativo) y se desplaza una longitud 𝑙1 con

ángulo 𝛿 respecto al origen. Esa información (el pA-D) es obtenida por la hormiga y usada por el

SIR para calcular el vector de regreso (𝑐𝑎𝑙𝑐𝑢𝑙𝑎𝑟 𝐴). Una vez calculada, la información del vector

de regreso es almacenada por el integrador de rutas (𝑎𝑙𝑚𝑎𝑐𝑒𝑛𝑎𝑟 𝐴). Luego, la hormiga se

desplaza otro segmento de longitud 𝑙2 con un ángulo 𝛿′. Los nuevos datos percibidos, junto con

la información almacenada en el integrador de rutas (𝐴), son usados para calcular un nuevo vector

de regreso. Los puntos suspensivos indican que el proceso se repite indefinidamente hasta que el

alimento es encontrado por la hormiga. Cuando esto sucede, el SIR informa a la hormiga el vector

de regreso al nido (𝑟𝑒𝑝𝑜𝑟𝑡𝑎𝑟). El SIR reporta, en todos los casos, el último vector almacenado

hasta ese momento, el cual contiene la distancia y el ángulo que la hormiga debe recorrer para

llegar al nido. Ya en el nido, la hormiga reinicia en cero el SIR. El stream de salida

correspondiente, de acuerdo con la función de mapeo, es de la forma:

(𝑜𝑘, 𝑜𝑘, 𝑜𝑘, 𝑜𝑘, … , 𝑇, ℎ𝑒𝑐ℎ𝑜, 𝑜𝑘, 𝑜𝑘, 𝑜𝑘, 𝑜𝑘, … , 𝑇′, ℎ𝑒𝑐ℎ𝑜, …)

Nótese que ante el mismo token de entrada (𝑟𝑒𝑝𝑜𝑟𝑡𝑎𝑟) presentado al SIR en momentos distintos,

se generan dos vectores de salida distintos (𝑇 y 𝑇′). Esto obedece a dos razones fundamentales

que se desprenden de la semántica de las MTP. Por un lado, la ruta que sigue la hormiga depende

estrictamente de microdecisiones que son tomadas, en tiempo real, a medida que interactúa con

su entorno. Por otra parte, como cada trayecto recorrido en una dirección específica contribuye a

la integración del vector de regreso, el sistema se hace, en efecto, dependiente de la historia.

Aunque la MTP cuenta con la misma sintaxis que la MT estándar, la modificación de la semántica

(persistencia e interacción) le permite a la hormiga resolver el problema de la integración de rutas

de manera no funcional (dicho en términos matemáticos16) y no algorítmica (puesto en términos

computacionales). Este modelo deja claro que la hormiga no puede precomputar su vector de

regreso, pues esto implicaría que, además, precomputara hasta el último detalle de su ruta de

forrajeo.

16 Una función matemática establece una correspondencia entre una colección de valores de entrada posibles y una colección de valores de salida, tal que cada entrada es asignada a una única salida. El proceso de determinar el valor de salida que una función asigna a una salida específica se llama computar la función.

Page 75: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

65

6.6 Computación emergente en colonias de hormigas y la

necesidad de nuevos modelos de computación

La interacción con el entorno le permite a una hormiga recolectar información suficientemente

precisa para regresar al nido. En realidad, los mecanismos involucrados en la integración de rutas

operan de forma autoorganizada y emergente. Los detalles de su operación se desconocen aún.

Por ejemplo, para capturar la polarización de la luz del cielo, las hormigas usan una pequeña parte

de su sistema visual, la cual recibe información de una fracción muy pequeña de los fotoreceptores

del ojo que son sensibles a la luz polarizada. La manera cómo esa información fluye en los

distintos niveles sinápticos y es representada e interpretada por la hormiga sigue siendo objeto de

estudio. Lo mismo sucede con las redes neuronales que “instancian” el integrador de rutas. El

modelo presentado en la sección anterior no captura esos aspectos. Sin embargo, logró capturar

de forma sensata el fenómeno en una escala global. Gracias a ello, se logró mostrar que el SIR no

opera algorítmica ni funcionalmente. Pero ahora queda la pregunta ¿es más expresiva la

interacción distribuida que la secuencial?

No existe, de momento, un modelo de hipercomputación que permita responder a esta pregunta.

En esta sección se hace una aproximación intuitiva a la respuesta. Para ello se considera el

problema de la recolección de alimentos en colonias de hormigas. Se utiliza un modelo de

simulación basada en agentes propuesto por Wilensky (1997) (con algunas variaciones menores).

El modelo no está calibrado empíricamente, por tanto, su valor es heurístico. El modelo simula

una población de hormigas dispuesta en un entorno rectangular de 70 x 70. En el centro se dispone

un nido (de color morado) y tres fuentes de alimento en la periferia (de color azul) ubicadas a

distancias distintas. La simulación opera de acuerdo con la descripción del proceso de formación

de senderos realizada en la sección 6.2.

Las hormigas son modeladas como agentes autónomos con la capacidad de forrajear en búsqueda

de alimento, recolectar pequeñas porciones del mismo, retornar al nido cuando el alimento es

recolectado, depositar feromonas en el camino de regreso al nido y percibir feromonas del

entorno. Se definen como parámetros de la simulación el número de hormigas (población), la tasa

de difusión de feromonas y la tasa de evaporación de las mismas. La figura 6.9 muestra una

captura de pantalla del modelo funcionando. Las feromonas son representadas dentro del rango

de colores que va de blanco (más intensa) a verde (menos intensa).

Figura 6.9. Captura de pantalla del modelo Ants tras 325 ticks de simulación Fuente: Adaptación a partir del modelo de Wilensky (1997)

Page 76: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

66

Se definen como criterios de expresividad o poder computacional la eficiencia (velocidad de

respuesta) en la recolección de alimento, la robustez del proceso de recolección (tolerancia al

ruido y a la aleatoriedad) y la generalidad de la respuesta. Estos criterios están conformes a la

propuesta de MacLennan (2004). Del mismo modo, se enmarcan en el criterio de Eberbach,

Goldin & Wegner (2004), según el cual la capacidad de un sistema interactivo para resolver

problemas es directamente proporcional a su expresividad computacional.

Con estos elementos en mente se analizan tres casos. En el primero, se simula una población de

125 hormigas que no disponen de un SIR ni de mecanismos de interacción a través de feromonas.

Cada hormiga busca alimento de manera aleatoria y del mismo modo busca el nido para depositar

el alimento obtenido. En el segundo caso, la misma población de hormigas es liberada, pero esta

vez cada una tiene integrado un SIR. Los mecanismos de segregación y seguimiento de feromonas

permanecen deshabilitados. Es decir, cada agente representa una MTP que interactúa con las

fuentes de alimento, pero no con otros agentes. En el último caso, un número igual de hormigas

es dispuesto, esta vez con sus SIR y con los mecanismos de segregación y seguimiento de

feromonas activos. Los parámetros de tasa de difusión de feromonas y de tasa de evaporación de

feromonas fueron calibrados en este último caso para posibilitar la formación de senderos.

Las condiciones de entorno son exactamente las mismas para los tres casos. Esto significa que la

disposición del nido y de las fuentes de alimento son siempre las mismas. Adicionalmente, se

impusieron condiciones de frontera que impiden que las hormigas vayan más allá de la cuadrícula

de 70 x 70 que delimita el entorno. En la figura 6.10 se analizan las dinámicas de explotación en

las tres situaciones.

La dinámica de explotación en los casos a. y b. fue muy similar. En ambas situaciones las fuentes

fueron explotadas de forma simultánea con diferencias que obedecen a la distancia de cada fuente

al nido. Sin embargo, los tiempos de explotación globales de cada fuente variaron

considerablemente. La explotación de la fuente más cercana tomó 1735 ticks de simulación para

el caso a. y 1102 para el caso b. La explotación de la fuente intermedia tomó 1972 y 1071,

respectivamente. La fuente más lejana fue explotada en 2769 y 1861 ticks en cada caso. El caso

b., en el que se implementa el SIR es de lejos más eficiente, que el caso a. En el caso c. los tiempos

de explotación se redujeron aún más. Al hormiguero del tercer escenario le tomó 221, 576 y 1076

ticks, respectivamente, explotar cada fuente. La tabla 6.1 resume los datos presentados. Los

gráficos de la figura 6.10 se presentan de manera ilustrativa. Sin embargo, se eligieron porque no

distan mucho del comportamiento promedio tras varias ejecuciones.

Esta sencilla prueba muestra que la velocidad con la que se explotan las tres fuentes es, en general,

más eficiente en el caso de la interacción secuencial que en el caso de interacción limitada.

Análogamente, que la interacción distribuida es más eficiente que la secuencial. Hay dos hechos

adicionales, altamente relevantes, que vale la pena mencionar. En el caso c., cuando la interacción

distribuida fue incluida, el hormiguero concentró sus esfuerzos de recolección: una fuente a la

vez. Adicionalmente, priorizó la recolección: primero la fuente cercana, luego la que se encuentra

a una distancia media y finalmente la más lejana (ver figura 6.11). Este comportamiento es

emergente e imposible de lograr incluso con un sistema de computación interactiva secuencial

paralelo.

Los resultados obtenidos muestran cómo un grupo de hormigas que se comunica indirectamente

mediante feromonas puede construir senderos de forma autoorganizada, decidir colectivamente

qué fuente de alimento recolectar y explotar de manera óptima los recursos en su entorno. En el

mundo real, estas estrategias tienen, sin lugar a dudas, ventajas evolutivas para el hormiguero

frente a los escenarios evaluados en a. y b. La dinámica global exhibida por el hormiguero en el

escenario c. es lograda a través de un balance entre la exploración aleatoria que realiza cada

hormiga y la explotación sistemática que sucede en la macroescala, cuando el grupo de hormigas

logra un refuerzo positivo de los rastros de feromonas.

Page 77: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

67

Figura 6.10. Dinámica de recolección de alimentos en una colonia de hormigas bajo distintos criterios de interacción. En a no se admite integración de rutas ni comunicación mediante feromonas. En b se admite integración de rutas, pero no comunicación mediante feromonas. En c tanto la integración de rutas, como la comunicación mediante feromonas son admitidas. Fuente: Adaptación a partir del modelo de Wilensky (1997)

Tabla 6.1. Tiempos de explotación (en ticks) de tres fuentes de alimento bajo distintos parámetros de interacción

Fuentes de alimento Caso I: interacción

limitada

Caso II: interacción

secuencial

Caso III: interacción

distribuida

Más cercana 1753 1102 221

Distancia media 1972 1071 576

Más lejana 2769 1861 1076

En consecuencia, el procesamiento interactivo y distribuido de información es más eficiente en

cuanto a la velocidad con la que se explotan los recursos globalmente, pero también con respecto

a la estrategia de priorización de la explotación de las fuentes más cercanas primero. Asimismo,

la aleatoriedad y el ruido que esta puede generar en el proceso son aprovechadas como recursos

computacionales para balancear la exploración del entorno y la explotación de las fuentes de

alimento halladas. Esto hace al sistema altamente robusto. Si la configuración del entorno varía,

el hormiguero se adapta a las nuevas condiciones y sigue respondiendo de manera eficiente. En

conclusión, se puede argumentar que la interacción distribuida es más expresiva que la secuencial.

Page 78: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

68

No es extraño, entonces, que sea esta la forma de procesamiento de información que predomina

en los sistemas vivos.

Figura 6.11. Formación emergente de senderos y recolección óptima de recursos en un hormiguero simulado Fuente: Adaptación a partir del modelo de Wilensky (1997)

La computación interactiva y, de manera general, la hipercomputación no clásica, le abren paso

a un paradigma de computación sin precedente que promete acelerar la comprensión y la

explicación de la vida no desde el punto de vista de lo que es, sino desde el punto de vista de lo

que hace para vivir. Por ahora, más esfuerzos de investigación son necesarios. La apreciación de

Amos, Hodgson y Gibbons (2007) deja abierta la discusión:

El desarrollo de patrones funcionales espacialmente extendidos, puramente como resultado de la

interacción local entre individuos y entre estos con su entorno inmediato, es una forma de

computación extremadamente común y útil en la naturaleza, pero que es pobremente entendida,

no bien explorada y sub-explotada en ciencias de la computación (pág. 200).17

17 The development of spatially-extended functional patterns purely as a result of local interaction between individuals and with their immediate environment is a form of computation which is extremely common and useful in nature, but which is poorly understood, not well-explored and underexploited in computer science. Traducción del autor.

Page 79: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

69

7. Conclusiones y trabajo futuro

La principal contribución de esta investigación fue la propuesta de un marco conceptual y teórico

a partir del cual estudiar la naturaleza computacional de la vida. Dicho marco fue denominado

hipercomputación biológica (HB). Tomando como caso el sistema de navegación que emplean

las hormigas del desierto (Cataglyphis fortis), se formuló un modelo computacional, el cual se

soporta en la teoría de la computación interactiva secuencial (una forma de hipercomputación no-

clásica). Se concluyó que el sistema estudiado procesa información de manera no algorítmica y

no funcional (en términos matemáticos). Este resultado aporta evidencia de que la vida procesa

información más allá del paradigma de la computación algorítmica, cuyos cimientos se hallan en

la máquina de Turing (MT) y en la tesis de Church-Turing.

7.1. Conclusiones

La vida procesa información. Esto es lo que hace para vivir. En los sistemas vivos, la computación

emerge de la interacción orquestada de múltiples componentes descentralizados. Esta

computación se caracteriza por ser robusta, autoorganizada, asíncrona, adaptativa, tolerante a

fallos y capaz de evolucionar. Pensar la vida en términos computacionales implica, por lo tanto,

pensar más allá del marco de relevancia de la computación algorítmica. La HB propone un nuevo

marco de relevancia que reconoce a la vida como una forma de hipercomputación no clásica y,

en consecuencia, provee un escenario apropiado para pensar y explorar la riqueza y la

expresividad computacional de la vida.

En esta tesis se mostró que la solución al problema de la integración de rutas en las hormigas del

desierto no se puede llevar a cabo en términos algorítmicos ni funcionales. Esto significa que una

hormiga no puede pre-computar su vector de regreso, sino que tiene que generarlo cada vez a

medida que interactúa con su entorno. El mecanismo de integración de rutas estudiado, que

comparte varias características computacionales esenciales con otros fenómenos biológicos, es

un ejemplo de hipercomputación biológica.

En rigor, la Máquina de Turing y todos los modelos de computación equivalentes representan

solamente un caso particular dentro de los modelos de computación posibles. Sin embargo, no es

correcto asegurar, como argumenta Andras (2011), que la vida pueda computar (en principio)

todo lo computable. Esto, por el simple hecho de que la computación biológica es un fenómeno

abierto y en consecuencia inacabado. Si bien la vida respeta los límites que la física impone a la

computación, también es cierto que ella establece un escenario abierto, mediado por la evolución,

para la síntesis y la creatividad de los procesos computacionales naturales.

La HB promete una mejor comprensión acerca de lo que verdaderamente significa computar. Al

mismo tiempo, hará posible una visión unificada de la vida en términos de lo que la hace posible,

que es su capacidad de procesar información. Como no existe nada semejante a una teoría general

de la biología, en esta investigación se considera que el desarrollo de la BH puede allanar el

camino en esa dirección. Reconociendo, desde luego, que se trataría de una teoría abierta e

inacabada.

Los resultados esbozados en esta tesis son consistentes con las conclusiones alcanzadas por

autores como Rosen (1991) y Louie (2007). De acuerdo con ellos, un sistema vivo debe tener

Page 80: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

70

(necesariamente) modelos no computables, en el sentido tradicional de la máquina de Turing y la

tesis Church-Turing. Por lo tanto, la creatividad, la diversidad y la expresividad computacional

de la vida no se pueden reducir, en absoluto, a la aplicación mecánica de un procedimiento. La

hipercomputación biológica, como ha sido introducida en esta investigación, busca capturar la

riqueza del procesamiento de información que llevan a cabo los sistemas vivos sin reducirla a un

mecanismo recursivo formal.

7.2 Trabajo futuro

Tres direcciones de trabajo futuro se pueden considerar a partir de los resultados de esta

investigación:

• Nuevos modelos de computación son necesarios. En general, la mayor parte de los modelos

de computación están formulados dentro de los marcos de relevancia de la máquina de

Turing o de la hipercomputación clásica. En el contexto de la computación interactiva, las

principales propuestas se ocupan de la interacción secuencial. Sin embargo, la naturaleza de

la vida es paralela, distribuida, asíncrona, autoorganizada y emergente. Son necesarios

modelos que permitan caracterizar estos aspectos de mejor manera. Existen algunos

prospectos, como el modelo actor de Hewitt o la simulación basada en agentes en general.

Los principios para derivar modelos de hipercomputación no clásica mencionados en la

sección 3.4 pueden arrojar luces en este sentido.

• Se deben caracterizar los criterios de expresividad computacional para la vida. La

expresividad de la computación clásica se soporta en el tipo de funciones que un modelo de

computación puede soportar. Sin embargo, ese no es un criterio útil para la vida. Es necesario

definir y caracterizar criterios de expresividad aplicables a los sistemas vivos. Al hacerlo se

tendrá una medida de lo que la vida puede hacer. Se podrían agrupar grupos de organismos

y sistemas biológicos en términos de sus capacidades computacionales.

• Es preciso establecer un marco común para la hipercomputación biológica. Aunque en este

trabajo se justificó el papel central y general de la computación interactiva como fundamento

de la hipercomputación biológica, los modelos de Siegelman (2013), Kampis (1991) y Rosen

(1991), descritos en la sección 5.3, deben poder ser integrados.

Page 81: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

71

Referencias

Adamatzky, A. (2001). Computing in Non-Linear Media and Automata Collectives. Bristol: IOP

Publishing.

Adamatzky, A. (2010). Physarum Machines: Computers from Slime Mould. Singapore: World

Scientific.

Adamatzky, A. (2015). Atlas of Physarum Computing. Singapore: World Scientific.

Adamatzky, A. (2016). Advances in Physarum Machines: Sensing and Computing with Slime

Mould. Berlin: Springer.

Adami, C. (2009). Biological complexity and biochemical information. In. R. A. Meyer (Ed.),

Encyclopedia of Complexity and Systems Science (pp. 489-511). Berlin: Springer.

Adleman, L. (1994). Molecular computation of solutions to combinatorial problems. Science,

266(5187), 1021-1024.

Angelaki, D. E., Shaikh, A. G., Green, A. M. & Dickman, J. D. (2004). Neurons compute internal

models of the physical laws of motion. Nature, 430(6999), 560-564.

Alba, E. (Ed.). (2005). Parallel Metaheuristics: A New Class of Algorithms. Hoboken: John Wiley

& Sons.

Amos, M. (Ed.). (2004). Cellular Computing. Oxford: Oxford University Press.

Amos, M. (2005). Theoretical and Experimental DNA Computation. Berlin: Springer.

Amos, M., Hodgson, D. A. & Gibbons, A. (2007). Bacterial self-organisation and computation.

International Journal of Unconventional Computing, 3(3), 199-210.

Andel, D. & Wehner, R. (2004). Path integration in desert ants, Cataglyphis: how to make a

homing ant run away from home. Proceedings of the Royal Society B, 271(1547), 1485-

1489.

Andras, P. (2011). Modeling living systems. In G. Kampis, Karsai, I. & Szathmáry, E. (Eds.),

Advances in Artificial Life: Darwin Meets von Neumann (Part II, pp. 208-215). Berlin:

Springer.

Arden, B. W. (1976). The computer science and engineering research study (COSERS).

Communications of the ACM, 19(12), 670-673.

Arden, B. W. (Ed.). (1980). What Can Be Automated? The computer science and engineering

research study (COSERS). Cambridge, MA: MIT Press.

Azevedo, F. A., Carvalho, L. R., Grinberg, L. T., Farfel, J. M., Ferretti, R. E., Leite, R. E., et al.

(2009). Equal numbers of neuronal and nonneuronal cells make the human brain an

isometrically scaled-up primate brain. The Journal of Comparative Neurology, 513(5),

532-541.

Balan, M. S. & Jürgensen, H. (2008). On the universality of peptide computing. Natural

Computing, 7(1), 71-94.

Baltimore, D. (2001). How biology become an information science. In P. J. Denning (Ed.), The

Invisible Future: The Seamless Integration of Technology into Everyday Life (pp. 43-55).

New York: McGraw-Hill.

Banzhaf, W. & Yamamoto, L. (2015). Artificial Chemistries. Cambridge, MA: MIT Press.

Barrett, L. (2011). Beyond the Brain: How Body and Environment Shape Animal and Human

Minds. Princeton: Princeton University Press.

Bedau, M., McCaskill, J. S., Packard, N. H. & Rasmussen, S. (2010). Living Technology:

Exploiting Life’s Principles in Technology. Artificial Life, 16(1), 89-97.

Bedau, M., McCaskill, J. S., Packard, N. H. & Rasmussen, S., Adami, C., Green, D., … Ray, T.

S. (2000). Open problems in artificial life. Artificial Life, 6(4), 363-376.

Page 82: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

72

Ben-Hur, A. & Siegelmann, H. T. (2004). Computation in gene networks. Chaos, 14(1), 145-

151.

Ben-Jacob, E. & Levine, H. (2006). Self-engineering capabilities of bacteria. Journal of the Royal

Society Interface, 3(6), 1-18.

Ben-Jacob, E. (2009). Learning from bacteria about natural information processing. Annals of the

New York Academy of Sciences, 1178, 78-90.

Benenson, Y., Paz-Elizur, T., Adar, R., Keinan, E., Livneh, Z. & Shapiro, E. (2001).

Programmable and autonomous computing machine made of bio-molecules. Nature,

414(6862), 430-434.

Benioff, P. (1982). Quantum mechanical Hamiltonian models of Turing machines. Journal of

Statistical Physics, 29(3), 515-546.

Berry, G. & Boudol, G. (1992). The chemical abstract machine. Theoretical Computer Science,

96(1), 217-248.

Bishop, C. M. (1995). Neural Networks for Pattern Recognition. Oxford: Oxford University

Press.

Boden, M. (Ed.). (1996). The Philosophy of Artificial Life. Oxford: Oxford University Press.

Bonabeau, E. (1998). Social insect colonies as complex adaptive systems. Ecosystems, 1(5), 437-

443.

Bonabeau, E., Dorigo, M. & Theraulaz, G. (1999). Swarm Intelligence: From Natural to Artificial

Systems. New York: Oxford University Press.

Bonabeau, E., Theraulaz, G., Deneubourg, J. L., Aron, S. & Camazine, S. (1997). Self-

organization in social insects. Trends in Ecology & Evolution, 12(5), 188-193.

Bray, D. (1995). Protein molecules as computational elements in living cells. Nature, 376(6538),

307-312.

Bray, D. (2009). Wetware: A Computer in Every Living Cell. New Haven: Yale University Press.

Brenner, S. (1995). Biological computation. In Novartis Foundation Symposium, The Limits of

reductionism in Biology (pp. 106-116). Chinchester: John Wiley & Sons.

Brenner, S. (2012). Life’s code script. Nature, 482(7386), 461.

Brijder, R., Daley, M., Harju, T., Jonoska, N., Petre, I. & Rozenberg, G. (2012). Computational

nature of gene assembly in ciliates. In G. Rozenberg, T. Bäck & J. N. Kok (Eds.), Handbook

of Natural Computing (pp. 1233-1280). Berlin: Springer.

Brijder, R., Ehrenfeucht, A., Main, M. & Rozenberg, G. (2011). A tour of reaction systems.

International Journal of Foundations of Computer Science, 22(7), 1499–1517.

Brookshear, J. G. & Brylow, D. (2015). Computer Science: An Overview (12th edition). Boston:

Pearson.

Burgin, M. (2005). Super-Recursive Algorithms. Berlin: Springer.

Burgin, M. (2010). Theory of Information: Fundamentality, Diversity and Unification. Singapore:

World Scientific.

Burgin, M. & Dodig-Crnkovic, G. (2013). From the closed classical algorithmic universe to an

open world of algorithmic constellations. In G. Dodig-Crnkovic & R. Giovagnoli (Eds.),

Computing Nature: A Turing Centenary Perspective (pp. 241-253). Berlin: Springer.

Burgin, M. & Dodig-Crnkovic (2013a) Typologies of Computation viewed through the prism of

computational models. arXiv. Available in

https://arxiv.org/ftp/arxiv/papers/1312/1312.2447.pdf

Burgin, M. & Eberbach, E. (2012). Evolutionary automata: Expressiveness and convergence of

evolutionary computation. The Computer Journal, 55(9), 1023-1029.

Burke, E. K., Gendreau, M., Hyde, M., Kendall, G., Ochoa, G., Özcan, E. & Qu, R. (2013). Hyper-

heuristics: a survey of the state of the art. Journal of the Operational Research Society,

64(12), 1695-1724.

Bush, W. & Benfey, P. N. (2010). Information processing without brains – the power of

intercellular regulators in plants. Development, 137(8), 1215-1226.

Calude, C. S. & Paun, G. (2000). Computing with cells and atoms in a nutshell. Complexity, 6(1),

38-48.

Calude, C. S. & Paun, G. (2001). Computing with Cells and Atoms: An Introduction to Quantum,

DNA and Membrane Computing. London: Taylor & Francis.

Page 83: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

73

Calude, C. S. & Paun, G. (2004). Bio-steps beyond Turing. Biosystems 77(1-3), 175-194.

Calude, C. S., Casti, J. & Dinneen, M. J. (Eds.). (1998). Unconventional Models of Computation.

Singapore: Springer.

Camazine, S., Deneubourg, J. L., Franks, N. R., Sneyd, J., Theraulaz, G. & Bonabeau, E. (2001).

Self-Organization in Biological Systems. Princeton: Princeton University Press.

Church, A. (1936). An unsolvable problem of elementary number theory. American Journal of

Mathematics, 58(2), 345-363.

Cleland, C. E. (2004). The concept of computability. Theoretical Computer Science, 317(1-3),

209-225.

Cleland, C. E. (2006). The Church–Turing thesis. A last vestige of a failed mathematical program.

In A. Olszewski, J. Woleński & R. Janusz (Eds.), Church's Thesis After 70 Years (pp. 119-

146). Frankfurt: Ontos.

Cohen, I. R. (2006). Immune system computation and the immunological homunculus. In O.

Nierstrasz, J. Whittle, D. Harel & G. Reggio (Eds.), Model Driven Engineering Languages

and Systems (pp. 499-512). Berlin: Springer.

Cohen, I. R. (2007). Real and artificial immune systems: computing the state of the body. Nature

Reviews Immunology, 7(7), 569-574.

Cohen, I. R. & Harel, D. (2007). Explaining a complex living system: dynamics, multi-scaling

and emergence. Journal of the Real Society Interface, 4(13), 175-182.

Conery, J. S. (2012). Computation is Symbol Manipulation. The Computer Journal, 55(7), 814-

816.

Conrad, M. (1996). Cross-scale information processing in evolution, development and

intelligence. BioSystems, 38(2-3), 97-109.

Cook, M. (2004). Universality in elementary cellular automata. Complex Systems, 15(1), 1-40.

Coolen, A. C. C., Kühn, R. & Sollich, P. (2005). Theory of Neural Information Processing

Systems. Oxford: Oxford University Press.

Copeland, B. J. (1996). What is computation? Synthese, 108(3), 224-359.

Copeland, B. J. (1998). Super Turing-machines: A review of universal Turing machines, AUTMs,

and O-machines. Complexity, 4(1), 30-32.

Copeland, B. J. (2002). Accelerating Turing machines. Minds & Machines, 12(2), 281-300.

Copeland, B. J. (2002a). Hypercomputation. Minds & Machines, 12(4), 461-502.

Copeland, B. J. (Ed.). (2004). The Essential Turing: Seminal Writings in Computing, Logic,

Philosophy, Artificial Intelligence and Artificial Life, plus the Secrets of Enigma. Oxford:

Oxford University Press.

Copeland, B. J. (2012). Alan Turing: El Pionero de la Era de la Informática. Madrid: Turner.

Copeland, B. J. & Proudfoot, D. (1999). Alan Turing’s forgotten ideas in computer science.

Scientific American, 280(4), 99-103.

Cosenza, G. & Neri, F. (1987). Cellular automata and nonlinear dynamical models. Physica D,

27(3), 357-372.

Cotta, C., Sevaux, M. & Sörensen, K. (Eds.). (2008). Adaptive and Multilevel Metaheuristics.

Berlin: Springer.

Crutchfield, J. P. (1994). The calculi of emergence: computation, dynamics, and induction.

Physica D, 75(1-3), 11-54.

Cull, P. (2013). Biocomputation: Some history and prospects. Biosystems, 112(3), 196-203.

Da Costa, N. & Doria, F. A. (2013). Metamathematical limits to computation. In K. Nakamatsu

& L. C. Jain (Eds.), The Handbook on Reasoning-Based Intelligent Systems (pp. 119-141).

New Jersey: World Scientific.

Daniel, R., Rubens, J. R., Sarpeshkar, R. & Lu, T. K. (2013). Synthetic analog computation in

living cells. Nature, 497(7451), 619-623.

Dasgupta, D. (Ed.). (1999). Artificial Immune Systems and their Applications. Berlin: Springer.

Dasgupta, D. & Niño, L. F. (2009). Immunological Computation: Theory and Applications. Boca

Raton: CRC Press.

Davis, M. (2004). The myth of hypercomputation. In: C. Teuscher (Ed.), Alan Turing: Life and

Legacy of a Great Thinker (pp. 195-211). Berlin: Springer.

Denning, P. (2010). The great principles of computing. American Scientist, 98(5), 369-372.

Page 84: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

74

Denning, P. (2012). Opening statement: What is computation? The Computer Journal, 55(7), 799-

802.

Denning, P. (2014). Structure and organization of computing. In T. Gonzalez, J. Diaz-Herrera &

A. Tucker (Eds.), Computing Handbook: Computer Science and Software Engineering (3rd

edition, pp. 1-14). Boca Raton: CRC Press.

Detrain, C., Deneubourg, J. L. & Pasteels, J. M. (Eds.). (2001). Information Processing in Social

Insects. Basel: Birkhäuser.

Dittrich, P. (2005). Chemical computing. In: Banâtre et al. (Eds.), Unconventional Programming

Paradigms (pp. 19-32). Berlin: Springer.

Dodig-Crnkovic, G. (2010). Biological information and natural computation. In J. Vallverdú

(Ed.), Thinking Machines and the Philosophy of Computer Science: Concepts and

Principles (pp. 36-52). Hershey, PA: IGI Global.

Dodig-Crnkovic, G. (2011). Dynamics of information as natural computation. Information, 2(3),

460-477.

Dodig-Crnkovic, G. (2011a). Significance of models of computation, from Turing model to

natural computation. Minds and Machines, 21(2), 301-322.

Dodig-Crnkovic, G. (2014). Info-computational constructivism and cognition. Constructivist

Foundations, 9(2), 223-231.

Dodig-Crnkovic, G. (2014a). Modeling life as cognitive info-computation. In A. Beckmann, E.

Csuhaj-Varjú, K. Meer (Eds.), Language, Life, Limits (pp. 153-162). Berlin: Springer.

Dodig-Crnkovic, G. & Giovagnoli, R. (2013). Computing nature: A network of networks of

concurrent information processes. In G. Dodig-Crnkovic & R. Giovagnoli (Eds.),

Computing Nature: A Turing Centenary Perspective (pp. 1-22). Berlin: Springer.

Dodig-Crnkovic, G. & Giovagnoli, R. (2013a). Computing Nature: A Turing Centenary

Perspective. Berlin: Springer.

Dornhaus, A. & Franks, N. R. (2008). Individual and collective cognition in ants and other insects

(Hymenoptera: Formicidae). Myrmecological News, 11, 215-226.

Dorigo, M. & Stützle, T. (2004). Ant Colony Optimization. Cambridge, MA: MIT Press.

Doursat, R., Sayama, H. & Michel, O. (2013). A review of morphogenetic engineering. Natural

Computing, 12(4), 517-535.

Drummond-Barbosa, D. (2008). Stem cells, their niches and the systemic environment: an aging

network. Genetics, 180(4), 1787-1797.

Dyson. G. (2012). The dawn of computing. Nature, 482(7386), 459-460.

Eberbach, E. (2005). Toward a theory of evolutionary computation. Biosystems, 82(1), pp.1-19.

Eberbach, E., Goldin, D. & Wegner, P. (2004). Turing's ideas and models of computation. In: C.

Teuscher (Ed.), Alan Turing: Life and Legacy of a Great Thinker (pp. 159-194). Berlin:

Springer.

Ehrenfeucht, A., Harju, T., Petre, I., Prescott, D. M. & Rozenberg, G. (2004). Computation in

Living Cells: Gene Assembly in Ciliates. Berlin: Springer.

Ehrenfeucht, A. & Rozenberg, G. (2010). Reaction systems. Fundamenta Informaticae, 75(1-4),

263-280.

Ehrenfeucht, A. & Rozenberg, G. (2010a). Reaction systems: A model of computation inspired

by bichemistry. In Y. Gao, H. Lu, S. Seki & S. Yu (Eds.), Developments in Lenguage

Theory (pp. 1-3). Berlin: Springer.

Eiben, A. E. & Smith, J. E. (2015). Introduction to Evolutionary Computing (2nd edition). Berlin:

Springer.

Emmeche, C. (1998). Vida simulada en el ordenador: la ciencia naciente de la vida artificial.

Barcelona: Gedisa.

Engelbrecht, A. P. (2005). Fundamentals of Computational Swarm Intelligence. Hoboken: John

Wiley & Sons.

Engelbrecht, A. P. (2007). Computational Intelligence: An Introduction (2nd edition). Chichester:

John Wiley & Sons.

Farnsworth, K. D., Nelson, J. & Gershenson, C. (2013). Living is information processing: From

molecules to global systems. Acta Biotheoretica, 61(2), 203-222.

Page 85: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

75

Fernández, M. (2009). Models of Computation: An Introduction to Computability Theory. Berlin:

Springer.

Fernández, P. & Solé, R. (2006). The role of computation in complex regulatory networks. In E.

V. Koonin, Y. I. Wolf & G. P. Karev (Eds.), Power Laws, Scale-Free Networks and

Genome Biology (pp. 206-225). Berlin: Springer.

Fioridi, L. (2011). The Philosophy of Information. Oxford: Oxford University Press.

Fisher, J., Harel, D. & Henzinger, T. A. (2011). Biology as reactivity. Communications of the

ACM, 54(10), 72-82.

Floreano, D. & Mattiussi, C. (2008). Bio-Inspired Artificial Intelligence: Theories, Methods, and

Technologies. Cambridge, MA: MIT Press.

Floridi, L. (2004). Information. In L. Floridi (Ed.). The Blackwell Guide to the Philosophy of

Computing and Information (pp. 40-61). Oxford: Blackwell Publishing.

Forbes, N. (2004). Imitation of Life: How Biology Is Inspiring Computing. Cambridge, MA: MIT

Press.

Forrest, S. (1991). Emergent Computation: Self-Organizing, Collective, and Cooperative

Phenomena in Natural and Artificial Computing Networks. Cambridge: MIT Press.

Forrest, S., Balthrop, J., Glickman, M. & Ackley, D. (2005). Computing in the wild. In E. Jen

(Ed.), Robust Design: A Repertoire of Biological, Ecological, and Engineering Case

Studies (pp. 207-230). Oxford: Oxford University Press.

Forrest, S. & Hofmeyr, S. (2000). Immunology as information processing. In L. A. Segel & R.

Cohen (Eds.), Design Principles for Immune System & Other Distributed Autonomous

Systems (pp. 361-387). Oxford: Oxford University Press.

Fortnow, L. (2012). The enduring legacy of the Turing machine. The Computer Journal, 55(7),

830-831.

Fournier, M., (2011). Quand la nature inspire la science. Histoires des inventions humaines qui

imitent les plantes et les animaux. Toulouse: Plume de Carotte.

Franks, N. R. (1989). Army ants: A collective intelligence. American Scientist, 77(2), 138-145.

Fresco, N. (2014). Physical Computation and Cognitive Science. Berlin: Springer.

Freund, R., Kari, L. & Paun, G. (1999). DNA computing based on splicing: the existence of

universal computers. Theory of Computing Systems, 32(1), 69-112.

Gatenby, R. A. & Frieden, B. R. (2007). Information theory in living systems, methods,

applications, and challenges. Bulletin of Mathematical Biology, 69, 635-657.

Gatlin, LL (1972) Information Theory and the Living System. Columbia University Press, New

York

Garzon, M. (2005). Models of Massive Parallelism: Analysis of Cellular Automata and Neural

Networks. Berlin: Springer.

Gheorghe, M. & Stannett, M. (2012). Membrane system models for super-Turing paradigms.

Natural Computing, 11(2), 253-259.

Gibbons, A., Amos, M. & Hodgson, D. (1996). Models of DNA computation. In W. Penczek &

A. Szalas (Eds.), Proc. Mathematical Foundations of Computer Science (MFCS), Cracow,

Poland, 1996 (pp 18-36). Berlin: Springer.

Gibson, D. G., Glass, J. I., Lartigue, C., Noskov, V. N., Chuang, R. Y., Algire, M. A., Benders,

G. A., Montague, M. G. et al. (2010). Creation of a bacterial cell controlled by a chemically

synthesized genome. Science, 329(5987), 52-56.

Gödel, K. (1962). On Formally Undecidable Propositions of Principia Mathematica and Related

Systems. New York: Basic Books.

Godfrey-Smith, P. (2007). Information in biology. In D. L. Hull & M. Ruse (Eds.), The

Cambridge Companion to the Philosophy of Biology (pp. 103-119). Cambridge:

Cambridge University Press.

Goldin, D., Smolka, S. A., Attie, P. & Sonderegger, E. (2004). Turing machines, transition

systems, and interaction. Information & Computation Journal, 194(2), 101-128.

Goldin, D., Smolka, S. A. & Wegner, P. (Eds.). (2006). Interactive Computation: The New

Paradigm. Berlin: Springer.

Page 86: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

76

Goldin, D. & Wegner, P. (2006). Principles of interactive computation. In D. Goldin, S. A.

Smolka & P. Wegner (Eds.), Interactive Computation: The New Paradigm (pp. 25-37).

Berlin: Springer.

Goldin, D. & Wegner, P. (2008). The interactive nature of computing: Refuting the strong

Church-Turing thesis. Minds & Machines, 18(1), 17-38.

Goodsell, D. S. (2009). The Machinery of Life (2nd edition). New York: Copernicus Books.

Gómez-Cruz, N. A. (2017). Simulación basada en agentes: una metodología para el estudio de

sistemas complejos. In M. L. Eschenhagen, G. Velez & Maldonado, C. E. (Eds.), La

producción de conocimiento en la Universidad: metodologías y políticas de investigación.

Medellín: Universidad de Antioquia.

Gómez-Cruz, N. A. (2013). Vida Artificial: Ciencia e Ingeniería de Sistemas Complejos. Bogotá:

Universidad del Rosario.

Gómez-Cruz, N. A. & Maldonado, C. E. (2011). Biological computation: A road to complex

engineered systems. In H. Sayama, A. A. Minai, D. Braha & Y. Bar-Yam (Eds.), Unifying

Themes in Complex Systems Volume VIII: Proceedings of the Eighth International

Conference on Complex Systems (pp. 918-927). Cambridge, MA: NECSI Knowledge

Press.

Gordon, D. (2016). Collective wisdom of ants. Scientific American, 314(2), 44-47.

Gordon, D. (2010). Ant Encounters: Interaction Networks and Colony Behavior. Princeton:

Princeton University Press.

Goucher, A. P. (2010). Universal computation and construction in GoL cellular automata. In A.

Adamatzky (Ed.), Game of Life Cellular Automata (pp. 505-517). London: Springer.

Gramelsberger, G. (2013). The simulation approach in synthetic biology. Studies in History and

Philosophy of Science, 44(2), 150-157.

Graupe, D. (2013). Principles of Artificial Neural Networks (3rd edition). Singapore: World

Scientific.

Grimm, V., Revilla, E., Berger, U., Jeltsch, F., Mooij, W. M., Railsback, S. F. et al. (2005).

Pattern-oriented modeling of agent-based complex systems: Lessons from ecology.

Science, 310(5750), 987-991.

Harel, D. (2000). Computers Ltd: What They Really Can’t Do. Oxford: Oxford University Press.

Harel, D. & Feldman, Y. (2004). Algorithmics: The Spirit of Computing (3rd edition). Boston:

Pearson.

Hartmann, G. & Wehner, R. (1995). The ant’s path integration system: a neural architecture.

Biological Cybernetics, 73(6), 483-497.

Hess, P. (2016). Get inside the collective mind of a genius superorganism. New Scientist, 7

september.

Hewitt, C. (2013). What is computation? Actor model vs. Turing’s model. In H. Zenil (Ed.), A

Computable Universe. Understanding Computation and Exploring Nature as Computation

(pp. 159-186). Singapore: World Scientific.

Hillis, D. (1998). The Pattern on the Stone. New York: Basic Books.

Hogg, T. & Huberman, B. A. (1984). Understanding biological computation: Reliable learning

and recognition. Proceedings of the National Academy of Sciences, 81(21), 6871-6875.

Hölldobler, B. & Wilson, E. O. (1990). The Ants. Berlin: Springer.

Hopfield, J. J. (1986). Physics, biological computation and complementarity. In J. De Boer, E.

Dal & O. Ulfbeck (Eds.), The Lesson of Quantum Theory (pp. 295-314). Amsterdam:

North-Holland.

Hopfield, J. J. (1994). Physics, computation, and why biology looks so different. Journal of

Theoretical Biology, 171(1), 53-60.

Horváth, G. & Varjú, D. (2004). Polarized Light in Animal Vision: Polarization Patterns in

Nature. Berlin: Springer.

Ignatova, Z., Martínez-Pérez, I. & Zimmermann, K. H. (2008). DNA Computing Models. Berlin:

Springer-Verlag.

Ionescu, M., Martín-Vide, C., Pǎun, A. & Pǎun, G. (2003). Unexpected universality results for

three classes of P systems with symport/antiport. Natural Computing, 2(4), 337-348.

Page 87: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

77

Istrail, S., Ben-Tabou De-Leon, S. & Davidson, E. (2007). The regulatory genome and the

computer. Developmental Biology, 310(2), 187-195.

Kampfner, R. R. (1989). Biological information processing: the use of information for the support

of function. BioSystems, 22(3), 223-230.

Kampis, G. (1991). Self-Modifying Systems in Biology and Cognitive Science: A New Framework

for Dynamics, Information and Complexity. Oxford: Pergamon Press.

Kari, L. & Landweber, L. F. (2004). Biocomputation in ciliates. In M. Amos (Ed.), Cellular

Computing (pp. 202-216). Oxford: Oxford University Press.

Kari, L. & Rozenberg, G. (2008). The many facets of natural computing. Communications of the

ACM, 51(10), 72-83.

Karpinski, S. & Szechynska-Hebda, M. (2010). Secret life of plants: From memory to

intelligence. Plant Signaling & Behavior, 5(11), 1391-1394.

Kauffman, S. (2011) Preface. In S. Niiranen & A. Ribeiro (Eds.), Information Processing and

Biological Systems (pp. v-viii). Berlin: Springer.

Kim, K. J. & Cho, S. B. (2006). A comprehensive overview of the applications of artificial life.

Artificial Life, 12(1), 153-182.

Kitano, H. (2002). Computational systems biology. Nature, 420(6912), 206-210.

Lachmann, M. & Sella, G. (1995). The computationally complete ant colony: Global coordination

in a system with no hierarchy. In F. Morán, A. Moreno, J. J. Merelo & P. Chacón (Eds.),

Advances in Artificial Life: Third European Conference on Artificial Life Granada, Spain,

June 4–6, 1995 Proceedings (pp. 784-800). Berlin: Springer.

Lahoz-Beltrà, R. (2004). Bioinformática: simulación, vida artificial e inteligencia artificial.

Madrid: Díaz de Santos.

Lamm, E. & Unger, R. (2011). Biological Computation. Boca Raton: CRC Press.

Landweber, L. F. & Kari, L. (1999). The evolution of cellular computing: nature’s solution to a

computational problem. Biosystems, 52(1-3), 3-13.

Landweber, L. & Kari, L. (2002). Universal molecular computation in ciliates. In L. Landweber

& E. Winfree (Eds.), Evolution as Computation. Berlin: Springer.

Landweber, L. F. & Winfree, E. (Eds.). (2002). Evolution as Computation. Berlin: Springer.

Langton, C. (1989). Artificial life. In C. Langton (Ed.), Artificial Life I (SFI Studies in the Science

of Complexity, Vol. VI; pp. 1-47). Redwood City: Addison-Wesley.

Langton, C. (1986). Studying artificial life with cellular automata. Physica D, 22(1-3), 120-149.

Langton, C. (1992). Life at the edge of chaos. In C. Langton, C. Taylor, J. D. Farmer, S.

Rasmussen (Eds.), Artificial Life II (pp. 41-91). Redwood City: Addison-Wesley.

Louie, A. H. (2007). A living system must have noncomputable models. Artificial Life, 13(3),

293-297.

Luisi, P. L. (2010). La Vida Emergente: De los Orígenes Químicos a la Biología Sintética.

Barcelona: Tusquets.

Macal, C. (2009). Agent based modeling and artificial life. In R. Meyers (Ed.), Encyclopedia of

Complexity and Systems Science (pp. 112-131). New York: Springer.

MacLennan, B. J. (2004). Natural computation and non-Turing models of computation.

Theoretical Computer Science, 317(1-3), 115-145.

MacLennan, B. J. (2009). Super-Turing or non-Turing? Extending the concept of computation.

The International Journal of Unconventional Computing, 5(3-4), 369-387.

MacLennan, B. (2014). The promise of analog computation. International Journal of General

Systems, 43(7), 682-696.

Mainzer, K. (2007). Thinking in Complexity: The Computational Dynamics of Matter, Mind and

Mankind (5th edition). Berlin: Springer.

Maldonado, C. E. & Gómez-Cruz, N. A. (2015). Biological hypercomputation: A new research

problem in complexity theory. Complexity, 20(4), 8-18.

Maldonado, C. E. & Gómez-Cruz, N. A. (2011). El mundo de las ciencias de la complejidad: una

investigación sobre qué son, su desarrollo y sus posibilidades. Bogotá: Universidad del

Rosario.

Manca, V., Martín-Vide, C. & Pǎun, G. (1999). New computing paradigms suggested by DNA

computing: computing by carving. BioSystems, 52(1-3), 47-54.

Page 88: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

78

Martin, J. C. (2003). Introduction to Languages and the Theory of Computation (4th edition).

New York: McGraw Hill.

Mayfield, J. E. (2013). The Engine of Complexity: Evolution as Computation. New York:

Columbia University Press.

Maynard-Smith, J. & Szathmáry, E. (2001). Ocho hitos de la evolución: del origen de la vida a

la aparición del lenguaje. Barcelona: Tusquets.

Mazzocchi, F. (2008). Complexity in biology. Exceeding the limits of reductionism and

determinism using complexity theory. EMBO Reports, 9(1), 10-14.

Michener, W. K. & Jones, M. B. (2012). Ecoinformatics: supporting ecology as a data-intensive

science. Trends in Ecology and Evolution, 27(2), 85-93.

Mitchell, M. (1998). Computation in cellular automata: A selected review. In Gramß, T.,

Bornholdt, S., Groß, M., Mitchell, M. & Pellizzari, T. (Eds.), Non-Standard Computation:

Molecular Computation - Cellular Automata - Evolutionary Algorithms - Quantum

Computers (pp. 95-140). Weinheim: Wiley-VCH.

Mitchell, M. (2009). Complexity: A Guided Tour. Oxford: Oxford University Press.

Mitchell. M. (2012). Biological computation. The Computer Journal, 55(7), 852-855.

Moussaid, M., Garnier, S., Theraulaz, G. & Helbing, D. (2009). Collective information processing

and pattern formation in swarms, flocks y crowds. Topics in Cognitive Science, 1(3), 469-

497.

Müller, M. & Wehner, R. (1988). Path integration in desert ants, Cataglyphis fortis. Proceedings

of the National Academy of Sciences, 85(14), 5287-5290.

National Geographic (2011). Hermandad de tejedoras. Retrieved from

http://www.nationalgeographic.com.es/mundo-ng/grandes-reportajes/hermandad-de-

tejedoras_4190/1

Navlakha, S. & Bar-Joseph, Z. (2015). Distributed information processing in biological and

computational systems. Communication of the ACM, 58(1), 94-102.

Navlakha, S. & Bar-Joseph, Z. (2011). Algorithms in nature: The convergence of systems biology

and computational thinking. Molecular Systems Biology, 7(1), 546.

Negoita, M. & Hintea, S. (2009). Bio-Inspired Technologies for the Hardware of Adaptive

Systems: Real-World Implementations and Applications. Berlin: Springer.

Neuman, Y. (2008). Reviving the Living: Meaning Making in Living Systems. Amsterdam:

Elsevier.

Newell, A., Perlis, A. J. & Simon, H.A. (1967) Computer Science. Science, 157(3795), 1373-

1374.

Newell, A. & Simon, H. (1976). Computer science as empirical inquiry: Symbols and search.

Communications of the ACM, 19(3), 113-126.

Niiranen, S. & Ribeiro, A. (2011). Information Processing and Biological Systems. Berlin:

Springer.

Noble, D. (2010). Mind over molecule: Systems biology for neuroscience and psychiatry. In F.

Tretter, P. J. Gebicke-Haerter, E. R. Mendoza & G. Winterer (Eds.), Systems Biology in

Psychiatric Research: From High-Throughput Data to Mathematical Modeling (pp. 97-

109). Weinheim: Wiley-VCH.

Noble, D. (2006). The Music of Life: Biology Beyond the Genome. Oxford: Oxford University

Press.

Nurse, P. (2008). Life, logic and information. Nature, 454 (7203), 424-426.

Olariu, S. & Zomaya, A. Y. (Eds.). (2006). Handbook of Bioinspired Algorithms and

Applications. Boca Raton: Chapman & Hall.

Ord, T. (2002). Hypercomputation: Computing more than the Turing Machine (Honours thesis,

Computer Science Department, University of Melbourne, Australia). Retrieve from

https://arxiv.org/pdf/math/0209332.

Pagels, H. (1988). The Dreams of Reason: The Computer and the Rise of the Sciences of

Complexity. New York: Simon & Schuster.

Parkes, A. P. (2008). A Concise Introduction to Languages and Machines. London: Springer.

Pǎun, G. (1999). (DNA) computing by carving. Soft Computing, 3(1), 30-36.

Pǎun, G. (1999a). Computing with membranes: an introduction. Bulletin of EATCS, 68, 139-152.

Page 89: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

79

Pǎun, G. (2002). Membrane Computing: An Introduction. Berlin: Springer.

Pǎun, G. (2005). Membrane computing: Power, efficiency, applications. In B. Cooper, B. Löwe,

& L. Torenvliet (Eds.), New Computational Paradigms: First Conference on

Computability in Europe, CiE 2005 (pp. 396-407). Berlin: Springer.

Pǎun, G. Rozenberg, G. & Saloma, A. (Eds.). (2010). The Oxford Handbook of Membrane

Computing. Oxford: Oxfod University Press.

Peak, D., West, J. D., Messinger, S. M. & Mott, K. A. (2004). Evidence for complex, collective

dynamics and emergent, distributed computation in plants. Proceedings of the National

Academy of Sciences, 101(4), 918-922.

Prescott, D. M. & Rozenberg, G. (2002). How ciliates manipulate their own DNA - A splendid

example of natural computing. Natural Computing, 1(2), 165-183.

Prescott, D. M. & Rozenberg, G. (2004). Encrypted genes and their assembly in ciliates. In M.

Amos (Ed.), Cellular Computing (pp. 171-201). Oxford: Oxford University Press.

Prokopenko, M. (Ed.). (2014). Guided Self-Organization: Inception. Berlin: Springer.

Prusinkiewics, P. & Lindenmayer, A. (1990). The Algorithmic Beauty of Plants. New York:

Springer.

Ramsden, J. (2015). Bioinformatics: An Introduction (3rd edition). Berlin: Springer.

Reading, A. (2011). Meaningful Information: The Bridge between Biology, Brain, and Behavior.

New York: Springer.

Recknagel, F. (Ed.). (2006). Ecological Informatics: Scope, Techniques and Applications (2nd

edition). Berlin: Springer.

Regot, S., Macia, J., Conde, N., Furukawa, K., Kjellén, J., Peters, T., … & Solé, R. (2011).

Distributed biological computation with multicellular engineered networks. Nature,

469(7329), 207-211.

Rice, J. K. & Rice, J. R. (1969). Introduction to Computer Science: Problems, Algorithms,

Languages, Information and Computers. Chicago: Holt, Rinehart and Winston.

Roederer, J. G. (2005). Information and its Role in Nature. Berlin: Springer.

Ronacher, B. (2008). Path integration as the basic navigation mechanism of the desert ant

Cataglyphis fortis. Myrmecological News, 11, 53-62.

Rosen, R. (1991). Life Itself. New York: Columbia University Press.

Rosen, R. (2000). Essays on Life Itself. New York: Columbia University Press.

Rosenbloom, P. S. (2013). On Computing: The Fourth Great Scientific Domain. Cambridge, MA:

MIT Press.

Rozenberg, G. (2008). Computer science, informatics, and natural computing—Personal

reflections. In S. B.Cooper, B. Löwe & A. Sorbi (Eds.), New Computational Paradigms:

Changing Conceptions of What Is Computable (pp. 373-379). New York: Springer.

Rozenberg, G., Bäck, T. & Kok, J. N. (Eds.). (2012). Handbook of Natural Computing (pp. 1233-

1280). Berlin: Springer.

Sakakibara, Y. & Hiyama, S. (2012). Bacterial computing and molecular communication. In G.

Rozenberg, T. Bäck & J. N. Kok (Eds.), Handbook of Natural Computing (pp. 1203-1232).

Berlin: Springer.

Sampson, J. R. (1976). Adaptive Information Processing: An Introductory Survey. New York:

Springer.

Schiff, J. L. (2008), Cellular Automata: A Discrete View of the World. New Jersey: John Wiley

& Sons.

Schrödinger, E. (1944). What is life? Cambridge: Cambridge University Press.

Sears, D. (2010). The Computational Power of Extended Watson-Crick L Systems (PhD Thesis).

Kingston: Queen’s University.

Shasha, D. & Lazere, C. (2010). Natural Computing: DNA, Quantum Bits, and the Future of

Smart Machines. New York: Norton.

Shettleworth, S. J. (2001). Animal cognition and animal behavior. Animal Behavior, 61(2), 277-

286.

Siegelmann, H. T. (1995). Computation beyond the Turing limit. Science, 268(5210), 545-548.

Siegelmann, H. T. (2003). Neural and super-Turing computing. Minds and Machines, 13(1), 103-

114.

Page 90: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

80

Siegelmann, H. T. (2013). Turing on super-Turing and adaptivity. Progress in Biophysics &

Molecular Biology, 113(1), 117-126.

Simon, H. (1969). The Sciences of Artificial. Cambridge, MA: MIT Press.

Sipper, M. (1990). The emergence of cellular computing. IEEE Computer, 32(7), 18-26.

Sipper, M. (1997). Evolution of Parallel Cellular Machines: The Cellular Programming

Approach. Berlin: Springer.

Sipser, M. (2013). Introduction to the Theory of Computation (3rd edition). Boston: Cengage

Learning.

Solé, R. & Delgado, J. (1996). Universal computation in fluid neural networks. Complexity, 2(2),

49-56.

Solé, R. & Macia, J. (2011). Synthetic biocomputation: the possible and the actual. In T. Lenaerts,

M. Giacobini, H. Bersini, P. Bourgine, M. Dorigo & R. Doursat (Eds), Advances in

Artificial Life, ECAL, 2011 (without numeration). Cambridge, MA: MIT Press.

Stannett, M. (2004). Hypercomputational models. In: C. Teuscher (Ed.), Alan Turing: Life and

Legacy of a Great Thinker (pp. 135-157). Berlin: Springer.

Stepney, S. (2008). The neglected pillar of material computation. Physica D: Nonlinear

Phenomena, 237(9), 1157-1164.

Stepney, S. (2009). Non-classical hypercomputation. International Journal of Unconventional

Computing, 5(3), 267-276.

Stepney, S., Braunstein, S. L., Clark, J. A., Tyrrel, A., Adamatzky, A., Smith, R. E., … &

Partridge, D. (2005). Journeys in non-classical computation I: a grand challenge for

computing research. The International Journal of Parallel, Emergent and Distributed

Systems, 20(1), 5-19.

Stepney, S., Braunstein, S. L., Clark, J. A., Tyrrel, A., Adamatzky, A., Smith, R. E., … &

Partridge, D. (2006). Journeys in non-classical computation II: initial journeys and

waypoints. The International Journal of Parallel, Emergent and Distributed Systems,

21(2), 97-125.

Stieb, S. (2010). Frontal overview of the brain of the desert ant Cataglyphis fortis. Rettrieved

from http://www.graduateschools.uni-wuerzburg.de/life_sciences/gsls_newsletter/

archive_newsletters/2010_feb/.

Syropoulos, A. (2006). Fuzzifying P systems. The Computer Journal, 49(5), 619-628.

Syropoulos, A. (2008). Hypercomputation: Computing Beyond the Church-Turing Barrier. New

York: Springer.

Syropoulos, A. (2013). Hypercomputation: Fantasy or reality? A position paper. Parallel

Processing Leters, 23(1), 1360005.

Takahara, A. & Yokomori, T. (2003). On the computational power of insertion-deletion systems.

Natural Computing, 2, 321-336.

Talbi, E.-G. (2009). Metaheuristics: From Design to Implementation. New Jersey: John Wiley &

Sons.

Talbi, E.-G. (Ed.). (2013). Hybrid Metaheuristics. Berlin: Springer.

Teuscher, C. (2009). Cellular computing. In R. Meyer (Ed.), Encyclopedia of Complexity and

Systems Science (pp. 922-936). Berlin: Springer.

Thiélin-Bescond, M. & Beugnon, G. (2005). Vision-independent odometry in the ant Cataglypgis

cursor. Naturwissenschaften, 92(4), 193-197.

Thompson, D. W. (1917). On Growth and Form. Cambridge: Cambridge University Press.

Toffoli, T. & Margolus, N. (1987). Cellular Automata Machines: A New Environment for

Modeling. Cambridge, MIT Press.

Tolmachiev, D. & Adamatzky, A. (1996). Chemical processor for computation of Voronoi

diagram. Advanced Materials for Optics and Electronics, 6(4), 191–196.

Tong, J. C. & Ren, E. C. (2009). Immunoinformatics: Current trends and future directions. Drug

Discovery Today, 14(13-14), 684-689.

Tračik, G. & Bialek, W. (2016). Information processing in living systems. Annual Review of

Condensed Matter Physics, 7, 89-117.

Page 91: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

81

Tsuda, S., Zauner, K. P. & Gunji, Y. P. (2006). Computing substrates and life. In S. Artmann &

P. Dittrich (Eds.), Explorations in the Complexity of Possible Life: Abstracting and

Synthesizing the Principles of Living Systems (pp. 39-49). Jena: IOS Press.

Turing, A. M. (1937). On computable numbers, with an application to the entscheidungsproblem.

Proceedings of the London Mathematical Society, 42(1), 230-265.

Turing, A. M. (1939). Systems of logic based on ordinals. Proceedings of the London

Mathematical Society, 45(1), 161-228.

Turing, A. M. (1948). Intelligent Machinery. In D. C. Ince (Ed.), Collected Works of A. M. Turing:

Mechanical Intelligence (pp. 107-128, publication date: 1992). Amsterdam: Elsevier

Science.

Turing, A. M. (1950). Computing machinery and intelligence. Mind, 59(236), 433-460.

Turing, A. M. (1952). The chemical basis of morphogenesis. Philosophical Transactions of the

Royal Society of London B, 237(641), 37–72.

Vedral, V. (2010). Decoding Reality: The Universe as Quantum Information. Oxford: Oxford

University Press.

Vicsek, T. (2002). Complexity: The bigger picture. Nature, 418(6894), 131.

Von Neumann, J. (1966). Theory of Self-Reproducing Automata (Edited and completed by A. W.

Burks). Urbana, Ill.: University of Illinois Press.

Wagensberg, J. (2010). Las Raíces Triviales de lo Fundamental. Barcelona: Tusquets.

Wagensberg, J., García Leal, A. & Lins de Barros, H. (2010). Individuals vs. individualities: A

Darwinian approach. Biological Theory, 5(1), 85-93.

Wagner, A. (2005). Robustness and Evolvability in Living Systems. Princeton: Princeton

University Press.

Wegner, P. (1997). Why interaction is more powerful than algorithms. Communication of the

ACM, 40 (5), 80-91.

Wegner, P. (1998). Interactive foundations of computing. Theoretical Computer Science, 192 (2),

315-351.

Wegner, P. & Eberbach, E. (2004). New models of computation. The Computer Journal, 47(1),

4-9.

Wegner, P., Eberbach, E. & Burgin, M. (2012). Computational completeness of interaction

machines and Turing machines. In: A. Voronkov (Ed.), Turing-100. The Alan Turing

Centenary (EPiC Series in Computing, Volume 10, pp 405-414). Manchester: EasyChair.

Wehner, R. (2003). Desert ant navigation: how miniature brain solve complex systems. Journal

of Comparative Physiology A, 189(8), 579-588.

Wehner, R., Boyer, M., Loertscher, F., Sommer, S. & Menzi, U. (2006). Ant navigation: one-way

routes rather than maps. Current Biology, 16(1), 75-79.

Wehner, R. & Srinivasan, M. V. (2003). Path integration in insects. In K. J. Jeffery (Ed.), The

Neurobiology of Spatial Behaviour (pp. 9-30). Oxford: Oxford University Press.

Whener, R. & Whener, R. (1990). Insect navigation: use of maps or Ariadne’s thread. Ecology &

Evolution, 2(1), 27-48.

Wilensky, U. (1997). NetLogo Ants model. Evanston, IL: Center for Connected Learning and

Computer-Based Modeling, Northwestern University. Retrieved from

http://ccl.northwestern.edu/netlogo/models/Ants.

Wilensky, U. (1999). NetLogo. Evanston, IL: Center for Connected Learning and Computer-

Based Modeling, Northwestern University. Downloaded from

http://ccl.northwestern.edu/netlogo/.

Wilensky, U. & Rand, W. (2015). An Introduction to Agent-Based Modeling: Modeling Natural,

Social, and Engineered Complex Systems whit NetLogo. Cambridge, MA: MIT Press.

Wing, J. (2006). Computational thinking. Communications of the ACM, 49(3), 33-35.

Wing, J. M. (2008). Five deep questions in computing. Communications of the ACM, 51(1), 58-

60.

Wittlinger, M., Whener, R. & Wolf, H. (2006). The ant odometer: stepping on stilts and stumps.

Science, 312(5782), 1965-1967.

Page 92: Desarrollo de un modelo de hipercomputación …³mezCruz.2017.pdfi Resumen La vida procesa información. Esto es lo que hace para vivir. Varios biólogos y científicos de la computación

82

Wittlinger, M., Wolf, H. & Whener, R. (2007). Hair plate mechanoreceptors associated with body

segments are not necessary for three-dimensional path integration in desert

ants, Cataglyphis fortis. Journal of Experimental Biology, 210(3), 375-382.

Witzany, G. & Baluška, F. (2012). Life’s code script does not code itself. EMBO Reports, 13(12),

1054-1056.

Wolfram, S. (1984). Computer software in science and mathematics. Scientific American, 251(3),

188-203.

Wolfram, S. (2002). A New Kind of Science. Champaign, IL: Wolfram Research.

Wooley, J. C. & Lin, H. S. (Eds.). (2005). Catalyzing Inquiry at the Interface of Computing and

Biology. Washington, D.C.: The National Academies Press.

Würtz, R. (Ed.). (2008). Organic Computing. Berlin: Springer.

Xing, B. & Gao, W.-J. (2014). Innovative Computational Intelligence: A Rough Guide to 134

Clever Algorithms. Berlin: Springer.

Zenil, H. (Ed.). (2012). A Computable Universe: Understanding and Exploring Nature as

Computation. New Jersey: World Scientific.