20 प्रश्नों का सरल ऑनलाइन गेम जो एक सटीक एअर इंडिया द्वारा संचालित है।
वे इतनी अच्छी तरह से कैसे अनुमान लगाते हैं?
20 प्रश्नों का सरल ऑनलाइन गेम जो एक सटीक एअर इंडिया द्वारा संचालित है।
वे इतनी अच्छी तरह से कैसे अनुमान लगाते हैं?
जवाबों:
आप इसे बाइनरी सर्च एल्गोरिथम के रूप में सोच सकते हैं। प्रत्येक पुनरावृत्ति में, हम एक प्रश्न पूछते हैं, जिसमें संभव शब्द विकल्पों में से लगभग आधे को समाप्त करना चाहिए। यदि कुल N शब्द हैं, तो हम log2 (N) प्रश्नों के बाद उत्तर प्राप्त करने की उम्मीद कर सकते हैं।
20 प्रश्न के साथ, हमें आशा है कि हमें 2 ^ 20 = 1 मिलियन शब्दों के बीच एक शब्द खोजने में सक्षम होना चाहिए।
आउटलेर्स (गलत उत्तरों) को खत्म करने का एक आसान तरीका शायद RANSAC जैसी किसी चीज़ का उपयोग करना होगा । इसका मतलब यह होगा कि सभी सवालों के जवाब देने के बजाय, आप बेतरतीब ढंग से एक छोटा उपसमुच्चय चुनते हैं, जो आपको एक ही जवाब देने के लिए पर्याप्त है। अब आप दोहराते हैं कि प्रश्नों के विभिन्न यादृच्छिक सबसेट के साथ कुछ समय, जब तक आप यह नहीं देखते कि अधिकांश समय, आपको एक ही परिणाम मिल रहा है। आपको पता है कि आपके पास सही उत्तर है।
बेशक यह इस समस्या को हल करने के कई तरीकों में से एक तरीका है।
code
इसे देखने के लिए लिंक पर क्लिक कर सकते हैं: openbookproject.net/py4fun/animal/animal.html
एक निर्णय पेड़ इस तरह के आवेदन का सीधे समर्थन करता है। निर्णय वृक्षों का उपयोग आमतौर पर कृत्रिम बुद्धिमत्ता में किया जाता है।
एक निर्णय वृक्ष एक द्विआधारी वृक्ष है जो प्रत्येक शाखा में "सबसे अच्छा" सवाल पूछता है, जो इसके बाएं और दाएं बच्चों द्वारा दर्शाए गए संग्रह के बीच अंतर करता है। सबसे अच्छा सवाल कुछ लर्निंग एल्गोरिदम द्वारा निर्धारित किया जाता है कि पेड़ बनाने के लिए 20 सवालों के आवेदन के निर्माता उपयोग करते हैं। फिर, जैसा कि अन्य पोस्टर बताते हैं, 20 स्तर गहरा एक पेड़ आपको एक लाख चीजें देता है।
प्रत्येक बिंदु पर "सर्वश्रेष्ठ" प्रश्न को परिभाषित करने का एक सरल तरीका एक संपत्ति की तलाश करना है जो संग्रह को सबसे समान रूप से आधे में विभाजित करता है। इस तरह से जब आपको उस प्रश्न का उत्तर हां / नहीं में मिलता है, तो आपको प्रत्येक चरण में लगभग आधे संग्रह से छुटकारा मिल जाता है। इस तरह आप द्विआधारी खोज का अनुमान लगा सकते हैं।
विकिपीडिया एक अधिक संपूर्ण उदाहरण देता है:
http://en.wikipedia.org/wiki/Decision_tree_learning
और कुछ सामान्य पृष्ठभूमि:
मैं यहां खेल के बारे में पढ़ने की सलाह देता हूं: http://en.wikipedia.org/wiki/Twenty_Questions
विशेष रूप से कंप्यूटर अनुभाग:
खेल से पता चलता है कि एक मनमानी वस्तु की पहचान करने के लिए आवश्यक जानकारी (शैनन की एन्ट्रापी सांख्यिकीय द्वारा मापी गई) लगभग 20 बिट्स है। सूचना सिद्धांत के बारे में लोगों को सिखाते समय खेल को अक्सर एक उदाहरण के रूप में उपयोग किया जाता है। गणितीय रूप से, यदि प्रत्येक प्रश्न को आधा वस्तुओं को खत्म करने के लिए संरचित किया जाता है, तो 20 प्रश्न प्रश्नकर्ता को 2 20 या 1,048,576 विषयों के बीच अंतर करने की अनुमति देगा । तदनुसार, ट्वेंटी प्रश्नों के लिए सबसे प्रभावी रणनीति ऐसे प्रश्न पूछना है जो शेष संभावनाओं के क्षेत्र को लगभग हर बार आधे हिस्से में विभाजित करेंगे। प्रक्रिया कंप्यूटर विज्ञान में एक द्विआधारी खोज एल्गोरिथ्म के अनुरूप है।
यह खुद को "इंटरनेट पर तंत्रिका जाल" के रूप में बिल करता है, और इसमें कुंजी निहित है। यह संभावित रूप से एक स्पेयर मैट्रिक्स में प्रश्न / उत्तर की संभावनाओं को संग्रहीत करता है। उन संभावनाओं का उपयोग करते हुए, यह निर्णय ट्री एल्गोरिथ्म का उपयोग करने में सक्षम है जो यह पूछने के लिए कि किस प्रश्न को अगले प्रश्न को कम करना होगा। एक बार जब यह संभावित उत्तर की संख्या को कुछ दर्जन तक पहुंचा देता है, या यदि यह पहले से ही 20 प्रश्नों तक पहुंच जाता है, तो यह सबसे अधिक संभावना को पढ़ना शुरू कर देता है।
20q.net का वास्तव में पेचीदा पहलू यह है कि अधिकांश निर्णय पेड़ और तंत्रिका नेटवर्क एल्गोरिदम के विपरीत, मैं 20q से परिचित हूं, एक विरल मैट्रिक्स और वृद्धिशील अपडेट का समर्थन करता है।
संपादित करें: इस पूरे समय नेट पर उत्तर दिया गया है। आविष्कारक रॉबिन बर्गेनर ने अपने 2005 के पेटेंट दाखिल में अपने एल्गोरिथ्म का विस्तार से वर्णन किया है ।
यह एक लर्निंग एल्गोरिथम का उपयोग कर रहा है।
k-NN इनमें से एक का एक अच्छा उदाहरण है।