Buradaki soruya atıfta bulunuyorum: uygulamak için çok karmaşık güçlü algoritmalar .
Bir algoritma güçlü ancak uygulanamayacak kadar karmaşıksa, algoritmanın doğru olduğundan nasıl emin olabilirsiniz? Uygulama olmadan, algoritmayı gerçek dünya senaryosunda test edemezsiniz ve böyle karmaşık bir algoritma, algoritmayı geçersiz kılabilecek hatalar içerebilir.
Anlamadığım şey bu; bir algoritmanın doğruluğunu kanıtlamak için teknikleriniz varsa, o zaman onu zaten uygulayacak algoritmaya sahip olacaksınız, değil mi? Yoksa kanıtlama tekniğinin doğru olduğundan nasıl emin olabiliriz?
Temel ses çıkarırsam özür dilerim!
Kaveh'den güncelleme (burada argüman daha iyi olduğu için çoğaltılmıştır!):
Coq gibi resmi bir sistemde bir algoritmanın doğruluğunu resmi olarak kanıtlayabilirseniz, algoritmayı da çıkarabilirsiniz (çünkü algoritmayı uyguladınız), ancak asıl önemli olan çoğu algoritma için resmi kanıtlar vermememizdir. algoritma için doğruluk, gayri resmi doğruluk kanıtları kullanıyoruz. Kanıtlar yanlış olabilir, bu da zaman zaman gerçekleşir ve resmi bir doğruluk kanıtı bile algoritmanın doğru olduğundan emin olmamızı sağlamaz.