Pebbling - это пасьянс, в который играют на неориентированном графе , где каждая вершина имеет ноль или более камешков. Один шаг гальки состоит из удаления двух камешков из вершины и добавления одного камешка к произвольному соседу . (Очевидно, что у вершины v должно быть как минимум два камешка перед перемещением.) Задача PebbleDestruction спрашивает, учитывая граф и число камешков для каждой вершины , существует ли последовательность движется галечник, который удаляет все, кроме одного камешка. Докажите, что PebbleDestruction является NP-полным.
Во-первых, я показываю, что это в NP, так как я могу проверить решение за полиномиальное время, отслеживая количество гальки только из одной гальки.
Далее, каковы некоторые идеи о том, какие проблемы использовать в качестве основы для сокращения полиномиального времени?
Будет ли работать что-то вроде покрытия вершины? Или вершинная оболочка разных размеров?
Если да, то как он может справиться с различным количеством камешков на каждом ходу?
Благодарю вас.
От: http://courses.engr.illinois.edu/cs473/sp2011/hw/disc/disc_14.pdf
Ответы:
Предположим, что в графе есть одна галька на каждой вершине, кроме одной вершины v с p ( v ) = 2 , тогда вышеупомянутая проблема гальки имеет решение на G i f f G имеет гамильтонову цепь. Это легко проверить, есть ли гамильтонов цикл, то есть решение для pebbling на G . С другой стороны, в любом решении гальки мы должны начинать с вершины v . Предположим, что мы дважды посещаем некоторую вершину u , так что эта u является первой вершиной, которая дважды посетила в Gг v p ( v ) = 2 G я F е г г v U U г U U U p ( u ) = 1 ты = v v
источник