Загублений у концерті "односпрямованого"


16

Ви з другом програли один одного на концерті, і не впевнені, хто з вас попереду. Формально кожен має деяку цілу координату і може йти лише до вищої координати або залишатися на місці.

Якщо припустити, що ви та ваш друг дотримуєтесь точно такого ж алгоритму (і ні, ви можете не сказати "якщо (ім'я ==" R B ") щось робити :)), а початкова відстань між вами двома була (що не вам відомі).x

Який алгоритм мінімізує очікувану відстань пішки, поки ви та ваш друг не зустрінетесь?


Ви можете припустити, що і ваш друг, і ви самі рухаєтесь з однаковою постійною швидкістю.


Приклад простого алгоритму - це щось на зразок:

  1. На стадії (починаючи з ):0n0

    • Пройдіть 3n кроки праворуч wp 12 або чекайте3nодиниць часу інакше.

Щоб побачити цей алгоритм, змушує друзів зустрічатися з ймовірністю 1 розглянути, що відбувається на етапі . Навіть якщо один , який був й кроком попереду завжди йшов і інший завжди залишався на місці, відстань між ними буде: х + 1 + 3 + 9 + ... + 3 журнал 3 х = 2 х + х - 1(log3x+1)x

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

Тому при ітерації друг, який вирішив піти, пройде відстань 3 log 3 x + 1 = 3 x , отже, ймовірність 1log3x+13log3x+1=3x , друг, який позаду, наздожене, і вони зустрінуться.14


Проста оптимізація (зменшити відстань пішки) була б замість того, щоб ходити кроки, ходити c x кроками, де c задано: 2 + 13xcxc

2+1c1=c

Отже, оптимальним для цього алгоритму є c = 3 + c c=3+522.618

На жаль, хоча цей алгоритм гарантує, що друзі зустрінуться з вірогідністю 1, очікувана піша відстань нескінченна, чого б я хотів уникнути, якщо це можливо.

Чи є більш ефективний алгоритм?


Коли ви говорите "очікувана відстань пішки" - ви маєте на увазі, в гіршому випадку, коли алгоритм є імовірнісним, чи ви також припускаєте деякий розподіл на входах? Також - чи потрібно, щоб ваш алгоритм завжди був правильним, або щоб бути правильним wp 1? (чи менше?) - зауважте, що алгоритм, який ви тут представили, може ніколи не зупинятися (але wp 0)
Shaull

Це схоже на проблему лінійного пошуку ( en.wikipedia.org/wiki/Linear_search_problem ).
Yuval Filmus

2
@Shaull - оскільки обидва друзі дотримуються одного алгоритму, він повинен бути імовірнісним, інакше вони ніколи не зустрінуться. Очікувана тривалість перевищує рандомізацію алгоритму.
РБ

Чи означає ви, що в алгоритмі ви ходите одиниці часу вправо з постійною швидкістю C ? Перехід 2 n кроків може не говорити 2 ^ n часу. 2nC2n
吖 奇 说 ARCHY SHUō

@ 0a-архів - ми припускаємо, що обидва рухаються з однаковою швидкістю (нехай це буде 1 для цього питання). Ідея алгоритму, яку я дав, полягає в тому, що ви або ходите2nкроків, або чекаєте рівноцінного часу, тому кожна ітерація починається одночасно для обох гравців. steptime unit2n
РБ

Відповіді:


4

На кроці намалюйте випадкове число q рівномірно між 1 , 2 та 3 .kq123

  • якщо , ходити 2 k - 1 , чекати 2 k + 1 , ходити 2 k - 1q=12k12k+12k1
  • якщо , зачекайте 2 k - 1 , ходіть 2 k - 1 , почекайте 2 k , ходіть 2 k - 1 , почекайте 2 k - 1q=22k12k12k2k12k1
  • якщо , почекайте 2 k , ходіть 2 k , чекайте 2 kq=32k2k2k

На кожному кроці обидва друзі пройдуть 2 к кроки. Якщо k < log 2 ( x ) + 1 , вони не зустрінуться під час цього кроку, проте якщо k > = log 2 ( x ) + 1 , вони зустрінуться, якщо і лише якщо вони не накреслять однакове число. Імовірність того, що цього не відбувається тільки 1 / 3 на кожному кроці.k2kk<log2(x)+1k>=log2(x)+11/3

Отже, очікувана відстань пішки (обмежена вище):

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

Що є кінцевим і рівним, якщо довіряти моїй математиці серветки, до .2log2(x)+3216x

dD>0,P(d>D)>0D=0P(d=D)D=E[d]d є набагато сильнішою властивістю, і я вважаю, що знайти рішення, яке її задовольняє, неможливо.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.