Ejercicios resueltos. Teoría de la Computabilidad. Tema 3

Documentos relacionados
Ejercicios resueltos. Computación. Tema 3

Capítulo IV: FUNCIONES RECURSIVAS

a partir de otras funciones. Entonces C es la menor clase de funciones que contiene a las funciones básicas y es cerrada por los p. d.

Tema 5: Procedimientos para obtener funciones computables

Tema 5: Programas Universales

Tema 5: Funciones recursivas

Ejercicios resueltos. Computación. Tema 4

Lógica y Computabilidad Capítulo 3

Capítulo V: CONJUNTOS RECURSIVAMENTE ENUMERABLES

Funciones primtivas recursivas y clases PRC (parte I)

Modelos de Computación y Complejidad PRELIMINARES

Lenguaje de programación S (Davis/Sigal/Weyuker) Lógica y Computabilidad. Ejemplo 1. Ejemplo 2

Terminaremos el capítulo con una breve referencia a la teoría de cardinales.

1. Programas y funciones computables

Funciones Recursivas Primitivas

sup si A no es acotado.

sup si A no es acotado.

Clase práctica 8: Funciones Primitivas Recursivas

Espacios conexos. 6.1 Conexos

La estructura de un cuerpo finito.

Espacios completos. 8.1 Sucesiones de Cauchy

diám A = x,y A d(x,y) si A es acotado si A no es acotado. {d(x,y) : x,y A}

Inducción Matemática Conjuntos Funciones. Matemática Discreta. Agustín G. Bonifacio UNSL. Repaso de Inducción, Conjuntos y Funciones

Pregunta 1 Es correcta esta definición? Por qué?

CONJUNTOS Y NÚMEROS. HOJA 2

Pauta 11 : Conjuntos Infinitos

Funciones GOTO computables

Los modelos abstractos de cómputo. Tema 1: Introducción. El modelo transductor. El modelo reconocedor. ordenador. datos. Modelo Abstracto de Cómputo

Recordemos que utilizaremos, como es habitual, la siguiente notación para algunos conjuntos de números que son básicos.

Derivada de la función compuesta. Regla de la cadena

Parte II. Cálculo Diferencial para Funciones de Varias Variables Reales

TOPOLOGÍA SOLUCIONES A LAS RELACIONES DE PROBLEMAS

Preliminares. 1. Notación simbólica. Conjuntos. También se da en el curso de Conjuntos y Numeros.

14/02/2017. TEMA 3: EL CUERPO DE LOS NUMEROS REALES Esp. Prof. Liliana N. Caputo

Conjuntos. Relaciones. Aplicaciones

Conjuntos, aplicaciones y

El Teorema de Fubini-Tonelli

Por ser f continua y R compacto, existen x 0, y 0 en R tales que f(x 0 ) = sup{f(t) : t R} y f(y 0 ) = inf{f(t) : t R}

Departamento de Tecnologías de la Información. Tema 6. Funciones recursivas. Ciencias de la Computación e Inteligencia Artificial

Funciones continuas. Definición y propiedades

1. Funciones Medibles

AMPLIACIÓN DE MATEMÁTICAS

Ejercicios de Teoría de conjuntos

Funciones reales de variable real

ALGEBRA y ALGEBRA LINEAL. Primer Semestre INDUCCION MATEMATICA

Tema 1: Fundamentos.

Integrales múltiples

TEMA 3 Elementos de la teoría de los conjuntos. *

Ejercicios de Álgebra Básica. Curso 2017/18

Álgebra Lineal y Estructuras Matemáticas. J. C. Rosales y P. A. García Sánchez. Departamento de Álgebra, Universidad de Granada

Funciones. f(x) = 1 x 4. x 4. Denición 3. El conjunto Y es llamado el codominio de f. x 4. x 4 = 1 y. 4y + 1 y. y y < 4

Continuidad y Continuidad Uniforme. Aplicaciones lineales continuas.

Espacios compactos. 7.1 Espacios compactos

Integración de Funciones Reales

Es claro que es una relación de equivalencia. Para ver que tener la misma cardinalidad y la cardinalidad están bien definidas queremos ver que

