Як знайти дружину в супермаркеті?


27

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

Я думаю, що деякі алгоритми мають деякі характеристики:

  • Кожна людина повинна вміти виводити це за допомогою логіки, яка не передбачає припущень щодо того, що вирішує інша людина, але оскільки кожна людина знає, що інший знаходиться в одному і тому ж становищі, вони можуть робити відрахування щодо того, що повинен вирішити інший .
  • Ідентичний алгоритм повинен бути виведений обома людьми, оскільки існує повна симетрія в їх ситуаціях (ні один з них не знає про вихідне положення іншого, а лабіринт - фіксованого розміру і повністю відображений обома). Зауважте, що алгоритм не повинен бути детермінованим: його можна довільно рандомізувати.

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

7
Логічна відповідь - зателефонувати їй на мобільний телефон;)
DavidPostill

2
Відповідь, що не стосується CS, полягає у переході до пункту Schelling . У супермаркеті це може бути, наприклад, служба обслуговування клієнтів або вихід. Однак зауважте, що в житті людини точки Шеллінга часто залежать як від поведінки та знань людини, а не від алгоритмічного аналізу моделей зв’язку, тому перспектива CS насправді не дає великого розуміння, коли ми говоримо про людських агентів. Ви справді хочете запитати про людей у реальному житті, чи ви хочете задати математичне запитання щодо роботизованих агентів в ідеалізованій обстановці?
DW

Відповіді:


19

Це називається проблемою рандеву .

Як зазначено у статті: Мобільний агент Rendezvous: згадане опитування , ця проблема є оригінальною запропонованою компанією Alpern: Проблема пошуку рандеву :

Два космонавти приземляються на сферичне тіло, яке набагато більше, ніж радіус виявлення (усередині якого вони можуть бачити один одного). Тіло не має фіксованої орієнтації в просторі, а також не має осі обертання, так що астронавти не мають загального поняття положення чи напрямку для координації. З огляду на одиничну швидкість ходьби для обох космонавтів, як вони повинні рухатися так, щоб мінімізувати очікуваний час зустрічі T (до того, як вони прийдуть в радіусі виявлення)?

У опитувальному документі вище

Анотація: Останні результати щодо проблеми рандеву мобільних агентів у розподілених мережах досліджуються з акцентом на окреслення різних підходів, застосованих дослідниками теоретичної спільноти інформатики.

Він охоплює як «Асиметричне рандеву» (у розділі 4), так і «Симетричне рандеву» (у розділі 5).


Для симетричного рандеву у статті Альперна показано:

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


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

-1

Насправді будь-яка послідовна заздалегідь узгоджена схема дійсно буде.

Наприклад:

  1. Поворот завжди вліво
  2. Якщо в глухий кут, ви повернетесь до попереднього розвороту і поверніть праворуч
  3. Один повинен буде пройти подвійну (попередньо домовлену) швидкість іншого (або, більш теоретично, число обох агентів має бути відносно простим, або, як правило, лінійно незалежним).

Або навіть простіше

  1. Один агент залишається там же
  2. У той час як інший використовує послідовну схему дослідження лабіринту (наприклад, використовуючи підхід Аріадна нитка ).
  3. Зрештою, у визначений час вони зустрінуться.

Ця схема гарантує, що люди зустрінуться навряд чи (але це може зайняти деякий час)

Чому? Тому що схема узгоджується для обох і не призводить ні до тупикової ситуації. Оскільки лабіринт кінцевий і пов'язаний, через кінцевий час вони зустрінуться.

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

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

З викладеного видно, що схему потрібно попередньо домовитись, але будь-яка послідовна заздалегідь узгоджена схема зробить це.

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

Можна також розглянути зворотні від зближення проблеми , то проблема уникнення , де метою є для агентів , щоб завжди уникати один одного .

Рішення проблеми уникнення полягає в тому, щоб агенти точно відображали один одного. Це означає, що те, що один агент робить іншим, повинно це відображати. Оскільки проблема уникнення також має рішення , зрозуміло, що стратегії проблеми рандеву, які можуть призвести до відображення поведінки агентів, не можуть гарантувати її вирішення.

Можна сказати, що стратегія проблеми уникнення - це паралелізація (тобто максимальна розбіжна точка), тоді як стратегія проблеми рандеву - ортогональність (тобто найменш збіжна точка)

Вищевказаний аналіз може бути перетворений на рандомізований алгоритм, який не бере на себе попередньо домовлених ролей для агентів, наприклад:

  1. Кожен агент кидає монету, яку роль обрати (наприклад, залишаючись на місці або досліджуючи лабіринт)
  2. Потім вони продовжують, як описано вище.

Це в середньому призведе до того, що люди врешті-решт зустрінуться, але це не гарантується в усіх випадках.

Якщо припустити, що агенти можуть залишати сліди , наприклад, мітки їх (поточного) напрямку та швидкості. Потім інший агент може використовувати ці сліди як інформацію для регулювання як власного напрямку, так і швидкості (див. Нижче).

Така проблема є прикладом глобальної оптимізації з використанням лише локальної інформації . Або, іншими словами, спосіб зіставити глобальні обмеження на локальні обмеження . Ця, більш загальна проблема (яка охоплює проблему рандеву) вирішується в цій публікації math.se (та посиланнях на неї) "Методи перекладу глобальних обмежень на локальні обмеження".


"Один агент залишається там же" порушує властивість симетрії, якої хоче ОП. де обидва агенти дотримуються однакової стратегії.
AndyG

@AndyG, так, ця частина відповіді наведена нижче, використовуючи ряд підходів. На це відповідь, зазначивши, що рішення не гарантується в цьому випадку
Nikos M.

1
@NikosM. Я не вважаю, що потрібна будь-яка синхронізація. Можна сформулювати цю проблему як сценарій ухилення від переслідування, коли обидва агенти розглядають інших як ухиляються. Імовірнісні підходи до вирішення цієї проблеми існують, і в 3D-середовищі можна показати мінімальну кількість переслідувачів, необхідних для гарантування захоплення.
AndyG

1
"Завжди поверніть ліворуч" не працює. Припустимо, ви перебуваєте на проході 2, а ваша дружина - на проході 5. Ви будете ходити вгору і вниз по проходах 2 і 3 (або 1 і 2, залежно від того, з якого шляху ви спочатку стикалися) назавжди, а ваша дружина буде ходити вгору і вниз 5 і 6 (або 4 і 5). Крім того, якщо ви перебуваєте в невеликому супермаркеті, графік зв’язку якого є циклом, ви можете просто пройти довкола циклу назавжди, в тому ж напрямку та з однаковою швидкістю.
Девід Річербі

1
"Один агент залишається на тому самому місці, інший робить щось інше" не працює, оскільки обидва агенти можуть вибрати, щоб залишитися нерухомим і чекати іншого назавжди. Якщо агенти можуть спілкуватися, щоб домовитись, хто буде стояти на місці, вони також можуть повідомити той факт, що один з них стоїть біля бананів.
Девід Річербі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.