“Tek yönlü” bir konserde kayboldu


16

Sen ve bir arkadaşınız bir konser sırasında birbirinizi kaybettiniz ve ikiniz de hanginizin daha ileriye gittiğinden emin değilsiniz. Resmi olarak, her biri bir tamsayı koordinatındadır ve sadece daha yüksek bir koordinata doğru yürüyebilir veya yerinde kalabilir.

Siz ve arkadaşınızın tam olarak aynı algoritmayı izlediğini varsayarsak (ve hayır, "if (= =" R B ") bir şey yaparsanız :) diyemezsiniz ve ikiniz arasındaki başlangıç ​​mesafesi x (ki bu bilinen).

Siz ve arkadaşınız buluşana kadar beklenen yürüme mesafesini en aza indiren algoritma nedir?


Hem arkadaşınızın hem de kendinizin aynı sabit hızda hareket ettiğini varsayabilirsiniz.


Örnek bir basit algoritma şuna benzer:

  1. aşamasında n( başlayarak 0):

    • Sağ wp 3n adım yürüyün 12 veyaaksi takdirde3nzaman birimibekleyin.

Bu algoritmayı görmek için arkadaşların olasılıkla buluşmasını sağlar 1 aşamada neler olduğunu düşünün . X adım önde olan arkadaş her zaman yürüse ve diğeri her zaman yerinde kalsa bile , ikisi arasındaki mesafe: x + 1 + 3 + 9 + + 3 log 3 x = 2 x + x - 1(log3x+1)x

x+1+3+9++3log3x=2x+x123x

Bu nedenle, yinelemesinde, yürümeyi seçen arkadaş 3 log 3 x + 1 = 3 x mesafesini , dolayısıyla olasılık 1'i kapsayacaktır.log3x+13log3x+1=3x14 , arkasında olan arkadaş yetişecek ve buluşacaklar.


Basit bir optimizasyon (yürüme mesafesini azaltmak için), adım yürümek yerine c x adım yürümek , c tarafından verilir: 2 + 13xcxc

2+1c1=c

Bu nedenle en iyi , bu yöntem için olan C = 3 +c c=3+522.618

Ne yazık ki, bu algoritma arkadaşların olasılık 1 ile buluşacağını garanti ederken, beklenen yürüme mesafesi sonsuzdur, bu da mümkünse kaçınmak istediğim bir şeydir.

Daha verimli bir algoritma var mı?


"Beklenen yürüme mesafesi" dediğinizde - en kötü durumda, algoritmanın olasılıklı olduğu veya girişler üzerinde bir miktar dağılım olduğunu mu düşünüyorsunuz? Ayrıca - algoritmanızın daima doğru veya wp 1 olmasını mı istiyorsunuz? (veya daha az?) - burada sunduğunuz algoritmanın asla
durmayabileceğini

Bu, doğrusal arama sorununa benzer ( en.wikipedia.org/wiki/Linear_search_problem ).
Yuval Filmus

2
@Shaull - her iki arkadaş da aynı algoritmayı takip ettiğinden, olasılıklı olmalı veya asla buluşmayacaklar. Beklenti, algoritmanın randomizasyonunun üzerindedir.
RB

Algoritmanızda sabit hız C ile sağa doğru birim zaman yürümek mi demek istiyorsunuz ? 2 n adımda yürümek 2 ^ n kez konuşmayabilir. 2nC2n
CH 奇 说 ARCHY SHUō

@ 0a-archy - her ikisinin de aynı hızda hareket ettiğini varsayarız (1 bu konu için zaman birimi birimi). Verdiğim algoritmadaki fikir, ya2nadımyürümek yada eşdeğer zamanı beklemenizdir, bu nedenle her yineleme her iki oyuncu için aynı anda başlar. steptime unit2n
RB

Yanıtlar:


4

adımında , 1 , 2 ve 3 arasında eşit olarak rasgele bir sayı q çizin .kq123

  • eğer , yürümek 2 k - 1 , bekle 2 k + 1 , yürümek 2 k - 1q=12k12k+12k1
  • eğer , bekle 2 k - 1 , yürümek 2 k - 1 , bekle 2 k , yürüyüş 2 k - 1 , bekle 2 k - 1q=22k12k12k2k12k1
  • eğer , bekle 2 k , yürüyüş 2 k , bekle 2 kq=32k2k2k

Her adımında , her iki arkadaş da 2 k adım yürür . Eğer k < log 2 ( x ) + 1 ancak, onlar, o adımı sırasında karşılamak olmaz k > = log 2 ( x ) + 1 , onlar bir araya gelecek ve eğer onlar aynı numarayı çizmiyorsun yalnızca. Bunun gerçekleşmeme olasılığı her adımda sadece 1 / 3'tür .k2kk<log2(x)+1k>=log2(x)+11/3

Dolayısıyla, beklenen yürüme mesafesi (yukarıda sınırlandırılmıştır):

2(k=0log2(x)2k+3log2(x)k=log2(x)+1(23)k)

Hangi sonlu ve benim peçete matematik güvenilir istiyorsak için, eşit 2log2(x)+3216x .

Bu arada, , yürünen mesafeyi temsil eden rastgele değişkense, hala D > 0 , P ( d > D ) > 0'a sahibiz , yani mesafe sınırsızdır ve keyfi olarak yüksek olabilir. Neyse ki bu olasılık sonsuz toplam D = 0 P ( d = D ) D = E [ d ] yakınsamasını sağlayacak kadar hızlı yok olur . D için sonlu bir üst sınır olmasıdD>0,P(d>D)>0D=0P(d=D)D=E[d]d çok daha güçlü bir özelliktir ve bunu tatmin edici bir çözüm bulmak mümkün değildir.

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.