2つの将軍の問題が解決できない場合、私たち人間はどのように物事に同意することができますか?


25

2つの将軍の問題が解決できない場合私たち人間はどのように物事に同意することができますか?

つまり、私たちは毎日コミュニケーションを取り、コンピューターサイエンスが扱うコミュニケーションの問題と同じ制限を持っています。なぜ私たちに影響しないのですか?


18
人間が意見の相違以外に同意すると言ったのは誰ですか?
babou

7
「2人の将軍」問題の「解決不能性」は、そのコンテキスト、つまり、信頼性のない、信頼できない通信チャネルを備えた完全に非同期な分散システムに限定されます。私たちの日常生活では、人々はそれらを「許容」することができます。ところで、あなたと密接に関連する別の質問に答えました
hengxin

4
@babou残念ながら、(同じ優先順位を持つ)人々は同意しないことに同意することさえできません
hengxin

3
まあ、一般的には解決できません。問題を無視して問題を回避できるケースはまだたくさんあります。人間のコミュニケーションのほとんどはこれに依存しています。コンピュータサイエンスの重要な問題である主な理由は、規模のかなりの理由です。すでに配布しなければならないシステムでは、おそらくこれらの問題をたまに、おそらくは1日以上も受けているでしょう。これは、自己修正メカニズムがなく、正確性に大きく依存している場合に大きな問題です。近い人間のアナログは、中国のささやき/電話です-エラー修正のない分散システム。
ルアーン

2
@AlecTeal良いコンピュータサイエンスの質問がどのように見えるのかを確実に知ることができるかどうかはわかりませんが、とにかく:素敵にしてください。ここでは他人を虐待することは許されません。(あなたのコメントのそれほどいい部分を削除)
ラファエル

回答:


29

通信チャネルを別の方法でモデル化する必要があるという他の回答には同意しません。悪意は無関係であり、2つの一般的な問題を作成するには、ゼロ以外の確率で単純に失われたメッセージで十分です。たとえば、電子メールやIMでは、メッセージがドロップされる可能性は低くなりますが、ゼロではありません。電話は干渉を受ける可能性があるため、2つの一般的な問題と同様に、他の人があなたの言ったことを聞いたかどうかを無限に確認する必要があります。それでも、私は頻繁にこれらのチャネルを使用して他の人と契約を結びます。

不溶性の「2人の将軍」問題が解決できないのは、保証された共通知識を得るためです。実生活では、先に進むために正式な共通知識は必要ありません。したがって、ほとんどの実際的な状況での目標は、2つの将軍問題の目標とは異なる方法で説明する必要があります。

合意は「十分に可能性が高い」と決着します。あなたが攻撃することを確信していない限り、私は攻撃するつもりはないかもしれませんが、通信障害の確率があなたが失敗する確率よりも著しく高くなければ、私はあなたに会うためにコーヒーショップに歩いて行きますトラフィックのために到着します。将軍とは異なり、私はあなたが私に会うチャンスを取ります。

初めて受け取ったときに誰かに異なる方法で何かを3回説明したことがあるか、すでに2回確認したことを確認するように頼まれたことがある場合、それは「彼らに届く前に

心理学、哲学、または進化生物学の正しい選択として、次の質問への答えを探すための正しい領域として、共通知識の完全な保証が本当に必要ないのはなぜか:-)

また、コンピューティングの実際的な問題にも関連しています。たとえば、メッセージ内のシンボルが正しく到着したことを「検証」するために単一エラー修正コードを使用する場合、私たちがしていることは、二重エラーの可能性が当面無視できることを受け入れることだけです。その後、プロトコルの後半で、検出されないエラーの可能性をさらに減らすためにCRCを使用する場合があります。これで2人の将軍の問題は解決しませんが、私、私の銀行、商人がクレジットカード取引が発生したことを「同意する」だけで十分です。


3
悪意は、達成できる確実性の程度を制限するため、実際的な意味で重大です。干渉が悪意ではなくランダムな偶然要因の結果であると想定する場合、確率p > 0の場合、誤った「コンセンサス」の確率がpより小さくなり、コンセンサスが成功する確率がなるようにプロトコルを設計できます。 1-pより大きい。しかし、邪悪で全知の敵に対しては、そのようなアルゴリズムは多くを達成できないかもしれません。
supercat

3
@supercat:OK。しかし私の質問は、質問者に関係する2つの将軍の問題は、悪意を排除しても問題のままであるということです。不可能は悪意ではなくエラーの結果です。理想的には、欠落しているメッセージが敵の行動の結果である必要はなく、一部のメッセージが迷うことを知っているように、問題は枠組されるべきだと思います。しかし、ビザンチン将軍の問題は、明らかに反対のプレイヤーを紹介します。
スティーブジェソップ

