Vous êtes sur la page 1sur 9

Computadoras universales

en nuestra vida diaria


Francisco Hernndez Quiroz
nnnnnnn

La mquina de Turing encarna el concepto bsico de la computabilidad. Junto con la nocin de mquina universal, constituyen el fundamento terico de muchos de los avances tecnolgicos que han revolucionado la actividad econmica y la vida social de la humanidad en
las ltimas dcadas.

n signo distintivo de los grandes avances cientficos es su capacidad para


explicar fenmenos muy diversos y que se pensaban inconexos. ste es
sin duda el caso del anlisis conceptual y matemtico que Alan Turing
realiz en un artculo de 1937, y que pas inadvertido por algn tiempo.
Ah, Turing present un modelo acerca de qu significa resolver un problema por
medio de un procedimiento efectivo, y lo utiliz para resolver un problema muy
abstracto de lgica matemtica. En su honor, el modelo se conoce hoy en da
como mquina de Turing, y es el fundamento no slo de una rama de las matemticas llamada teora de la computabilidad (que estudia aquello que se puede
calcular, en principio, por medio de una computadora), sino tambin de muchos
avances tecnolgicos presentes en todos los aspectos de nuestra vida actual.
Tratar de explicar a continuacin dos conceptos centrales: qu significa ser
computable y tener capacidad computacional universal. Pero antes empezar con un breve relato situado en un pasaje de la historia de Mxico.

La Decena Trgica
En febrero de 1913, hace exactamente cien aos, se produjo la ltima batalla
militar dentro de los lmites de la Ciudad de Mxico: la Decena Trgica. En ese ao,
la presidencia de Francisco I. Madero se tambaleaba en medio de convulsiones

24 ciencia

octubre-diciembre 2013

Alan Turing y la computacin

sociales, polticas y econmicas. Un grupo de militares


decidi aprovechar la situacin para derrocarlo, y para
ello atacaron el Palacio Nacional. Las cosas no salieron como planeaban, pues un sector del ejrcito se
mantuvo fiel a Madero. Lo que sigui fue una serie de
episodios de combate en las calles del centro de la ciudad. Finalmente, despus de diez das, y de muchos
muertos y penurias para la poblacin civil atrapada
en el conflicto, Madero fue asesinado y su lugar lo
ocup el general Victoriano Huerta.
Hasta antes de esto, la Ciudad de Mxico no haba
sido escenario de combates mayores en la Revolucin,
y su infraestructura se encontraba ms o menos intacta.
Los peridicos de la capital haban seguido operando
como siempre, e incluso el cine, llegado poco antes, se
encontraba en auge. Por esta razn, la Decena Trgica
fue narrada y fotografiada por los peridicos, y algunas
acciones fueron filmadas por camargrafos como los
hermanos Alva y Salvador Toscano.
Imaginemos por un momento las peripecias de un
reportero que cubra esos hechos. Acude a un enfrentamiento frente al Palacio Nacional y lo reporta a la
redaccin de su peridico por telfono (con la esperanza de ganar la primicia). Ms tarde, se sienta a escribir
una crnica detallada en una mquina de escribir y,
con ayuda de una cmara que un colega oper en el
Zcalo, completa la crnica con fotografas (guardando

una copia en su archivero). Piensa con envidia en la


pelcula grabada desde el segundo piso de un edificio
por el dueo de una de las cmaras de cine recin
llegadas al pas, en la fidelidad de la grabacin que permita el nuevo invento. Decide despus trasladarse a
la Ciudadela a cubrir otro enfrentamiento y busca rutas alternas para llegar ah en un enorme mapa que
cuelga en los muros de la redaccin (previendo bloqueos en las calles principales). Despus de reportear
24 horas continuas, deja en su lugar a otro compaero
y se va a casa, no sin parar antes en una cantina fuera
del rea de combate para tomarse un tequila mientras
escucha un corrido improvisado sobre Madero y su
pronta cada.
Al llegar a casa, agotado, cae dormido apenas se
acuesta, y tiene un sueo muy extrao. En l, el fantasma de Madero aparece y le ofrece mostrarle lo que
depara el futuro para l y sus descendientes. El reportero piensa que le hablar del destino democrtico (o
dictatorial) de Mxico pero, en lugar de eso, el fantasma le muestra un aparato mgico que realiza todas las
tareas de los instrumentos de trabajo del reportero y,
adems, tambin de los de diversin: es, a la vez, una
mquina de escribir, un archivero, una calculadora y
un telfono. Contiene mapas precisos de toda la ciudad (y del resto del mundo) con fotografas detalladas
de las calles y datos tiles sobre cmo llegar a ese lugar.

