Trò chơi sỏi song song trên một dòng


13

Trong trò chơi cuội trên một dòng có các nút N + 1 có nhãn 0 đến N. Trò chơi bắt đầu bằng một viên sỏi trên nút 0. Nếu có một viên sỏi trên nút i, bạn có thể thêm hoặc xóa một viên sỏi khỏi nút i + 1. Mục tiêu là đặt một viên sỏi trên nút N, mà không đặt nhiều viên sỏi trên bảng cùng một lúc và không thực hiện quá nhiều bước.

Giải pháp ngây thơ là đặt một viên sỏi lên 1, rồi 2, rồi 3, vân vân. Điều này là tối ưu về số lượng các bước. Nó không tối ưu về số lượng sỏi tối đa trên bảng cùng một lúc: trong bước cuối cùng có N viên sỏi trên bảng (không tính số 0 trên bảng).

Một chiến lược đặt ít viên sỏi lên bảng cùng một lúc là trong bài viết này . Họ đạt nút N mà không vượt quá Θ(lgN) sỏi tại một thời điểm, nhưng với chi phí ngày càng tăng số lượng các bước để Θ(nlg23) . Họ chuyển đổi xem liệu có một viên sỏi ở vị trí N mà không để lại bất kỳ viên sỏi nào khác không bằng cách chuyển đổi đệ quy N/2 , sử dụng nó làm điểm bắt đầu để chuyển N với một bước đệ quy khác, sau đó chuyển N/2 bằng bước đệ quy nửa thứ ba xóa nó đi

Tôi quan tâm đến sự đánh đổi giữa số lượng sỏi tối đa và số bước, theo giả định rằng việc bổ sung và loại bỏ sỏi có thể được thực hiện song song. Theo "song song" tôi có nghĩa là mỗi bước có thể thêm hoặc xóa bao nhiêu viên sỏi theo ý muốn, miễn là mỗi phép bổ sung / loại bỏ riêng lẻ được cho phép và không tương tác với các bước di chuyển khác được thực hiện. Cụ thể, nếu A là tập hợp các nút mà chúng ta muốn thêm hoặc xóa các viên sỏi khỏi và P là tập hợp các nút có một viên sỏi ở đầu bước, thì chúng ta có thể thực hiện tất cả các bổ sung và loại bỏ đó trong một bước như miễn là {a1|aA}PA .

Ví dụ, hãy xem xét chiến lược mà nơi một viên sỏi tại i trên bước i , nhưng dấu các viên sỏi đó là bội số của N là "điểm kiểm tra" và loại bỏ viên sỏi có chỉ số cao nhất phía sau điểm kiểm tra có sỏi bất cứ khi nào có thể. Chiến lược này vẫn đạt nút N sauNbước, giống như chiến lược ngây thơ, nhưng làm giảm số lượng tối đa sỏi từNđến2N .

Có chiến lược sỏi song song kết thúc trong bước với độ phức tạp tối đa không có triệu chứng thấp hơn không? Điều gì xảy ra nếu chúng tôi sẵn sàng cho phép các bước O ( N lg N ) ? Các điểm "thú vị" là gì, trong đó sự đánh đổi giữa viên sỏi tối đa và thời gian đặc biệt tốt?NO(NlgN)


Trong mỗi bước, bạn có thể thêm hoặc loại bỏ bao nhiêu viên sỏi? Nếu chỉ có một, trong đoạn thứ tư của bạn, bạn có nghĩa là tổng số bước , chứ không phải N ? Khi đếm số viên sỏi được sử dụng, nó có phải là số lượng tối đa trên bảng bất cứ lúc nào trong chuỗi không? O(N)N
Neal Young

@NealYoung Trong trường hợp song song, bạn có thể thêm và xóa bao nhiêu viên sỏi mỗi bước nếu muốn. Nhưng nếu bạn ảnh hưởng đến vị trí thì phải có một viên sỏi ở vị trí k - 1 hiện tại khi bắt đầu bước. Ý tôi là chính xác N bước, nhưng O ( N ) cũng thú vị và tất nhiên bao gồm trong O ( N lg N ) . Vâng, đó là số lượng sỏi tối đa quan trọng. kk1O(N)O(NlgN)
Craig Gidney

