বুলিয়ান অ্যালজেব্রা সিম্প্লিফায়ার

যেকোনো বুলিয়ান রাশিকে তার ন্যূনতম সাম অব প্রোডাক্টস এবং প্রোডাক্ট অব সামস রূপে রূপান্তর করুন, সাথে প্রতিটি প্রাইম ইমপ্লিক্যান্ট এবং সারিভিত্তিক ট্রুথ টেবিল যাচাইকরণ।

রাশি

চলকগুলোকে একক অক্ষর হিসেবে লিখুন। AND-কে AB, A·B, A*B বা A AND B হিসেবে লেখা যাবে; OR হলো A + B বা A OR B; NOT হলো A', !A বা NOT A; XOR, NAND এবং NOR-ও কাজ করে।
একটি অপারেটর যুক্ত করুন

সর্বোচ্চ ৬টি ভিন্ন চলক এবং ২,০০০ অক্ষর। ধ্রুবক ০ এবং ১ গ্রহণযোগ্য।

একটি রাশি চেষ্টা করুন

ন্যূনতম রূপ

আপনার সংক্ষিপ্ত রূপটি এখানে প্রদর্শিত হবে

যেকোনো বুলিয়ান রাশি টাইপ করে তার সংক্ষিপ্ততম সাম অব প্রোডাক্টস (SOP), প্রোডাক্ট অব সামস (POS) এবং সেগুলো কীভাবে নির্ণয় করা হয়েছে তা দেখুন।

সরলীকরণ করতে একটি বুলিয়ান রাশি টাইপ করুন।

রাশিগুলো এই ব্রাউজারেই সরলীকরণ করা হয় এবং কখনোই আপনার ডিভাইস থেকে বাইরে যায় না।

জিজ্ঞাসিত প্রশ্নাবলী

রাশি লেখার কোন কোন নিয়ম এখানে গ্রহণযোগ্য?

সব ধরনের প্রচলিত নিয়ম এখানে অবাধে মিশিয়ে ব্যবহার করা যায়: ইঞ্জিনিয়ারিং শৈলী (AB + A'C, যেখানে AND উহ্য এবং NOT-এর জন্য প্রাইম ব্যবহৃত হয়), প্রোগ্রামিং শৈলী (A && !B || C, A ^ B), লজিক প্রতীক (¬ ∧ ∨ ⊕ ⊼ ⊽) এবং সাধারণ শব্দ (A AND B OR NOT C, NAND, NOR)। একাধিক অক্ষরের ধারাবাহিকতা যেমন ABC বলতে A AND B AND C বোঝায়, এবং AND, OR, NOT, XOR, NAND, NOR শব্দগুলোকে সর্বদা অপারেটর হিসেবে গণ্য করা হয়।

কীভাবে ন্যূনতম রূপটি নির্ণয় করা হয়?

টুলটি প্রথমে সম্পূর্ণ ট্রুথ টেবিল তৈরি করে, পাশাপাশি থাকা ১-এর সারিগুলোকে প্রাইম ইমপ্লিক্যান্টে একত্রিত করে (Quine–McCluskey পদ্ধতি), অপরিহার্যগুলো রাখে এবং বাকি থাকা সারিগুলোকে একটি সুনির্দিষ্ট ন্যূনতম কাভার দিয়ে পূরণ করে। এই ফলাফলটি সাম-অব-প্রোডাক্টস (SOP) রূপের জন্য নিশ্চিতভাবে ন্যূনতম — এটি কোনো আনুমানিক বা হিউরিস্টিক পদ্ধতি নয় — এবং ০-এর সারিগুলোর ওপর একই প্রক্রিয়া প্রয়োগ করে প্রোডাক্ট অব সামস (POS) পাওয়া যায়।

SOP এবং POS ফলাফলের মধ্যে পার্থক্য কী?

উভয় রূপই একই ফাংশনকে নির্দেশ করে। সাম অব প্রোডাক্টস (SOP) মূলত AND-পদগুলোকে OR দ্বারা যুক্ত করে, যেমন AB' + BC, এবং এটি সরাসরি AND–OR সার্কিটের সাথে মিলে যায়; অন্যদিকে প্রোডাক্ট অব সামস (POS) মূলত OR-পদগুলোকে AND দ্বারা যুক্ত করে, যেমন (A + B)(B' + C), এবং এটি OR–AND সার্কিটের সাথে মিলে যায়। ফাংশনের ওপর ভিত্তি করে একটি রূপে অন্যটির চেয়ে কম গেটের প্রয়োজন হতে পারে, তাই টুলটি সর্বদা উভয় রূপই প্রদর্শন করে।

