Capítulo 8 T⊆R Considere el formato estándar para el computo de la función f(x1, x2): x1 + 1 en ti: x2 + 1 1111 0 111 f(x1, x2) + 1 en tf: 111111 f = +, 3+2=5 En cualquier t: núm. izq. núm. der. ...0001110 111011000... Considere: l como el número binario denotado por núm. izq. r número binario denotado por núm. der. escrito al revés. ie: l = 11102 = 1x23 +1x22 +1x21 +0x20 = 13 r = 1 1 0 1 1 1 = 55 32 16 0 4 2 1 1 Capítulo 8 Multiplicación y División en Base 2 7 14 111 r sh r(x) = 2• x sh l(x) 1110 14 7 1110 e = x/2 111 Considere: cifra menos significativa de l cifra menos significativa de r 111011101 Notación: acción l = núm. izq. en estado t l´ = núm. izq. en estado t’ r = núm. der. en t r’ = núm. der. en t’ paridad l’ r’ l es non (l -1)/2 2r + 1 l es par r es non r es par l’ = l /2 l’ = 2 l + 1 l’= 2 l ejemplo 111011 1111011 7 6 11011 3 13 11011 6 3 10111 3 6 10111 2 7 10011 5 3 10011 r’ = 2r r’ =(r-1)/2 r’ = r/2 2 6 4 3 2 Capítulo 8 Calcular l & r en to: f(x1, x2): x1 + 1 1 1 1 0 x2 + 1 1 1 l x2 + 1 x1 + 1 =0 r=? 1 1 (invirtiendo) 0 1 1 1 ⇒ 25 + 24 + 0 x 23 + 22 + 21 + 20 = 32 + 16 + 0 + 4 + 2 + 1 = 55 parámetros cadenas de 1’s cc r(m,p) • • x1 = 2• x2 = 1• núm. denotado por rep. binaria • 11 0 111 m •55 p s • inducción de s: 1112 = 23 - 1 ⇒ 111...1 = 2m - 1 m sea m = x2 + 1, p = x1 + 1 r = (2m+p+1 - 1) - cero intermedio r = (2m+p+1 - 1) - 2p r = 2p (2m+1 -1) - 1 m = 2 & p = 3: r = 23(22+1 - 1) - 1 = s(x1, x2) = 2x +1(2x +2 - 1) - 1 3 Capítulo 8 Calcular l & r l en tf = 0 r = f(x1, x2) + 1 ie 1’s 11111 cadenas de 1’s núm denotado por rep. bin. 2m-1 f(x,y) lo • 1111 • 15 • 3 r = 2w+1-1 dónde w = t(x, y) considere que: log2(r + 1) = log2(2w+1) w + 1 = log2(r + 1) w = log2(r + 1) - 1 ie: si r = 15 w = f(x, y) = log2(15 + 1) - 1 = 3 Definamos: lo(x) = el w más grande tal que w ≤ x y 2w ≤ x lo(15): w=1 w=2 w=3 w=4 1 ≤ 15 & 21 ≤ 15 2 ≤ 15 & 22 ≤ 15 3 ≤ 15 & 23 ≤ 15 4 ≤ 15 & 24 ≤ 15 lo(15) = 3 4 Capítulo 8 La función lo también puede expresarse como la maximización de d(x, y) definida como sigue: 0 si 2y ≤ x d(x, y) = 1 en cualquier otro caso Mn[d] = el mayor y tal que d(x, y) = 0 d(15,0) = 0 si 20 ≤ 15 d(15,1) = 0 si 21 ≤ 15 d(15,2) = 0 si 22 ≤ 15 d(15,3) = 0 si 23 ≤ 15 d(15,4) = 1 si 24 ≤ 15 Entonces: lo(x) = Mn[d](x) 5 Capítulo 8 ¿QUE ESTAMOS HACIENDO? 1) Representamos todo estado de la máquina de turing que evalua la función f en función de los números l & r. 2) Mostramos los números l, r en el estado inicial to, como función de los parámetros de f. 3) Mostramos los números l, r en el estado final tf y su relación con el valor f(x, y). 4) Falta mostrar que toda transición de la máquina de Turing puede ser caracterizada por una función recursiva. 5) La máquina de Turing evalua la todas las transiciones. composición de 6 Capítulo 8 MODELADO DE TRANSICIONES sean: a = función acción q = función siguiente estado Estados: Q = {1, 2, 3, ... n } Alfabeto: B = 0, Acciones: O = 0, 1=1 1 = 1, L = 2, R=3 Si en estado qi viendo un ‘0’ se ejecuta acción ‘j’ a(i,o) = j ( a(i,1) = j) Si en estado qi viendo un ‘0’ sigue estado k q(i, o) = k ( q(i, 1) = k) En cualquier otro caso: a(x, y) = y (reescribe el símbolo) q(x, y) = 0 (vete a estado ‘0’) Como solo hay un número finito de quádruplos en toda Máquina de Turing, a & q son funciones recursivas que se pueden especificar por casos. 7 Capítulo 8 Ejemplo Función sucesor 1:R 1:L B:1 B:R 1 2 3 a: a(1,0) = 1 a(1,1) = 3 a(2,0) = 3 a(2,1) = 2 a(x, y) = y q1 lee B escribe ‘1’ q1 lee 1 derecha q2 lee B derecha q2 lee 1 izquierda para cualquier otro x, y q: q(1,0) = 2 q(1,1) = 1 q(2,0) = 3 q(2,1) = 2 q(x,y) = 0 cualquier otro y ie. 111 1 111 111 1110 1111 1 1 1 2 1111 1111 1111 01111 01111 01111 2 2 2 2 3 0 q(3, y) = 0 = halt 8 Capítulo 8 f es recursiva si toda transición en la evaluación de es recursiva. Sea 〈 l, q, r〉〉 Probar que t l´, f l = núm. izq. en paso ‘t’ q = estado de M en t r = núm. der. en paso t q’, r’ en t + 1 dependen de l, q, r en f(l, q, r) = (l´, q’, r’) idea: codificar (l ,q, r) como un solo número p tpl = 2 • 3 • S • x y x• y• z• triples codificados z •w Tres funciones inversas triples codificados lft • ctr w• P • • rgt • • • x y z 9 Capítulo 8 lft(w) Es el mayor x, tal que x ≤ w & 2x divide w. (Sin residuo) ctr(w) El mayor x tal que x ≤ w & 3x divide a x. rgt(w) El mayor x tal que x ≤ w & 5x divide a x. Procedimiento para mostrar que f es recursiva: Definimos la sigue: función g de tres argumentos como Si t es un paso de evaluación de M, no mayor al paso en el que M para evaluando f(x1, x2) Entonces: g(x1, x2, t) = tpl(l t, qt, rt) = wt En t = 0 (antes de ejecutar el primer paso) g(x1, x2, 0) = tpl(0, 1, s(x1, x2)) 10 Capítulo 8 tpl(l, c, r) = 〈 l, c, r〉〉 parámetros x1• núm. denotado por notación binaria l• g • • x2• q• r• pasos de M t• • tpl g(x1, x2, 0) = tpl ( 0, 1, s(x1, x2)) 0 e(x) = 1 x par x non g(x1, x2, t + 1 ) : 8 casos (4 acciones x |e(r) | = 2) caso 2: acción Si en t : 1 1 0 1 1 0 c 1 en t+1: 1 1 0 0 1 Entonces: =l q’ = k r’ = r - 1 1 0 & a(c,1) = 0 paridad de r e(r) =1 l´ q(c, 1) = k g(x1, x2, t + 1) = 〈 l, k, r - 1〉〉 si a(c, e(r)) = 0 & e(r) = 0 x - y = x - y si x ≥ 0, o 0 en otro caso 11 Capítulo 8 Caso 1: en t : 1 1 1 0 1 1 c 1 en t+1: 1 1 1 0 1 1 K 1 a(c, e(r)=0 & e(r)=0 escribe ‘0’ g(x1, x2, t + 1) = 〈 l, k, r〉〉 Caso 3: en t : 1 1 0 0 1 1 c 0 a(c, e(r)) = l & e(r) = 0 1 1 0 1 1 1 k 0 escribe ‘1’ g(x1, x2, t + 1) = 〈 l, k, r + 1〉〉 etc.: 12 Capítulo 8 Terminación: g(x1, x2, t + 1) = 〈 l, o , r〉〉 & ctr(g(x1, x2, t + 1)) = 0 Si M para en t + 1: ctr(g(x1, x2, y)) ≠ 0 & y ≤ t M para evaluando f(x1, x2,) si: ctr(g(x1, x2, y + 1)) = 0 Sea h(x1, x2, y ) = ctr(g(x1, x2, y + 1)) M para en t si: Si M para en Mn[h](x1, x2) = t t, r es el núm. der. en t f(x1, x2) = lo(r) = lo(rgt(g(x1, x2, t))). Entonces f(x1, x2) = lo(rgt(g(x1, x2, Mn [h](x1, x2)))) Por lo tanto: f es recursiva y T ⊆R Kleen normal form Mn se usa una sola vez 13