मोसर-डी ब्रुइन अनुक्रम को तुरंत उत्पन्न करें। केवल 0 और 1 का उपयोग करके 4 की अलग-अलग घातों के योग की गणना करें। गणित शिक्षा और अनुसंधान के लिए मुफ्त ऑनलाइन उपकरण।
मोसर-डी ब्रुइन अनुक्रम में ऐसी संख्याएँ होती हैं जिन्हें 4 की अलग-अलग घातों के योग के रूप में लिखा जा सकता है
मोसर-डी ब्रुइन अनुक्रम संख्याओं से बना है जिन्हें 4 की विभिन्न घातों के योग के रूप में व्यक्त किया जा सकता है। गणितज्ञों लियो मोसर और निकोलास गोवर्ट डी ब्रुइन के नाम पर, अनुक्रम इस प्रकार शुरू होता है: 0, 1, 4, 5, 16, 17, 20, 21, 64, 65, 68, 69, 80, 81, 84, 85...
इस अनुक्रम में क्या दिलचस्प है? जब आप किसी भी पद को आधार 4 में लिखते हैं, तो आप केवल 0 और 1 अंक देखेंगे—कभी भी 2 या 3 नहीं। इसका मतलब है कि प्रत्येक संख्या 4 की घातों (जैसे 4⁰, 4¹, 4², 4³) को जोड़कर बनाई जाती है, जहां प्रत्येक घात एक बार या बिल्कुल नहीं आती।
यहाँ एक व्यावहारिक उदाहरण: संख्या 21 अनुक्रम में आती है क्योंकि यह 16 + 4 + 1 के बराबर है, जो कि 4² + 4¹ + 4⁰ है। आधार 4 में, यह "111" के रूप में लिखा जाता है—केवल 0 और 1। इसकी तुलना 22 से करें, जिसे आधार-4 में "2" की आवश्यकता होगी (122), इसलिए यह अनुक्रम में नहीं आता।
अनुक्रम योगात्मक संख्या सिद्धांत, संयोजन और योग-मुक्त समुच्चयों पर अनुसंधान में दिखाई देता है। इसे बाइनरी सिस्टम का एक आधार-4 संस्करण माना जा सकता है—2 की घातों के बजाय, आप 4 की घातों के साथ काम कर रहे हैं। यह एक बहुत ही विरल अनुक्रम बनाता है क्योंकि अधिकांश पूर्णांक छोड़ दिए जाते हैं।
इस जनरेटर का उपयोग करना बहुत सरल है:
गणनाएँ पूरी तरह से आपके ब्राउज़र में जावास्क्रिप्ट का उपयोग करके चलती हैं, इसलिए कोई सर्वर विलंब या इंटरनेट निर्भरता नहीं है - यह तेज़ है और पृष्ठ लोड होने के बाद ऑफ़लाइन काम करता है।
जनरेटर त्रुटियों को रोकने के लिए आपके इनपुट का सत्यापन करता है:
1000 पद की सीमा क्यों? हालांकि एल्गोरिदम कुशल है, हजारों पद उत्पन्न करने से ब्राउज़र की स्मृति पर दबाव पड़ सकता है, विशेष रूप से मोबाइल डिवाइस पर। व्यवहार में, आपको अधिकांश गणितीय विश्लेषण या शैक्षिक उद्देश्यों के लिए 100-200 पद से अधिक की आवश्यकता शायद ही कभी होगी।
आप मोसर-डी ब्रुइन अनुक्रम को तीन समतुल्य तरीकों से परिभाषित कर सकते हैं, जो अलग-अलग अंतर्दृष्टि प्रदान करते हैं:
योगात्मक रूप (4 की घात): एक संख्या n अनुक्रम में तब होती है जब आप इसे इस प्रकार लिख सकते हैं: जहां S गैर-नकारात्मक पूर्णांकों का कोई सेट है। 4 की प्रत्येक घात एक बार या बिल्कुल नहीं दिख सकती है—कोई दोहराव नहीं।
आधार-4 प्रतिनिधित्व (सबसे सरल परीक्षण): एक संख्या को आधार 4 में बदलें। यदि आप केवल 0 और 1 देखते हैं (कोई 2 या 3 नहीं), तो यह अनुक्रम में है। यह हाथ से सदस्यता की जांच करने का सबसे तेज तरीका है।
बाइनरी संबंध (कंप्यूटिंग के लिए सबसे उपयोगी): n-वें पद (n=0 से शुरू करते हुए) को ढूंढने के लिए: जहां n के बाइनरी अंक हैं। अनुवाद: अपने सूचकांक का बाइनरी प्रतिनिधित्व लें, फिर प्रत्येक "1" बिट को 4 की संबंधित घात से बदलें।
देखें कि ये परिभाषाएं कैसे काम करती हैं:
बाइनरी संबंध विधि वह है जिसका यह जनरेटर अंदर से उपयोग करता है—यह गणनात्मक रूप से कुशल है क्योंकि बिटवाइज़ ऑपरेशन तेज होते हैं।
जेनरेटर बाइनरी संबंधों का उपयोग करता है क्योंकि यह तेज और सीधा है:
चरण-दर-चरण प्रक्रिया:
कार्य उदाहरण: 6वें शब्द (सूचकांक 5) को ढूंढना
M(5) की गणना चरण-दर-चरण करते हैं:
यह विधि अच्छी तरह से स्केल होती है। बड़े सूचकांकों के लिए, आप मूल रूप से बिट शिफ्टिंग और जोड़ कर रहे हैं—ऑपरेशन जो आधुनिक प्रोसेसर अत्यंत तेजी से संभालते हैं।
क्या आप जांचना चाहते हैं कि कोई विशिष्ट संख्या मोसर-डी ब्रुइन अनुक्रम में है? आधार-4 परीक्षण का उपयोग करें:
उदाहरण: क्या 85 अनुक्रम में है?
विपरीत उदाहरण: क्या 90 अनुक्रम में है?
जेनरेटर इसे जावास्क्रिप्ट के बिटवाइज ऑपरेटरों का उपयोग करके लागू करता है, जो भाषा में मूल हैं और आधुनिक ब्राउज़रों में अत्यधिक अनुकूलित हैं।
मोसर-डी ब्रुइन अनुक्रम शुद्ध पूर्णांकों से संबंधित है:
यह घातीय वृद्धि का अर्थ है कि अनुक्रम जल्दी बड़ा हो जाता है। 20वाँ शब्द पहले ही 340 है, और 100वें शब्द तक आते-आते आप लाखों की संख्याओं से निपट रहे होंगे।
संख्या प्रणालियों को सिखाना: जब मैंने कक्षाओं में इसका उपयोग किया है, तो छात्र मोसर-डी ब्रुइन अनुक्रम के साथ खेल कर आधार परिवर्तन को बहुत तेजी से समझ लेते हैं। यह बाइनरी (आधार 2) और अधिक जटिल संख्या प्रणालियों के बीच की खाई को पाटता है। छात्र तुरंत देख लेते हैं कि आधार बदलने से अनुक्रम की घनत्व कैसे बदलती है।
बिटवाइज़ ऑपरेशन को समझना: कंप्यूटर विज्ञान के छात्र बाइनरी प्रतिनिधित्व और गणितीय अनुक्रमों के बीच सीधे संबंध को देखकर लाभान्वित होते हैं। एल्गोरिदम दर्शाता है कि बिट हेरफेर वास्तविक गणितीय वस्तुओं में कैसे अनुवादित होता है—न कि केवल अमूर्त संक्रियाएं।
संयोजन और योग-मुक्त सेट: जोड़ने वाले आधारों का अध्ययन करने वाले शोधकर्ता ऐसे अनुक्रमों का उपयोग करते हैं जो यह पता लगाने के लिए कि कौन से सेट अद्वितीय प्रतिनिधित्व की अनुमति देते हैं। मोसर-डी ब्रुइन अनुक्रम एक पाठ्यपुस्तक उदाहरण है जहां हर प्रतिनिधित्व योग्य संख्या का सटीक एक ही प्रतिनिधित्व होता है।
योग्य संख्या सिद्धांत: अनुक्रम पता लगाने में मदद करता है कि पूर्णांक को कैसे योग में विघटित किया जा सकता है। यह ऑनलाइन पूर्णांक अनुक्रम विश्वकोष (OEIS) में A000695 के रूप में सूचीबद्ध है।
एल्गोरिदम डिजाइन: पीढ़ी एल्गोरिदम कुशल अनुक्रम निर्माण को दर्शाता है। आप न्यूनतम कंप्यूटेशनल ओवरहेड के साथ हजारों शब्दों को उत्पन्न कर सकते हैं, जो एल्गोरिदम बेंचमार्किंग या कुशल कोड पैटर्न सिखाने के लिए उपयोगी है।
पैटर्न पहचान कार्य: जब विरल पूर्णांक सेट या डेटा संपीड़न योजनाओं के साथ काम कर रहे होते हैं, तो यह समझना कि मोसर-डी ब्रुइन जैसे अनुक्रम कैसे व्यवहार करते हैं, एन्कोडिंग रणनीतियों के बारे में डिजाइन निर्णय लेने में मदद करता है।
यदि मोसर-डी ब्रुइन श्रेणी आपकी रुचि रखती है, तो ये संबंधित श्रेणियाँ समान पैटर्न प्रदान करती हैं लेकिन अलग-अलग आधार या प्रतिबंधों के साथ:
2 की घात (OEIS A000079): 1, 2, 4, 8, 16, 32... सबसे सरल योग्य आधार। 2 की हर घात बिल्कुल एक बार दिखाई देती है, जो बाइनरी संख्याओं के निर्माण खंड बनाती है।
सभी गैर-नकारात्मक पूर्णांक (बाइनरी योग): 0, 1, 2, 3, 4, 5, 6, 7... जब आप 2 की अलग-अलग घातों के किसी भी योग की अनुमति देते हैं, तो आपको हर संभव पूर्णांक मिलता है—यही बाइनरी प्रतिनिधित्व करता है।
3 की अलग-अलग घातों का योग (OEIS A005836): 0, 1, 3, 4, 9, 10, 12, 13... मोसर-डी ब्रुइन के समान अवधारणा, लेकिन 4 की बजाय 3 की घातों का उपयोग करते हुए। ये ऐसी संख्याएँ हैं जिनका आधार-3 प्रतिनिधित्व केवल 0 और 1 से बना होता है।
फिब्बिनरी संख्याएँ (OEIS A003714): 0, 1, 2, 4, 5, 8, 9, 10... संख्याएँ जिनके बाइनरी रूप में लगातार 1 नहीं होते। फिबोनाची संख्या प्रणाली और जेकेंडोर्फ के सिद्धांत से जुड़ी हुई।
स्टैनली श्रेणी: मोसर-डी ब्रुइन का आधार-3 समकक्ष—संख्याएँ जिनके आधार-3 प्रतिनिधित्व में 1 नहीं होते (केवल 0 और 2 की अनुमति)।
ऑनलाइन पूर्णांक श्रेणी विश्वकोष (OEIS) हजारों श्रेणियों को सूचीबद्ध करता है। "योग्य आधार," "योग-मुक्त सेट," या "अलग-अलग घात" जैसी शब्दों को खोजें। मोसर-डी ब्रुइन श्रेणी स्वयं OEIS डेटाबेस में A000695 है।
लियो मोसर (1921-1970) और निकोलास गोवर्ट डी ब्रुइन (1918-2012) दोनों ने गणित में महत्वपूर्ण योगदान दिया, हालांकि वे अलग-अलग पृष्ठभूमि से थे। मोसर, एक ऑस्ट्रियाई-कनाडाई गणितज्ञ, संख्या सिद्धांत, संयोजन और ज्यामिति में व्यापक रूप से काम करते थे—आप उनके नाम को एर्डोस-मोसर समीकरण से पहचान सकते हैं। डी ब्रुइन, एक डच गणितज्ञ, संयोजन, ग्राफ सिद्धांत और कंप्यूटर विज्ञान में अपनी छाप छोड़ गए। उनके डी ब्रुइन अनुक्रम (इस अनुक्रम से अलग) कोडिंग सिद्धांत में मौलिक हैं और आज भी व्यापक रूप से उपयोग किए जाते हैं।
उनके नाम से जुड़ा अनुक्रम 1960 के दशक में जोड़ात्मक संख्या सिद्धांत की जांच के दौरान उभरा। गणितज्ञ पूछ रहे थे: कौन से पूर्णांक समूह अन्य पूर्णांकों को योग के रूप में अद्वितीय रूप से दर्शा सकते हैं? 4 की घात ऐसा एक समूह साबित हुआ, और मोसर-डी ब्रुइन अनुक्रम आप बना सकने वाले सभी संभव योगों को पकड़ता है।
अनुक्रम जोड़ात्मक आधारों के व्यापक अध्ययन में स्थित है—पूर्णांकों के समूह जो जोड़ के माध्यम से अन्य पूर्णांकों का निर्माण कर सकते हैं। कुछ आधार अद्वितीय प्रतिनिधित्व की अनुमति देते हैं (जैसे 4 की घात), जबकि अन्य नहीं। यह समझना कि किन आधारों में क्या गुण हैं, जोड़ात्मक संख्या सिद्धांत में एक सक्रिय शोध क्षेत्र बना हुआ है।
आप इस अनुक्रम को OEIS में A000695 के रूप में पाएंगे, जहां गणितज्ञों ने इसके बाइनरी प्रतिनिधित्व, चतुर्भुज (आधार-4) प्रणाली और संयोजन गुणों से संबंधों को दस्तावेजित किया है। आधुनिक कंप्यूटर विज्ञान ने इसके लिए नए उपयोग खोजे हैं, विशेष रूप से बिट हेरफेर और खाली डेटा संरचनाओं के कुशल एन्कोडिंग में शामिल एल्गोरिदम में।
मोसर-डी ब्रुइजन अनुक्रम जनरेटर को स्वयं लागू करना चाहते हैं? यहाँ लोकप्रिय प्रोग्रामिंग भाषाओं में कुशल कार्यान्वयन दिए गए हैं। प्रत्येक उदाहरण में एक अनुक्रम जनरेटर और एक सदस्यता परीक्षण फ़ंक्शन शामिल है।
1def moser_de_bruijn(n):
2 """मोसर-डी ब्रुइजन अनुक्रम के पहले n पद उत्पन्न करें।"""
3 sequence = []
4 for i in range(n):
5 term = 0
6 power = 1
7 temp = i
8 while temp > 0:
9 if temp & 1: # जाँच करें कि सबसे कम महत्वपूर्ण बिट 1 है या नहीं
10 term += power
11 power *= 4
12 temp >>= 1 # अगले बिट की जाँच के लिए दाएँ शिफ्ट करें
13 sequence.append(term)
14 return sequence
15
16# उपयोग का उदाहरण:
17terms = moser_de_bruijn(20)
18print("मोसर-डी ब्रुइजन अनुक्रम के पहले 20 पद:")
19print(terms)
20# आउटपुट: [0, 1, 4, 5, 16, 17, 20, 21, 64, 65, 68, 69, 80, 81, 84, 85, 256, 257, 260, 261]
21
22def is_moser_de_bruijn(num):
23 """जाँच करें कि क्या एक संख्या अनुक्रम में है।"""
24 while num > 0:
25 digit = num % 4
26 if digit > 1:
27 return False
28 num //= 4
29 return True
30
31# जाँच करें कि 21 अनुक्रम में है या नहीं
32print(f"क्या 21 अनुक्रम में है? {is_moser_de_bruijn(21)}") # सही
33print(f"क्या 22 अनुक्रम में है? {is_moser_de_bruijn(22)}") # गलत
341function moserDeBruijn(n) {
2 const sequence = [];
3 for (let i = 0; i < n; i++) {
4 let term = 0;
5 let power = 1;
6 let temp = i;
7 while (temp > 0) {
8 if (temp & 1) { // जाँच करें कि सबसे कम महत्वपूर्ण बिट 1 है या नहीं
9 term += power;
10 }
11 power *= 4;
12 temp >>= 1; // अगले बिट की जाँच के लिए दाएँ शिफ्ट करें
13 }
14 sequence.push(term);
15 }
16 return sequence;
17}
18
19// उपयोग का उदाहरण:
20const terms = moserDeBruijn(20);
21console.log("मोसर-डी ब्रुइजन अनुक्रम के पहले 20 पद:");
22console.log(terms);
23// आउटपुट: [0, 1, 4, 5, 16, 17, 20, 21, 64, 65, 68, 69, 80, 81, 84, 85, 256, 257, 260, 261]
24
25function isMoserDeBruijn(num) {
26 while (num > 0) {
27 const digit = num % 4;
28 if (digit > 1) {
29 return false;
30 }
31 num = Math.floor(num / 4);
32 }
33 return true;
34}
35
36// विशिष्ट संख्याओं की जाँच करें
37console.log(`क्या 21 अनुक्रम में है? ${isMoserDeBruijn(21)}`); // सही
38console.log(`क्या 22 अनुक्रम में है? ${isMoserDeBruijn(22)}`); // गलत
391import java.util.ArrayList;
2import java.util.List;
3
4public class MoserDeBruijnGenerator {
5
6 public static List<Integer> generateSequence(int n) {
7 List<Integer> sequence = new ArrayList<>();
8 for (int i = 0; i < n; i++) {
9 int term = 0;
10 int power = 1;
11 int temp = i;
12 while (temp > 0) {
13 if ((temp & 1) == 1) { // जाँच करें कि सबसे कम महत्वपूर्ण बिट 1 है या नहीं
14 term += power;
15 }
16 power *= 4;
17 temp >>= 1; // अगले बिट की जाँच के लिए दाएँ शिफ्ट करें
18 }
19 sequence.add(term);
20 }
21 return sequence;
22 }
23
24 public static boolean isMoserDeBruijn(int num) {
25 while (num > 0) {
26 int digit = num % 4;
27 if (digit > 1) {
28 return false;
29 }
30 num /= 4;
31 }
32 return true;
33 }
34
35 public static void main(String[] args) {
36 List<Integer> terms = generateSequence(20);
37 System.out.println("मोसर-डी ब्रुइजन अनुक्रम के पहले 20 पद:");
38 System.out.println(terms);
39
40 System.out.println("क्या 21 अनुक्रम में है? " + isMoserDeBruijn(21)); // सही
41 System.out.println("क्या 22 अनुक्रम में है? " + isMoserDeBruijn(22)); // गलत
42 }
43}
441#include <iostream>
2#include <vector>
3
4std::vector<int> moserDeBruijn(int n) {
5 std::vector<int> sequence;
6 for (int i = 0; i < n; i++) {
7 int term = 0;
8 int power = 1;
9 int temp = i;
10 while (temp > 0) {
11 if (temp & 1) { // जाँच करें कि सबसे कम महत्वपूर्ण बिट 1 है या नहीं
12 term += power;
13 }
14 power *= 4;
15 temp >>= 1; // अगले बिट की जाँच के लिए दाएँ शिफ्ट करें
16 }
17 sequence.push_back(term);
18 }
19 return sequence;
20}
21
22bool isMoserDeBruijn(int num) {
23 while (num > 0) {
24 int digit = num % 4;
25 if (digit > 1) {
26 return false;
27 }
28 num /= 4;
29 }
30 return true;
31}
32
33int main() {
34 std::vector<int> terms = moserDeBruijn(20);
35 std::cout << "मोसर-डी ब्रुइजन अनुक्रम के पहले 20 पद:" << std::endl;
36 for (int term : terms) {
37 std::cout << term << " ";
38 }
39 std::cout << std::endl;
40
41 std::cout << "क्या 21 अनुक्रम में है? " << (isMoserDeBruijn(21) ? "सही" : "गलत") << std::endl;
42 std::cout << "क्या 22 अनुक्रम में है? " << (isMoserDeBruijn(22) ? "सही" : "गलत") << std::endl;
43
44 return 0;
45}
46ये सभी कार्यान्वयन एक ही पैटर्न का पालन करते हैं: एक सूचकांक के बाइनरी प्रतिनिधित्व को बिटवाइज़ संचालन द्वारा पढ़ें, फिर 4 की शक्तियों के योग के रूप में संबंधित पद का निर्माण करें। सदस्यता परीक्षण फ़ंक्शन आधार-4 दृष्टिकोण का उपयोग करते हैं - यह जाँच करते हैं कि अंक 0 और 1 तक ही सीमित हैं।
प्रदर्शन के हिसाब से, ये कार्यान्वयन अत्यधिक कुशल हैं। n पदों को उत्पन्न करने की समय जटिलता O(n × log n) है, क्योंकि प्रत्येक पद के लिए O(log i) बिट्स की जाँच करनी पड़ती है। एक एकल संख्या की सदस्यता की जाँच करने में O(log N) समय लगता है, जहाँ N जाँच की जा रही संख्या है।
नीचे दी गई तालिका पहले 32 पदों को पूर्ण विश्लेषण के साथ दर्शाती है। ध्यान दें कि आधार-4 प्रतिनिधित्व में केवल 0 और 1 हैं, और विघटन सीधे बाइनरी सूचकांकों से मैप होता है:
| सूचकांक | पद | विघटन | आधार-4 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 4⁰ | 1 |
| 2 | 4 | 4¹ | 10 |
| 3 | 5 | 4¹ + 4⁰ | 11 |
| 4 | 16 | 4² | 100 |
| 5 | 17 | 4² + 4⁰ | 101 |
| 6 | 20 | 4² + 4¹ | 110 |
| 7 | 21 | 4² + 4¹ + 4⁰ | 111 |
| 8 | 64 | 4³ | 1000 |
| 9 | 65 | 4³ + 4⁰ | 1001 |
| 10 | 68 | 4³ + 4¹ | 1010 |
| 11 | 69 | 4³ + 4¹ + 4⁰ | 1011 |
| 12 | 80 | 4³ + 4² | 1100 |
| 13 | 81 | 4³ + 4² + 4⁰ | 1101 |
| 14 | 84 | 4³ + 4² + 4¹ | 1110 |
| 15 | 85 | 4³ + 4² + 4¹ + 4⁰ | 1111 |
| 16 | 256 | 4⁴ | 10000 |
| 17 | 257 | 4⁴ + 4⁰ | 10001 |
| 18 | 260 | 4⁴ + 4¹ | 10010 |
| 19 | 261 | 4⁴ + 4¹ + 4⁰ | 10011 |
| 20 | 272 | 4⁴ + 4² | 10100 |
| 21 | 273 | 4⁴ + 4² + 4⁰ | 10101 |
| 22 | 276 | 4⁴ + 4² + 4¹ | 10110 |
| 23 | 277 | 4⁴ + 4² + 4¹ + 4⁰ | 10111 |
| 24 | 320 | 4⁴ + 4³ | 11000 |
| 25 | 321 | 4⁴ + 4³ + 4⁰ | 11001 |
| 26 | 324 | 4⁴ + 4³ + 4¹ | 11010 |
| 27 | 325 | 4⁴ + 4³ + 4¹ + 4⁰ | 11011 |
| 28 | 336 | 4⁴ + 4³ + 4² | 11100 |
| 29 | 337 | 4⁴ + 4³ + 4² + 4⁰ | 11101 |
| 30 | 340 | 4⁴ + 4³ + 4² + 4¹ | 11110 |
| 31 | 341 | 4⁴ + 4³ + 4² + 4¹ + 4⁰ | 11111 |
आइए पद 21 को पूरी तरह से तोड़कर देखें:
पैटर्न दिखाई देता है? बाइनरी सूचकांक (111) सीधे यह बताता है कि 4 की किन घातों को शामिल करना है। प्रत्येक "1" बिट आपको बताता है कि उस घात को शामिल करना है।
अनुक्रम घातीय रूप से बढ़ता है—n-वां पद मोटे तौर पर 4^(log₂(n)) के समानुपाती होता है। इसका व्यावहारिक अर्थ क्या है?
जैसे-जैसे संख्याएं बड़ी होती जाती हैं, अनुक्रम अधिक से अधिक विरल होता जाता है। आप अधिक से अधिक पूर्णांकों को छोड़ते जाते हैं। इस विरलता के बावजूद, अनुक्रम में अनंत पद हैं—यह कभी नहीं रुकता।
OEIS A000695 - मोसर-डी ब्रुइन अनुक्रम। ऑनलाइन पूर्णांक अनुक्रमों का विश्वकोष। अनुक्रम के व्यापक डेटा और गुण।
डी ब्रुइन, एन. जी. "पूर्णांकों के सेट पर आधार के बारे में।" पब्लिकेशन्स मैथेमेटिका डेब्रेसेन, खंड 1, 1950, पृष्ठ 232-242। योगात्मक आधारों के मूल गुणों को स्थापित करने वाला मौलिक पेपर।
मोसर, लियो। "जनरेटिंग श्रृंखला का एक अनुप्रयोग।" गणित पत्रिका, खंड 35, संख्या 1, 1962, पृष्ठ 37-38। अनुक्रम के जनरेटिंग फ़ंक्शन की शुरुआती खोज।
स्टोलार्स्की, केनेथ बी. "बाइनोमियल गुणांक समता से संबंधित डिजिटल योग के शक्ति और घातांक।" SIAM जर्नल ऑफ एप्लाइड गणित, खंड 32, संख्या 4, 1977, पृष्ठ 717-730। मोसर-डी ब्रुइन जैसे अनुक्रमों से संबंधित डिजिटल योग के गुणों की खोज।
अलूश, जीन-पॉल, और जेफ्री शालित। स्वचालित अनुक्रम: सिद्धांत, अनुप्रयोग, सामान्यीकरण। कैम्ब्रिज विश्वविद्यालय प्रेस, 2003। स्वचालित अनुक्रमों के अध्याय कवरेज, जिसमें मोसर-डी ब्रुइन अनुक्रम से संबंध शामिल हैं।
योग-मुक्त सेट - विकिपीडिया। योगात्मक संख्या सिद्धांत के व्यापक गणितीय संदर्भ की पृष्ठभूमि।
योगात्मक आधार - विकिपीडिया। पूर्णांकों को योग के रूप में दर्शाने वाले सेटों का अवलोकन।
अनुक्रम के कई अनुप्रयोग हैं: संख्या सिद्धांत अनुसंधान में योग्य आधार की खोज, संयोजन विज्ञान में योग-मुक्त समुच्चय, कंप्यूटर विज्ञान शिक्षा (विशेष रूप से बिटवाइज ऑपरेशन और कुशल एल्गोरिदम सिखाने के लिए), और गणितीय पैटर्न विश्लेषण। यह विभिन्न संख्या आधारों के बीच संबंधों को समझने के लिए एक शानदार शिक्षण उपकरण भी है।
0 से शुरू करते हुए प्रत्येक सूचकांक n को बाइनरी में परिवर्तित करें, फिर प्रत्येक "1" बिट को उसके संबंधित 4 की घात से बदल दें। उदाहरण के लिए, सूचकांक 5 का बाइनरी प्रतिनिधित्व 101 है, इसलिए आप 4² + 4⁰ = 16 + 1 = 17 की गणना करते हैं। यह 5वां पद है (0 सूचकांक से गिनते हुए)।
अनुक्रम में प्रत्येक संख्या की एक विशिष्ट विशेषता है: इसका आधार-4 प्रतिनिधित्व केवल 0 और 1 से बना होता है - कभी भी 2 या 3 नहीं। इसका मतलब है कि आप प्रत्येक पद को 4 की घात जोड़कर बना सकते हैं जहां प्रत्येक घात अधिकतम एक बार दिखाई देती है। यह बाइनरी जैसा है, लेकिन 2 की घात के बजाय 4 की घात का उपयोग करते हुए।
अपनी संख्या को आधार-4 में परिवर्तित करें और अंकों को देखें। यदि आप केवल 0 और 1 देखते हैं, तो यह अनुक्रम में है। यदि कोई अंक 2 या 3 है, तो यह नहीं है। उदाहरण के लिए, आधार-4 में 21 111 (सभी 1 और 0) है, इसलिए यह अंदर है। लेकिन आधार-4 में 22 112 (एक 2 शामिल) है, इसलिए यह नहीं है।
n-वें पद M(n) इस सूत्र का पालन करता है: M(n) = Σ(b_i × 4^i), जहां b_i n के बाइनरी अंकों का प्रतिनिधित्व करता है। सरल भाषा में: n को बाइनरी में लिखें, फिर प्रत्येक स्थान पर जहां 1 है, संबंधित 4 की घात जोड़ें।
हाँ, यह हमेशा के लिए चलता रहता है। मोसर-डी ब्रुइन अनुक्रम में अनंत पद हैं। हालांकि, जैसे-जैसे आप ऊपर जाते हैं, अनुक्रम अधिक से अधिक विरल होता जाता है - आप अनुक्रम सदस्यों के बीच अधिक से अधिक नियमित पूर्णांक को छोड़ते जाते हैं।
बाइनरी अनुक्रम (2 की घात का योग) हर गैर-ऋणात्मक पूर्णांक का प्रतिनिधित्व कर सकते हैं - यही बाइनरी प्रतिनिधित्व करता है। मोसर-डी ब्रुइन अनुक्रम 4 की घात का उपयोग करता है, जो एक बहुत अधिक विरल समुच्चय बनाता है। अधिकांश पूर्णांक मोसर-डी ब्रुइन अनुक्रम में नहीं आते।
लियो मोसर (1921-1970), एक ऑस्ट्रियाई-कनाडाई गणितज्ञ, और निकोलास गोवर्ट डी ब्रुइन (1918-2012), एक डच गणितज्ञ, दोनों ने 1960 के दशक में योग्य संख्या सिद्धांत में अनुसंधान के हिस्से के रूप में इस अनुक्रम का गहराई से अध्ययन किया। अनुक्रम दोनों के नाम पर रखा गया है।
यह जनरेटर पूरी तरह से आपके ब्राउज़र में चलता है—कोई इंस्टॉलेशन नहीं, कोई पंजीकरण नहीं, कोई प्रतीक्षा नहीं। चाहे आप एक छात्र हों जो संख्या प्रणालियों के बारे में सीख रहे हैं, एक शोधकर्ता जो योगात्मक आधारों की खोज कर रहे हैं, या बस गणितीय रूप से जिज्ञासु, आप तुरंत शब्द उत्पन्न कर सकते हैं और स्वयं पैटर्न देख सकते हैं। विभिन्न मात्राएँ उत्पन्न करके देखें कि अनुक्रम कैसे बढ़ता है और कौन से पूर्णांक शामिल होते हैं।
अपने वर्कफ़्लो के लिए उपयोगी हो सकने वाले और अधिक उपकरण खोजें।