Knapsack Problem in Hindi | नैपसैक समस्या क्या है?
नैपसैक समस्या क्या है? (Knapsack Problem in Hindi)
नैपसैक समस्या (Knapsack Problem) एक ऑप्टिमाइज़ेशन (Optimization) समस्या है, जिसमें दिए गए वस्तुओं (Items) के भार (Weight) और मूल्य (Value) के आधार पर एक निश्चित क्षमता वाले बैग (Knapsack) में अधिकतम मूल्य प्राप्त करना होता है। यह कंप्यूटर विज्ञान और ऑपरेशंस रिसर्च में एक महत्वपूर्ण समस्या है।
नैपसैक समस्या के प्रकार (Types of Knapsack Problem)
प्रकार | विवरण |
---|---|
0/1 Knapsack Problem | हर वस्तु को या तो पूरी तरह से बैग में डाला जा सकता है या बिल्कुल नहीं। |
Fractional Knapsack Problem | वस्तुओं को आंशिक रूप से बैग में डाला जा सकता है। |
0/1 नैपसैक समस्या (0/1 Knapsack Problem)
इस समस्या में प्रत्येक वस्तु को केवल एक बार लिया जा सकता है। इसका हल डायनामिक प्रोग्रामिंग (Dynamic Programming) का उपयोग करके निकाला जाता है।
Knapsack(W, wt[], val[], n) if n == 0 or W == 0: return 0 if wt[n-1] > W: return Knapsack(W, wt, val, n-1) else: return max( val[n-1] + Knapsack(W - wt[n-1], wt, val, n-1), Knapsack(W, wt, val, n-1) )
फ्रैक्शनल नैपसैक समस्या (Fractional Knapsack Problem)
इस समस्या में वस्तुओं को आंशिक रूप से बैग में डाला जा सकता है। यह ग्रीडी एल्गोरिदम (Greedy Algorithm) द्वारा हल किया जाता है।
FractionalKnapsack(W, items[], n) 1. Sort items in decreasing order of value/weight ratio 2. Initialize totalValue = 0 3. for each item in sorted list: if item can fit completely: add it to knapsack totalValue += item value else: add fraction of item to knapsack totalValue += fraction value 4. return totalValue
नैपसैक समस्या का उदाहरण (Example of Knapsack Problem)
माना कि हमारे पास 3 वस्तुएं हैं:
वस्तु | भार (Weight) | मूल्य (Value) |
---|---|---|
1 | 10 | 60 |
2 | 20 | 100 |
3 | 30 | 120 |
यदि बैग की क्षमता W = 50 है, तो:
- 0/1 Knapsack: अधिकतम मूल्य 220 होगा।
- Fractional Knapsack: अधिकतम मूल्य 240 होगा।
नैपसैक समस्या की समय जटिलता (Time Complexity of Knapsack Problem)
- 0/1 Knapsack (डायनामिक प्रोग्रामिंग): O(nW)
- Fractional Knapsack (ग्रीडी एल्गोरिदम): O(n log n)
नैपसैक समस्या के अनुप्रयोग (Applications of Knapsack Problem)
- रिसोर्स एलोकेशन (Resource Allocation)
- फ्रैक्शनल स्टॉक इन्वेस्टमेंट
- डाटा कम्प्रेशन (Data Compression)
- बैग पैकिंग ऑप्टिमाइज़ेशन
निष्कर्ष
नैपसैक समस्या एक महत्वपूर्ण ऑप्टिमाइज़ेशन समस्या है जो वास्तविक जीवन की कई समस्याओं में उपयोग की जाती है। 0/1 Knapsack समस्या डायनामिक प्रोग्रामिंग से हल की जाती है, जबकि Fractional Knapsack समस्या ग्रीडी एल्गोरिदम से हल होती है।
Related Post
- एल्गोरिथम क्या है? (Algorithms in Hindi) | परिभाषा, प्रकार और महत्व
- Designing Algorithm in ADA | एल्गोरिथम डिज़ाइन की प्रक्रिया और सिद्धांत
- एल्गोरिथम एनालिसिस क्या है? (Algorithm Analysis in Hindi) | परिभाषा, प्रकार और महत्व
- Asymptotic Notation in Hindi | एसिम्प्टोटिक नोटेशन क्या है?
- Divide and Conquer Technique in Hindi | डिवाइड एंड कॉन्कर तकनीक क्या है?
- Binary Search Algorithm in Hindi | बाइनरी सर्च एल्गोरिदम क्या है?
- Merge Sort Algorithm in Hindi | मर्ज सॉर्ट एल्गोरिदम क्या है?
- Quick Sort Algorithm in Hindi | क्विक सॉर्ट एल्गोरिदम क्या है?
- Strassen's Matrix Multiplication Algorithm in Hindi | स्ट्रासेन का मैट्रिक्स गुणा एल्गोरिदम
- Greedy Algorithm in Hindi | ग्रीडी एल्गोरिदम क्या है?
- Optimal Merge Pattern in Hindi | ऑप्टिमल मर्ज पैटर्न क्या है?
- Huffman Coding in Hindi | हफ्मन कोडिंग क्या है?
- Minimum Spanning Tree in Hindi | मिनिमम स्पैनिंग ट्री क्या है?
- Knapsack Problem in Hindi | नैपसैक समस्या क्या है?
- Job Sequencing with Deadlines in Hindi | जॉब सीक्वेंसिंग विथ डेडलाइन्स क्या है?
- Single Source Shortest Path Algorithm in Hindi | सिंगल सोर्स शॉर्टेस्ट पाथ एल्गोरिदम क्या है?
- Dynamic Programming in Hindi | डायनेमिक प्रोग्रामिंग क्या है?
- 0/1 Knapsack Problem using Dynamic Programming in Hindi | 0/1 नैपसैक समस्या डायनेमिक प्रोग्रामिंग द्वारा
- Multistage Graph in Hindi | मल्टीस्टेज ग्राफ क्या है?
- Reliability Design in Hindi | विश्वसनीयता डिज़ाइन क्या है?
- Floyd Warshall Algorithm in Hindi | फ्लॉयड वार्शल एल्गोरिदम क्या है?
- 8 Queen’s Problem in Hindi | 8 क्वीन्स समस्या क्या है?
- Hamiltonian Cycle in Hindi | हैमिल्टोनियन साइकिल क्या है?
- Graph Coloring Problem in Hindi | ग्राफ कलरिंग समस्या क्या है?
- Branch and Bound Method in Hindi | ब्रांच एंड बाउंड विधि क्या है?
- Traveling Salesman Problem in Hindi | ट्रैवलिंग सेल्समैन समस्या क्या है?
- Lower Bound Theory in Hindi | लोअर बाउंड थ्योरी क्या है?
- Parallel Algorithm in Hindi | समानांतर एल्गोरिदम क्या है?
- Height Balanced Tree in Hindi | हाइट बैलेंस्ड ट्री क्या है?
- 2-3 Tree in Hindi | 2-3 ट्री क्या है?
- NP-Completeness in Hindi | एनपी-कम्प्लीटनेस क्या है?