ग्राफ सिद्धांत का उपयोग करके फ्रांस के आर्काइव नेशनले में एक व्यवस्था की समस्या को कैसे हल किया जाए?


9

सुसंध्या! मैं वास्तव में फ्रांस के अभिलेखागार नागरिकों पर एक इंटर्नशिप कर रहा हूं और मुझे एक स्थिति का सामना करना पड़ा जिसे मैं ग्राफ़ का उपयोग करके हल करना चाहता था ...

I. धूल भरी स्थिति

हम अपनी लाइब्रेरी की पुस्तकों की व्यवस्था को उनकी ऊँचाई के अनुसार अनुकूलित करना चाहते हैं ताकि उनकी संग्रह लागत कम हो सके। पुस्तकों की ऊँचाई और मोटाई ज्ञात है। हमने पहले से ही पुस्तकों को ऊँचाई आरोही क्रम में व्यवस्थित कर (मुझे नहीं पता कि क्या यह सबसे अच्छी बात थी लेकिन ... इस तरह हमने इसे किया)। प्रत्येक पुस्तक की मोटाई को जानकर, हम प्रत्येक वर्ग को उनकी व्यवस्था के लिए आवश्यक मोटाई निर्धारित कर सकते हैं , इसे कह सकते हैं (उदाहरण के लिए, वे पुस्तकें जो लंबी हैं, उनकी कुल मोटाई )।H1,H2,,HnHiLiHi=23cएलमैं=300सी

पुस्तकालय कस्टम निर्माण अलमारियों को इंगित कर सकता है, जो वांछित लंबाई और ऊंचाई (गहराई के साथ कोई समस्या नहीं) का संकेत देता है। ऊंचाई का एक शेल्फ और लंबाई लागत , जहां एक निश्चित लागत है और प्रति लंबाई इकाई शेल्फ की लागत है।एचमैंएक्समैंएफमैं+सीमैंएक्समैंएफमैंसीमैं

ध्यान दें कि ऊंचाई का एक शेल्फ साथ ऊंचाई की पुस्तकों को संग्रहीत करने के लिए उपयोग किया जा सकता है । हम लागत को कम करना चाहते हैं।एचमैंएचजेजेमैं

मेरे ट्यूटर ने सुझाव दिया कि मैं इस समस्या को एक पथ-खोज समस्या के रूप में प्रस्तुत करता हूं। मॉडल में कोने अनुक्रमित प्रपत्र से शामिल हो सकते हैं । मेरे गुरु ने सुझाव दिया कि मैं मौजूदा स्थितियों, प्रत्येक किनारे पर हस्ताक्षर और कैसे काम करता कि किनारे से जुड़ा हुआ मूल्यांकन बाहर कर दूं । मैं अन्य समाधानों के साथ-साथ अंतर्दृष्टि के साथ भी ठीक होगा।n+10nv(मैं,जे)(मैं,जे)

उदाहरण के लिए हमारे पास कन्वेंशन (फ्रांसीसी इतिहास का एक काला समय) है, इस तरह की एक सरणी:

मैं1234एचमैं12सी15सी18सी23सीएलमैं100सी300सी200सी300सीएफमैं1000120011001600सीमैं5/सी6/सी7/सी9/सी

द्वितीय। एक प्रशिक्षु किताबी कीड़ा की धारणा

मुझे लगता है कि मुझे Djikstra, Bellman या Bellman-Kalaba के बीच एक एल्गोरिथ्म की गणना करनी है ... मैं यह जानने की कोशिश कर रहा हूं कि निम्नलिखित उपविभागों में से कौन सा है।

1.Conditions

हम यहाँ एक कोने और एक कोने बीच पाथफाइंडिंग की समस्या के साथ हैं , से आउटगोइंग होना चाहिए (यह कहना है, और बीच एक पथ (या चलना) मौजूद होना चाहिए0nn00n

2. गणना करने के लिए क्या है (अद्यतन (25/10/2015))

// काम अभी भी प्रक्रिया के तहत जहाँ तक मुझे नहीं पता है कि कौन से कोने में और कौन से किनारों पर मॉडल करना है ...

मेरा सबसे अच्छा अनुमान

मुझे लगता है कि हम हर बार कम से कम एक प्रकार की अलमारियों से छुटकारा पा लेते हैं, जब हमें सरणी से सबसे छोटा रास्ता मिलता है, लेकिन यह केवल एक धारणा है;)।

मुझे लगता है कि अलमारियों को खरीदने और हमारी पुस्तकों को संग्रहीत करने के तरीके को मॉडल करने का सबसे अच्छा तरीका निम्न ग्राफ़ की तरह दिखना चाहिए, (लेकिन, कृपया, मेरी विधि की आलोचना करने के लिए स्वतंत्र महसूस करें;);

