Czy istnieją dowody istnienia niekonstruktywnego algorytmu?


47

Pamiętam, że mogłem spotkać odniesienia do problemów, które zostały udowodnione, że można je rozwiązać ze szczególną złożonością, ale bez znanego algorytmu, który by faktycznie osiągnął tę złożoność.

Walczę z tym, jak to się dzieje; jak wyglądałby niekonstruktywny dowód na istnienie algorytmu.

Czy rzeczywiście istnieją takie problemy? Czy mają dużą wartość praktyczną?


11
algorytmy oparte na twierdzeniu Robertsona-Seymour ? Lub prościej: użycie PEM do udowodnienia, że ​​istnieje algorytm, w którym nie wiemy, który z nich (problem zatrzymania jest trywialnie rozstrzygalny dla każdej stałej maszyny Turinga, ale jak znaleźć algorytm rozwiązujący problem poprawnie bez rozwiązania (jednolita wersja) problem zatrzymania?) ps: co rozumiesz przez „wartość praktyczną”?
Kaveh

6
Dlaczego są też prostsze przykłady .
Raphael

1
Raphael, wydaje mi się, że twój komentarz może zostać uaktualniony do odpowiedzi. Być może Ty (lub ktoś) mógłbyś spróbować?
John Sidles,


Odpowiedzi:


33

Rozważ funkcję (wziętą stąd )

