Problema di ghiaia


10

Pebbling è un gioco di solitario giocato su un grafico non orientato , in cui ogni vertice ha zero o più ciottoli. Una singola mossa di ciottoli consiste nel rimuovere due ciottoli da un vertice e aggiungere un ciottolo a un vicino arbitrario di . (Ovviamente, il vertice v deve avere almeno due ciottoli prima dello spostamento.) Il problema PebbleDestruction chiede, dato un grafico e un conteggio dei ciottoli per ciascun vertice , se esiste una sequenza di mosse di ciottoli che rimuovono tutti tranne un ciottolo. Dimostra che PebbleDestruction è NP-completo.v v G = ( V ; E ) p ( v ) vGvvG=(V;E)p(v)v

In primo luogo, mostro che è in NP poiché posso verificare la soluzione in tempo polinomiale, risalendo al conteggio dei ciottoli da un solo ciottolo.

Successivamente, quali sono alcune idee su quali problemi utilizzare come base per una riduzione del tempo polinomiale?

Funzionerebbe qualcosa come la copertina del vertice? O una copertina vertice di diverse dimensioni?

In tal caso, come può gestire il numero variabile di ciottoli su ogni mossa?

Grazie.

Da: http://courses.engr.illinois.edu/cs473/sp2011/hw/disc/disc_14.pdf


1
È così semplice dimostrare che il problema è in NP? Il numero di mosse non può essere esponenziale sulla dimensione di input?
Vinicius dos Santos

@ViniciusSantos, il numero di mosse non può essere maggiore del numero di ciottoli (che fa anche parte dell'input).

1
Ma possiamo presumere che il numero di ciottoli sia in binario, giusto? In questo caso, la dimensione dell'input è logaritmica sul numero di ciottoli. Penso ancora che ci sia un breve certificato per il problema, ma, per quanto ho capito, l'elenco delle mosse non è uno.
Vinicius dos Santos

@ViniciusdosSantos, Forse non hai notato che l'intero grafico è come input, d'altra parte il numero di ciottoli per ciascun vertice (p (v)) dovrebbe essere limitato dalla dimensione del grafico, altrimenti verificando se una sequenza di mosse è valido o non necessita esponenziale. E penso che sia corretto supporre che il numero di ciottoli su ciascun vertice sia al massimo n.

Concordo sul fatto che se il numero di ciottoli su ciascun vertice è delimitato polinomialmente dalla dimensione del grafico di quanto non sia banalmente in NP. Ma penso che questa ipotesi non sia necessaria, anche se senza di essa la prova diventa più dura.
Vinicius dos Santos,

Risposte:


8

Supponiamo che in un grafico vi sia un ciottolo su ciascun vertice tranne un vertice v con p ( v ) = 2 , quindi il problema di pebbling sopra ha soluzione su G i f f G ha un circuito hamiltoniano. È facile verificare se v'è un circuito hamiltoniano, allora c'è una soluzione per zigrinatura sulla G . D'altra parte, in qualsiasi soluzione al ciottolo, dovremmo iniziare dal vertice v . Supponiamo che visitiamo qualche vertice u due volte in modo tale che questo u è il primo vertice che ha visitato due volte in GGvp(v)=2G iff GGvuuGuuup(u)=1u=vv

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.