क्विकॉर्ट ने बच्चों को समझाया


16

पिछले साल, मैं "क्वांडम मैकेनिक्स फॉर किंडरगार्डन" पर एक शानदार पेपर पढ़ रहा था । यह आसान पेपर नहीं था।

अब, मुझे आश्चर्य है कि संभव शब्दों में क्विकॉर्ट को कैसे समझा जाए। मैं कैसे (या कम से कम हैंडवॉव) साबित कर सकता हूं कि औसत जटिलता , और एक किंडरगार्डन वर्ग के लिए सबसे अच्छा और सबसे खराब मामले क्या हैं? या कम से कम प्राथमिक विद्यालय में?O(nlogn)


9
आप क्विकसॉर्ट की जटिलता को साबित करना चाहते हैं ... तीन साल के बच्चों का एक समूह ...? सौभाग्य।

2
उनकी भाषा का उपयोग करने की कोशिश करें, समस्या यह है कि यह बहुत सीमित है और जैविक रूप से वे इस जटिलता के लिए तैयार नहीं हैं। जब तक कि वे छह या सात साल के नहीं हो जाते, तब तक एल्गोरिथम में निम्न चरणों का पूरी तरह से विकास नहीं होता है। आप एक जैविक चुनौती का सामना कर रहे हैं।

4
मैं वास्तव में किंडरगार्टन के लिए इसका सुझाव नहीं दूंगा, लेकिन क्विकसॉर्ट (और अन्य सॉर्टिंग एल्गोरिदम) के लिए यूट्यूब की खोज कई अच्छे प्रतिनिधित्व प्रदान करता है। मैं व्यक्तिगत रूप से ह्यूजेरियन लोक नृत्य पसंद करता हूं। Youtube.com/watch?v=ywWBy6J5gz8 देखें ।

2
जिस पेपर के बारे में आप बात करते हैं, उसमें एक आकर्षक शीर्षक है, लेकिन बहुत जटिल सामग्री जैसे हिल्बर्ट स्पेस मॉडल, तो वास्तव में आप क्या हैं?

2
मैं क्विकॉर्ट को पूरी तरह से समझाने की कोशिश करना छोड़ दूंगा, और इसके बजाय बच्चों को "फूट डालो और जीतो" की समझ देने की कोशिश करो। यहां तक ​​कि अगर वे पूरी तरह से पुनरावृत्ति करने के लिए पर्याप्त पुराने नहीं हैं, तो एक बड़ी समस्या को छोटी समस्याओं में तोड़ने का विचार वास्तव में मूल्यवान होगा। व्यक्तिगत रूप से मैं किसी भी दिन जटिल एल्गोरिदम की अपूर्ण धारणा पर फूट डालो और जीतो की एक ठोस नींव संबंधी समझ लेगा।
विंसेंट गेबल

जवाबों:


14

इसके मूल में, क्विकसॉर्ट यह है:

  1. पहले आइटम ले लो।
  2. उस पहले आइटम से कम सब कुछ उसके बाईं ओर ले जाएं, सब कुछ अधिक से अधिक दाईं ओर (आरोही क्रम मानकर)।
  3. प्रत्येक पक्ष पर पुनरावृत्ति।

मुझे लगता है कि ग्रह पर हर 4-वर्षीय 1 और 2 कर सकता है। पुनरावृत्ति थोड़ा और स्पष्टीकरण ले सकती है, लेकिन उनके लिए यह कठिन नहीं होना चाहिए।

  1. बाईं ओर दोहराएं, अब के लिए दाईं ओर ध्यान न दें (लेकिन याद रखें कि बीच कहां था)
  2. जब तक आप कुछ भी नहीं मिलता तब तक बाएं पक्षों के साथ दोहराते रहें। अब आपके द्वारा अनदेखा किए गए अंतिम दाहिने हिस्से पर वापस जाएं और वहां प्रक्रिया को दोहराएं।
  3. एक बार जब आप दाएं और बाएं तरफ से बाहर निकल जाते हैं, तो आप कर लेते हैं।

जटिलता के रूप में, सबसे खराब मामला काफी आसान होना चाहिए। बस पहले से छाँटे गए सरणी पर विचार करें:

1 2 3 4
  2 3 4
    3 4
      4

यह देखना बहुत आसान है (और साबित) कि यह ।12n2

मैं औसत-मामले के प्रमाण से परिचित नहीं हूं, इसलिए मैं वास्तव में इसके लिए सुझाव नहीं दे सकता। आप कह सकते हैं कि लंबाई के एक अनसुने सरणी में सबसे छोटी या सबसे बड़ी वस्तु को चुनने की संभावना है , तो ...?एल2n


