कौन से एल्गोरिदम का उपयोग सबसे अधिक बार किया जाता है?


19

कौन सा एल्गोरिदम सबसे अधिक बार उपयोग किया जाता है?

कृपया प्रति उत्तर में एक एल्गोरिथ्म लिखें, अपने उत्तर को छोटा (एक या दो पंक्तियाँ) रखने का प्रयास करें।


Kaveh, शायद आप इतने सारे आपूर्ति करने से पहले प्रतिक्रियाओं का इंतजार करना चाहिए? :)
सुरेश वेंकट

1
@ सुरेश: क्षमा करें। :)
केवड़े

3
अक्सर किस अर्थ में? (एल्गोरिथ्म को लागू करने वाले विभिन्न कंप्यूटर प्रोग्रामों की संख्या? एल्गोरिथ्म का उपयोग करने वाले सॉफ़्टवेयर के स्थापित टुकड़ों की संख्या? एल्गोरिथ्म के निष्पादन की संख्या? एल्गोरिथ्म का उपयोग करके संसाधित डेटा की मात्रा? एल्गोरिथ्म द्वारा उपयोग किए गए सीपीयू सेकंड?) कहां (एकेडेमिया, इंडस्ट्री, होम पीसी?) क्या कभी ऐसा कुछ भी अनुमान लगाना संभव है? क्या हमारे पास कभी कोई जवाब वापस करने के लिए कोई डेटा हो सकता है?
जूका सूमेला

1
यह सवाल बहुत अस्पष्ट है क्योंकि जुक्का सुओमेला ने बताया। आगे स्पष्टीकरण के बिना, उत्तर एल्गोरिदम पर एक पाठ्यपुस्तक की सामग्री की तालिका से बेहतर नहीं होंगे।
त्सुयोशी इतो

1
हाल ही में एक पुस्तक आई है: "नौ एल्गोरिथ्म दैट चेंजेड द फ्यूचर: द इनजेन्सियस आइडियाज द ड्राइव टुडेस कम्प्यूटर्स" जॉन मैकोर्मिक द्वारा। प्रेस
एलेसेंड्रो जैकॉपसन

जवाबों:


18

क्या फास्ट फूरियर एल्गोरिदम की समस्या को वास्तविक कंप्यूटर सिस्टम द्वारा प्रति दिन सबसे अधिक बार हल किया जाता है? पास होना ही है। तो मैं Cooley-Tukey FFT एल्गोरिथ्म को नामांकित करूंगा ।


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

14

गुणन।

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


गुणन एक एल्गोरिथ्म नहीं है, यह विभिन्न एल्गोरिदम द्वारा हल किए गए कई उपप्रकारों के साथ एक समस्या है: निश्चित आकार के पूर्णांक और फ्लोटिंग-पॉइंट, हार्डवेयर या सॉफ़्टवेयर द्वारा निष्पादित; चर-आकार के उभयलिंगी (मोडुलो या नहीं), मेट्रिसेस, ...
गिल्स

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

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

हां, जोड़ और घटाव का उपयोग गुणा से अधिक बार किया जाता है - वास्तव में, लंबी गुणा एल्गोरिथ्म अनिवार्य रूप से एक गुणा को कम करता है। हालाँकि, मुझे नहीं पता कि क्या कोई एकल जोड़ / घटाव एल्गोरिथ्म है जिसे हम यहाँ नामांकित कर सकते हैं?
जुका सुओमेला

@JukkaSuomela: दो पूरक जोड़ और घटाव एक अच्छा उम्मीदवार होगा।
जॉन गीत्ज़ेन

13

दिज्क्स्त्र और बेलमैन-फोर्ड सबसे छोटा पथ एल्गोरिदम। कर रहे हैं कम से कम 2010 तक प्रत्येक के रूप में या तो एक लिंक स्टेट रूटिंग प्रोटोकॉल (डिज्कस्ट्रा) या एक दूरी-वेक्टर रूटिंग प्रोटोकॉल (Bellman- फोर्ड) चल रहा है इंटरनेट पर 35,000 स्वायत्त सिस्टम (एएस) सक्रिय। एक एएस के भीतर राउटर आमतौर पर हर कुछ मिनटों में समय-समय पर अपनी टेबल अपडेट करते हैं, 10 कहते हैं।

इस प्रकार, दिक्जास्त्र और बेलमैन-फोर्ड की संख्या प्रति दिन की मात्रा में कम से कम 5 मिलियन है। और वह केवल राउटर्स से है।

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


एक दिन में आधा बिलियन निष्पादित बहुत कुछ की तरह लग सकता है, लेकिन हम ध्यान रखें कि हमारे पास इस ग्रह पर अरबों मोबाइल हैं। हर समय वो चीजें क्या कर रही हैं? या वे प्रत्येक फोन कॉल के दौरान क्या कर रहे हैं? मुझे नहीं पता, लेकिन मेरा अनुमान है कि वे सबसे छोटे रास्तों की तुलना में बहुत कम एफएफटी कर रहे हैं।
जुल्का सुमेला