কেন সর্বোচ্চ ৬টি চলক সমর্থিত?

ছয়টি চলক ইতিমধ্যেই একটি ৬৪-সারির ট্রুথ টেবিল তৈরি করে, যা হাতে কলমে পড়ার এবং যাচাই করার জন্য প্রায় সর্বোচ্চ সীমা। এর বাইরেও তাত্ত্বিকভাবে সরলীকরণ কাজ করে, তবে এই পৃষ্ঠার মূল ভিত্তি যে ডেরিভেশন এবং টেবিল, তা প্রমাণ হিসেবে আর কার্যকর থাকে না। আরও বেশি চলকের ক্ষেত্রে ফাইল আউটপুট সুবিধাযুক্ত লজিক-ডিজাইন সফটওয়্যার ব্যবহার করাই শ্রেয়।

বুলিয়ান অ্যালজেব্রা সরলীকরণের মূল নীতি

বুলিয়ান অ্যালজেব্রা হলো ডিজিটাল লজিক ডিজাইন এবং কম্পিউটার বিজ্ঞানের একটি মৌলিক ভিত্তি। একটি জটিল বুলিয়ান রাশিকে তার সরলতম রূপে রূপান্তর করার মাধ্যমে সার্কিটে লজিক গেটের সংখ্যা কমানো সম্ভব হয়, যা সরাসরি উৎপাদন খরচ এবং বিদ্যুৎ সাশ্রয় নিশ্চিত করে। এই সরলীকরণ প্রক্রিয়ায় মূলত দুটি আদর্শ রূপ ব্যবহার করা হয়: সাম অব প্রোডাক্টস (SOP) এবং প্রোডাক্ট অব সামস (POS)।

SOP রূপে একাধিক AND-পদকে OR অপারেটর দ্বারা যুক্ত করা হয় (যেমন: AB' + BC), যা সরাসরি AND–OR সার্কিট গঠনে সহায়তা করে। অন্যদিকে, POS রূপে একাধিক OR-পদকে AND অপারেটর দ্বারা যুক্ত করা হয় (যেমন: (A + B)(B' + C)), যা OR–AND সার্কিট গঠনে ব্যবহৃত হয়। সার্কিটের কার্যকারিতা এবং গেটের সংখ্যা হ্রাসের জন্য এই দুটি রূপের মধ্যে তুলনা করে সবচেয়ে সাশ্রয়ী রূপটি বেছে নেওয়া হয়।

Quine–McCluskey অ্যালগরিদম ও প্রাইম ইমপ্লিক্যান্ট

ম্যানুয়াল পদ্ধতিতে বুলিয়ান রাশি সরল করার জন্য কার্নো ম্যাপ (K-map) অত্যন্ত জনপ্রিয় হলেও, ৪টির বেশি চলক থাকলে এটি ব্যবহার করা অত্যন্ত জটিল হয়ে পড়ে। এই সীমাবদ্ধতা দূর করতে Quine–McCluskey পদ্ধতি ব্যবহার করা হয়, যা একটি সুনির্দিষ্ট ন্যূনতম কাভার (exact minimum cover) নিশ্চিত করে।

