0% encontró este documento útil (0 votos)
11 vistas6 páginas

Modelos de Computabilidad y Tesis de Church-Turing

El documento explora la tesis de Church-Turing, que establece que todas las funciones computables son calculables por una máquina de Turing, y discute varios modelos de computabilidad, incluyendo funciones recursivas y cálculo lambda. Se presentan definiciones formales y ejemplos de cómo se pueden expresar funciones computables en diferentes modelos. Además, se aborda la relación entre estos modelos y su equivalencia en términos de computabilidad efectiva.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
11 vistas6 páginas

Modelos de Computabilidad y Tesis de Church-Turing

El documento explora la tesis de Church-Turing, que establece que todas las funciones computables son calculables por una máquina de Turing, y discute varios modelos de computabilidad, incluyendo funciones recursivas y cálculo lambda. Se presentan definiciones formales y ejemplos de cómo se pueden expresar funciones computables en diferentes modelos. Además, se aborda la relación entre estos modelos y su equivalencia en términos de computabilidad efectiva.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

T. de Church-Turing Modelos equivalentes a TM T.

de Church-Turing Modelos equivalentes a TM

Definiciones de computabilidad

AUTÓMATAS Y LENGUAJES FORMALES Turing propuso sus máquinas como una definición formal de la noción
OTROS MODELOS DE intuitiva de “calculabilidad efectiva”.
COMPUTABILIDAD Él mismo aplicó su definición a dos problemas: la determinación de qué
es un número computable y la demostración de irresolubilidad del
Entscheidungsproblem.
Francisco Hernández Quiroz
Otros matemáticos contemporáneos propusieron otras formas de
Departamento de Matemáticas definir la calculabilidad efectiva: el cálculo lambda, las gramáticas
Facultad de Ciencias, UNAM formales, etc.
E-mail: fhq@[Link]
Página Web: [Link]/fhq Es posible demostrar que, una vez que se acepta una noción de
equivalencia adecuada, todos estas definiciones son equivalentes, en
Facultad de Ciencias el sentido de que nos permiten calcular la misma clase de funciones.

Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 1 / 23 Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 2 / 23

T. de Church-Turing Modelos equivalentes a TM T. de Church-Turing Modelos equivalentes a TM

Tesis de Church-Turing Computabilidad-Turing


La equivalencia entre modelos de computación llevó a plantear la Para poder comparar los modelos que estudiaremos adoptaremos una
siguiente afirmación: convención similar a la que vimos antes.
Toda función es calculable efectivamente si y sólo si es calculable por Sea M ∈ TM, con Σ y Γ como alfabetos de entrada y de la cinta,
una máquina de Turing. respectivamente. Entonces, podemos definir una función
Esta afirmación es conocida como la tesis de Church-Turing, pues se fM : Σ∗ → Γ∗ como
deriva del trabajo de ambos
{(α, β) | hsM , α, 0i ⇒∗M ht, β, ni}.
Dado que afirma que una noción intuitiva (calculabilidad efectiva) es
capturada por una noción formal, no se puede decir propiamente que Obsérvese que fM no tiene por qué ser total.
está “demostrada”. Por otro lado, diremos que la función σ : Σ∗ → ∆∗ es:
Pero es una hipótesis de trabajo conveniente y los resultados de (a) Turing-computable sii existe una M ∈ TM tal que σ = fM ;
computabilidad vistos en la sección anterior pueden formularse de (b) computable sii existe una M ∈ TM total tal que σ = fM .
manera más general si se acepta la validez de la tesis. Esta convención se puede modificar para que se refiera a números
También es posible reformularla de manera que no se vea como una naturales y no a cadenas. Por ejemplo, podemos pensar en que la
afirmación dogmática, sino como un conjunto de axiomas de los cuales cadena α se refiere al número natural que corresponde al lugar que
se pueden derivar los mismos resultados ocupa α en el orden lexicográfico.
Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 3 / 23 Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 4 / 23
T. de Church-Turing Modelos equivalentes a TM T. de Church-Turing Modelos equivalentes a TM
Fun. recursivas Cálculo Λ Programas M. de registros Fun. recursivas Cálculo Λ Programas M. de registros