8

14
वैसे, क्या यह वास्तव में मामला है कि क्विकसर्ट छँटाई एल्गोरिथ्म है जो वास्तविक दुनिया में सबसे अधिक उपयोग किया जाता है? कुछ सामान्य रूप से उपयोग की जाने वाली प्रोग्रामिंग भाषाओं में एक सामान्य-उद्देश्य "सॉर्ट" फ़ंक्शन के कार्यान्वयन पर मेरी त्वरित नज़र थी। पर्ल: लगता है कि हाल ही में क्विकॉर्ट से मर्जेसट में बदल गया है। पायथन: टिम्सॉर्ट (मर्जसर्ट / इंसर्शन सॉर्ट हाइब्रिड) का उपयोग करता है। जावा: आजकल मर्जसॉर्ट हुआ करता था, आजकल टिम्सॉर्ट। डेटाबेस बाहरी छँटाई का उपयोग करते हैं। क्या क्विकॉर्ट पहले से ही एक लुप्तप्राय प्रजाति है?
जुका सुओमेला

मुझे लगता है कि यह बहुत अच्छी बात है। यह बहुत अच्छा होगा यदि कोई व्यक्ति उत्तर को संपादित कर सकता है।
जुआन बरमेजो वेगा

@ जुआन, हालांकि जिस बिंदु पर जुका का उल्लेख है वह सही है मुझे उत्तर को संपादित करने का कोई कारण नहीं दिखता है।
केवह


7

मुझे लगता है कि सबसे अधिक उपयोग किया जाने वाला एल्गोरिथ्म है पैरिटी चेक (या शायद सीआरसी या किसी प्रकार की त्रुटि-सुधार कोड), क्योंकि वे हर रैम एक्सेस में दिखाई देते हैं।


किसी भी आईपी-आधारित नेटवर्क पर भेजे जाने वाले हर पैकेट के लिए कम से कम एक बार उपयोग किया जाता है
क्लॉस ब्रो


4

k

अधिक आम तौर पर, आपको उन विचारों के लिए कनेलिस पुरस्कार विजेताओं को देखना चाहिए जिनके पास सैद्धांतिक और व्यावहारिक रूप से चोरी है।


लिंक के लिए धन्यवाद, यह बहुत दिलचस्प लग रहा है। प्रश्न के लिए आंशिक प्रेरणा साइट के लिए एक अच्छा आकर्षक एल्गोरिदम नाम ढूंढ रही थी। :)
केवड़े

4

परिमित ऑटोमेटा से रूपांतरण द्वारा नियमित अभिव्यक्ति - मेरा मानना ​​है कि इन लाइनों के साथ grep फ़ंक्शन।



3

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


लेकिन क्या आप वास्तव में FFT की तुलना में अधिक बार टीसीपी एल्गोरिदम का उपयोग कर सकते हैं (जो इस सूची में पहले से ही है)? यदि मेरा कंप्यूटर एक एकल आईपी पैकेट (टीसीपी या नहीं) भेजता है, तो क्या यह आम तौर पर एफएफटी गणना का एक पूरा गुच्छा ट्रिगर नहीं करता है? आमतौर पर पैकेट को किसी बिंदु पर WLAN, ADSL और GSM जैसी तकनीकों का उपयोग करके प्रेषित किया जाता है, और मुझे लगता है कि उनमें से अधिकांश एफएफ़टी पर निर्भर रहने वाले मॉड्यूलेशन का उपयोग करते हैं।
जुल्का सुमेला

मुझे लगता है कि आप सही हैं।
लेव Reyzin

3

गाऊसी उन्मूलन यह अभी भी व्यवहार में सही उपयोग किया जाता है? यदि रैखिक प्रणालियों को हल करने के लिए जो भी सबसे अधिक बार उपयोग किया जाता है, उसके साथ प्रतिस्थापित न करें ...


2

SHA-1 (और सामान्य रूप से हैश फ़ंक्शन)। संभवतः निष्पादन की संख्या के संदर्भ में अधिकांश अन्य एल्गोरिदम को हराया।


2

डेटाबेस के सामान के लिए B + ट्री से संबंधित एल्गोरिदम का उपयोग किया जाता है


2

शेड्यूलिंग एल्गोरिदम। वे दुनिया भर में प्रत्येक उपयोगकर्ता डिवाइस और सर्वर द्वारा उपयोग किए जाते हैं। कई विविधताओं का उपयोग किया जा रहा है, मुझे "बहुस्तरीय प्रतिक्रिया कतार" के लिए बहुत सारे संदर्भ मिले


1

यह प्रतिक्रिया वास्तविक सीपीयू चक्रों के संदर्भ में "सबसे अधिक बार" की व्याख्या करती है।