Còn chiến lược ban đầu nhưng với "song song hóa" thì sao? Khi chúng ta đạt bắt đầu xóa song song nửa đầu; khi đạt 3 N / 4 bắt đầu xóa phạm vi [ N / 2 - 3 N / 4 ] VÀ tiếp tục xóa nửa đầu song song (tại thời điểm chúng tôi đặt viên sỏi trên 3 N / 4 , chỉ còn lại viên sỏi N / 4 nửa đầu); và cứ thế cho ( 2 k - 1 ) N / 2N/23N/4[N/23N/4]3N/4N/4 lên đến N . Sự phức tạp sỏi nên giống nhau: Θ ( lg N ) , nhưng với N bước. (2k1)N/2kNΘ(lgN)N
Marzio De Biasi

@MarzioDeBiasi Tại sao độ phức tạp của sỏi lại giống nhau? Theo như tôi có thể nói, mối quan hệ lặp lại sẽ đi từ đến F ( n ) = 2 F ( n / 2 ) + 1 = O ( n )F(n)=F(n/2)+1=O(lg(n))F(n)=2F(n/2)+1=O(n) .
Craig Gidney

@CraigGidney: bạn nói đúng ...
Marzio De Biasi

Câu trả lời:


4

EDITS : Đã thêm Bổ đề 2 và 3.

