मैं हाल ही में ज़ोम्बीनीज़ की लॉजिकल जर्नी का रेरलेज़ खेल रहा हूं , और कुछ कंप्यूटर एल्गोरिदम को लागू करने की कोशिश कर रहा हूं जो विभिन्न पहेलियों को हल कर सकते हैं। मैं इस बात पर अड़ा हुआ हूं कि कैप्टन कजुन की फेरीबोट पहेली से कैसे संपर्क किया जाए।
अपरिचित लोगों के लिए, एक ज़ोम्बीनी 4 विशेषताओं वाला एक प्राणी है: बाल, आंखें, नाक और पैर। उन विशेषताओं में से प्रत्येक में 5 संभावित मान हैं; उदाहरण के लिए, एक ज़ोम्बीनी के पैर पहियों, रोलर स्केट्स, स्नीकर्स, एक स्प्रिंग या एक प्रोपेलर हो सकते हैं। यहाँ गन्दे बालों, चश्मे, हरी नाक और स्नीकर्स के साथ ज़ोम्बीनी का उदाहरण दिया गया है:
फेरीबोट पहेली में, एक नौका नाव की 16 सीटों पर 16 ज़ोम्बिनियों के संग्रह की व्यवस्था करना है। व्यवस्था को नियम का पालन करना होगा कि किसी भी दो ऑर्थोगोनली पड़ोसी सीटों पर ज़ोम्बिनियों का कब्जा होना चाहिए जो कम से कम एक विशेषता साझा करते हैं। यदि दो ज़ोम्बिनियों के बाल अलग हैं, अलग-अलग आँखें, अलग-अलग नाक और एक-दूसरे से अलग - अलग पैर हैं, तो वे एक-दूसरे के बगल में नहीं बैठ सकते हैं।
सीटों की व्यवस्था स्तर से बदलती है; संक्षिप्तता के लिए, "बहुत कठिन" स्तर पर ध्यान केंद्रित करते हैं, जिसमें 16 सीटों को 4-बाय -4 ग्रिड में व्यवस्थित किया जाता है। यहाँ एक उदाहरण है जहाँ 15 ज़ोम्बिनियों को कानूनी रूप से बैठाया गया है, लेकिन डॉक पर खड़ी अंतिम ज़ोम्बीनी को अंतिम खाली सीट पर नहीं रखा जा सकता है, क्योंकि वह ज़ोम्बीनी के साथ अपने अधिकार में कोई सुविधाएँ साझा नहीं करेगी:
16 हैं! सीटों के लिए ज़ोम्बीनीज़ के 21 ट्रिलियन संभव असाइनमेंट। तो बस हर संभव असाइनमेंट के माध्यम से चल रहा है यह देखने के लिए कि क्या यह कानूनी नहीं है व्यावहारिक नहीं होगा। कुछ समस्याएँ हैं जिन्हें मैं समझदारी से इस समस्या के लिए नियोजित कर सकता हूँ?
Subgraph Isomorphism Problem
। समस्या एक ग्राफ को दूसरे ग्राफ में ढूंढना है। आपके मामले में सबग्राफ में बैठने की जगह होगी (किनारों पर बगल हैं), जबकि माता-पिता का ग्राफ ज़ोम्बीनीज़ होगा, जहां कनेक्शन एक साझा विशेषता की उपस्थिति होगी। ध्यान दें कि सामान्य रूप से समस्या एनपी-पूर्ण है और आमतौर पर बैकट्रैकिंग द्वारा भी की जाती है, हालांकि कुछ विशेष मामलों के लिए (जिनमें से आपका ग्राफ बहुत अच्छा हो सकता है), बहुपद या रैखिक समाधान भी संभव हैं।