Niedeterministyczne przyspieszenie obliczeń deterministycznych


14

Czy niedeterminizm może przyspieszyć obliczenia deterministyczne? Jeśli tak to ile?

Przyspieszając obliczenia deterministyczne przez niedeterminizm rozumiem wyniki formy:

DTime(f(n))NTime(n)

Np. Coś takiego

DTime(n2)NTime(n)

Jaki jest najbardziej znany wynik przyspieszenia obliczeń deterministycznych przez niedeterminizm? Co powiesz na ΣkPTime(n) a nawet ATime(n) zamiast NTime(n) ?

Załóżmy, że klasy złożoności są definiowane za pomocą maszyn Turinga z wieloma taśmami, aby uniknąć dobrze znanych osobliwości maszyn Turinga z subkwadratowym czasem.


3
(By twierdzenia 4.1 oraz czas Hierarchy twierdzenia, Twój przykład nie może posiadać na bazach 1-taśmowych.)

Odpowiedzi:


11

Nie należy oczekiwać ekscytującego przyspieszenia. Mamy

DTIME(f(n))NTIME(f(n))ATIME(f(n))DSPACE(f(n)),

a najbardziej znaną symulacją deterministycznego czasu w przestrzeni jest nadal twierdzenie Hopcroft – Paul – Valiant

DTIME(f(n))DSPACE(f(n)/logf(n)).

Zatem nie wiadomo, czy niedeterminizm lub przemiana przyspieszają więcej niż czynnik logarytmiczny. (Podejrzewam, że nie jest znane przyspieszenie superliniowe, chociaż nie jestem pewien, czy nie można zmusić twierdzenia HPV do pracy z ATIME zamiast DSPACE.)


1
W przypadku maszyn Turing z jedną taśmą folklorem jest . NTIME(n)DSPACE(n)
Michael Wehar,

1
W przypadku maszyn Turing z dwiema taśmami mamy jak podano powyżej. DTIME(n)DSPACE(n/log(n))
Michael Wehar,

2
Pytanie dotyczy wielowarstwowych maszyn Turinga.
Emil Jeřábek 3.0

4
Chciałem tylko przedstawić dodatkowe wyjaśnienia zainteresowanemu czytelnikowi.
Michael Wehar,

2
Według Paula-Pippengera-Szemerédiego-Trottera pierwsze włączenie to dla specjalnego przypadku, w którym f ( n ) = n . DTIME(f(n))NTIME(f(n))f(n)=n
András Salamon

6

Istnieją dwie odrębne koncepcje:

(1) Wydajna symulacja maszyn deterministycznych przez maszyny niedeterministyczne.

(2) Wyniki przyspieszenia, które są uzyskiwane poprzez stosowanie symulacji w kółko.

Nie znam żadnej skutecznej symulacji maszyn deterministycznych przez maszyny niedeterministyczne, ale znam kilka wyników przyspieszenia, które można by wykorzystać, gdyby istniały wydajne symulacje.

Rozważ klasę języków, które są rozstrzygalne przez niedeterministyczną maszynę Turinga działającą przez czas t ( n ), używając tylko g ( n ) niedeterministycznych domysłów. Innymi słowy, długość świadka jest ograniczona przez g ( n ) .NTIGU(t(n),g(n))t(n)g(n)g(n)

Jeśli masz bardziej wydajną symulację, używając tylko niedeterministycznych domysłów, to wierzę, że możesz to przyspieszyć całkiem sporo. W szczególności uważam, że możesz udowodnić, co następuje:log(n)

Jeśli , to D T I M E ( 2 DTIME(nlog(n))NTIGU(n,log(n))DTIME(2n)NTIME(n).

If you find this interesting, then I can write-up the proof.

Ryan Williams introduced some related speed-ups in "Improving Exhaustive Search Implies Superpolynomial Lower Bounds".


1
As you can see, DTIME(nlog(n))NTIGU(n,log(n)) is a rather big assumption and it is quite reasonable that you could prove the hypothesis to be false. Let me know if you do. :)
Michael Wehar

@AndrasSalamon : ​ How does that follow from exhaustive search? ​ ​ ​ ​

@RickyDemer you are right, it does not; have removed the comments. I was implicitly assuming that the nondeterminism was at the end of the computation, but it should be assumed to be at the beginning.
András Salamon

Update: Finally started writing up the proposed speed up result that I mentioned. It appears to be a bit different than other speed up results that I found. Please feel free to reply or email me if you're interested in discussing. Thank you! :)
Michael Wehar

1
would certainly take a look, this is an intriguing approach.
András Salamon

6

Here is an explanation for why a general quartic nondeterministic speed-up of deterministic computation even if true would be hard to prove:

Assume that a general quartic nondeterministic speed-up of deterministic computation like DTime(n4)NTime(n) holds. For the sake of contradiction, assume that SATDTime(o(n2/lgn)). There is a quadratic-time reduction from any problem in NTime(n) to SAT. Combining these we would have DTime(n4)DTime(o(n4/lgn)) contradicting the time hierarchy theorem.

Therefore, a general quartic nonterministic speed-up of deterministic computation would imply a lower-bound for SAT:

DTime(n4)NTime(n)SATDTime(o(n2/lgn)).

Therefore proving a general quadratic nondeterministic speed-up of deterministic computation is at least as hard as proving almost quadratic lower-bounds on SAT.

Similarly, for any well-behaving function f(n):

DTime(f(n2))NTime(n)SATDTime(o(f(n)/lgn)).

(If in place of SAT we pick a problem which is hard for NTime(n) under linear-time reductions then this would give f(n)/lgn lower bound for that problem. If we fix the number of the machine tapes to some k2 then we can use Fürer's time hierarchy theorem which does not have the lgn factor.)


Since we don't even know that SAT is not in DTime(n), we don't know an ω(nlgn)2 speed-up.
Kaveh
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.