Đây là câu trả lời một phần: Bạn có thể đạt đến vị trí N

  • trong di chuyển sử dụng không gian N O ( ε ( N ) ) , nơi ε ( N ) = 1 / NNO(ϵ(N)) . (Bổ đề 1)ϵ(N)=1/logN
  • trong di chuyển bằng không gian O ( log NN1+δ (với bất kỳ hằng số δ > 0 ) (Bổ đề 2).O(logN)δ>0

Ngoài ra, chúng tôi phác thảo một giới hạn dưới (Bổ đề 3): cho một lớp nhất định của cái gọi là cư xử tốt giải pháp , Bổ đề 1 chặt chẽ (tối đa các yếu tố không đổi trong số mũ) và không có giải pháp nào sử dụng không gian đa log có thể đạt tới vị trí trong thời gian O ( NN .O(NpolylogN)

Bổ đề 1. Đối với tất cả , nó có thể đạt được vị trí n trong n di chuyển sử dụng không gian expnnn

exp(O(logn)) = nO(1/logn)

Bằng chứng. Đề án là đệ quy, như thể hiện trong hình dưới đây. Chúng tôi sử dụng các ký hiệu sau:

  • là số cấp trong đệ quyk
  • là giải pháp được hình thành (với k mức đệ quy).P(k)k
  • là vị trí tối đa đạt được bởi P ( k ) (tại thời điểm N ( k ) ).N(k)P(k)N(k)
  • là không gian được sử dụng bởi P ( k ) .S(k)P(k)
  • là sốlớpđược sử dụng bởi P ( k )L(k)P(k) , như minh họa dưới đây:

                  cấu trúc giải pháp cho bổ đề 1

Trong ảnh, thời gian tiến hành từ trên xuống dưới. Dung dịch không dừng tại thời điểm N ( kP(k) , thay vào đó (để sử dụng trong đệ quy), nó tiếp tục cho đến lần 2N(k) , đảo ngược chính xác các bước di chuyển của nó, để quay trở lại một viên sỏi duy nhất tại thời điểm 22N(k) .2N(k)

Các đường thẳng đứng phân vùng các lớp của P ( k ) . Trong ảnh, L ( k ) là năm, vì vậy P ( k ) bao gồm 5 lớp. Mỗi lớp L ( k ) của P ( k ) k )L(k)P(k)L(k)P(k)L(k)P(k) (ngoại trừ ngoài cùng bên phải) có hai vấn đề phụ, một ở trên cùng của lớp và một ở dưới cùng, được kết nối bằng một đường thẳng đứng vững chắc (đại diện cho một viên sỏi tồn tại cho thời hạn đó). Trong hình, có năm lớp, vì vậy có chín lớp con. Nói chung, P(k) gồm có bài toán con. Mỗi bài toán con của P ( k ) có giải pháp P ( k - 12L(k)1P(k) .P(k1)

Quan sát quan trọng để giới hạn không gian là bất cứ lúc nào, chỉ có hai lớp có các bài toán con "hoạt động". Phần còn lại chỉ đóng góp một viên sỏi như vậy chúng ta có

  • S(k)L(k)+2S(k1)
  • N(k)=L(k)N(k1)

Bây giờ, chúng tôi chọn để xác định đầy đủ P ( k ) . Tôi không chắc lựa chọn này có tối ưu hay không, nhưng có vẻ gần: lấy L ( k ) = 2 k . Sau đó, các đợt tái phát ở trên choL(k)P(k)L(k)=2k

  • S(k)k2k , và
  • N(k)=2k(k+1)/2

Vì vậy, giải quyết cho , chúng tôi có k n=N(k)S(k)k2logn . S(k)2logn22logn=exp(O(logn))

Đây sẽ chăm sóc của tất cả các vị trí trong tập { N ( k ) : k { 1 , 2 , ... } } . Đối với tùy ý n , cắt dưới cùng của giải pháp P ( k ) cho nhỏ nhất k với N ( k ) n . Giới hạn mong muốn được giữ vì S ( k ) / S ( k - 1 ) = O (n{N(k):k{1,2,}}nP(k)kN(k)n . QEDS(k)/S(k1)=O(1)


Bổ đề 2. Đối với bất kỳ , cho tất cả n , nó có thể đạt được vị trí n trong n 1 + δ di chuyển sử dụng không gian O ( δ 2 1 / δ log n ) .δ>0nnn1+δO(δ21/δlogn).

Bằng chứng. Sửa đổi cấu trúc từ bằng chứng bổ đề 1 để trì hoãn bắt đầu mỗi bài toán con cho đến khi bài toán con trước kết thúc, như hình dưới đây:

                  cấu trúc giải pháp cho bổ đề 2

Gọi biểu thị thời gian để giải pháp P ( k ) được sửa đổi kết thúc. Bây giờ ở mỗi bước thời gian, chỉ có một lớp có một bài toán con đóng góp nhiều hơn một viên sỏi, vì vậyT(k)P(k)

  • ,S(k)L(k)+S(k1)
  • ,N(k)=L(k)N(k1)
  • T(k)=(2L(k)1)T(k1)2L(k)T(k1)2kN(k) .

Chọn , chúng tôi nhậnL(k)=21/δ

  • S(k)k21/δ ,
  • N(k)=2k/δ ,
  • .T(k)2kN(k)

Giải quyết cho T = T ( k ) về n = N ( k ) , chúng ta có k = δ log n , vàS=S(k)T=T(k)n=N(k)k=δlogn

  • , vàSδ21/δlogn
  • . Tn1+δ

Đây sẽ chăm sóc của tất cả các vị trí trong tập { N ( k ) : k { 1 , 2 , ... } }n{N(k):k{1,2,}} . Đối với tùy ý , cắt dưới cùng của giải pháp P ( k ) cho nhỏ nhất k với N ( k ) n . Giới hạn mong muốn được giữ vì S ( k ) / S ( k - 1 ) = O (nP(k)kN(k)n . QEDS(k)/S(k1)=O(1)


Các giải pháp trong chứng minh của bổ đề 1 và 2 được well-behaved , trong đó, cho đủ lớn , đối với mỗi giải pháp P ( n ) mà đạt vị trí ) , mỗi cho các vị trí 1 , 2 , ... ,nP(n) có một vị trí k n / 2 sao cho chỉ có một viên sỏi đặt ở vị trí k và dung dịch phân hủy thành dung dịch P ( N - k ) cho các vị trí k + 1 , k + 2 , Khắc , n và hai (giải pháp tốt)nkn/2kP(Nk)k+1,k+2,,n k , nối với nhau bằng những viên sỏi ở vị trí k . Với một định nghĩa thích hợp vềhành vi tốt, hãy để V ( n ) biểu thịkhối lượng sỏitối thiểu(tổng theo thời gian của số viên sỏi mỗi lần) cho bất kỳ giải pháp ứng xử tốt nào. Định nghĩa hàm ý rằng cho đủ lớn n , cho δ = 1 > 0 , V ( n ) min k <P(k)1,2,,kkV(n)nδ=1>0

V(n)mink<nV(nk)+max(n/2,(1+δ)V(k)).

Tôi phỏng đoán rằng với mỗi đủ lớn, có một giải pháp ứng xử tốt giúp giảm thiểu khối lượng sỏi. Có lẽ ai đó có thể chứng minh điều đó? (Hoặc chỉ là một số giải pháp gần tối ưu thỏa mãn sự tái phát ...)n

Nhớ lại rằng .ϵ(n)=1/logn

Bổ đề 3. Đối với bất kỳ liên tục , sự tái diễn trên ngụ ý V ( n ) n 1 + Ω ( ε ( n ) )δ>0V(n)n1+Ω(ϵ(n)) .

Trước khi chúng tôi phác họa bằng chứng về bổ đề, lưu ý rằng nó ngụ ý rằng bất kỳ giải pháp well-behaved đó đạt vị trí trong t bước đã để mất không gian ít nhất n 1 + Ω ( ε ( n ) ) / t tại một số bước. Điều này mang lại hệ quả như:ntn1+Ω(ϵ(n))/t

  • Bổ đề 1 chặt chẽ với các yếu tố không đổi trong số mũ (đối với các giải pháp ứng xử tốt).
  • Không có giải pháp ứng xử tốt nào có thể đạt đến vị trí trongn bước thời gian sử dụng không giannpolylogn . (Sử dụng ở đây là n Ω ( ε ( n ) ) = exp ( Ω ( polylogn .)nΩ(ϵ(n))=exp(Ω(logn))polylogn

Bằng chứng phác thảo. Chúng tôi hiển thị trong đó f ( n ) = n 1 + c ϵ ( n ) cho một số hằng số đủ nhỏ c . Chúng tôi giả định rằng wlog n là tùy tiện lớn, bởi vì bằng cách lấy c > 0 đủ nhỏ, chúng tôi có thể đảm bảo 2 V ( n ) f ( n ) cho bất kỳ tập hữu hạn các n2V(n)f(n)f(n)=n1+cϵ(n)c.nc>02V(n)f(n)n(sử dụng ở đây là V(n)n , nói).

Bổ đề sẽ làm theo cách quy nạp từ sự tái chừng nào, cho tất cả đủ lớn , chúng ta có f ( n ) min k < n f ( n - k ) + max ( n , 2 f ( k ) ) , có nghĩa là, f ( n ) - f ( n - k ) max ( n , ( 1 + δ ) fnf(n)mink<nf(nk)+max(n,2f(k)) cho k < n .f(n)f(nk)max(n,(1+δ)f(k))k<n.

là lồi nên ta có f ( n ) - f ( n - k ) k f ( n ) . Vì vậy, nó cũng đủ nếu k f 'ff(n)f(nk)kf(n)kf(n)max(n,(1+δ)f(k)).

Bằng cách tính toán ngắn (sử dụng f(n)f(n)/n=eclognvà sử dụng một sự thay đổi của các biếnx=f(n)=(f(n)/n)(1+c/(2logn)),y=x=logk ), bất đẳng thức này tương đương như sau: với tất cảyxy,e c y (1+c/(2y))max(e y 2 - x 2 ,(1+δ)e c x zchoz1, nó cũng đủ để hiển thị e c y + c / (y=lognyxy . Kể từ khi 1 + z e z , và e z1 2ecy(1+c/(2y))max(ey2x2,(1+δ)ecx)1+zezez1+2zz1nghĩa là cy+c /ecy+c/(2y)max(ey2x2,e2δ+cx),

cy+c/(2y)max(y2x2,2δ+cx).

Nếu , sau đó c y + c / ( 2 y ) c x + 0,2 δ (đối lớn y ) và chúng tôi đang thực hiện, vì vậy giả thiết y x + 0,1 δ / c . Sau đó, y 2 - x 20,1 y δ / c (ví lớn y ), vì vậy nó cũng đủ để hiển thị c y +yx+0.1δ/ccy+c/(2y)cx+0.2δyyx+0.1δ/cy2x20.1yδ/cy Điều này giữ cho c đủ nhỏvà y lớn . QED

cy+c/(2y)0.1yδ/c.
cy.

FWIW, tôi có một bằng chứng rằng luôn có một giải pháp ứng xử tốt gần như tối ưu, do đó, giới hạn dưới trong Bổ đề 3 áp dụng cho tất cả các giải pháp. Có một chút liên quan để nhập vào đây - nếu có ai quan tâm liên hệ với tôi qua email (google "khoa học máy tính trẻ" để biết thông tin liên hệ).
Neal Young
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.