मैं यहां प्रश्न का उल्लेख कर रहा हूं: शक्तिशाली एल्गोरिदम लागू करने के लिए बहुत जटिल है ।
यदि एक एल्गोरिदम शक्तिशाली है, लेकिन लागू करने के लिए बहुत जटिल है, तो आप कैसे सुनिश्चित कर सकते हैं कि एल्गोरिथ्म सही है? कार्यान्वयन के बिना आप एक वास्तविक दुनिया के परिदृश्य में एल्गोरिथ्म का परीक्षण करने में सक्षम नहीं होंगे, और इस तरह के एक जटिल एल्गोरिथ्म में कीड़े हो सकते हैं, जो एल्गोरिथ्म को अमान्य कर सकते हैं।
यह वही है जो मुझे समझ में नहीं आता है; यदि आपके पास एक एल्गोरिथ्म की शुद्धता साबित करने की तकनीक है, तो आपके पास इसे पहले से ही लागू करने के लिए एल्गोरिथम होगा, है ना? या फिर हम कैसे सुनिश्चित कर सकते हैं कि साबित करने वाली तकनीक सही है?
मुझे माफ करना अगर मैं प्राथमिक ध्वनि करता हूं!
Kaveh से अपडेट करें (यहां पुन: प्रस्तुत किया गया क्योंकि तर्क बेहतर है!):
यदि आप औपचारिक रूप से Coq जैसी औपचारिक प्रणाली में एक एल्गोरिथ्म की शुद्धता को साबित कर सकते हैं तो आप एल्गोरिथ्म भी निकाल सकते हैं (क्योंकि अनिवार्य रूप से आपने एल्गोरिथ्म को लागू किया है), लेकिन महत्वपूर्ण तथ्य यह है कि अधिकांश एल्गोरिदम के लिए हम औपचारिक प्रमाण नहीं देते हैं एल्गोरिथ्म के लिए शुद्धता, हम शुद्धता के अनौपचारिक सबूत का उपयोग करते हैं। सबूत झूठे हो सकते हैं, जो समय-समय पर होता है, और यहां तक कि शुद्धता का एक औपचारिक प्रमाण हमें बिल्कुल सुनिश्चित नहीं करेगा कि एल्गोरिथ्म सही है।