2つの将軍の問題が解決できない場合、私たち人間はどのように物事に同意することができますか?
つまり、私たちは毎日コミュニケーションを取り、コンピューターサイエンスが扱うコミュニケーションの問題と同じ制限を持っています。なぜ私たちに影響しないのですか?
2つの将軍の問題が解決できない場合、私たち人間はどのように物事に同意することができますか?
つまり、私たちは毎日コミュニケーションを取り、コンピューターサイエンスが扱うコミュニケーションの問題と同じ制限を持っています。なぜ私たちに影響しないのですか?
回答:
通信チャネルを別の方法でモデル化する必要があるという他の回答には同意しません。悪意は無関係であり、2つの一般的な問題を作成するには、ゼロ以外の確率で単純に失われたメッセージで十分です。たとえば、電子メールやIMでは、メッセージがドロップされる可能性は低くなりますが、ゼロではありません。電話は干渉を受ける可能性があるため、2つの一般的な問題と同様に、他の人があなたの言ったことを聞いたかどうかを無限に確認する必要があります。それでも、私は頻繁にこれらのチャネルを使用して他の人と契約を結びます。
不溶性の「2人の将軍」問題が解決できないのは、保証された共通知識を得るためです。実生活では、先に進むために正式な共通知識は必要ありません。したがって、ほとんどの実際的な状況での目標は、2つの将軍問題の目標とは異なる方法で説明する必要があります。
合意は「十分に可能性が高い」と決着します。あなたが攻撃することを確信していない限り、私は攻撃するつもりはないかもしれませんが、通信障害の確率があなたが失敗する確率よりも著しく高くなければ、私はあなたに会うためにコーヒーショップに歩いて行きますトラフィックのために到着します。将軍とは異なり、私はあなたが私に会うチャンスを取ります。
初めて受け取ったときに誰かに異なる方法で何かを3回説明したことがあるか、すでに2回確認したことを確認するように頼まれたことがある場合、それは「彼らに届く前に
心理学、哲学、または進化生物学の正しい選択として、次の質問への答えを探すための正しい領域として、共通知識の完全な保証が本当に必要ないのはなぜか:-)
また、コンピューティングの実際的な問題にも関連しています。たとえば、メッセージ内のシンボルが正しく到着したことを「検証」するために単一エラー修正コードを使用する場合、私たちがしていることは、二重エラーの可能性が当面無視できることを受け入れることだけです。その後、プロトコルの後半で、検出されないエラーの可能性をさらに減らすためにCRCを使用する場合があります。これで2人の将軍の問題は解決しませんが、私、私の銀行、商人がクレジットカード取引が発生したことを「同意する」だけで十分です。
Two Generalsの問題の中心(意図的なしゃれ)は、その間の悪意のある敵です。これは信頼できないチャネルをモデル化しますが、通常は遭遇しない方法でモデル化します。問題では、メッセージが敵の手を通過する可能性があり、時間の制約、検証、暗号化、または私が考えていなかった他のものはありません。
実際に通信する場合、まず、使用するチャネルがこの方法で信頼できないとは予想されません。確かにチャンネルはうるさい場合がありますが、それは悪意があることとは異なります。ビットレベルでノイズの多いチャネルが、使用しているエラー修正コードをすべて満たす有効なメッセージをランダムに生成する可能性があるだけでなく、受信者にとって意味があるという点で有効である可能性は非常に低いです。また、公開キー暗号化などを使用してメッセージを暗号化および/または署名し、実際のメッセージを偽造することを再び困難にすることができます。第三に、私たちのコミュニケーションの重要な部分は時間に敏感です-私たちは実際に人々と話しますので、応答に遅れはありません。に。
ほとんどの場合、メッセージに重大なエラーの原因はないと想定し、それを回避します。悪意のある中間者が実際にチャネルを破損しているシナリオを想像できますが、いくつかの問題に遭遇します。公開鍵暗号は依然として効果的ですが、さらに重要なことは、通信のかなりの部分を正確に破損するために必要な労力と力が実現可能な範囲をはるかに超えていることです。そうでない場合、軍事信号インテリジェンスは、それよりもはるかに効果的です(効果的ではないということではなく、単に優れているでしょう)。
私は主にコンピューター/マシンを介した通信に触れましたが、対人コミュニケーションについても同じ議論ができることに注意してください-通常、ノイズの原因はメッセージ全体を偽造することはできませんが、ランダムで低レベルの十分なリソースと意欲を備えた悪意のある攻撃者が存在するためには、ほとんどの場合、努力する価値はありません。
「Two Generals」問題(または「Coordinated Attack」問題と呼ばれる)の「解決不能性」は、そのコンテキスト、つまり、信頼性のない信頼できない通信チャネルを持つ完全に非同期の分散システムに制限されます。私たちの日常生活では、人々はそのような悪い状況を「許容」することができます。
本の知識についての推論 ; セクション6.1、著者はコメントしている
調整された攻撃が一般的な知識を含意するという事実は調整された攻撃が同時であるに違いないという私たちの要件によります。実際には、同時性は要件が強すぎる可能性があります。将軍がお互いの短い時間内に攻撃することを保証するプロトコルは、かなり満足できるかもしれません。
彼はさらにコメントしている
それにもかかわらず、コミュニケーションが信頼できない場合、このような弱い形態の調整でさえ達成できません。
私たちの日常生活では、人々は短い遅延と信頼性の低いチャネル(@Luke Mathiesonの詳細)を許容できます(許容します)。(さらに深く行って「どのように」「なぜ」を尋ねると、おそらくコンピューターサイエンスの範囲外になります。)
何が起こる可能性があるのかを十分に経験したときに、何かが起こるという保証は必要ないからです。たとえば、友人が私と会いたいとします。彼は私に時間と場所をメールで送ってくれました。指定された場所と時間に彼に会うために、これ以上の情報は必要ありません。保証できなかったから彼が私の応答を得たことは、私の仮定に基づいて行動することから私を動揺させるのに十分ではありません。私の経験では、電子メールはかなり信頼できるものであり、何らかの理由で応答が得られなかった場合は、再度電子メールを送信します。私の経験から言うと、私の応答が静かに破棄されることを心配しないでください。また、彼からのすべてのフォローアップメッセージも静かに破棄されます。そのようなイベントの組み合わせは、私の人との出会いの能力を著しく妨げるほど頻繁には起こりません。
これらのコーナーケース(または他の問題)がより頻繁に発生し始めた場合、それが私の経験を変えてしまいます。それから、戦略の変更を検討します。例えば、私は彼らにメールを送る代わりにその人に電話するかもしれません。または、カレンダーWebサイトを使用する場合があります。または他のオプション。
対人コミュニケーションに適用されるように、私は二大問題の技術的な問題はそれ自体で大きな問題ではないが、他の問題を拡大する可能性があることを発見しました。誰かに作業要求をメールで送信しても、妥当な時間内に応答が返されない場合、どうすればよいですか?フォローアップメッセージを送信する前に、どのくらい待つ必要がありますか?フォローアップメッセージを送信した場合、フレンドリーなリマインダーとして表示されますか、それともイライラするでしょうか?フォローアップメッセージを言葉にすべきではないので、あまりにも予想外に出くわすことはありません(ネットワークが実際に前のメッセージをドロップした場合、これは彼らが私から聞いている最初のものだからです)?
これらの質問の性質はすべて、関係する人々とコンテキストに依存します。保証された答えはありません。しかし、繰り返しますが、成功するために保証は必要ありません。必要なのは、内省、共感、経験から学ぶ能力などです。私たちは独自の戦略を発見し、開発することができます。これは、他の戦略とは異なる可能性があります。
piの正確な値を10進表記で教えてもらえますか?正確な値が解決できないことがわかっている場合、人間は四捨五入して近似します。