Si le problème des deux généraux est insoluble, comment pouvons-nous, les êtres humains, nous mettre d'accord sur les choses?

25

Si le problème des deux généraux est insoluble, comment pouvons-nous, les êtres humains, nous mettre d'accord sur les choses?

Je veux dire, nous communiquons tous les jours et avons les mêmes limites que tout problème de communication géré par l'informatique. Pourquoi cela ne nous affecte-t-il pas?

user1508072
la source
18
Qui vous a dit que les humains étaient jamais d'accord sur autre chose que leurs désaccords?
babou
7
L '«insolvabilité» du problème des «deux généraux» se limite à son contexte, c'est-à-dire dans un système distribué totalement asynchrone avec des canaux de communication peu fiables et non fiables. Dans notre vie quotidienne, les gens peuvent les "tolérer". Soit dit en passant, je viens de répondre à une autre question qui est étroitement liée à la vôtre.
hengxin
4
@babou Malheureusement, les gens (avec les mêmes prieurs) ne peuvent même pas accepter d'être en désaccord .
hengxin
3
Eh bien, c'est insoluble en général . Il y a encore beaucoup de cas où vous pouvez ignorer les problèmes et vous en sortir - la plupart des communications humaines reposent sur cela. La principale raison pour laquelle il s'agit d'un problème important en informatique est à peu près une raison d'échelle - dans tout système qui doit déjà être distribué, vous rencontrez probablement ces problèmes de temps en temps, peut-être même quotidiennement ou plus. C'est un gros problème si vous comptez beaucoup sur l'exactitude, sans mécanismes d'auto-correction. Un analogue humain plus proche est les chuchotements chinois / téléphone - un système distribué sans correction d'erreur.
Luaan
2
@AlecTeal Je ne sais pas où la certitude que de savoir sur la façon dont un bon ordinateur science ressemble interrogatifs vient, mais en tout cas: s'il vous plaît bien. Abuser des autres ne sera pas toléré ici. (en supprimant les parties pas si gentilles de votre commentaire)
Raphael

Réponses:

29

Je ne suis pas d'accord avec les autres réponses selon lesquelles le canal de communication doit être modélisé différemment. La malveillance n'est pas pertinente, de simples messages perdus avec une probabilité non nulle sont suffisants pour créer le problème des deux généraux. le courrier électronique et la messagerie instantanée, par exemple, ont une chance faible mais non nulle de supprimer des messages. Les appels téléphoniques peuvent subir des interférences, donc comme pour le problème des deux généraux, vous devez en quelque sorte confirmer si l'autre personne a entendu ce que vous avez dit, à l'infini. Et pourtant, j'utilise fréquemment ces canaux pour conclure des accords avec d'autres personnes.

Ce que le problème insoluble des «deux généraux» ne parvient pas à résoudre, c'est d'obtenir une connaissance commune garantie . Dans la vraie vie, nous n'avons pas besoin de connaissances communes formelles pour continuer. Par conséquent, le but dans la plupart des situations pratiques doit être décrit différemment du but dans le problème des deux généraux.

Nous nous contentons d'un accord "suffisamment probable". Je ne serai peut-être pas disposé à attaquer à moins d'être certain que vous allez attaquer, mais je suis prêt à me rendre au café pour vous rencontrer à condition que la probabilité d'une défaillance des communications ne soit pas nettement supérieure à la probabilité que vous échouiez à arriver en raison de la circulation. Contrairement aux généraux, je vais tenter ma chance si vous me rencontrez.

Si quelqu'un vous a déjà expliqué trois fois quelque chose de différentes manières lorsque vous l'avez obtenu la première fois, ou si quelqu'un vous a demandé de confirmer quelque chose que vous avez déjà confirmé deux fois, c'est parce que vous avez atteint votre seuil de " suffisamment probable "avant d'atteindre le leur.

Faites votre choix de psychologie, philosophie ou biologie évolutive comme domaine correct dans lequel chercher une réponse à la question suivante, pourquoi nous n'avons pas vraiment besoin d'une garantie complète de connaissance commune :-)