এই পদ্ধতিতে প্রথমে ট্রুথ টেবিলের ১-এর মানবিশিষ্ট সারি বা মিনটার্মগুলোকে চিহ্নিত করা হয়। এরপর পাশাপাশি থাকা ১-এর সারিগুলোকে ক্রমান্বয়ে একত্রিত করে প্রাইম ইমপ্লিক্যান্টসমূহ (Prime Implicants) বের করা হয়। এই প্রাইম ইমপ্লিক্যান্টগুলোর মধ্যে যেগুলো অন্তত একটি ১-এর সারিকে কাভার করার জন্য অপরিহার্য, সেগুলোকে অপরিহার্য প্রাইম ইমপ্লিক্যান্টসমূহ (Essential Prime Implicants) বলা হয়। যদি অপরিহার্য প্রাইম ইমপ্লিক্যান্টগুলো দিয়েই সমস্ত ১-এর সারি কাভার করা সম্ভব হয়, তবে যোগফলটি সম্পূর্ণ হয়। অন্যথায়, বাকি থাকা সারিগুলো সবচেয়ে কম অতিরিক্ত পদ দিয়ে পূরণ করে চূড়ান্ত ন্যূনতম রূপটি নির্ণয় করা হয়।

বিভিন্ন বুলিয়ান নোটেশন বা লেখার নিয়ম