0 ग्राफ से

कोने:

  • मैं[1,4] में हम अपनी पुस्तकों को संग्रहीत करने के लिए उपयोग कर सकते हैं।
  • 0 वह राज्य है जहां कोई पुस्तक संग्रहीत नहीं है। इस कोने का उपयोग करने से मुझे प्रत्येक लागत सूत्र (किनारों) का उपयोग करने की अनुमति मिलती है।

किनारों: में एक प्रकार के का उपयोग करने की लागत है। उदाहरण के लिए: fom 0 हमारे पर्चों, पांडुलिपियों को संग्रहीत करने के लिए केवल टाइप 1 अलमारियों का उपयोग करने की लागत है ...एफमैं+सीमैंएक्समैं,मैं[1,4]एफ1+सी1एक्स1

फिर भी, यहाँ से मुझे नहीं पता कि मैं अपनी सबसे छोटी पथ समस्या कैसे बनाऊँ।

वास्तव में, मुझे नहीं पता होगा कि मैंने अपनी सभी पुस्तकों को कहाँ रखा होगा।

यह मुझे एक और विचार की ओर ले जाता है ...

एक अन्य विचार...

0 ग्राफ के लिए

यहाँ, मैं किसी दिए गए कोने से 0 राज्य के लिए सबसे छोटा रास्ता खोज रहा हूँ, यह कहना है, यह जानते हुए कि उच्चतम दस्तावेज़ लंबा है, मैं अपने दस्तावेज़ों को व्यवस्थित करने के लिए सबसे सस्ता तरीका खोज रहा हूँ।टीyपी मैं

कोने:

  • मैं[1,4] में हम अपनी पुस्तकों को संग्रहीत करने के लिए उपयोग कर सकते हैं।
  • 0 वह राज्य है जहां सभी पुस्तकें संग्रहीत हैं। इस कोने का उपयोग करने से मुझे प्रत्येक लागत सूत्र (किनारों) का उपयोग करने की अनुमति मिलती है।

किनारों: में एक प्रकार के का उपयोग करने की लागत है। उदाहरण के लिए: 3 से वह लागत है जो हमारे चर्मपत्रों, पांडुलिपियों को संग्रहीत करने के लिए अलमारियों का उपयोग करने के बाद अलमारियों का उपयोग करता है ...Fमैं+Cमैंएक्समैं,मैं[1,4]एफ1+सी1एक्स1टीyपी 1टीyपी 3

फिर भी, मुझे नहीं पता कि को कहां रखा ।एफ4+सी4एक्स4

3. गणना करने के लिए कैसे

मुझे लगता है कि हमें उच्च अलमारियों के साथ शुरू करना होगा जहाँ तक हम तब छोटी पुस्तकों को संग्रहीत कर सकते हैं ...

करना

हम ऊंचाई के साथ सेमी लेते हैं , उनकी ऊंचाई + सेमी की एक ऊंचाई तक होती है, जब तक कि यह लेने से अधिक महंगा न हो जाए। को स्थगित। तोएलnएचमैं=nzएचमैं=n-1एचमैं=n-1मैं=मैं-1

जबकि मैं> <०

अंत में, मैं नहीं जानता कि कैसे एक्स अलग बनाने के लिए ...

यह कहना है कि उदाहरण के लिए या में दस्तावेज़ कैसे चुनें ।एक्समैं43


कितनी किताबें हैं? यानी एल्गोरिदम केवल वही हैं जो स्वीकार्य हैं? O(n),O(nlogn)
जजोह

5
मैं यह नहीं देखता कि इसका ग्राफ़ के साथ क्या करना है: क्यों अपने आप को कुछ ग्राफ-आधारित करने के लिए मजबूर करें जब हाथ में समस्या बिन-पैकिंग की तरह कुछ है? आपका मॉडल ठंडे बस्ते में डालने की व्यावहारिकताओं को ध्यान में रखने में विफल रहता है। उदाहरण के लिए, एक ठंडे बस्ते में एक निश्चित लंबाई की अलमारियाँ होती हैं: आप एक दूसरे के ऊपर पाँच मीटर लंबी अलमारियाँ रख सकते हैं, लेकिन एक 99 सेमी शेल्फ, एक 172 सेमी शेल्फ, एक 128 सेमी शेल्फ, एक 83 सेमी शेल्फ और एक 18 सेमी शेल्फ (कुल लंबाई) 5 मी) पूरी तरह से बेकार हैं। और, क्यों पृथ्वी पर 23cm-high ठंडे बस्ते में डालने के लिए € 2500 का खर्च आता है? यह दूर से यथार्थवादी नहीं लगता है। क्या यह पुस्तकालय वास्तविक है?
डेविड रिचरबी

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

