Якщо проблема двох генералів нерозв'язна, як ми можемо погодитись на речі?


25

Якщо проблема двох генералів нерозв'язна, як ми можемо погодитись на речі?

Я маю на увазі, що ми спілкуємося щодня і маємо ті самі обмеження, що і будь-які проблеми спілкування, якими займається інформатика. Чому це не впливає на нас?


18
Хто сказав вам, що люди коли-небудь погоджуються на що-небудь, крім їхніх незгод?
бабу

7
"Нерозв'язність" проблеми "двох генералів" обмежена її контекстом, тобто в цілком асинхронній розподіленій системі з ненадійними, ненадійними каналами зв'язку. У нашому повсякденному житті люди можуть їх "терпіти". До речі, я щойно відповів на ще одне питання, яке тісно пов'язане з вашим.
hengxin

4
@babou На жаль, люди (з тими ж пріорами) навіть не можуть погодитись не погодитися .
hengxin

3
Ну, це взагалі нерозв'язно . Є ще багато випадків, коли можна ігнорувати проблеми та піти від неї - більшість людського спілкування покладається на це. Основна причина, що це суттєва проблема в галузі інформатики - це в значній мірі причина масштабу - в будь-якій системі, яка вже має бути розповсюдженою, ви, ймовірно, отримуєте ці проблеми раз у раз, можливо, навіть щодня чи більше. Це велика проблема, якщо ви сильно покладаєтесь на правильність, без механізмів самокоригування. Більш близьким людським аналогом є китайський шепіт / телефон - розподілена система без виправлення помилок.
Луань

2
@AlecTeal Я не знаю, звідки випливає певна впевненість про те, як виглядає хороший питання з інформатики , але в будь-якому випадку: будь ласка, добре. Зловживання іншими людьми тут не буде терпіти. (видаляючи не дуже приємні частини вашого коментаря)
Рафаель

Відповіді:


29

Я не погоджуюся з іншими відповідями про те, що канал зв’язку потрібно моделювати по-різному. Злості не має значення, для створення двох проблем з генералом достатньо простих втрачених повідомлень з будь-якою ненульовою ймовірністю. Наприклад, електронна пошта та чат мають низький, але не нульовий шанс відкинути повідомлення. Телефонні дзвінки можуть зазнавати перешкод, тому, як із проблемою двох генералів, вам потрібно якось підтвердити, чи почула інша людина те, що ви сказали, ad infinitum. І все ж я часто використовую ці канали, щоб укладати угоди з іншими людьми.

Те, що нерозв'язна проблема «двох генералів» не вдається вирішити, - це гарантувати загальні знання. У реальному житті нам не потрібні формальні загальні знання для того, щоб продовжувати. Тому мета в більшості практичних ситуацій повинна описуватися інакше, ніж мета в задачі двох генералів.

Ми домовляємось про те, що згода є "достатньо ймовірною". Я не міг бути готовий атакувати , якщо я не впевнений , ви будете атакувати, але я готовий йти в кафе , щоб зустрітися з вами при умови , що ймовірність збою зв'язку не сильно вище , ніж вірогідність ви не в змозі прибути через рух транспорту. На відміну від генералів, я ризикую, коли ви зі мною зустрінетесь.

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

Візьміть свій вибір психології, філософії чи еволюційної біології як правильну сферу, в якій шукати відповідь на наступне питання, чому нам насправді не потрібна повна гарантія загальних знань :-)

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


3
Злоба є важливою у практичному розумінні, оскільки обмежує ступінь визначеності, яку можна досягти. Якщо припускати, що втручання є результатом випадкових випадкових факторів, а не зловмисності, то для будь-якої ймовірності р > 0 можна створити протокол таким, що ймовірність помилкового «консенсусу» буде меншою за р і ймовірність успішної консенсусу буде більше 1-р. Однак проти противника, який є зловмисним і всезнаючим, такі алгоритми можуть бути нездатними досягти.
supercat

3
@supercat: Гаразд. Але моя думка полягає лише в тому, що проблема двох генералів, яка стосується запитувача, залишається проблемою, коли виключається злоба: неможливість є наслідком помилки, а не злоби. Я б сказав, що в ідеалі проблема повинна бути вирішена так, що відсутні повідомлення не повинні бути наслідком дій противника, ми просто знаємо, що деякі повідомлення збиваються з ладу. Проблема візантійських генералів явно вводить протилежних гравців.
Стів Джессоп

Тож два генерали повинні спершу погодитися випити кави разом. Тоді вони можуть спланувати бій віч-на-віч, що дає їм надійний канал!
Девід Річербі

1
@DavidRicherby: Дійсно, це надзвичайно добре працює у театрах війни, які добре облаштовані з кав’ярнями. Комп'ютерні вчені дуже рідко стикаються з будь-якою іншою місцевістю, тому справжні генерали в значній мірі самостійно, що стосується теорії CS. А екзистенціалістичні генерали не мають надійного каналу навіть віч-на-віч, тому вони ніколи не нападають на когось, бо не можуть бути впевнені, що існують їхні союзники, не кажучи вже про ворога.
Стів Джессоп

Оскільки її інформатика, і ви можете здогадатися про потенціал каналу, ця відповідь може бути кращою, якщо вона буде пов’язана з теоремою Шеннона та обговорила її: en.wikipedia.org/wiki/Noisy-channel_coding_theorem
Даніель

18

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