Funciones recursivas µ Funciones nuevas I

Las operaciones para crear nuevas funciones son:


Las funciones recursivas-µ son otro modelo de computabilidad. La Composición. Si las funciones
terminología adoptada presupone la tesis de Church-Turing.
Estas funciones son el mínimo conjunto cerrado bajo las operaciones de f : Nk → N
composición, recursión primitiva, minimización acotada y que contiene a las
siguientes funciones básicas (donde x̄ = x1 , . . . , xn ): y
g1 , . . . , gk : Nn → N
Cero. La constante c : N0 → N, con c = 0 es computable.
Sucesor. La función s : N → N, con s(x) = x + 1, es computable. son computables entonces también lo es la función
Proyecciones. Las funciones πkn : Nn → N y πkn (x1 , . . . , xn ) = xk , con f ◦ (g1 , . . . , gk ) : Nn → N,
1 ≤ k ≤ n, son computables.
definida por
f (g1 (x̄), . . . , gk (x̄)).

Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 5 / 23 Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 6 / 23

T. de Church-Turing Modelos equivalentes a TM T. de Church-Turing Modelos equivalentes a TM


Fun. recursivas Cálculo Λ Programas M. de registros Fun. recursivas Cálculo Λ Programas M. de registros

Funciones nuevas II Funciones nuevas III


Minimización no acotada. Sea
Recursión primitiva. Si
g : Nn+1 → N
n
h1 , . . . , hk : N → N
una función computable. Entonces, también es computable la función
y
f : Nn → N,
g1 , . . . , gk : Nn+k+1 → N
son computables, entonces también lo son las funciones definida por

f (x̄) = m donde m es el mínimo valor tal que:


f1 , . . . , fk : Nn+1 → N,
g(x, m) = 0 y ∀n ≤ m . g(x, n) está definida
definidas a continuación = indefinida, en caso de que no exista tal m

fi (0, x̄) = hi (x̄) El valor de f (x̄) se denota con la expresión


fi (s(n), x̄) = gi (n, x̄, f1 (n, x̄), . . . , fk (n, x̄)).
µy . g(y, x̄) = 0.

Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 7 / 23 Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 8 / 23
T. de Church-Turing Modelos equivalentes a TM T. de Church-Turing Modelos equivalentes a TM
Fun. recursivas Cálculo Λ Programas M. de registros Fun. recursivas Cálculo Λ Programas M. de registros

Ejemplos Cálculo lambda I

La función + suele definirse por medio de las siguientes ecuaciones


Las funciones recursivas también son expresables en el cálculo λ.
0+x = x El conjunto de términos del cálculo λ se denotará por Λ.
s(y) + x = s(y + x) La sintaxis del cálculo lambda es al siguiente

En la notación de las funciones µ tendríamos: Λ → V | (λx . Λ) | (ΛΛ)

h = π11 donde V denota una variable: w, x, y, z, w1 , . . .


g = s◦ π33 La regla básica es la reducción β
f (0, x) = π11 (x)
f (s(y), x) = s(π33 (y, x, f (y, x))) ((λx . M)N) →β M[x/N]

Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 9 / 23 Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 10 / 23

T. de Church-Turing Modelos equivalentes a TM T. de Church-Turing Modelos equivalentes a TM


Fun. recursivas Cálculo Λ Programas M. de registros Fun. recursivas Cálculo Λ Programas M. de registros

Funciones recursivas en el cálculo lambda I Funciones recursivas en el cálculo lambda II


