क्या हर लालची एल्गोरिथ्म में मैट्रोइड संरचना होती है?


13

यह अच्छी तरह से स्थापित है हर matroid के लिए कि और किसी भी वजन समारोह , वहाँ बाहर निकालता है एक एल्गोरिथ्म जो की एक अधिकतम वजन के आधार रिटर्न । तो क्या उलटी दिशा भी सच है? यही है, अगर कुछ लालची एल्गोरिथ्म है, तो कुछ मैट्रोइड संरचना भी होनी चाहिए।MwGreedyBasis(M,w)


दिज्क्स्ट्रा के एल्गोरिथ्म को अक्सर एक लालची एल्गोरिथ्म माना जाता है (उदाहरण के लिए क्लेनबर्ग और टार्डोस द्वारा "एल्गोरिथम डिजाइन" की धारा 4.4 देखें)। मुझे एकल-स्रोत सबसे छोटे रास्तों की परिपक्व व्याख्या की जानकारी नहीं है।
नील यंग

जोड़ीदार-डिसऑइंट सब्मिट्स की न्यूनतम संख्या में वास्तविक अंतराल के एक सेट को विभाजित करना एक प्राकृतिक लालची एल्गोरिथ्म है (प्रारंभ समय तक गणना करना, प्रत्येक के लिए इसे मौजूदा उपसमुच्चय में जोड़ दें, यदि संभव हो तो, एक नया सबसेट शुरू करें; क्लिनबर्ग के अध्याय 4 देखें और Tardos)। क्या इस समस्या को मैट्रोइड के रूप में समझा जा सकता है?
नील युवा

जवाबों:


12

वास्तव में, एक समस्या यह है कि एक लालची एल्गोरिथ्म द्वारा हल किया जा सकता की पूरी और सामान्य विवरण एक है matroid एम्बेडिंग , जो दोनों एक matroid की अवधारणा सामान्यीकरण करता है और एक की कि greedoid । इसका उत्तर नहीं है - एक लालची एल्गोरिथ्म द्वारा हल की जा सकने वाली समस्या में मैट्रोइड संरचना की आवश्यकता नहीं होती है, लेकिन इसमें एक मैट्रोइड एंबेडिंग की संरचना होगी (जो कि, बहुत अधिक जटिल है)।

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

हेलमैन एट अल। (1993), अपने पेपर में लालची संरचनाओं का एक सटीक चरित्र वर्णन सेट सिस्टम के संदर्भ में एक लालची एल्गोरिथ्म की उनकी धारणा को परिभाषित करता है, जो एक ही औपचारिकता है जो मैट्रोइड्स और लालच के लिए उपयोग की जाती है। एक सेट सिस्टम में एक सेट और एक संग्रह जो कि के सबसेट के होते हैं , जो संभव सेट होते हैं । सेट सिस्टम का एक आधार एक अधिकतम संभव सेट है, जो एक ऐसा सेट है जो संभव है लेकिन किसी अन्य संभव सेट में निहित नहीं है। एक उद्देश्य फ़ंक्शन प्रत्येक सबसेट को एक मान के साथ जोड़ता है । एक(एस,सी)एससीएस :2एसआरएसअनुकूलन समस्या , इस औपचारिकता में, दिए गए सेट सिस्टम और उद्देश्य फ़ंक्शन के लिए अधिकतम उद्देश्य मूल्य का आधार खोजने में शामिल हैं।

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

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

हेलमैन एट अल क्या है। यह है कि वे वर्णन करते हैं कि यह एल्गोरिथ्म कब काम करेगा। अधिक विशेष रूप से:

  1. वे दिखाते हैं कि रैखिक उद्देश्य कार्यों के लिए (जहां उद्देश्य मूल्य तत्व भार का योग है), लालची एल्गोरिथ्म संरचना पर सटीक रूप से काम करेगा, जिसे वे एक मैट्रोइड एम्बेडिंग के रूप में परिभाषित करते हैं;

  2. वे तथाकथित अड़चन उद्देश्यों के लिए एक समान लक्षण वर्णन देते हैं (जहां एक सेट का उद्देश्य मूल्य व्यक्तिगत तत्व वजन पर न्यूनतम के बराबर है); तथा

  3. वे एक सटीक लक्षण वर्णन देते हैं, जो उद्देश्य कार्यों (रैखिक से परे) को मैट्रोइड एम्बेडिंग पर लालची एल्गोरिथ्म द्वारा अनुकूलित किया जाता है।


3
क्या आप बता सकते हैं कि लालची एल्गोरिथ्म की उनकी परिभाषा क्या है?
केव

1
उनके औपचारिकता क्या है, यह समझाने के लिए मेरे उत्तर का विस्तार किया।
मैग्नस लाइ हेटलैंड

11

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

वहाँ का सामान्यीकरण है matroids बुलाया greedoid जो लालची एल्गोरिदम क्या आप को देखने के लिए चाहते हो सकता है से प्रेरित है।


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

2

निम्नलिखित समस्याओं पर विचार करें: कॉइन-चेंजिंग यूरो: 1,2,5,10 यूरो के नोटों की अनंत राशि को देखते हुए, संभव के रूप में कुछ नोटों का उपयोग करके यूरो का भुगतान करें। यह लालची एल्गोरिथ्म का उपयोग करके हल किया जा सकता है, जो सबसे बड़ा नोट संभव लेता है। लेकिन इस समस्या में कोई परिपक्व संरचना नहीं है।

छेद आवरण: पदों में छेद हैं x_1, x_2, ..., x_n। आपके पास लंबाई 10 सेमी है। संभव के रूप में कुछ पैच का उपयोग कर छेद पैच। फिर से यह लालची फैशन में हल किया जा सकता है (बस जितना संभव हो उतना पैच डाल दिया जाए), लेकिन कोई मैट्रोइड संरचना नहीं है।


धन्यवाद, मुझे अपना संदेह था लेकिन यकीन नहीं था। तो आखिरकार हमें लालची एल्गोरिथम की खोज करनी होगी, भले ही मैट्रोइड संरचना मौजूद न हो।

1
@ user3373748 मैं आमतौर पर एक गतिशील कार्यक्रम की तलाश में हूं। लालची एक पतित DP है।

1
(अचार नहीं होना चाहिए, लेकिन कोई 1- या 2-यूरो नोट नहीं हैं; आप अपने मानों के सेट को {5, 10, 20, 50, 100, 200} या rephrase; ;-)) में
बदलना चाह सकते हैं

ध्यान दें कि वर्णित सिक्का-परिवर्तन एल्गोरिथ्म {1,2,5,10} के लिए काम करता है, लेकिन अन्य मूल्यों के लिए इष्टतम परिणामों की गणना नहीं कर सकता है। उदाहरण: {1,3,4} के साथ 6 के लिए इष्टतम समाधान [3,3] होगा, लेकिन एल्गोरिथ्म [4,1,1] वापस आ जाएगा।
सोकोविए

1
सिक्का बदलने की समस्या के लिए एक परिपक्व संरचना है - gauss.ececs.uc.edu/Courses/C671/html/Homework/hw5_sol.html
तुषांत मित्तल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.