Reconocer y utilizar las propiedades sencillas de la topología métrica.

CARACTERIZACIONES DE LA COMPLETITUD DE R

Continuidad. 5.1 Continuidad en un punto

Conjuntos Infinitos. Ramón Espinoza Armenta AVC APOYO VIRTUAL PARA EL CONOCIMIENTO

Cálculo diferencial e integral 4

Solución Primer Parcial Matemática

Espacios métricos completos

Integrales múltiples

ÁLGEBRA LINEAL I Algunas soluciones a la Práctica 1

El Teorema de Stone-Weierstrass

Estructuras Algebraicas

El Teorema de Fubini-Tonelli

Ejercicios de Álgebra Básica. Curso 2014/15

Espacios vectoriales

PRINCIPIO DE INDUCCIÓN

Intersección y suma de subespacios

Cálculo I. Índice Continuidad. Julio C. Carrillo E. * 1. Introducción Continuidad puntual Continuidad en un intervalo 8

MATEMÁTICAS BÁSICAS. Autoras: Margarita Ospina Pulido Jeanneth Galeano Peñaloza Edición: Rafael Ballestas Rojano

Números naturales y recursividad

Espacios compactos. Se pretenden alcanzar las siguientes competencias específicas:

Tipos De Orden. Gabriel Cachoa Ocampo. Agosto, 2016

La desigualdad de Brunn-Minkowski

Documento 2 : Nuevas funciones a partir de otras

El teorema del valor intermedio

Matemática Discreta. Números, inducción y recursión. Números, inducción y recursión: principio de inducción

Ejercicio 70 : En este ejercicio vamos a caracterizar completamente la expresión

Espacios Conexos Espacio Conexo

Estructuras Algebraicas

Introducción a la topología

Conjuntos. 17 {perro, gato, 17, x 2 }

1. Sucesiones. Sucesiones. Compacidad. {( 1) n, n N} = { 1, 1, 1, 1, 1, 1,... } es una sucesión de elementos del conjunto { 1, 1}, y la familia

EJERCICIOS RESUELTOS. NÚMEROS Y FUNCIONES. CONTINUIDAD Y LÍMITE FUNCIONAL.

Sobre funciones reales de variable real. Composición de funciones. Función inversa

CONJUNTOS. Por ejemplo, el E del ejemplo 2 se escribe.

ÁLGEBRA LINEAL I Algunas soluciones a la Práctica 1

Estructuras algebraicas

DE LOS NÚMEROS NATURALES Y ENTEROS

Lógica Instituto de Computación. 27 de febrero

Principio de inducción y Sumatorias

Cálculo Infinitesimal 1. Cuestiones de examen (2010/2011 a 2015/2016)

Lógica - Conjuntos inductivos

TEMA 1: NÚMEROS NATURALES. SISTEMA DE NUMERACIÓN

Espacios topológicos. 3.1 Espacio topológico

Teoremas de Taylor. Capítulo 7

Transcripción:

Ejercicios resueltos. Teoría de la Computabilidad. Tema 3 Ejercicio.- Sea f : N 3 N y g 1 : N N, g 2 : N 2 N y g 3 : N 3 N. a) En los siguientes casos, expresar f como composición de funciones de la misma aridad. 1. f(x, y, z) = g 1 (z) 2. f(x, y, z) = g 3 (y, z, x) 3. f(x, y, z) = g 2 (g 1 (y), g 3 (x, y, z)) 4. f(x, y, z) = g 1 (z) + g 2 (y, x) b) Suponiendo que g 1, g 2, g 3 son GOT O computable, probar que, en cada caso, también lo es f. SOLUCIÓN: 1. f(x, y, z) = g 1 (z) f(x, y, z) = g 1 ( (3) 3 (x, y, z)) f(x, y, z) = C(g 1 ; (3) 3 )(x, y, z) a) Es decir: f = C(g 1 ; (3) 3 ) b) Y por tanto, f es GOT O computable. 2. f(x, y, z) = g 3 (y, z, x) f(x, y, z) = g 3 ( (3) 2 (x, y, z), (3) 3 (x, y, z), (3) 1 (x, y, z)) f(x, y, z) = C(g 3 ; (3) 2, (3) 3, (3) 1 )(x, y, z) a) Es decir: f = C(g 3 ; (3) 2, (3) 3, (3) 1 ) b) Y por tanto, f es GOT O computable. 3. f(x, y, z) = g 2 (g 1 (y), g 3 (x, y, z)) f(x, y, z) = g 2 (g 1 ( (3) 2 )(x, y, z), g 3(x, y, z)) f(x, y, z) = g 2 (C(g 1 ; (3) 2 )(x, y, z), g 3(x, y, z)) f(x, y, z) = C(g 2 ; C(g 1 ; (3) 2 ), g 3)(x, y, z)) a) Es decir: f = C(g 2 ; C(g 1 ; (3) 2 ), g 3) b) Y por tanto, f es GOT O computable. 4. f(x, y, z) = g 1 (z) + g 2 (y, x) f(x, y, z) = C(+; g 1 ( (3) 3 (x, y, z)), g 2( (3) 2 (x, y, z), (3) 1 (x, y, z))) f(x, y, z) = C(+; C(g 1 ; (3) 3 ), C(g 2; (3) 2, (3) 1 ))(x, y, z) a) Es decir: f = C(+; C(g 1 ; (3) 3 ), C(g 2; (3) 2, (3) 1 )) b) Y por tanto, f es GOT O computable. Ejercicios resueltos. TCO. A. J. Pérez Jiménez.- pág. 1

Ejercicio.- a) Probar que el predicado φ(x) x es un múltiplo de 3 es GOT O computable. b) Diseñar un programa GOTO que al recibir un dato de entrada n devuelva el elemento n ésimo de la sucesión: 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7,... c) La sucesión anterior puede definirse mediante la función: f : N N Probar que: c1) f es sobreyectiva. c2) f es GOT O computable. f(0) = 0 f(x) si x+1 es múltiplo de 3 f(x + 1) = f(x) + 1 e.c.o.c. φ(x) = z x(x = 3z) a).- b).- 1.-Sin macros, salvo GOT O L. 2.-Con macros. 3.- Otro. Contando hacia atrás. Contado hacia adelante [A] IF X 0 GOT O B GOT O E [B] X X 1 IF X 0 GOT O C GOT O E [C] X X 1 X X 1 GOT O A [A] IF Z = X GOT O E IF Z = X GOT O E GOT O A [A] Z 3 Z 3 + 3 [B] IF Z = X GOT O E IF Z = Z 3 GOT O A GOT O B c1).- Inducción débil en la variable y de la fórmula y( xf(x) = y): Caso base: Para y = 0 tomamos x = 0: f(0) = 0 Paso inductivo: y y + 1 : Suponemos que dado y existe x tal que f(x) = y. Si x + 1 es múltiplo de 3: f(x + 1) = f(x) = y y como x + 2 no será múltiplo de 3 resulta que f(x + 2) = f(x + 1) + 1 = f(x) + 1 = y + 1. En este caso, x + 2 será antiimagen de y + 1 Si x + 1 no es múltiplo de 3 f(x + 1) = f(x) + 1 = y + 1 y, en consecuencia, x + 1 será antiimagen de y + 1. c2).- f es total [es fácil probar por inducción que x(f(x) )]. Aplicamos directamente la definición de recursión: f(0) = 0 f(x + 1)) = h(x, f(x)) donde h : N N, definida por casos: t si φ(x + 1) h(x, t) = t + 1 e.c.o.c. es GOT O computable. Es decir, f está definida por recursión a partir de una constante y de la función GOT O computable h. Luego es GOT O computable. Ejercicios resueltos. TCO. A. J. Pérez Jiménez.- pág. 2

Ejercicio.- Dada una función f : N N se define Se pide: ν f (x) = y N : y < x f(y) = 0} 1. Supongamos que f es total y GOT O computable. Diseñar un programa GOT O que calcule ν f, utilizando f como única macro. 2. Probar que si f es GOT O computable, entonces la función ν f también lo es. 1) El siguiente programa calcula ν f : IF X 0 GOT O A GOT O E [A] Z 2 f(z) IF Z 2 0 GOT O B [B] X X 1 IF X 0 GOT O A 2) En efecto, la función ν f puede reescribirse así: 0 si x = 0 ν f (x) = z x 1 sg(f(z)) si x 0 es decir, está definida por casos a partir de funciones GOT O computables (las funciones constantemente cero y la suma acotada de sg f) y predicados complementarios y GOT O computable Por tanto, es GOT O computable. Ejercicios resueltos. TCO. A. J. Pérez Jiménez.- pág. 3