Sean M y N ∈ Λ. Entonces: Obviamente, 0̄ y n + 1 definen los números naturales. S y P son las
funciones predecesor y sucesor. V y F son los valores de verdad, Cero es
V ≡def λxy . x una función que nos da V si su argumento es 0̄ y F en caso contrario. πin es,
F ≡def λxy . y por supuesto, la proyección i-ésima con n argumentos. El término Y será útil
más adelante para definir la recursión.
[M, N] ≡def λz . zMN
Supongamos que h : N → N y g1 , . . . , gn : N → N son funciones
0̄ ≡def λx . x definidas por los términos H y G1 , . . . Gn ∈ Λ, respectivamente, la
n + 1 ≡def [F , n̄] composición e(x) = h(g1 (x), . . . , gn (x)) se define con el término E
S ≡def λx . [F , x]
E ≡def λx . H(G1 x) . . . (Gn x).
P ≡def λx . xF
C ≡def λx . 0̄ Supongamos que h : N → N y g : N × N → N son funciones computables
Cero ≡def λx . xV definidas por los términos H, G ∈ Λ. La función recursiva e : N → N
definida a partir de h y g se define por medio del término λ:
πin ≡def λx1 , . . . , xn . xi
Y ≡def λf . (λx . f (xx))(λx . f (xx)) E ≡def Y λf . λx . (Cero x)(Hx)(G(P x)(f (P x)))
Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 11 / 23 Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 12 / 23
T. de Church-Turing Modelos equivalentes a TM T. de Church-Turing Modelos equivalentes a TM
Fun. recursivas Cálculo Λ Programas M. de registros Fun. recursivas Cálculo Λ Programas M. de registros

Funciones recursivas en el cálculo lambda III Lenguaje de programación IMP

Sea g : N × N → N una función computable definida por el término G ∈ Λ. Se trata de un CFL. Empezaremos con las expresiones aritméticas:
La función e : N → N definida por minimización a partir de g es el término
A → n | X | (A + A) | (A − A) | (A × A)
E ≡def λxµ[λy . Cero(Gxy)]
donde n ∈ Z y X ∈ Loc.
Supongamos que ahora queremos definir la función suma del ejemplo Tenemos ahora las expresiones booleanas EB:
anterior en términos de Λ. Entonces:
B → V | F | (A = A) | (A ≤ A) | ¬B | (B ∧ B) | (B ∨ B)
H ≡def λx1 . x1
donde A ∈ EA. Finalmente, los comandos del lenguaje se definen así:
G ≡def λz, x1 , x2 . S((λx1 , x2 , x3 . x3 )zx1 x2 )
SUMA ≡def Y λf . λx, y . (Cero x)(Hy)(G(P x)y(f (P x)y)) C ::= skip | X := A | (C ; C) | (if B then C else C) | (while B do C).

donde A ∈ EA y B ∈ EB.

Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 13 / 23 Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 14 / 23

T. de Church-Turing Modelos equivalentes a TM T. de Church-Turing Modelos equivalentes a TM


Fun. recursivas Cálculo Λ Programas M. de registros Fun. recursivas Cálculo Λ Programas M. de registros

Funciones recursivas y programas while I Funciones recursivas y programas while II

Lo haremos por inducción en la funciones recursivas.


Las funciones µ también son definibles por medio de programas de IMP. Sea
P0 ≡def X0 := 0
n
f :N →N PS ≡def X0 := X1 + 1;
Pπin ≡def X0 := Xi ;
una función recursiva. El objeto es definir un programa P con al menos las
localidades Sean Pf y Pg1 , . . . , Pgk los programas correspondientes a las funciones
f : Nk → N y g1 , . . . , gk : Nn → N. Entonces, el programa correspondiente
X0 , . . . , Xn
a h = f ◦ (g1 , . . . , gk ) es
tal que
[ P]]σ(X0 ) = f (σ(X1 ), . . . , σ(Xn )). Ph ≡def Pg1 ; Y1 := X0 ; . . . Pgk ; Yk := X0 ;
X1 := Y1 ; . . . Xk := Yk ; Pf

Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 15 / 23 Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 16 / 23
T. de Church-Turing Modelos equivalentes a TM T. de Church-Turing Modelos equivalentes a TM
Fun. recursivas Cálculo Λ Programas M. de registros Fun. recursivas Cálculo Λ Programas M. de registros

Funciones recursivas y programas while III Funciones recursivas y programas while IV


