DTIME
W teorii złożoności obliczeniowej DTIME jest klasą złożoności czasowej dla deterministycznej maszyny Turinga. Reprezentuje czas (lub liczbę kroków obliczeniowych), jaki „normalny” komputer poświęciłby na rozwiązanie określonego problemu obliczeniowego przy użyciu określonego algorytmu. Jest to jedna z najlepiej zbadanych klas złożoności, ponieważ ściśle odpowiada ważnemu zasobom w świecie rzeczywistym (ilości czasu potrzebnego komputerowi na rozwiązanie problemu).
Zasób DTIME służy do definiowania klas złożoności, zestawów wszystkich problemów decyzyjnych, które można rozwiązać za pomocą określonego czasu obliczeniowego. Jeśli problem rozmiaru wejściowego n można rozwiązać w mamy klasę złożoności (lub ). Nie ma ograniczeń co do ilości używanej pamięci, ale mogą istnieć ograniczenia dotyczące niektórych innych zasobów złożoności (takich jak przemienność).
Klasy złożoności w DTIME
[edytuj | edytuj kod]Wiele ważnych klas złożoności jest zdefiniowanych za pomocą DTIME, zawierających wszystkie problemy, które można rozwiązać w określonym czasie deterministycznym.
DTIME spełnia twierdzenie o hierarchii czasu, co oznacza, że asymptotycznie większe ilości czasu zawsze tworzą ściśle większe zestawy problemów.
Dobrze znana klasa złożoności P obejmuje wszystkie problemy, które można rozwiązać w wielomianowej ilości DTIME. Można to formalnie zdefiniować jako:
Znacznie większa klasa wykorzystująca czas deterministyczny to EXPTIME, która zawiera wszystkie problemy, które można rozwiązać za pomocą maszyny deterministycznej w czasie wykładniczym. Formalnie mamy
Większe klasy złożoności można zdefiniować podobnie. Z powodu twierdzenia o hierarchii czasu klasy te tworzą ścisłą hierarchię; wiemy, że i dalej.
Model maszyny
[edytuj | edytuj kod]Dokładny model maszyny użyty do zdefiniowania DTIME może się różnić bez wpływu na moc DTIME. Wyniki w literaturze często wykorzystują wielotaśmowe maszyny Turinga, szczególnie przy omawianiu bardzo małych klas. W szczególności wielotaśmowa deterministyczna maszyna Turinga nigdy nie może zapewnić przyspieszenia większego niż kwadratowe w stosunku do maszyny jednotaśmowej[1].
Uogólnienia
[edytuj | edytuj kod]Używając modelu innego niż deterministyczna maszyna Turinga, istnieją różne uogólnienia i ograniczenia DTIME. Na przykład jeśli użyjemy niedeterministycznej maszyny Turinga, mamy klasę NTIME. Związek między mocą DTIME a mocami innych klas jest bardzo słabo poznany. Jednym z niewielu znanych wyników jest
do maszyn z wieloma taśmami. Zostało to rozszerzone na
przez Santhanama[2].
Jeśli używamy naprzemiennej maszyny Turinga, mamy zasób ATIME.
Przypisy
[edytuj | edytuj kod]- ↑ Papadimitriou 1994, Thrm. 2.1.
- ↑ Rahul Santhanam, On separators, segregators and time versus space, 16th Annual IEEE Conference on Computational Complexity, 2001.