जब आप गणना एल्गोरिदम डिजाइन कर रहे हों तब जनरेटिंग कार्य उपयोगी होते हैं। यही है, न केवल जब आप एक निश्चित संपत्ति वाले ऑब्जेक्ट की संख्या की तलाश कर रहे हैं, बल्कि जब आप इन ऑब्जेक्ट्स को एन्यूमरेट करने का एक तरीका ढूंढ रहे हैं (और, शायद, ऑब्जेक्ट्स को गिनने के लिए एक एल्गोरिथ्म उत्पन्न करते हैं)। रोनाल्ड ग्राहम, डोनाल्ड नुथ और ओरेन पेटशनिक द्वारा कंक्रीट गणित के अध्याय 7 में एक बहुत अच्छी प्रस्तुति है । नीचे दिए गए उदाहरण इन पुस्तकों से हैं (गलतियां और स्पष्टता की कमी मेरा है)।
मान लीजिए कि आप दिए गए सिक्कों के साथ बदलाव करने के तरीकों की तलाश कर रहे हैं। उदाहरण के लिए, सामान्य अमेरिकी संप्रदायों के साथ, संभव सिक्के । परिवर्तन में give ४२ देने के लिए, एक संभावना है ; एक और संभावना है । हम । आम तौर पर, हम परिवर्तन देने के सभी तरीकों के लिए एक जनरेटिंग फंक्शन लिख सकते हैं:
अधिक तकनीकी शब्दों में, पांच वेरिएबल्स पर से अधिक शक्ति श्रृंखलाओं की अवधि में एक शब्द है[ २५ ] [ १० ] [ ५ ] [ १ ] [ १ ] [ १० ] [ १० ] [ १० ] [ १० ] [ १ ] [ ] 1 ] 42 ⟨ [ 25 ] [ 10 ][1],[5],[10],[25],[100][25][10][5][1][1][10][10][10][10][1][1]एच = Σ ज ≥ 0 Σ क्ष ≥ 0 Σ घ ≥ 0 Σ n ≥ 0 Σ पी ≥ 0 [ 100 ] ज [ 25 ] क्ष [ 10 ] डी [ 5 ] एन [ 1 ] पी42⟨[25][10][5][1]2⟩=⟨[10]4[1]2⟩
H=∑h≥0∑q≥0∑d≥0∑n≥0∑p≥0[100]h[25]q[10]d[5]n[1]p
[ १०० ] , [ २५ ] , [ १० ] , [ ५ ] , [ १ ]H[100],[25],[10],[5],[1]। इस स्थान में एक मोनोमियल के को
फिर परिवर्तन में सेंट देने के तरीके मोनोमियल की संख्या है जिसका मूल्यांकन । हम को एक वृद्धिशील फैशन में व्यक्त कर सकते हैं , पहले को केवल pennies में परिवर्तन देने के तरीके लिखकर , फिर को pennies और निकल में परिवर्तन करने के तरीके , और इसी तरह। ( मतलब है कोई सिक्का नहीं।)
वी वी एच पी एन मैं पी = मैं + [ 1 ] + [ १ ] २ + [ १ ] ३ +⟨[100]h[25]q[10]d[5]n[1]p⟩=100h+25q+10d+5n+p
vvHPNIP=I+[1]+[1]2+[1]3+…=II−[1]N=(I+[5]+[5]2+[5]3+…)P=PI−[5]D=(I+[10]+[10]2+[10]3+…)N=NI−[10]Q=(I+[25]+[25]2+[25]3+…)D=DI−[25]H=(I+[100]+[100]2+[100]3+…)Q=QI−[100]
यदि आप गिनना चाहते हैं और न केवल बदलाव देने के तरीकों की गणना करते हैं, तो हमारे द्वारा प्राप्त औपचारिक श्रृंखला का उपयोग करने का एक सरल तरीका है। समरूपता
में
का गुणांक परिवर्तन में सेंट देने के तरीकों की संख्या है ।
एक्स वी एस ( सी ) vS:[1]↦X,[5]↦X5,[10]↦X10,[25]↦X25,[100]↦X100
XvS(C)v
एक कठिन उदाहरण: मान लीजिए कि आप 2 × 1 डोमिनोज के साथ आयतों को टाइल करने के सभी तरीकों का अध्ययन करना चाहते हैं। उदाहरण के लिए, 2 × 2 आयत को टाइल करने के दो तरीके हैं, या तो दो क्षैतिज डोमिनोज़ के साथ या दो ऊर्ध्वाधर डोमिनोज़ के साथ। आयत को टाइल करने के तरीकों की संख्या की गणना करना काफी आसान है, लेकिन मामला जल्दी से गैर- स्पष्ट हो जाता है। हम एक साथ डोमिनोज़ चिपकाकर ऊंचाई 3 के एक क्षैतिज बैंड के सभी संभावित झुकावों की गणना कर सकते हैं, जो कि दोहराए जाने वाले पैटर्न की पैदावार करता है:
3 × n { यू = ओ + एल वी + गामा Λ + ≡ यू वी = मैं2×n3×n
⎧⎩⎨⎪⎪⎪⎪⎪⎪U=o+LV+ΓΛ+≡UV=IU+=−VΛ=IU+−=Λ
जहाँ मज़ेदार आकृतियाँ प्राथमिक डोमिनो व्यवस्था का प्रतिनिधित्व करती हैं: कोई डोमिनोज़ नहीं है, एक क्षैतिज डोमिनोज़ के बाएँ भाग के शीर्ष पर एक वर्टिकल डोमिनोज़ है, एक ऊर्ध्वाधर डोमिनोज़ है जो ऊंचाई 3 के बैंड के नीचे से जुड़ा हुआ है, बैंड के शीर्ष के साथ एक क्षैतिज डोमिनोज़ है जो इसके नीचे दो क्षैतिज डोमिनोज़ है और दाईं ओर एक कदम है, इधर, गुणन क्षैतिज समवर्ती का प्रतिनिधित्व करता है और यह सराहनीय नहीं है, लेकिन इस शक्ति श्रृंखला में चर बनाने वाले प्राथमिक पैटर्न के बीच समीकरण हैं। सिक्कों के साथ पहले की तरह, हम हर डोमिनोज़ के लिए स्थानापन्न कर सकते हैं और एक के झुकाव की संख्या के लिए एक उत्पादक श्रृंखला प्राप्त कर सकते हैं
oLI−=X3×(2n/3) आयत (यानी का गुणांक क्षेत्र आयत को टाइल करने के तरीकों की संख्या है , जिसमें डोमिनोज़ होते हैं और चौड़ाई )। श्रृंखला का उपयोग अधिक बहुमुखी तरीकों से भी किया जा सकता है; उदाहरण के लिए, ऊर्ध्वाधर और क्षैतिज डोमिनोज़ को अलग करके, हम दिए गए ऊर्ध्वाधर और क्षैतिज डोमिनो के साथ झुकाव की गणना कर सकते हैं।
X3k6k3k2k
फिर से, कम गणित की प्रस्तुति के लिए ठोस गणित पढ़ें ।
List मुझे पता है कि मेरी सूची अधूरी है; गणितीय examples.² के लिए एक सरल अमेरिका उपयुक्त मान
² इसके अलावा, अगर यह ऊपर आता है, गोलाकार सिक्के मान।
Et और बेहतर टाइपसेट।