Puedo responder parcialmente a su pregunta: contar los óptimos locales de un problema de búsqueda completa de PLS puede ser realmente # P-difícil.
Primero, como señala Yoshio, hay un problema de búsqueda en PLS cuyo problema de conteo asociado es # P-completo. ( Sin embargo, no sabemos si es PLS completo). Sea un problema de PLS completo. Luego defina que, en la entrada para , solicita un óptimo local para la entrada con respecto a . Este problema hereda la membresía PLS de , hereda la integridad de PLS de , y para el problema de conteo hereda la integridad de # P de .P1P1P2P′(x,i)i∈{1,2}xPiP1,P2P2P1
Del mismo modo, se puede construir un problema (artificial) de PLS completo para el cual es NP completo para decidir si hay más de un óptimo local. Como en el argumento anterior, uno "engrapa" un problema de PLS completo como antes, con un problema de PLS que, al ingresar una fórmula booleana , tiene más de un óptimo local asociado iff es satisfactoria.P1P2ψψ
Este tipo de construcciones son algo insatisfactorias porque estamos tratando de construir un problema de búsqueda que tenga dos propiedades de dureza, pero el dominio de "se divide" en dos partes, cada una de las cuales puede tener solo una de las dos propiedades. A continuación, mostraré cómo, dado un problema de búsqueda en PLS cuyo problema de conteo asociado es # P-complete, y dado un problema de PLS-complete , se puede definir un problema de PLS que es tan difícil como contar tanto para como para busque de manera "instancia por instancia".QQP1P2QP1P2
Es decir, exhibiremos tal manera que resolver el problema de conteo para en la entrada reduce de manera eficiente a resolver el problema de conteo para en la entrada , y el problema de búsqueda para en la entrada reduce al problema de búsqueda de en la entrada .QP1xQxP2xQx
Para simplificar la presentación, suponemos que son tales que en cualquier entrada de longitud , el espacio de solución candidato asociado con está sobre las cadenas de bits de longitud para alguna (pero con diferentes estructuras vecinas para ). Deje ser la función de aptitud asociada con .P1,P2xnxynccP1,P2Fi(x,y)Pi
En la entrada , el espacio de búsqueda para está sobre tuplas donde cada está en , y . Como la función de aptitud para , definimosx∈{0,1}nQ(y1,y2,z,b)yi{0,1}ncz∈{0,1}nc+1b∈{0,1}F(x,(y1,y2,z,b))Q
F(x,(y1,y2,z,b)):=F1(x,y1)+F2(x,y2) si , b=1
F(x,(y1,y2,z,b)):=||y1||+||z||+F2(x,y2) si .b=0
(Eso es el peso de Hamming arriba).
Para la estructura de vecindad de , conectamos cada tupla (con ) a todas las tuplas tal queQ(x,(y1,y2,z,1))b=1(x,((y′)1,(y′)2,z′,1))
(A) está conectado a acuerdo con para , Y(x,yi)(x,(y′)i)Pii=1,2
(B) difieren en como máximo 1 coordenada.z,z′
Para tuplas con , conectamos a todas las tuplas tal queb=0(x,(y1,y2,z,0))(x,((y′)1,(y′)2,z′,0))
(A ') está conectado a acuerdo con , Y(x,y2)(x,(y′)2)P2
(B ') difieren en como máximo 1 coordenada, al igual que .z,z′y1,(y′)1
(Tenga en cuenta que las tuplas con están desconectadas de las que tienen ).b=0b=1
Esa es la definición de . Los barrios son de tamaño polinómico según sea necesario, por lo que está en PLS. QQ
Reclamación: Los valores óptimos locales para la longitud entrada acuerdo con son exactamente los siguientes dos conjuntos disjuntos:nxQ
(1) todas las tuplas , donde es un óptimo local de para cada uno de (y es arbitrario y ); y,(x,(y1,y2,z,1))(x,yi)Pii=1,2zb=1
(2) todas las tuplas , donde es un óptimo local de , y donde son ambos todos-1 y .(x,1nc,y2,1n,0))(x,y2)P2z,y1b=0
Si está de acuerdo, entonces la dureza PLS de es inmediata, ya que cualquier óptimo local de para la entrada da un óptimo local de (para la misma entrada ), y es PLS-hard.Q(x,(y1,y2,z,b))Qx(x,y2)P2xP2
Además, de nuestro reclamo se deduce que el número de óptimos locales para bajo es igual a , donde es el número de óptimos locales para bajo . Ahora está en el rango , entonces tenemosN(x)xQ(2nc+1N1(x)+1)⋅N2(x)Ni(x)xPiN2(x)[1,2nc]
N2(x)=N2(x) mod mod mod .2nc+1=(2nc+1N1(x)+1)⋅N2(x)2nc+1=N(x)2nc+1
Entonces podemos obtener dado . Entonces también podemos obtener , por álgebra simple:
. Como es # P-completo para calcular, también lo es . Por lo tanto, es # P-complete contar óptimos locales para (y contar para reduce a contar para en la misma instancia). N2(x)N(x)N1(x)N1(x)=(N(x)N2(x)−1)/2nc+1N1(x)N(x)QP1Q
No sé cómo ofrecer una reducción para combinar la dureza PLS con la dureza NP para decidir la unicidad de los óptimos locales de una manera "instancia por instancia".
En cuanto a si cada problema de búsqueda completa de PLS produce un problema de conteo # P-completo, tampoco lo sé. Se parece relacionado con la cuestión de si, para cada problema NP-completo decisión de L y cada polytime verificador de , el problema testigo de recuento asociado es # P-completo. # La integridad de P se cumple en todos los casos específicos que las personas han considerado, y en algunas condiciones razonablemente leves, pero en general está abierto. Ver esta discusión .V(x,y)L
Para un problema específico y más natural sabe que es PLS completo, uno podría establecer la integridad de # P para contar los óptimos locales al dar una reducción de PLS de decir Matching to que tiene algunas propiedades especiales apropiadas para contar. Quizás las técnicas existentes son suficientes; No he tratado de averiguarlo.QQ