एल्गोरिदम डिजाइन और जटिलता - उस 'तरीके' में कैसे सोचें?


15

मेरा प्रश्न एक सामान्य है: मैं अल्गोरिदम डिजाइन और जटिलता के संदर्भ में कैसे सोचना शुरू करूं? मैं एलगोरिदम डिजाइन में ग्रेजुएट कोर्स करने जा रहा हूं। मैंने पहले इसमें दाखिला लिया था लेकिन बाद में इसे छोड़ दिया क्योंकि मैं इसके साथ नहीं रह सकता था। मुझे इस कोर्स को आवश्यकता के रूप में लेना होगा।

क्या इस तरह से सोचने की कोई 'ट्रिक ’है? मुझे पता है कि यह काफी गंभीर है, लेकिन कभी-कभी एक ताजा परिप्रेक्ष्य एक विषय के बारे में अलग तरह से सोचने में मदद करता है।

इस पाठ्यक्रम (और इसी तरह के सैद्धांतिक पाठ्यक्रमों) के साथ मेरे पास मुख्य समस्या यह है: मुझे कैसे पता चलेगा कि मैं जिन समाधानों के साथ आता हूं वे सही हैं? मुझे लगता है कि सैद्धांतिक भाग विशेष रूप से मनमाना होता है जब एक निश्चित एल्गोरिथ्म 'साबित' करता है या एक निश्चित तरीके से व्यवहार करता है?

हमारा पाठ्यक्रम मानक पाठ का उपयोग करेगा: CLRS द्वारा एल्गोरिदम का परिचय।

क्या कोई पाठ्यपुस्तक / साइट / पुस्तकें / आदि हैं। जो इस क्षेत्र में आश्वस्त होने का एक तरीका प्रदान कर सकता है?

सभी को धन्यवाद,

जेसन डेन


2
मैं इस पोस्ट पर एक नज़र डालने का सुझाव देता हूं । मैं उदी मनबर की पुस्तक विशेष रूप से सुझाता हूं।
एमएस डौस्ती

1
StackOverflow पर यह चर्चा कई सुझाव प्रस्तुत करती है: stackoverflow.com/questions/2256721/…
Jeff11

2
मैं मनबर की सिफारिश को पूरा करता हूं। जेफ एडमंड्स द्वारा एल्गोरिदम के बारे में सोचने का तरीका भी देखें : amazon.com/Think-About-Al
dp

"मुझे कैसे पता चलेगा कि मैं जिन समाधानों के साथ आया हूं वे सही हैं?" क्या इसका मतलब यह है कि (1) आप एक एल्गोरिथ्म के साथ आए थे, लेकिन यह नहीं जानते कि यह कैसे साबित किया जाए कि यह सही है, या (2) आपके पास एक प्रमाण है, लेकिन आपको यकीन नहीं है कि यह सही है?
जुका सुओमेला

एक कदम: सीधे जवाब देना बंद करें और इसके बजाय दूसरे के समाधान देखें। ;)
राफेल

जवाबों:


18

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

मैंने पाया कि मुझे Sipser की पुस्तक से अभ्यास करने और अभ्यास करने से सबसे अधिक "(जब मैं पहली बार अपना स्नातक अध्ययन शुरू करता हूं") के बारे में पता चला । सुनिश्चित करें कि आप अभ्यास करते हैं क्योंकि समस्या को सुलझाने के कौशल और गणितीय परिपक्वता वही है जो आप सीखना चाहते हैं न कि तथ्यों और परिभाषाओं का एक गुच्छा।

हालांकि, Sipser की पुस्तक केवल जटिलता और NP-पूर्णता के सामान के लिए अच्छी है, यह CLRP पुस्तक को स्थानापन्न करने के लिए पर्याप्त नहीं होगी। सीएलआरएस पुस्तक के साथ एकमात्र समस्या यह है कि व्यापक कवरेज का लाभ इसकी कमजोरी बन सकता है क्योंकि पुस्तक छात्रों के लिए काफी डरावनी या भारी लग सकती है। इसलिए मेरी सलाह है कि आपको वास्तव में पुस्तकालय में जाना चाहिए और एल्गोरिदम पर पुस्तकों की खोज करनी चाहिए, एक-एक करके स्कैन करना चाहिए और उन विकल्पों को चुनना चाहिए जो आपके सोचने के पैटर्न को सबसे अधिक फिट करते हैं। और फिर से अभ्यास करने के लिए मत भूलना!

एल्गोरिदम के लिए, मैं व्यक्तिगत रूप से निम्नलिखित पुस्तकों का सुझाव देता हूं (सादिक और जेफई द्वारा सुझाए गए लोगों के अलावा):

  • बहुत पठनीय और सुंदर पुस्तक एस। दासगुप्ता, सीएच पापादिमित्रिउ और यूवी वज़िरानी द्वारा एल्गोरिदम
  • हत्यारा नोट करता हैजेफ इरिकसन द्वारा (या पुस्तक का मसौदा)। (चूंकि जेफ अपने स्वयं के नोट्स का सुझाव देने के लिए बहुत विनम्र है, मुझे इसे स्वयं करना होगा।)

सामान्य तौर पर, जब भी आप एक निश्चित एल्गोरिथ्म या डेटा संरचना का अध्ययन करते हैं, यदि किसी तरह आपकी पाठ्यपुस्तक में प्रदर्शनी आपके लिए पर्याप्त स्पष्ट नहीं है, तो उस विशेष विषय के व्याख्यान नोट्स के लिए Google पर खोज करने का सबसे अच्छा तरीका है। मामलों में, एक ही चीज़ के विभिन्न स्पष्टीकरण अंततः आपको पूरी तस्वीर दे सकते हैं। कम से कम, कि यह मेरे लिए कैसे काम करता है।


8
जेफ के हत्यारे नोटों के लिए +1। मुझे हमेशा उन्हें पढ़ने में मज़ा आता है। एलगोरिदम शब्द का अरबी सुलेख बहुत सुंदर है।
मोहम्मद अल-तुर्कस्टनी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.