Por hipótesis inductiva, suponemos la existencia de dos programas
Veamos ahora un caso restringido para la recursión primitiva. Supongamos
que tenemos las funciones [ Ph ] σ(X0 ) = h(σ(X1 ))
h:N→N [ Pg ] σ(X0 ) = g(σ(Z ), σ(X1 ), σ(X2 ))
y
Entonces Pf es el programa
g : N3 → N
y a partir de ellas definimos la función f : N2 → N: W := Z ; Y1 := X1 ; % Guardamos los argumentos originales de f
Y0 := 0; % Usaremos a Y0 como contador
f (0, x1 ) = h(x1 ) Ph ; % Ejecutamos el programa del caso base
f (s(n), x1 ) = g(n, x1 , f (n, x1 )) while Y0 < W do
Z := Y0 ;
Queremos un programa Pf tal que X1 := Y1 ;
X2 := X0 ;
[ Pf ] σ(X0 ) = f (σ(Z ), σ(X1 )). Pg
Y0 := Y0 + 1
Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 17 / 23 Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 18 / 23

T. de Church-Turing Modelos equivalentes a TM T. de Church-Turing Modelos equivalentes a TM


Fun. recursivas Cálculo Λ Programas M. de registros Fun. recursivas Cálculo Λ Programas M. de registros

Funciones recursivas y programas while V Funciones recursivas y programas while VI


Por ejemplo, si tenemos la función recursiva
y entonces, el programa Psuma tal que
suma(0, x1 ) = x1
[ Psuma ] σ(X0 ) = suma(σ(Z ), σ(X1 ))
suma(s(n), x1 ) = s(suma(n, x1 ))
queda así:
aquí la función base h : N → N se define como la proyección π11 (x1 ) = x1 y
la función g : N3 → N es s ◦ π33 (n, x1 , x2 ) = s(x2 ). Los programas Ph y Pg W := Z ; Y1 := X1 ;
tales que Y0 := 0;
Ph ;
[ Ph ] σ(X0 ) = π11 (σ(X1 )) while Y0 < W do
[ Pg ] σ(X0 ) = s ◦ π33 (σ(Z ), σ(X1 ), σ(X2 )) Z := Y0 ;
X1 := Y1 ;
son: X2 := X0 ;
Pg ;
Ph = X0 := X1
Y0 := Y0 + 1
Pg = X0 := X2 + 1
Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 19 / 23 Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 20 / 23
T. de Church-Turing Modelos equivalentes a TM T. de Church-Turing Modelos equivalentes a TM
Fun. recursivas Cálculo Λ Programas M. de registros Fun. recursivas Cálculo Λ Programas M. de registros

Máquinas de registros I Los registros guardan números naturales y los estados posibles son
Las máquinas de registros ilimitados (URM) son una abstracción del Σ = {σ : Reg → N}
procesador central de una computadora.
La memoria es como la del lenguaje IMP, pero las localidades se llaman Este programa calcula la suma de los números en R1 y R2 . La tabla presenta
registros: el estado de la memoria después de cada instrucción:
Reg = {R1 , R2 . . . } R1 R2 R3
Los programas para URM se basan en unas cuantas instrucciones: 1.1 1 2 0
2.1 2 2 0
Nombre Sintaxis Significado 1 J(2, 3, 5) 3.1 2 2 1
Cero Z (n) Rn := 0 2 S(1) 4.1 2 2 1
Sucesor S(n) Rn := Rn + 1 3 S(3) 1.2 2 2 1
Transferencia T (n, m) Rn := Rm 4 J(1, 1, 1) 2.2 3 2 1
Salto J(n, m, k) si Rn = Rm entonces ve a la 5 3.2 3 2 2
instrucción k-ésima; si no, 4.2 3 2 2
continúa con la siguiente 1.3 3 2 2
5.1 3 2 2
Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 21 / 23 Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 22 / 23

T. de Church-Turing Modelos equivalentes a TM


Fun. recursivas Cálculo Λ Programas M. de registros

Funciones recursivas y URM

Las funciones recursivas µ pueden calcularse por medio de URM de una


manera muy similar a los programas en IMP:
Las funciones cero, sucesor y proyecciones tienen una implementación
muy simple.
Para la composición de funciones hay que adoptar convenciones para
guardar resultados parciales de funciones y presentar parámetros de
manera similar a como se hizo con los programas IMP.
Además, hay que reenumerar las direcciones referidas en la operación
de salto, para evitar interferir en el código de otros programas.
Finalmente, la recursión y la minimalización se manejan como se hizo
con los ciclos while en IMP.

Francisco Hernández Quiroz Teoría de la Computación Otros modelos de computabilidad 23 / 23

También podría gustarte