El concepto de «computación» carecía de una definición formal hasta que Turing inventó una máquina teórica, algo así como un sistema de mínimos que le permitiera pensar con claridad las operaciones fundamentales. En su aspecto más general, podemos decir, después de Turing, que «computar» es «manipular» «símbolos». La definición formal avanza un poco en la dirección de qué pueda significar la palabra «manipular», pero asume que la palabra «símbolo» es comprensible de suyo.
Cualquier descripción, formal o informal, de las máquinas de Turing debería resultar cuando menos sorprendente por el número de elementos excepcionales que contiene: una cinta unidimensional e infinita en la que escribir y borrar («manipular») los símbolos, un cabezal para apuntar a la posición actual en la cinta, y localizaciones especiales (y exteriores a la máquina) para el «estado» y el algoritmo.
¿A qué se debe, por ejemplo, que la cinta deba ser unidimensional? La respuesta probable es que una dimensión le parecía a Turing algo más «sencillo» que dos o tres o infinitas dimensiones, y es cierto que en principio una mayor dimensionalidad implica mayores problemas para ubicar localizaciones a lo largo (y ancho y N) del sistema. Ahora bien, desde el punto de vista del principio de parsimonia, este requerimiento añade una complejidad innegable a la descripción teórica.
En un intento de simplificar y generalizar las máquinas de Turing, comenzaremos por una definición formal de las palabras «símbolo» y «manipular».
Llamaremos símbolo a cualquier entidad que pueda ser reproducida sin perder su identidad. Un árbol, por ejemplo, del que se clonara una réplica, no sería un símbolo, porque resultaría en dos entidades diferenciadas (dos identidades). El número 2, sin embargo, o la letra «A», pueden replicarse en múltiples ocasiones sin dejar de ser siempre la misma entidad. «A = A» es verdadero solamente porque A es un símbolo. El principio de identidad solo es verdadero con respecto a símbolos, y un símbolo se define como aquello de lo que puede predicarse el principio de identidad.
De la definición de símbolo se sigue la definición de «manipular» que se utiliza en computación. Manipular una entidad no simbólica implica un contacto físico, pero en un símbolo uno no «toca» nunca la entidad, solo puede crearla o destruirla, es decir, escribirla o borrarla. Esto, a su vez, implica desplazamientos espaciotemporales: generar una instancia nueva («escribir») consiste en replicarla en una ubicación nueva. Del mismo modo, «borrar» requiere ser capaz de señalar la ubicación de la instancia que debe ser destruida. Esto se debe a que la ubicación de cada instancia supone su única diferenciación del resto de instancias. La única identidad propia de una instancia de un símbolo es su ubicación.
En las máquinas de Turing, el algoritmo, es de decir, la lista de instrucciones que tienen lugar sobre la cinta, consiste pues en escribir, borrar y desplazarse. Un último elemento, el «estado», determina qué instrucción del algoritmo debe ser ejecutada. Como parte de cada instrucción, aparte del cálculo propiamente dicho (escritura, borrado y desplazamiento) se da por tanto la actualización del «estado». Tanto el estado como el algoritmo requieren sus propias «ubicaciones»: el algoritmo puede estar escrito en un hoja de papel, por ejemplo, que el operador de la máquina sostiene en una mano; el «estado» puede guardarse («escribirse») en otra hoja de papel.
Supongamos que la «cinta» de la máquina de Turing no fuera unidimensional. Incluso dos dimensiones bastarían para poder contener también el «estado» y las instrucciones mismas. De hecho, no hay ninguna razón para que el estado sea diferente del resto de datos operativos de la «cinta». Cualquier dato puede pasar a ser «estado», es decir, condicionante de la operación siguiente. Lo cual elimina a su vez la secuencialidad, ya que una máquina de este tipo podría hallarse en múltiples estados simultáneos, que podrán a su vez ejecutarse en paralelo. No hay tampoco ninguna razón para prohibir la escritura sobre la sección de la cinta que incluye las instrucciones, lo cual permitirá al programa modificarse a sí mismo.
Esta máquina con una cinta de dos dimensiones es ya más genérica (en términos de parsimonia) que la máquina original de Turing, puesto que contiene menos especificaciones para su descripción: hemos eliminado por completo el concepto de «estado» y la necesidad de una localización externa para el algoritmo. Y en el proceso, su funcionalidad de base ha sido además expandida, porque es capaz ahora de procesar instrucciones en paralelo y de «aprendizaje».
Supongamos ahora que no nos detenemos en dos dimensiones: después de todo, ¿por qué privilegiar un número determinado? Digamos que la cinta puede tener N dimensiones.
Una dimensión no es nada más que un dato requerido para señalar una ubicación. Para ubicaciones absolutas en el continuo espaciotemporal, tenemos 4 dimensiones (las tres espaciales + el tiempo). Pero en sistemas en red, la ubicación absoluta es irrelevante: en su lugar, necesitamos conocer la ruta que lleva a un nodo determinado, y en ellas cada bifurcación supone un dato más (una dimensión más). Es decir, si transformamos la cinta de Turing en una red de nodos (ubicaciones), esta podrá contener N dimensiones, lo cual nos permite generar estructuras: dedicar unas regiones para un tipo de datos u operaciones, crear relaciones jerárquicas (de «contendedor» y «contenido») y recursivas, etc. Una ubicación (nodo) no contendrá ahora solamente un símbolo o una instrucción, sino también, potencialmente, una cantidad prodigiosa de información contextual basada en su ubicación.
Es decir: la cinta de Turing puede ser expandida de una a N dimensiones hasta convertirse en toda la máquina bajo la forma de una red de ubicaciones (nodos) donde no es necesario diferenciar entre datos, estados e instrucciones, donde la información puede estar contextualizada y estructurada, y donde el programa mismo se halla sujeto a modificaciones y ejecuciones en paralelo.
Exactamente como un sistema neuronal biológico.