Quiero saber si el siguiente problema es decidible y cómo averiguarlo. Cada problema que veo puedo decir "sí" o "no", ¿entonces la mayoría de los problemas y algoritmos son decidibles, excepto algunos (que se proporcionan aquí )?
Entrada: Un gráfico dirigido y finito , con y como vértices Pregunta: ¿Existe una ruta en con como vértice inicial y como vértice final?
Respuestas:
Cualquier problema que requiera solo examinar una cantidad finita de datos es decidible, porque existe un algoritmo que consiste en enumerar todas las posibles soluciones. Puede ser ridículamente lento, pero eso no es relevante: si hay un algoritmo, es decidible.
El problema que declara supone un gráfico finito, que sugiere que es decidible. Estrictamente hablando, necesitas mirar un poco más allá. El problema es una propiedad en las rutas en el gráfico, y a veces hay un número infinito de rutas, cuando el gráfico contiene un ciclo (puede recorrer este ciclo tantas veces como desee). Sin embargo, es fácil convertir el problema en un problema finito: si hay alguna ruta que comience con y termine con que incluya un ciclo, entonces puede cortar todos los ciclos en esa ruta, y tiene una nueva solución que hace No incluye un ciclo. Dado que hay un número finito de caminos que no involucran un ciclo (si el gráfico tiene bordes, ¡hay como máximotu v k k ! rutas que no usan el mismo borde más de una vez), el problema de encontrar una ruta de a es finitario, por lo tanto, decidible.tu v
Por cierto, esta propiedad se llama conectividad .
Este enfoque es común, llamado reducción . Dado un problema que no es sencillo, lo redujimos a un problema que sabíamos resolver.
A menudo es difícil demostrar que un problema es indecidible. Para demostrar que un problema es decidible, todo lo que tenemos que hacer es exhibir un algoritmo que lo decida. Para demostrar que un problema es indecidible, debemos demostrar que no puede existir ningún algoritmo. Hay algunos problemas indecidibles bien conocidos. En la práctica, la mayoría de las veces, cuando demostramos que un problema es indecidible, mostramos que hay un problema indecidible bien conocido que se reduce a nuestro problema. Dado que un algoritmo para nuestro problema resolvería el conocido problema indecidible, nuestro problema también debe ser indecidible.
Realmente no se puede decir que "la mayoría" de los problemas son decidibles o que "la mayoría" de los problemas son indecidibles. En cierto sentido teórico, casi todos los problemas son indecidibles, pero tenemos una fuerte tendencia a abordar problemas "interesantes", y es más probable que tengan una solución.
fuente
El problema es trivialmente decidible, como señaló Gilles en un comentario. En cuanto a su otra pregunta ...
No En realidad, la mayoría de los problemas son indecidibles. De hecho, hay innumerables problemas (idiomas), pero solo hay muchas máquinas de Turing que pueden contarse, lo que significa que hay muchos problemas decidibles que pueden contarse.
fuente
Sí, esto es decidible, porque puedes hacer una búsqueda exhaustiva de todas las rutas posibles. No es necesario mirar ningún camino que repita un vértice, ya que se puede omitir el "desvío". Pero la longitud de cualquier ruta no repetitiva está limitada por el tamaño del gráfico, que es finito, por lo que solo hay muchas rutas de este tipo, que pueden verificarse una por una.
fuente
No hay ningún método que le indique si un problema específico es decidible o no. Con el tiempo, puede obtener un buen presentimiento si un problema específico es o no decidible.
Lo que suelo hacer es lo siguiente:
Casi siempre, cuando intente hacer el paso (1) para un problema indecidible, necesitará que su programa verifique un número infinito de cosas. Esto suele ser una señal de que el problema no es decidible.
fuente