गेम एआई के लिए निर्णय पेड़ और व्यवहार पेड़ के बीच अंतर


64

एआई गेम डेवलपमेंट के लिए निर्णय पेड़ और व्यवहार पेड़ के बीच कुछ अंतर क्या हैं? आप किन अनुप्रयोगों के लिए एक का उपयोग करेंगे?

जवाबों:


80

दोनों बहुत अलग हैं। असली संकेतक नामों में है। निर्णय पेड़ सिर्फ निर्णय लेने के लिए हैं। व्यवहार को नियंत्रित करने के लिए व्यवहार वृक्ष हैं। मुझे समझाने की अनुमति दें। दोनों में एक बड़ा अंतर यह है कि जिस तरह से वे ट्रैवर्स किए गए हैं, उसी तरह जिस तरह से उन्हें बाहर रखा गया है और नोड 'प्रकार' अलग हैं।

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

यहाँ छवि विवरण दर्ज करें

बहुत साधारण। हम रूट पर शुरू करते हैं, और कुछ मूल्यांकन के आधार पर, 1, 2 या 3 चुनते हैं। हम चुनते हैं 3. फिर हम कुछ अन्य मूल्यांकन करते हैं और बी या बी चुनते हैं ... खैर मैंने नीचे से ग्राफिक का पुन: उपयोग किया, क्षमा करें। बाईं ओर B को Pretend करें जादू B है।

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

यहाँ छवि विवरण दर्ज करें

ट्रैवर्सल रूट पर शुरू होता है, 1 बच्चे के पास जाता है, बच्चे की स्थिति की जांच करता है (कुछ ऐसा है जैसे "पास के किसी भी दुश्मन?")। स्थिति विफल हो जाती है, और ट्रैवर्सल नोड दो पर जाने के लिए पेड़ को वापस ले जाता है। नोड 2 में एक एक्शन है जो किया जाता है (शायद कुछ रास्ता खोजने जैसा)। फिर एक व्यवहार (रास्ते का अनुसरण करने जैसा कुछ)। निम्न पथ चलने के लिए सेट है और पेड़ अपने राज्य को चलाने के रूप में लौटाता है। जो नोड्स विफल या पूर्ण हो गए हैं उन्हें 'रेडी' में लौटा दिया गया है। फिर अगली बार जब हम जांच करते हैं, तो हम सर्वोच्च प्राथमिकता नोड के साथ फिर से शुरू करते हैं। यह फिर से विफल हो जाता है, इसलिए हम दो नोड करने के लिए आगे बढ़ते हैं। वहाँ हम पाते हैं कि हमारा व्यवहार चल रहा है। हम यह भी पाते हैं कि व्यवहार पूरा हो गया है, इसलिए हम इसे पूरा होने का संकेत देते हैं और इसे वापस करते हैं। पेड़ फिर से रीसेट है और फिर से जाने के लिए तैयार है।

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

पेड़ कैसे व्यवहार किए जाते हैं, इसकी कुछ अच्छी समझ यहाँ मिल सकती है


महान व्याख्या और चित्र। इसलिए जब आप कहते हैं "यदि बच्चे के सभी नोड्स की शर्तों को पूरा किया जाता है ..." तो क्या चयनकर्ताओं और अनुक्रमों में स्थितियां या केवल पत्ती नोड्स, अर्थात क्रियाएं शामिल हैं?
फ्री लांसर

1
बच्चे के नोड्स अधिक बच्चों के साथ व्यवहार, कार्य, स्थिति या चयनकर्ता हैं। उनका मूल्यांकन बाएं से दाएं किया जाता है।
MichaelHouse

महान पोस्ट, हालांकि मुझे लगता है कि मेरे पास अभी भी एक उत्कृष्ट सवाल है (अलग से पोस्ट करेंगे)। एनिमेटेड GIF बनाने के लिए आपने क्या इस्तेमाल किया था?
मी -

0-2-A फिर से नहीं खेलना चाहिए यदि 0-2-B चल रहा है ??? github.com/pirobot/pi_trees/issues/1
dev

@ nopnop77 नहीं अगर 0-2 सशर्त अभी भी 0-2-बी का मूल्यांकन करता है। आप देख सकते हैं कि 0-2 का पुनर्मूल्यांकन किया गया है, लेकिन एक बार फिर से A का चयन नहीं किया गया है।
MichaelHouse
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.