Barricada en el centro de la Ciudad de Mxico. Imagen de una secuencia flmica de


Salvador Toscano durante la Decena Trgica.

26 ciencia

octubre-diciembre 2013

Computadoras universales en nuestra vida diaria

Mi aparato mgico y otros similares (como el reproductor de DVD porttil de un vendedor ambulante
en mi vagn del Metro) son tan ubicuos que me cuesta trabajo entender el sentimiento de estar frente a un
milagro que experimenta el personaje de mi relato al
ver concentradas tantas funciones en un solo dispositivo. No obstante, si reflexiono con detenimiento, se
trata de algo prodigioso: qu tan complejo debe ser un
aparato, qu instrucciones tan sutiles debe seguir para
poder realizar operaciones tan diversas? Sin negar la
sofisticacin de la electrnica que est detrs de un
telfono o una computadora actual, resulta que todas
las funciones anteriores se pueden reducir a las operaciones bsicas de un mismo mecanismo. El modelo
matemtico ms general de este mecanismo es, precisamente, la mquina universal de Turing.
Algo igualmente curioso es que el origen de esta
idea se encuentra en un problema planteado por matemticos puros y que, en ltima instancia, proviene de
una idea sembrada hace algunos siglos por un filsofo.
Tambin, puede llevar no una, sino miles de fotos, adems de grabar pelculas (y reproducirlas!). Asimismo,
le permite disfrutar de nuevo el corrido que escuch
en la cantina y ver un video del msico callejero que
lo canta (antes de la invencin del cine sonoro!). El
aparato no es omnipotente; sin embargo, no puede
darle un caballito de tequila.
El reportero est fascinado con la mquina pero,
como suele ocurrir en los sueos, en el momento culminante en que puede tomarlo en sus manos y est a
punto de usarlo, despierta. Abre los ojos con una sonrisa y piensa: es imposible que exista algo as ni ahora
ni en mil aos.

Un viaje moderno
Rumbo a mi trabajo, viajando en el Metro, llevo
mi propio aparato mgico: un telfono inteligente o
smartphone. Por supuesto, como un usuario ms, y a diferencia del personaje de mi fbula, s que el aparato
no slo es posible, sino que est al alcance de la mayor
parte de las personas en una economa moderna (si
no es un modelo reciente y trae una manzana como
logotipo).

Leibniz y su sueo
En el siglo XVIII, Gottfried Wilhelm Leibniz, coinventor del clculo, propuso un par de ideas revolucionarias en el terreno de la filosofa:
a) El uso de un lenguaje formal, abstracto, para expresar las ideas de manera independiente a la
lengua natural del usuario (basado en un subconjunto de la lgica matemtica, tal y como
la conocemos hoy); y
b) la reduccin del razonamiento a un proceso de
clculo (calculus ratiocinator); es decir, a la manipulacin de los smbolos del lenguaje formal
propuesto en (a) como un sustituto de la argumentacin con palabras.
Las ideas de Leibniz no tuvieron el impacto deseado en
el mundo de la filosofa, pero a finales del siglo XIX algunos matemticos, como Frege, en Alemania, y Russell
y Whitehead, en la Gran Bretaa, emprendieron un
proyecto similar, limitado a las matemticas. Se propusieron traducir el conocimiento matemtico a frmulas en un lenguaje lgico, para dejar claro cules eran

octubre-diciembre 2013

ciencia

27

Alan Turing y la computacin