1
ऐसा लगता है कि आपने अपनी समस्या पर कुछ विचार बिताए हैं। अच्छी बात है! हालांकि, एक प्रश्न में अपने विचारों का एक पूरा इतिहास संग्रहीत करना, बल्कि इसे अस्पष्ट बनाता है। यदि आप एकल, केंद्रित प्रश्न और प्रश्न को उत्तर देने योग्य बनाने के लिए पर्याप्त पृष्ठभूमि के साथ एसई बहुत बेहतर काम करते हैं।
राफेल

1
के बारे में "मुझे इसे एक ग्राफ समस्या के रूप में व्यक्त करने की आवश्यकता है" - यह एक ... गूंगा आवश्यकता है। यदि समस्या पी में है, तो इसे एलपी के रूप में लिखें और एक समान अधिकतम-प्रवाह उदाहरण की गणना करें। देखा। यदि यह एनपी में है, लेकिन आप इसे पी में होना नहीं जानते हैं, तो इसे आईपी के रूप में लिखें और किसी भी एनपी-पूर्ण ग्राफ़ समस्या में परिवर्तित करें। देखा।
राफेल

जवाबों:


5

मैं आपको यह पूछते हुए देखता हूं, "मैं इसे दिक्जस्ट्रा के एल्गोरिथ्म के साथ हल करना चाहता हूं, लेकिन मैं इसे चलाने के लिए एक अच्छा ग्राफ सेट नहीं कर सकता हूं," इसलिए मैं आपको इस तरह के ग्राफ के साथ पेश करूंगा।

एक डिग्राफ जहां वर्टिकल शेल्फ बुक के सेट हैं।

ठीक है, हमारे पास हाइट वाली किताबें हैं एचn, 1nएन और चौड़ाई डब्ल्यूn, प्रत्येक पुस्तक के लिए आरोही क्रम में ऊंचाइयों के साथ, और हम उन्हें अलमारियों में समूहित करना चाहते हैं।

समाधान नोड्स के लिए इन संख्याओं का पुन: उपयोग करें n, जहाँ वह नोड सभी पुस्तकों के समाधान की स्थिति का प्रतिनिधित्व करता है मैंn को समाप्त कर दिया गया है। "इसलिए हम नोड पर शुरू करेंगे 0 और नोड के लिए प्राप्त करना चाहते हैं एनदिज्क्स्ट्रा के एल्गोरिथ्म के साथ सबसे छोटा रास्ता है। ये नोड्स हमारे ग्राफ के वर्टिकल हैं।

हम फिर नोड से आकर्षित करते हैं मैं किसी भी नोड के लिए जे>मैं एक निर्देशित किनारा जो मानता है कि उन सभी मध्यस्थ पुस्तकों को एक शेल्फ के साथ आश्रय किया जाएगा, अर्थात इस किनारे की लंबाई है

एलमैंजे=एफजे+सीजे Σn=मैं+1जेडब्ल्यूn,
जहां मैंने यह मान लिया है कि जब आप योग की लागत कह रहे थे एफमैं+सीमैंएक्समैं सबस्क्रिप्ट मैं पर एक्समैं बिलकुल निरर्थक था।

दीजकस्ट्रा का एल्गोरिथ्म हमें नोड के लिए सबसे छोटी लंबाई का रास्ता देगा एन


@ क्रिसित ड्रॉस्ट, थानेदार, बहुत कुछ! यह समझने में समय लगा कि आप बिना किसी ग्राफ़ के क्या बनाने की कोशिश कर रहे थे, लेकिन वास्तव में वही था जिसकी मुझे तलाश थी! मैंने आपकी अद्भुत प्रोफ़ाइल पढ़ी, यह आपके उत्तर के साथ फिट बैठता है;)
मोनिका

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

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

मुझे यकीन नहीं है कि "पिछड़े" होने का क्या मतलब है, लेकिन अगर आप "पिछड़े" जाना चाहते हैं, तो आपको शायद अधिक परिष्कृत ग्राफ पर विचार करना होगा, जहां एक नोड "इस शेल्फ द्वारा रखी गई पुस्तकों की संख्या," की एक सूची है Intसे अधिक है 1। यह लंबों के ग्राफ की ओर जाता है n^2। जब आप A और B के बीच का रास्ता खोज रहे हों और सभी किनारे का वज़न सकारात्मक हो, तब Dijkstra और Bellman-Kalaba में कोई अंतर नहीं है, सिवाय Bellman-Kalaba के किनारों को अपडेट करने के लिए हमेशा कोशिश की जाती है जिन्हें अपडेट करने की आवश्यकता न हो; दिज्ज़क्रा केवल उन बिंदुओं को इंगित करता है जो इसकी परवाह करता है।
सीआर ड्रॉस्ट

