Czy istnieją problemy w CS, w których nie są znane wydajne algorytmy, pomimo twierdzeń o istnieniu dowodzących, że takie wydajne algorytmy muszą istnieć?
Jak nazywają się te problemy? Gdzie mogę dowiedzieć się więcej?
Czy istnieją problemy w CS, w których nie są znane wydajne algorytmy, pomimo twierdzeń o istnieniu dowodzących, że takie wydajne algorytmy muszą istnieć?
Jak nazywają się te problemy? Gdzie mogę dowiedzieć się więcej?
Odpowiedzi:
Jako przykład Shelby Kimmel używa metody przeciwnika w tym dokumencie, aby pokazać, że musi istnieć algorytm zapytania dla określonego problemu, dla którego nie znamy stałego rozwiązania zapytania. Robi to w szczególnie sprytny sposób, znajdując złożoność zapytania złożonego ze sobą d razy, a następnie znajdując złożoność zapytania Q kompostowanej funkcji, i zauważając, że złożoność zapytania oryginalnej funkcji jest rzędu Q 1O(1) d Q .Q1d
źródło
Jasne, istnieje wiele przykładów, przynajmniej w duchu twojego pytania.
Często taki wynik uzyskuje się metodą probabilistyczną . Na przykład jeden papier, który mi się podoba, który napotyka problem, dotyczy rekonstrukcji wykresów w modelu addytywnym . Tutaj autorzy pokazują, że istnieje zbiór zapytań, które będą (optymalnie) Dowiedz się wykres docelowej. Biorąc pod uwagę ten zestaw, algorytm jest wydajny. Jednak używają metody probabilistycznej, aby pokazać istnienie tego małego zestawu (dla każdego rozmiaru problemu), który będzie działał na wszystkich danych wejściowych, ale nie będzie go jawnie konstruował. Zatem najlepsze, co mogą zrobić, to po prostu przeszukanie brutalnej siły przez wykładniczą rodzinę zapytań, ponieważ nie mają one wyraźnej konstrukcji.O(dn)
źródło
Nie, zawsze możesz użyć najszybszego i najkrótszego algorytmu dla wszystkich dobrze zdefiniowanych problemów . ;)
źródło
Edycja: Poniższa odpowiedź rejestruje istnienie rozwiązań dla danego problemu obliczeniowego, a nie istnienie algorytmów. Początkowo źle zinterpretowałem pytanie.
Odpowiedź
Istnieje klasa złożoności, która wychwytuje tego rodzaju problemy obliczeniowe. Jest znany jako TFNP . Zostało to zdefiniowane w tym artykule:
Nimrod Megiddo i Christos Papadimitriou. O funkcjach całkowitych, twierdzeniach o istnieniu i złożoności obliczeniowej . Theoretical Computer Science 81 (2): 317-324.
Tutaj znajdziesz problemy takie jak Trójkąt Trichromatyczny, dla którego istnienie rozwiązania jest gwarantowane przez Lemmę Spernera (definicję tego problemu można znaleźć w artykule).
Masz również następujący papier:
Christos Papadimitriou. O złożoności argumentu parzystości i innych nieskutecznych dowodach istnienia . Journal of Computer and Systems Science 48 (3), 1990.
W tym artykule znajdziesz:
Artykuł zawiera wiele przykładów tego rodzaju problemów. Dlatego polecam rzucić na to okiem.
źródło