Estou me referindo à pergunta aqui: algoritmos poderosos complexos demais para serem implementados .
Se um algoritmo é poderoso, mas complexo demais para implementar, como você pode ter certeza de que o algoritmo está correto? Sem implementação, você não poderá testar o algoritmo em um cenário do mundo real, e um algoritmo tão complexo pode conter bugs, o que pode invalidar o algoritmo.
Isto é o que eu não entendo; se você possui as técnicas para provar a correção de um algoritmo, já teria o algoritmo para implementá-lo, não é? Ou então, como podemos ter certeza de que a técnica de prova está correta?
Me desculpe se pareço elementar!
Atualização do Kaveh (reproduzida aqui porque o argumento é melhor!):
Se você pode provar formalmente a correção de um algoritmo em um sistema formal como o Coq, também pode extrair o algoritmo (porque essencialmente você implementou o algoritmo), mas o fato principal é que, para a maioria dos algoritmos, não fornecemos provas formais de correção do algoritmo, usamos provas informais de correção. As provas podem ser falsas, o que acontece de tempos em tempos, e mesmo uma prova formal de correção não nos garante a certeza absoluta de que o algoritmo está correto.
fonte
Respostas:
Há vários anos, houve um debate (bastante severo) sobre um tópico semelhante a este. Tudo começou quando várias provas complexas se mostraram incorretas e alguns pesquisadores começaram a levantar dúvidas sobre a própria natureza das provas (bem, eu deveria ter dito "criptografia comprovável", mas por uma questão de generalidade, não o fiz). . Ambos os lados da controvérsia acusaram o outro de interpretar mal os conceitos. Aqui está um link para mais informações .
As provas são nossas ferramentas (matemáticas) para provar que os teoremas / algoritmos estão corretos, mas quando se tornaram muito complexos, podemos escapar e provar que as coisas erradas estão certas. A recente prova de cerca de 100 páginas no P ≠ NP é um excelente exemplo. No entanto, isso não descarta a própria natureza das provas: não há nada errado com elas.
Um último ponto: acho que estudar o filosofia da ciência nos dará mais informações sobre isso. (No link fornecido, consulte o marcador " Como sabemos se uma prova matemática está correta? ")
fonte