fa(n)={10n występuje w postaci dziesiętnej π0jeszcze

Pomimo wyglądu, można obliczyć na podstawie następującego argumentu. Zarównofa

  1. 0n występuje dla każdego lubn
  2. jest k więc 0k występuje, ale 0k+1 nie.

Nie wiemy, co to jest (jeszcze), ale wiemy, że zfafa={fa,fa0,fa1,}

  1. ifa(n)=1
  2. .fak(n)=[nk]

Ponieważ , f jest obliczalne - ale nie możemy powiedzieć, czym jest f .faRmifafa


2
Ta odpowiedź jest dobra, podobnie jak inne odpowiedzi. Najwyraźniej pytanie jkff ma więcej niż jedną odpowiedź, w tym sensie, że istnieje wiele technologii dowodowych, które mogą niestrukturalnie demonstrować istnienie algorytmu.
John Sidles,

Zaznaczam go jednak jako „zaakceptowany”, ponieważ jest on zdecydowanie najprostszy i pokazuje podstawową ideę, w jaki sposób może powstać niekonstruktywny dowód na istnienie algorytmu.
jkff

@jkff Jest to proste ćwiczenie dla studentów uczestniczących w kursach TCS. Dostosowanie intuicji / koncepcji obliczeń w świetle tej funkcji zajęło mi tygodnie.
Raphael

Byłbym skłonny postawić milion dolarów, że jest stałą funkcją 1. I nie mam miliona dolarów. fa
Daniel McLaury

26

To może nie być dokładnie to , co masz na myśli, ale optymalny algorytm minimalnego drzewa opinającego Seth Pettie i Vijaya Ramachandran jest w pewnym sensie niekonstruktywny.

Pozostaje otwarte pytanie, czy istnieje algorytm deterministyczny do obliczania minimalnego drzewa rozpinającego w czasie liniowym (czyli ). Pettie i Ramachandran opisują algorytm obliczający MST w czasie liniowym, jeśli taki algorytm istnieje .O(n+m)

Intuicyjnie, algorytm zmniejsza ich dowolną wystąpienie -Vertex problemu MST do O ( n / k ) mniejsze instancje O ( k ) wierzchołków liniowego czasu, gdzie (powiedzmy) K = O ( log log log log log log log n ) . Następnie obliczają optymalne drzewo porównania, które oblicza minimalne drzewo rozpinające dowolnego wykresu k -vertex poprzez wyliczenie siły brutalnej; nawet jeśli zajmuje to pięciokrotnie wykładniczy czas wk , to tylko OnO(n/k)O(k)k=O(logloglogloglogloglogn)kk czas. Wreszcie rozwiązują małe wystąpienia za pomocą tego optymalnego drzewa decyzyjnego.O(loglogn)

Innymi słowy, Pettie i Ramachandran konstruują optymalny algorytm MST tylko pośrednio, konstruując algorytm, który konstruuje optymalny algorytm MST.


To super! BTW, ich algorytm pasuje do najlepszego czasu działania w modelu drzewa decyzyjnego, prawda?
Sasho Nikolov

Tak to prawda!
Jeffε

2
W pewnym sensie brzmi to bardziej jak funkcja wyższego rzędu (jest to funkcja, która przyjmuje inną funkcję, a dowód jej złożoności czasowej zależy od złożoności danych wejściowych) niż dowód niekonstruktywny. Przyjmę za niekonstruktywny dowód, by oznaczać wszystko, co w sposób krytyczny przywołuje klasyczną logikę (LEM, DNE lub Peirce) przy konstruowaniu dowodu na istnienie algorytmu, bez faktycznego jego dostarczania. Ale wciąż jest fajnie.
copumpkin

13

Oto dwa przykłady.

  1. Niektóre algorytmy wykorzystujące twierdzenie Robertsona-Seymour'a . Twierdzenie mówi, że dla każdego przypadku wychodzi skończona przeszkoda, ale nie zapewnia sposobu na znalezienie takiego zbioru skończonego. Dlatego, chociaż możemy udowodnić, że algorytm istnieje, wyraźne określenie algorytmu będzie zależeć od skończonego zestawu przeszkód, którego nie umiemy znaleźć. Innymi słowy, wiemy, że istnieje algorytm, ale nie wiemy (jeszcze) jak go znaleźć.

  2. Silniejszym przykładem, chociaż mniej naturalnym, jest zasadniczo stosowanie PEM lub podobnych niekonstruktywnych aksjomatów. Jest to silniejsze w tym sensie, że możemy udowodnić, że konstruktywne istnienie algorytmu oznaczałoby niekonstruktywny aksjomat (podobny do słabych kontrprzykładów Brouwera ). Taki przykład jest silniejszy, ponieważ nie tylko mówi, że obecnie nie znamy żadnego wyraźnego algorytmu (ani żadnego algorytmicznego sposobu jego znalezienia), ale także że nie ma na to nadziei.

    Jako przykład możemy użyć PEM, aby udowodnić istnienie algorytmu, podczas gdy nie wiemy, który z nich i konstruktywny sposób znalezienia takiego oznaczałoby niekonstruktywny aksjomat. Podam prosty przykład:

    Problem zatrzymania jest trywialnie rozstrzygalny dla każdej stałej maszyny Turinga (każda TM zatrzymuje się lub nie zatrzymuje się, aw każdym przypadku jest TM, która daje prawidłową odpowiedź), ale jak znaleźć algorytm rozwiązujący problem poprawnie bez rozwiązania ( jednolita wersja) problemu zatrzymania?

    Bardziej formalnie, nie możemy udowodnić, że dali konstruktywnie TM , istnieje TM H T decyduje wstrzymaniem problem dla M . Bardziej formalnie, następujące stwierdzenie nie może zostać udowodnione konstruktywnie:M.H.T.M.

    miN. faN. [({fa}( )=0{mi})({fa}( )=1{mi})]

    Tutaj jest TM z kodem e (w niektórych stałych reprezentacjach TM), { e } oznacza { e } zatrzymuje się, a { f } oznacza { f } nie zatrzymuje się.{mi}mi{mi}{mi}{fa}{fa}


1
Co to jest „skończona przeszkoda dla każdego przypadku”? Myślę, że masz na myśli „skończony zestaw przeszkód dla każdego nieskończonego zestawu mniejszych zamkniętych wykresów ”, również pozostanie nie jest dobre (zredagowałem twoją odpowiedź, aby to naprawić, ale wydaje się odrzucone, wolę nie powtarzać tego).
Saeed

8

Tak.

W jednym punkcie (1), twierdzenie o dychotomii złożonego ważenia wykresu homomorfizmu dla dowolnej skończonej wielkości domeny, Cai, Chen i Lu, tylko dowodzi istnienia redukcji czasu wielomianowego między dwoma problemami liczenia poprzez interpolację wielomianową. Nie znam żadnej praktycznej wartości takiego algorytmu.

Zobacz rozdział 4 wersji arXiv. Lemat, o którym mowa, to Lemma 4.1, zwana „Pierwszą lemią przypinającą”.

Jednym ze sposobów, aby ten dowód był konstruktywny, jest udowodnienie złożonej wersji wyniku Lovasz , a mianowicie:

Dla wszystkich , Z H ( G , wagowo , I ) = Z H ( G , W , j ) iff istnieje automorfizmem F z G , tak że F ( I ) = j .solZH.(sol,w,ja)=ZH.(sol,w,jot)fasolfa(ja)=jot

Tutaj to wierzchołek w H , I i J są wierzchołki G i Z H ( G , W , i ) jest sumą na wszystkich złożonych ważonych homomorfizmów wykres z G do H, z tym ograniczeniem, że , że muszą być odwzorowane do w .wH.jajotsolZH.(sol,w,ja)solH.jaw

(1) Jin-Yi Cai, Xi Chen i Pinyan Lu, Wykres Homomorfizmy ze złożonymi wartościami: twierdzenie o dychotomii ( arXiv ) ( ICALP 2010 )


7

Niektóre wczesne wyniki z późnych lat 80-tych:

Z streszczenia drugiego przedmiotu:

Ostatnie zasadnicze postępy w teorii grafów umożliwiły jednak udostępnienie nowych, niekonstruktywnych narzędzi, które można zastosować w celu zagwarantowania członkostwa w P. Narzędzia te nie są konstruktywne na dwóch różnych poziomach: nie wytwarzają algorytmu decyzyjnego, ustalając jedynie skończoność zestawu przeszkód , ani nie ujawniają, czy taki algorytm decyzyjny może być pomocny w budowie rozwiązania. Przeglądamy krótko i ilustrujemy użycie tych narzędzi oraz omawiamy pozornie ogromne zadanie znalezienia obiecanych algorytmów decyzji w czasie wielomianowym, kiedy te nowe narzędzia będą miały zastosowanie.


6

Przykład nieskończonej rodziny problemów (o wątpliwej wartości praktycznej), dla których możemy pokazać:

  1. Że dla każdego problemu istnieje algorytm do jego rozwiązania.
  2. Że nie ma sposobu na zbudowanie tych algorytmów (ogólnie).

Innymi słowy, dowód, który można udowodnić, nie jest konstruktywny. Nasza rodzina problemów (z tego pytania ) dla każdej maszyny Turinga :M.

L.M.={M.|L.(M.)=L.(M.) i |M.||M.|}

  1. M.

  2. P.M.P.(M.)L.M.M.M.|M.||M.|P.(M.)(M.)P.


2
Uroczy. Ale praktyczna wartość tego może być mniej wątpliwa, niż myślisz: jest to decyzyjna wersja problemu znalezienia najkrótszego programu o danym wyjściu, tj. Optymalnej kompresji danych.
David Eppstein,

1
Myślę, że przykład jest podobny do tego, który podałem. Zauważ, że kiedy mówimy, że nie jest konstruktywne, interpretujemy słowo konstruktywne jako rekurencyjne / obliczalne, które jest jedną ze szkół konstruktywizmu.
Kaveh

2

Z „Notek z teorii dwuwymiarowości i wykresów algorytmicznych - drobne wykłady” do samouczka Mohammada Taghi Hajiaghayiego autorstwa Mareike Massow, Jensa Schmidta, Darii Schymury i Siamaka Tazari.

Każda drobna właściwość zamkniętego wykresu może być scharakteryzowana przez skończony zestaw zabronionych nieletnich.

Niestety ich wynik jest „z natury” niekonstruktywny, tzn. Nie ma algorytmu, który mógłby ogólnie określić, które nieletnie mają być wykluczone dla danej właściwości niewielkiego zamkniętego wykresu. Ponadto liczba niedozwolonych nieletnich może być wysoka: na przykład w przypadku wykresów umieszczanych na torusie znanych jest ponad 30 000 niedozwolonych nieletnich, ale lista jest niepełna.

[...]

Każda drobna właściwość zamkniętego wykresu może być ustalana w czasie wielomianowym (nawet w czasie sześciennym).


0

Algorytmiczny lokalny lemat Lovásza - „Algorytmiczny lokalny lemat Lovásza daje algorytmiczny sposób konstruowania obiektów, które są zgodne z systemem ograniczeń o ograniczonej zależności. ... Jednak lemat nie jest konstruktywny, ponieważ nie daje żadnego wglądu w to, jak aby uniknąć złych wydarzeń ”. Przy niektórych założeniach / ograniczeniach dystrybucji, Moser / Tardos podaje skonstruowany algorytm [1]. lemat lokalny Lovasz wydaje się mieć różne głębokie powiązania z teorią złożoności, np. patrz [2]

[1] Konstruktywny dowód generała Lovásza Local Lemma autorstwa Mosera, Tardosa

[2] Lov´asz Local Lemma and Satisfiable Gebauer, Moser, Scheder, Welzl


To inne poczucie „konstruktywności”. Czasami teoretycy złożoności (ab) używają słowa „konstruktywny”, aby oznaczać efektywnie algorytmiczny, iw tym kontekście wszystko, co nie jest wydajnie algorytmiczne, jest określane jako niekonstruktywne. Różni się to od konstruktywnego pojęcia dowodu zamierzonego w pytaniu.
Kaveh

Twoje pierwsze zdanie jest mylące. Algorytm LLL jest całkowicie konstruktywny w sensie wielomianowego algorytmu czasowego. Oryginalny LLL miał niekonstruktywny dowód w tym sensie, że był indukcyjnym argumentem nad potencjalnie ogromną przestrzenią prawdopodobieństwa. Kontynuacja pracy nad dokumentem Mosera i Tardosa zatarła praktycznie wszystkie luki między algorytmicznym LLL, a nawet pewnym wzmocnieniem LLL, patrz doi.acm.org/10.1145/1993636.1993669
Sasho Nikolov

oryginalny lemat z 1975 roku był niekonstruktywny, a później badacze (dekady później) znaleźli konstruktywne algorytmy dla specjalnych przypadków, ale „praktycznie wszystkie luki” to nie to samo co „wszystkie luki”. jest to przydatny przykład pokazujący, że nie ma gwarancji, że niekonstruktywny dowód na istnienie zawsze taki pozostanie, tzn. niekonstruktywność nie zawsze jest absolutna i może być „przedmiotem zmian”, a dalsze / późniejsze badania mogą wypełnić luki, a nawet czy wszystkie luki są zamykane przez algorytm, który może być subtelny / trudny do udowodnienia. są na to inne przykłady. Przytoczyłem rozwiązanie Moser / Tardos.
vzn

1
mówię tylko, że sposób, w jaki napisałeś pierwsze zdanie, sprawia, że ​​wygląda na to, że „algorytmiczny LLL” jest „niekonstruktywny”. W tym cytacie było odniesienie do oryginalnej LLL, ale odniesienie to jest pomijane z powodu miejsca, w którym umieszczasz elipsy. czy możesz edytować, aby dołączyć więcej cytatu, aby nie był mylący?
Sasho Nikolov

1
o / wi sądzę, że twoja odpowiedź jest tylko stycznie związana z tematem, ale dobrze jest, że niektóre twierdzenia z dowodami niekonstruktywnymi dopuszczają również te konstruktywne (a niektóre nie, w zależności od tego, jak zdefiniujesz „konstruktywne”). jednym z problemów związanych z posuwaniem konstruktywnego LLL jeszcze dalej jest to, że nie jest jasne, jak zdefiniować rozsądny problem obliczeniowy we wszystkich sytuacjach, w których obowiązuje LLL
Sasho Nikolov
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.