ইঞ্জিনিয়ারিং, প্রোগ্রামিং এবং গাণিতিক লজিকের ক্ষেত্রে বুলিয়ান রাশি লেখার বিভিন্ন নিয়ম প্রচলিত রয়েছে। এই টুলটিতে সব ধরনের প্রচলিত নিয়ম অবাধে মিশিয়ে ব্যবহার করা যায়:

  • AND: চলকগুলোর পাশাপাশি অবস্থান (যেমন: AB), ডট চিহ্ন (A·B), তারকা চিহ্ন (A*B), অথবা শব্দে লেখা A AND B বা প্রোগ্রামিং শৈলী A && B। একাধিক অক্ষরের ধারাবাহিকতা যেমন ABC বলতে A AND B AND C বোঝায়।
  • OR: যোগ চিহ্ন (A + B), শব্দে লেখা A OR B বা প্রোগ্রামিং শৈলী A || B
  • NOT: প্রাইম চিহ্ন (A'), বিস্ময়সূচক চিহ্ন (!A), শব্দে লেখা NOT A বা লজিক প্রতীক ¬A
  • XOR: ক্যারেট চিহ্ন (A ^ B), শব্দে লেখা A XOR B বা লজিক প্রতীক A ⊕ B
  • NAND / NOR: শব্দে লেখা A NAND B বা A NOR B এবং লজিক প্রতীক
  • ধ্রুবক: সরাসরি 0 এবং 1 ব্যবহার করা যায়।

টুলের ইনপুট ও আউটপুট নির্দেশিকা

এই টুলে ব্যবহারকারী সর্বোচ্চ ৬টি ভিন্ন চলক এবং ২,০০০ অক্ষরের মধ্যে যেকোনো বুলিয়ান রাশি ইনপুট হিসেবে দিতে পারেন। ইনপুট দেওয়ার পর টুলটি তাৎক্ষণিকভাবে নিম্নলিখিত আউটপুটগুলো প্রদর্শন করে:

  • যেভাবে পড়া হয়েছে: ইনপুট রাশির একটি প্রমিত বা নরমালাইজড রূপ।
  • ন্যূনতম সাম অব প্রোডাক্টস (SOP): সরলীকৃত সাম অব প্রোডাক্টস রূপ।
  • ন্যূনতম প্রোডাক্ট অব সামস (POS): সরলীকৃত প্রোডাক্ট অব সামস রূপ।
  • এক নজরে: এই ডায়াগনস্টিক প্যানেলে চলকসমূহ, ১-এর সমান সারিগুলো, প্রাইম ইমপ্লিক্যান্টসমূহ, অপরিহার্য প্রাইম ইমপ্লিক্যান্টসমূহ, লিটারেল, পূর্বের → পরের সংখ্যা এবং ব্যবহৃত পদ্ধতি (Quine–McCluskey, সুনির্দিষ্ট ন্যূনতম কাভার) প্রদর্শিত হয়।
  • যেভাবে সরলীকরণ করা হয়েছে: এখানে ধাপে ধাপে ডেরিভেশন টেক্সট দেখানো হয়, যা চলকের সংখ্যা, ট্রুথ টেবিলের সারির সংখ্যা, মিনটার্ম ও ম্যাক্সটার্মের তালিকা এবং কীভাবে প্রাইম ইমপ্লিক্যান্টগুলো একত্রিত করা হয়েছে তা বিস্তারিত বর্ণনা করে।
  • ট্রুথ টেবিল: মূল রাশি এবং ন্যূনতম SOP-এর মান প্রতিটি সারির জন্য সমান কি না তা যাচাই করার জন্য একটি সম্পূর্ণ ট্রুথ টেবিল তৈরি হয়।

ব্যবহারকারী চাইলে "ফলাফল কপি করুন" বোতামটি ব্যবহার করে সরাসরি সরলীকৃত ফলাফল কপি করে নিতে পারেন। এছাড়াও দ্রুত পরীক্ষার জন্য "পদসমূহের একত্রীকরণ", "নেগেটেড প্রোডাক্ট" এবং "থ্রি-ওয়ে XOR" নামক তিনটি উদাহরণ শর্টকাট হিসেবে দেওয়া রয়েছে।

ত্রুটি ও বিশেষ পরিস্থিতি হ্যান্ডলিং

ইনপুট রাশির ওপর ভিত্তি করে টুলটি বিভিন্ন ধরনের প্রতিক্রিয়া ও ত্রুটি বার্তা প্রদর্শন করে:

  • ধ্রুবক রাশি: রাশিটির মান সর্বদা ১ হলে বার্তা দেখায়: "এই রাশিটির মান সর্বদা ১: মানের প্রতিটি সংমিশ্রণই এটিকে সত্য করে।"। মান সর্বদা ০ হলে দেখায়: "এই রাশিটির মান সর্বদা ০: মানের কোনো সংমিশ্রণই এটিকে সত্য করতে পারে না।"।
  • ইতিমধ্যেই ন্যূনতম: রাশিটি আর সরল করা সম্ভব না হলে দেখায়: "আপনার রাশিটি ইতিমধ্যেই একটি ন্যূনতম সাম অব প্রোডাক্টস রূপে রয়েছে।"।
  • চলক ও অক্ষরের সীমা: ৬টির বেশি চলক থাকলে "এই রাশিতে ‹count›টি ভিন্ন চলক ব্যবহার করা হয়েছে; সিম্প্লিফায়ারটি সর্বোচ্চ ৬টি চলক সমর্থন করে।" এবং ২,০০০ অক্ষরের বেশি হলে "রাশিটি ২,০০০ অক্ষরের মধ্যে রাখুন।" ত্রুটিটি প্রদর্শিত হয়।
  • সিনট্যাক্স ত্রুটি: বন্ধনী অসামঞ্জস্যপূর্ণ হলে "বন্ধনীগুলো অসামঞ্জস্যপূর্ণ — একটি বন্ধনী যোগ বা অপসারণ করুন।" এবং কোনো অপারেটরের অপারেন্ড অনুপস্থিত থাকলে "‹position› অবস্থানের কাছাকাছি একটি অপারেটরের অপারেন্ড অনুপস্থিত — কোনো ঝুলন্ত + · বা ⊕ আছে কি না তা পরীক্ষা করুন।" বার্তাটি দেখায়।

গোপনীয়তা ও প্রক্রিয়াকরণ নীতি

এই টুলের সমস্ত গাণিতিক হিসাব ও সরলীকরণ প্রক্রিয়া সম্পূর্ণভাবে ব্যবহারকারীর নিজস্ব ব্রাউজারে সম্পন্ন হয়। ইনপুট করা কোনো রাশি বা তথ্য কোনো দূরবর্তী সার্ভারে আপলোড করা হয় না বা ডিভাইস থেকে বাইরে যায় না। ফলে ব্যবহারকারী সম্পূর্ণ স্থানীয়ভাবে এবং নিরাপদে তার ব্রাউজারে বসেই এই টুলটি ব্যবহার করতে পারেন।

প্রায়শই জিজ্ঞাসিত প্রশ্ন (FAQ)

প্রশ্ন: কেন সর্বোচ্চ ৬টি চলক সমর্থিত?
উত্তর: ছয়টি চলক ইতিমধ্যেই একটি ৬৪-সারির ট্রুথ টেবিল তৈরি করে, যা হাতে কলমে পড়ার এবং যাচাই করার জন্য প্রায় সর্বোচ্চ সীমা। এর বাইরেও তাত্ত্বিকভাবে সরলীকরণ কাজ করে, তবে এই পৃষ্ঠার মূল ভিত্তি যে ডেরিভেশন এবং টেবিল, তা প্রমাণ হিসেবে আর কার্যকর থাকে না। আরও বেশি চলকের ক্ষেত্রে ফাইল আউটপুট সুবিধাযুক্ত লজিক-ডিজাইন সফটওয়্যার ব্যবহার করাই শ্রেয়।

প্রশ্ন: কীভাবে ন্যূনতম রূপটি নির্ণয় করা হয়?
উত্তর: টুলটি প্রথমে সম্পূর্ণ ট্রুথ টেবিল তৈরি করে, পাশাপাশি থাকা ১-এর সারিগুলোকে প্রাইম ইমপ্লিক্যান্টে একত্রিত করে (Quine–McCluskey পদ্ধতি), অপরিহার্যগুলো রাখে এবং বাকি থাকা সারিগুলোকে একটি সুনির্দিষ্ট ন্যূনতম কাভার দিয়ে পূরণ করে। এই ফলাফলটি সাম-অব-প্রোডাক্টস (SOP) রূপের জন্য নিশ্চিতভাবে ন্যূনতম — এটি কোনো আনুমানিক বা হিউরিস্টিক পদ্ধতি নয় — এবং ০-এর সারিগুলোর ওপর একই প্রক্রিয়া প্রয়োগ করে প্রোডাক্ট অব সামস (POS) পাওয়া যায়।

প্রশ্ন: রাশি লেখার কোন কোন নিয়ম এখানে গ্রহণযোগ্য?
উত্তর: সব ধরনের প্রচলিত নিয়ম এখানে অবাধে মিশিয়ে ব্যবহার করা যায়: ইঞ্জিনিয়ারিং শৈলী (AB + A'C, যেখানে AND উহ্য এবং NOT-এর জন্য প্রাইম ব্যবহৃত হয়), প্রোগ্রামিং শৈলী (A &&!B || C, A ^ B), লজিক প্রতীক (¬ ∧ ∨ ⊕ ⊼ ⊽) এবং সাধারণ শব্দ (A AND B OR NOT C, NAND, NOR)। একাধিক অক্ষরের ধারাবাহিকতা যেমন ABC বলতে A AND B AND C বোঝায়, এবং AND, OR, NOT, XOR, NAND, NOR শব্দগুলোকে সর্বদা অপারেটর হিসেবে গণ্য করা হয়।

প্রশ্ন: SOP এবং POS ফলাফলের মধ্যে পার্থক্য কী?
উত্তর: উভয় রূপই একই ফাংশনকে নির্দেশ করে। সাম অব প্রোডাক্টস (SOP) মূলত AND-পদগুলোকে OR দ্বারা যুক্ত করে, যেমন AB' + BC, এবং এটি সরাসরি AND–OR সার্কিটের সাথে মিলে যায়; অন্যদিকে প্রোডাক্ট অব সামস (POS) মূলত OR-পদগুলোকে AND দ্বারা যুক্ত করে, যেমন (A + B)(B' + C), এবং এটি OR–AND সার্কিটের সাথে মিলে যায়। ফাংশনের ওপর ভিত্তি করে একটি রূপে অন্যটির চেয়ে কম গেটের প্রয়োজন হতে পারে, তাই টুলটি সর্বদা উভয় রূপই প্রদর্শন করে।