Чи можна проявити твердість NP завдяки зменшенню Тюрінга?


19

У статті Складність проблеми Фробеніуса Раміреса-Альфонсіна було доведено, що проблема є NP-повною за допомогою скорочень Тьюрінга. Це можливо? Як саме? Я подумав, що це можливо лише за багаточленного часу на одне скорочення. Чи є посилання на це?

Чи існують два різних поняття твердості NP, навіть NP-повноти? Але потім я розгублений, бо з практичної точки зору, якщо я хочу показати, що моя проблема є NP-жорсткою, яку я використовую?

Вони почали опис наступним чином:

Поліномічне скорочення скорочення Тюрінга від задачі до іншої проблеми - це алгоритм A, який вирішує , використовуючи гіпотетичну підпрограму A 'для розв’язання таким чином, що якщо A' був алгоритмом багаточленного часу для то A був би поліноміальним часом алгоритм для . Ми говоримо, що може бути Тьюрінгом зменшено до .P 2 P 1 P 2 P 2 P 1P1P2P1P2P2P1Р 2P1P2

Проблема називається (Тюрінг) NP-складною, якщо існує проблема NP-повного рішення така що Turing можна зменшити до .P 2 P 2 P 1P1P2P2P1

І тоді вони використовують таке зменшення Тьюрінга від проблеми, повного NP, щоб показати NP-повноту якоїсь іншої проблеми.

Відповіді:


17

Існують (принаймні) два різних поняття твердості NP. Звичайне поняття, яке використовує скорочення Короп, стверджує , що мова є NP-важкою , якщо кожна мова в НП Короп-зводиться до L . Якщо ми змінимо скорочення Карпа на скорочення Кука, ми отримаємо інше поняття. Кожна мова, яка є Karp-NP-жорсткою, також є твердою для Cook-NP, але, навпаки, хибна помилка. Припустимо , що NP відрізняється від CONP, і прийняти ваш улюблений NP-повний мову L . Тоді доповненням L є Cook-NP-жорстким, але не Karp-NP-жорстким.LLLL

Причина того, що є важким для Cook-NP, полягає в наступному: візьміть будь-яку мову M в NP. Так як L є NP-важкою, існує функція поліноміальних по F , такі , що х М тоді і тільки тоді F ( х ) L тоді і тільки тоді F ( х ) ¯ л . Скорочення Кука від M до ¯ L приймає x , обчислює f ( x ) , перевіряє, чи f ( x ) ¯L¯MLfxMf(x)Lf(x)L¯ML¯xf(x) і виводить зворотне.f(x)L¯

Причина того, що не є твердим NP (припускаючи, що NP відрізняється від coNP), є наступною. Припустимо, ¯ L були жорсткими NP. Тоді для кожної мови М в CONP, відбувається зменшення поліноміальних по е таке , що х ¯ М тоді і тільки тоді F ( х ) ¯ L , або, іншими словами, х М тоді і тільки тоді F ( х ) L . Оскільки L знаходиться в NP, це показує, що M знаходиться в NP, і тому coNP L¯L¯MfxM¯f(x)L¯xMf(x)LLMНП. Це негайно означає, що NP coNP, і тому NP = coNP.

Якщо деякі Кукі-NP-важкий мову в P, то P = NP: для будь-якої мови М в НП, використовуйте скорочення Кука L дати алгоритм полиномиального по для М . Тож у цьому сенсі мови, завершені Cook-NP, також є "найважчими в NP". З іншого боку, легко бачити , що Кук-NP-важкий = Кук-CONP твердолобі: скорочення Варити L може бути перетворено до скорочення Кука для ¯ L . Таким чином ми втрачаємо деяку точність, використовуючи скорочення Кука.LMLMLL¯

Можливо, є й інші недоліки використання скорочень Кука, але це я залишу іншим користувачам.


Я ще не все це зрозумів, маю сказати. Але у мене є ще одне запитання, можливо, ви можете відповісти на це (оскільки інших відповідей не так багато): що робити, якщо у мене червоний тюрінг. від NP-повної задачі A до якоїсь задачі B та червоного Карпа. від проблеми B до задачі C. Чи це встановлює NP-повноту проблеми C (членство не є проблемою)? І взагалі, чи можу я назвати проблему B NP-hard або вірніше (Turing) NP-hard? Спасибі!
користувач2145167

4
Дві скорочення Карпа складаються до скорочення Карпа, а два скорочення Кука складаються до скорочення Кука. Оскільки скорочення Карпа - це також зменшення Кука, якщо скласти скорочення Карпа та зменшення Кука, то ви отримаєте зменшення Кука. Але в цілому ви не отримаєте скорочення Карпа.
Yuval Filmus

@YuvalFilmus, ви можете, будь ласка, пояснити, що ви хотіли мати на увазі під iff f ( x ) L iff f ( x ) ¯ L ? xMf(x)Lf(x)L¯
Омар Шехаб

Короп-відновний від до L є функція F (поліноміальний по в даному випадку) , такий , що х М тоді і тільки тоді F ( х ) L . Для кожного f , x завжди справедливо, що f ( x ) L iff f ( x ) ¯ L , де ¯ L є доповненням L (щодо діапазону f ). MLfxMf(x)L f,xf(x)Lf(x)L¯L¯Lf
Ювал Фільм

6

Це чудово. Скорочення поліномального часу Тюрінга - це скорочення Кука (як у теоремі Кука-Левіна), а зменшення NP-повної задачі до нової проблеми надає твердість NP (як і зменшення полінома-тієма на багато-один, зменшення AKA Karp). Дійсно, скорочення Карпа так само є обмеженими скороченнями Тьюрінга.

Там, де вони відрізняються (щодо цього питання), - це показати членство. Скорочення Карпа від проблеми до проблеми в НП показує, що перша - в НП. Скорочення кухаря в тому ж напрямку не робить.


Спасибі. Я навіть не усвідомлював, що хтось показує членство, чітко використовуючи скорочення Карпа. Але це має сенс. Але можна показати членство в NP, використовуючи скорочення Тьюрінга в обох напрямках, правда?
користувач2145167

1
@ user2145167 ні, відповідь Юваля дає повну історію тут, але, коротше кажучи, скорочення куха слабкіше, тому дозволяйте більше - наприклад, ви можете перейти від будь-якої проблеми спільної програми через зменшення Кука до будь-якої проблеми, що не стосується NP, яка не є справедливо для скорочень Карпа.
Люк Матхісон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.