Ejercicio (11/01/03). Consideremos la siguiente función f : N 2 N f(x, 0) = x 2, f(x, 1) = x 3 f(x, y) = 3 f(x, y 1) + 2 f(x, y 2) (y 2) (a) Pruébese, utilizando un programa GOTO, que f es GOTO computable. (b) Pruébese que f es GOT O computable. a) El siguiente programa calcula la función f: Z 1 X 2 1 Z 2 X 3 1 IF X 2 0 GOTO A Y Z 1 GOTO E [A] X 2 X 2 1 IF X 2 0 GOTO B Y Z 2 GOTO E [B] X 2 X 2 1 Y 3Z 2 + 2Z 1 Z 1 Z 2 Z 2 Y IF X 2 0 GOTO B b) Como f es total (puede demostrarse por inducción), definamos la siguiente función G : N N Entonces: G(x, y) = f(x, y), f(x, y + 1) G(x, 0) = x 2, x 3 G(x, y + 1) = r(g(x, y)), 3r(G(x, y)) + 2l(G(x, y)) Por tanto G = R(g, h) es GOT O computable pues g(x) = x 2, x 3 y h(x, z) = r(z), 3r(z) + 2l(z) lo son. Por tanto, como f(x, y) = l(g(x, y)), resulta que f es GOT O computable. Ejercicios resueltos. TCO. A. J. Pérez Jiménez.- pág. 4

Minimización acotada (predicados): Sea θ : N n+1 N un predicado. Definimos: θµ( x, minz y : θ( x, z)} si existe tal mínimo y) = y + 1 e.c.o.c. que también escribiremos: µz y (θ( x, z)) PROPOSICIÓN: Si θ G COMP (n+1) entonces θµ G COMP (n+1) DEMOSTRACIÓN: Consideremos el predicado complementario: θ( x, z) = θ( x, z) Caso 1.- Existe el mínimo (llamémosle y 0 ) θ( x, 0) = z 0θ( x, z) = 1 θ( x, 0) θ( x, 1) = z 1θ( x, z) = 1 θ( x, 0) θ( x, 1) θ( x, 2) = z 2θ( x, z) = 1 suman y 0............ θ( x, 0) θ( x, 1)... θ( x, y 0 1) = θ( x, z) = 1 z y 0 1 θ( x, 0) θ( x, 1)... θ( x, y 0 ) = θ( x, z) = 0 z y 0 θ( x, 0) θ( x, 1)... θ( x, y 0 + 1) = θ( x, z) = 0 z y 0+1......... θ( x, 0) θ( x, 1)... θ( x, y) = z yθ( x, z) = 0 suman 0 θ( x, z) = y 0 t yz t Caso 2.- No existe el mínimo: En ese caso, todos los productos anteriores valdrían 1 y, en consecuencia, θ( x, z) = y + 1 t yz t Por tanto, nuestro predicado se caracteriza así: θµ( x, y) = θ( x, z) t yz t y, por tanto, es GOT O-computable. Ejercicios resueltos. TCO. A. J. Pérez Jiménez.- pág. 5

Ejercicio.- Todo subconjunto finito A N k, k 1, es GOT O computable Desde luego el conjunto vacío, N k, es computable pues su función característica es la constantemente nula C (k) 0. Haremos la demostración ahora para los subconjuntos no vacíos, por inducción débil en el cardinal n de los subconjuntos. Caso Base: n = 1 Sea A = a}. Su función característica: C A ( x) = sg( x 1 a 1 + x 2 a 2 +... + x k a k ) es p.r pues es la composición de la función sg, que es GOT O computable, con la suma de n funciones, que también es GOT O computable Paso de inducción: n n + 1 Sea B un subconjunto de n + 1 elementos, B = b 1,..., b n, b n+1 }. Entonces: B = b 1,..., b n } b n+1 } = A b n+1 } Por hipótesis de inducción, A es GOT O computable y b n+1 } también lo es por constar de un elemento (caso base). En consecuencia, como la unión en los conjuntos GOT O computable es cerrada, B será GOT O computable Conclusión: Todo subconjunto finito es GOT O computable. Ejercicios resueltos. TCO. A. J. Pérez Jiménez.- pág. 6

