ПОЛІ КЛІК - NP Повна проблема


20

Дозвольте розпочати, зазначивши, що це проблема домашнього завдання. Будь ласка, надайте лише поради та відповідні спостереження, НЕ Прямих відповідей, будь ласка . З урахуванням сказаного, ось проблема, на яку я дивлюся:

Нехай HALF-CLIQUE = { | - це непрямий графік, що має повний підграф з принаймні вузлами, де n - кількість вузлів у }. Покажіть, що HALF-CLIQUE не завершено NP.G п / 2 GGGn/2G

Також мені відомо наступне:

  • З точки зору цієї проблеми кліка визначається як непрямий підграф вхідного графіка, де кожен два вузли з'єднані ребром. -clique є клікою , який містить вузлів.kk
  • Відповідно до нашого підручника Майкла Сіпсера " Вступ до теорії обчислень ", стор. 268, що проблема CLIQUE = { | - непрямий графік, при якому -clique} знаходиться в NPG доG,kGk
  • Крім того, згідно з тим же джерелом (на стор. 283) зазначається, що CLIQUE знаходиться в NP-Complpete (таким чином, очевидно, і в NP).

Я думаю, що у мене є ядро ​​відповіді, однак я міг би використати вказівку на те, що з цим не так, або будь-які пов’язані з цим моменти, які можуть відповідати відповіді . Це загальна ідея, яку я маю поки що,

Гаразд, спершу зазначу, що сертифікат буде просто HALF-QLIQUE . Тепер видається, що мені потрібно було б створити перевірку, яка є скороченням полінома від CLIQUE (який, як ми знаємо, NP-Complete) до HALF-CLIQUE. Моя ідея полягає у тому, щоб це було зроблено шляхом створення машини Тьюрінга, яка запускає верифікатор машини Тьюрінга в книзі для CLIQUE з додатковим обмеженням для HALF-CLIQUE.sizen/2

Мені це звучить правильно, але я ще не дуже довіряю собі цю тему. Ще раз хотілося б нагадати всім, що це ДОМАШНЯ ЗАДАЧА, тому будь ласка, намагайтеся уникати відповіді на питання. Будь-які вказівки, які цього не відповідають, були б дуже раді!

Відповіді:


15

Судячи з Вашого опису та коментарів, Вам може допомогти найкращий точний опис того, як скорочення можна використовувати для доведення NP-повноти:

Проблема полягає в повному NP, якщо вона є в NP, і це NP-важко. Це означає, що будь-який доказ повноти NP має дві частини: доказ того, що проблема полягає в NP, і доказ того, що він є важким NP.

У першій частині ви повинні показати, що YES-екземпляри можуть бути перевірені в поліноміальний час, використовуючи якийсь відповідний сертифікат. Як варіант, ви можете показати, що проблема може бути вирішена в поліноміальний час не детермінованою машиною Тюрінга, але це зазвичай не робиться, оскільки помилки легко робляться.

У вашому випадку це зводиться до доведення, що для кожного графа з -клікою ви можете знайти певні докази того, що дійсно є така кліка, така що, озброївшись таким доказом, ви можете перевірити в поліноміальний час, що дійсно є така кліка.n/2

У другій частині ви повинні показати, що проблема є важкою для NP. Це майже у всіх випадках показано, підтвердивши, що ваша проблема є настільки ж важкою, як і деякі інші важкі проблеми, пов'язані з NP. Якщо HALF-CLIQUE є настільки ж важким, як CLIQUE, він також повинен бути жорстким.

Ви робите це, доводячи зменшення від КЛІКУ, ДО ПОЛУ-КЛІКУ. Ви "зменшуєте" проблему, роблячи її "легшою". Ви кажете: "Розв’язувати CLIQUE важко, але я довів, що для вирішення CLIQUE вам потрібно вирішувати лише HALF-CLIQUE". (багато людей, навіть експерти, періодично кажуть, що це неправильно :))

