estos días he estado estudiando sobre problemas de NP, complejidad computacional y teoría. Creo que finalmente he entendido los conceptos de Turing Machine, pero tengo un par de dudas.¿Cuáles son las consecuencias de decir que una máquina de Turing no determinista puede resolver NP en tiempo polinomial?
puedo aceptar que una máquina de Turing no determinista tiene varias opciones de qué hacer para un estado y un símbolo dado se está leyendo y que siempre va a elegir la mejor opción, según lo declarado por wikipedia
Cómo ¿la NTM "sabe" cuál de estas acciones debería tomar? Hay dos formas de mirarlo. Una es decir que la máquina es la "más afortunada adivinadora "; siempre elige la transición que finalmente lleva a un estado de aceptación, si hay una transición de tal . La otra es imaginar que la máquina "ramifica" en muchas copias , cada una de las cuales sigue una de las posibles transiciones. Mientras que un DTM tiene una sola "ruta de cálculo" que sigue, un NTM tiene un "árbol de cálculo" . Si cualquier rama de el árbol se detiene con una condición de "aceptar" , decimos que la NTM acepta la entrada.
Lo que no puedo entender es que, dado que se trata de una máquina imaginaria, ¿qué ganamos al decir que puede resolver problemas de NP en tiempo polinomial? Quiero decir, también podría teorizar sobre una máquina mágica que resuelve problemas NP en O (1), ¿qué obtengo de eso si es que nunca existe?
Gracias de antemano.
Esa es una vieja idea. Se llama una máquina Oracle. –