したがって、2人の将軍はまずコーヒーを一緒に飲むことに同意する必要があります。その後、彼らは対面式の戦闘を計画でき、信頼できるチャンネルを提供します!
デビッドリチャービー

1
@DavidRicherby:確かに、これはコーヒーショップが整った戦場で非常にうまく機能します。コンピューター科学者が他の地形に遭遇することは非常にまれなので、CS理論に関する限り、実際の将軍はほとんど独力です。そして実存主義の将軍は、対面でも信頼できるチャネルを持っていないので、敵は言うまでもなく、同盟国が存在することを確認できないため、誰も攻撃しません。
スティーブジェソップ

そのコンピューターサイエンスとチャネル容量を推測できるので、シャノンの定理にリンクして議論した場合、この答えはより良いかもしれません:en.wikipedia.org/wiki/Noisy-channel_coding_theorem-
ダニエル

18

Two Generalsの問題の中心(意図的なしゃれ)は、その間の悪意のある敵です。これは信頼できないチャネルをモデル化しますが、通常は遭遇しない方法でモデル化します。問題では、メッセージが敵の手を通過する可能性があり、時間の制約、検証、暗号化、または私が考えていなかった他のものはありません。

実際に通信する場合、まず、使用するチャネルがこの方法で信頼できないとは予想されません。確かにチャンネルはうるさい場合がありますが、それは悪意があることとは異なります。ビットレベルでノイズの多いチャネルが、使用しているエラー修正コードをすべて満たす有効なメッセージをランダムに生成する可能性があるだけでなく、受信者にとって意味があるという点で有効である可能性は非常に低いです。また、公開キー暗号化などを使用してメッセージを暗号化および/または署名し、実際のメッセージを偽造することを再び困難にすることができます。第三に、私たちのコミュニケーションの重要な部分は時間に敏感です-私たちは実際に人々と話しますので、応答に遅れはありません。に。

ほとんどの場合、メッセージに重大なエラーの原因はないと想定し、それを回避します。悪意のある中間者が実際にチャネルを破損しているシナリオを想像できますが、いくつかの問題に遭遇します。公開鍵暗号は依然として効果的ですが、さらに重要なことは、通信のかなりの部分を正確に破損するために必要な労力と力が実現可能な範囲をはるかに超えていることです。そうでない場合、軍事信号インテリジェンスは、それよりもはるかに効果的です(効果的ではないということではなく、単に優れているでしょう)。

私は主にコンピューター/マシンを介した通信に触れましたが、対人コミュニケーションについても同じ議論ができることに注意してください-通常、ノイズの原因はメッセージ全体を偽造することはできませんが、ランダムで低レベルの十分なリソースと意欲を備えた悪意のある攻撃者が存在するためには、ほとんどの場合、努力する価値はありません。


7
私の知る限り、2つの将軍の問題は悪意のある通信チャネルを必要とせず、信頼性の低いチャネルのみを必要とします。懸念は、メッセージが破損または変更されていることではありません。それらが受信されていない場合のみ:en.wikipedia.org/wiki/…–
Ajedi32

1
@ Ajedi32、私が意味することを明確にする必要があります-比phor的なセットアップには悪意のある敵があり、メッセンジャーはたださまようだけではありませんが、これは確率モデルなしでメッセージ全体を失うことです。メッセージをアトミックエンティティとして送信しない場合、「メッセージの損失」はビットの損失、パケットの損失などとして解釈できます。残りの半分は、通信チャネルに分析可能なプロパティがあることです。それは...その後、情報の損失の唯一の他のソースである、我々は証明可能に対処することができ、モデル可能な形でだ
ルーク・マシソン

...実際の悪意のある動作。要するに、2つの将軍の問題は、その仮定において非現実的な仮説的な状況を与えます。はい、どこかで情報を失う可能性がありますが、(毎日の賢明な状況では)無限のエラーはありません。
ルークマティソン

16

「Two Generals」問題(または「Coordinated Attack」問題と呼ばれる)の「解決不能性」は、そのコンテキスト、つまり、信頼性のない信頼できない通信チャネルを持つ完全に非同期の分散システムに制限されます。私たちの日常生活では、人々はそのような悪い状況を「許容」することができます。

本の知識についての推論 ; セクション6.1、著者はコメントしている

調整された攻撃が一般的な知識を含意するという事実は調整された攻撃が同時であるに違いないという私たちの要件によります。実際には、同時性は要件が強すぎる可能性があります。将軍がお互いの短い時間内に攻撃することを保証するプロトコルは、かなり満足できるかもしれません。

彼はさらにコメントしている

