5

विकिपीडिया के संदर्भ में:BFS और डीएफएस के बारे में बताएं बारे में गहराई पहले खोज उलटे पांव लौटने

गहराई-पहले खोज (डीएफएस) traversing या एक पेड़, वृक्ष संरचना, या ग्राफ खोज के लिए एक एल्गोरिथ्म है। एक रूट पर शुरू होता है (ग्राफ़ केस में रूट के रूप में कुछ नोड का चयन) और बैकट्रैकिंग से पहले प्रत्येक शाखा के साथ यथासंभव पता चलता है।

तो ब्रेडथ पहली खोज क्या है?

"एक एल्गोरिथ्म है कि एक शुरू करने नोड चुनते हैं, सभी नोड्स backtracks, सबसे छोटा रास्ता चुनता है, की जाँच करता है चुना पड़ोसी backtracks, सबसे छोटा रास्ता चुना नोड्स, अंत में इष्टतम पथ क्योंकि पाता है के निरंतर बैक ट्रैकिंग के कारण प्रत्येक पथ से गुजरने।

Regex 012,की छंटनी - बैकट्रैकिंग?

बैकट्रैकिंग शब्द इसकी विविधता के कारण भ्रमित हो जाता है। यूनिक्स के find बैकट्रैकिंग के साथ समझाए गए एक एसओ-उपयोगकर्ता को छंटनी। यदि आप अपने रेगेक्स के दायरे को सीमित नहीं करते हैं तो रेगेक्स बडी शब्द "विनाशकारी बैकट्रैकिंग" का उपयोग करती है। ऐसा लगता है कि यह एक व्यापक रूप से इस्तेमाल छतरी शब्द है। तो:

  1. आप ग्राफ थ्योरी के लिए विशेष रूप से "बैकट्रैकिंग" को कैसे परिभाषित करते हैं?
  2. ब्रेडथ प्रथम खोज और गहराई पहली खोज में "बैकट्रैकिंग" क्या है?

[जोड़ा गया]

अच्छा उलटे पांव लौटने के बारे में और परिभाषाओं उदाहरण

  1. The Brute-force method
  2. स्टॉलमैन के (?) का आविष्कार अवधि "dependency-directed backtracking"
  3. उलटे पांव लौटने और regex उदाहरण
  4. Depth First Search definition.

उत्तर

11

भ्रम की स्थिति में आता है बैक ट्रैकिंग कुछ है कि खोज के दौरान होता है, लेकिन यह भी एक विशिष्ट समस्या को सुलझाने तकनीक जहां बैक ट्रैकिंग का एक बहुत किया जाता है को संदर्भित करता है क्योंकि। ऐसे कार्यक्रम बैकट्रैकर्स कहा जाता है।

एक पड़ोस में ड्राइविंग चित्र, हमेशा आप पहली बार मोड़ लेते हैं (मान लीजिए कि कोई लूप नहीं है) जब तक कि आप एक मृत अंत तक नहीं पहुंच जाते, जिस बिंदु पर आप अगली अवकाशित सड़क के चौराहे पर वापस जाते हैं। यह "पहला" प्रकार का बैकट्रैकिंग है, और यह शब्द के बोलचाल के उपयोग के बराबर है।

अधिक विशिष्ट उपयोग एक समस्या-सुलझाने की रणनीति को संदर्भित करता है जो गहराई की पहली खोज के समान है लेकिन बैकट्रैक जब यह महसूस करता है कि यह कुछ उपखंड जारी रखने योग्य नहीं है।

एक और तरीका रखें - एक निष्क्रिय डीएफएस अंधेरे से प्रत्येक नोड पर जाता है जब तक कि वह लक्ष्य तक नहीं पहुंच जाता। हां, यह पत्ती नोड्स पर "बैकट्रैक" है। लेकिन बैकट्रैकर भी बेकार शाखाओं पर बैकट्रैक। एक उदाहरण शब्दों के लिए एक बोगल बोर्ड खोज रहा है। प्रत्येक टाइल 8 अन्य लोगों से घिरा हुआ है, इसलिए पेड़ बहुत बड़ा है, और बेवकूफ डीएफएस बहुत लंबा ले सकता है। लेकिन जब हम "ZZQ" जैसे संयोजन देखते हैं, तो हम सुरक्षित रूप से इस बिंदु से खोजना बंद कर सकते हैं, क्योंकि अधिक अक्षरों को जोड़ने से यह एक शब्द नहीं बन जाएगा।

मुझे प्रो। जूली ज़ेलेंस्की द्वारा इन व्याख्यानों से प्यार है। वह 8 रानियों, एक सुडोकू पहेली, और बैकट्रैकिंग का उपयोग कर एक प्रतिस्थापन पहेली हल करती है, और सबकुछ अच्छी तरह से एनिमेटेड है। Programming Abstractions, Lecture 10 Programming Abstractions, Lecture 11

एक वृक्ष एक ग्राफ जहां किसी भी दो कोने केवल उन दोनों के बीच एक पथ है। यह चक्र की संभावना को समाप्त करता है। जब आप ग्राफ खोज रहे हों, तो आमतौर पर चक्रों को खत्म करने के लिए आपके पास कुछ तर्क होगा, इसलिए व्यवहार समान है। इसके अलावा, एक निर्देशित ग्राफ के साथ, आप "गलत" दिशा में किनारों का पालन नहीं कर सकते हैं।

स्टॉलमैन पेपर में जो कुछ मैं बता सकता हूं, उससे उन्होंने एक तर्क प्रणाली विकसित की है जो एक प्रश्न पर "हां" या "नहीं" नहीं कहती है, लेकिन वास्तव में परिवर्तनों की सबसे छोटी संख्या बनाकर गलत प्रश्नों के लिए फिक्स का सुझाव देती है। आप देख सकते हैं कि बैकट्रैकिंग की पहली परिभाषा कहां खेल सकती है।

संबंधित मुद्दे