रेनॉल्ड्स और टाइमन से विकास की परिभाषा


47

मैं एक किताब बुलाया पढ़ रहा हूँ कंप्यूटर विज्ञान के सिद्धांतों (2008), कार्ल रेनॉल्ड्स और पॉल Tymann (Schaum की रूपरेखा द्वारा प्रकाशित) द्वारा।

दूसरा अध्याय एक क्रमिक खोज के एक उदाहरण के साथ एल्गोरिदम का परिचय देता है जो केवल नामों की एक सूची के माध्यम से पुनरावृत्ति करता है और यदि किसी दिए गए नाम को सूची में पाया जाता है तो TRUE लौटाता है।

लेखक कहते हैं (पृष्ठ 17):

हम कहते हैं कि अनुक्रमिक खोज एल्गोरिदम का "विकास का क्रम" n है। इसके लिए संकेतन T (n) है। हम यह भी कहते हैं कि एल्गोरिथ्म जिसका विकास का क्रम T (n) के कुछ स्थिर कारक के भीतर है, एनएल का कहना है कि थीटा है। "अनुक्रमिक खोज में n की थीटा है।" समस्या का आकार n है, सूची की लंबाई की खोज की जा रही है।

मुझे यह वास्तव में कठिन लगता है। पुस्तक त्रुटियों से भरी हुई है, इसलिए मुझे यकीन नहीं है कि मुझे कुछ याद आ रहा है या यदि ऊपर के पैराग्राफ में कोई टाइपो है। सामान्य अंग्रेजी में मैं शायद ही किसी वाक्य को "... कहूं" के साथ देखता हूं।

मैं बहुत असमंजस में हूँ।

T किस लिए खड़ा है? किताब नहीं समझाती। यह समय के लिए है या थीटा के लिए?

यदि "एनएल की थीटा" का अर्थ है "अनुक्रमिक खोज में एन की थीटा है।" L किसलिए खड़ा है? 'रैखिक' या 'लंबाई'?

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

यदि किसी के पास उस पुस्तक की एक प्रति है, और उस अनुच्छेद को समझ गया है। फिर, मैं सराहना करता हूं कि क्या आप मुझे बता सकते हैं कि क्या पैराग्राफ सही है या इसे दूसरे शब्दों में समझाएं। धन्यवाद।


समय की जटिलता टी (n), विकिपीडिया से : "चूंकि एल्गोरिथ्म का प्रदर्शन समय एक ही आकार के विभिन्न इनपुटों के साथ भिन्न हो सकता है, इसलिए आमतौर पर एक एल्गोरिथ्म के सबसे खराब समय जटिलता का उपयोग करता है, जिसे T (n) के रूप में निरूपित किया जाता है, जिसे परिभाषित किया गया है। आकार n के किसी भी इनपुट पर लिया गया अधिकतम समय। कम आम, और आमतौर पर स्पष्ट रूप से निर्दिष्ट, औसत-केस जटिलता का माप है। समय जटिलताएं फ़ंक्शन टी (एन) की प्रकृति द्वारा वर्गीकृत की जाती हैं। उदाहरण के लिए, एक एल्गोरिथ्म। T (n) के साथ = O (n) को एक रैखिक समय एल्गोरिथ्म कहा जाता है, और [...] "
स्टीफन

1
मेरा मानना ​​है कि यह यह पुस्तक है और गैर-तारकीय समीक्षा के अलावा, मैंने अभी-अभी छोड़ा है, आज एक और दिनांक है, जो शायद एक संयोग नहीं है!
जेसन सी

कहने का वह उपयोग कम से कम इस्तेमाल की जाने वाली परिभाषा की तरह लगता है: मान लेना या मान लेना। इसे "समझो ..., मान लेते हैं।" अभी भी यकीन नहीं है कि वाक्य समझ में आता है।
रोजर क्रुएगर

जवाबों:


77

पैराग्राफ गलत है। दुर्भाग्य से, यह बिल्कुल उस तरह का दिखता है जैसे कि एक छात्र जो सामग्री को नहीं समझता है वह एक अभ्यास के उत्तर के रूप में लिखेगा। इस तरह की बकवास का पाठ्यपुस्तक में कोई स्थान नहीं है। कोई अचानक हलचल न करें। किताब नीचे रख दो। पुस्तक से दूर हटो।

T(n)

T(n)Tn

T(1)=kT(n)=T(n1)+lognfor n>1
TT(n)=blahTT