los principios bsicos de los que parte toda teora matemtica, y qu operaciones de razonamiento permiten
derivar de estos principios el resto de los teoremas.
Escogieron la lgica siguiendo la tradicin de Leibniz,
y con la esperanza de que esta disciplina diera confianza al resto de las matemticas.
La aparicin de algunos obstculos
(en particular las llamadas paradojas)
llevaron a otros matemticos a proponerse un programa de trabajo an ms
radical. El lder de este grupo fue el alemn David Hilbert, quien a principios
del siglo XX se plante no slo la formalizacin de las matemticas en el
estilo de Russell y Whitehead, sino
tambin la resolucin de los dilemas matemticos por medio de
un clculo como el propuesto por
Leibniz.
Una formulacin extrema de
esta idea aparece en el problema de la
decisin, que Hilbert plante como
la pregunta siguiente: Dados ciertos
principios bsicos de una teora (axiomas) y una posible consecuencia de estos principios
(candidato a teorema), existe un procedimiento efectivo para saber si el candidato a teorema es una consecuencia lgica de los axiomas, y por lo tanto ampla
nuestro conocimiento de la teora?
Por supuesto, para contestar esta pregunta necesitamos saber primero qu se entiende por procedimientos
efectivos. Hilbert se limit a delinear los rasgos generales de stos:
Parten de representaciones simblicas de los
problemas que intentan resolver.
Las operaciones que realizan se reducen a reglas
para la manipulacin de smbolos.
Las reglas que definen un procedimiento deben
ser finitas, tanto por la cantidad de reglas de un
procedimiento dado, como por la cantidad de
smbolos necesarios para expresarlas.
Finalmente, un procedimiento efectivo debe darnos una respuesta (ya sea positiva o negativa) a
un problema en un nmero finito de pasos.

28 ciencia

octubre-diciembre 2013

Las propuestas de Hilbert encontraron eco en muchos partidarios entusiastas, pero tambin tuvo sus
detractores y escpticos. En 1931 apareci en la escena el joven matemtico Kurt Gdel,
quien demostr (grosso modo) que los
mtodos defendidos hasta entonces por
Hilbert eran insuficientes para validar
todas las verdades matemticas. Aunque este resultado no implica directamente que no existe un procedimiento
efectivo para resolver el problema de
la decisin, casi todos los matemticos lo consideraron un buen indicio de
que dicho procedimiento tal vez fuera
imposible.
Para sustentar esta conjetura se necesitaba resolver una cuestin previa:
qu quiere decir exactamente un procedimiento efectivo? Es decir, haca
falta un modelo matemtico del procedimiento. Una vez con el modelo
adecuado, podra contestarse con rigor
la cuestin de sus alcances prcticos.

Turing y su solucin
Max Newman era un profesor de matemticas
en Cambridge con inters en el trabajo de Hilbert y
Gdel. El entonces muy joven Alan Turing asisti en
1935 a una serie de plticas de Newman, y decidi trabajar en el problema de la decisin.
Turing abord el problema desde una perspectiva
prctica: se inspir en el trabajo de las personas que en
aquella poca se ganaban la vida haciendo clculos
matemticos manuales. Estos clculos eran necesarios en una amplia gama de aplicaciones industriales y
militares, y haba compaas que ofrecan sus servicios
y que contaban con personas entrenadas para esto
(muchos de ellos, estudiantes de matemticas).
La persona reciba una serie de clculos que deba
realizar siguiendo una serie de frmulas probadas. No
haca falta que utilizara su ingenio para resolver un
problema. Por el contrario, era fundamental que siguiera instrucciones ciegamente para que su trabajo fuera
confiable. Su estilo de trabajo se adaptaba perfectamen-

Computadoras universales en nuestra vida diaria

te a la descripcin de un procedimiento efectivo, pues


estaba basado en un conjunto finito de instrucciones
que se reducan, en ltima instancia, a la manipulacin de smbolos.
Turing generaliz esta idea para definir sus mquinas (que son abstracciones matemticas y no mecanismos fsicos, a pesar del nombre). Los ingredientes
eran los siguientes:
Un alfabeto de smbolos (como los smbolos matemticos utilizados en el clculo).
Un conjunto finito de estados mentales en los
que puede encontrarse la mquina (similar a
los estados mentales de un calculista: a la mitad
de un clculo, en la escritura en limpio de la solucin, etctera). Uno de estos estados es el de
inicio, otro es el de un final con xito, y el otro
es el de un final con fracaso.
Un conjunto finito de instrucciones, que se basan en el estado mental de la mquina y el smbolo que est leyendo.

