अल्गोरिदम काय आहे?

एल्गोरिदम कसे जगतात ते शोधा

एक अल्गोरिदम सूचनांचा एक संच आहे ही व्याख्या खरोखरीच साधी आहे. एक अल्गोरिदम याप्रमाणे सूचना देणे सोपे होऊ शकते:

  1. रस्त्यावर खाली जा
  2. प्रथम अधिकार घ्या
  3. डाव्या बाजूला दुसरे घर शोधा
  4. दार ठोठावुन आणि
  5. पॅकेज वितरीत करा.

परंतु अल्गोरिदमची व्याख्या अगदी सोपी आहे, परंतु प्रत्यक्ष अर्थ आणि त्याचा आपल्या जीवनावर कसा प्रभाव पडतो हे खूपच जटिल असू शकते.

अल्गोरिदमचे उदाहरण

आम्ही आमच्या दैनंदिन जीवनात वापरत असलेल्या अल्गोरिदमचे एक सामान्य उदाहरण म्हणजे एक कृती. सूचनांचे हे संच आम्हाला आवश्यक असलेली सर्व सामग्री आणि त्या घटकांसह काय करावे यासाठी निर्देश देते. ध्वनी सोपे, योग्य?

परंतु मोजपट्टी कप कुठे ठेवले जाते हे आपल्याला ठाऊक नसेल तर काय? ते शोधण्यासाठी आपल्याला एक अल्गोरिदम आवश्यक आहे. मोजणी कप कसा वापरावा यासाठी आपल्याला अल्गोरिदमची आवश्यकता देखील असू शकते.

म्हणूनच एक अल्गोरिदम एक सूचनांचा संच आहे, तर हे देखील लक्षात घ्यावे लागेल की त्या सूचनांचे काय किंवा काय अर्थ लावणे आहे. उदाहरणार्थ, जर आपण आपल्या मित्रापासून जवळच्या किराणा दुकानापर्यंत कशी पोहोचावे याबद्दल आपल्या मित्रांना दिशानिर्देश देत असाल तर आपल्या मैत्रिणीला हे कळेल की ते आपल्या घराचे स्थान कोठे आहे हे त्या स्टोअरमध्ये कसे मिळवावे. ते त्या विशिष्ट किराणा दुकानातून दुसर्या मित्राच्या घराला शोधण्यासाठी, (अद्याप) सक्षम नाहीत.

अशा प्रकारे अल्गोरिदम हे सोपे आणि गुंतागुंतीचे असू शकते. आणि जेव्हा आपण संगणक अल्गोरिदमच्या बाबतीत बोलतो, तेव्हा समजुन घ्या की संगणकाला काय करण्यास सक्षम आहे हे अल्गोरिदम तयार करण्याचे मूलभूत भाग आहे.

कसे वर्गीकरण अल्गोरिदम विकसित

तयार केलेल्या सर्वात जुने अल्गोरिदमपैकी एक म्हणजे बबल सॉर्ट रूटीन. बबल सॉर्ट डेटा सेट द्वारे लूपिंग करून संख्या, अक्षरे किंवा शब्दांची क्रमवार मांडणीसाठी एक पद्धत आहे, प्रत्येक बाजूला सेट केलेल्या मूल्यांची तुलना करून, आणि गरज पडल्यास त्यांना स्वॅप करणे.

हा लूप पुनरावृत्ती होईपर्यंत जोपर्यंत ऑल्गोरिदम काहीच स्वॅप न करता संपूर्ण सूचीमधून हलू शकते, याचा अर्थ मूल्य योग्यरित्या क्रमवारीत लावले जाते. या प्रकारचे अल्गोरिदमला बर्याचदा पुनरावर्ती अल्गोरिदम असे संबोधले जाते कारण ते कार्य पूर्ण होईपर्यंत स्वतःवर लूप करतात.

अल्गोरिदम कदाचित तितके सोपे दिसू शकतील:

  1. प्रथम मूल्यावर जा
  2. आवश्यक असल्यास पुढील मूल्य आणि स्वॅप पदांवर विरूद्ध मूल्य तपासा
  3. पुढील मूल्यावर जा आणि तुलना पुन्हा करा.
  4. जर आपण सूचीच्या शेवटी असाल तर लूप दरम्यान कोणतीही व्हॅल्यू स्वॅप केली असेल तर पुन्हा वर जा.

पण बुडबुडे क्रमवारी क्रमवारी लावण्यासाठी सर्वात प्रभावी मार्ग ठरत नाही. जसजशी वेळ जात गेला आणि कॉम्प्यूटर जबरदस्त कामे करण्याच्या अधिक सक्षम झाले, नवीन वर्गीकरण अल्गोरिदम अप पॉप झाले.