Elle renvoie également à des problèmes pratiques en informatique. Par exemple, lorsque nous utilisons un code de correction d'erreur unique pour "valider" qu'un symbole dans un message est arrivé correctement, tout ce que nous faisons est d'accepter que la probabilité d'une double erreur est pour le moment négligeable. Plus tard dans le protocole, nous pourrions avoir un CRC, pour réduire davantage la probabilité d'erreur non détectée. Rien de tout cela ne résout le problème des deux généraux, mais il me suffit, à moi, à ma banque et à un commerçant de "convenir" qu'une transaction par carte de crédit a eu lieu, avec une faible probabilité que nous ne soyons pas d'accord.

Steve Jessop
la source
3
La malveillance est significative au sens pratique car elle limite le degré de certitude qui peut être atteint. Si l'on suppose que l'interférence est le résultat de facteurs de hasard aléatoires plutôt que de malveillance, alors pour toute probabilité p > 0, on peut concevoir un protocole tel que la probabilité d'un "consensus" erroné sera inférieure à p et la probabilité d'un consensus réussi sera supérieur à 1-p. Contre un adversaire malveillant et omniscient, cependant, de tels algorithmes peuvent être incapables d'accomplir beaucoup.
supercat
3
@supercat: OK. Mais mon point est juste que le problème des deux généraux qui concerne le questionneur, reste un problème quand la méchanceté est exclue: l'impossibilité est une conséquence de l'erreur, pas de la méchanceté. Je dirais que dans l'idéal, le problème devrait être formulé de telle sorte que les messages manquants ne soient pas nécessairement la conséquence d'une action ennemie, nous savons simplement que certains messages s'égarent. Le problème des généraux byzantins introduit explicitement les joueurs adverses.
Steve Jessop
Les deux généraux devraient donc d'abord convenir de prendre un café ensemble. Ensuite, ils peuvent planifier la bataille face à face, ce qui leur donne un canal fiable!
David Richerby
1
@DavidRicherby: en effet, cela fonctionne extrêmement bien dans les théâtres de guerre bien équipés avec des cafés. Les informaticiens rencontrent très rarement tout autre terrain, donc les vrais généraux sont à peu près seuls en ce qui concerne la théorie CS. Et les généraux existentialistes n'ont aucun canal fiable même face à face, donc ils n'attaquent jamais personne parce qu'ils ne peuvent pas être sûrs que leurs alliés existent, encore moins l'ennemi.
Steve Jessop
Depuis son informatique et vous pouvez deviner la capacité du canal, cette réponse pourrait être meilleure si elle était liée au théorème de Shannon et en discutait: en.wikipedia.org/wiki/Noisy-channel_coding_theorem
daniel
18

Le point central (jeu de mots) du problème des deux généraux est un ennemi malveillant entre les deux. Bien que cela modélise un canal peu fiable, il le modélise d'une manière que nous ne rencontrons normalement pas. Dans le problème, les messages peuvent passer entre les mains de l'ennemi et il n'y a pas de contraintes de temps, de vérification, de cryptage ou d'autre chose à laquelle je n'ai pas pensé.

Lorsque nous communiquons dans la pratique, tout d'abord, les canaux que nous utilisons ne devraient pas être non fiables de cette manière. Les canaux peuvent être bruyants, bien sûr, mais c'est différent d'être malveillant. La probabilité qu'un canal bruyant au niveau des bits puisse produire de manière aléatoire non seulement un message valide qui satisfait le code de correction d'erreur que nous utilisons, mais est également valable en ce sens qu'il est logique pour le récepteur est très faible. Nous pouvons également utiliser des choses comme la cryptographie à clé publique pour crypter et / ou signer des messages, ce qui rend encore plus difficile la falsification d'un vrai message. Troisièmement, une partie importante de notre communication est sensible au temps - nous parlons en fait aux gens donc il n'y a pas de retard dans la réponse, auquel cas nous devrons être convaincus que la personne à qui nous parlons est la personne à qui nous devons parler à.

Dans la majorité des cas, nous supposons simplement qu'il n'y a pas de source d'erreur significative dans les messages et nous nous en sortons. Nous pouvons imaginer un scénario où il y a vraiment un homme du milieu malveillant corrompant la chaîne, mais nous rencontrons deux ou trois choses; la cryptographie à clé publique est toujours efficace, mais plus important encore, l'effort et la puissance nécessaires pour corrompre avec précision une partie suffisamment importante de la communication dépassent de loin ce qui est faisable. Si ce n'était pas le cas, les renseignements sur les signaux militaires seraient beaucoup plus efficaces qu'ils ne le sont (pas que ce ne soit pas efficace, ce serait juste mieux).