Estado

Smbolo

Inicial

Inicial

Espacio

Impar

Impar

Nuevo estado

Una cantidad ilimitada de papel para realizar


sus clculos en la forma de una cinta con celdas
que contienen, cada una, un solo smbolo.
Una cabeza lectora que, en un momento especfico, est leyendo el smbolo de una celda particular de la cinta.
La mquina recibe al principio una serie de smbolos y
se encuentra en el estado de inicio. Dependiendo de sus
instrucciones y del smbolo ledo, reescribe el smbolo y
avanza o retrocede segn digan sus instrucciones.
Es claro que este mecanismo cumple con las especificaciones de Hilbert pero, no es demasiado primitivo?, puede realmente servir para realizar tareas
complicadas?
Pensemos en una tarea elemental: recibimos palabras (que incluyen slo la letra a) y tenemos que
contestar si tienen longitud par o impar, y quedarnos
slo con las pares. Las instrucciones de un mquina
de Turing para realizar esto aparecen en la siguiente
tabla:

Nuevo smbolo

Movimiento de la cabeza lectora

Impar

Espacio

Avanza

Termina con xito

Espacio

Avanza

Par

Espacio

Avanza

Espacio

Termina con fracaso

Espacio

Avanza

Par

Impar

Espacio

Avanza

Par

Espacio

Termina con xito

Espacio

Avanza

Mquina de Turing que determina si una palabra tiene un nmero par o impar de letras a. El estado final de
la mquina al terminar la lectura de la palabra determina la paridad de la palabra.

octubre-diciembre 2013

ciencia

29

Alan Turing y la computacin

Como es obvio, el modelo de Turing se basa en describir en todos sus detalles el mtodo empleado para
resolver el problema. Esta descripcin no da pie al uso
encubierto de la inspiracin o el azar.
La definicin de Turing fue aceptada muy pronto,
por su sencillez y elegancia, como la definicin de procedimiento efectivo, a pesar de que exista al menos un
rival cuya salida al mundo fue anterior a la propuesta
de Turing (el clculo lambda de Alonzo Church,
matemtico estadounidense). La demostracin de que
cualquier funcin calculable por medio de una mquina
de Turing se puede calcular tambin a travs de la propuesta de Church y viceversa (y que esto ocurre tambin con otros modelos propuestos posteriormente),
llev a la siguiente afirmacin: Todo problema que
se puede resolver por medio de un procedimiento
efectivo, puede resolverse a travs de una mquina
de Turing.
En honor de Turing y Church esta idea se conoce
como la Tesis de Church-Turing, y para efectos prcticos
ha permitido igualar la nocin de computable (es decir,

calculable por medio de una mquina de Turing) con


la de procedimiento efectivo.
Afortunadamente, Turing no se limit a una simple
definicin de sus mquinas, pues su teora no nos acercara al aparato mgico que ya describ. Imaginemos
que para cada tarea resoluble por medio de un procedimiento hubiera que construir una mquina particular: una cmara para tomar fotografas, una mquina de
escribir para hacer cartas, un aparato para escuchar
msica. Estaramos en la situacin de nuestro reportero
y no en la de un usuario de un smartphone. No, Turing
tambin demostr que no es estrictamente necesario tener una mquina para cada tarea, sino que todas
las tareas pueden expresarse por medio de instrucciones para una mquina universal, capaz de ejecutarlas todas.
El truco de Turing consiste en traducir la descripcin de mquinas arbitrarias a una cadena de smbolos
de un alfabeto nico que pueden ser utilizadas como
la entrada de la mquina universal. La mquina universal, entonces, lee las instrucciones para una mquina
particular y las transforma en instrucciones propias, simulando el comportamiento de esa mquina particular.
Por ejemplo, la mquina universal podra trabajar
slo con el alfabeto binario de 0 y 1 y utilizar el siguiente esquema para codificar las instrucciones de la
mquina de Turing que present antes:
1 corresponde al smbolo de espacio vaco,
11 corresponde a la letra a,
111 corresponde al estado inicial,
1111 corresponde al estado impar, y
111111 corresponde a avanzar.
Entonces, la instruccin en el estado inicial si lees
una a pasa al estado impar, escribe un espacio en su
lugar y avanza, que es la primera instruccin de la
tabla, se representara as:
11101101111010111111
(los ceros actan como separadores)
Con un esquema similar es posible codificar las instrucciones de cualquier otra mquina de Turing, por compleja que sea. Las instrucciones propias de la mquina

