মোসার-ডি ব্রুইন সিকোয়েন্স জেনারেটর | ৪-এর পাওয়ার ক্যালকুলেটর
মোসার-ডি ব্রুইন সিকোয়েন্স তৎক্ষণাৎ তৈরি করুন। শুধুমাত্র ০ এবং ১ ব্যবহার করে ৪-এর পাওয়ারের পৃথক সমষ্টি গণনা করুন। গণিত শিক্ষা এবং গবেষণার জন্য বিনামূল্যের অনলাইন টুল।
মোসার-ডি ব্রুইন সিকোয়েন্স জেনারেটর
উত্পন্ন সিকোয়েন্স
ডকুমেন্টেশন
মোসার-ডি ব্রুইন সিকোয়েন্স কী?
মোসার-ডি ব্রুইন সিকোয়েন্স এমন সংখ্যাগুলি নিয়ে গঠিত যা 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-এর পাওয়ার নিয়ে কাজ করছেন। এটি একটি অনেক কম ঘনত্বপূর্ণ সিকোয়েন্স তৈরি করে যেহেতু বেশিরভাগ পূর্ণসংখ্যা বাদ পড়ে।
মোসার-ডি ব্রুইন সিকোয়েন্স জেনারেটর ব্যবহার করার নিয়ম
এই জেনারেটর ব্যবহার করা খুবই সহজ:
- আপনি কতগুলি পদ চান তা লিখুন (ফাঁকা রাখলে ডিফল্ট 20 হবে)
- সিকোয়েন্স গণনা করতে "Generate" বাটনে ক্লিক করুন
- আপনার ফলাফল তৎক্ষণাৎ নীচে তালিকায় দেখা যাবে
- আলাদা সংখ্যা চাইলে, ইনপুট পরিবর্তন করে আবার তৈরি করুন
গণনাগুলি সম্পূর্ণরূপে আপনার ব্রাউজারে জাভাস্ক্রিপ্ট ব্যবহার করে চলে, তাই কোনো সার্ভার বিলম্ব বা ইন্টারনেট নির্ভরতা নেই—এটি দ্রুত এবং পৃষ্ঠা লোড হওয়ার পর অফলাইনেও কাজ করে।
ইনপুট যাচাইকরণ এবং সীমাবদ্ধতা
জেনারেটর ত্রুটি প্রতিরোধে আপনার ইনপুট যাচাই করে:
- অবশ্যই একটি ধনাত্মক পূর্ণসংখ্যা হতে হবে (দশমিক বা ঋণাত্মক মান নয়)
- ব্রাউজার মন্থর হওয়া রোধে সর্বাধিক 1000 পদ
- সংখ্যাবিহীন এন্ট্রি একটি ত্রুটি বার্তা ট্রিগার করবে
- ফাঁকা রাখলে ডিফল্ট 20 পদ পাবেন
1000 পদের সীমা কেন? যদিও অ্যালগরিদমটি দক্ষ, হাজার হাজার পদ তৈরি করলে ব্রাউজার মেমরি, বিশেষ করে মোবাইল ডিভাইসে, চাপে পড়তে পারে। বাস্তবে, বেশিরভাগ গাণিতিক বিশ্লেষণ বা শিক্ষাগত উদ্দেশ্যে আপনার 100-200 পদের বেশি প্রয়োজন হবে না।
মোসার-ডি ব্রুইন সিকোয়েন্স সূত্রের বোঝা
আপনি মোসার-ডি ব্রুইন সিকোয়েন্সটিকে তিনটি সমতুল্য উপায়ে সংজ্ঞায়িত করতে পারেন, যেগুলি বিভিন্ন দৃষ্টিকোণ প্রদান করে:
সিকোয়েন্সটিকে সংজ্ঞায়িত করার তিনটি উপায়
যোগাত্মক ফর্ম (৪-এর ঘাত): একটি সংখ্যা n সিকোয়েন্সের অন্তর্ভুক্ত যখন আপনি এটিকে এইভাবে লিখতে পারেন: যেখানে S হল অসংখ্য অসঙ্গত পূর্ণসংখ্যার সেট। ৪-এর প্রত্যেক ঘাত একবার বা কোনো বার নাও থাকতে পারে—পুনরাবৃত্তি অনুমোদিত নয়।
বেস-৪ প্রতিনিধিত্ব (সবচেয়ে সহজ পরীক্ষা): একটি সংখ্যাকে বেস-৪-এ রূপান্তর করুন। যদি আপনি শুধু ০ এবং ১ দেখেন (২ বা ৩ নয়), তাহলে এটি সিকোয়েন্সের অন্তর্ভুক্ত। এটি হাতে সদস্যপদ পরীক্ষা করার দ্রুততম উপায়।
বাইনারি সংশ্লেষণ (কম্পিউটিংয়ের জন্য সবচেয়ে ব্যবহারিক): n-তম পদ (n=0 থেকে শুরু করে) খুঁজতে: যেখানে হল n-এর বাইনারি অঙ্ক। ব্যাখ্যা: আপনার সূচকের বাইনারি প্রতিনিধিত্ব নিন, তারপর প্রত্যেক "১" বিটকে সংশ্লিষ্ট ৪-এর ঘাতে বদলান।
কাজের উদাহরণ
দেখি এই সংজ্ঞাগুলি কীভাবে কাজ করে:
- n = 0 (বাইনারি: 0) → M(0) = 0
- n = 1 (বাইনারি: 1) → M(1) = 4⁰ = 1
- n = 2 (বাইনারি: 10) → M(2) = 4¹ = 4
- n = 3 (বাইনারি: 11) → M(3) = 4¹ + 4⁰ = 5
- n = 5 (বাইনারি: 101) → M(5) = 4² + 4⁰ = 17
বাইনারি সংশ্লেষণ পদ্ধতিটি হল যা এই জেনারেটর পিছনে ব্যবহার করে—এটি কম্পিউটেশনাল দিক দিয়ে দক্ষ কারণ বিটওয়াইজ অপারেশনগুলি দ্রুত।
মোসার-ডি ব্রুইন সিকোয়েন্স গণনা
জেনারেটরের পিছনের অ্যালগরিদম
জেনারেটর বাইনারি সংযোগ ব্যবহার করে কারণ এটি দ্রুত এবং সরল:
ধাপ-বাই-ধাপ প্রক্রিয়া:
- প্রত্যেক সূচক i কে 0 থেকে n-1 পর্যন্ত লুপ করুন (n হল আপনার অনুরোধ করা শর্ত সংখ্যা)
- সূচক i এর জন্য, তার বাইনারি প্রতিনিধিত্ব দেখুন
- প্রত্যেক "1" বিট অবস্থান j এর জন্য, 4^j চলমান মোট যোগ করুন
- সেই যোগফল i-তম শর্ত হয়
কাজ করা উদাহরণ: 6ষ্ঠ শর্ত (সূচক 5) খুঁজে বের করা
M(5) ধাপে ধাপে গণনা করি:
- সূচক 5 বাইনারিতে: 101
- বিট 0 (ডানদিকের) = 1 → 4⁰ = 1 যোগ করুন
- বিট 1 (মাঝখানের) = 0 → কিছু যোগ করবেন না
- বিট 2 (বাঁদিকের) = 1 → 4² = 16 যোগ করুন
- শেষ ফলাফল: 1 + 16 = 17
এই পদ্ধতি ভাল মাপকাঠিতে পরিমাপ করে। বড় সূচকের জন্য, আপনি মূলত বিট শিফটিং এবং যোগ করছেন—অপারেশন যা আধুনিক প্রসেসররা অত্যন্ত দ্রুত পরিচালনা করে।
সিকোয়েন্সে কোনো সংখ্যা আছে কিনা পরীক্ষা করা
আপনি কি নির্দিষ্ট সংখ্যাটি মোসার-ডি ব্রুইন সিকোয়েন্সে আছে কিনা পরীক্ষা করতে চান? বেস-4 পরীক্ষা ব্যবহার করুন:
- আপনার সংখ্যাটিকে বেস-4 এ রূপান্তর করুন
- অংকগুলি স্ক্যান করুন—শুধু 0 এবং 1 দেখছেন কি?
- যদি হ্যাঁ, তাহলে এটি সিকোয়েন্সে আছে। যদি 2 বা 3 দেখতে পান, তাহলে নেই।
উদাহরণ: 85 কি সিকোয়েন্সে আছে?
- 85 বেস-4 এ: 1111 (64 + 16 + 4 + 1)
- শুধু 1 এবং 0 ধারণ করে → হ্যাঁ, 85 সিকোয়েন্সে আছে
বিপরীত উদাহরণ: 90 কি সিকোয়েন্সে আছে?
- 90 বেস-4 এ: 1122
- 2 অংক ধারণ করে → না, 90 সিকোয়েন্সে নেই
জেনারেটর জাভাস্ক্রিপ্টের বাইটওয়াইজ অপারেটরগুলি ব্যবহার করে, যা ভাষার মূল এবং আধুনিক ব্রাউজারগুলিতে অত্যন্ত অনুকূলিত।
একক এবং সঠিকতা সম্পর্কে কী?
মোসার-ডি ব্রুইন সিকোয়েন্স শুদ্ধ পূর্ণসংখ্যা নিয়ে কাজ করে:
- সমস্ত শর্ত অসঙ্গত পূর্ণসংখ্যা (0, 1, 4, 5, 16, ইত্যাদি)
- কোনো একক, দশমিক, বা রাউন্ডিং জড়িত নয়
- ফলাফল গাণিতিকভাবে সঠিক—প্রতিবার সঠিক পূর্ণসংখ্যা পাবেন
- বৃদ্ধি পরাবলক: n-তম শর্ত প্রায় 4^(⌊log₂(n)⌋+1) - 1 পর্যন্ত পৌঁছতে পারে
এই পরাবলক বৃদ্ধি মানে সিকোয়েন্সটি দ্রুত বড় হয়। 20তম শর্ত ইতিমধ্যে 340, এবং 100তম শর্ত মিলিয়নের সংখ্যায় পৌঁছে যাবে।
বাস্তব-পৃথিবীর প্রয়োগ এবং ব্যবহার ক্ষেত্রসমূহ
শিক্ষা এবং শেখা
সংখ্যা সিস্টেম শিক্ষা: যখন আমি শ্রেণীকক্ষে এটি ব্যবহার করেছি, ছাত্ররা মোসার-ডি ব্রুইন সিকোয়েন্সের সাথে খেলতে পেরে বেস রূপান্তর বুঝতে অনেক দ্রুত সক্ষম হয়। এটি বাইনারি (বেস ২) এবং আরো জটিল সংখ্যা সিস্টেমের মধ্যে সেতু তৈরি করে। ছাত্ররা তৎক্ষণাৎ দেখতে পায় যে বেস পরিবর্তন করলে সিকোয়েন্সের ঘনত্ব কীভাবে পরিবর্তিত হয়।
বাইটওয়াইজ অপারেশন বোঝা: কম্পিউটার বিজ্ঞান ছাত্ররা বাইনারি প্রতিনিধিত্ব এবং গাণিতিক সিকোয়েন্সের সরাসরি সংযোগ দেখতে উপকৃত হয়। এই অ্যালগরিদমটি দেখায় যে কীভাবে বিট ম্যানিপুলেশন বাস্তব গাণিতিক বস্তুতে অনুবাদিত হয়—শুধুমাত্র বিমূর্ত অপারেশন নয়।
গবেষণা এবং বিশ্লেষণ
সংযোজন এবং সাম-মুক্ত সেট: যোগাত্মক বেস অধ্যয়নকারী গবেষকরা এই ধরনের সিকোয়েন্সগুলি ব্যবহার করে যে সেটগুলি অনন্য প্রতিনিধিত্ব অনুমোদন করে। মোসার-ডি ব্রুইন সিকোয়েন্সটি হল এক ধরনের সেটের একটি পাঠ্য উদাহরণ যেখানে প্রত্যেক প্রতিনিধেয় সংখ্যার সম্পূর্ণ একটি প্রতিনিধিত্ব থাকে।
যোগাত্মক সংখ্যা তত্ত্ব: সিকোয়েন্সটি তদন্ত করে যে কীভাবে পূর্ণসংখ্যাগুলি যোগফলে বিভক্ত হতে পারে। এটি অনলাইন পূর্ণসংখ্যা সিকোয়েন্স বিশ্বকোষ (OEIS)-এ A000695 হিসাবে তালিকাভুক্ত।
ব্যবহারিক প্রোগ্রামিং
অ্যালগরিদম ডিজাইন: জেনারেশন অ্যালগরিদমটি দক্ষ সিকোয়েন্স নির্মাণ প্রদর্শন করে। আপনি সর্বূন্ন কম কম্পিউটেশনাল অভিব্যয়ে হাজার হাজার পদ তৈরি করতে পারেন, যা অ্যালগরিদম বেঞ্চমার্কিং বা দক্ষ কোড প্যাটার্ন শেখার জন্য উপযোগী।
প্যাটার্ন সনাক্তকরণ কাজ: যখন স্পার্স পূর্ণসংখ্যা সেট বা ডেটা সংকোচন স্কিমের সাথে কাজ করা হয়, মোসার-ডি ব্রুইন এর মতো সিকোয়েন্সগুলি কীভাবে আচরণ করে তা বোঝা এনকোডিং কৌশল সম্পর্কে সিদ্ধান্ত গ্রহণে সাহায্য করে।
সম্পর্কিত গাণিতিক ক্রমগুলি
যদি মোসার-ডি ব্রুইন ক্রম আপনার আগ্রহ জাগায়, তাহলে এই সম্পর্কিত ক্রমগুলি অনুরূপ প্যাটার্ন প্রদান করে বিভিন্ন ভিত্তি বা সীমাবদ্ধতার সাথে:
সরাসরি সম্পর্কিত
২-এর ঘাত (OEIS A000079): ১, ২, ৪, ৮, ১৬, ৩২... সবচেয়ে সরল যোগাত্মক ভিত্তি। প্রতিটি ২-এর ঘাত সঠিকভাবে একবার প্রকাশ পায়, বাইনারি সংখ্যার মৌলিক গঠন করে।
সমস্ত অ-ঋণাত্মক পূর্ণসংখ্যা (বাইনারি যোগ): ০, ১, ২, ৩, ৪, ৫, ৬, ৭... যখন আপনি পৃথক ২-এর ঘাতের যেকোনো যোগ অনুমোদন করেন, আপনি প্রতিটি সম্ভাব্য পূর্ণসংখ্যা পান—এটিই বাইনারি প্রতিনিধিত্বের কাজ।
পৃথক ৩-এর ঘাতের যোগ (OEIS A005836): ০, ১, ৩, ৪, ৯, ১০, ১২, ১৩... মোসার-ডি ব্রুইন-এর সমান ধারণা, কিন্তু ৪-এর পরিবর্তে ৩-এর ঘাত ব্যবহার করে। এগুলি সেই সংখ্যা যার বেস-৩ প্রতিনিধিত্বে শুধুমাত্র ০ এবং ১ রয়েছে।
আকর্ষণীয় রূপান্তর
ফিব্বিনারি সংখ্যা (OEIS A003714): ০, ১, ২, ৪, ৫, ৮, ৯, ১০... সেই সংখ্যাগুলি যার বাইনারি রূপে পাশাপাশি কোনো ১ থাকে না। ফিবোনাচ্চি সংখ্যা পদ্ধতি এবং জেকেনডর্ফ-এর উপপাদ্যের সাথে সংযুক্ত।
স্ট্যানলি ক্রম: মোসার-ডি ব্রুইন-এর বেস-৩ সমতুল্য—সেই সংখ্যাগুলি যার বেস-৩ প্রতিনিধিত্বে কোনো ১ নেই (শুধুমাত্র ০ এবং ২ অনুমোদিত)।
আরও জানতে কোথায় যাবেন
অনলাইন পূর্ণসংখ্যা ক্রম বিশ্বকোষ (OEIS) লক্ষ লক্ষ ক্রম সংকলন করে। "যোগাত্মক ভিত্তি," "যোগ-মুক্ত সেট," বা "পৃথক ঘাত" মতো পদগুলি অনুসন্ধান করে সম্পর্কিত ক্রম খুঁজে পাবেন। মোসার-ডি ব্রুইন ক্রমটি নিজেই OEIS ডাটাবেসে A000695 হিসাবে রয়েছে।
ঐতিহাসিক পটভূমি
সিকোয়েন্সের পিছনে গণিতবিদরা
লিও মোসার (১৯২১-১৯৭০) এবং নিকোলাস গোভার্ট দে ব্রুইন (১৯১৮-২০১২) উভয়েই গণিতে স্থায়ী অবদান রেখেছিলেন, যদিও তাঁরা ভিন্ন পটভূমি থেকে এসেছিলেন। মোসার, একজন অস্ট্রিয়ান-কানাডিয়ান গণিতবিদ, সংখ্যা তত্ত্ব, সংযোজন এবং জ্যামিতিতে ব্যাপকভাবে কাজ করেছিলেন—আপনি হয়তো তাঁর নাম এর্ডোশ–মোসার সমীকরণ থেকে চিনতে পারেন। দে ব্রুইন, একজন ডাচ গণিতবিদ, সংযোজন, গ্রাফ তত্ত্ব এবং কম্পিউটার বিজ্ঞানে তাঁর চিহ্ন রেখে গেছেন। তাঁর দে ব্রুইন সিকোয়েন্স (এটি থেকে আলাদা) কোডিং তত্ত্বে মৌলিক এবং আজও ব্যাপকভাবে ব্যবহৃত হয়।
তাঁদের নামানুসারে সিকোয়েন্সটি ১৯৬০-এর দশকে যোগাত্মক সংখ্যা তত্ত্বের অনুসন্ধানের সময় উদ্ভূত হয়েছিল। গণিতবিদরা জিজ্ঞাসা করছিলেন: কোন সংখ্যা সেট অন্য সংখ্যাগুলিকে অনন্য ভাবে যোগফল হিসেবে প্রতিনিধিত্ব করতে দেয়? ৪-এর ঘাত গুলি একটি এমন সেট হিসেবে প্রমাণিত হয়, এবং মোসার-দে ব্রুইন সিকোয়েন্সটি আপনি যে সমস্ত যোগফল তৈরি করতে পারেন সেগুলিকে ধারণ করে।
এর গুরুত্ব
সিকোয়েন্সটি যোগাত্মক ভিত্তি এর ব্যাপক অধ্যয়নের মধ্যে রয়েছে—সংখ্যা সেটগুলি যা যোগের মাধ্যমে অন্য সংখ্যা তৈরি করতে পারে। কিছু ভিত্তি অনন্য প্রতিনিধিত্ব অনুমোদন করে (যেমন ৪-এর ঘাত), অন্যগুলি করে না। কোন ভিত্তিগুলোর কী বৈশিষ্ট্য রয়েছে তা বোঝা যোগাত্মক সংখ্যা তত্ত্বের একটি সক্রিয় গবেষণা ক্ষেত্র রয়ে গেছে।
আপনি এই সিকোয়েন্সটি OEIS-এ A000695 হিসেবে পাবেন, যেখানে গণিতবিদরা বাইনারি প্রতিনিধিত্ব, চতুর্ভুজ (বেস-৪) সিস্টেম এবং সংযোজন বৈশিষ্ট্যগুলির সংযোগ নথিভুক্ত করেছেন। আধুনিক কম্পিউটার বিজ্ঞান এর জন্য নতুন ব্যবহার খুঁজে পেয়েছে, বিশেষ করে বিট ম্যানিপুলেশন এবং স্পার্স ডেটা স্ট্রাকচার এর দক্ষ এনকোডিংয়ের অ্যালগরিদমে।
কোড বাস্তবায়ন উদাহরণ
মোসার-ডি ব্রুইন সিকোয়েন্স জেনারেটর নিজেই বাস্তবায়ন করতে চান? এখানে জনপ্রিয় প্রোগ্রামিং ভাষাগুলিতে দক্ষ বাস্তবায়ন রয়েছে। প্রতিটি উদাহরণে একটি সিকোয়েন্স জেনারেটর এবং সদস্যত্ব পরীক্ষা ফাংশন অন্তর্ভুক্ত রয়েছে।
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)}") # True
33print(f"22 কি সিকোয়েন্সে আছে? {is_moser_de_bruijn(22)}") # False
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)}`); // true
38console.log(`22 কি সিকোয়েন্সে আছে? ${isMoserDeBruijn(22)}`); // false
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)); // true
41 System.out.println("22 কি সিকোয়েন্সে আছে? " + isMoserDeBruijn(22)); // false
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) ? "true" : "false") << std::endl;
42 std::cout << "22 কি সিকোয়েন্সে আছে? " << (isMoserDeBruijn(22) ? "true" : "false") << std::endl;
43
44 return 0;
45}
46মূল বাস্তবায়ন অন্তর্দৃষ্টি
সমস্ত এই বাস্তবায়নগুলি একই প্যাটার্ন অনুসরণ করে: একটি সূচকের বাইনারি প্রতিনিধিত্বকে বিটওয়াইজ অপারেশন ব্যবহার করে পড়ুন, তারপর 4-এর পাওয়ারের সমতুল্য যোগফল তৈরি করুন। সদস্যত্ব পরীক্ষা ফাংশনগুলি বেস-4 পদ্ধতি ব্যবহার করে - যে ডিজিটগুলি 0 এবং 1-এ সীমাবদ্ধ তা পরীক্ষা করে।
কর্মক্ষমতা দিক থেকে, এই বাস্তবায়নগুলি অত্যন্ত দক্ষ। n টি পদ তৈরির জন্য সময় জটিলতা হল O(n × log n), কারণ প্রতিটি পদ O(log i) বিট পরীক্ষা করতে প্রয়োজন। একটি সংখ্যার সদস্যত্ব পরীক্ষা করা হল O(log N) যেখানে N পরীক্ষাধীন সংখ্যা।
বিস্তারিত সংখ্যাগত উদাহরণ
নিচের টেবিলটি প্রথম ৩২ পদ সম্পূর্ণ বিশ্লেষণ সহ দেখায়। লক্ষ্য করুন কীভাবে বেস-৪ প্রতিনিধিত্বটিতে শুধুমাত্র ০ এবং ১ রয়েছে, এবং কীভাবে বিশ্লেষণটি সরাসরি বাইনারি সূচকগুলিতে মানিয়ে যায়:
| সূচক | পদ | বিশ্লেষণ | বেস-৪ |
|---|---|---|---|
| 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 |
পদ ২১-এর বিস্তারিত পর্যালোচনা
পদ ২১-কে সম্পূর্ণভাবে বিশ্লেষণ করি:
- দশমিক মান: ২১
- বেস-৪ প্রতিনিধিত্ব: ১১১ (শুধুমাত্র ০ এবং ১ ব্যবহার করে ✓)
- ক্রমের সূচক: ৭
- বাইনারি সূচক: ১১১ (৭-এর বাইনারি)
- বিশ্লেষণ: ২১ = ১৬ + ৪ + ১ = ৪² + ৪¹ + ৪⁰
কি পাটার্ন দেখতে পাচ্ছেন? বাইনারি সূচক (১১১) সরাসরি বেস-৪ পাওয়ারগুলিকে অন্তর্ভুক্ত করতে বলে। প্রত্যেক "১" বিট আপনাকে সেই পাওয়ার অন্তর্ভুক্ত করতে বলে।
বৃদ্ধি পাটার্ন পর্যবেক্ষণ
ক্রম বহুগুণিতকভাবে বাড়ে—n-তম পদটি মোটামুটি ৪^(log₂(n)) অনুপাতে। এর অর্থ ব্যবহারিকভাবে কী?
- ১০ নম্বর পদে, আপনি ৬৮-এ
- ২০ নম্বর পদে, ২৭২-তে পৌঁছান
- ১০০ নম্বর পদে, আপনি মিলিয়নে
যখন সংখ্যাগুলি বড় হয়, ক্রমটি ক্রমশ বিরল হয়ে পড়ে। আপনি আরও বেশি পূর্ণসংখ্যা এড়িয়ে যাচ্ছেন। এই বিরলতা সত্ত্বেও, ক্রমটিতে অসীম পদ রয়েছে—এটি কখনও বাড়া বন্ধ করবে না।
রেফারেন্স এবং আরও পড়ার জন্য
প্রাথমিক সূত্রসমূহ
-
OEIS A000695 - মোসার-ডি ব্রুইন সিকোয়েন্স। ইন্টিজার সিকোয়েন্সের অনলাইন বিশ্বকোষ। সিকোয়েন্সের সম্পূর্ণ তথ্য এবং বৈশিষ্ট্য।
-
ডি ব্রুইন, এন. জি. "ইন্টিজারের সেটের উপর ভিত্তিসমূহ সম্পর্কে।" পাবলিকাশন মাথেমাটিকা ডেব্রেসেন, খণ্ড ১, ১৯৫০, পৃষ্ঠা ২৩২-২৪২। যোগাত্মক ভিত্তির মৌলিক বৈশিষ্ট্য প্রতিষ্ঠাকারী প্রবন্ধ।
-
মোসার, লিও। "জেনারেটিং সিরিজের একটি প্রয়োগ।" গণিত পত্রিকা, খণ্ড ৩৫, সংখ্যা ১, ১৯৬২, পৃষ্ঠা ৩৭-৩৮। সিকোয়েন্সের জেনারেটিং ফাংশন অন্বেষণকারী প্রাথমিক কাজ।
অতিরিক্ত গাণিতিক প্রেক্ষাপট
-
স্টোলার্সকি, কেনেথ বি. "বাইনোমিয়াল সহগ পারিটি সম্পর্কিত ডিজিটাল সমের পাওয়ার ও এক্সপোনেনশিয়াল।" SIAM জার্নাল অন অ্যাপ্লাইড গণিত, খণ্ড ৩২, সংখ্যা ৪, ১৯৭৭, পৃষ্ঠা ৭১৭-৭৩০। মোসার-ডি ব্রুইন সিকোয়েন্সের মতো সিকোয়েন্সের ডিজিটাল সমের বৈশিষ্ট্য অন্বেষণ।
-
আলুশ, জিন-পল, এবং জেফ্রি শালিট। স্বয়ংক্রিয় সিকোয়েন্স: তত্ত্ব, প্রয়োগ, সাধারণীকরণ। কেমব্রিজ বিশ্ববিদ্যালয় প্রেস, ২০০৩। মোসার-ডি ব্রুইন সিকোয়েন্সের সংযোগ সহ স্বয়ংক্রিয় সিকোয়েন্সের অধ্যায় কভারেজ।
সংশ্লিষ্ট ধারণাসমূহ
-
সাম-ফ্রি সেট - উইকিপিডিয়া। যোগাত্মক সংখ্যা তত্ত্বের বিস্তৃত গাণিতিক প্রেক্ষাপট।
-
যোগাত্মক ভিত্তি - উইকিপিডিয়া। যোগফলের মাধ্যমে ইন্টিজার উপস্থাপনকারী সেটের সংক্ষিপ্ত বিবরণ।
প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী
মোসার-দে ব্রুইন সিকোয়েন্স কী ব্যবহৃত হয়?
সিকোয়েন্সটির বেশ কয়েকটি প্রয়োগ রয়েছে: সংযোজনী ভিত্তিক গবেষণা, যোগ-মুক্ত সেট সম্পর্কিত সংমিশ্রণ কাজ, কম্পিউটার বিজ্ঞান শিক্ষা (বিশেষ করে বাইটওয়াইজ অপারেশন এবং দক্ষ অ্যালগরিদম শেখানোর জন্য), এবং গাণিতিক পাটার্ন বিশ্লেষণ। এটি বিভিন্ন সংখ্যা ভিত্তি কীভাবে একে অপরের সাথে সম্পর্কিত তা বুঝতে একটি দুর্দান্ত শিক্ষণ সরঞ্জাম।
মোসার-দে ব্রুইন সিকোয়েন্স কীভাবে তৈরি করা হয়?
প্রত্যেক সূচক n-কে 0 থেকে শুরু করে, বাইনারিতে রূপান্তর করুন, তারপর প্রত্যেক "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 তম পদের সূত্রটি কী?
n তম পদ M(n) এই সূত্রটি অনুসরণ করে: M(n) = Σ(b_i × 4^i), যেখানে b_i n-এর বাইনারি অংকগুলিকে প্রতিনিধিত্ব করে। সরল ভাষায়: n-কে বাইনারিতে লিখুন, তারপর প্রত্যেক অবস্থানে 1 থাকলে, সংশ্লিষ্ট 4-এর ঘাত যোগ করুন।
সিকোয়েন্সটি কি অসীম?
হ্যাঁ, এটি চিরকাল চলবে। মোসার-দে ব্রুইন সিকোয়েন্সে অসীম পদ রয়েছে। যাইহোক, আপনি যত উপরে যাবেন, সিকোয়েন্সটি ক্রমশ বিরল হয়ে উঠবে—আপনি সিকোয়েন্সের সদস্যগুলির মধ্যে আরও বেশি নিয়মিত পূর্ণসংখ্যা বাদ দিচ্ছেন।
এটি বাইনারি সিকোয়েন্স থেকে কীভাবে আলাদা?
বাইনারি সিকোয়েন্স (2-এর ঘাতের যোগ) প্রত্যেক অ-ঋণাত্মক পূর্ণসংখ্যাকে প্রতিনিধিত্ব করতে পারে—এটিই বাইনারি প্রতিনিধিত্বের কাজ। মোসার-দে ব্রুইন সিকোয়েন্সটি 4-এর ঘাত ব্যবহার করে, যা একটি অনেক বিরল সেট তৈরি করে। বেশিরভাগ পূর্ণসংখ্যা মোসার-দে ব্রুইন সিকোয়েন্সে প্রকাশ পায় না।
এই সিকোয়েন্সটি কে আবিষ্কার করেছিল?
লিও মোসার (1921-1970), একজন অস্ট্রিয়ান-কানাডিয়ান গণিতবিদ, এবং নিকোলাস গোগার্ট দে ব্রুইন (1918-2012), একজন ডাচ গণিতবিদ, উভয়েই 1960-এর দশকে যোগাত্মক সংখ্যা তত্ত্বে গবেষণার অংশ হিসাবে এই সিকোয়েন্সটি গভীরভাবে অধ্যয়ন করেছিলেন। সিকোয়েন্সটি উভয়ের নাম বহন করে।
কি তৈরি আছেন?
এই জেনারেটর সম্পূর্ণরূপে আপনার ব্রাউজারে চলে—কোনো ইনস্টলেশন নয়, কোনো রেজিস্ট্রেশন নয়, কোনো অপেক্ষা নয়। আপনি যদি একজন ছাত্র হন যে সংখ্যা পদ্ধতি সম্পর্কে শিখছেন, একজন গবেষক যে যোগাত্মক ভিত্তি অন্বেষণ করছেন, অথবা শুধুই গাণিতিকভাবে কৌতূহলী, আপনি তাৎক্ষণিকভাবে পদ নির্মাণ করতে পারবেন এবং নিজেই প্যাটার্ন দেখতে পারবেন। বিভিন্ন পরিমাণ নির্মাণ করে দেখুন কিভাবে ক্রমটি বাড়ে এবং কোন পূর্ণসংখ্যাগুলি অন্তর্ভুক্ত হয়।