La concepción de procesos en el universo como procesos computacionales no es lo mismo que la hipótesis de que el universo sea una simulación, la cual es solo una especulación. (Pixabay)
6 min. de lectura

 

El uso más familiar para el término computación es el de una disciplina ingenieril enfocada a máquinas que procesan información de forma automática. Sin embargo, eso significaría quedarnos cortos. Un aspecto básico de la computación es el de disciplina formal, en la cual la computadora es un modelo con propiedades que solo pueden ser completamente verificadas por medio de la lógica y matemáticas [1].

Esto es debido a que si, por ejemplo, queremos asegurarnos de que un método sea capaz de ordenar toda secuencia de números de forma decreciente, la única forma de hacerlo es usando lógica o matemáticas, ya que no podemos aplicar el método a todas las secuencias posibles al ser infinitas.

Un modelo formal bastante estudiado es el autómata celular [2]. Este consiste en una rejilla de celdas o células (de 2, 3 o n dimensiones) con estados que cambian en intervalos de tiempo discreto. Lo que define el estado de una celda en el instante siguiente es su estado actual y el estado actual de las celdas vecinas.

Este modelo aparentemente tan simple, cumple la propiedad de ser un modelo de computación universal. Es decir los autómatas celulares son capaces de simular cualquier programa que pueda ser ejecutado por cualquier computadora [3]. Eso, por ejemplo, hace que los autómatas celulares sean capaces de computar tareas imposibles para una calculadora común, pues las calculadoras son computadoras no-universales, ya que solo son capaces de computar determinadas operaciones aritméticas.

Además de la computación como disciplina ingenieril o formal, la computación también ha sido empleada como un modelo para explicar fenómenos completamente independientes a máquinas fabricadas por el humano. Esto no es tan sorprendente si recordamos por ejemplo que en biología existen fenómenos donde evidentemente existe un procesamiento de la información.

El conexionismo

El conexionismo es un abordaje empleado en ciencias cognitivas, para tratar de modelar computacionalmente fenómenos de la mente por medio de redes neuronales artificiales [4].

Las redes neuronales artificiales (RNA) son una clase de modelos introducidos en los años cuarenta, que representan a las neuronas como unidades de procesamiento que reciben un input para realizar computaciones extremadamente simples y limitadas antes de producir un output.

En una RNA tenemos varias neuronas artificiales cuya entrada es el output de otras neuronas artificiales y cuyo output alimenta a su vez a otras neuronas artificiales. Una posible crítica es que las neuronas artificiales pueden ser una sobresimplificación de las neuronas reales. Sin embargo, el conexionismo parte de que fenómenos computacionalmente complejos como la mente pueden ser explicados a partir de entidades simples conectadas entre sí.

Las RNA representan un campo de investigación extremadamente popular, pero no necesariamente como explicación de la mente, sino por la gran cantidad de aplicaciones en el campo del aprendizaje de máquina [5]. El aprendizaje de máquina es la subdisciplina de la inteligencia artificial que se ocupa de crear algoritmos capaces de aprender automáticamente a partir de los datos.

En años recientes se han desarrollado modelos de RNA con configuraciones de neuronas que en el pasado han sido muy difíciles de implementar, por limitaciones de hardware y de conocimiento. Estas configuraciones se basan en neuronas artificiales organizadas en una gran cantidad de capas y representan una familia de modelos denominados de «aprendizaje profundo», los cuales son consideradas del estado del arte en tareas como reconocimiento de imágenes o sonidos y han sido capaces de superar al ser humano en juegos como el go [6,7].

Diagrama de la arquitectura de una red neuronal de 3 capas. Los tres primeros círculos de la izquierda representan las entradas que alimentan a la red neuronal, mientras que el resto de los círculos representan unidades neuronales. Las flechas representan hacia dónde se transmite la salida de cada unidad (Wikimedia, CC BY-SA 3.0) [14].

El ADN

Otro ejemplo notable de procesamiento de información existente en la naturaleza, es el ADN, que es prácticamente un código cuyos símbolos son una secuencia de 4 bases nitrogenadas. Estas secuencias contienen secuencias menores llamadas genes.

Cada uno de estos genes codifica la información necesaria para producir una proteína, dicha información es transmitida por ARN mensajero hacia un ribosoma. Este último es como una pequeña máquina que transforma la información del ARN en una proteína específica [8].

En resumen, todo un organismo está codificado en el ADN. Sin embargo, el ADN no es un libro estático que se repite indefinidamente en el tiempo. El ADN es información en procesamiento de generación en generación. Por lo tanto la evolución de una especie puede ser vista como una computación sobre su información genética. Esa idea es explotada por los algoritmos genéticos, que son ampliamente empleados en la inteligencia artificial para problemas de optimización de lo más diversos.

Los algoritmos genéticos

Supongamos que deseamos diseñar una hélice que maximice el empuje, entonces podemos codificar la forma potencial de una hélice en una cadena de símbolos similar al ADN. En un principio generamos varias de esas cadenas aleatorias codificando en su conjunto algo similar a una población de distintas hélices.

Una vez que tenemos una población a la que llamamos generación 0 podemos idear un mecanismo para simular que tan bien empuja cada hélice y darle un puntaje.

A partir de ese puntaje podemos idear un mecanismo aleatorio para seleccionar las hélices con mejor puntaje y combinar sus cadenas para producir nuevas cadenas que codifican nuevas hélices. Finalmente agregamos error aleatorio en cada cadena donde cada símbolo puede sufrir un error similar a las mutaciones.

Después de aplicar ese proceso de selección-combinación-error sobre las cadenas de la generación 0, eliminamos esas cadenas viejas y nos quedamos con las nuevas cadenas a las que llamaremos generación 1. Los algoritmos genéticos no son más que la aplicación iterativa del proceso de selección-combinación-error sobre cada generación hasta obtener una cadena que codifique una solución lo suficientemente buena para nuestro problema.

