Me refiero a la pregunta aquí: algoritmos poderosos demasiado complejos para implementar .
Si un algoritmo es poderoso, pero demasiado complejo para implementar, ¿cómo puede estar seguro de que el algoritmo es correcto? Sin la implementación, no podrá probar el algoritmo en un escenario del mundo real, y un algoritmo tan complejo puede contener errores, lo que puede invalidar el algoritmo.
Esto es lo que no entiendo; Si tiene las técnicas para demostrar la exactitud de un algoritmo, entonces ya tendría el algoritmo para implementarlo, ¿no es así? O bien, ¿cómo podemos estar seguros de que la técnica de prueba es correcta?
Lo siento si sueno elemental!
Actualización de Kaveh (¡reproducida aquí porque el argumento es mejor!):
Si puede probar formalmente la exactitud de un algoritmo en un sistema formal como Coq, entonces también puede extraer el algoritmo (porque esencialmente ha implementado el algoritmo), pero el hecho clave es que para la mayoría de los algoritmos no damos pruebas formales de corrección del algoritmo, utilizamos pruebas informales de corrección. Las pruebas pueden ser falsas, lo que sucede de vez en cuando, e incluso una prueba formal de corrección no nos hará estar absolutamente seguros de que el algoritmo es correcto.