Ejercicio.- Dar una definición recursiva de la función f(x) =número de dígitos de x -en base 10- y probar que es GOT O computable. Sea g(x) = qt(x, 10) la función que trunca el número x devolviendo las n-1 primeras cifras del mismo. Entonces, la función f puede definirse así: 1 si x 9 f(x) = f(g(x)) + 1 e.o.c. Para probar que es GOT O computable, la reescribimos así: f(0) = 1 f(x + 1) = Formamos la función historia de f: ˆf(0) = 2 ˆf(x + 1) = 1 si x 8 f(g(x + 1)) + 1 e.o.c. Ĉ1 (x + 1) si x 8 ˆf(x) p f(x+1) x+2 e.o.c. que, teniendo en cuenta la definición de f, podemos reescribir: ˆf(0) = 2 ˆf(x + 1) = Y como g(x) < x para x > 1, podemos escribir: Ĉ1 (x + 1) si x 8 ˆf(x) p f(g(x+1))+1 x+2 e.o.c. ˆf(0) = 2 ˆf(x + 1) = Ĉ1 (x + 1) si x 8 ˆf(x) p ( ˆf(x)) g(x+1)+1 +1 x+2 e.o.c. Es decir, ˆf está definida por recursión a partir de una constante y de la función h: que es p. r. Ĉ1 (x + 1) si x 8 h(x, z) = z p (z) g(x+1)+1+1 x+2 e.o.c. En consecuencia, ˆf es GOT O computable y, por tanto, f también lo es. Nota: En la prueba se ha tenido en cuenta que, para todo x 9, g(x + 1) < x. Ejercicios resueltos. TCO. A. J. Pérez Jiménez.- pág. 7

Ejercicio.Sea θ : N N el predicado: θ(x) x se expresa como suma de, al menos, dos números naturales consecutivos a) Probar que θ es un predicado GOT O computable. b) Probar que para todo p 1, θ(2 p ) = 0 c) Probar que θ es un predicado GOT O computable dando un programa que lo calcule. a) θ es un predicado GOT O computable pues se expresa: θ(x) = n x k x (k 1 x = n+(n+1)+(n+2)+ +(n+k)) = n x k x (k 1 x = i k(n+i)) b) Veamos que para todo p 1, θ(2 p ) = 0 En efecto, supongamos que 2 p = n + (n + 1) + (n + 2) + + (n + k), entonces 2 p = (k + 1) n + (n + k) 2 = (k + 1) (2n + k) 2 Caso 1.- (k + 1) impar. en este caso, es necesario que k = 0; así pues, la igualdad sólo se verifica cuando n = 2 p, es decir, cuando n sea una potencia de 2. Por tanto, 2 p no es la suma de, al menos, dos números consecutivos. Caso 1.- (k + 1) par. en este caso, 2n + k es impar, por lo que es necesario que n = 0 y k = 1; así pues, la igualdad sólo se verifica cuando 2 p = 0 + 1. Por tanto, en este caso, ninguna potencia propia de 2 ( 2 p, p 1) es la suma de, al menos, dos números consecutivos. c) Para mayor claridad en la lectura del programa utilizaremos las siguientes letras como variables: S para el valor de la suma; N para el valor inicial de la suma; K para los sucesivos incrementos del valor inicial (o sea, en s = n + (n + 1) +... + (n + k) en cada momento, N = n, S = s y K = k). [A] [B] IF N = X GOT O E IF S > X GOT O C IF S = X GOT O D K K + 1 S S + (S + K) GOT O B [C] K 0 N N + 1 S N GOT O A [D] Ejercicios resueltos. TCO. A. J. Pérez Jiménez.- pág. 8