7

यह हमेशा मुझे आश्चर्यचकित करता है कि Akinator app केवल कई प्रश्न पूछकर एक चरित्र का अनुमान लगा सकता है। तो मुझे आश्चर्य है कि किस प्रकार का एल्गोरिदम या विधि इसे करने देती है? क्या एल्गोरिदम के उस वर्ग के लिए कोई नाम है और मैं उनके बारे में और कहां पढ़ सकता हूं?Akinator गेम के पीछे किस तरह का एल्गोरिदम है?

उत्तर

16

हाँ, वहाँ एल्गोरिदम के इन वर्ग के लिए एक नाम है - यह machine learning के क्षेत्र में classification algorithms कहा जाता है। Decision trees वर्गीकरण एल्गोरिदम के लिए एक उदाहरण है।

इस वर्गीकरण समस्या में, एल्गोरिदम के लिए सुविधाएं प्रश्न के उत्तर हैं।

निर्णय लेना चाहिए कि कौन से प्रश्न पूछे जाने चाहिए, विभिन्न तरीकों से किया जा सकता है - उदाहरण के लिए अगले प्रश्न से भविष्यवाणी (या माध्य) entropy को अधिकतम करने की कोशिश करके।

+0

मैं अमित को के जवाब है कि यह आपको आश्चर्य नहीं होना चाहिए कि कुछ सवाल चरित्र को खोजने के लिए कर सकते हैं जोड़ देगा। मैंने देखा स्क्रीनशॉट 5 जवाब संभावनाएं थीं। केवल 8 प्रश्न पूछकर, आप 8^5 = 2^15 = 32768 वर्णों के बीच अंतर कर सकते हैं, जो कि अधिकांश लोगों द्वारा विचार किए गए पात्रों को कवर करने के लिए पर्याप्त है। – HerrKaputt

+0

@HerrKaputt - सैद्धांतिक रूप से हां, लेकिन याद रखें कि "शोर" है - लोग एक ही प्रश्न के लिए गलती कर सकते हैं या अलग-अलग महत्व दे सकते हैं (दृढ़ता से सहमत/कमजोर सहमत हैं)। (यही कारण है कि इन मामलों में सादा बाइनरी खोज विफल हो जाती है और आपको कुछ ऐसी चीजों की आवश्यकता होती है जो आंकड़ों के आधार पर अधिक हो, जो कि वर्गीकरण एल्गोरिदम का लक्ष्य है) – amit

+0

@HerrKaputt क्रमपरिवर्तन की संख्या '5^8' नहीं' 8 होनी चाहिए^5', हालांकि, केवल दो विकल्प पांच नहीं हैं। "पता नहीं" एक प्रश्न को अनदेखा करना है और "संभवतः" वेरिएंट केवल "हां" और "नहीं" को कमजोर बनाने के लिए हैं। तो 8 प्रश्नों के लिए क्रमपरिवर्तन की संख्या केवल '2^8' है जो' 256' है। – dualed

2

मुझे लगता है कि यह बी-ट्री संरचना के साथ एक विशेषज्ञ प्रणाली की तरह है।

2

एल्गोरिथ्म के मुख्य विशेषताओं:

  • स्व शिक्षित
  • गलतियों वहाँ उस पर इतने पर कुछ सवाल, जैसे हैं -इंडुलेंस
  • अगले प्रश्न के बुद्धिमान प्रणाली

Akinator खेल एल्गोरिथ्म मॉडल "विशेषज्ञ प्रणाली फजी तर्क के आधार पर" कहा जाता है का चयन करें।

और यह निर्णय पेड़ नहीं है, क्योंकि इसमें कोई गलती नहीं है।

मैं सी # पर कुछ समय पहले एक ने लिखा था, आप इसे कड़ी से पा सकते हैं: https://github.com/ukushu/AkinatorEngine

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