teoría de la completitud np

Hay cuatro tipos de problemas relacionados con NP: problema P, problema NP, problema NPC y problema difícil NP, que es uno de los principales contenidos de investigación en la teoría de la complejidad computacional.

 

 Primero introduce el siguiente tiempo polinomial :

En la teoría de la complejidad computacional , significa que el tiempo computacional m(n) de un problema no es mayor que un polinomio múltiplo del tamaño del problema n . En términos sencillos, el tiempo polinomial significa que la complejidad del tiempo es un polinomio, o en otras palabras, la función del tiempo de ejecución de este programa a medida que cambia el tamaño de los datos n es f(n), entonces f(n) es una función polinomial , entonces se puede decir que está controlado dentro de un polinomio. Por ejemplo, ahora encuentre el camino más corto entre dos puntos del gráfico de orden n, la complejidad es de nivel n ^ 2 (es decir, O (n ^ 2), O es Europa capital), y n ^ 2 es un polinomio para n (monomio, por supuesto también cuenta), esto se llama complejidad polinomial, o tiempo polinomial, donde el tamaño del problema (algoritmo) es n. Si el tamaño de un algoritmo es n, pero la complejidad es 2^n y no se puede escribir como un polinomio de n, entonces no es tiempo polinomial.

Preguntas tipo P :

Todos los problemas de decisión que pueden resolverse en tiempo polinomial constituyen problemas de clase P. Problema de juicio

Problemas de clase NP:

Todos los problemas de decisión no deterministas con solución polinomial en tiempo constituyen problemas de tipo NP. Algoritmos no deterministas: Los algoritmos no deterministas descomponen el problema en dos etapas de adivinación y verificación. La fase de adivinanza del algoritmo no es determinista, y la fase de verificación del algoritmo es determinista, lo que verifica la exactitud de la solución dada por la fase de adivinanza. Supongamos que el algoritmo A es un algoritmo no determinista para resolver un problema de decisión Q, si la fase de verificación de A se puede completar en tiempo polinomial, entonces A se denomina algoritmo no determinista en tiempo polinomial. Algunos problemas de cálculo son deterministas, como la suma, la resta, la multiplicación y la división. Solo necesita seguir la fórmula para deducirla paso a paso y puede obtener el resultado. Sin embargo, algunos problemas no se pueden calcular directamente paso a paso. Por ejemplo, el problema de encontrar números primos grandes. ¿Hay una fórmula, puede calcular paso a paso con un conjunto de fórmulas, cuál debería ser el próximo número primo? No existe tal fórmula. Para otro ejemplo, para el problema de descomponer un gran número compuesto en factores primos, ¿existe una fórmula que pueda calcularse directamente al sustituir el número compuesto en sus factores? Tampoco existe tal fórmula. La respuesta a este tipo de preguntas no se puede calcular directamente, y el resultado solo se puede obtener a través de "adivinanzas" indirectas. Este es también el problema no determinista. Y estas preguntas generalmente tienen un algoritmo, que no puede decirle directamente cuál es la respuesta, pero puede decirle si cierto resultado posible es la respuesta correcta o incorrecta. Este algoritmo que puede decirle si la respuesta "supuesta" es correcta o no, si se puede calcular en tiempo polinomial, se denomina problema polinomial no determinista.

 Pregunta del PNJ:

​​​​​​​​La complejidad de ciertos problemas en NP NPC contiene los problemas más difíciles de NP. Resuelto este problema de NPC. Todos los problemas NP se pueden resolver.

Los problemas de NPC son bastante amplios e incluyen problemas de diferentes campos, como sistemas operativos (programación y seguridad), sistemas de bases de datos, investigación de operaciones, lógica y especialmente teoría de grafos.

Los problemas de satisfacción, los problemas del círculo hamiltoniano, los problemas del vendedor ambulante y los problemas del camino más largo son todos problemas de NPC. El problema del embalaje de contenedores, el problema de la mochila, el problema de coloreado de gráficos y el problema de la camarilla son problemas conocidos de NPC. Los problemas de NPC son bastante amplios e incluyen problemas de diferentes campos, como sistemas operativos (programación y seguridad), sistemas de bases de datos, investigación de operaciones, lógica y especialmente teoría de grafos.

Problemas difíciles NP:

Problema polinomial difícil no determinista (NPH), si todos los problemas NP se pueden transformar en un determinado problema en tiempo polinomial (reducción, lo que significa que resolver el último también resuelve el primero) en un determinado problema, entonces el problema se llama NP difícil pregunta.

El estatuto aquí significa generalizar un problema especial, es decir, generalizar el problema original a un problema más general, generalizado, más difícil y computacionalmente complejo. Este problema tiene la mayor complejidad computacional. Si este problema más general también puede tener un polinomio algoritmo de solución de tiempo, entonces esos problemas originales especiales también pueden tener un algoritmo de solución de tiempo polinomial.
Resolviendo este problema difícil de NP, se pueden resolver todos los problemas de NP.

       La relación entre las cuatro preguntas anteriores se muestra en la siguiente figura:
Cargando...

    Resumir:

  • El problema P puede garantizar la existencia de un algoritmo de solución en tiempo polinomial, el problema NP no sabe si existe un algoritmo de solución en tiempo polinomial, pero es seguro que existe un algoritmo de verificación en tiempo polinomial.
  •  El problema P es un subconjunto del problema NP, debido a que hay un problema de algoritmo de resolución de tiempo polinomial, debe verificarse en tiempo polinomial.
  •  Los problemas difíciles NP no son necesariamente problemas NP, pueden ser problemas indecidibles. En este momento, muestra que el problema original también es indecidible.
  •  Los problemas NPC son a la vez un subconjunto de problemas NP y un subconjunto de problemas NP duros, por lo que los problemas NPC son la intersección de problemas NP y problemas NP duros.
  •  Tanto el problema difícil NP como el problema NPC requieren que se puedan reducir a otro problema en tiempo polinomial. El significado del estatuto aquí es generalizar un problema especial, es decir, generalizar el problema original a un problema más general, generalizado, más difícil y computacionalmente complejo. Este problema tiene la mayor complejidad computacional. Si este problema más general también puede tienen un algoritmo de solución de tiempo polinomial, entonces esos problemas originales especiales también pueden tener un algoritmo de solución de tiempo polinomial.
  •  Asumiendo que la conjetura NP = P no es verdadera, entonces la relación relativa de complejidad computacional es (de menor a mayor): P <N P< NP C<NP hard .
  •  suponer 

Supongo que te gusta

Origin blog.csdn.net/weixin_43537097/article/details/127938685
Recomendado
Clasificación