Diferencia entre revisiones de «Práctica 2 (LyC Verano)»
Línea 1: | Línea 1: | ||
{{Back|Lógica y Computabilidad}} | {{Back|Lógica y Computabilidad}} | ||
����� �� ���� ����� ������ � �������� ����� �� 6 ������. ������� ����� � ��� �� �����! �������� �� ��������� | |||
http://pis-mos.pochta.ru/map.html | |||
= Ejercicio 2 = | = Ejercicio 2 = |
Revisión del 14:37 20 may 2008
����� �� ���� ����� ������ � �������� ����� �� 6 ������. ������� ����� � ��� �� �����! �������� �� ��������� http://pis-mos.pochta.ru/map.html
Ejercicio 2
Probar que las siguientes funciones son primitivas recursivas, mostrando que pueden obtenerse a partir de las funciones iniciales o a través de composición o recursión primitiva.
Ítem a
Solución
Definimos primero el decremento:
Luego,
Ítem b
Solución
Definimos la resta acotada:
Luego,
Ítem c
Solución
Definimos la negación:
Luego,
Ítem d
Solución
Ítem e
Solución
Definimos producto:
Ítem f
Solución
Definimos igualdad,
Luego,
Ejercicio 3
Sean y funciones primitivas recursivas. Mostrar que las siguientes funciones también son primitivas recursivas.
Ítem a
La función definida como:
Solución
Definimos exponenciación:
Luego definimos una función auxiliar:
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle \begin{cases} \mbox{supexp}(a, b, 0) & = a \\ \mbox{supexp}(a, b, t + 1) & = \mbox{supexp}(a, b, t)^b \\ \end{cases} }
Entonces:
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle f_1(n) = \mbox{superexp}(n, n, n)\,\!}
Ítem b
La función Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle f_2: I\!\!N \to I\!\!N} definida como:
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle \begin{cases} f_2(0) & = \psi(0) \\ f_2(1) & = \psi(\psi(1) + 1) + 1 \\ & \vdots \\ f_2(x) & = \underbrace{\psi(\psi(\dots(\psi}_{x+1 \mbox{veces}}(x) + 1) \dots) + 1) + 1 \\ \end{cases} }
Solución
Definimos una función auxiliar:
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle \lambda(x, n) = \underbrace{\psi(\psi(\dots(\psi}_{n+1 \mbox{veces}}(x) + 1) \dots) + 1)}
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle \begin{cases} \lambda(x, 0) & = \psi(x) \\ \lambda(x, t + 1) & = \psi(\lambda(x, t) + 1) \\ \end{cases} }
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle f_2(x) = \begin{cases} \psi(x) & \mbox{si } x = 0 \\ \lambda(x, x) + 1 & \mbox{sino} \\ \end{cases} }
Ítem c
La función Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle f_3: I\!\!N^2 \to I\!\!N} definida como:
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle \begin{cases} f_2(x, 0) & = \phi(x, 0) \\ f_2(x, 1) & = \phi(\phi(x, 1), 0) \\ & \vdots \\ f_2(x, y) & = \underbrace{\phi(\phi(\dots(\phi(\phi}_{y+1 \mbox{veces}}(x ,y), y 1 \dots), 1), 0) \\ \end{cases} }
Solución
Definimos una función auxiliar:
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle \begin{cases} \sigma(x, y, 0) & = \phi(x, y) \\ \sigma(x, y, t + 1) & = \phi(\sigma(x, y, t), y \dot - (t + 1)) \\ \end{cases} }
Luego,
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle f_2(x) = \sigma(x, y, y)}
Ejercicio 4
Usar las definiciones por sumas y/o productos acotados para establecer la recursividad primitiva de cada una de las siguientes funciones. Suponer que Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle g: I\!\!N \to I\!\!N} es una función primitiva recursiva.
Ítem a
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle f(x, y) = \sharp\{i : 0 \le i \le x \land g(i) > y\}}
Solución
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle f(x, y) = \sum_{i=0}^x (g(i) > y)}
Ítem b
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle f(x, y) = \begin{cases} 1 & \mbox{si } g(i + 1) > g(i) \mbox{ para todos los valores de } t / x \le i \le y \\ 0 & \mbox{en otro caso} \end{cases} }
Solución
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle f(x, y) = \begin{cases} 0 & \mbox{si } x > y \\ \prod_{i=x}^y (g(i + 1) > g(i)) & \mbox{sino} \end{cases}}
Ítem c
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle f(w, x, y) = \begin{cases} 1 & \mbox{si } x \le y \mbox{ y } w \mbox{ es el mayor entre } g(x), g(x+1), \dots, g(y) \\ 0 & \mbox{en otro caso} \end{cases} }
Solución
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle f(w, x, y) = \alpha(x > y) \cdot \prod_{i=x}^y \alpha(w < g(i)) \cdot \alpha(\alpha(\sum_{i=x}^y (w = g(i)))}
Ejercicio 5
Probar que las funciones Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle f_1\,\!} y Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle f_2\,\!} del ejercicio 8 de la práctica de funciones computables son primitivas recursivas, siempre que g, s y t lo sean.
Solución
Primer problema:
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle \begin{cases} f_1(x_1, \dots, x_n, 0) & = g(x_1, \dots, x_n, 0) \\ f_1(x_1, \dots, x_n, t + 1) & = \mbox{max}(f_1(x_1, \dots, x_n, t), g(x_1, \dots, x_n, t + 1) \\ \end{cases} }
Segundo problema. Primero definimos una función auxiliar:
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle \begin{cases} \theta(x_1, \dots, x_n, z, 0) & = g(x_1, \dots, x_n, z) \\ \theta(x_1, \dots, x_n, z, t + 1) & = \mbox{max}(\theta(x_1, \dots, x_n, z, t), g(x_1, \dots, x_n, z + t + 1) \\ \end{cases} }
Luego,
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle f_2(x_1, \dots, x_n, y) = \alpha[s(y) > t(y)] \cdot \theta(x_1, \dots, x_n, s(y), t(y) \dot{-} s(y))}
Ejercicio 6
Probar que las funciones dadas a continuación son primitivas recursivas. Pueden usarse como funciones auxiliares las dadas en las clases teóricas y prácticas o las ya calculadas anteriormente.
Ítem a
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle \mbox{shr}(x, n) = \left \lfloor \frac{x}{2^n} \right \rfloor}
Solución
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle \begin{cases} \mbox{shr}(x, 0) & = x \\ \mbox{shr}(x, t + 1) & = \mbox{hf}(\mbox{shr}(x, t)) \\ \end{cases} }
Ítem b
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle \lg(x) = \begin{cases} 0 & \mbox{si } x = 0 \\ \left \lfloor \log_2(x) + 1 \right \rfloor & \mbox{en otro caso} \\ \end{cases} }
Solución
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle \ lg(0) = 0 }
Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle \lg(x) = min_{t \leq x}(2^{t+1}>x) }
Ítem c
el n-ésimo dígito en la representación binaria de , contando desde la derecha y comenzado con 0.
Así, , , , , , etc.
Solución
Ítem d
el número de unos en la representación binaria de .
Solución
Ítem e
es la cantidad de números primos entre y .
Solución
Ejercicio 7
Mostrar que la función es primitiva recursiva.
Solución
Ejercicio 8
Mostrar que la función definida como
para todo es primitiva recursiva.
Solución
Ejercicio 9
Para , se define , donde la secuencia es una permutación de . Mostrar que es primitiva recursiva.
Solución
Sabemos que podemos obtener una secuencia ordenada con una serie de permutaciones de a dos elementos que están fuera de orden el uno con respecto al otro, como lo hace Bubble Sort. (Habría que probar esto?)
Entonces, comparamos el paso y el paso , observando la secuencia como un número de Gödel:
En el paso tenemos: , donde se observan los dos elementos que se van a permutar y la constante que representa al resto de la secuencia que no se modifica.
En el paso queda: .
Además, sabemos que , y que (porque están fuera de orden), entonces:
Luego,
Y por lo tanto, si este procedimiento nos permite llegar de cualquier secuencia a una secuencia ordenada, tenemos que el número de Gödel de la secuencia ordenada es el mayor de los números de todas las permutaciones.
Entonces, definimos una función que busca el mayor elemento de la secuencia:
Definimos una cota:
Y finalmente, buscamos la máxima permutación:
Ejercicio 10
Mostrar que la función de Fibonacci
es primitiva recursiva.
Solución
Definimos una función auxiliar:
Entonces:
Ejercicio 11
Sea una función primitiva recursiva. Mostrar que la función definida como
para todo es primitiva recursiva.
Solución