1.2 el modelo estandar

Upload: andy-guerrero-gallardo

Post on 06-Jul-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 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