Bir Hattaki Paralel Çakıl Oyunu


13

Olarak çakıl oyun , bir düğümde çakıl i, eklemek veya düğüm i + 1, bir çakıl taşı kaldırabilir var ise, bir hat üzerinde N. 0 ile düğüm 0. bir çakıl ile oyun başlar etiketli N + 1 düğümleri vardır. Amaç, aynı anda çok fazla çakıl taşı koymadan ve çok fazla adım atmadan N düğümünde bir çakıl taşı koymaktır.

Saf çözüm, 1, sonra 2, sonra 3, vb. Üzerine bir çakıl taşı koymaktır. Bu, adım sayısı açısından en uygunudur. Tahtadaki maksimum çakıl sayısında aynı anda optimal değildir: son adımda tahtada N çakıl vardır (0'da olanı saymaz).

Tahtaya aynı anda daha az çakıl taşı koyan bir strateji bu makalede yer almaktadır . Bir kerede çakıl taşlarını aşmadan N düğümüne ulaşırlar , ancak adım sayısını . tekrarlayan bir şekilde değiştirerek başka bir çakıl taşı bırakmadan konumunda bir çakıl taşı olup olmadığını değiştirir , bunu başka bir özyinelemeli adımla değiştirmek için bir başlangıç ​​noktası olarak kullanır , daha sonra üçüncü bir yarım boyutlu tekrarlamalı adımla değiştirir Temizle.Θ ( n lg 2 3 ) N N / 2 N N / 2Θ(lgN)Θ(nlg23)NN/2NN/2

Çakıl taşları ekleme ve çıkarma işlemlerinin paralel olarak yapılabileceği varsayımı altında maksimum çakıl sayısı ve basamak sayısı arasındaki dengeyle ilgileniyorum. "Paralel" ile ifade etmek gerekirse, her adım, her bir ekleme / çıkarma işlemine izin verildiği ve yapılmakta olan diğer hareketlerle etkileşime girmediği sürece, arzu edilen sayıda çakıl taşı ekleyebilir veya çıkarabilir. Özellikle, , çakıl taşı eklemek veya çıkarmak istediğimiz düğüm kümesiyse ve , adımın başında çakıl taşı olan düğüm kümesiyse, tüm bu eklemeleri ve kaldırmaları tek bir adımda yapabiliriz. sürece .P { a - 1 | a A } P - AAP{a1|aA}PA

Örneğin, strateji düşünün bir çakıl yerleri adım , ancak işaretlerin katları olan çakıl "kontrol noktaları" olarak ve mümkünse bir çakıllı kontrol noktasında arkasında en yüksek endeks çakıl kaldırır. Ancak bu strateji de sonra N düğümü ulaştığında naif strateji gibi, adımlar, fakat çakıl maksimum sayısını azaltır için .ben ii NN2NNN2N

Daha düşük asimptotik maksimum çakıl karmaşıklığı ile adımda biten paralel hat çakıl stratejileri var mı? adımlarına izin vermek istiyorsak ne olur ? Maksimum çakıl taşı ile zaman arasındaki dengenin özellikle iyi olduğu “ilginç” noktalar nelerdir?O ( N lg N )NO(NlgN)


Her adımda kaç tane çakıl taşı ekleyebilir veya çıkarabilirsiniz? Sadece biri varsa, dördüncü paragrafta, cimrilik yapmak ziyade, toplam adımlar ? Kullanılan çakıl taşlarını sayarken, sıra sırasında herhangi bir zamanda tahtadaki maksimum sayı mıdır? NO(N)N
Neal Young

@NealYoung Paralel durumda, adım başına istediğiniz kadar çakıl taşı ekleyebilir ve kaldırabilirsiniz. Ancak pozisyonunu etkiliyorsa , adımın başında pozisyonunda bir çakıl taşı olmalıdır . Tam olarak N adımı kastediyordum, ancak da ilginç ve elbette . Evet, önemli olan maksimum çakıl taşı sayısı. k - 1 O ( N ) O ( N lg N )kk1O(N)O(NlgN)
Craig Gidney

Peki ya "paralelleştirme" ile orijinal strateji? ulaştığımızda ilk yarıyı paralel olarak temizlemeye başlayın; ulaştığında aralığını temizlemeye başlayın ve ilk yarıyı paralel olarak temizlemeye devam edin ( üzerine bir çakıl koyduğumuzda , ilk yarıda sadece çakıl kalıyor ); ve bu için üzerine kadar . Çakıl karmaşıklığı aynı olmalıdır: , ancak adımlarla. 3 N / 4 [ N / 2 - 3 N / 4 ] 3 N / 4 N / 4 ( 2 k - 1 ) N / 2 k N Θ ( lg N ) NN/23N/4[N/23N/4]3N/4N/4(2k1)N/2kNΘ(lgN)N
Marzio De Biasi

@MarzioDeBiasi Çakıl karmaşıklığı neden aynı olsun ki? Anlayabildiğim kadarıyla, nüks ilişkisi ila . 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: haklısın ...
Marzio De Biasi

Yanıtlar:


4

DÜZENLEMELER : Eklenen Önermelerde 2 ve 3'te gösterilmektedir.

Kısmi bir cevap: pozisyonuna ulaşabilirsiniz.N

  • içerisinde alanı kullanarak hareketleri burada, . (Lemma 1)N O ( ϵ ( N ) ) ϵ ( N ) = 1 / NNO(ϵ(N))ϵ(N)=1/logN
  • içerisinde alanı kullanarak hareket (herhangi bir sabiti ) (lemma 2). O ( log N ) δ > 0N1+δO(logN)δ>0

Ayrıca, bir alt sınır çiziyoruz (Lemma 3): iyi kalpli çözümler olarak adlandırılan belirli bir sınıf için Lemma 1 sıkıdır (üssünde sabit faktörlere kadar) ve poli-log alanı kullanan böyle bir çözüm ulaşamaz pozisyon zamanlı .O ( NNO(NpolylogN)

Lemma 1. Tüm için hareketinde konumuna , kullanarak ulaşmak mümkündür.n n exp ( O ( nnn

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

Kanıt. Şema, aşağıdaki şekilde gösterildiği gibi özyinelemelidir. Aşağıdaki formülü kullanırız:

  • k , özyinelemedeki düzey sayısıdır
  • kP(k) oluşan çözeltidir ( tekrarlama seviyesi ile).k
  • P ( k ) N ( k )N(k) , tarafından ulaşılan maksimum konumdur ( zamanında ).P(k)N(k)
  • P ( k )S(k) , tarafından kullanılan alandır .P(k)
  • P ( k )L(k) , aşağıda gösterildiği gibi tarafından kullanılan katman sayısıdır :P(k)

                  lemma için çözelti yapısı 1

Resimde, zaman yukarıdan aşağıya doğru ilerler. çözeltisi zamanında durmaz , bunun yerine (özyinelemede kullanım için , zamanına kadar devam eder, hareketlerini tam olarak tersine çevirir, zaman .N ( k ) 2P(k)N(k)22N(k)2N(k)

Kesintisiz dikey çizgiler nin katmanlarını . Resimde beştir, bu nedenle 5 katmandan oluşur. nin katmanlarının her birinde (en sağdaki hariç) biri katmanın üstünde ve diğeri altta olmak üzere düz bir dikey çizgi (var olan bir çakıl taşı temsil eder) ile bağlantılı iki alt sorun vardır. bu süre). Resimde beş katman var, bu yüzden dokuz alt problem var. Genel olarak, oluşmaktadır altproblemleri. Her alt probleminde çözeltisi bulunur .P ( k ) L ( k ) P ( k ) L ( k ) P ( k ) P ( k ) 2L(k)P(k)L(k)P(k)L(k)P(k)P(k)2L(k)1P(k)P(k1)

Alanı sınırlamak için önemli gözlem, herhangi bir zamanda, sadece iki katmanın "aktif" alt problemlere sahip olmasıdır. Gerisi her biri sadece bir çakıl taşı

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

Şimdi, yi tam olarak belirlemek için yi seçiyoruz . Bu seçimin optimal olup olmadığından emin değilim, ancak yakın görünüyor: . Sonra yukarıdaki nükslerL(k)P(k)L(k)=2k

  • S(k)k2k ve
  • N(k)=2k(k+1)/2

Yani, için çözme , ve . n=N(k)k2lognS(k)2logn22logn=exp(O(logn))

Bu setindeki tüm konumlarıyla ilgilenir . Keyfi için, en küçük için çözeltisinin altını ile düzeltin . İstenen sınır, . QEDn{N(k):k{1,2,}}nP(k)kN(k)nS(k)/S(k1)=O(1)


Lemma 2. herhangi biri için , tüm , konuma ulaşmak mümkündür de alanı kullanarak hareketδ>0nnn1+δO(δ21/δlogn).

Kanıt. Aşağıda gösterildiği gibi, her bir alt problemin önceki alt problemin bitmesine kadar başlamasını geciktirmek için yapıyı Lemma 1'in ispatından değiştirin:

                  lemma 2 için çözelti yapısı

Let modifiye edilmiş çözelti için zamanı belirtmek bitirmek için. Şimdi her zaman adımında, sadece bir katmanın birden fazla çakıl taşına katkıda bulunan bir alt sorunu vardır,T(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) .

Seçimi , elde ederizL(k)=21/δ

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

ve için cinsinden çözme , veS=S(k)T=T(k)n=N(k)k=δlogn

  • Sδ21/δlogn ve
  • Tn1+δ .

Bu setindeki tüm konumlarıyla ilgilenir . Keyfi için, en küçük için çözeltisinin altını ile düzeltin . İstenen sınır, . QEDn{N(k):k{1,2,}}nP(k)kN(k)nS(k)/S(k1)=O(1)


Lemmaları 1 ve 2'nin ispatlarda çözeltileri vardır uslu yeterince büyük için, şöyle ki, , her çözelti için, ulaştığı bir konumda olduğu bir pozisyon vardır tek çakıl gibi olduğu şimdiye kadar pozisyonda yerleştirilmiş ve solüsyon (iyi) çözeltisi parçalanır pozisyonları için ve iki (iyi) çözeltiler , her bir pozisyonlar için , pozisyon olarak çakıl ile bağlı . Uygun bir tanımı ile uslu , izinnP(n)nkn/2kP(Nk)k+1,k+2,,nP(k)1,2,,kkV(n)herhangi bir iyi davranılmış çözüm için minimum çakıl hacmini (her seferinde çakıl sayısının zaman içindeki toplamı) belirtin . Tanım, yeterince büyük için, , nδ=1>0

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

Her yeterince büyük için çakıl hacmini en aza indiren iyi davranılmış bir çözüm olduğunu düşünüyorum. Belki birileri bunu ispatlayabilir? (Ya da en uygun çözümlerden bazıları nüksü karşılar ...)n

hatırlayın .ϵ(n)=1/logn

Lemma 3. Herhangi bir sabit , yukarıdaki yineleme .δ>0V(n)n1+Ω(ϵ(n))

Lemmanın kanıtını çizmeden önce , adımında konumuna ulaşan iyi davranılmış çözümlerin en az yer alması gerektiğini ima ettiğini unutmayın . bir adım. Bu, aşağıdaki gibi sonuçlara yol açar:ntn1+Ω(ϵ(n))/t

  • Lemma 1 üssündeki sabit faktörlere kadar sıkıdır (iyi davranılmış çözeltiler için).
  • Resim uslu solüsyon konuma ulaşmak için de zaman adımları alanı kullanılarak . (Burada . )nnpolylognpolylognnΩ(ϵ(n))=exp(Ω(logn))polylogn

Kanıt kroki. Bu göstermektedir , bazı kadar küçük sabiti WLOG'un keyfi olarak büyük olduğunu varsayıyoruz , çünkü yeterince küçük alarak , herhangi bir sonlu kümesi için sağlayabiliriz (burada , söyle).2V(n)f(n)f(n)=n1+cϵ(n)c.nc>02V(n)f(n)nV(n)n

Lemma tüm yeterince büyük olması, uzun olduğu kadar nüks indüktif takip edecek , elimizdeki , yani içinnf(n)mink<nf(nk)+max(n,2f(k))f(n)f(nk)max(n,(1+δ)f(k))k<n.

Yana isimli dışbükey, elimizdeki . Bu nedenleff(n)f(nk)kf(n)kf(n)max(n,(1+δ)f(k)).

Kısa bir hesaplama ile ( ve ve ve ) değişkenlerini kullanarak , bu eşitsizlik aşağıdakine eşittir: yeterince büyük ve , . Yana , ve için , göstermek için yeterli yani f(n)/n=eclognf(n)=(f(n)/n)(1+c/(2logn)),x=logky=lognyxyecy(1+c/(2y))max(ey2x2,(1+δ)ecx)1+zezez1+2zz1ecy+c/(2y)max(ey2x2,e2δ+cx),

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

Eğer , o zaman (büyük ) ve işimiz bitti, bu yüzden olduğunu varsayın . Sonra (büyük ), bu nedenle göstermek yeterlidir Bu yeterince küçük ve büyük QEDyx+0.1δ/ccy+c/(2y)cx+0.2δyyx+0.1δ/cy2x20.1yδ/cy

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

FWIW, her zaman optimal bir iyi davranmış çözüm olduğuna dair bir kanıtım var, bu yüzden Lemma 3'teki alt sınır tüm çözümler için geçerlidir. Buraya yazmak için biraz fazla dahil - herkes ilgileniyorsa e-posta ile bana ulaşın (iletişim bilgileri için google "neal genç bilgisayar bilimi").
Neal Young
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.