Wikipedia proporciona ejemplos de problemas donde la versión de conteo es difícil, mientras que la versión de decisión es fácil. Algunos de estos están contando combinaciones perfectas, contando el número de soluciones para -SAT y el número de clasificaciones topológicas.
¿Hay otras clases importantes (por ejemplo, ejemplos en celosías, árboles, teoría de números, etc.)? ¿Hay un compendio de tales problemas?
Hay muchos tipos de problemas en que tienen versiones de recuento duro
¿Existe una versión de un problema natural en que se entienda más completamente o sea más simple que la coincidencia perfecta bipartita general (incluya detalles sobre por qué es más simple, como estar probablemente en las clases más bajas de la jerarquía etc.) en alguna otra área (como la teoría de números, celosías) o al menos para gráficos bipartitos simples particulares, cuya versión de conteo es -duro?
Se apreciarán ejemplos de celosías, politopos, recuento de puntos, teoría de números .
Respuestas:
Aquí hay un excelente ejemplo (puedo estar sesgado).
Dado un conjunto parcialmente ordenado:
a) ¿tiene una extensión lineal (es decir, un orden total compatible con el orden parcial)? Trivial: Todos los posets tienen al menos una extensión lineal
b) ¿Cuántos tiene? # P-complete para determinar esto (Brightwell y Winkler, Counting Linear Extensions , Order, 1991)
c) ¿Podemos generarlos todos rápidamente? Sí, en tiempo amortizado constante (Pruesse y Ruskey, Generando Extensiones Lineales Rápidas , SIAM J Comp 1994)
fuente
Un ejemplo interesante de la teoría de números es expresar un número entero positivo como una suma de cuatro cuadrados. Esto se puede hacer de manera relativamente fácil en tiempo polinómico aleatorio (vea mi artículo de 1986 con Rabin en https://dx.doi.org/10.1002%2Fcpa.3160390713 ), y si recuerdo correctamente, ahora hay incluso un tiempo polinomial determinista solución. Pero contar el número de tales representaciones le permitiría calcular la función de suma de divisores , que es un tiempo polinómico aleatorio equivalente a factorizar n . Entonces, el problema de contar es probablemente difícil.σ(n) n
fuente
Un ejemplo muy agradable y simple de Graph Theory es contar el número de circuitos Eularian en un gráfico no dirigido.
La versión de decisión es fácil (... y el problema de los Siete Puentes de Königsberg no tiene solución :-)
La versión para contar es # P-hard: Graham R. Brightwell, Peter Winkler: Counting Eulerian Circuits es # P-Complete . ALENEX / ANALCO 2005: 259-262
fuente
Con respecto a su segunda pregunta, los problemas como Monotone-2-SAT (decidir la satisfacción de una fórmula CNF que tenga como máximo 2 literales positivos por cláusula) es completamente trivial (solo debe verificar si su fórmula está vacía o no) pero El problema de contar es # P-hard. Incluso aproximar el número de asignaciones satisfactorias de dicha fórmula es difícil (ver Sobre la dureza del razonamiento aproximado, Dan Roth, Inteligencia Artificial, 1996).
fuente
De [Kayal, CCC 2009] : evaluación explícita de polinomios aniquiladores en algún momento
Del resumen: `` Este es el único problema computacional natural donde la determinación de la existencia de un objeto (el polinomio aniquilador en nuestro caso) se puede hacer de manera eficiente, pero el cálculo real del objeto es demostrablemente difícil ''.
ANNIHILATING-EVAL es -hard. Además, el polinomio aniquilador no tiene una representación de circuito pequeño a menos que colapse. A ( t 1 , . . . , T k ) P H#P A(t1,...,tk) PH
fuente