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,L′∈O(1) i L≠0,L≠Σ∗

Pozwolić xY∈L,xN∉L

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

  • dany x rozwiązać L′ w O(1) czas
  • gdyby x∈L′ 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.