2011-12-27 72 views
8

हाय मैं इस खेल को "सर्किल कैट" http://www.gamedesign.jp/flash/chatnoir/chatnoir.htmlक्लासिक गेम "सर्किल द कैट" एल्गोरिदम?

मैं सोच रहा था क्या एल्गोरिथ्म बिल्ली "बुद्धिमान" बनाता है खेल रहा था? बिल्ली कैसे तय करती है कि कौन सी दिशा लेनी है?

मेरे दिमाग में आने वाला एक समाधान चौड़ाई पहली खोज है और सबसे कम निकास पथ के साथ दिशा में जाता है।

मैं यहां सिर्फ जिज्ञासु हूं। :-)

+0

मुझे लगता है कि यह सिर्फ सांस का उपयोग करता है और कुछ भी नहीं खोजता –

उत्तर

2

मेरा मानना ​​है कि यह सिर्फ Djikstra's algorithm (या समतुल्य) उपयोग कर रहा है जो है एक अनिर्धारित एकल स्रोत कम से कम-पथ एल्गोरिथ्म है कि इस विशेष समस्या को हल करने में काफी अच्छा है।

बिल्ली आसानी से कुछ धब्बे आगे खेलते हुए trappable है - "बुद्धि" मूर्ख :) बिल्ली एक संभावित रास्ते में इसके बारे में आगे खेला गैर अवरुद्ध टाइल्स के लिए खाते में नहीं लगता है आसान है , जो मुझे विश्वास दिलाता है कि यह सिर्फ एक साधारण वजन रहित दूरी गणना है।

जब बिल्ली फंस जाती है तो यह यादृच्छिक दिशा चुनती है, जो एक टाई पर भी हो सकती है।

बिल्ली संभवतः कुछ टाइल्स (जैसे टाइल्स अवरुद्ध करने वाले समीपकों) को वजन जोड़कर "चालाक" बना दिया जा सकता है।

हैप्पी कोडिंग।

+5

सबसे पहले, डिजस्ट्रा एक कम वजन वाला सबसे छोटा पथ एल्गोरिदम नहीं है, यह आपके लिंक में इतना सही कहता है। दूसरा, आपको डिजस्ट्रा या ए * की आवश्यकता नहीं है, क्योंकि यह समस्या एक असीमित ग्राफ समस्या को कम कर देती है। वास्तव में प्रासंगिक नहीं है, लेकिन दिलचस्प: जब तक कि बिल्ली बाहर निकलने से लगभग 4 चाल दूर होती है, तब तक आप इसे सही तरीके से चलाने में सक्षम नहीं होते हैं। कुछ भी और (जो लिंक किए गए गेम का मामला है) और आप हमेशा जीत सकते हैं, इससे कोई फर्क नहीं पड़ता कि बिल्ली क्या करती है। यही कारण है कि आपको लगता है कि आप "खुफिया" को हराते हैं - वास्तव में, यह आपको पहले कुछ बार बेवकूफ़ बना देता है, क्योंकि आप हमेशा जीत सकते हैं। – IVlad

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