Існують різні типи скорочень: скорочення, яке найчастіше використовується, - це те, де ви позначаєте екземпляри в цьому випадку CLIQUE на екземпляри HALF-CLIQUE, розмір яких у більшості поліноміально більший, у поліноміальний час. Це означає, що якщо ми можемо вирішити HALF-CLIQUE, то ми також можемо вирішити CLIQUE за допомогою ланцюга алгоритму та скорочення.

Іншими словами, ми повинні показати, що ми можемо розв’язати CLIQUE, якщо зможемо вирішити HALF-CLIQUE. Ми робимо це, показуючи, що для кожного примірника CLIQUE ми можемо спроектувати екземпляр HALF-CLIQUE таким чином, що екземпляр CLIQUE є "так", якщо екземпляр HALF-CLIQUE є "так".

Отже, доказ починається так: даючи графік , я можу створити деякий графік такий, що містить -clique iff містить -clique. Я залишу цю частину вам (це та частина, яка вимагає творчості, та частина, яка стосується конкретної проблеми, що знаходиться під рукою).H = ( V , E ) G k H n / 2G=(V,E)H=(V,E)GkHn/2


Чудово налаштований, я думаю, що ви зробили дуже гарну роботу з надання достатньої кількості інформації, щоб керуватись, не надаючи відповіді та роблячи це красномовно. Дякую.
BrotherJack

1
Щось подібне слід поставити у вікі тегів np-Complete для подальшої довідки. Ви б заперечили?
Рафаель

8

Ви, здається, трохи загублені. Ви хочете показати, що HALF-CLIQUE CLIQUE, а це означає, що ви шукаєте полі-часовий алгоритм, який приймає екземпляри CLIQUE як вхід і виводить екземпляри HALF-CLIQUE з властивістю, яке "так" вводить карту на "так" es та "no" входи відображають на "ні".

Отже, в основному, завдання полягає в тому, щоб взяти графік і число і вивести новий графік (а не число), щоб мав кліку принаймні на половині своїх вершин, коли має кліку розміром . k H H G kGkHHGk

Наведений нижче спойлер містить підказку, як виконати це зменшення:

Спробуйте зробити , приєднавши (певним чином) кліку відповідного розміру до , а також деяку кількість вершин, не пов’язаних ні з чим.ГHG


Я не розумію, що ти кажеш. Що я намагався зробити, це зменшити HALF-CLIQUE до CLIQUE, змінивши модифікатор, який використовується в книзі, щоб довести, що CLIQUE був NP, чи запустився він на вхідному графіку G, і якщо він знайшов CLIQUE, щоб перевірити, чи вказаний CLIQUE міститься принаймні n / 2 вузлів, де n - кількість вузлів у G. Чи не такий верифікатор HALF-CLIQUE не показує, що верифікатор CLIQUE є зменшеною його формою (як у підзадачі розв'язання HALF-CLIQUE )?
BrotherJack

Або ви говорите про те, що я маю це назад і мені потрібно довести, що CLIQUE потрібно звести до ПОЛІ-КЛІКУ? Я також повністю не отримую твій спойлер. Чи є спосіб пояснити це, не віддаючи відповіді?
BrotherJack

3
Так, щоб показати, що проблема не є повною, необхідно (а) показати, що вона є в NP, і (b) зменшити якусь відому проблему, пов'язану з NP . Щоб пам’ятати правильний напрямок скорочення, справа полягає у використанні нової проблеми як «чорної скриньки» для ефективного вирішення відомої проблеми NP-C.
Луї

Гаразд, я думаю, зараз розумію. Спасибі за вашу допомогу!
BrotherJack

+1 Я думаю, що я це зрозумів. Ваш натяк був дуже повчальним, коли я зрозумів, що я роблю не так. Знову дякую!
BrotherJack

0

Ви можете зменшити проблему з вершиною кришки. Якщо графік доповнення даного графа має кришку вершини менше n / 2 вузлів, то цей графік матиме кліку більше n / 2 вузлів, тобто це буде половина кліку. Просто констатуйте, що важко вирішити проблему покриття вершини, так це і є.


1
Оскільки ви можете зменшити будь -яку проблему, повну NP, це не дуже корисно. Деталі щодо скорочення очікуються.
Рафаель

n/2
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.