जब मैं 70 के दशक में कंप्यूटिंग सीख रहा था तो मुझे याद आया कि कंप्यूटर का अधिकांश भाग (पढ़ें: मेनफ्रेम) चक्रों को छंटाई के लिए समर्पित था। व्यावसायिक अनुप्रयोग विश्लेषण और रिपोर्टिंग के लिए व्यापक छँटाई की मांग करते हैं। मुझे नहीं लगता कि यह बहुत बदल गया है, लेकिन निश्चित रूप से अन्य ऐप्स का उदय - ई-मेल, वर्ड प्रोसेसिंग, आदि ।-- मिश्रण को बदल दिया होगा। उप-क्षेत्र बनाने के लिए खेतों की उत्तराधिकारियों को छांटने की आवश्यकता के कारण वे प्रकार आमतौर पर स्थिर प्रकार (क्विकसॉर्ट नहीं) होते हैं।

कड़ाई से बोलते हुए, हालांकि, एल्गोरिथ्म का सबसे अधिक उपयोग किया जाता है, बिना किसी संदेह के, जो भी विंडोज सिस्टम प्रतीक्षा प्रक्रिया द्वारा निष्पादित किया जाता है, जब अन्यथा कुछ भी नहीं चल रहा है; ;-)।


1

स्प्राइट मैट्रिक्स वेक्टर को गुणा करें

... लगभग सभी रैखिक प्रणालियों के समाधान के पीछे कम्प्यूटेशनल वर्कहॉर्स है। परिणामस्वरूप इसे जब भी चलाया जा रहा है

  • वैज्ञानिक / इंजीनियर विभेदक समीकरणों को हल करते हैं
  • सांख्यिकीविदों को नए सहसंबंध मिलते हैं (PCA)
  • Google पेजरैंक चलाता है
  • आपका फ़ोन GPS, एक्सेलेरोमीटर, सेल टॉवर स्थानों से आपके स्थान की भविष्यवाणी करता है
  • आपकी कार गति में आपके निलंबन को समायोजित करती है
  • आदि....

किसी भी सुपर कंप्यूटर या क्लस्टर पर अधिकांश FLOP एक विरल मैट-वीसी के अंदर खर्च किए जाते हैं।


1

न्यूटन की विधि। इसका उपयोग कंप्यूटिंग विभाजन के लिए, वर्गमूलों की गणना के लिए किया जाता है। इसका उपयोग रैखिक प्रोग्रामिंग करने के लिए किया जा सकता है। आम तौर पर यह (उत्तल) अनुकूलन का वर्कहॉर्स है। इसका उपयोग क्रिया / ऊर्जा को कम करके भौतिकी में अंतर समीकरणों को हल करने के लिए किया जा सकता है।


1

हाशिए और लाल-काले पेड़।

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



0

गतिशील प्रोग्रामिंग

मुझे लगता है कि सर्वेक्षण में उद्धृत अन्य एल्गोरिदम की तुलना में डीपी का उपयोग "अधिक बार" किया जाता है। मैं इस अर्थ में "अधिक बार" अनुमान लगाता हूं कि प्रोग्रामर द्वारा एक गैर-तुच्छ एल्गोरिथ्म अवधारणा को वास्तविक जीवन में कितनी बार लागू किया गया था , बजाय इसके कि किसी विशेष समय में एक एल्गोरिथ्म का विशेष रूप से कार्यान्वयन कैसे किया जाता है।

डीपी बहुमुखी है, और कई चेहरे हैं। कभी-कभी मैंने इसे कुछ अवचेतन रूप से इस्तेमाल किया और फिर बाद में महसूस किया कि मैं डीपी कर रहा हूं।

बेशक, ऐसी चीजें हैं जो डायनेमिक प्रोग्राम से भी अधिक सामान्य हैं, लेकिन वे ज्यादातर डेटा संरचना (सरणी, लिंक की गई सूची, हैश) हैं।


7
यह अन्य सुझावों से थोड़ा अलग है क्योंकि यह एक एल्गोरिथ्म डिज़ाइन प्रतिमान (लालची या मौलिक-दोहरे के समान) है और केवल एक एल्गोरिथ्म नहीं है।
जुका सुओमेला

0

स्ट्रिंग मिलान, अनुप्रयोग सॉफ़्टवेयर में और डेटाबेस स्तर पर हर समय उपयोग किया जाता है।

सटीक मामले में, कुछ काफी सम्मिलित एल्गोरिदम (KMP, बोयर-मूर) हैं, जिनमें से कुछ सबलाइनियर अपेक्षित रनटाइम को प्राप्त करते हैं। वे सीएस के दृष्टिकोण से अध्ययन करने के लिए भी दिलचस्प हैं।

अनुमानित स्ट्रिंग मिलान, जो संरेखण है, शायद और भी दिलचस्प है। आप "स्वत: सुधार" सुविधाएँ जानते हैं? इसके अलावा, शोर स्ट्रिंग डेटा (जैसे डीएनए) में खोज संरेखण का उपयोग करके किया जाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.