Я маю на увазі тут питання: потужні алгоритми занадто складні для реалізації .
Якщо алгоритм є потужним, але занадто складним для його здійснення, як ви можете бути впевнені, що алгоритм правильний? Без реалізації ви не зможете протестувати алгоритм у реальному сценарії, і такий складний алгоритм може містити помилки, які можуть визнати недійсним алгоритм.
Це я не розумію; якщо у вас є методики, щоб довести правильність алгоритму, то у вас був би алгоритм для його реалізації, чи не так? Або ж як ми можемо бути впевнені, що техніка доказування правильна?
Вибачте, якщо я звучу елементарно!
Оновлення від Kaveh (відтворено тут, оскільки аргумент кращий!):
Якщо ви можете офіційно довести правильність алгоритму в такій формальній системі, як Coq, то ви також можете витягнути алгоритм (оскільки, по суті, ви реалізували алгоритм), але ключовим фактом є те, що для більшості алгоритмів ми не надаємо формальних доказів правильність алгоритму, ми використовуємо неофіційні докази коректності. Докази можуть бути помилковими, що час від часу трапляється, і навіть формальне підтвердження правильності не дасть нам абсолютно впевнитися в правильності алгоритму.