Duda de Computación.

Buenas a todos, a ver si alguno sabeis resolverme esta duda.

Quisiera saber si sería resoluble algorítmicamente (hay un programa que lo calcula) el siguiente problema de decisión.

Dada una función f, determinar si es una función total de N en N.


¿Sería lo mismo que decir: Dado un programa P que calcula f, determinar que la computación de ese programa SIEMPRE acaba, para cualquier dato de entrada?

Si fuese que sí ya tendría la demostración de que no existe ningún programa que lo calcula, si fuese que no tendría que ver como enfocarlo...
Buf, yo dí "Modelos de computación" hace ya bastante, pero me suena que no es que tú dices, porque se supone que una función total es aquella que está definida para todas sus posibles entradas, pero si esa función es computable, sólo tendrías que ejecutarla para todos los valores de N (suponiendo que N sea un conjunto finito y no te estés refiriendo a los naturales), y comprobar que para cada uno de ellos, el resultado está también en N...


No sé, creo que no te he respondido, perdona, pero es que ya lo dí y lo olvidé...XD


Edito: Releyéndolo, no sólo deberías comprobar que acabe, sino que además tienes que comprobar que el conjunto de salida y el de entradas sea el mismo. Por ejemplo

f(x)= x+0.5 es total (creo), pero no va de N en N si son los naturales.
Gracias, creo que he resuelto el problema ya aunque no estoy muy seguro.

Adjunto imagen con el problema y mi solución, aunque no se muy bien si he razonado correctamente.



Imagen
2 respuestas