जब मैं निम्नलिखित उद्धरण में आया तो मैं डायनामिक प्रोग्रामिंग पर पढ़ रहा था
एक गतिशील प्रोग्रामिंग एल्गोरिथ्म समस्या को हल करने के लिए सभी संभावित तरीकों की जांच करेगा और सबसे अच्छा समाधान उठाएगा। इसलिए, हम मोटे तौर पर गतिशील प्रोग्रामिंग को एक बुद्धिमान, ब्रूट-फोर्स विधि के रूप में सोच सकते हैं जो हमें सबसे अच्छा लेने के लिए सभी संभव समाधानों से गुजरने में सक्षम बनाता है । यदि समस्या का दायरा ऐसा है कि सभी संभव समाधानों से गुजरना संभव है और काफी तेज है, तो गतिशील प्रोग्रामिंग इष्टतम समाधान खोजने की गारंटी देता है
निम्नलिखित उदाहरण दिया गया था
उदाहरण के लिए, मान लीजिए कि आपको भीड़-भाड़ वाले समय के दौरान, बिंदु A से बिंदु B तक, किसी दिए गए शहर में, जितना जल्दी हो सके, प्राप्त करना होगा। एक गतिशील प्रोग्रामिंग एल्गोरिथ्म पूरी ट्रैफ़िक रिपोर्ट पर ध्यान देगा, जो आपके द्वारा ली जाने वाली सड़कों के सभी संभावित संयोजनों को देख रही है, और उसके बाद ही आपको बताएगी कि कौन सा रास्ता सबसे तेज़ है। बेशक, आपको एल्गोरिथ्म खत्म होने तक कुछ समय तक इंतजार करना पड़ सकता है, और उसके बाद ही आप ड्राइविंग शुरू कर सकते हैं। आपके द्वारा लिया गया पथ सबसे तेज़ होगा (यह मानते हुए कि बाहरी वातावरण में कुछ भी नहीं बदला है)
ब्रूट फोर्स सर्वश्रेष्ठ समाधान पर निर्णय लेने से पहले हर संभव समाधान का प्रयास कर रहा है।
डायनामिक प्रोग्रामिंग ब्रूट फोर्स से अलग कैसे है अगर यह सबसे अच्छा एक को चुनने से पहले सभी संभावित समाधानों से गुजरता है , तो एकमात्र अंतर यह है कि डायनामिक प्रोग्रामिंग अतिरिक्त कारकों (इस मामले में यातायात की स्थिति) को ध्यान में रखता है।
क्या मुझे यह कहना सही है कि डायनामिक प्रोग्रामिंग ब्रूट फोर्स मेथड का सबसेट है ??
intelligent, brute force
, लेकिन फिर "बुद्धिमान" भाग का वर्णन करने के लिए भूल जाता है