Notez que bien que j'aie principalement abordé la communication médiée par ordinateur / machine, les mêmes arguments peuvent être avancés pour la communication interpersonnelle - les sources de bruit ne peuvent généralement pas truquer un message entier, nous avons des systèmes de correction pour ceux qui introduisent un niveau aléatoire bas niveau du bruit, et l'effort n'en vaut pas la peine dans presque tous les cas pour qu'il y ait un attaquant malveillant suffisamment doté de ressources et motivé.

Luke Mathieson
la source
7
AFAIK, le problème des deux généraux ne nécessite pas de canal de communication malveillant, juste un canal peu fiable. Le problème n'est pas que les messages soient corrompus ou modifiés; seulement avec eux non reçus: en.wikipedia.org/wiki/…
Ajedi32
1
@ Ajedi32, je devrais clarifier ce que je veux dire - la configuration métaphorique a un ennemi malveillant, les messagers ne sont pas seulement en train de s'égarer, mais ce que cela équivaudrait le plus immédiatement à la perte de messages entiers sans modèle de probabilité. Étant donné que nous n'envoyons pas de messages en tant qu'entités atomiques, la "perte d'un message" peut être interprétée comme une perte de bits, une perte de paquets, etc. L'autre moitié est que les canaux de communication ont des propriétés analysables - ils peuvent avoir un bruit aléatoire, mais c'est à la manière d'un modèle, auquel nous pouvons faire face, alors la seule autre source de perte d'information est ...
Luke Mathieson
... un comportement malveillant réel, que nous pouvons également signaler. Bref, le problème des deux généraux donne une situation hypothétique qui est irréaliste dans ses hypothèses. Oui, cela pourrait perdre des informations quelque part, mais il n'y a pas (dans les situations sensibles de tous les jours) une erreur illimitée.
Luke Mathieson
16

L '"insolvabilité" du problème "Two Generals" (ou problème "Coordinated Attack") est limitée à son contexte, c'est-à-dire dans un système distribué totalement asynchrone avec des canaux de communication non fiables et non fiables. Dans notre vie quotidienne, les gens peuvent «tolérer» de telles situations.

Dans le livre Reasoning about Knowledge ; À la section 6.1 , les auteurs indiquent que

Le fait qu'une attaque coordonnée implique une connaissance commune dépend de notre exigence selon laquelle l'attaque coordonnée doit être simultanée . En pratique , la simultanéité peut être une exigence trop forte. Un protocole qui garantit que les généraux attaquent dans un court laps de temps les uns des autres peut être tout à fait satisfaisant.

Il ajoute que

Néanmoins, même ces formes de coordination plus faibles ne sont pas accessibles si la communication n'est pas fiable .

Dans notre vie quotidienne, les gens peuvent tolérer (et tolèrent) de courts retards et des canaux peu fiables (comme élaboré par @Luke Mathieson). (Si vous allez plus loin et demandez "comment" et "pourquoi", alors c'est probablement hors de la portée de l'informatique.)

hengxin
la source
2
Si vous regardez la communication moderne, en particulier en temps de guerre, un grand soin est pris pour choisir des stratégies qui ne dépendent pas de tels problèmes. Lorsqu'ils dépendent de tels problèmes, il existe presque toujours un plan d'urgence pour y faire face. Dans le programme d'informatique, nous mettons tous nos œufs dans le même panier et déclarons que "toute défaillance potentielle, aussi improbable soit-elle, est trop importante"
Cort Ammon - Rétablir Monica le
3

