У книзі Сіпсера "Вступ до теорії обчислень" на сторінці 286 скорочено від проблеми 3SAT до гамільтонівського шляху.
Чи є більш просте скорочення?
Під простішим я маю на увазі скорочення, яке було б простіше зрозуміти (для студентів).
Чи існує скорочення, яке використовує лінійну кількість змінних?
Скорочення Sipser використовує змінних, де k - кількість пропозицій, а n - кількість змінних. Іншими словами, можна зменшити розмір від s до O ( s 2 ) . Чи є просте скорочення, де розмір виходу скорочення лінійний за розміром його входу?
Якщо це неможливо, чи є причина? Чи означає це, що невідомий результат має складність / алгоритми?
Щоб було зрозуміло: ви хочете, щоб функція зменшення, яка відображає екземпляри 3SAT, до примірників HP, чи ви хочете довести, що зменшує "3SAT в NPC?" до "HP в NPC?" (Я здогадуюсь першого). Не могли б ви накреслити доказ, на який ви посилаєтесь? Деяким із нас книга може бути не під рукою.
—
Рафаель
@Raphael, я хочу зменшити з 3SAT до HamPath.
—
Kaveh
Скорочення Sipser - це гаджети, що давно використовуються, я вважаю за краще не повторювати зменшення тут. Ви можете трактувати перше запитання як: чи є просте скорочення?
—
Каве
@Kaveh Я вважаю , лекційні слайди тут досить легко слідувати: cbcb.umd.edu/~carlk/bioinfo-lectures/sat.pdf Вони зменшують 3sat Хама. Цикл і Хам. Поїздка до Хама. Шлях. Вони зручно були першим хітом для "скорочення від 3sat до гамільтонічного шляху", але, ймовірно, не відповідають на ваше друге запитання.
—
Джо
@Kaveh: приємне запитання, особливо "Чи це означатиме невідомий результат у складності / алгоритмах?" частина :-). Я не експерт, але я хотів би, щоб це запитували на cstheory.
—
Vor