T(n)n

यह स्पष्ट रूप से मंगाई गई है। मुझे लगता है कि लेखकों का इरादा कुछ ऐसा लिखना है,

T(n)nn

लेकिन, कृपया, हम यह नहीं कहते हैं कि " थीटा है ," ठीक उसी तरह, जैसे यदि आपकी ऊंचाई के लिए अंकन है, तो आप यह नहीं कहेंगे "जॉन के पास 180 सेमी का है।" यह सिर्फ शब्दों का सही रूप नहीं है। हम वास्तव में कहते हैं, "एल्गोरिथ्म का चलने का समय थीटा है  (या की थीटा  )।" विशेष रूप से ध्यान दें, यह गणितीय कार्यों के बारे में बात करने का एक उपकरण है, एल्गोरिदम नहीं। थीटा का मतलब यह नहीं है कि चलने का समय कुछ है; बल्कि, यह कुछ ऐसा है जिसका उपयोग आप चलने के समय के बारे में बात करने के लिए कर सकते हैं।nhhnnΘ

वैसे, "एनएल", जटिलता वर्ग के नॉनडेटर्मिनिस्टिक लॉगस्पेस को दर्शाता है , जो मूल भाव में दिखाई देने वाली स्थिति में बिल्कुल भी कोई मतलब नहीं रखता है।


12
पहले पैराग्राफ ने मुझे मुस्कुरा दिया क्योंकि यह बिल्कुल वैसा ही है जैसा कि कंप्यूटर विज्ञान पुलिस आपको बताएगी :-) (+1 भी, यह एक अच्छा जवाब है)।
जुहो

3
आपके स्पष्टीकरण के लिए बहुत बहुत धन्यवाद। यह वास्तव में बहुत मददगार है और अब मुझे लगता है कि मैं इसे थोड़ा बेहतर समझ रहा हूं (या, कम से कम, उस पैराग्राफ को न समझने के लिए मेरे दिमाग में गुस्सा महसूस न करें)। मैं अब आराम कर सकता हूं।
जेडब्ल्यू।

2

ऐसा लगता है कि लेखक बिग ओ संकेतन की व्याख्या करने का प्रयास कर रहा है , लेकिन बिना किसी विशेष कारण के इसका नाम बदलकर कर दिया है , और पाठ को पूरी तरह से संवार दिया।T

बिग ओ नोटेशन (साथ ही थोड़ा-ओ और थीटा) के अच्छे विवरण के लिए , मैं प्रो। लिसेरसन द्वारा एमआईटी पुस्तक परिचय एल्गोरिदम की सिफारिश करता हूं।

ऐसा लगता है कि एक महत्वपूर्ण अंतर यह है कि एक एल्गोरिथ्म की कुल जटिलता को संदर्भित करता है, जो आमतौर पर समय , स्थान या दोनों है। (जैसे कुछ एल्गोरिदम बड़े डेटा सेट के साथ धीमी गति से चलते हैं; कुछ को बड़े डेटा के साथ अधिक संग्रहण स्थान की आवश्यकता होती है, और कुछ को अधिक समय और अधिक स्थान दोनों की आवश्यकता होती है)Onotation

ऐसा लगता है कि यह केवल एक एल्गोरिथ्म के समय-माप को संदर्भित करता है, और भंडारण आवश्यकताओं के लिए खाता नहीं है।Tnotation


1
ऐसा नहीं लगता कि वे बड़े ओ को समझाने की कोशिश कर रहे हैं - वे थेटा के बारे में स्पष्ट रूप से बात करते हैं।
डेविड रिचेर्बी

प्रो। लिसेरसन का पाठ विशेष रूप से थीटा को बिगओ पर अधिक सटीक भिन्नता के रूप में वर्णित करता है। मुझे लगता है कि थीटा की अन्य परिभाषाएँ हो सकती हैं, लेकिन बिग-संबंधी थीटा वह है जिससे मैं परिचित हूं।
अबेलेंस्की

2
मुझे नहीं लगता कि यह क्या चल रहा है। इसके बजाय, मुझे संदेह है कि यह "टी (n) = n" लिखने और (बिना स्पष्ट रूप से कहे) यह मान लेने की सामान्य ढिलाई है कि हर कोई टी (एन) को एक चल रहे समय को संदर्भित करेगा, और विशेष रूप से एल्गोरिथ्म के चलने का समय मन में है, और n इनपुट के आकार को संदर्भित करता है।
DW
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.