Discordo de outras respostas de que o canal de comunicação precisa ser modelado de maneira diferente. A malícia é irrelevante, mensagens perdidas simples com probabilidade diferente de zero são suficientes para criar o problema dos dois generais. email e mensagens instantâneas, por exemplo, têm uma chance baixa, mas não zero, de descartar mensagens. As chamadas telefônicas podem sofrer interferência; assim, com o problema dos dois generais, você precisa confirmar de alguma forma se a outra pessoa ouviu o que você disse, ad infinitum. E, no entanto, freqüentemente uso esses canais para fazer acordos com outras pessoas.
O que o insolúvel problema dos "dois generais" não consegue resolver é obter o conhecimento comum garantido . Na vida real, não exigimos conhecimento comum formal para prosseguir. Portanto, o objetivo na maioria das situações práticas precisa ser descrito diferentemente do objetivo no problema dos dois generais.
Concluímos que o acordo é "suficientemente provável". Talvez eu não esteja disposto a atacar, a menos que tenha certeza de que você o atacará, mas estou disposto a ir até a cafeteria para conhecê-lo, desde que a probabilidade de uma falha de comunicação não seja muito maior do que a probabilidade de você não chegar devido ao tráfego. Ao contrário dos generais, vou me arriscar em você me encontrar.
Se você já teve alguém explicando algo três vezes para você de maneiras diferentes quando o obteve pela primeira vez, ou alguém pediu para confirmar algo que você já confirmou duas vezes, é porque você atingiu seu limite de " suficientemente provável "antes de chegarem ao deles.
Escolha a psicologia, a filosofia ou a biologia evolutiva como o domínio correto para procurar uma resposta para a próxima pergunta, por que realmente não precisamos de uma garantia completa de conhecimento comum :-)
Também se refere a problemas práticos em computação. Por exemplo, quando usamos um código de correção de erro único para "validar" que um símbolo em uma mensagem chegou corretamente, tudo o que estamos fazendo é aceitar que a probabilidade de um erro duplo é insignificante por enquanto. Posteriormente, no protocolo, poderemos ter um CRC, para reduzir ainda mais a probabilidade de erro não detectado. Nada disso resolve o problema dos dois generais, mas é suficiente para mim, meu banco e um comerciante "concordar" que uma transação com cartão de crédito ocorreu, com uma pequena probabilidade de discordarmos.