शायद (डी एंड सी) पुनरावृत्ति सबसे अच्छा है और स्वाभाविक रूप से अंतर्निहित समानता के साथ समझाया गया है।
राफेल

2
मुझे स्वीकार होगा। मेरी वृत्ति अपने मित्रों को काम करने के लिए दो ढेर देने के रूपक का उपयोग करना था।
क्रिश्चियन मान

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

16

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

ठीक है, हमें यह डेक मिल गया है (मान लें कि 20) कार्ड यहां हैं। हम उन्हें क्रम में रखना चाहते हैं, इसलिए 1 पहले है, फिर 2, फिर 3, और इसी तरह। यहाँ यह करने के लिए एक बहुत ही त्वरित तरीका है।

सबसे पहले, इस डेक के माध्यम से चलते हैं और इसमें से दो ढेर बनाते हैं। 20 का आधा 10 है, इसलिए 10 से बड़ा कुछ भी इस ढेर में दाईं ओर जाता है, और कुछ भी छोटा इस ढेर में बाईं तरफ जाता है। (आप जाते ही प्रदर्शित करना सुनिश्चित करें।)

अब, छोटे बवासीर के साथ ऐसा ही करते हैं। 10 का आधा क्या है? (कोई कहता है "पाँच!") यह सही है! तो 5 से बड़ा कुछ भी इस दाईं ओर ढेर में जाता है, और कुछ भी छोटा इस ढेर में बाईं तरफ जाता है।

और यहाँ पर, हमें वह समूह मिला है जो 10 से बड़ा है। इसलिए 10 का आधा 5 है, और 10 प्लस 5 क्या है? (कोई कहता है "पंद्रह!") यह सही है! तो 15 से अधिक कुछ भी इस ढेर में दाईं ओर जाता है, और 15 से छोटा कुछ भी इस ढेर में बाईं तरफ जाता है।

और अब बवासीर काफी छोटे हो रहे हैं कि आप आसानी से उन्हें देख सकते हैं और उन्हें क्रम में रख सकते हैं। देखिए, यहाँ हमें मिल गया है 2, 4, 5, 3, 1। तो हम बस उन्हें इस तरह से चारों ओर स्विच करते हैं, और आप देख सकते हैं 1, 2, 3, 4, 5। तो चलो अन्य बवासीर के साथ एक ही काम करते हैं, और फिर हम सिर्फ बवासीर क्रम में डालते हैं, और देखो! वे 1 से 20 तक क्रम में हैं!

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

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


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

@ Thorbjørn: किसने कुंजी / मूल्य जोड़े के बारे में कुछ कहा? यह मूल अवधारणा को समझाने के लिए एक सरल पूर्णांक प्रकार है।
मेसन व्हीलर

आपके द्वारा वर्णित एल्गोरिथ्म पर यह सोचना त्वरित नहीं है, क्योंकि आप एक धुरी तत्व का उपयोग नहीं करते हैं।
थोर्बोजर्न रेवन एंडरसन

1
@ ThorbjørnRavnAndersen: बेशक वह करता है; यह सिर्फ इतना है कि वह जानता है कि कौन से तत्व हैं ताकि मंझला चुन सकें।
राफेल

@ राफेल और उनका वितरण। कार्ड किसी भी मूल्य और रंग के हो सकते हैं और सिर्फ 1 और 20 के बीच उनकी संख्या के साथ एक स्टिकर होता है। इसलिए कुंजी / सूचकांक के लिए मेरा संदर्भ और मूल्य नहीं।
Thorbjørn Ravn Andersen

2

इस बारे में कैसा है?

कंप्यूटर साइंस अनप्लग्ड - सॉर्टिंग एल्गोरिदम

यह आपके सभी सवालों को कवर नहीं करता है, लेकिन यह एक अच्छी शुरुआत है।

इस विषय पर अधिक संसाधन यहां से जुड़े हुए हैं

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


कमाल का ! समझने में आसान।
मयूर पाटिल

1

इस छोटे डेमो के चित्रमय प्रेम को देखें ।

जल्दी से सुलझाएं


1
मुझे लगता है कि यह बच्चों के लिए बहुत सार हो सकता है।
राफेल

3
अपने आप को शर्मिंदा करने के लिए नहीं, लेकिन मुझे उस ग्राफिक को तब तक समझ नहीं आया जब तक कि मुझे क्लास में क्विकॉर्ट्स नहीं समझाया गया।
क्रिश्चियन मान

मेरे पास +1 होने के कारण जब मैंने प्रश्न पढ़ा तो यह मेरे साथ पहली बार हुआ था, लेकिन फिर मैं एक दृश्य शिक्षार्थी हूं।
जोशुआ ड्रेक

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

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