Коли ми спілкуємося на практиці, по-перше, очікується, що канали, які ми використовуємо, не є надійними таким чином. Безумовно, канали можуть бути галасливими, але це відрізняється від зловмисних. Ймовірність того, що канал, який шумить на рівні бітів, може випадковим чином створити не тільки дійсне повідомлення, яке задовольняє будь-який код для виправлення помилок, який ми використовуємо, але також є дійсним, оскільки він має сенс для приймача, дуже низький. Ми також можемо використовувати такі речі, як криптографія відкритого ключа для шифрування та / або підписання повідомлень, що ускладнює знову фальсифікацію реального повідомлення. По-третє, значна частина нашого спілкування є чутливою до часу - ми насправді розмовляємо з людьми, тому немає затримки з реагуванням, і в цьому випадку нам доведеться бути впевненими, що людина, з якою ми розмовляємо, - це людина, про яку ми маємо говорити. до.

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

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


7
AFAIK, проблема двох генералів не потребує зловмисного каналу зв'язку, а лише ненадійного. Побоювання не полягає в тому, що повідомлення пошкоджуються або змінюються; тільки з ними не отримують: en.wikipedia.org/wiki/…
Ajedi32

1
@ Ajedi32, я повинен зрозуміти, що я маю на увазі - метафоричний настрій має зловмисного ворога, месенджери не просто блукають, але те, що це найбільш негайно прирівнюється до втрати цілих повідомлень без імовірності моделі. Зважаючи на те, що ми не надсилаємо повідомлення як атомні сутності, "втрата повідомлення" може трактуватися як втрата бітів, втрата пакетів тощо. Інша половина полягає в тому, що канали зв'язку мають властивості, що аналізуються - вони можуть мати випадковий шум, але це зразковим чином, з яким ми можемо впоратися, тоді єдиним іншим джерелом втрати інформації є ...
Люк Матхісон

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

16

"Нерозв'язність" проблеми "Два генерали" (або її називають "Координованою атакою") обмежується її контекстом, тобто в цілком асинхронній розподіленій системі з недостовірними, ненадійними каналами зв'язку. У нашому повсякденному житті люди можуть «терпіти» такі погані ситуації.

У книзі « Розум про знання» ; Розділ 6.1 , автори коментують це

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

Далі він коментує це

Тим не менш, навіть такі слабкі форми координації недосяжні, якщо спілкування недостовірне .

У нашому повсякденному житті люди можуть терпіти (і терплять) короткі затримки та ненадійні канали (як розробив @Luke Mathieson). (Якщо ви заглибитесь і запитаєте "як" і "чому", то це, мабуть, поза сферою інформатики.)


2
Якщо ви дивитесь на сучасне спілкування, особливо на війні, велика увага приділяється вибору стратегій, які не залежать від таких проблем. Коли вони залежать від таких проблем, майже завжди існує якийсь план дій у надзвичайних ситуаціях. У програмі з інформатики ми кладемо всі наші яйця в один кошик і заявляємо, що "будь-яка потенційна невдача, якою б малоймовірна вона не була занадто великою"
Корт Аммон - Відновіть Моніку

3

Тому що нам не потрібна гарантована впевненість в тому, що що - то буде відбуватися , коли ми маємо достатній досвід , який говорить нам , що , ймовірно , відбудеться. Наприклад, скажімо, що друг хоче зустрітися зі мною. Він надсилає мені час та місце по електронній пошті, а я відповідаю "Звучить чудово, побачимось тоді". Мені більше не потрібна інформація, щоб продовжувати зустрічатися з ним у вказане місце та час. Просто тому, що я не міг гарантуватищо він отримав мою відповідь, недостатньо, щоб стримати мене від дії на мої припущення. Мій досвід говорить про те, що електронна пошта є досить надійною, і якщо з якихось причин він не отримав моєї відповіді, він знову надішле мені електронну пошту. Мій досвід підказує мені не турбуватися про те, що мою відповідь мовчки відкидають, а всі подальші повідомлення від нього також мовчки відкидають. Таке поєднання подій просто не трапляється досить часто, щоб суттєво заважати моїй здатності зустрічатися з людьми.

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

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

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


-1

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


2
Ласкаво просимо! Ми шукаємо відповіді, які містять трохи деталей та пояснень, а не лише короткі коментарі. Ідея у вашому коментарі вже детально обговорювалася в існуючих відповідях на питання, тому я не думаю, що ви тут взагалі нічого не додаєте.
Девід Річербі

Мій коментар є лаконічним і до речі. Перефразоване питання: як люди погоджуються на що-небудь, якщо ми знаємо, що проблема нерозв'язна? Моя відповідь з математики (конкретно пі в десятковій частині), яку ми округляємо і наближаємо.
RajuK

Ваш коментар саме такий: коментар. Коли у вас буде достатня репутація, ви зможете публікувати коментарі. До цього часу ви можете лише розміщувати відповіді, і відповіді очікуються більш детальними, ніж це, як я вже пояснив.
Девід Річербі

Питання як таке - це не питання науки про компанію, а питання про поведінку людини. Звідси моя відповідь була суттєвою. Чому питання не було позначене як питання, яке не є інформатикою, і було відхилено?
RajuK

Якщо ви вважаєте, що питання поза темою, слід позначити його, а не відповідати на нього. Зверніть також увагу, що сайти Stack Exchange (навіть коментарі до них) не призначені для обговорення.
Девід Річербі

-1

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

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

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