में एक ग्राफ को मॉडलिंग करना मैं पाइथन में ग्राफ से संबंधित किसी समस्या को हल करने का प्रयास कर रहा हूं। इसकी एक संदिग्ध प्रोग्रामिंग समस्या के बाद से, मैं किसी अन्य तृतीय पक्ष पैकेज का उपयोग नहीं कर रहा हूं।पायथन
समस्या 5 X 5
वर्ग ग्रिड के रूप में एक ग्राफ प्रस्तुत करती है। एक बॉट ग्रिड पर उपयोगकर्ता द्वारा प्रदान की गई स्थिति पर माना जाता है। ग्रिड को नीचे बाईं ओर (0,0)
पर नीचे दाईं ओर (4,4)
पर अनुक्रमित किया गया है। ग्रिड में प्रत्येक सेल को निम्नलिखित 3 वर्णों में से किसी एक द्वारा दर्शाया जाता है। 'b
' (एएससीआई मान 98) बॉट की वर्तमान स्थिति इंगित करता है, 'd
' (एएससीआई मूल्य 100) एक गंदे सेल को इंगित करता है और '-' (एएससीआई मूल्य 45) ग्रिड में एक स्वच्छ सेल इंगित करता है।
b---d
-d--d
--dd-
--d--
----d
लक्ष्य चरण की न्यूनतम संख्या में, ग्रिड के सभी सेल साफ करने के लिए है: उदाहरण के लिए नीचे एक नमूना ग्रिड जहां बॉट 0 0
में है। एक कदम एक काम है, जहां या तो i) बॉट यह स्थिति ii) बॉट को घ से सेल (के राज्य में परिवर्तन में परिवर्तन के रूप में परिभाषित किया गया है -)
मान लें कि शुरू में स्थिति के रूप में चिह्नित b
नहीं जरूरत साफ किया जाना चाहिए। बॉट को यूपी, नीचे, बाएं और दाएं स्थानांतरित करने की अनुमति है।
मेरे दृष्टिकोण
मैं रेखांकन पर ट्यूटोरियल की एक जोड़ी पढ़ा है, और कोई पथ का प्रतिनिधित्व करने के लिए 0 से 25 एक्स 25 के एक निकटता मैट्रिक्स के रूप में ग्राफ मॉडल करने के लिए फैसला किया, और मैट्रिक्स में 1 का प्रतिनिधित्व करने रास्तों (चूंकि हम केवल 4 दिशाओं में स्थानांतरित कर सकते हैं)। इसके बाद, मैंने फ़्लॉइड वॉर्सहेल के सभी जोड़े को सबसे कम पथ एल्गोरिदम लागू करने का निर्णय लिया, और फिर पथ के मानों को जोड़ दिया। लेकिन मुझे एहसास है कि यह काम नहीं करेगा। मैं एक डिलीमा में हूं कि समस्या या तो निम्न में से एक है:
i) एक न्यूनतम स्पैनिंग ट्री (जिसे मैं करने में असमर्थ हूं, क्योंकि मैं ग्रिड को मॉडल और स्टोर करने में सक्षम नहीं हूं ग्राफ)।
ii) ए * खोज (फिर एक जंगली अनुमान, लेकिन यहां एक ही समस्या है, मैं ग्रिड को ग्राफ के रूप में ठीक से मॉडल करने में सक्षम नहीं हूं)।
यदि आप इस तरह की समस्याओं पर एक अच्छा दृष्टिकोण सुझा सकते हैं तो मैं आभारी रहूंगा। इसके अलावा, ग्राफ़ आधारित समस्याओं (या उनसे लिंक) के विभिन्न रूपों के बारे में कुछ संकेत और psuedocode सहायक होंगे। धन्यवाद
ठीक है, यह प्रतिस्पर्धा नहीं है, यह हैकररैंक नामक एक मंच है, और मैंने समस्या को स्पष्ट करने के लिए अपना दृष्टिकोण बना दिया है, और यह मुझे कहीं भी नहीं ले जा रहा है। – kaalobaadar
क्या समस्या इस सीमा पर निर्दिष्ट करती है कि कितने वर्ग गंदे होंगे? –
क्या मैट्रिक्स 5 * 5 पर तय है? – Skyler