Techniki zależą od modelu i rodzaju zasobów, od których chcemy uzyskać niższą granicę. Zauważ, że aby udowodnić dolną granicę złożoności problemu, musimy najpierw naprawić matematyczny model obliczeń: dolną granicą dla problemu jest to, że żaden algorytm wykorzystujący pewną ilość zasobów nie może rozwiązać problemu, tj. Obliczamy uniwersalnie przez algorytmy. Potrzebujemy matematycznej definicji dziedziny kwantyfikacji. (Zasadniczo dotyczy to wyników niemożności.) Dlatego wyniki w dolnych granicach dotyczą tylko określonego modelu obliczeń. Na przykładΩ ( n logn )dolna granica sortowania działa tylko w przypadku algorytmów sortowania opartych na porównaniu, bez tego ograniczenia i w bardziej ogólnych modelach obliczeń możliwe byłoby rozwiązanie sortowania szybciej, nawet w czasie liniowym. (Zobacz komentarz Josha poniżej.)
Oto kilka podstawowych bezpośrednich metod dowodzenia dolnych granic teorii złożoności obliczeniowej dla bardziej ogólnych modeli obliczeń (maszyny i obwody Turinga).
I. Liczenie:
Pomysł: Pokazujemy, że algorytmów jest więcej funkcji.
Np .: Istnieją funkcje wymagające wykładniczo dużych obwodów.
Problem z tą metodą polega na tym, że jest to argument egzystencjalny i nie daje żadnej wyraźnej funkcji ani żadnej górnej granicy złożoności problemu, który okazał się trudny.
II. Kombinatorialny / Algebraiczny:
Pomysł: Analizujemy obwody i wykazujemy, że mają one określoną właściwość, np. Obliczone przez nie funkcje mogą być aproksymowane przez jakąś ładną klasę obiektu matematycznego, podczas gdy funkcja celu nie ma tej właściwości.
Np .: lemat przełączający Håstad i jego warianty używają drzewa decyzyjnego do przybliżania , Razborov-Smoleński używają wielomianów nad polami do przybliżania funkcji itd. A C 0 [ p ]AC0AC0[p]
Problem z tą metodą polega na tym, że w praktyce działała ona tylko dla małych i stosunkowo łatwych do analizy klas. Istnieje również bariera naturalnych dowodów Razborova-Rudicha, która niejako formalizuje, dlaczego proste właściwości same w sobie raczej nie wystarczą do udowodnienia bardziej ogólnych dolnych granic obwodu.
Artykuł Razborowa „ O metodzie aproksymacji ” dowodzi, że metoda aproksymacji jest kompletna w pewnym sensie do udowodnienia dolnych granic.
III. Diagonalizacja:
Pomysł. Przekątniamy się względem funkcji w mniejszej klasie. Pomysł wraca do Gödela (a nawet Cantora).
Dawny. Czas twierdzenia hierarchii , Przestrzeń hierarchia twierdzenie , etc.
Głównym problemem związanym z tą metodą jest to, że aby uzyskać górną granicę, musimy mieć uniwersalny symulator dla mniejszej klasy i trudno jest znaleźć dobre nietrywialne symulatory. Na przykład, aby oddzielić od
, musimy mieć symulator dla wewnątrz a wyniki wskazują, że jeśli są takie symulatory, to nie będą bądź miły. Dlatego zwykle kończymy rozdzielaniem klas o tym samym typie zasobów, gdzie przy odrobinie większej ilości zasobów możemy ogólnie symulować mniejszą klasę.P S p a c e P P S p a c ePPSpacePPSpace
Mamy także barierę relatywizacji (wracając do Bakera, Gilla i Solovaya) i barierę algebraizacji (autorstwa Aaronsona i Wigdersona), które stwierdzają, że poszczególne typy argumentów diagonalizacji zostaną przeniesione do innych ustawień, w których wynik jest prawdopodobnie fałszywy.
Należy zauważyć, że bariery te nie dotyczą bardziej ogólnych argumentów diagonalizacji. W rzeczywistości, w pracy Dextera Kozen'a „ Indeksowanie klas subrekursywnych ”, diagonalizacja jest zakończona dla udowodnienia dolnych granic.
Jak zapewne zauważyliście, istnieje silna zależność między znalezieniem dobrych uniwersalnych symulatorów dla klasy złożoności a oddzieleniem tej klasy złożoności od klas większych (formalne oświadczenie znajduje się w pracy Kozen).
Ostatnie prace
Najnowsze postępy można znaleźć w ostatnich artykułach Ryana Williamsa . Nie omawiam ich w tej odpowiedzi, ponieważ mam nadzieję, że sam Ryan napisze odpowiedź.