Heuristic खोज एक शक्तिशाली एल्गोरिथ्मिक दृष्टिकोण हो जुन जटिल समस्या स्थानहरूमा heuristics वा औंठाको नियमहरूमा आधारित सूचित निर्णयहरू गरेर समाधान खोज्न प्रयोग गरिन्छ। यो विशेष गरी उपयोगी छ जब एक विस्तृत खोज ठूलो खोज स्थान को कारण अव्यावहारिक छ।
यो कसरी काम गर्दछ
- Heuristic मूल्याङ्कन: एल्गोरिदमले फंक्शन प्रयोग गरेर समस्या स्पेसमा प्रत्येक अवस्थाको मूल्याङ्कन गर्दछ heuristic । यस प्रकार्यले लक्ष्य राज्यको निकटताको सन्दर्भमा प्रत्येक राज्यको "प्रतिज्ञा" अनुमान गर्दछ।
- खोज रणनीति: एल्गोरिदमले मूल्याङ्कनको आधारमा सबैभन्दा आशाजनक अवस्था चयन गर्दछ heuristic । Best-First यसले खोज, A* खोज वा Greedy खोज जस्ता खोज रणनीति प्रयोग गर्दछ ।
- राज्य विस्तार: छिमेकी राज्यहरू उत्पन्न गरेर चयन गरिएको राज्यलाई विस्तार गरिन्छ। यी अर्को चरणका लागि सम्भावित उम्मेदवार हुन्।
- दोहोर्याउनुहोस्: प्रक्रिया पुनरावृत्ति दोहोर्याइएको छ, लक्ष्य अवस्था फेला परेन वा समाप्ति अवस्था पूरा नभएसम्म राज्यहरू चयन र विस्तार गर्दै।
उदाहरण: यात्रा सेल्सम्यान समस्या(TSP)
ट्राभलिङ सेल्सम्यान समस्यालाई विचार गर्नुहोस्, जहाँ सेल्सम्यानले सहरहरूको सेट भ्रमण गर्नु पर्छ र यात्रा गरेको कुल दूरी कम गर्दै सुरु हुने शहरमा फर्कनु पर्छ। एउटा heuristic दृष्टिकोण निकटतम छिमेकी एल्गोरिदम हुन सक्छ:
- अनियमित शहरमा सुरु गर्नुहोस्।
- प्रत्येक चरणमा, अर्को गन्तव्यको रूपमा नजिकको नदेखेको सहर छान्नुहोस्।
- सबै शहरहरू भ्रमण नगरेसम्म दोहोर्याउनुहोस्, त्यसपछि सुरु शहरमा फर्कनुहोस्।
C++ मा कोड उदाहरण
यस उदाहरणमा, निकटतम छिमेकी एल्गोरिदम यात्रा सेल्सम्यान समस्या समाधान गर्न प्रयोग गरिन्छ। यो एक heuristic दृष्टिकोण हो जसले प्रत्येक चरणमा सबैभन्दा नजिकको नभेटिएको सहर छान्छ, परिणाम स्वरूप प्रायः इष्टतमको नजिक हुन्छ।