Чи є докази існування неконструктивного алгоритму?


47

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

Я намагаюся обернутись своєю думкою, як це може бути; як виглядатиме неконструктивний доказ існування алгоритму.

Чи існують насправді такі проблеми? Чи мають вони багато практичного значення?


11
алгоритми, засновані на теоремі Робертсона-Сеймура ? Або, простіше кажучи, використання PEM для доведення алгоритму існує там, де ми не знаємо, яка з них (проблема зупинки тривіально вирішується для кожної фіксованої машини Тьюрінга, але як можна знайти алгоритм, який вирішує проблему правильно, не вирішуючи (єдину версію) проблема зупинки?) ps: що ви маєте на увазі під практичним значенням?
Каве


1
Рафаель, мені здається, що ваш коментар правдоподібно може бути доповнений відповіддю. Можливо, ви (чи хтось) можете спробувати це?
Джон Сідлз


2
Це зараз у Вікіпедії .
Рафаель

Відповіді:


33

Розглянемо функцію (взята звідси )

f(n)={10n occurs in the decimal representation of π0else

Незважаючи на зовнішній вигляд, обчислюється наступним аргументом. Абоf

  1. зустрічається для кожного n або0nn
  2. є так , що 0 до має місце , але 0 до + 1 немає.k0k0k+1

Ми не знаємо, що це (ще), але знаємо, що зfF={f,f0,f1,}

  1. іf(n)=1
  2. .fk(n)=[nk]

Оскільки ,FRE обчислюється - але ми не можемо сказати, що таке f .ff


2
Ця відповідь хороша, як і інші відповіді. Очевидно, що на питання jkff є більше, ніж одна відповідь, в тому сенсі, що існує безліч технологій підтвердження, які можуть неконструктивно демонструвати існування алгоритму.
Джон Сідлз

Я, однак, відзначаю це як "прийняте", оскільки воно, безумовно, є найпростішим і демонструє основну ідею того, як може виникнути доказ існування неконструктивного алгоритму.
jkff

@jkff Настільки ж просто, це чудова вправа для студентів на курсах введення TCS. На те, щоб змінити свою інтуїцію / концепцію обчисленості з урахуванням цієї функції, мені знадобилося тижнів.
Рафаель

Я хотів би зробити ставку на мільйон доларів, що є постійною функцією 1. А у мене немає мільйона доларів. f
Даніель МакЛаурі

26

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

Відкритим є питання, чи існує детермінований алгоритм для обчислення мінімальних розміщених дерев за лінійний (означає ) час. Петті і Рамачандран описують алгоритм, який обчислює MST в лінійний час, якщо такий алгоритм існує .O(n+m)

Інтуїтивно зрозумілий, їх алгоритм зводить будь-який -вершений екземпляр проблеми MST до O ( n / k ) менших екземплярів з вершинами O ( k ) в лінійний час, де (скажімо) k = O ( журнал журналу журналу журналу журналу журналу журналу n ) . Потім вони обчислюють оптимальне дерево порівняння, яке обчислює дерево мінімального прольоту будь-якого k -поверхня графіка шляхом перерахування грубої сили; навіть якщо це займає чітке експоненціальне час у knO(n/k)O(k)k=О(журналжурналжурналжурналжурналжурналжурналн)кк , це лише час. Нарешті, вони вирішують невеликі екземпляри, використовуючи це оптимальне дерево рішень.О(журналжурналн)

Іншими словами, Петті та Рамачандран будують оптимальний алгоритм MST лише опосередковано, будуючи алгоритм, який будує оптимальний алгоритм MST.


Круто! До речі, їх алгоритм відповідає найкращому часу роботи в моделі дерева рішень, правда?
Сашо Ніколов

Так, правильно!
Jeffε

2
У певному сенсі це звучить більше як функція вищого порядку (це функція, яка приймає іншу функцію, а доказ її часової складності залежить від складності введення), ніж неконструктивне доведення. Я б взяв неконструктивний доказ, щоб мати на увазі все, що вирішально посилається на класичну логіку (LEM, DNE або Peirce), будуючи доказ існування алгоритму, не надаючи його фактично. Це все ще круто.
капуста

13

Ось два приклади.

  1. Деякі алгоритми, що використовують теорему Робертсона-Сеймура . Теорема стверджує, що там існує кінцева перешкода для кожного випадку, але не дає способу знайти таку кінцеву множину. Тому, хоча ми можемо довести, що алгоритм існує, явне твердження алгоритму буде залежати від набору кінцевих перешкод, які ми не знаємо, як знайти. Іншими словами, ми знаємо, що існує алгоритм, але ми ще не знаємо, як його знайти.

  2. Більш сильним прикладом, хоча менш природним є по суті використання PEM або подібних неконструктивних аксіом. Це сильніше в тому сенсі, що ми можемо довести, що конструктивне існування алгоритму означало б неконструктивну аксіому (подібно слабким контрприкладам Брууера ). Такий приклад є сильнішим, тому що він не тільки говорить про те, що ми не знаємо зараз явного алгоритму (або будь-якого алгоритмічного способу їх пошуку), але і що надію на це не існує.

    Як приклад, ми можемо використовувати PEM, щоб довести існування алгоритму, тоді як ми не знаємо, який з конструктивних способів пошуку може означати неконструктивну аксіому. Наведу простий приклад:

    Проблема зупинки тривіально вирішується для кожного фіксованої машини Тьюрінга (кожна ТМ або зупиняється, або не зупиняється, і в кожному випадку є ТМ, яка видає правильну відповідь), але як ми можемо знайти алгоритм вирішення проблеми правильно, не вирішуючи ( рівномірний варіант) проблема зупинки?

    Більш формально, ми не можемо довести конструктивно , що дано ТМ існує ТМ H T , який вирішує проблеми зупинки для M . Більш формально таке твердження не можна довести конструктивно:МНТМ

    еN fN [({f}( )=0{е})({f}( )=1{е})]

    Тут - TM з кодом e (у деякому фіксованому представленні TM), { e } означає { e } зупинки, а { f } означає, що { f } не зупиняється.{е}е{е}{е}{f}{f}


1
Що таке "кінцева перешкода для кожного випадку"? Я думаю , що ви маєте в виду «кінцева обструкцію набір для кожного нескінченної кількості неповнолітнього закритих граф » також інші не добре (я редагував свій відповідь , щоб виправити це , але , здається , відхилений, я вважаю за краще не повторювати це).
Саїд

8

Так.

В один момент (1) теорема про дихотомію гомоморфізму складного зваженого графа для будь-якого кінцевого розміру домену, Cai, Chen і Lu лише підтверджує існування скорочення поліноміального часу між двома проблемами підрахунку через поліноміальну інтерполяцію. Я не знаю жодної практичної цінності для такого алгоритму.

Дивіться розділ 4 версії arXiv. Лема, про яку йдеться, - лема 4.1, яку називають "першою леммою закріплення".

Один із способів зробити цей доказ конструктивним - довести складну зважену версію результату Ловаша , а саме:

Для всіх , Z H ( G , ш , я ) = Z Н ( G , W , J ) , якщо існує автоморфизм п з G такий , що F ( я ) = JГZН(Г,ш,i)=ZН(Г,ш,j)fГf(i)=j .

Тут - вершина в H , i і j - вершини в G , а Z H ( G , w , i ) - сума над усіма складнозваженими гомоморфізмами графа від G до H з доданим обмеженням, яке я мушу відобразити до ш .шНijГZН(Г,ш,i)ГНiш

(1) Цзінь-І Чай, Сі Чен та Піньян Лу, Гомоморфізми графіка зі складними значеннями: Теорема дихотомії ( arXiv ) ( ICALP 2010 )


7

Деякі перші результати з кінця 80-х:

З реферату другого пункту:

Однак останні фундаментальні досягнення теорії графіків дали доступні нові потужні неконструктивні інструменти, які можна застосувати для гарантування членства в P. Ці інструменти неконструктивні на двох чітких рівнях: вони не виробляють алгоритм прийняття рішень, встановлюючи лише кінцевість набору перешкод , і вони не виявляють, чи може такий алгоритм прийняття рішення бути корисним у побудові рішення. Ми коротко розглянемо та проілюструємо використання цих інструментів та обговоримо, здавалося б, грізну задачу пошуку обіцяних алгоритмів рішення багаточленного часу, коли ці нові інструменти застосовуються.


6

Приклад нескінченної родини проблем (сумнівної практичної цінності), для яких ми можемо показати:

  1. Для кожної проблеми існує алгоритм її вирішення.
  2. Що немає можливості побудувати ці алгоритми (загалом).

Іншими словами, доказ неконструктивний. Наша сім'я проблем (з цього питання ) для кожної машини Тьюрінга :М

LМ={М'|L(М)=L(М') і |М||М'|}

  1. М

  2. ПМП(М)LМММ'|М||М'|П(М)(М')П


2
Симпатичний. Але практична цінність цього може бути менш сумнівною, ніж ви думаєте: це версія рішення проблеми пошуку найкоротшої програми з заданим виходом, тобто оптимального стиснення даних.
Девід Еппштейн

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

2

З "Теорії бідимірності та алгоритмічної графіки мінорних теорій лекцій" для підручника Мохаммеда Таджі Хаджагхайі Мареї Массоу, Йенса Шмідта, Дарії Шимури та Сіамака Тазарі.

Кожне властивість неповнолітніх графів може характеризуватися кінцевим набором заборонених неповнолітніх.

На жаль, їх результат є "невід'ємним" неконструктивним, тобто не існує алгоритму, який би в цілому міг визначити, які неповнолітні повинні бути виключені для даного малого закритого графічного властивості. Більше того, кількість заборонених неповнолітніх може бути великою: Наприклад, для графіків, вбудованих на торі, відомо більше 30 000 заборонених неповнолітніх, але список є неповним.

[...]

Кожен властивість другорядного закритого графа може бути вирішений у поліноміальний час (навіть у кубічний час).


0

Алгоритмічна локальна лема Ловаша - "алгоритмічна локальна лема Ловаша дає алгоритмічний спосіб побудови об'єктів, що підкоряються системі обмежень з обмеженою залежністю ... Однак лема неконструктивна, оскільки не дає ніякого розуміння того, як щоб уникнути поганих подій ". На деяких припущеннях / обмеженнях розподілу побудований алгоритм задається Мозером / Тардосом [1]. Локальна лема Ловаса, здається, має різні глибокі зв'язки з теорією складності, наприклад див. [2]

[1] Конструктивний доказ загальної локальної леми Ловаша Мозера, Tardos

[2] Локальна лема і задоволеність Лобаса Гебауер, Мозер, Шедер, Вельцл


Це інше відчуття «конструктивного». Іноді теоретики складності (ab) використовують слово "конструктивний", щоб означати ефективно алгоритмічне, і в цьому контексті все, що не є ефективно алгоритмічним, називають неконструктивним. Це відрізняється від поняття конструктивного доказування, призначеного у питанні.
Каве

Ваше перше речення вводить в оману. Алгоритмічний LLL є повністю конструктивним, в сенсі поліноміального алгоритму часу. Оригінальний LLL мав неконструктивний доказ у сенсі як спонукальний аргумент щодо потенційно величезного простору ймовірностей. Подальша робота над роботою Мозера та Тардоса усунула практично всі прогалини між алгоритмічною LLL і навіть деяким посиленням LLL, див. Doi.acm.org/10.1145/1993636.1993669
Ніколов

оригінальна лема 1975 р. була неконструктивною, і пізніші дослідники (десятиліття пізніше) виявили конструктивні алгоритми для особливих випадків, але "практично всі прогалини" не є такими ж, як "усі прогалини". її корисний приклад, який показує, що не гарантується, що доказ неконструктивного існування завжди буде таким, тобто неконструктивність не завжди є абсолютною і може бути "може змінюватися", і що подальше / пізніші дослідження можуть закрити прогалини, і що навіть всі прогалини алгоритмом закриті, це може бути тонко / важко довести. є й інші приклади цього. Я цитував рішення Мозера / Тардоса.
vzn

1
все, що я говорю, - це те, як ви написали своє перше речення, це виглядає як "алгоритмічний LLL" є "неконструктивним". У цій цитаті було посилання на оригінальний LLL, але це посилання пропускається через те, де ви ставите еліпси. Ви можете редагувати, щоб включити більше цитати, щоб це не заплуталося?
Сашо Ніколов

1
o / wi думаєте, що ваша відповідь стосується лише дотичної теми, але це добре, що деякі теореми з неконструктивними доказами також визнають конструктивними (а деякі, очевидно, ні, залежно від того, як ви визначаєте "конструктивний"). btw одна проблема з прийняттям конструктивної LLL ще більше полягає в тому, що незрозуміло, як визначити розумну обчислювальну задачу в усіх ситуаціях, де застосовується LLL
Сашо Ніколов,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.