जब एक लालची एल्गोरिथ्म सिक्का परिवर्तन की समस्या को हल कर सकता है?


24

विभिन्न संप्रदायों और एक मूल्य v के साथ सिक्कों के एक सेट को देखते हुए आप मूल्य v का प्रतिनिधित्व करने के लिए आवश्यक कम से कम सिक्कों को ढूंढना चाहते हैं।c1,...,cn

उदाहरण के लिए 1,5,10,20 के सिक्के में यह 19 के लिए 6 और 6 के सिक्कों के लिए 2 सिक्के हैं।

मेरा मुख्य प्रश्न है: इस समस्या को हल करने के लिए एक लालची रणनीति का उपयोग कब किया जा सकता है?


बोनस अंक: क्या यह कथन सरल है? (से: कैसे बताएं कि लालची एल्गोरिथ्म न्यूनतम सिक्का बदलने की समस्या के लिए पीड़ित है? )

हालाँकि, इस पेपर का एक प्रमाण है कि अगर लालची एल्गोरिथ्म पहले सबसे बड़े मूल्यवर्ग + दूसरे सबसे बड़े मूल्यवर्ग मूल्यों के लिए काम करता है, तो यह उन सभी के लिए काम करता है, और यह सिर्फ लालची एल्गोरिथम बनाम इष्टतम डीपी एल्गोरिदम का उपयोग करके इसे जांचने का सुझाव देता है। http://www.cs.cornell.edu/~kozen/papers/change.pdf

Ps। ध्यान दें कि उस धागे के उत्तर अविश्वसनीय रूप से क्रैमी हैं- यही कारण है कि मैंने सवाल नए सिरे से पूछा।


के लिए द्विआधारी नैपसैक समस्या एक आसानी से तैयार की कसौटी है: लालची एल्गोरिथ्म समस्या का हल है, तो सभी संप्रदायों के लिए । सिक्का परिवर्तन के लिए इतना आसान नहीं है (मनमाने ढंग से अभिन्न चर के साथ नोक-झोंक)। क्या आपको पत्रिका, नेमहॉज़र और ट्रॉटर के प्रदर्शन की आवश्यकता है? ci>Σj=1i1cj
दिमित्री चुबारोव

2
डेक्सटर कोज़ेन के पेपर में बयान में कहा गया है कि अगर लालची एल्गोरिथ्म सभी लिए इष्टतम से सहमत है , तो यह मनमाना लिए एक इष्टतम समाधान देगा । मुझे इस बयान में कुछ भी गलत नहीं दिख रहा है। vv<cn1+cnv
दिमित्री चुबरोव

@ डमित्री चुबारोव धन्यवाद, अब मैं समझता हूं कि बोनस q कैसे काम करता है। क्या यह मजबूत प्रेरण के समान है? आपके अन्य प्रश्न के रूप में, मैं एक उत्तर चाहता हूं जो एक समाधान देता है और अधिमानतः एक प्रमाण है।
दोपहर

मैं इस सवाल को बढ़ाऊंगा और अगर कोई नहीं कूदता है, तो सप्ताहांत पर कुछ उदाहरणों के साथ MNT को संक्षेप में प्रस्तुत करें।
दिमित्री चुबारोव

इससे संबंधित प्रश्न भी देखें ; विशेष रूप से, शालित द्वारा लिंक किया गया पेपर रुचि का हो सकता है।
राफेल

जवाबों:


13

एक सिक्का प्रणाली विहित है यदि लालची एल्गोरिथ्म द्वारा परिवर्तन में दिए गए सिक्कों की संख्या सभी राशियों के लिए इष्टतम है।

कागज डी। पियर्सन। परिवर्तन बनाने की समस्या के लिए एक बहुपद-काल एल्गोरिदम। ऑपरेशंस रीसर्च लेटर्स, 33 (3): 231-234, 2005 यह तय करने के लिए एक एल्गोरिदम प्रदान करता है कि क्या एक सिक्का प्रणाली कैनोनिकल है, जहां विभिन्न प्रकार के सिक्कों की संख्या है। सार से:एनO(n3)n

हम फिर संभव मूल्यों का एक सेट प्राप्त करते हैं जिसमें सबसे छोटा काउंटरएक्सप्लिमेंट होना चाहिए। प्रत्येक को अंकगणितीय संक्रियाओं के साथ परखा जा सकता है , जिससे हमें एल्गोरिदम मिल सकता है।O ( n ) O ( n 3 )O(n2)O(n)O(n3)

पेपर काफी छोटा है।

एक गैर विहित सिक्का प्रणाली के लिए, वहाँ एक राशि है जिसके लिए लालची एल्गोरिथ्म सिक्कों की एक से इनकी संख्या पैदा करता है; को प्रतिपक्ष कहा जाता है । एक सिक्का प्रणाली तंग है यदि इसका सबसे छोटा प्रतिसाद सबसे बड़े एकल सिक्के से बड़ा है।सीcc

चेंज-मेकिंग प्रॉब्लम्स के लिए पेपर कैनोनिकल कॉइन सिस्टम्स पाँच सिक्कों के कैनोनिकल होने के लिए कॉइन सिस्टम के लिए आवश्यक और पर्याप्त शर्तें प्रदान करता है, और यह तय करने के लिए एक एल्गोरिथ्म कि क्या सिक्कों का एक तंग सिक्का सिस्टम कैनोनिकल है।एनO(n2)n

इस se.math सवाल में कुछ चर्चा भी है ।


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

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

मैंने कई बार उत्तर और लेख को पढ़ा, लेकिन मुझे मानव-पठनीय मानदंड नहीं मिल पाए canonical coin system। यह बहुत अच्छा होगा यदि आप उदाहरण जोड़ सकते हैं, अर्थात सुझाए गए सिस्टम का परीक्षण कैसे करें1,5,10,20
गॉडफादर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.