それにもかかわらず、コミュニケーションが信頼できない場合、このような弱い形態の調整でさえ達成できません

私たちの日常生活では、人々は短い遅延と信頼性の低いチャネル(@Luke Mathiesonの詳細)を許容できます(許容します)。(さらに深く行って「どのように」「なぜ」を尋ねると、おそらくコンピューターサイエンスの範囲外になります。)


2
あなたは、特に戦争で、近代的な通信を見れば、偉大なケアは、このような問題に依存しない戦略を選択するために取られています。彼らがそのような問題に依存する場合、ほとんどの場合、それを処理するための緊急時対応計画があります。コンピュータサイエンスプログラムでは、「多すぎると、いずれかの潜在的な故障、どんなにありえない」1つのバスケット、と宣言して私たちのすべての卵を入れて
Cortのアモン-復活モニカ

3

起こる可能性があるのかを十分に経験したときに、何か起こるという保証は必要ないからです。たとえば、友人が私と会いたいとします。彼は私に時間と場所をメールで送ってくれました。指定された場所と時間に彼に会うために、これ以上の情報は必要ありません。保証できなかったから彼が私の応答を得たことは、私の仮定に基づいて行動することから私を動揺させるのに十分ではありません。私の経験では、電子メールはかなり信頼できるものであり、何らかの理由で応答が得られなかった場合は、再度電子メールを送信します。私の経験から言うと、私の応答が静かに破棄されることを心配しないでください。また、彼からのすべてのフォローアップメッセージも静かに破棄されます。そのようなイベントの組み合わせは、私の人との出会いの能力を著しく妨げるほど頻繁には起こりません。

これらのコーナーケース(または他の問題)がより頻繁に発生し始めた場合、それが私の経験を変えてしまいます。それから、戦略の変更を検討します。例えば、私は彼らにメールを送る代わりにその人に電話するかもしれません。または、カレンダーWebサイトを使用する場合があります。または他のオプション。

対人コミュニケーションに適用されるように、私は二大問題の技術的な問題はそれ自体で大きな問題ではないが、他の問題を拡大する可能性があることを発見しました。誰かに作業要求をメールで送信しても、妥当な時間内に応答が返されない場合、どうすればよいですか?フォローアップメッセージを送信する前に、どのくらい待つ必要がありますか?フォローアップメッセージを送信した場合、フレンドリーなリマインダーとして表示されますか、それともイライラするでしょうか?フォローアップメッセージを言葉にすべきではないので、あまりにも予想外に出くわすことはありません(ネットワークが実際に前のメッセージをドロップした場合、これは彼らが私から聞いている最初のものだからです)?

これらの質問の性質はすべて、関係する人々とコンテキストに依存します。保証された答えはありません。しかし、繰り返しますが、成功するために保証は必要ありません。必要なのは、内省、共感、経験から学ぶ能力などです。私たちは独自の戦略を発見し、開発することができます。これは、他の戦略とは異なる可能性があります。


-1

piの正確な値を10進表記で教えてもらえますか?正確な値が解決できないことがわかっている場合、人間は四捨五入して近似します。


2
ようこそ!簡単なコメントではなく、詳細と説明を含む回答を探しています。あなたのコメントのアイデアは、質問に対する既存の回答ですでに詳細に議論されているので、ここで何も追加しているとは思わない。
デビッドリチャービー

私のコメントは簡潔で、要点です。言い換えられた質問は、問題が解決不可能であることがわかっている場合、人間はどのように同意するのかということでした。私の答えは、四捨五入して概算する数学(具体的には10進数のpi)からです。
RajuK

あなたのコメントはそれだけです:コメント。十分な評判を得たら、コメントを投稿できるようになります。それまでは、回答を投稿することしかできず、既に説明したように、回答はこれよりも詳細であることが求められます。
デビッドリチャービー

このような質問は、コンプサイエンスの質問ではなく、人間の行動に関する質問です。したがって、私の答えは要点に対するものでした。質問がコンピューターサイエンス以外の質問としてタグ付けされず、拒否されたのはなぜですか?
RajuK

質問がトピックから外れていると思われる場合は、回答せずにフラグを立てる必要があります。また、Stack Exchangeサイト(それらへのコメントも)はディスカッション掲示板ではありません。
デビッドリチャービー

-1

証拠は、問題を確実に解決するプロトコルを設計することは不可能であるとのみ述べています(つまり、すべてのインスタンスで完全に)。

ほとんどの問題を解決するプロトコルを設計することは不可能だとは言いません。性質上ベイジアンである人間は、特定の問題をある程度の品質および/または長期的な利益と損失の点で満足できるある程度の成功で解決するプロトコルの設計に非常に優れています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.