Problema seixos

10

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.GvvG=(V;E)p(v)v

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

TT
fonte
11
É simples mostrar que o problema está no NP? O número de movimentos não pode ser exponencial no tamanho da entrada?
Vinicius dos Santos
@ViniciusSantos, o número de movimentos não pode ser maior que o número de seixos (que também faz parte da entrada).
11
Mas podemos assumir que o número de pedras é binário, certo? Nesse caso, o tamanho da entrada é logarítmico no número de seixos. Ainda acho que existe um pequeno certificado para o problema, mas, até onde eu entendi, a lista de movimentos não é uma.
Vinicius dos Santos
@ViniciusdosSantos, pode ser que você não tenha notado que o gráfico inteiro é uma entrada, por outro lado, o número de pedrinhas de cada vértice (p (v)) deve ser delimitado pelo tamanho do gráfico, caso contrário, verificando se uma sequência de movimentos é válido ou não precisa de exponencial. E acho correto supor que o número de pedras em cada vértice seja no máximo n.
Concordo que, se o número de pedras em cada vértice for polinomialmente limitado pelo tamanho do gráfico, é trivial em NP. Mas acho que essa suposição não é necessária, embora sem ela a prova fique mais difícil.
Vinicius dos Santos

Respostas:

8

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 emGvp(v)=2G iff GGvuuGuue, 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 .up(u)=1u=vv


fonte