2009-05-18 12 views
18

के बीच क्या अंतर है आप एल्गोरिदम और विधि के बीच अंतर कैसे करते हैं? हम न्यूटन के विधि या फोर्ड-फाल्कसन विधि एल्गोरिदम क्यों नहीं कहते हैं? एक अच्छा एल्गोरिदम के गुण क्या हैं और एक एल्गोरिदम के रूप में विधि क्या योग्यता प्राप्त करता है?एल्गोरिदम और विधि

+0

क्या आप (सॉफ्टवेयर) पेटेंट के संदर्भ में पूछ रहे हैं? – zvrba

+0

नहीं, बस एक सामान्य प्रश्न। हालांकि क्या आप पेटेंट के संदर्भ में इसका उत्तर भी दे सकते हैं? – unj2

उत्तर

-1

फोर्ड-Faulkerson विधि के बारे में, CLRS यह एल्गोरिथ्म विधि के बजाय कॉल क्योंकि "यह अलग चल रहा है समय के साथ कई कार्यान्वयन शामिल हैं" [पीपी 651. 2 editon]

7

"न्यूटन की विधि" और "एल्गोरिदम" के रूप में "विधि" शब्द के बीच कोई तकनीकी अंतर नहीं है।

संपादित करें: प्रतिबिंब पर, शायद पीट सही है कि एल्गोरिदम समाप्त हो गया है और विधियां नहीं हो सकती हैं (मैं नूथ के साथ बहस करने के लिए कौन हूं?) हालांकि, मुझे नहीं लगता कि यह एक भेद है कि अधिकांश लोग केवल आपके उपयोग पर आधारित होंगे एक शब्द या दूसरे का।

+0

क्या आप सुझाव दे रहे हैं कि हम शब्दों को इंटरचेंजबली का उपयोग कर सकते हैं। मैं किसी भी विधि को एल्गोरिदम के रूप में संदर्भित कर सकता हूं? – unj2

+0

मेरा मानना ​​है कि आप उन सभी गणितीय तरीकों को "एल्गोरिदम" के रूप में संदर्भित कर सकते हैं और गणितज्ञों द्वारा तकनीकी रूप से सही और समझ दोनों दोनों हो सकते हैं। – mquander

+2

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

1

मुझे लगता है कि यह सिर्फ इसलिए है क्योंकि एल्गोरिदम का मूल डोमेन है। यदि आविष्कारक कंप्यूटर विज्ञान पृष्ठभूमि में है, तो उसे एल्गोरिदम कहा जा सकता है। गणित और अन्य विज्ञान के क्षेत्र में, वे विधि कहा जा सकता है।

1

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

कंप्यूटर विज्ञान में एक समस्या को हल करने के लिए एक एल्गोरिदम अभी भी एक कदम-दर-चरण तरीका है - चरणों का कार्यान्वयन-अज्ञेय सेट। एक विधि आमतौर पर किसी वर्ग या ऑब्जेक्ट से जुड़े कोड के एक हिस्से को संदर्भित करती है जो कुछ कार्य करता है - यह संभावित रूप से कई एल्गोरिदम लागू कर सकता है।

3

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

+2

+1: एल्गोरिदम "परिमित", "निश्चित" और "प्रभावी" होना चाहिए। न्यूटन की विधि इन सभी को पूरा करती है; तो शर्तें विनिमय करने योग्य हैं। हालांकि, मेरे अमेरिकी आयकर की गणना करना निश्चित नहीं है - कुछ शर्तों को अच्छी तरह से परिभाषित नहीं किया जाता है - इसलिए यह एक उचित एल्गोरिदम होने में विफल रहता है। –

+0

मैं इस बात से सहमत नहीं हूं कि एक एल्गोरिदम प्रभावी होना चाहिए। मैं अपने स्वयं के एक एल्गोरिदम का निर्माण कर सकता हूं जिसमें वास्तव में खराब प्रदर्शन है। जब तक आप यह नहीं कह रहे कि यह उस मामले में एक विधि में बदल जाता है :) – ralphtheninja

+1

प्रभावी का मतलब प्रभावी नहीं है। इसका मतलब है कि कदम अंतिम राज्य या लक्ष्य की ओर प्रगति करते हैं। इसका मतलब है कि एल्गोरिदम बकवास चरणों के साथ गद्देदार नहीं है जो प्रभावी ढंग से लक्ष्य तक नहीं पहुंचते हैं। –

3

सामान्य प्रोग्रामिंग में बोलते हैं, एल्गोरिदम वह चरण होते हैं जिनके द्वारा एक कार्य पूरा किया जाता है। Wikipedia के अनुसार,

एक एल्गोरिथ्म निर्देशों का एक परिमित अनुक्रम एक स्पष्ट, कदम-दर-कदम एक समस्या है, अक्सर गणना और डाटा प्रोसेसिंग के लिए इस्तेमाल को सुलझाने के लिए प्रक्रिया है। यह औपचारिक रूप से एक प्रभावी तरीका है जिसमें कार्य पूरा करने के लिए अच्छी तरह से परिभाषित निर्देशों की एक सूची, प्रारंभिक स्थिति दी जाएगी, जब लगातार राज्यों की एक अच्छी तरह से परिभाषित श्रृंखला के माध्यम से आगे बढ़ेगी, अंततः अंत राज्य में समाप्त हो जाएगी। एक राज्य से अगले राज्य में संक्रमण आवश्यक रूप से निर्धारक नहीं है; कुछ एल्गोरिदम, संभाव्य एल्गोरिदम के रूप में जाना जाता है, यादृच्छिकता शामिल करते हैं। <

