मैं Google Blocky के भूलभुलैया डेमो के साथ चारों ओर बेवकूफ बना रहा था , और पुराने नियम को याद किया कि यदि आप एक भूलभुलैया को हल करना चाहते हैं, तो बस अपने बाएं हाथ को दीवार पर रखें। यह किसी भी सरल-जुड़े भूलभुलैया के लिए काम करता है और इसे एक परिमित ट्रांसड्यूसर द्वारा कार्यान्वित किया जा सकता है।
हमारे रोबोट को निम्न क्रियाओं और वेधशालाओं के साथ एक ट्रांसड्यूसर द्वारा प्रस्तुत किया जाना चाहिए:
- क्रिया: आगे ( ), बाएँ मुड़ें ( ), दाएँ मुड़ें ( )
- वेधशालाएं: दीवार के आगे ( ), आगे कोई दीवार नहीं ( )
तब हम बाएं हाथ के भूलभुलैया सॉल्वर का निर्माण कर सकते हैं (मेरी आलसी ड्राइंग को क्षमा करें):
जहां एक अवलोकन देखने से हम उस किनारे से संबंधित कार्रवाई को निष्पादित करते समय राज्य के बाहर उपयुक्त किनारे का पालन करेंगे। यह ऑटोमेटन सभी सरलता से जुड़े mazes को हल करेगा, हालांकि यह मृत सिरों के बाद अपना समय ले सकता है। हम एक और ऑटोमन से बेहतर कहते हैं यदि:
केवल एक सीमित संख्या में माज़ों पर और अधिक सख्त कदम उठाता है, और
अनंत रूप से कम संख्या में कदम उठाता है (संभावित रूप से, वैरिएबल वेरिएंट के लिए) अनंत संख्या में माज़ों पर।
मेरे दो प्रश्न:
क्या ऊपर खींचा गया एक परिमित ऑटोमोटन बेहतर है ? क्या होगा यदि हम संभाव्य ट्रांसड्यूसर की अनुमति देते हैं?
वहाँ mazes है कि जरूरी नहीं कि बस से जुड़े हैं हल करने के लिए एक परिमित automaton है?