Всі проблеми NP зводиться до NP-повних проблем: то як же проблеми NP не можуть бути неповними NP?


10

Моя книга констатує це

  • Якщо проблема рішення B знаходиться в P, а A зменшується до B, то задача рішення A знаходиться в P.
  • Проблема рішення B є повною NP, якщо B знаходиться в NP, а для кожної проблеми в A в NP A зменшується до B.
  • Проблема рішення C є NP-повною, якщо C знаходиться в NP, а для деякої задачі, повної NP, B, B зменшується до C.

Тож мої запитання є

  1. Якщо B або C є NP-повним, і всі проблеми в NP зводяться до NP-повної проблеми, використовуючи перше правило, як будь-яка проблема NP не може бути NP повною?
  2. Якщо A зменшується до B, чи B зменшується до A?

2
Цікавий факт, пов’язаний з вашим №1: Якщо P не дорівнює NP, ми знаємо, що повинні бути проблеми NP, які не є NP-повними (це називається теоремою Ладнера. Див. NP Intermediate ). Дивне в тому, що ми не впевнені в будь-яких поширених обчислювальних проблемах, що входять до цієї категорії. Проблема, що використовується в теоремі Ладнера, штучно побудована для доведення теореми, але практично неважлива.
Лукас Кук

4
@ Лукас, Факторинг та GraphIso передбачається NPI, також це бачите .
Каве

@Kaveh: Приємний список кандидатів у НПІ, дякую! Для уточнення я говорив, що ми не «впевнені» у природній проблемі NPI з тією ж визначеністю, що і проблеми Ладнера. Тобто, якщо , єдиними відомими проблемами NPI є штучні, пов'язані з ієрархією Ладнера. ПNП
Лукас Кук

Відповіді:


13

Якщо A зменшується до B, чи B зменшується до A?

Ні. Для насправді надуманого прикладу, будь-яка можлива обчислювальна задача A зводиться до проблеми зупинки: просто введіть як введення алгоритм, який вирішує проблему A, але з while(true)відміткою в кінці після істинного чи помилкового випадку. Однак ми знаємо, що проблема зупинки не обчислюється, тому її не можна звести до жодного такого алгоритму А.

Основна ідея полягає в тому, що якщо є скорочення від A до B, ви можете дізнатися, що B принаймні так важко вирішити, ніж A, і потрібен алгоритм, який принаймні настільки ж потужний.

Отже, якщо проблема A зводиться до легкої задачі B, тоді ми можемо вивести A легко (оскільки скорочення дає нам ефективний алгоритм), і якщо важка проблема A зводиться до задачі B, ми можемо зробити висновок, що B також важкий ( оскільки якби B було легко, то A теж було б легко). Однак все ще існує можливість зробити дурне скорочення від простої до важкої проблеми, але в цьому випадку ми не можемо зробити жодних висновків.


8

Якщо B або C знаходиться в NP Complete, а вся проблема в NP зводиться до проблеми NP Complete, використовуючи перше правило, то як будь-яка проблема NP не може бути NP повною?

Перше правило стосується проблем П. Це не має нічого спільного з повнотою НП. Якщо проблема А - NP Повна, а проблема B зменшується до A, це не означає, що B є NP Complete.

Якщо A зменшується до B, чи B зменшується до A?

Як правило, ні.


"Як правило, ні.", Чому? Трохи пояснень також може бути корисним для новачків. Також слід надати пояснення вашої першої відповіді.
nbro

-1

У мене є лише основна ідея щодо проблем NPC та NP. Але все, що я хочу прокоментувати, - це про те, що "Якщо A зменшено до B, то B зменшиться до A?"

Просто розглянемо множину A, що містить {2,3,4,5} елементів, і B, що містить {3,4}. Отже, A можна зменшити до B. Але B не можна звести до A. Натомість B можна розширити до A, якщо B набере {2,5} елементів.

Але якщо A і B мають однакове. тоді A можна зменшити до B або B можна зменшити до A.


Це зовсім не правильна ідея скорочення. Зменшення не полягає в наборі набору або втрати елементів. Швидше, мова йде про можливість перетворення примірника однієї проблеми в іншу за допомогою машини / алгоритму Тьюрінга.
jmite

Добре. Отже, якщо будь-яка проблема зводиться до іншої за допомогою будь-якого алгоритму, неможливо відновити проблему зі зменшеного виводу, використовуючи той же алгоритм знову.
Naveen CS

1
Я не зовсім впевнений, що ви маєте на увазі, але я думаю, що це неможливо. Якщо я не помиляюся, ці скорочення можуть бути від багатьох до одного. A зменшується до B, якщо поліноміальне число викликів до підпрограми, що розв'язує B, дозволяє вирішити A за багаточлен. Різні екземпляри A можуть викликати дзвінок того самого екземпляра B.
jmite

2
Питання полягає в проблемах рішення, а не в наборах. Як корисно дивитись набори? Використання слова "скорочено" означає, що набір є надмножиною іншого, навіть не є загальною термінологією.
Жил 'SO- перестань бути злим'
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.