Parce que nous ne avons pas besoin garanti l' assurance que quelque chose va se produire lorsque nous avons suffisamment d' expérience qui nous dit ce qui est susceptible de se produire. Par exemple, disons qu'un ami veut me rencontrer. Il m'envoie l'heure et le lieu par e-mail, et je réponds par "Ça a l'air génial, à bientôt". Je n'ai pas besoin de plus d'informations pour procéder à sa rencontre à l'endroit et à l'heure spécifiés. Juste parce que je ne pouvais pas garantirqu'il a obtenu ma réponse n'est pas suffisant pour me dissuader d'agir selon mes hypothèses. Mon expérience me dit que le courrier électronique est assez fiable et que si, pour une raison quelconque, il n'a pas reçu ma réponse, il m'enverra un nouveau courriel. Mon expérience me dit de ne pas m'inquiéter du cas de coin de ma réponse qui est rejeté en silence, et de tous les messages de suivi de sa part qui sont également éliminés en silence. Cette combinaison d'événements ne se produit pas assez souvent pour interférer de manière significative avec ma capacité à rencontrer des gens.

Si ces cas d'angle (ou d'autres problèmes) commençaient à se produire plus souvent, cela changerait mon expérience , puis j'envisagerais de changer ma stratégie. Par exemple, je pourrais appeler la personne au lieu de lui envoyer un courriel. Ou je pourrais utiliser un site Web de calendrier. Ou une autre option.

En ce qui concerne la communication interpersonnelle, je trouve que les problèmes techniques du problème des deux généraux ne sont pas énormément problématiques en soi, mais peuvent amplifier d'autres problèmes. Si j'envoie à quelqu'un une demande de travail et que je ne reçois pas de réponse de sa part dans un délai raisonnable, que dois-je faire? Combien de temps dois-je attendre avant d'envoyer un message de suivi? Si j'envoie un message de suivi, le verra-t-il comme un rappel amical ou va-t-il se sentir irrité? Comment dois-je formuler le message de suivi afin de ne pas apparaître comme trop présomptueux (parce que si le réseau a effectivement laissé tomber le message précédent, alors c'est le premier qu'ils entendent de moi)?

La nature de ces questions dépend toutes des personnes et du contexte impliqués. Il n'y a pas de réponses garanties. Mais encore une fois, nous n'avons pas besoin de garanties pour réussir. Tout ce dont nous avons besoin, ce sont des choses comme l'introspection, l'empathie et la capacité d'apprendre de l'expérience. Nous pouvons découvrir et développer nos propres stratégies uniques - qui peuvent bien différer des autres - qui nous permettent de devenir de meilleurs communicateurs au fil du temps.

kartik_subbarao
la source
-1

Pouvez-vous me donner la valeur exacte de pi en notation décimale? Nous, les humains, arrondissons et approchons lorsque nous savons que la valeur exacte est insoluble.

RajuK
la source
2
Bienvenue! Nous recherchons des réponses qui contiennent des détails et des explications, plutôt que de simples commentaires. L'idée dans votre commentaire a déjà été discutée en détail dans les réponses existantes à la question, donc je ne pense pas que vous ajoutiez quoi que ce soit ici.
David Richerby
Mon commentaire est succinct et précis. La question paraphrasée était de savoir comment les humains s'entendent sur quoi que ce soit si nous savons qu'un problème est insoluble? Ma réponse vient des mathématiques (en particulier pi en décimal) que nous arrondissons et approximons.
RajuK
Votre commentaire n'est que cela: un commentaire. Lorsque vous aurez suffisamment de réputation, vous pourrez poster des commentaires. Jusque-là, vous ne pouvez publier que des réponses et les réponses devraient être plus détaillées que cela, comme je l'ai déjà expliqué.
David Richerby
La question en tant que telle n'est pas une question scientifique, mais une question sur le comportement humain. D'où ma réponse était au point. Pourquoi la question n'a-t-elle pas été étiquetée comme une question non informatique et rejetée?
RajuK
Si vous pensez que la question est hors sujet, vous devez la signaler et ne pas y répondre. Veuillez également noter que les sites Stack Exchange (même les commentaires à leur sujet) ne sont pas destinés à être des forums de discussion.
David Richerby
-1

La preuve indique seulement qu'il est impossible de concevoir un protocole qui résout le problème de manière fiable (c'est-à-dire parfaitement dans tous les cas).

Cela ne dit pas qu'il est impossible de concevoir un protocole qui résout principalement le problème. Les êtres humains, étant de nature bayésienne, sont assez bons pour concevoir des protocoles qui résolvent un problème donné avec un certain degré de qualité et / ou un certain degré de succès satisfaisant en termes de gains et de pertes à long terme.

Nulle part homme
la source