Otra vez vemos un ejemplo de computación natural que enriquece a la computación artificial [9].

La interpretación computacional del universo

En el sentido más general, podemos llamar computación a todo proceso en el que existe información en un instante «inicial», esta información es procesada y cambia para otro instante «final». Esta definición es bastante general y nos permite visualizar como computación a fenómenos más allá de los seres vivos.

Por ejemplo, la velocidad de una onda o partícula puede ser vista como información; así como también pueden serlo la temperatura, la presión en un punto, etc. Esta perspectiva tan amplia se presta a su tratamiento con el modelo de los autómatas celulares que es más general que las RNA o la computación evolutiva. Los autómatas celulares son lo suficientemente generales para modelar fenómenos de física y química como procesos de reacción-difusión, cristalización, erosión, corrosión, flujos de fluido, disolución o absorción [11, 12].

Ese gran éxito de los autómatas celulares llamó la atención del físico Stephen Wolfram, quien plantea una clasificación de los patrones de los autómatas celulares en 4 niveles. El primer nivel de los autómatas produce patrones bastante regulares, pero a medida que subimos de nivel el sistema es capaz de producir patrones más elaborados  a partir de reglas simples, donde finalmente tenemos la categoría de los autómatas más complejos.

En este nivel más complejo se han encontrado autómatas Turing-completos, es decir, capaces de simular computación universal.

En su libro «Un nuevo tipo de ciencia», Wolfram usa varias ideas ya existentes en ciencias de la computación y formula un principio de equivalencia computacional en el que todo proceso que ocurra en la naturaleza o sea llevado a cabo por el ser humano puede ser visto como una forma de computación.

Basándose en tal principio, Wolfram defiende que procesos tan distintos como el cerebro humano o el clima pueden considerarse computacionalmente equivalentes al ser capaces de computar lo mismo que una computadora [13].

Patrones obtenidos por un autómata celular unidimensional de dos estados a lo largo del tiempo. Cada fila de pixeles representa la rejilla unidimensional en un instante de tiempo, tal que cada fila debajo de una fila determinada representa la rejilla en el instante siguiente. (Wikimedia) [15]
Vale la pena aclarar que solo hemos seleccionado ejemplos significativos de la aplicación de la «visión computacional», i.e. la concepción de procesos en el universo como procesos computacionales, como abordaje para explicar la realidad.

Esto no es lo mismo que la hipótesis de que el universo sea una simulación, la cual es solo una especulación.

Lo planteado por Stephen Wolfram en su libro «Un nuevo tipo de ciencia» también está, en cierta medida, dentro del campo especulativo. Las ideas de Wolfram se mencionan aquí como una posibilidad en que la «visión computacional» podría alcanzar sus últimas consecuencias. Todavía no sabemos si el abordaje computacional es suficiente para explicar el universo en su totalidad.

Sin embargo esta posibilidad podría manifestarse de varias maneras, por ejemplo Wolfram observó que su autómata 110 de solo 8 reglas es turing-completo y simula cualquier nivel de complejidad. ¿Qué tal si el universo puede explicarse con un puñado de reglas extremadamente sencillas en «nivel inferior», de cuya manifestación surge toda la complejidad que podemos observar a escalas superiores?

Referencias

[1] Sipser, M. (1996). Introduction to the Theory of Computation. ACM Sigact News, 27(1).

[2] Wolfram, S. (1983). Statistical Mechanics of Cellular Automata. Reviews of Modern Physics. 55 (3): 601–644. Bibcode:1983RvMP…55..601W. doi:10.1103/RevModPhys.55.601. Archived from the original on 21 September 2013.

[3] Iirgen Albert, J., & Culik II, K. (1987). A simple universal cellular automaton and its one-way and totalistic version. Complex Systems, 1, 1-16.

[4] Garson, James (27 November 2018). Zalta, Edward N. (ed.). The Stanford Encyclopedia of Philosophy. Metaphysics Research Lab, Stanford University – via Stanford Encyclopedia of Philosophy.

[5] Yegnanarayana, B. (2009). Artificial neural networks. PHI Learning Pvt. Ltd.

[6] Sejnowski, T. J. (2018). The deep learning revolution. MIT press.

[7] Lapan, M. (2018). Deep Reinforcement Learning Hands-On: Apply modern RL methods, with deep Q-networks, value iteration, policy gradients, TRPO, AlphaGo Zero and more. Packt Publishing Ltd.

[8] Orphanides, G., & Reinberg, D. (2002). A unified theory of gene expression. Cell, 108(4), 439-451.

[9] Kramer, O. (2017). Genetic algorithms. In Genetic algorithm essentials (pp. 11-19). Springer, Cham.

[10] Karp, R. M. (2011). Understanding science through the computational lens. Journal of Computer Science and Technology, 26(4), 569-577.

[11] Preston Jr, K., & Duff, M. J. (2013). Modern cellular automata: theory and applications. Springer Science & Business Media.

[12] Hadeler, K. P., & Müller, J. (2017). Cellular automata: analysis and applications. Heidelberg: Springer.

[13] Wolfram, S. (2002). A new kind of science (Vol. 5, p. 130). Champaign, IL: Wolfram media.

[14] File: MultiLayerNeuralNetworkBigger english. (2011, 6 septiembre). Wikimedia Commons.

[15] File: Combinations Cellular Automata XOR Sierpinski Triangle (2020, 2 marzo). Wikimedia Commons.

 

¿Qué te pareció este artículo?

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (3 votos, promedio: 5,00 de 5)
Compartir artículo:

Dejar respuesta

Please enter your comment!
Please enter your name here