अशा एक अल्गोरिदम पहिल्या सूचीमधून स्कॅन करतो आणि क्रमवारी लावलेल्या मूल्यांची दुसरी यादी तयार करतो. ही पद्धत फक्त मूळ यादीतून एकच पास तयार करते आणि प्रत्येक मूल्यासह, ती मूल्य सूची देण्यासाठी योग्य ठिकाण शोधत नाही तोपर्यंत दुसरी यादीमधून लूप घेईल. सहसा, बबल सॉर्ट मेथड वापरण्यापेक्षा ते अधिक कार्यक्षम होते.

हे येथे आहे जेथे अल्गोरिदम खरोखर विलक्षण असू शकतात. किंवा खरंच मनोरंजक, आपण ते पाहण्यावर अवलंबून.

बबल सॉर्ट मेथड अनेक प्रकारे मूल्य वर्गीकरण करण्यासाठी सर्वात अकार्यक्षम पद्धतींपैकी एक मानली जाते, मूळ यादी योग्यरित्या मांडली गेल्यास, बबल सॉर्ट सर्वात कार्यक्षमांपैकी एक असू शकते कारण त्या प्रसंगी बबल सॉर्ट अल्गोरिदम एकाच वेळेस यादीतून जाईल आणि योग्यरित्या सॉर्ट केली जाईल.

दुर्दैवाने, आपली यादी पूर्वग्रहित केली आहे किंवा नाही हे आम्हाला नेहमी माहित नाही, म्हणून आम्हाला अल्गोरिदम निवडणे आवश्यक आहे जे मोठ्या संख्येने यादींमध्ये सरासरी वापरण्यासाठी सर्वात कार्यक्षम असणार आहे.

बबल क्रमवारी लावापासून आम्ही काय शिकतो

रोजच्या जीवनात फेसबुक अल्गोरिदम आणि अधिक

अल्गोरिदम दररोज माणुस मदत करत आहेत. आपण वेबवर शोध करता तेव्हा, सर्वोत्कृष्ट शोध परिणाम शोधण्याचा प्रयत्न करताना अल्गोरिदम कार्यरत असतो दिशानिर्देशासाठी आपल्या स्मार्टफोनला विचारा, आणि एक अल्गोरिदम आपल्यासाठी सर्वोत्तम मार्ग घेण्याचा निर्णय घेते. आणि जेव्हा आपण फेसबुक ब्राउझ करता तेव्हा अल्गोरिदम आपला मित्रांच्या फेसबुकवरील पोस्ट आमच्यासाठी सर्वात महत्त्वाचा ठरतो. (आम्हाला आशा आहे की आमच्या मित्रांना हे समजत नाही की आम्ही कोणत्या सर्वात फेसबुकला पसंत करतो!)

परंतु अलगॉरिथमिकरीत्या विचार केल्याने आपल्या संगणक जीवनांपेक्षा अधिक मदत मिळेल. हे आम्हाला आणखी चांगले सँडविच तयार करण्यास मदत करू शकते.

आता मी दोन भात लावण्यापासून सुरुवात करते, एका स्लाइसवर मोहरी पसरवितो आणि दुसऱ्या स्लाइसवर मेयोनेज. मी मेयोनेझच्या ब्रेडवर चीजचा एक स्लाईस घालतो, त्यातील काही हेम, काही लेट्युस, टोमॅटोची दोन काप आणि नंतर त्या मोहरीवर मोहरी धरून ठेवतो. चांगला सँडविच, बरोबर?

जर मी ते लगेच खाल्ले तर पण जर मी ते टेबलवर सोडले तर, त्या टोमॅटोपैकी काही टोमॅटो पेंगल्या जाऊ शकतात. ही एक समस्या आहे ज्याची मी अपेक्षा केली नव्हती, आणि मी काही वर्षांपूर्वी सँडविच बनवू शकतो, परंतु एकदा मी असे केले तर मी सँडविच चांगला बनविण्यासाठी माझ्या अल्गोरिदम बदलण्याच्या पद्धतींचा विचार करू शकेन.

उदाहरणार्थ, मी टोमॅटोपासून मुक्त होऊ शकतो. पण मी टोमॅटोची चव गमावू इच्छित नाही. त्याऐवजी, मी टोमॅटोची ब्रेड आणि कोशिंबिरीसाठी वापरण्यात येणारा एक पाला व त्याचे झाड नंतर सँडविच वर ठेवले शकता हे लेट्यूस टोमॅटो आणि ब्रेड दरम्यान संरक्षणात्मक अडथळा निर्माण करण्यास अनुमती देते.

हे कसे एक अल्गोरिदम उत्क्रांत आहे आणि एक अल्गोरिदम एखाद्या अल्गोरिदमच्या रूपात संगणकाद्वारे चालविला जात नाही. एक अल्गोरिदम एक प्रक्रिया आहे आणि प्रक्रिया आपल्या सभोवती असते.