여기서 질문을 참조하고 있습니다 : 강력한 알고리즘이 너무 복잡하여 구현할 수 없습니다 .
알고리즘이 강력하지만 구현하기에 너무 복잡한 경우 알고리즘이 올바른지 어떻게 확인할 수 있습니까? 구현하지 않으면 실제 시나리오에서 알고리즘을 테스트 할 수 없으며 이러한 복잡한 알고리즘에는 버그가 포함되어 알고리즘을 무효화 할 수 있습니다.
이것이 내가 이해하지 못하는 것입니다. 알고리즘의 정확성을 입증 할 수있는 기술이 있다면 이미 구현할 알고리즘이 있습니까? 아니면 증명 기술이 올바른지 어떻게 확인할 수 있습니까?
초등하게 들리면 미안 해요!
Kaveh에서 업데이트 (논쟁이 더 좋기 때문에 여기에서 재현 됨) :
Coq와 같은 공식 시스템에서 알고리즘의 정확성을 공식적으로 증명할 수 있다면 알고리즘을 추출 할 수도 있지만 (기본적으로 알고리즘을 구현했기 때문에) 대부분의 알고리즘에 대해서는 공식적인 증거를 제공하지 않습니다. 알고리즘의 정확성에 대한 비공식적 인 정확성 증명을 사용합니다. 증명은 때때로 거짓이 될 수 있으며 공식적인 정확성 증명조차도 알고리즘이 올바른지 절대적으로 확신 할 수는 없습니다.