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?

Mike Battaglia
źródło

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, ...).

Mohemnist
źródło
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 :-)).

Vor
źródło
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