EDIT : Menambahkan Lemmas 2 dan 3.
Ini jawaban parsial: Anda dapat mencapai posisi N
- di bergerak menggunakan spasi N O ( ϵ ( N ) ) , di mana ϵ ( N ) = 1 / √NNO(ϵ(N)) . (Lemma 1)ϵ(N)=1/logN−−−−−√
- pada bergerak menggunakan spasi O ( log N ) (untuk konstanta δ > 0 ) (Lemma 2).N1+δO(logN)δ>0
Juga, kami membuat sketsa batas bawah (Lemma 3): untuk kelas tertentu dari apa yang disebut solusi berperilaku baik , Lemma 1 ketat (hingga faktor konstan dalam eksponen), dan tidak ada solusi seperti itu menggunakan ruang poly-log dapat mencapai posisi dalam waktu O ( NN .O(NpolylogN)
Lemma 1. Untuk semua , dimungkinkan untuk mencapai posisi n dalam n bergerak menggunakan exp ruang ( O ( √nnnexp(O(logn−−−−√)) = nO(1/logn√)
Bukti. Skema ini bersifat rekursif, seperti yang ditunjukkan pada gambar di bawah ini. Kami menggunakan notasi berikut:
- adalah jumlah level dalam rekursik
- adalah solusi yang terbentuk (dengantingkat rekursi k ).P(k)k
- adalah posisi maksimum yang dicapai oleh P ( k ) (pada saat N ( k ) ).N(k)P(k)N(k)
- adalah ruang yang digunakan oleh P ( k ) .S(k)P(k)
- adalah jumlahlapisan yangdigunakan oleh P ( k ) , seperti yang diilustrasikan di bawah ini:L(k)P(k)
Dalam gambar, waktu mulai dari atas ke bawah. Solusi tidak berhenti pada waktu N ( k ) , sebagai gantinya (untuk digunakan dalam rekursi) itu berlanjut sampai waktu 2P(k)N(k) , tepatnya membalikkan gerakannya, sehingga dapat kembali ke kerikil tunggal pada waktu 22N(k) .2N(k)
Garis vertikal solid mempartisi lapisan dari P ( k ) . Dalam gambar, L ( k ) adalah lima, jadi P ( k ) terdiri dari 5 lapisan. Masing-masing dari L ( k ) lapisan P ( k ) (kecuali paling kanan) memiliki dua sub-masalah, satu di bagian atas lapisan dan satu di bagian bawah, terhubung oleh garis vertikal yang solid (mewakili kerikil yang ada untuk durasi itu). Dalam gambar, ada lima lapisan, jadi ada sembilan submasalah. Umumnya, P (L(k)P(k)L(k)P(k)L(k)P(k) terdiri dari 2P(k) submasalah. Setiap sub masalah dari P ( k ) memiliki solusi P ( k - 1 ) .2L(k)−1P(k)P(k−1)
Pengamatan penting untuk membatasi ruang adalah bahwa, setiap saat, hanya dua lapisan yang memiliki subproblem "aktif". Sisanya berkontribusi masing-masing satu kerikil yang kita miliki
- , danS(k)≤L(k)+2S(k−1)
- N(k)=L(k)⋅N(k−1)
Sekarang, kami memilih untuk sepenuhnya menentukan P ( k ) . Saya tidak yakin apakah pilihan ini optimal, tetapi tampaknya dekat: ambil L ( k ) = 2 k . Kemudian rekurensi di atas memberiL(k)P(k)L(k)=2k
- , danS(k)≤k⋅2k
- N(k)=2k(k+1)/2
Jadi, penyelesaian untuk , kita memiliki k ≈ √n=N(k)
danS(k)≈ √k≈2logn−−−−−√. S(k)≈2logn−−−−−√22logn√=exp(O(logn−−−−√))
Ini menangani semua posisi dalam set { N ( k ) : k ∈ { 1 , 2 , … } } . Untuk n sembarang , pangkas bagian bawah larutan P ( k ) untuk k terkecil dengan N ( k ) ≥ n . Batas yang diinginkan berlaku karena 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. Untuk , untuk semua n , dimungkinkan untuk mencapai posisi n dalam n 1 + δ bergerak menggunakan spasi O ( δ 2 1 / δ log n ) .δ>0nnn1+δO(δ21/δlogn).
Bukti. Ubah konstruksi dari bukti Lemma 1 untuk menunda memulai setiap subproblem hingga subproblem sebelumnya selesai, seperti yang ditunjukkan di bawah ini:
Biarkan menunjukkan waktu penyelesaian solusi P ( k ) yang selesai. Sekarang pada setiap langkah waktu, hanya satu lapisan yang memiliki subproblem yang menyumbang lebih dari satu kerikil, jadiT(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)
Memilih , kita dapatkanL(k)=21/δ
- ,S(k)≤k21/δ
- ,N(k)=2k/δ
- .T(k)≤2kN(k)
Memecahkan untuk dan T = T ( k ) dalam hal n = N ( k ) , kita memiliki k = δ log n , danS=S(k)T=T(k)n=N(k)k=δlogn
- , danS≤δ21/δlogn
- . T≤n1+δ
Ini menangani semua posisi dalam set { N ( k ) : k ∈ { 1 , 2 , … } } . Untuk n sembarang , pangkas bagian bawah larutan P ( k ) untuk k terkecil dengan N ( k ) ≥ n . Batas yang diinginkan berlaku karena S ( k ) / S ( k - 1 ) = O (n{N(k):k∈{1,2,…}}nP(k)kN(k)≥n . QEDS(k)/S(k−1)=O(1)
Solusi dalam bukti Lemmas 1 dan 2 berperilaku baik , dalam hal itu, untuk cukup besar , untuk setiap solusi P ( n ) yang mencapai posisi n ada posisi k ≤ n / 2 sehingga hanya satu kerikil yang pernah ada ditempatkan pada posisi k , dan solusi terurai menjadi solusi (berperilaku baik) P ( N - k ) untuk posisi k + 1 , k + 2 , … , n dan dua solusi (berperilaku baik)nP(n)nk≤n/2kP(N−k)k+1,k+2,…,n , masing-masing untuk posisi 1 , 2 , ... , k , dihubungkan oleh kerikil di posisi k . Dengan definisi yang tepat tentangperilaku baik, misalkan V ( n ) menunjukkanvolume kerikilminimum(jumlah dari waktu ke waktu jumlah kerikil pada setiap waktu) untuk solusi apa pun yang berperilaku baik. Definisi tersebut menyiratkan bahwa untuk n yang cukup besar, untuk δ = 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)).
Saya menduga bahwa untuk setiap cukup besar ada solusi yang berperilaku baik yang meminimalkan volume kerikil. Mungkin seseorang bisa membuktikannya? (Atau hanya beberapa solusi yang hampir optimal memenuhi pengulangan ...)n
Ingat bahwa .ϵ(n)=1/logn−−−−√
Lemma 3. Untuk konstanta , pengulangan di atas menyiratkan V ( n ) ≥ n 1 + Ω ( ϵ ( n ) ) .δ>0V(n)≥n1+Ω(ϵ(n))
Sebelum kita membuat sketsa bukti lemma, perhatikan bahwa itu menyiratkan bahwa setiap solusi berperilaku baik yang mencapai posisi dalam t langkah harus mengambil ruang setidaknya n 1 + Ω ( ϵ ( n ) ) / t pada beberapa langkah. Ini menghasilkan akibat wajar seperti:ntn1+Ω(ϵ(n))/t
- Lemma 1 ketat hingga faktor konstan dalam eksponen (untuk solusi yang berperilaku baik).
- 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