Seixos é um jogo de paciência jogado em um gráfico não direcionado , em que cada vértice tem zero ou mais seixos. Um único movimento de seixo consiste em remover dois seixos de um vértice adicionar um seixo a um vizinho arbitrário de . (Obviamente, o vértice v deve ter pelo menos dois seixos antes da movimentação.) O problema PebbleDestruction pergunta, dado um gráfico e uma contagem de seixos para cada vértice , se existe uma sequência de movimentos de seixos que removem todos, exceto um seixo. Prove que PebbleDestruction está completo com NP.
Primeiro, mostro que está no NP, pois posso verificar a solução em tempo polinomial, rastreando a contagem de seixos de apenas um seixo.
A seguir, quais são algumas idéias sobre quais problemas usar como base para uma redução no tempo polinomial?
Algo como a cobertura de vértice funcionaria? Ou uma cobertura de vértice de tamanhos diferentes?
Se sim, como ele pode lidar com o número variável de pedras em cada movimento?
Obrigado.
De: http://courses.engr.illinois.edu/cs473/sp2011/hw/disc/disc_14.pdf
Respostas:
Suponha que em um gráfico exista uma pedra em cada vértice, exceto uma vértice com , então o problema de pedra acima tem solução em tem um circuito hamiltoniano. É fácil verificar se há um circuito Hamiltoniano, então não é uma solução para pebbling no . Por outro lado, em qualquer solução para o seixo, devemos começar pelo vértice . Suponha que visitemos algum vértice duas vezes, de modo que este seja o primeiro vértice que visitou duas vezes em pelo algoritmo pebbling, então temos um loop que começa em e termina emG v p(v)=2 G iff G G v u u G u u e, finalmente, porque é o primeiro a fazer loop, então temos portanto não podemos continuar com o algoritmo de seixos. De fato, se o algoritmo tem uma solução, então temos que significa que encontramos um circuito hamiltoniano que começa em .u p(u)=1 u=v v
fonte