Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SESIÓN XIII
- Partamos del contexto de Hilbert
- Los problemas en computación y en
lenguajes
.
De los problemas de Hilbert
Los problemas de Hilbert
Los problemas de Hilbert
Los problemas de Hilbert
Algunos de
estos problemas
han sido
resueltos, otros
solo de forma
parcial, otros sin
resolverse
Un sistema formal o sistema
lógico es un sistema abstracto
compuesto por un lenguaje
Sistema formal
formal, axiomas, reglas de
inferencia y a veces una
semántica formal
Consistencia
Decidibilidad
Completitud Componentes de los sistemas
formales desde las matemáticas
Compacidad
Lo anterior desde la matemática, ahora desde
la computación
Problemas y lenguajes
Un problema se describe con un lenguaje
• El anti-virus:
Dado p un programa y x una entrada ¿Ejecutar p con entrada x “infectará” a
este ordenador y/o a otros? Infectar= causar destrucción de información y/o
que algunas aplicaciones no funcionen como deben y/o colapsar el ordenador
Juguemos un ratico
• Dado un conjunto finito de baldosas, con un color en cada lado
• ¿puede embaldosarse con ellos el plano, de forma que los lados contiguos
tengan el mismo color? (Se pueden hacer tantas copias como se quiera, no
se pueden girar ni invertir) SI –> Todos los casos de prueba
- Cuál es la dimensión del plano? 5X5 | 8X8
- Cuántas baldosas por nivel?
- Si lo programamos ¿qué evaluamos? → Seudocódigo
Juguemos un ratico
• Dado un conjunto finito de baldosas, con un color en cada lado
Exploremos la creatividad
https://www.youtube.com/watch?v=RRg38oNQ9vk&a
b_channel=Veritasiumenespa%C3%B1ol
Clasificación de los problemas
http://www.exa.unicen.edu.ar/catedras/ccomp1/ClaseComputabilidad.pdf
Los Problemas de Decisión se clasifican en
• DECIDIBLES: existe un ALGORITMO que para TODA INSTANCIA del
problema devuelve la RESPUESTA correcta.
• INDECIDIBLES: existe un PROCEDIMIENTO que sólo da RESPUESTA
para ALGUNAS INSTANCIAS del problema.
https://webs.ucm.es/info/pslogica/automatas.pdf
El problema de la parada - Halting problem
Este problema tiene una respuesta negativa por lo que se trata de un
problema indecidible.
Esta respuesta se conoce gracias a los resultados obtenidos en la Lógica
Clásica:
- Gödel (1931) Cualquier sistema formal cuyo lenguaje sea lo
suficientemente rico para describir las operaciones y las relaciones
básicas de la aritmética elemental es incompleto.
- La aritmética de Peano, formalizada con la Lógica de primer orden con
identidad (símbolos funcionales) y con axiomas específicos es
incompleto.
- Church (1936) La lógica de Primer Orden es indecidible.
Algunas propuestas para explicar el porqué es indecible el
problema de la parada – Al parecer con una contradicción
Supóngase la función:
f(n) = 1 si T(n) para con entrada n
f(n) = 0 si T(n) no se para con entrada n
• Aplicando esta función, con algunos cambios se podría construir una máquina de Turing
T'(n) que funcionara de esta manera:
Consecuencias de programación
Algunos bucles infinitos pueden ser muy útiles. Por ejemplo, bucles de
eventos son típicamente codificados como bucles infinitos. Sin embargo, la
mayoría de las subrutinas están destinados a terminar (alto). En particular, en
el duro tiempo real , los programadores intentan escribir subrutinas que no
sólo están garantizados para terminar (alto), sino que también están
garantizados para terminar antes de un plazo determinado.
Errores comunes
La dificultad en el problema de la parada
se encuentra en el requisito de que el
procedimiento de decisión debe trabajar
para todos los programas e insumos.
Un programa en particular o bien se
detiene en una entrada dada o no se
detiene.
Considere un algoritmo que siempre
responde "paradas" y otro que siempre
responde "no se detiene". Para cualquier
programa específico y de entrada, uno de
estos dos algoritmos responde
correctamente, a pesar de que nadie
puede saber cuál. Sin embargo, ni el
algoritmo resuelve el problema de la
parada general.
Bienvenida la reducibilidad
https://es.wikipedia.org/wiki/Problemas_de_Hilbert