मैं कम्प्यूटेशनल टोपोलॉजी क्लास के लिए एक समान समस्या की खोज कर रहा हूं और नीचे उल्लिखित विधि के साथ कुछ सफलता मिली है।
सबसे पहले आपको तुलनात्मक फ़ंक्शन की आवश्यकता होगी जो दो इनपुट बिंदुओं पर ऊंचाई का मूल्यांकन करेगी और किसी भी इनपुट के लिए < या> (बराबर नहीं) लौटाएगी। ऐसा करने का एक तरीका यह है कि यदि अंक बराबर ऊंचाई हैं तो आप अधिक बिंदु खोजने के लिए कुछ स्थिति-आधारित या यादृच्छिक अनुक्रमणिका का उपयोग करते हैं। आप इस बारे में सोच सकते हैं कि ऊंचाई पर एक infinitesimal परेशानी जोड़ना।
अब, प्रत्येक बिंदु के लिए, आप आसपास के पड़ोसियों की ऊंचाई की तुलना करेंगे (2 डी आयताकार ग्रिड पर 8 पड़ोसी होंगे)। एक बिंदु के लिए निचला लिंक उन सभी पड़ोसियों का सेट होगा जिनके लिए ऊंचाई बिंदु से कम है।
यदि सभी पड़ोसी मूल्य निम्न लिंक में हैं, तो आप स्थानीय अधिकतम पर हैं। यदि निचले लिंक में कोई भी अंक नहीं है तो आप स्थानीय न्यूनतम पर हैं। अन्यथा, यदि निचला लिंक एक एकल कनेक्टेड सेट है, तो आप एक ढलान पर नियमित बिंदु पर हैं। लेकिन यदि निचला लिंक दो अनकनेक्टेड सेट है, तो आप एक सैडल पर हैं।
2 डी में आप जिस बिंदु की जांच कर रहे हैं उसके आसपास चक्रीय क्रम में 8 पड़ोसी बिंदु की एक सूची बना सकते हैं। आप अपने तुलनात्मक कार्य के आधार पर प्रत्येक पड़ोसी के लिए +/- 1 का मान असाइन करते हैं। फिर आप उस सूची के माध्यम से कदम उठा सकते हैं (दो अंत बिंदुओं की तुलना करना याद रखें) और निचले लिंक में जुड़े घटकों की संख्या निर्धारित करने के लिए साइन कितनी बार बदलते हैं।
निर्धारित करना कि कौन सा सैडल "महत्वपूर्ण" एक कठिन विश्लेषण है। आप कुछ दिशानिर्देशों के लिए इसे देख सकते हैं: http://www.cs.jhu.edu/~misha/ReadingSeminar/Papers/Gyulassy08.pdf।
-माइकल
स्रोत
2013-05-02 19:32:57