Pebbling es un juego de solitario jugado en un gráfico no dirigido , donde cada vértice tiene cero o más guijarros. Un solo movimiento consiste en eliminar dos piedras de un vértice y agregar una piedra a un vecino arbitrario de . (Obviamente, el vértice v debe tener al menos dos guijarros antes del movimiento). El problema de PebbleDestruction pregunta, dado un gráfico y un conteo de guijarros para cada vértice , si hay una secuencia de movimientos de roce que eliminan todos los guijarros menos uno. Demuestre que PebbleDestruction es NP-complete.
Primero, demuestro que está en NP ya que puedo verificar la solución en tiempo polinómico, rastreando el recuento de guijarros desde solo un guijarro.
A continuación, ¿cuáles son algunas ideas sobre qué problemas usar como base para una reducción del tiempo polinomial?
¿Funcionaría algo como la cubierta de vértice? ¿O una cubierta de vértice de diferentes tamaños?
Si es así, ¿cómo puede manejar el número variable de piedras en cada movimiento?
Gracias.
De: http://courses.engr.illinois.edu/cs473/sp2011/hw/disc/disc_14.pdf
Respuestas:
Suponga que en un gráfico hay un guijarro en cada vértice, excepto un vértice con , luego el problema de pebling anterior tiene solución en tiene un circuito hamiltoniano. Es fácil comprobar si hay un circuito hamiltoniano, entonces no es una solución para pebbling en . Por otro lado, en cualquier solución al peeling, debemos comenzar desde el vértice . Supongamos que visitamos algún vértice dos veces, de modo que este es el primer vértice que visitó dos veces en mediante el algoritmo de pebbling, luego tenemos un ciclo que comienza desde y termina enG v p(v)=2 G iff G G v u u G u u y finalmente porque es el primero en hacer el ciclo, entonces tenemos por lo que no podemos continuar con el algoritmo de pebbling. De hecho, si el algoritmo tiene una solución, entonces tenemos que significa que encontramos un circuito hamiltoniano que comienza en .u p(u)=1 u=v v
fuente