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?
computer-networks
communication-protocols
user1508072
la source
la source
Réponses:
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.
la source
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é.
la source
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
Il ajoute que
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.)
la source
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.
la source
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.
la source
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.
la source