2015-09-08 14 views
9

कुछ दिन पहले मैं एक पहेली में आया था। यह हाथ से आसानी से सुलभ है। लेकिन मैं इसे हल करने के लिए एक एल्गोरिदम बनाने की कोशिश कर रहा था। लेकिन मुझे नहीं पता कि मुझे कैसे आगे बढ़ना चाहिए। picture 1खोज एल्गोरिदम का उपयोग करके एक पहेली को हल करना

यहां आप देख सकते हैं कि मुझे रंगीन बिंदुओं के सभी जोड़े को जोड़ना है। उदाहरण के लिए मुझे पीले बिंदु को दूसरे पीले रंग के बिंदु से जोड़ने की जरूरत है, हरे रंग के हरे, नीले से नीले रंग तक और इतने पर।

यहां एक उदाहरण है कि इसे कैसे हल किया जाना चाहिए। अगर विवरण स्पष्ट नहीं था। enter image description here

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

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

क्या कोई मुझे समस्या को हल करने के बारे में कुछ अंतर्ज्ञान दे सकता है?

+0

मैं देख सकते हैं, अपने उदाहरण के किसी भी समाधान अवरुद्ध जोड़े होंगे। इस मामले में एल्गोरिदम क्या करना चाहिए? –

+2

इस प्रकार की पहेली को नंबरलिंक या अरुकोन कहा जाता है। [विकिपीडिया] के अनुसार (https://en.wikipedia.org/wiki/Numberlink), समस्या एनपी-पूर्ण है, इसलिए सामान्य स्थिति में आप ब्रूट फोर्स से ज्यादा बेहतर नहीं कर पाएंगे। हालांकि कुछ एल्गोरिदम विशिष्ट व्यवस्थाओं पर बेहतर प्रदर्शन कर सकते हैं। यदि आप [खोज] (https://www.google.com/search?q=arukone&ie=utf-8&oe=utf-8#q=numberlink+solver) कुछ हलकों को ढूंढ सकते हैं। – interjay

+0

ए * बीएफएस की तुलना में बहुत तेज़ काम करेगा। आपको एक ह्युरिस्टिक को समझने की जरूरत है। एक वैध समाधान स्कोर करने का एक तरीका। इस तरह ए * सर्वश्रेष्ठ स्कोर की तरफ बढ़ सकता है। आपको एक राज्य वस्तु का उपयोग करने की आवश्यकता है जो वर्तमान बोर्ड स्थिति का ट्रैक रखता है। प्रत्येक कदम एक नया राज्य होगा जो ह्यूरिस्टिक – element11

उत्तर

1

मैं जेनेटिक एल्गोरिदम समाधान प्राप्त करने के लिए एक उपयुक्त माध्यम हो सकता है। फिटनेस फ़ंक्शन और क्रॉस ओवर को विशेष रूप से समस्या के लिए तैयार करना होगा।

गुणसूत्र: ints की

  • 9x9 2 डी सरणी (जीन)
  • आपका 18 अद्वितीय रंग peices स्थिर के रूप में 512 की स्थापना की जाएगी | 1, 512 | 2, 512 | 4, 512 | 8 , 512 | 16, 512 | 32, 512 | 64, 512 | 128, 512 | 256 9 अद्वितीय रंगों का प्रतिनिधित्व करते हैं; 512 (2^9) ध्वज होगा जो उन्हें स्थिर/अपरिवर्तनीय जीन के रूप में दर्शाता है।
  • रंगीन कनेक्टिंग वर्गों में 2^0-2^8 मान होंगे, ये जीन बदल सकते हैं और बनाये जा सकते हैं, 3 (011 बी) का मान 2 रंग (1 और 2) एक ही वर्ग को साझा कर रहे हैं।

स्वास्थ्य समारोह मेरे सिर के ऊपर से 1 अनूठा रंग के साथ

  • रिक्त स्थान +8 कर रहे हैं, 2 रंग +6, 3 रंग 4, 4 रंग 2, 5 रंगों +0 , 6 रंग -2, 7 रंग -4, 8 रंग -6, सभी 9 रंग -8
  • मिलान रंगीन स्थिर स्थान के साथ जुड़े बाएं, दाएं, ऊपर, नीचे) +9
  • स्थान से जुड़े स्थान एक दिशा में रंगीन स्थान 1 दिशा +4, 2 दिशाओं +3, 3 दिशाओं +2, 4 दिशाओं +1

उत्परिवर्तन

  • तार्किक XOR एक यादृच्छिक रंग बिट (1 < < मंजिल (रैंडम() * 9)) एक यादृच्छिक गैर स्थिर जीन के साथ

क्रॉस ओवर/प्रजनन मेरे सिर के शीर्ष पर

  • प्रतियां 5 या अधिक अतिव्यापी रंग
  • तार्किक या शामिल भीतर
  • जीन बाहर साफ कॉपी अपने 2 उम्मीदवार गुणसूत्रों दो गुणसूत्रों एक साथ अपने परिणाम प्राप्त करने के
संबंधित मुद्दे