आयतों की एक न्यूनतम संख्या के साथ एक अवतल बहुभुज को कवर करें


11

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

मैंने अपने अवतल बहुभुज को त्रिभुजों में विघटित करने की कोशिश करने के बारे में सोचा जो न्यूनतम त्रिभुज का एक सेट उत्पन्न करते हैं जो प्रत्येक त्रिभुज को न्यूनतम रूप से बांधते हैं और फिर उन आयतों को बड़े लोगों में विलय करते हैं। हालांकि, मुझे नहीं लगता कि यह बहुभुज के किनारों में छोटे पायदान के लिए काम करेगा। उन notches पर पलटा कोने द्वारा बनाई गई त्रिकोण गलत आयतों का निर्माण करेगा। मैं उन आयतों की तलाश कर रहा हूँ जो कि पर्चों को फैलाएंगे / अनदेखा करेंगे।

मैं वास्तव में कम्प्यूटेशनल ज्यामिति के बारे में कुछ भी नहीं जानता, इसलिए मैं वास्तव में इस बात पर निश्चित नहीं हूं कि प्रश्न पूछना कैसे शुरू किया जाए।

मुझे ऐसी अन्य पोस्ट मिलीं, जो समान थीं, लेकिन मेरी ज़रूरत नहीं:

कुछ उदाहरण: ब्लैक इनपुट है। लाल स्वीकार्य उत्पादन है।

यहाँ छवि विवरण दर्ज करें

एक और निर्वासन: दूसरा आउटपुट पसंद किया जाता है। हालांकि, दोनों आउटपुट उत्पन्न करना और वरीयता निर्धारित करने के लिए किसी अन्य कारक का उपयोग करना संभवतः आवश्यक है और इस एल्गोरिथ्म की जिम्मेदारी नहीं है।

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

बहुभुज जो कि घटता की नकल करते हैं वे अत्यंत दुर्लभ हैं। इस परिदृश्य में आयतों का अधिकांश क्षेत्र बर्बाद हो गया है। हालांकि, यह स्वीकार्य है क्योंकि प्रत्येक आयत अधिकतम चौड़ाई की बाधा का पालन करती है।

यहाँ छवि विवरण दर्ज करें

इसके अलावा, मुझे यह लेख मिला जिसकी मुझे आवश्यकता है:

शायद एक बेहतर सवाल यह है कि "मैं एक अवतल बहुभुज के आयताकार जैसे भागों की पहचान कैसे कर सकता हूं?" यहाँ छवि विवरण दर्ज करें

यहां वांछित कार्यान्वयन दिखाने वाली एक छवि है: यहाँ छवि विवरण दर्ज करें

हरा वास्तविक भौतिक उपयोग है। लाल आयतें लेआउट हैं। नीला पूरे बहुभुज का एमबीआर है। मैं सोच रहा हूं कि मुझे थोड़ा एमबीआर प्राप्त करने और उन्हें भरने की कोशिश करनी चाहिए। ऊपरी बाएं कोने में 2-3 हरे रंग की आयतें जो बहुभुज के बीच में समाप्त होती हैं, महंगी हैं। यही मैं कम से कम करना चाहता हूं। हरे रंग की आयतों में एक न्यूनतम और अधिकतम चौड़ाई और ऊंचाई होती है, लेकिन मैं एक क्षेत्र को कवर करने के लिए आवश्यक कई पंक्तियों और स्तंभों का उपयोग कर सकता हूं। फिर से, मुझे उन आयतों की संख्या को कम से कम करना चाहिए जो पूरे इनपुट में नहीं आते हैं। मैं हरे रंग की आयत के आकार को छोटी जगहों पर फिट करने के लिए भी संशोधित कर सकता हूं जो बहुत महंगा भी है। दूसरे शब्दों में, जितना संभव हो उतने अधिक आयत प्राप्त करना आदर्श है।


3
आपका शीर्षक उत्तल बहुभुज कहता है, लेकिन प्रश्न अवतल बहुभुज की बात करता है। शायद आपको कुछ सुधार करने की आवश्यकता है?
अंकुर

1
@JukkaSuomela, पहले दो चित्रों में, बहुभुज लगभग एक ही आकार का है, और पहली तस्वीर में, मैं तीन आयतों को लंबवत रूप से चला सकता था जैसा कि मैंने दूसरे में किया था। हालांकि, यह कम वांछनीय है। मुझे लगता है कि चाल को आयतों के परिधि के साथ करना है। हो सकता है कि मैं जो करने की कोशिश कर रहा हूं, वह आयत की सीमा की मात्रा को कम कर दे जो बहुभुज के अंदर है, और बहुभुज के किनारों के साथ मिली हुई सीमा की मात्रा को अधिकतम करें। हालांकि, कभी-कभी आयत पूरी तरह से कवर करने के लिए बहुभुज से बाहर फैल जाना चाहिए।
जोश सी।