7

मुझे लगता है कि मेरे पास आपकी समस्या का हल है। उम्मीद है कि मैंने आपकी समस्या की परिभाषा में कुछ गलत नहीं समझा है। ये रहा:

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

मान लीजिए कि वहाँ हैं n अलग-अलग ऊंचाई की किताबें।

यह भी मान लीजिए कि पुस्तकों को असाइन करके इष्टतम लागत प्राप्त की जाती है मैं ऊंचाई के शेल्फ 1,2,,मैं कहाँ पे 1<2<<मैं

आइए निम्नलिखित दो बातों को सिद्ध करें:

ए। सी>सी-1

इसके विपरीत मान लीजिए। चलोबी-1 शेल्फ को सौंपी गई पुस्तकों का समूह हो -1 फिर सीरोंटी=टीआर,रोंटीयू+सी-1*टीमैंसीnरोंरों(बी-1)

चूंकि, हमने मान लिया, सी<सी-1, शेल्फ की सभी पुस्तकों को स्थानांतरित करें -1 सेवा (जो तब से संभव है -1<

तो अब, सीरोंटी=टीआर,रोंटीयू+सी*टीमैंसीnरोंरों(बी)जो पहले से कम है। इसलिए, हमारे द्वारा ग्रहण की गई ऑप्टिमलिटी के कारण हमारा विरोधाभास है।

इसलिए सी>सी-1 निर्मित सभी शेल्फों के लिए

ख। चलो जे एक ऐसी किताब बनो जो शेल्फ को सौंपी जाए । आइए साबित करते हैंमैंजीटी(जे)>-1

यह काफी आसान है। अगरमैंजीटी(जे) से छोटा था -1 हम पुस्तक को शेल्फ में रख सकते हैं -1 बेहतर लागत के लिए (ए के कारण)।

जिन दो चीजों को हमने साबित किया है, उनमें से बी महत्वपूर्ण है।

चलो पी[]= ठंडे बस्ते में डालने की लागत 1...a ताकि वहाँ का एक शेल्फ हो height(a)। आपको परिभाषित करने का एक तरीका खोजना होगाdp[a] मूल्यों द्वारा dp[1],dp[2],....dp[a1]

मैं यहाँ रुकने जा रहा हूँ। यदि आप गतिशील प्रोग्रामिंग से परिचित हैं, तो तथ्य बी का उपयोग करके, आप आसानी से पुनरावृत्ति के साथ आएंगे। अन्यथा, पूछें :)। जैसा कि मैंने कहा, इसे DAG समस्या में बदल दिया जा सकता है। उपरोक्त संबंध को जानने के बाद, यह महसूस करना आसान है कि किनारे क्या हैं(a,b) इसकी लागत निर्धारित करता है।

पिछले नहीं बल्कि कम से कम, जैसा कि मैंने ऊपर कहा, क्योंकि किताबें बड़ी हैं, आप प्रत्येक पुस्तक के लिए एल्गोरिथ्म का उपयोग नहीं कर सकते। मुझे लगता है कि इसकी मोटाई के योग से इसकी ऊंचाई का प्रतिनिधित्व करना चाहिए। (मुझे लगता है कि यह आपके बयान से पहले से ही ऐसा है)

(मैं विभिन्न ऊंचाइयों की संख्या का अनुमान लगा रहा हूं, किताबों की संख्या से बहुत कम है)



इस ठोस मदद के लिए धन्यवाद! पहले मेरे पास A भाग के लिए एक प्रश्न था: हमें इष्टतम समस्या के कारण विरोधाभास क्यों है? मैं इसे तार्किक रूप से समझता हूं कि उच्च अलमारियों में कम ऊंचाई की पुस्तकों को संग्रहीत करते समय एक लागत कम विरोधाभासी होती है लेकिन मुझे लगता है कि हम किस समानता को मानते हैं? (ऐसा शायद इसलिए क्योंकि मैं केवल अगले सत्र में डायनामिक प्रोग्रामिंग करता हूं ...?)
मोनिका के लिए

दूसरा, मुझे लगता है कि जब आप ए पार्ट निष्कर्ष के लिए कहते हैं तो एक टाइपो होता है सी<सी-1, यह विपरीत है, है ना?
मोनिका

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

0

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

इस पत्र में संबोधित समस्या यह है कि एक आयताकार आकार की वस्तुओं के दिए गए सेट को तीन-आयामी आयताकार डिब्बे की न्यूनतम संख्या में पैक करना।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.