कंप्यूटर विज्ञान में, एक विधि या समारोह प्रोग्रामिंग करने के लिए वस्तु उन्मुख दर्शन जहां कार्यक्रमों कक्षाएं कि तरीकों/कार्य विशिष्ट कार्य करने के लिए होता है के बने होते हैं का हिस्सा है। एक बार फिर, Wikipedia

के हवाले से ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में, एक विधि एक सबरूटीन कि विशेष रूप से या तो एक वर्ग (बुलाया वर्ग तरीकों या स्थिर विधि) के साथ या किसी वस्तु (बुलाया उदाहरण विधि) के साथ जुड़ा हुआ है। प्रक्रियात्मक प्रोग्रामिंग भाषाओं में एक प्रक्रिया की तरह, एक विधि में आमतौर पर एक क्रिया करने के लिए बयानों का अनुक्रम होता है, उन कार्यों को कस्टमाइज़ करने के लिए इनपुट पैरामीटर का एक सेट, और संभावित रूप से किसी आउटपुट मान (वापसी मूल्य कहा जाता है)। विधियां किसी ऑब्जेक्ट या क्लास में संग्रहीत encapsulated डेटा तक पहुंचने (पढ़ने और लिखने के लिए) के लिए एक तंत्र प्रदान कर सकती हैं।<

संक्षेप में, एल्गोरिथ्म चरणों में इस तरह के पर एक प्रकाश बल्ब निर्णायक के रूप में है जिसके द्वारा हम कुछ करना हैं:

1) स्विच करने के लिए 2) फ्लिप स्विच 3) इलेक्ट्रॉन प्रवाह 4 चलो) प्रकाश उत्पन्न

तरीके हैं जहां हम वास्तव में कक्षा के अंदर कार्रवाई करते हैं।

+2

मैं एक अलग विधि के बारे में बात कर रहा हूं। कृपया प्रश्न पढ़ें। – unj2

+0

सीएस में, एल्गोरिदम कदम है और विधि वह माध्यम है जिसके द्वारा हम एक क्रिया करते हैं। सभी गणित सूत्र एल्गोरिदम होंगे क्योंकि वे हमें निर्देश देते हैं कि कुछ कैसे ढूंढें या कैसे करें - भले ही उन्हें गणित में विधियों कहा जाता है। वास्तव में उन्हें लागू करने के लिए हमें एक कार्यक्रम में कोड विधियों को कोड करना होगा। – FloppyDisk

22

एल्गोरिदम कदम की एक निश्चित संख्या में समाप्त।

एक प्रक्रिया को छोड़कर यह संभव परिमितता का अभाव है कि एक कम्प्यूटेशनल विधि बुलाया जा सकता है एक एल्गोरिथ्म की विशेषताओं के सभी है। यूक्लिड ने मूल रूप से न केवल संख्याओं के सबसे महान आम विभाजक के लिए एक एल्गोरिदम प्रस्तुत किया, बल्कि दो रेखा खंडों की लंबाई के "सबसे बड़े सामान्य उपाय" के लिए एक बहुत ही समान ज्यामितीय निर्माण प्रस्तुत किया; यह एक कम्प्यूटेशनल विधि है जो दी गई लंबाई को असामान्य नहीं होने पर समाप्त नहीं होती है। - D.Knuth, TAOCP खंड 1, आधारभूत अवधारणाएं: एल्गोरिदम

न्यूटन Raphson विधि कवरेज़ की गारंटी नहीं है, नहीं यह अभिसरण विफलता का पता लगाने है। यदि आप एक सीमित ईपीएसलॉन पर या सीमित चरणों के बाद अभिसरण का पता लगाने और समाप्ति के साथ विधि को लपेटते हैं, तो आपको एक एल्गोरिदम मिलता है।

1

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

0

एक प्रक्रिया हमेशा के लिए जा सकती है। जहां एल्गोरिदम के रूप में, अंततः समाप्त हो जाएगा और प्रत्येक चरण को निश्चित रूप से परिभाषित किया जाएगा।

1

विधि एक रणनीति के समान है, एल्गोरिदम रणनीति के समान है। एक उदाहरण: युद्ध में, आप एक देश को लेने के लिए एक रणनीति (विधि) विकसित करते हैं: पहले बंदरगाहों को ले जाएं, भूमि पर पश्चिम की ओर बढ़ें, फिर राजधानी के चारों ओर, आदि। यह रणनीति कई रणनीतिक चरणों (एल्गोरिदम) में विभाजित है: पहला, एक सैनिकों को कदम से कदम बताता है कि वे बंदरगाहों को कैसे ले जा रहे हैं; फिर, एक जो सैनिकों को बताता है कि उन्हें पश्चिम को कैसे आगे बढ़ाना चाहिए; फिर, सैनिकों के लिए शहर के चारों ओर घूमने के लिए सही कदमों के साथ एक,

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