EDIT : aggiunti Lemmi 2 e 3.
Ecco una risposta parziale: puoi raggiungere la posizione N
- in sposta usando lo spazio N O ( ϵ ( N ) ) , dove ϵ ( N ) = 1 / √NNO(ϵ(N)) . (Lemma 1)ϵ(N)=1/logN−−−−−√
- in sposta usando lo spazio O ( log N ) (per qualsiasi costante δ > 0 ) (Lemma 2).N1+δO(logN)δ>0
Inoltre, tracciamo un limite inferiore (Lemma 3): per una certa classe di cosiddette soluzioni ben educate , Lemma 1 è stretto (fino a fattori costanti nell'esponente) e nessuna soluzione del genere che utilizza lo spazio polilogo può raggiungere posizione nel tempo O ( NN .O(NpolylogN)
Lemma 1. Per tutti , è possibile raggiungere la posizione n in n mosse usando lo spazio exp ( O ( √nnnexp(O(logn−−−−√)) = nO(1/logn√)
Prova. Lo schema è ricorsivo, come mostrato nella figura seguente. Utilizziamo la seguente notazione:
- è il numero di livelli nella ricorsionek
- è la soluzione formata (con k livelli di ricorsione).P(k)k
- è la posizione massima raggiunta da P ( k ) (al momento N ( k ) ).N(k)P(k)N(k)
- è lo spazio utilizzato da P ( k ) .S(k)P(k)
- è il numero distratiutilizzati da P ( k ) , come illustrato di seguito:L(k)P(k)
Nell'immagine, il tempo procede dall'alto verso il basso. La soluzione non si ferma al tempo N ( k ) , invece (per l'uso nella ricorsione) continua fino al tempo 2P(k)N(k) , invertendo esattamente le sue mosse, in modo da tornare a un singolo ciottolo al tempo 22N(k) .2N(k)
Le linee verticali continue dividono gli strati di P ( k ) . Nell'immagine, L ( k ) è cinque, quindi P ( k ) è composto da 5 strati. Ciascuno degli strati L ( k ) di P ( k ) (tranne quello più a destra) ha due sotto-problemi, uno nella parte superiore dello strato e uno nella parte inferiore, collegati da una linea verticale solida (che rappresenta un ciottolo che esiste per quella durata). Nell'immagine, ci sono cinque livelli, quindi ci sono nove sottoproblemi. In generale, P (L(k)P(k)L(k)P(k)L(k)P(k) è composto da 2P(k) sottoproblemi. Ogni sottoproblema di P ( k ) ha la soluzione P ( k - 1 ) .2L(k)−1P(k)P(k−1)
L'osservazione cruciale per delimitare lo spazio è che, in qualsiasi momento, solo due strati hanno sottoproblemi "attivi". Il resto contribuisce con un solo ciottolo ciascuno così abbiamo
- eS(k)≤L(k)+2S(k−1)
- N(k)=L(k)⋅N(k−1)
Ora scegliamo per determinare completamente P ( k ) . Non sono sicuro che questa scelta sia ottimale, ma sembra vicino: prendere L ( k ) = 2 k . Quindi le ricorrenze di cui sopra dannoL(k)P(k)L(k)=2k
- , eS(k)≤k⋅2k
- N(k)=2k(k+1)/2
Quindi, risolvendo per , abbiamo k ≈ √n=N(k)
eS(k)≈ √k≈2logn−−−−−√. S(k)≈2logn−−−−−√22logn√=exp(O(logn−−−−√))
Questo si occupa di tutte le posizioni nell'insieme { N ( k ) : k ∈ { 1 , 2 , ... } } . Per n arbitrario , tagliare la parte inferiore della soluzione P ( k ) per il più piccolo k con N ( k ) ≥ n . Il limite desiderato vale perché S ( k ) / S ( k - 1 ) = O (n{N(k):k∈{1,2,…}}nP(k)kN(k)≥n . QEDS(k)/S(k−1)=O(1)
Lemma 2. Per qualsiasi , per tutti n , è possibile raggiungere la posizione n in n 1 + δ mosse usando lo spazio O ( δ 2 1 / δ log n ) .δ>0nnn1+δO(δ21/δlogn).
Prova. Modificare la costruzione dalla dimostrazione di Lemma 1 per ritardare l'avvio di ciascun sottoproblema fino alla fine del precedente sottoproblema, come mostrato di seguito:
Lascia che indichi il tempo di completamento della soluzione modificata P ( k ) . Ora ad ogni passaggio, solo un livello ha un sottoproblema che contribuisce a più di un ciottolo, quindiT(k)P(k)
- ,S(k)≤L(k)+S(k−1)
- ,N(k)=L(k)⋅N(k−1)
- .T(k)=(2L(k)−1)⋅T(k−1)≤2L(k)⋅T(k−1)≤2kN(k)
Scegliendo , otteniamoL(k)=21/δ
- ,S(k)≤k21/δ
- ,N(k)=2k/δ
- .T(k)≤2kN(k)
Risolvendo per e T = T ( k ) in termini di n = N ( k ) , abbiamo k = δ log n , eS=S(k)T=T(k)n=N(k)k=δlogn
- , eS≤δ21/δlogn
- . T≤n1+δ
Questo si occupa di tutte le posizioni nell'insieme { N ( k ) : k ∈ { 1 , 2 , ... } } . Per n arbitrario , tagliare la parte inferiore della soluzione P ( k ) per il più piccolo k con N ( k ) ≥ n . Il limite desiderato vale perché S ( k ) / S ( k - 1 ) = O (n{N(k):k∈{1,2,…}}nP(k)kN(k)≥n . QEDS(k)/S(k−1)=O(1)
Le soluzioni nelle dimostrazioni dei Lemmi 1 e 2 sono ben educate , in quanto, per sufficientemente grande , per ogni soluzione P ( n ) che raggiunge la posizione n c'è una posizione k ≤ n / 2 tale che un solo ciottolo sia mai posto nella posizione k , e la soluzione si decompone in una soluzione (ben educata) P ( N - k ) per le posizioni k + 1 , k + 2 , … , n e due soluzioni (ben educate)nP(n)nk≤n/2kP(N−k)k+1,k+2,…,n , ciascuno per le posizioni 1 , 2 , … , k , collegato dal ciottolo nella posizione k . Con un'opportuna definizione diben educato, lascia che V ( n ) indichi ilvolumeminimo dighiaia(la somma nel tempo del numero di ciottoli per volta) per qualsiasi soluzione ben educata. La definizione implica che per n sufficientemente grande, per δ = 1 > 0 ,
V ( n ) ≥ min k <P(k)1,2,…,kkV(n)nδ=1>0
V(n)≥mink<nV(n−k)+max(n/2,(1+δ)V(k)).
Suppongo che per ogni sufficientemente grande esiste una soluzione ben educata che minimizza il volume di ghiaia. Forse qualcuno può provarlo? (O solo che una soluzione quasi ottimale soddisfa la ricorrenza ...)n
Ricordiamo che .ϵ(n)=1/logn−−−−√
Lemma 3. Per qualsiasi costante , la suddetta ricorrenza implica V ( n ) ≥ n 1 + Ω ( ϵ ( n ) ) .δ>0V(n)≥n1+Ω(ϵ(n))
Prima di disegnare la dimostrazione del lemma, si noti che implica che qualsiasi soluzione ben condotta che raggiunge la posizione in t passi deve occupare almeno n 1 + Ω ( ϵ ( n ) ) / t ad un certo passo. Ciò produce corollari come:ntn1+Ω(ϵ(n))/t
- Lemma 1 è strettamente legato ai fattori costanti dell'esponente (per soluzioni ben educate).
- No well-behaved solution can reach position n in npolylogn time steps using space polylogn. (Using here that nΩ(ϵ(n))=exp(Ω(logn−−−−√))⊈polylogn.)
Proof sketch. We show 2V(n)≥f(n) where f(n)=n1+cϵ(n) for some sufficiently small constant c. We assume WLOG that n is arbitrarily large, because by taking c>0 small enough, we can ensure 2V(n)≥f(n) for any finite set of n (using here that V(n)≥n, say).
The lemma will follow inductively from the recurrence as long as, for all sufficiently large n, we have f(n)≤mink<nf(n−k)+max(n,2f(k)), that is, f(n)−f(n−k)≤max(n,(1+δ)f(k)) for k<n.
Since f is convex, we have f(n)−f(n−k)≤kf′(n). So it suffices if kf′(n)≤max(n,(1+δ)f(k)).
By a short calculation (using f(n)/n=eclogn√ and f′(n)=(f(n)/n)(1+c/(2logn−−−−√)), and using a change of variables x=logk−−−−√ and y=logn−−−−√), this inequality is equivalent to the following:
for all sufficiently large y and x≤y, ecy(1+c/(2y))≤max(ey2−x2,(1+δ)ecx). Since 1+z≤ez, and ez≤1+2z for z≤1, it suffices to show
ecy+c/(2y)≤max(ey2−x2,e2δ+cx), that is,
cy+c/(2y)≤max(y2−x2,2δ+cx).
If y≤x+0.1δ/c, then cy+c/(2y)≤cx+0.2δ (for large y) and we are done, so assume y≥x+0.1δ/c. Then y2−x2≥0.1yδ/c (for large y), so it suffices to show
cy+c/(2y)≤0.1yδ/c.
This holds for sufficiently small
c and large
y. QED