T E O R Í A D E A U T Ó M A T A S F r a n c i s c o Y L E N G U A J E S J . F O R M A L E S V i c o d e p a r t a m e n t o L e n g u a j e s y C i e n c i a s d e l a C o m p u t a c i ó n á r e a d e c o n o c i m i e n t o C i e n c i a s d e l a C o m p u t a c i ó n I n t e l i g e n c i a A r t i f i c i a l e E T S I I n f o r m á t i c a U n i v e r s i d a d d e M á l a g a f j v i c o @ u m a . e s g e b . u m a . e s / f j v 3 0 / J u n i o / 2 0 1 4 ( t o d o e l d e m a t e r i a l e n c u a d r a d o e n u n r e c t á n g u l o h a s i d o e x t r a í d o o t r a s f u e n t e s , q u e s e r e f e r e n c i a n a c o n t i n u a c i ó n ) Vico, F. (2014) Teoría de lenguajes formales y de la calculabilidad. OCW­Universidad de Málaga. http://ocw.uma.es. Bajo Licencia Creative Commons Attribution­NonCommercial­ ShareAlike 3.0 Spain 1 Teoría de la Calculabilidad Modelos de cálculo Funciones recursivas 22. Demostrar que es recursivamente generable el conjunto de los naturales pares. 23. Dada la función recursiva < π11 | < θ | π12 > (π33 ) > a. ¿qué aridad tiene? La aridad es dos, ya que la función del caso base tiene un argumento. b. obtén detalladamente el resultado calculado para algún valor de los argumentos < π11 | < θ | π12 > (π33 ) > (1, 1) = < θ | π12 > (π33 ) (1, 0, < π11 | < θ | π12 > (π33 ) > (1, 0)) = < θ | π12 > (π33 ) (1, 0, π11 (1)) = < θ | π12 > (π33 ) (1, 0, 1) = < θ | π12 > ( π33 (1, 0, 1)) = < θ | π12 > (1) = π12 (0, < θ | π12 > (0)) = π12 (0, θ ()) = 0 c. ¿qué función matemática representa?, ¿es una función total o parcial? resta de dos naturales y es total, por estar definida a partir de composición y recursión primitiva d. ¿de qué predicado es función característica?, ¿es decidible o enumerable? el predicado Mayor(n, m) ≡ ser m mayor que n, se define a partir de la función anterior, y es decidible, pues la función pertenece a TREC. e. ¿qué conjunto define dicho predicado?, ¿es decidible o enumerable? define al conjunto decidible de los pares de natures donde el primer componente es mayor que el segundo 24. Demostrar que el conjunto { (n, m) ∈ ℕ2 | n ≠ m } es recursivamente decidible. es el conjunto de valores de verdad del predicado definido a partir de la función TREC suma(resta,resta( π22 , π12 )) 25. Razona cómo es el predicado definido a partir de la función WHILE­calculable (2, 2, X2:₌X2+1; while X1≠0 do X1:₌X1­1;X2:₌X2­1 od; X1:₌X2) es el predicado Mayorigual(n, m) ≡ ser m mayor o igual que n Vico, F. (2014) Teoría de lenguajes formales y de la calculabilidad. OCW­Universidad de Málaga. http://ocw.uma.es. Bajo Licencia Creative Commons Attribution­NonCommercial­ ShareAlike 3.0 Spain 12 Tesis de Church y Universalidad 26. Demostrar que la función F(1,2,X2:₌X1+1;X1:₌X2­1) es recursiva. El programa (1, 2, X2:₌X1+1; X1:₌X2­1) implementa la función identidad, que es recursiva, pues π11 ∈ INI. 27. Demostrar que la función F(1,1,X1:₌X1­1) es recursiva. F(1,1,X1:₌X1­1)= < θ | π12 > ∈ REC. 28. Dada la función μ[ < θ | π12 > ], ¿qué programa resulta de aplicar la demostración del teorema de equivalencia?, ¿qué función matemática representa esta función recursiva? Q ( ) while G( X2 ) ≠ 0 do X2 :₌ X2 + 1 od ; X1 :₌ X2 G (X1) X2 :₌ θ ( ) ; do X1 times X2 :₌ π12 ( X3 , X2) ; X3 :₌ X3 + 1 od ; X1 :₌ X2 Es la función constante cero de cero argumentos. 29. Proponer una indexación del conjunto: F = { f : ℕ3 → ℕ | f (x, y, z) = x p + y q + z r con p, q, r ∈ ℕ } h: ℕ → F 1 (i) σ3,1 h(i)(x, y, z) = x + y 1 (i) σ3,2 + z 1 (i) σ3,3 30. Calcular el valor de codi ( while X1≠0 do X1:₌X1­1 od ). codi ( while X1≠0 do X1:₌X1­1 od ) = 5∙ σ12 (1­1, Codi ( X1:₌X1­1 )) + 4 = 5∙ σ12 (0, god(codi ( X1:₌X1­1 )­1)) + 4 = 5∙ σ12 (0, god(5∙ σ12 (1­1,1­1) + 3)­1) + 4 = 5∙ σ12 (0, god(5∙ σ12 (0,0) + 3)­1) + 4 = Vico, F. (2014) Teoría de lenguajes formales y de la calculabilidad. OCW­Universidad de Málaga. http://ocw.uma.es. Bajo Licencia Creative Commons Attribution­NonCommercial­ ShareAlike 3.0 Spain 13 5∙ σ12 (0, god(5∙0 + 3)­1) + 4 = 5∙ σ12 (0, god(3)­1) + 4 = 5∙ σ12 (0, σ12 (0,3)+1­1) + 4 = 5∙ σ12 (0, σ12 (0,3)) + 4 = 5∙ σ12 (0, 9) + 4 = 5∙54+4 = 274 31. Calcular los valores de FDECODI(0)() y U[REC0](0). El resultado de DECODI(0) es (0,1,X1:₌0), por lo que el valor calculado es 0. El mismo valor es calculado por U[REC0](0), que es la función universal para el conjunto de funciones recursivas de cero argumentos. 32. ¿Cuántos programas de P1 tienen bucles en su código? Lógicamente, ninguno, ya que sólo contienen una instrucción y, de ser bucle, su cuerpo estaría vacío, lo que no está permitido en un programa WHILE. Vico, F. (2014) Teoría de lenguajes formales y de la calculabilidad. OCW­Universidad de Málaga. http://ocw.uma.es. Bajo Licencia Creative Commons Attribution­NonCommercial­ ShareAlike 3.0 Spain 14