Czy istnieją problemy „pełne (O)”?


9

Wiele klas złożoności ma „kompletne” problemy. Czy istnieją kompletne problemy dla klasy złożoności problemów, które można rozwiązaćO(1) czas?

Komplikacja polega na tym, że klasa ta zależy od modelu obliczeniowego; problem można rozwiązaćO(1)czas w jednym rozsądnym modelu obliczeniowym, ale nie w innym, biorąc pod uwagę, że „rozsądny” zwykle oznacza równoważność czasu wielomianowego z maszyną Turinga. Jednak nadal można go opracować dla konkretnych rozsądnych modeli.

Myślę, że najbardziej sensowne jest patrzenie na wielokrotne redukcje w jednym czasie. Jestem jednak otwarty na inne rozsądne redukcje, jeśli jest na nie literatura.

Czy coś takiego istnieje lub zostało zbadane dla jakiegokolwiek modelu obliczeniowego?

Odpowiedzi:


3

Ponieważ odczyt danych wejściowych jest niezbędny dla prawie wszystkich problemów, potrzebujemy przynajmniej Ω(n) czas na prawie wszystkie problemy, gdzie nto rozmiar danych wejściowych. Dlatego możesz pomyśleć o klasie problemów z czasem liniowym, która jest już zdefiniowana.

Jednak nadal nie znamy żadnych O(n)-kompletne lub O(n2)-kompletny problem. W dziedzinie drobnoziarnistej złożoności pojawiają się nowe wyniki w tym obszarze, ale klasy są oparte na problemach (na przykład APSP jest równoważne z Promieniem, Trójkątem Negatywnym, ...).


Nie jestem pewien, czy to odpowiada na pytanie. Wiele problemów wymagaΩ(n) czasu, ale nie wszystkie z nich - wciąż istnieje kilka problemów, które można rozwiązać O(1)czas - wydaje się więc, że zadane pytanie pozostaje aktualne.
DW

1
Zakłada się również, że dane wejściowe należy odczytywać sekwencyjnie i nie ma pośrednictwa, więc byłby to jeden z tych przypadków, w których model naprawdę ma znaczenie. (Zastanawiam się, czy powinienem nalegać na pośredniość i być może przypadkowość w moim oryginalnym poście, ponieważ w przeciwnym razie natkniesz się na kilka takich trywialnych blokad)
Mike Battaglia

Problem z decyzją, czy cokolwiek jest podane jako dane wejściowe O(1)czas. Wszystkie inne problemy wymagające stałego czasu są ograniczonymi stałymi wersjami innych problemów.
rus9384

Co dokładnie rozumiesz przez „ograniczone stałe wersje innych problemów”?
Mike Battaglia,

@MikeBattaglia, na przykład, jeśli maszyna Turinga zatrzyma się po wykonaniu 100 kroków.
rus9384

2

Myślę, że dla O(1) problemy, wszystkie języki są kompletne w ramach „stałych redukcji czasu”, z wyjątkiem L=Σ i L=

Przypuszczam, że L,LO(1) i L0,LΣ

Pozwolić xYL,xNL

Jest to redukcja czasu stałego od L do L:

  • dany x rozwiązać L w O(1) czas
  • gdyby xL następnie wyjście xY, w przeciwnym razie wyjście xN

Więc L jest gotowy na O(1) (... leniwa redukcja, leniwy wynik :-)).


1
Ogólnie twardość dla klasy C nie jest sensownie zdefiniowany dla redukcji, które są tak potężne jak Cz samego powodu, który podałeś. Aby mieć sensowną definicję CZASU (O(1)) -kompletne, potrzebowalibyśmy redukcji, które byłyby słabsze niż stały czas. Nie wiem, co to może być.
Pontus

@Pontus: Zgadzam się; i zdecydowanie nie tak interesujące ... chyba że żyjemy w dyskretnym i skończonym wszechświecie :-D
Vor

... moglibyśmy użyć k redukcje kroków (k naprawiono), ale w tym przypadku nie ma kompletnych problemów ... lub dodaj ograniczenie między wielkością TM a liczbą stałych kroków (np. jeśli wielkość (deterministyczna / niedeterministyczna) TM jest n tylko wtedy n/2kroki są dozwolone) ...
Vor

Tak, być może coś interesującego (lub zostało) wymyślone. Jaka jest TM w Twojej ostatniej sugestii?
Pontus

@Vor Co ze stałą szerokością stałą czasową w niektórych modelach równoległych?
l4m2
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.