30 ciencia

octubre-diciembre 2013

Computadoras universales en nuestra vida diaria

universal consisten en movimientos que le permitan


leer la descripcin codificada de otra mquina, la palabra que analizar la mquina particular y una serie
de instrucciones que le permitan imitar lo que hara la
mquina particular, en este caso. Dado que la mquina particular se limita a reescribir smbolos de acuerdo con instrucciones que dependen slo del estado en
que se encuentra en ese momento, es claro que las instrucciones de la mquina universal pueden definirse
con reglas de la misma naturaleza (aunque muy tediosas de describir, y demasiado numerosas para presentarlas aqu).
Este mismo principio se aplica en todas las computadoras que utilizamos hoy en da, incluyendo los smartphones. La computadora o el smartphone son mquinas
universales (aunque con limitaciones de memoria), y
las mquinas que resuelven tareas especficas son los
programas o aplicaciones que estn instaladas en esa
computadora (es decir, que residen en su memoria).
Una computadora tpica cuenta con instrucciones
muy bsicas para leer smbolos (generalmente binarios), realizar operaciones con ellos (sumas, comparaciones, etctera) y guardarlos en distintas partes de su
memoria. Por otra parte, una aplicacin (como la
que permite escuchar msica en el telfono) se construye por medio de instrucciones en un lenguaje de
programacin que admite, entre otras cosas, describir
sonidos digitalizados y ordenar su reproduccin electrnica. Un programa especial llamado compilador traduce las instrucciones del lenguaje de programacin a
las instrucciones bsicas de la computadora, para que
sta pueda ejecutarla.
En pocas palabras: ni en las mquinas de Turing ni
en los smartphones existe magia detrs de la universalidad; simplemente son dos encarnaciones del mismo
concepto.

Moraleja
Turing determin qu se puede calcular mediante
mtodos efectivos, y en el proceso defini el modelo
bsico de una computadora. Su definicin implica la
posibilidad de reducir las soluciones de problemas particulares (que hubieran requerido mecanismos particu-

lares) a instrucciones de una sola mquina universal.


Este logro es lo que explica que hoy podamos contar
con aparatos que ejecutan tareas tan dismbolas, mismas que un siglo atrs nadie hubiera podido creer que
se pudieran realizar con una cajita que cabe en el bolsillo de la camisa.

Francisco Hernndez Quiroz es profesor de la Facultad de


Ciencias de la Universidad Nacional Autnoma de Mxico ( UNAM )
desde 2001. Obtuvo el doctorado en Ciencias de la Computacin
en el Colegio Imperial de Londres. Sus temas principales de investigacin son la lgica aplicada y la teora de la computabilidad.
Esta ltima, desde una perspectiva tanto tcnica como filosfica.
fhq@ciencias.unam.mx

Lecturas recomendadas
Copeland, B. Jack (2004), The essential Turing: seminal writings in computing, logic, philosophy, artificial intelligence,
and artificial life plus the secrets of Enigma, Oxford University Press.
Davis, Martin (2000), The universal computer: the road from
Leibniz to Turing, W. W. Norton & Company.
Hodges, Andrew, administrador del sitio <www.turing.
org.uk>.
Hodges, Andrew (2012), Alan Turing: the enigma. The centenary edition, Princeton University Press.
Turing, Alan Mathison (1936-1937), On computable
numbers, with an application to the Entscheidungsproblem, Proceedings of the London Mathematical Society,
42:230-265.

octubre-diciembre 2013

ciencia

31

Alan Turing y la computacin

32 ciencia

octubre-diciembre 2013

Vous aimerez peut-être aussi