1
@ जॉनमोइलर, मैं समझता हूं। यह एक ऐसी समस्या है, जहाँ मानव आसानी से समाधान की पहचान कर सकता है लेकिन समस्या को सही ढंग से बताना काफी कठिन है। समस्या कालीन या दीवार के कागज बिछाने के समान है और वास्तविक समस्या एक संरचनात्मक / वास्तुशिल्प है। मैं आयताकार लेआउट के क्षेत्रों की पहचान करने की कोशिश कर रहा हूं जो बाद में दूसरे प्रकार के टेसूलेशन से भर जाएगा। उन आयतों को खोजना और गैर-आयताकार क्षेत्रों को संभालना समस्या है। मुझे पता है अगर मैं और अधिक समझा सकते हैं।
जोश सी।

2
मुझे लगता है कि हमें एक मॉडलिंग प्रश्न के रूप में पहले दृष्टिकोण करना चाहिए: लक्ष्य एक एल्गोरिथ्म के साथ नहीं आना है जो एक अच्छी तरह से परिभाषित अनुकूलन समस्या को हल करता है, लेकिन लक्ष्य अनुकूलन समस्या को परिभाषित करना है।
जुक्का सुओमेला

3
@JoshC .: शायद यह भी मददगार होगा अगर आपने हमें वास्तविक दुनिया के बारे में और अधिक बताने की कोशिश की। मैं आपके विवरण से इकट्ठा करता हूं, उदाहरण के लिए, काटना काफी महंगा है - आदर्श रूप से, आयताकार टुकड़ों को यथासंभव कम काटने की आवश्यकता होगी। क्या ये सही है?
जुका सुओमेला

जवाबों:


3

यह जियोमेट्रिक सेट कवर का एक प्रकार है। सटीक सेटिंग्स के आधार पर, आप कुछ अच्छा अनुमान लगाने में सक्षम हो सकते हैं। समस्या बेशक एनपी-हार्ड है। प्राकृतिक हाइपरसिटिक्स लालची एल्गोरिथ्म का उपयोग करने के लिए होते हैं (हमेशा आयताकार / पट्टी उठाते हैं जो अभी तक कवर नहीं किए गए सबसे अधिक क्षेत्र को कवर करता है। वैकल्पिक तकनीक का उपयोग रिवीजन करने के लिए है। कुछ दिलचस्प सैद्धांतिक परिणाम हैं, लेकिन स्पष्ट रूप से, कुछ भी नहीं जो अभ्यास में बहुत उपयोगी होना चाहिए। एक दिलचस्प hueristic जिसे आप आज़माना चाहते हैं, पहले अपने बहुभुज को कम से कम उत्तल आकृतियों (केइल डायनामिक प्रोग्रामिंग एल्गोरिथ्म का उपयोग करके) में अलग करना है, और फिर प्रत्येक उत्तल बहुभुज को अलग से कवर करना है ...


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

2

मुझे लगता है कि यह पेपर कुछ मदद का हो सकता है। स्पष्ट रूप से यह एक ही समस्या नहीं है - वास्तव में यह रिवर्स समस्या है, बहुभुज के साथ एक आयत को कवर करना - लेकिन कुछ विचार एक प्रारंभिक बिंदु हो सकते हैं। विशेष रूप से, यह उल्टा समस्या एनपी-हार्ड है और मुझे संदेह है कि आपका भी हो सकता है (हालांकि कमी का कोई स्पष्ट विस्तार नहीं है जहां तक ​​मैं बता सकता हूं)।

ई। आर्किन, ए। एफरैट, जी। हार्ट, आई। कोस्टिट्स्याना, ए। क्रॉलर, जे। मिशेल और वी। पोलिशचुक। केक के ऊपर स्कैंडिनेवियाई थिन्स: सबसे छोटे एक-आकार-फिट्स-सभी बॉक्स पर। एल्गोरिदम के साथ मज़ा । pg.16-27। 2012


1
आपका सुझाव देने के लिए धन्यवाद। मैं अपनी कंपनी में इंजीनियरिंग और विनिर्माण विभागों के साथ काम कर रहा हूं ताकि इस समस्या को और अधिक स्पष्ट किया जा सके। मैं अभी भी पुष्टि करने के लिए इंतजार कर रहा हूं, लेकिन मैं अब एक एल्गोरिथ्म सोच रहा हूं जो कि सबसे बड़ी उत्कीर्ण आयतों के सेट को लौटाएगा। हालांकि यह पूरी तरह से आकार को कवर नहीं करता है, यह गैर-ऑर्थोगोनल क्षेत्रों को कुछ उत्तराधिकारियों को छोड़ते हुए ऑर्थोगनल क्षेत्रों को वरीयता देगा। एकमात्र चाल उन रूढ़िवादी क्षेत्रों को अधिकतम करना है। मेरी पिछली छवि को 9 लमडा जैसी आकृतियों के साथ देखें।
जोश सी।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.