Zagubiony w „jednokierunkowym” koncercie


16

Ty i przyjaciel zgubiliście się na linii na koncercie, i żaden nie jest pewien, który z was jest dalej. Formalnie każda z nich ma jakąś całkowitą współrzędną i może podążać w kierunku wyższej współrzędnej lub pozostać na miejscu.

Zakładając, że ty i twój przyjaciel przestrzegacie dokładnie tego samego algorytmu (i nie, nie można powiedzieć „jeśli (name ==" R B ”) zrób coś :)), a początkowa odległość między wami wynosiła (co nie jest znane tobie).x

Jaki jest algorytm, który minimalizuje oczekiwany dystans pieszy do spotkania się ciebie i twojego przyjaciela?


Możesz założyć, że zarówno twój przyjaciel, jak i ty poruszamy się z tą samą stałą prędkością.


Przykładowy prosty algorytm mógłby wyglądać następująco:

  1. Na etapie (od 0 ):n0

    • Przejdź kroków w prawo wp 13n lub poczekaj3njednostek czasu inaczej.123n

Aby zobaczyć ten algorytm, przyjaciele spotykają się z prawdopodobieństwem 1 zastanów się, co dzieje się na etapie . Nawet jeśli przyjaciel, który był x krok do przodu zawsze chodził, a drugi zawsze pozostawał na miejscu, odległość między nimi byłaby: x + 1 + 3 + 9 + + 3 log 3 x = 2(log3x+1)x

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

Dlatego przy iteracji przyjaciel, który zdecyduje się przejść, pokona odległość 3 dziennika 3 x + 1 = 3 x , stąd z prawdopodobieństwem 1log3x+13log3x+1=3x , przyjaciel, który jest z tyłu, dogoni i spotka się.14


Prostą optymalizacją (w celu zmniejszenia odległości chodzenia) byłoby, zamiast chodzenia kroków, chodzenie c x kroków, gdzie c jest podane przez: 2 + 13xcxc

2+1c1=c

Dlatego optymalnym dla tego algorytmu jest cc c=3+522.618

Niestety, podczas gdy ten algorytm gwarantuje, że znajomi spotkają się z prawdopodobieństwem 1, oczekiwany dystans marszu jest nieskończony, czego chciałbym uniknąć, jeśli to możliwe.

Czy istnieje bardziej wydajny algorytm?


Kiedy mówisz „oczekiwany dystans marszu” - czy masz na myśli w najgorszym przypadku, gdy algorytm jest probabilistyczny, czy też zakładasz pewien rozkład na wejściach? Ponadto - czy wymagasz, aby algorytm był zawsze poprawny, czy poprawny wp 1? (lub mniej?) - zwróć uwagę, że algorytm, który tu prezentujesz, może nigdy nie zostać zatrzymany (ale wp 0)
Shaull

Jest to podobne do problemu wyszukiwania liniowego ( en.wikipedia.org/wiki/Linear_search_problem ).
Yuval Filmus

2
@Shaull - ponieważ obaj przyjaciele stosują ten sam algorytm, musi być probabilistyczny, inaczej nigdy się nie spotkają. Oczekiwanie jest ponad randomizacją algorytmu.
RB

Czy w twoim algorytmie masz na myśli przejście jednostki czasu w prawo przy stałej prędkości C ? Chodzenie 2 n krokami może nie mówić 2 razy. 2nC2n
吖 奇 说 ARCHIA SHUō

@ 0a-archy - zakładamy, że oba poruszają się z tą samą prędkością (niech będzie to 1 dla tej sprawy). Pomysł w algorytmie Dałem to, że albo chodzić2nkroków lub czekać równoważnego czasu, więc każdy startów iteracji jednocześnie dla obu graczy. steptime unit2n
RB

Odpowiedzi:


4

W kroku narysuj losowo liczbę q równomiernie między 1 , 2 i 3 .kq123

  • jeśli , przejdź 2 k - 1 , poczekaj 2 k + 1 , przejdź 2 k - 1q=12k12k+12k1
  • jeśli , poczekaj 2 k - 1 , przejdź 2 k - 1 , poczekaj 2 k , przejdź 2 k - 1 , poczekaj 2 k - 1q=22k12k12k2k12k1
  • jeśli , poczekaj 2 k , przejdź 2 k , poczekaj 2 kq=32k2k2k

Na każdym kroku obaj przyjaciele przejdą 2 k kroków. Jeśli k < log 2 ( x ) + 1 , nie spotkają się podczas tego kroku, jednak jeśli k > = log 2 ( x ) + 1 , spotkają się wtedy i tylko wtedy, gdy nie narysują tego samego numeru. Prawdopodobieństwo, że to nie zdarza się to tylko 1 / 3 na każdym kroku.k2kk<log2(x)+1k>=log2(x)+11/3

Dlatego oczekiwany dystans marszu jest (ograniczony powyżej):

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

Który jest skończony i równy, jeśli mam zaufać mojej matematyce serwetkowej , do .2log2(x)+3216x

Nawiasem mówiąc, jeśli jest zmienną losową reprezentującą przebytą odległość, nadal mamy to D > 0 , P ( d > D ) > 0 , tj. Odległość jest nieograniczona i może być dowolnie wysoka. Na szczęście prawdopodobieństwo to zanika wystarczająco szybko, aby zapewnić, że nieskończona suma D = 0 P ( d = D ) D = E [ d ] zbiega się. Posiadanie skończonej górnej granicy dladD>0,P(d>D)>0D=0P(d=D)D=E[d]d jest znacznie silniejszą własnością i uważam, że nie jest możliwe znalezienie rozwiązania, które by to spełniło.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.