Se o problema dos dois generais é insolúvel, como podemos concordar com os seres humanos?
Quero dizer, nos comunicamos todos os dias e temos as mesmas limitações que qualquer problema de comunicação tratado pela ciência da computação. Por que isso não nos afeta?
computer-networks
communication-protocols
user1508072
fonte
fonte
Respostas:
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.
fonte
Central (trocadilho) para o problema dos dois generais é um inimigo malicioso no meio. Embora modele um canal não confiável, modela-o de uma maneira que normalmente não encontramos. No problema, as mensagens podem passar pelas mãos do inimigo e não há restrições de tempo, verificação, criptografia ou qualquer outra coisa que eu não tenha pensado.
Quando nos comunicamos na prática, em primeiro lugar, espera-se que os canais que usamos não sejam confiáveis dessa maneira. Os canais podem ser barulhentos, com certeza, mas isso é diferente de ser malicioso. A probabilidade de que um canal barulhento no nível de bits possa produzir aleatoriamente não apenas uma mensagem válida que satisfaça o código de correção de erros que estamos usando, mas também é válida porque faz sentido para o receptor é muito baixa. Também podemos usar coisas como criptografia de chave pública para criptografar e / ou assinar mensagens, dificultando novamente a falsificação de uma mensagem real. Em terceiro lugar, uma parte significativa da nossa comunicação é sensível ao tempo - na verdade, conversamos com as pessoas, para que não haja demora na resposta; nesse caso, teremos que estar satisfeitos com o fato de que a pessoa com quem estamos conversando é a pessoa com quem estamos conversando. para.
Na maioria dos casos, apenas assumimos que não há fonte significativa de erro nas mensagens, e nos safamos disso. Podemos imaginar um cenário em que realmente haja um homem mal-intencionado corrompendo o canal, mas encontramos algumas coisas; a criptografia de chave pública ainda é eficaz, mas mais importante ainda, o esforço e o poder necessários para corromper com precisão uma parte significativa da comunicação estão muito além do que é possível. Se não fosse, a inteligência de sinais militares seria muito mais eficaz do que é (não que não seja eficaz, seria apenas melhor).
Observe que, embora eu tenha abordado principalmente a comunicação mediada por computador / máquina, os mesmos argumentos podem ser apresentados para a comunicação interpessoal - as fontes de ruído geralmente não podem falsificar uma mensagem inteira, temos sistemas de correção para aqueles que introduzem níveis aleatórios e de baixo nível. barulho e o esforço simplesmente não vale a pena em quase todos os casos, para que haja um invasor mal-intencionado e com recursos suficientes e motivado.
fonte
A "insolubilidade" do problema "Dois generais" (ou chamado de "Ataque coordenado") é restrita ao seu contexto, isto é, em um sistema distribuído totalmente assíncrono com canais de comunicação não confiáveis e não confiáveis. Em nossa vida cotidiana, as pessoas podem "tolerar" situações tão ruins.
No livro Raciocínio sobre Conhecimento ; Seção 6.1 , os autores comentam que
Ele comenta ainda que
Em nossa vida cotidiana, as pessoas podem tolerar (e estão tolerando) pequenos atrasos e canais não confiáveis (conforme elaborado por @Luke Mathieson). (Se você se aprofundar e perguntar "como" e "por que", provavelmente está fora do escopo da ciência da computação.)
fonte
Porque nós não precisamos garantida garantia de que algo vai acontecer quando temos suficiente experiência que nos diz o que é provável que aconteça. Por exemplo, digamos que um amigo queira se encontrar comigo. Ele me manda um e-mail com a hora e o local, e eu respondo com "Parece ótimo, até mais". Não preciso de mais informações para encontrá-lo no local e horário especificados. Só porque eu não poderia garantirque ele recebeu minha resposta não é suficiente para me impedir de agir de acordo com minhas suposições. Minha experiência me diz que o e-mail é bastante confiável e que, por algum motivo, ele não recebeu minha resposta, ele me enviará um e-mail novamente. Minha experiência me diz para não me preocupar com o fato de minha resposta ser descartada silenciosamente e todas as mensagens de acompanhamento dele também serem descartadas silenciosamente. Essa combinação de eventos simplesmente não acontece com frequência suficiente para interferir significativamente na minha capacidade de conhecer pessoas.
Se esses casos de canto (ou outros problemas) começassem a acontecer com mais frequência, isso mudaria minha experiência e consideraria mudar minha estratégia. Por exemplo, eu poderia ligar para a pessoa em vez de enviá-la por e-mail. Ou eu posso usar um site de calendário. Ou alguma outra opção.
Conforme aplicado à comunicação interpessoal, acho que os problemas técnicos do problema dos dois generais não são extremamente problemáticos por si mesmos, mas podem ampliar outros problemas. Se eu enviar por e-mail uma solicitação de trabalho e não receber uma resposta em um período de tempo razoável, o que devo fazer? Quanto tempo devo adiar antes de enviar uma mensagem de acompanhamento? Se eu enviar uma mensagem de acompanhamento, eles a verão como um lembrete amigável ou vão se sentir irritados? Como devo redigir a mensagem de acompanhamento para não parecer muito presunçosa (porque, se a rede realmente descartou a mensagem anterior, essa é a primeira vez que ela recebe notícias minhas)?
A natureza dessas questões depende das pessoas e do contexto envolvido. Não há respostas garantidas. Mas, novamente, não precisamos de garantias para ter sucesso. Tudo o que precisamos são coisas como introspecção, empatia e capacidade de aprender com a experiência. Podemos descobrir e desenvolver nossas próprias estratégias únicas - que podem diferir das outras - que nos permitem nos tornar melhores comunicadores ao longo do tempo.
fonte
Você pode me dar o valor exato de pi na notação decimal? Nós, seres humanos, arredondamos e aproximamos quando sabemos que o valor exato é insolúvel.
fonte
A prova apenas diz que é impossível projetar um protocolo que resolva o problema de maneira confiável (ou seja, perfeitamente em todos os casos).
Não diz que é impossível projetar um protocolo que resolva principalmente o problema. Os seres humanos, sendo de natureza bayesiana, são muito bons em projetar protocolos que resolvem um determinado problema com algum grau de qualidade e / ou algum grau de sucesso satisfatório em termos de ganhos e perdas a longo prazo.
fonte