Date post: | 06-Jul-2018 |
Category: |
Documents |
Upload: | andy-guerrero-gallardo |
View: | 222 times |
Download: | 0 times |
of 22
8/17/2019 1.2 El Modelo Estandar
1/22
El modelo estándar
El tratamiento formal de la noción intuitiva de algoritmo tiene lugar a lo largo de
un breve pero intenso periodo: la década de 1930. Son varios los modelos que se
proponen varios los autores que traba!an de forma sistemática en su desarrollo. "a
#istoria de los acontecimientos #a querido que de todos aquellos modelos #aa uno$ el
que se asocia al término máquinas de Turing$ que destaca por encima de todos los
demás. Esto es as% al punto de #aber #ec#o desaparecer los restantes&salvo de la
memoria de los #istoriadores' prestando al análisis de la computabilidad$ tanto el
nombre$ como las #erramientas conceptuales más caracter%sticas. Esta es la ra(ón de
que podamos #ablar de unmodelo estándar de la computabilidad construido en torno
al concepto básico de máquina de Turing sus propiedades.
)o obstante$ creo que un curso como este no tiene por qué desatender otros
modelos$ equivalentes$ eso s%$ cuo papel #istórico #a sido más que notable. "a
coincidencia de todos ellos en definir una la misma clase de tareas efectivas
constitue un #ec#o fundamental para el nacimiento de la *eor%a de la +omputación
como disciplina independiente$ de tal modo que prescindir de su e,posición puede
generar problemas de interpretación de algunos de los resultados fundamentales de
esta disciplina. Sin embargo$ tampoco parece conveniente optar sin más por un
desarrollo puramente #istórico de la materia. Esto nos obligar%a a mane!ar conceptos
de forma vaga o alusiva durante demasiado tiempo per!udicando al final la
compresión. Esta es la ra(ón de que e,ponga a#ora la interpretación formal de la
efectividad que opera como marco general dentro de la *eor%a de la +omputación.
+on ello se intenta que nos familiaricemos con algunos de los problemas generales de
esta disciplina con su forma general de ra(onar. -na ve( #ec#o prestaremos
atención a una serie de análisis cr%ticos de la situación obtenida para seguir luego con
8/17/2019 1.2 El Modelo Estandar
2/22
Lógica y Computabilidad
los grandes teoremas de caracteri(ación de la *eor%a general o abstracta de la
+omputación.
"o primero que #emos de aclarar es en qué consiste$ de qué está #ec#a$ una
Máquina de Turing. "a respuesta es sencilla$ se trata de un modelo teórico compuesto
&idealmente' por s%mbolos papel$ ésta es la nica respuesta posible. )o se trata de
ningn ingenio mecánico que pueda verse o adquirirse$ sino de una #erramienta
teórica con la que *uring pretendió e,plicar qué #acemos cuando e!ecutamos una
tarea de forma efectiva. +uando *uring propone su modelo cuenta con / aos se
trata de poco más que un traba!o de verano emprendido por un recién licenciado.
2urante el periodo inmediatamente anterior$ *uring #ab%a quedado entusiasmado por
la fortale(a de ciertos problemas e,puestos en un curso presentado por )emann$ un
conocido topólogo británico. El ensao que *uring elabora durante ese verano
&germen del conocid%simo 45n +omputable )umbers it# an application to t#e
Ents#eidungsproblem6' está dedicado al análisis del problema de la decisión
formulado por 7ilbert aos antes$ la respuesta es negativa. +oincide en el tiempo
con un traba!o en la misma dirección publicado por +#urc# &48n -nsolvable roblem
of Elementar )umber *#eor6' obtenido a partir de unos fundamentos teóricos de
apariencia mu distinta. El resultado$ no obstante$ es el mismo. 2e #ec#o$ *uringignora el traba!o previo de +#urc# su equipo en rinceton cuando redacta su art%culo
seminal. En él se presenta un marco teórico que #a supuesto desde entonces un
modelo de insuperable sencille( dentro de la e,plicación de la computación.
"a noción de máquina de *uring &el término no aparece$ obviamente$ en su
ensao' se propone como un intento de representar aquello que los seres #umanos
#acemos cuando decimos reali(ar una cierta tarea de forma efectiva. epresenta$ por
tanto$ el análisis de una facultad mental directamente emparentada con nuestra#abilidad para resolver problemas de a#% con nuestra inteligencia en sentido general.
)o obstante$ *uring no pretende por a#ora decir más de lo que dice: sólo se centra en
lo que alguien #ace cuando dice proceder de manera efectiva sobre la e!ecución de
una tarea. Su modelo es$ por tanto$ el de un empleado &uncomputer en el original'
sentado ante su escritorio apoado sobre una #o!a de papel con un lápi( una goma
de borrar. "a situación está an completamente indeterminada a que ignoramos
30
8/17/2019 1.2 El Modelo Estandar
3/22
El modelo estándar
ciertos datos fundamentales como el tipo de operaciones que sobre ese papel puede
e!ecutar este empleado$ o la cantidad de papel de que dispone. Empecemos por
simplificar el segundo aspecto$ con él todo lo que se refiere al soporte material
'ideali(ado$ como es natural' que acompaa a la descripción de una máquina de
*uring. En lugar de imaginar una serie de cuartillas que introducen una comple!idad
innecesaria vamos a pensar$ más bien$ en lo que se denominacinta de cálculo. ;sta
consiste en una cinta ilimitada en ambos sentidos dividida en unidades discretas que
denominamos celdas. Sobre una de estas celdas colocaremos una especie de
puntero que recibe el nombre decabeza lectora. Esta cabe(a lectora simula en un
nico dispositivo la capacidad de nuestro empleado para leer el contenido de cada
celda$ para escribir algo dentro de ésta$ si se encuentra vac%a$ o borrar su contenido$ si
es que tiene alguno. 1? Cinta de cálculo y cabeza lectora de una @áquina de *uring.
Esta serie de disposiciones sitan nuestro modelo en un dominio de creciente
abstracción el cual preserva$ no obstante$ un parecido suficiente con aquello que se
supone que #ace el operario #umano. "a ideali(ación más apreciable es$ sin duda$ la
que se refiere a la e,istencia de una cinta ilimitada en ambas direcciones. Esto no
debe interpretarse como la e,igencia de que esa cinta conste aqu% a#ora de infinitasceldas. "o que se dice es$ en realidad$ algo muc#o más débil $ desde luego$ muc#o
más ra(onable. "a cinta tiene que poderse prolongar siempre que nuestros cálculos lo
precisen. Si continuásemos con el modelo original esto sólo equivaldr%a al compromiso
de suministrar nuevas cuartillas a nuestro operario siempre que lo solicitase.
31
8/17/2019 1.2 El Modelo Estandar
4/22
Lógica y Computabilidad
ABué operaciones puede e!ecutar este operario sobre una cinta de cálculo
como la anteriorC Si #asta a#ora la ideali(ación sólo #a pretendido eliminar factores
que dan un colorido innecesario a la situación$ lo que viene a#ora constitue en todos
los sentidos de la e,presión un genuino análisis. AEn qué m%nimos elementos$ se
pregunta *uring$ es posible dividir el seguimiento aplicación de las instrucciones en
que presumiblemente se estructura una tarea efectivaC Su respuesta es sorprendente
por su sencille(: todo lo que se nos ve #acer cuando decimos seguir una serie de
instrucciones en la e!ecución de un cierto cálculo es apuntar s%mbolos sobre un papel
borrar$ mover o alterar otros que a figuraban al tiempo que nos movemos sobre su
superficie. edu(camos esta colección de acciones a su m%nima e,presión$ Aqué
quedaC En ve( de apuntar cualesquiera s%mbolos sobre un papel$ admitamos sólo el
acto simple de imprimir una marca '4D6' sobre una celda de la cinta de cálculo antes
descrita. En una cinta nunca #abrá más de una marca de estas caracter%sticas$ as% que
el acto de imprimir una de ellas sobre una celda a ocupada de!ará la celda
e,actamente como antes$ esto es$ ocupada por la marca en cuestión. El resto de las
acciones mencionadas$ las de borrar$ mover o alterar s%mbolos escritos se reduce en
este conte,to al acto simple de borrar la marca que podamos encontrarnos sobre una
celda ocupada. *odo lo demás es superfluo. @overse sobre la superficie del papelleendo$ presumiblemente lo que en él #a puede quedar reducido a un par de actos
simples consistentes$ de acuerdo al nuevo conte,to$ en que la cabe(a se desplace una
celda a la derec#a o una celda a la i(quierda.
ero cuando seguimos una colección de instrucciones en la e!ecución de una
tarea efectiva no sólo apuntamos s%mbolos sobre un papel. )uestro operario sabe mu
bien que las instrucciones que en cada caso corresponde aplicar pueden depender en
muc#as ocasiones$ lo normal es que dependan siempre$ del resultado de ciertoscálculos previos. Es decir$ para ver qué instrucción procede tendremos que contar con
los s%mbolos que en cada caso aparecen sobre el papel. En la abstracción en curso
esto supone que la instrucción que sigue en la e!ecución de una rutina dependerá del
contenido de la celda que en ese momento lea la cabe(a lectora. )o puede #aber
además ambigedad en ello. En cada momento #emos de saber qué #acer a
3/
8/17/2019 1.2 El Modelo Estandar
5/22
El modelo estándar
continuación siendo mu conscientes de que en ningn momento se #a producido un
acto de elección que pudiera ser calificado como arbitrario o a(aroso.
"o que #emos #ec#o$ en ello reside la genialidad de *uring$ es repetir$
parafrasear$ lo que entendemos por e!ecutar una tarea de acuerdo con una colección
finita de instrucciones previamente establecidas eliminando todo lo que es accesorio.
E!ecutar una tarea de acuerdo a una colección de instrucciones consiste en escribir
signos sobre un espacio gráfico en el que cada signo está perfectamente identificado$
en borrarlos$ si es preciso$ en tener en cuenta el contenido del papel para
determinar$ sin opción a elección alguna$ qué #acer a continuación. Formalmente
descrito esto lleva a la noción de instrucción$ primero$ a la de programa o máquina$
después.
>/? -na instrucción es un cuádruplo nXYm en el que
i. nm son enteros positivos de los cualesn nunca es 0.
ii. X puede ser 4D6 o 4G6.
iii. Y puede ser 4D6$ 4G6$ 4i6 o 4d6.
>3? -na máquina o programa es una colección finita de instrucciones que
satisface los dos siguientes requisitos:
i. nunca #a dos instrucciones i $ i! compartiendo los dos primeros
elementos de su descripción. 8lternativamente$
∀ii! HnIn! J X I X! → i Ii! K.
ii. #a al menos una instrucción para la quemI0.
A+ómo se lee todo estoC El primer elemento de una instrucción sirve
simplemente para identificarla &parcialmente' dentro de la lista que constitue la
33
8/17/2019 1.2 El Modelo Estandar
6/22
Lógica y Computabilidad
máquina. El requisito introducido en >3.i? !unto con el #ec#o de que el segundo
componente X de una instrucción sólo admita dos posibilidades$ 4D6 o 4G6$ tiene como
consecuencia que en el listado de instrucciones sólo pueden aparecer a lo sumo dos
instrucciones encabe(adas por el mismo numeral.
>? or estado se entenderá la colección formada por a lo sumo las dos
instrucciones que en una máquina presentan el mismo numeral en su
primer s%mbolo.
-n estado puede estar completo$ en cuo caso consta de dos instrucciones$ o
no$ pudiendo entonces estar formado por una o$ incluso$ por ninguna &en el caso l%mite
del 0'.
El segundo de los s%mbolos de una instrucción & X ' representa el contenido que
es posible encontrar en la celda que la cabe(a lectora escruta en un momento dado.
Eso e,plica que sólo pueda corresponder a 4D6 4G6. El tercero de los s%mbolos &Y '
indica lo que la cabe(a lectora #a de #acer en la celda en que se encuentra en funcióndel contenido que ésta pudiera tener. "as acciones posibles son escribir una marca en
la celda$ 4D6$ borrar lo que #ubiere$ 4G6$ despla(arse una celda a la i(quierda$ 4i6$ o
despla(arse una a la derec#a$ 4d6. El cuarto ltimo de los s%mbolos que constituen
una instrucción$ m$ indica el numeral correspondiente al estado que pasará a
e!ecutarse a continuación. Es preciso #acer notar que los s%mbolos 4D6 4G6 no
significan lo mismo si se encuentran en el lugar que corresponde a X en el lugar que
corresponde a Y en una de estas instrucciones$ no obstante$ los empleamos sin
ambigedad posible. Si encontramos 4G6 como segundo componente de unainstrucción$ de lo que se nos informa es de que nos dispongamos a actuar en caso de
que la casilla que se escruta esté en blanco. Si encontramos 4G6 como tercer
componente$ lo que se nos obliga a #acer$ caso de que se cumpla la condición del
componente X $ es borrar la casilla que se escruta$ o lo que es lo mismo$ de!arla en
blanco. "a diferencia recuerda en muc#o a la e,istente entre la funcióndescriptiva de
3
8/17/2019 1.2 El Modelo Estandar
7/22
El modelo estándar
un lengua!e natural la función prescriptiva. "os mismos s%mbolos pueden
interpretarse de uno u otro modo dependiendo del conte,to en que se encuentren.
En cuanto al ltimo s%mbolo de una instrucción$ el numeralm$ #a que aclarar
que nada impide que coincida con el de la instrucción que se e!ecuta en ese momento.
Esto no supone que la máquina entre en un bucle$ a que lo que pasa a e!ecutarse$ o
como se dice #abitualmente$ lo que se activa$ es el estado que corresponde a ese
numeral no la propia instrucción. Esta observación es importante a que indica de
modo bastante claro que la noción fundamental en la descripción arquitectura de una
máquina de *uring es la de estado no la de instrucción. "a posible presencia del
s%mbolo 0 al final de una o varias instrucciones se emplea para ordenar a la máquina
su detención.
+on todo esto en mente$ probemos a interpretar la instrucción 1GD1 que
supondremos activada. "o que esta instrucción ordena #acer es marcar con 4D6 la
celda sobre la que se encuentra la cabe(a lectora si es que se encuentra vac%a$ 4G6$
para activar a continuación el estado 416. 2efinamos a#ora una sencilla máquina cua
operación consistirá en recorrer la cinta de cálculo #asta encontrar la primera celdavac%a a la derec#a de una secuencia ocupada de ellas para volver a continuación a su
posición inicial. Supondremos que la cabe(a lectora se encuentra empla(ada sobre la
primera celda ocupada por la i(quierda:
>L? @áquina de leer #acia la derec#a:
1Dd1
1Gi//Di/
/Gd0
Se trata de una máquina mu sencilla que consta de dos estados$ tres$ si
incluimos el de parada. +on este tipo de máquinas tan sencillas$ Aes posible pensar en
3L
8/17/2019 1.2 El Modelo Estandar
8/22
Lógica y Computabilidad
reproducir o e,plicar la conducta de nuestro operario cuando reali(a tareas$ no a de
cierta comple!idad$ sino con algn sentido para la actividad normal del ser #umanoC
@ientras contemplemos el problema desde la admiración ante las muc#as cosas de
que el ser #umano es capa($ la desconfian(a ante las máquinas de *uring estará
siempre garanti(ada. Si$ por el contrario$ admitimos que estas máquinas sólo suponen
una abstracción matemática de aquello que #acemos cuando nos limitamos a seguir
un con!unto de instrucciones apuntando el resultado sobre un papel$ la distancia no
nos parecerá tanta. 2e #ec#o$ nos parecerá que se trata esencialmente de lo mismo.
ara terminar esta presentación del tópico que nos va a tener entretenidos en
las siguientes sesiones$ introducimos a continuación una notación que simplifica
considerablemente el diseo de máquinas de *uring. 8ntes una advertencia: se sabe
que el uso de este recurso produce adicción.
>M? -n diagrama de flu"o para una máquina de *uring consiste en un gráfico
compuesto a la partir de los elementos siguientes:
i. n
ii.
N:O
*eniendo en cuenta$ además$ lo siguiente:
iii. de cada elemento del tipo i sólo parten a lo sumo dos elementos
del tipo ii$iv. N e O admiten como valores aquellos estipulados para los
componentes N e O de una instrucción$
v. El numeral que aparece en i. corresponde a los estados de una
máquina.
3M
8/17/2019 1.2 El Modelo Estandar
9/22
El modelo estándar
vi. +ada flec#a del tipo ii puede tener como origen cualquier
elemento del tipo i$ salvo el 0 cualquier otro como llegada$
incluendo aquel del que parte.
"a idea de este tipo de diagrama &precursor evidente de los que a#ora se
emplean en computación' es la de representar los estados de una máquina mediante
puntos numerados &i' de los que parten flec#as que conducen a la activación de otros
estados. 8l lado de cada flec#a figura una etiqueta del tipo N:O que debe leerse como
una orden condicional del tipo: 4si se encuentra que el contenido de la celda sobre la
que se encuentra la cabe(a lectora corresponde a N$ entonces e!ecuta O6. 8
continuación se sigue$ simplemente$ el recorrido de la fec#a. Segn eso$
>P? 2iagrama de flu!o de la máquina >L?:
1 D:d
G:i
/ D:i
G:d
0
uede ser interesante terminar con una máquina de sumar mu rudimentaria.Ga!o las convenciones que se imponen a#ora$ esta máquina no sumar%a enteros
positivos$ sino dos secuencias de celdas ocupadas$ pero es fácil ver de que modo se
puede conectar una cosa con la otra. 8ceptaremos que la máquina se encuentra en
estado de reposo con su cabe(a lectora estacionada sobre la primera celda ocupada
por la i(quierda. 2os secuencias distintas se separan por una nica celda vac%a. Si
3P
8/17/2019 1.2 El Modelo Estandar
10/22
Lógica y Computabilidad
encontramos dos celdas vac%as consecutivas$ entenderemos que la cinta se encuentra
vac%a a partir de ese punto.
>Q? @áquina de sumar dos secuencias de celdas.
1 / 3 0
G:D G:i D:G G:d
D:d D:d D:i
"a principal venta!a del modelo ofrecido por las máquinas de *uring es su
fuerte componente intuitivo. +omo a se #a dic#o en varias ocasiones a lo largo deeste curso$ la propuesta de *uring no fue la nica en ese periodo. "as restantes$
asociadas a los conceptos de recursividad al denominado cálculo'λ 'formalismo
ideado por +#urc#'$ parecen partir de descripciones la efectividad ligeramente
distintas. ABuiere eso decir que el concepto de tarea efectiva es esencialmente
ambiguoC *al ve($ pero en cualquier caso$ no es la dependencia de intuiciones
ligeramente distintas lo que priva de vivacidad a los otros modelos de la efectividad. "o
que les #ace carecer de esa especie de valor aadido es el #acer referencia inmediata
a conceptos matemáticos primitivos. *odos ellos parten de considerar nmeros
funciones numéricas como su dominio básico de aplicación de referencia. Esto no es
cierto$ sin embargo$ en el caso de las máquinas de *uring. El resultado de aplicar el
formalismo de las definiciones recursivas$ por e!emplo$ vigentes en esa etapa es visto
siempre como una función numérica de la cual puede decirse que es efectivamente
calculable. Esta situación #ace que tendamos a situar el análisis que la recursividad
3Q
8/17/2019 1.2 El Modelo Estandar
11/22
El modelo estándar
#ace de la efectividad en un dominio matemático aislado o independiente del resto de
las #abilidades cognitivas del ser #umano. +on esto no quiero dar a entender que tal
cosa suceda realmente$ sino que es fácil pensar de esa forma o adoptar ese
planteamiento. En el caso de las máquinas de *uring$ los conceptos primitivos son$
como #emos visto$ an más elementales que los necesarios en el caso la recursividad
'nmero función'. Esto impide ubicarlas en ningn dominio espec%fico de la cognición
#umana$ pero obliga también a reconducir su actividad a dominios concretos
introduciendo convenciones que$ algunas veces$ no son inocentes. A+ómo calcula una
máquina de *uring una función numéricaC
7a al menos tres tipos de requisitos que es preciso tener en cuenta. El
primero se refiere a la presentación de los inputs que #an de tomarse como
argumentos de la función cuos valores se van a calcular. El segundo a los criterios
iniciales el tercero a las condiciones finales ba!o las cuales se puede afirmar que el
contenido de la cinta &output' constitue el valor de la función.
>9? 8. Condiciones sobre los inputs de máquinas de Turing:
i. +ada entero positivo se representa como una secuenciade nR1 celdas ocupadas &en la medida en que sólo #a
un s%mbolo que puede constituir el contenido de una
celda$ basta decir si está ocupada o vac%a'.
ii. "os sucesivos argumentos de la función se representan
como una serie de secuencias de celdas ocupadas
separadas por una celda vac%a.
iii. El principio el final de una secuencia de inputs se
reconoce mediante la ocurrencia de# celdas vac%asconsecutivas$ donde # está previamente fi!ado.
$% Condiciones acerca de la situación inicial de la máquina&
i. "a cinta sobre la que empie(a a operar la máquina una
ve( se activa sólo puede contener el input$ estando por lo
39
8/17/2019 1.2 El Modelo Estandar
12/22
Lógica y Computabilidad
demás completamente vac%a$ esto es$ no #abiendo
ninguna otra celda ocupada en la cinta.
ii. "a cabe(a lectora en el momento de ser activada la
máquina se encuentra estacionada sobre la primera
celda ocupada por la i(quierda del input.
+. Condiciones de parada&
i. "a situación estándar de parada es aquella en la que la
cabe(a lectora se encuentra detenida sobre la primera
celda ocupada por la i(quierda de una secuencia de
celdas ocupadas rodeada a uno otro lado de# celdas
vac%as.
ii. "a máquina #a debe encontrarse en el estado0 de
parada.
+omo se puede ver la lista es larga. )o obstante$ no es mu dif%cil entender la
motivación de cada una de estas restricciones. "a más importante es$ tal ve($ la quee,ige que la cinta de cálculo no contenga datos previos a la #ora de iniciar la e!ecución
de una tarea. Esta e,igencia está destinada a acotar los recursos de que dispone la
máquina a la #ora de iniciar una rutina$ a que de otro modo podr%a contener
información no presente en su descripción obtenida$ tal ve($ por otros medios. Esa
información podr%a ser determinante en la forma de obtener un cierto resultado$ con lo
que la efectividad de ese cómputo quedar%a rodeada de una cierta dosis de
arbitrariedad. "a condición impuesta$ tanto sobre el inicio como sobre la parada$ se
e,plica por la necesidad de garanti(ar una correcta identificación de la información departida de la que constitue el resultado. +onviene advertir de la posible e,istencia
de paradas no'estándar. Estas tienen lugar cuando el estado0 se alcan(a #allándose
la cabe(a lectora empla(ada sobre otra celda que la indicada antes$ o cuando la
máquina se detiene sin alcan(ar el estado0. Esto puede suceder si se activa un
estado &incompleto' el contenido de la celda que se escruta no corresponde al que
se indica en la instrucción &si es incompleto el estado sólo posee una instrucción'
0
8/17/2019 1.2 El Modelo Estandar
13/22
El modelo estándar
correspondiente. "a máquina queda entonces sin poder e!ecutar acción alguna sin
poder dar paso a la activación de otro estado$ con lo cual$ al estar pro#ibido adoptar
decisiones arbitrarias$ la nica opción es detenerse.
2efinir a#ora la función numérica que una de estas maquinas computa es tarea
trivial:
>10? 'unción num(rica definida por una máquina de Turing&
2ada una máquina M definimos la función num(rica que M computa
como aquella función n'ariaϕ cuos valores para cada n'tupla son losque la máquina M arro!a como outputs cuando comien(a a operar sobre
tales inputs ba!o las condiciones de contorno 8$G + de >9?. Si la
máquina se detiene en una parada no'estándar o no se detiene$ la
función ϕ permanece indefinida para ese input.
Es importante saber cómo utili(ar las maquinas de *uring para calcular
funciones numéricas. En primer lugar nos da idea de cómo acotar la acción de este
tipo de ingenios para conseguir que adquieran significado sobre un dominio concreto.
En este caso se trata de los nmeros de las funciones numéricas$ pero también
podr%amos #ablar de cosas mu distintas$ pero esta discusión tiene que esperar. En
segundo lugar$ permite incorporar ciertos recursos disponibles en teor%a elemental de
nmeros en el análisis de su conducta. Este #ec#o conduce a uno de los resultados
más determinantes para el nacimiento de la moderna *eor%a de la +omputación
constitue$ posiblemente$ una de las ideas sin las cuales es imposible e,plicar el curso
de las #istoria. "o veremos en breve.
El formalismo de las máquinas de *uring ofrece una venta!a táctica sobre los
modelos alternativos 'especialmente el de la recursividad' en la que pocas veces se
repara. En la descripción de cada una de estas máquinas se prescinde por completo
de variables de cualquier tipo lo que #ace que su definición no contenga elementos
1
8/17/2019 1.2 El Modelo Estandar
14/22
Lógica y Computabilidad
impl%citos de ningn tipo. Se trata pues de definiciones e,pl%citas completas. Esto
mismo no es por del todo cierto en el caso de la recursividad. Si queremos evitar el
detalle #abremos de de!arlo as%. Esta circunstancia facilita o presenta con maor
inmediate( la demostración de un resultado que parece evidente. @e refiero a la
respuesta a la pregunta Acuántas máquinas de *uring #a$ cómo pueden
identificarseC ara ello empe(aremos por considerar una forma an más compacta de
representar máquinas. Se trata$ en realidad$ de la concatenación de las instrucciones
que componen la tabla con que se define una máquina de *uring. 8unque no es
estrictamente necesario$ introduciré un s%mbolo au,iliar para indicar la separación
entre instrucciones$ sea éste la barra 46. Segn eso$ la máquina de sumar secuencias
definida en la sesión anterior presenta el siguiente aspecto:
>11? )alabra asociada a la máquina de sumar:
- 1Dd11GD//Dd//Gi33DGDiGd0
uesto que cada máquina viene dada por una tabla finita$ la palabra asociada a
una de estas máquinas es también una palabra finita$ una serie finita$ en definitiva$ de
s%mbolos. El vocabulario con el que se forman estas palabras está formado por mu
pocos elementos:
>1/? Tocabulario para palabras HmáquinasK:
T@IUVD$G$d$iW$VW$WX
Se trata de los cuatro s%mbolos empleados para representar las operaciones de
una máquina$ de la barra introducida como separador de los nmeros naturales que
/
8/17/2019 1.2 El Modelo Estandar
15/22
El modelo estándar
sirven para identificar instrucciones. Sumados todos ellos se obtiene un con!unto de
s%mbolos que no e,cede en cardinal al de los propios nmeros naturales. ara mostrar
que este con!unto$ el formado por todos los s%mbolos de T@$ no contiene$ pese a lo que
pueda parecer$ más elementos que los propios naturales basta con definir una función
que a cada elemento de T@ le asigne un nmero natural mediante una
correspondencia 1'1. +reo que estaremos de acuerdo en que dos con!untos tienen el
mismo tamao si tal correspondencia e,iste. "a siguiente vale para la tarea:
>13? Función de enumeración para T@:
i. εHDKI1
ii. εHGKI/
iii. εHdKI3
iv. εHiKI
v. εHKIL
vi. ara cada i∈$ εHiKIiRM
Esta enumeración permite transformar cada palabra asociada a una máquina
en una secuencia finita de enteros positivos. Si)al representa la palabra asociada a
una máquina$ εH)al K puede representar la transcripción numérica de esa palabra. "a
e,istencia de esta transcripción basta sobra para saber que no #a más máquinas
que nmeros naturales$ pero el ra(onamiento no es ni elegante ni$ as% e,puesto$
demasiado til. odemos ir un poco más allá. "a e,istencia de esta transcripciónpuede ser utili(ada para generar un código. -n código es en este caso un nmero
natural asociado a una palabra. Ese código tiene que representar la información
presente en la palabra de tal forma que sea posible recuperarla por completo de
forma un%voca. Esta e,igencia puede parecer e,traa a que parece apuntar a la
e,istencia de una entidad simple$ un nmero$ capa( de contener toda la variedad que
una entidad comple!a posee$ una secuencia de nmeros. Sin embargo$ los códigos
3
8/17/2019 1.2 El Modelo Estandar
16/22
Lógica y Computabilidad
e,isten son$ además$ conocidos de antiguo. Su construcción está asociada lo que en
ocasiones se denomina teorema fundamental de la *ritm(tica% Este resultado
establece que la descomposición de un entero positivo en el producto formado por la
sucesivas potencias de factores primos es nica. Se trata de un procedimiento que
todos #emos practicado de un modo u otro a medida que se nos ensaaban los
elementos más básicos de la teor%a de nmeros. *eniendo esto en cuenta$ la
enumeración ε$ la secuencia εH)al K es fácil definir un código para palabras del
siguiente modo:
>1? Código cod ε +M,:
Sea )al @ la palabra asociada a la tabla que describe la máquina @
sea εH)al @KIU1$/$...nX la secuencia numérica asociada a esa palabra
ba!o la enumeración ε.
cod ε +M,Ip11× p//×...× pnn$ donde p1$p/$...pn es la secuencia formada
por los n primeros nmeros primos.
Espero que no sea mu dif%cil reconocer que el nmero as% obtenido es un
código de @. 8 partir de aqu% el siguiente resultado es inmediato:
>1L? Teorema de enumerabilidad .
i. El con!unto formado por todas las máquinas de *uring es
enumerable.
ii. El con!unto de funciones numéricas computables &por medio de
una máquina de *uring' es enumerable.
8/17/2019 1.2 El Modelo Estandar
17/22
El modelo estándar
Esquema de demostración: 8 partir directamente de la e,istencia de
códigos de la definición de función computable ofrecida en >10?.
+omo di!e l%neas atrás$ la enumerabilidad de la clase formada por todas las
máquinas de *uring con ello la de todas las funciones numéricas computables es
algo que estaba disponible antes a de introducir códigos. Si #e querido llegar #asta
este punto es por otra cosa. "as máquinas de *uring operan$ si aceptamos las
convenciones establecidas en >9?$ sobre enteros positivos. Ellas mismas pueden ser$
como se acaba de ver$ representadas numéricamente de forma un%voca. Si !untamos
las dos ideas el resultado es una interesante #ipótesis: Apodemos concebir sin
contradicción la e,istencia de máquinas que operen sobre códigos de otras máquinas
como si de auténticos nmeros se trataseC "a respuesta es afirmativa con ello
llegamos al comentario de esa idea a la que l%neas atrás me refer% como uno de esos
#itos sin los cuales es imposible entender el desarrollo posterior de una cultura o
civili(ación. Este resultado lo establece$ en la forma en que aqu% se presenta$ el propio
*uring en el art%culo en que desarrolla su interpretación de la computabilidad. Estobasta$ es !usto que as% sea$ para atribuirle la paternidad de esta idea a *uring$ pero
no se trata de algo que de un modo u otro con otras #erramientas no estuviera a en
el ambiente. 2e #ec#o$ uno de los resultados que le #an valido crédito a S. Yleene
como uno de los padres fundadores de la moderna *eor%a de la +omputación puede
ser entendido como un teorema de e,istencia del mismo tipo que el que a#ora
establecemos.
8ntes$ una convención más. 8unque la e,istencia de códigos garanti(a laenumerabilidad de la clase de las máquinas de *uring$ es obvio que no todo entero
positivo tiene por qué ser el código de una máquina: es posible violar las mltiples
convenciones establecidas o$ en general$ la sinta,is impl%cita para el diseo de estas
máquinas. )o obstante$ puede resultar más conveniente para ciertos ra(onamientos
considerar que cualquier entero positivo representa alguna maquina. ara pasar a esta
situación de total uniformidad$ basta connormalizar los códigos anteriores. Esto se
L
8/17/2019 1.2 El Modelo Estandar
18/22
Lógica y Computabilidad
logra mediante un e,perimento mental mu básico que no es preciso e!ecutar en sus
detalles. uesto que es posible invertir el proceso de codificación descomponiendo en
potencias de factores primos cada entero positivo #asta averiguar si es o no el código
de una máquina$ siempre podremos generar una serie en la que los enteros que s% son
códigos aparecen ordenados de menor a maor$ es decir$ siguiendo el orden de los
naturales. 8s%$ es posible perfectamente inteligible #ablar del primer elemento de esa
serie$ del segundo de ellos$ de n'ésimo$ etc. Esta construcción constitue$ de #ec#o$
un mapeo &una aplicación' de los códigos de máquinas sobre los naturales. 8#ora
tomaremos el valor que ese mapeo asigna a cada código como su nuevo nombre
#aciendo as% posible ver en cada entero el código de una máquina. Esta maniobra
permite utili(ar una nueva forma de identificar máquinas funciones:
>1M? i. Si el código normali(ado de @ es i diremos que @ es la maquina @i o
que su -ndice i .
ii. Si χ es la función numérica que @i computa$ diremos que χ tiene
%ndice i o que es la función computableϕi.
8firmar que una función tiene un -ndice es lo mismo$ en definitiva$ que decir
que es una función computable. +on todo esto en mente$ podemos pasar a a
establecer el resultado que fi!a la e,istencia de esas máquinas tan peculiares
conocidas ba!o el nombre genérico de máquinas universales de *uring.
>1P? Teorema de e.istencia de Máquinas /niversales&
E,iste una máquina de *uring -H,$K que responde a la siguiente
definición:
- -H,$1$...nKI@,H1$...nK.
M
8/17/2019 1.2 El Modelo Estandar
19/22
El modelo estándar
Esquema de demostración: Esta máquina opera del siguiente modo:una ve( se suministra la nR1'tupla de enteros positivos que constituen
su input$ toma el primero de ellos como el código de una cierta máquina
de *uring a la cual suministra como input la n'tupla U1$...nX. -na ve(
#ec#o esto @, opera sobre dic#a n'tupla de modo que el valor que
-H,$1$...nK adquiere finalmente es el que @,H1$...nK tiene. 5bsérvese
además que lo nico que es preciso garanti(ar es que las operaciones
empleadas para decodificar el entero que indica la máquina cua
operación #a que reproducir sean e!ecutables en términos demáquinas de *uring$ lo cual$ se cumple de forma obvia.
-na máquina universal$ no tiene por qué #aber una sola$ es capa( por s%
misma de reproducir toda la infinita$ como #emos visto$ enumerable$ variedad de
máquinas e,istentes. Buien dispone de una máquina universal posee$ con eso sólo$
toda la variedad potencia de cálculo que el formalismo diseado por *uring posee.
+omo veremos en breve$ esta idea constitue el fundamento teórico que soporta la
noción de sistema operativo encarnada en la actualidad en todos los ordenadores no
diseados e,clusivamente para una función. *ambién veremos los efectos que esta
capacidad para manipular otras máquinas como si de nmeros se tratase tiene sobre
el alcance de la computabilidad. 8dmitir la e,istencia de máquinas universales es una
idea feli(: revoluciona pro completo la concepción de aquello que es concebible
esperar de un ingenio mecánico$ pero también tiene contrapartidas. Zntroduce dosis
inesperadas de autorreferencia en un dominio matemático presidido por el ideal de
rigor.
Buiero finali(ar #aciendo un breve apreciación sobre el modo en que opera una
máquina universal. Es fácil pensar que una de estas máquinas posee una especie de
libro de códigos que le permite reconstruir el programa de aquella otra cuo código se
suministra. Esto$ obviamente$ es incorrecto. Si as% fuera esa máquina ser%a capa( de
P
8/17/2019 1.2 El Modelo Estandar
20/22
Lógica y Computabilidad
actuar sobre signos que$ como 4G6$ 4i6$ 4d6$ los numerales que figuran en las
instrucciones$ no constan entre lo que puede manipular. -na máquina universal no
#ace realmente eso. Su programa está dotado para leer el código de la máquina a la
que tiene que imitar e interpretar qué valor numérico indica la acción real que debe
e!ecutar. Es as% como procede$ traduciendo &encarnando' en su programa la
correspondencia entre fragmentos &potencias de factores primos' de ese código
acciones reales que ella es capa( de e!ecutar sobre su cinta. ero de esto #abrá que
#ablar largo tendido.
Q
8/17/2019 1.2 El Modelo Estandar
21/22
El modelo estándar
Orientación bibliográfica.
ara introducirnos de nuevo en aquello que nos interesa ver de la *eor%a de la
+omputación se puede consultar la breve presentación que @.
8/17/2019 1.2 El Modelo Estandar
22/22
Lógica y Computabilidad
En [+orrego, 199!" se puede encontrar una buena descripción de la
codificación de máquinas a través de códigos del teorema de enumeración. -n
parágrafo que merece la pena leer a partir de los nuevos datos arro!ados en este
cap%tulo es [#ermes, 19$1"$ secc.L.
*ambién sirve$ aunque es más comple!o detallado$[/leene, 19!)"$ secc.LM.
En un tono más divulgativo tenemos también$ [Penrose, 199"$ cap./.
L0