بولین الجبرا سمپلیفائر کا طریقہ کار اور خصوصیات
بولین الجبرا سمپلیفائر ایک مفت آن لائن ٹول ہے جو کسی بھی بولین ایکسپریشن کو اس کی آسان ترین ریاضیاتی شکلوں میں تبدیل کرتا ہے۔ صارف اس ٹول میں کوئی بھی بولین ایکسپریشن ٹائپ یا پیسٹ کرتا ہے، اور یہ فوری طور پر کم از کم حاصل ضرب کا مجموعہ (SOP) اور مجموعوں کا حاصل ضرب (POS) دونوں کا حساب لگا کر دکھا دیتا ہے۔ ان آسان شکلوں کے ساتھ، یہ ٹول Quine–McCluskey طریقہ کار کے ذریعے حاصل کردہ مراحل کی تفصیل فراہم کرتا ہے، تمام پرائم امپلیکنٹس کی فہرست بناتا ہے، اور ایک مکمل ٹروتھ ٹیبل تیار کرتا ہے جو اصل ایکسپریشن کے خلاف آسان کردہ نتائج کی تصدیق کرتا ہے۔
اس ٹول میں پروسیسنگ کا عمل مکمل طور پر صارف کے براؤزر کے اندر ہی انجام پاتا ہے اور ڈیٹا کبھی بھی آپ کے ڈیوائس سے باہر نہیں جاتا۔
ان پٹ فارمیٹس اور حدود
اس ٹول میں متغیرات کو اکیلے حروف کے طور پر لکھا جاتا ہے۔ صارف انجینئرنگ، پروگرامنگ، منطقی علامات، یا سادہ الفاظ کے انداز میں آپریٹرز درج کر سکتا ہے، اور انہیں آپس میں ملا بھی سکتا ہے:
- 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: اسے
A NAND Bیا⊼لکھا جا سکتا ہے۔ - NOR: اسے
A NOR Bیا⊽لکھا جا سکتا ہے۔ - مستقل (Constants): ایکسپریشن میں
0اور1کی اجازت ہے۔
ان پٹ کی حدود اور کنٹرولز
ٹول میں زیادہ سے زیادہ 6 مختلف متغیرات اور 2,000 حروف تک کا ایکسپریشن لکھا جا سکتا ہے۔ انٹرفیس میں مخصوص آپریٹرز کو شامل کرنے کے لیے بٹنز موجود ہیں۔ اس کے علاوہ، صارفین کی سہولت کے لیے تین پہلے سے طے شدہ مثالیں دی گئی ہیں جن پر کلک کر کے انہیں آزمایا جا سکتا ہے:
- "اصطلاحات کو ضم کرنا" (consensus مثال)
- "منفی حاصل ضرب" (De Morgan's مثال)
- "تھری-وے XOR" (XOR مثال)
ان پٹ فیلڈ کو خالی کرنے کے لیے "صاف کریں" کا بٹن استعمال کیا جاتا ہے۔
آؤٹ پٹ اور تشخیصی پینل کی تفصیلات
جب کوئی ایکسپریشن کامیابی سے سمپلیفائی ہوتا ہے، تو ٹول درج ذیل آؤٹ پٹ سیکشنز دکھاتا ہے:
پڑھا گیا بطور
یہ ان پٹ ایکسپریشن کی نارملائزڈ شکل کو ظاہر کرتا ہے۔
کم از کم حاصل ضرب کا مجموعہ (SOP) اور مجموعوں کا حاصل ضرب (POS)
یہاں ایکسپریشن کی آسان ترین SOP اور POS شکلیں دکھائی جاتی ہیں، اور ساتھ ہی "نتیجہ کاپی کریں" کا بٹن ہوتا ہے جس سے نتائج کو کلپ بورڈ پر کاپی کیا جا سکتا ہے۔
ایک نظر میں
یہ تشخیصی پینل درج ذیل معلومات فراہم کرتا ہے:
- متغیرات (Variables): ایکسپریشن میں پائے جانے والے متغیرات کی فہرست۔
- سطریں جو 1 کے برابر ہیں: منٹرمز (minterms) کی تعداد یا فہرست۔
- پرائم امپلیکنٹس (Prime implicants): تلاش کیے گئے کل پرائم امپلیکنٹس کی تعداد۔
- لازمی پرائم امپلیکنٹس (Essential prime implicants): لازمی پرائم امپلیکنٹس کی تعداد۔
- لٹرلز، پہلے ← بعد میں: سمپلیفیکیشن سے پہلے اور بعد میں لٹرلز کی تعداد کا موازنہ۔
- طریقہ کار: یہاں "Quine–McCluskey، بالکل درست کم از کم کور" ظاہر ہوتا ہے۔
اسے کیسے سمپلیفائی کیا گیا
اس سیکشن میں ریاضیاتی مراحل کی تفصیل درج ذیل جملوں کی شکل میں دکھائی جاتی ہے:
- متغیرات کی تعداد کے لحاظ سے: "ایکسپریشن
‹count›متغیرات (‹variables›) استعمال کرتا ہے، اس لیے ٹروتھ ٹیبل کی‹rows›سطریں ہیں" یا ایک متغیر کے لیے "ایکسپریشن ایک متغیر،‹variables›، استعمال کرتا ہے، اس لیے ٹروتھ ٹیبل کی‹rows›سطریں ہیں"۔ - منٹرمز اور میکس ٹرمز کی تفصیل: "یہ سطروں Σm(
‹minterms›) پر 1 کے برابر اور سطروں ΠM(‹maxterms›) پر 0 کے برابر ہے"۔ - پرائم امپلیکنٹس کا انضمام: "ساتھ والی 1-سطروں کو جہاں تک ممکن ہو ضم کرنے سے
‹count›پرائم امپلیکنٹس بچتے ہیں:‹list›"۔ - لازمی پرائم امپلیکنٹس کی شناخت: "لازمی پرائم امپلیکنٹس — کم از کم ایک سطر کے لیے واحد باقی بچا ہوا کور:
‹list›" یا "کوئی بھی پرائم امپلیکنٹ لازمی نہیں ہے: ہر 1-سطر کو ایک سے زیادہ طریقوں سے کور کیا جا سکتا ہے"۔ - غیر کور شدہ سطروں کا حل: "جو سطریں ابھی تک کور نہیں ہوئیں انہیں کم سے کم اضافی اصطلاحات کے ساتھ بند کیا گیا ہے:
‹list›" یا "لازمی پرائم امپلیکنٹس پہلے ہی ہر 1-سطر کو کور کرتے ہیں، اس لیے مجموعہ مکمل ہے"۔ - مجموعوں کا حاصل ضرب: "0-سطروں پر یہی انضمام دہرانے سے کم از کم مجموعوں کا حاصل ضرب
‹pos›حاصل ہوتا ہے"۔ - تصدیق: "دونوں کم از کم شکلیں ٹروتھ ٹیبل کی تمام
‹rows›سطروں پر اصل ایکسپریشن سے مطابقت رکھتی ہیں"۔
ٹروتھ ٹیبل (Truth table)
یہاں ایک مکمل جدول ظاہر ہوتا ہے جس میں متغیرات کے کالم، اصل ایکسپریشن (جس کا لیبل "ایکسپریشن" ہے) اور آسان کردہ شکل (جس کا لیبل "کم از کم SOP" ہے) شامل ہوتے ہیں تاکہ سطر بہ سطر موازنہ کیا جا سکے۔
قوانین، غلطیاں اور خاص حالات
ٹول مختلف ان پٹ حالات کے مطابق مخصوص پیغامات اور غلطیاں ظاہر کرتا ہے:
- خالی ان پٹ: جب ان پٹ فیلڈ خالی ہو تو "بولین ایکسپریشن درج کریں۔" کا پیغام ظاہر ہوتا ہے۔
- مستقل ایکسپریشنز: اگر ایکسپریشن کا نتیجہ ہمیشہ ایک ہی رہے تو "یہ ایکسپریشن مستقل ہے: یہ ہمیشہ
‹value›کے برابر ہوتا ہے۔" کا پیغام ملتا ہے۔ اگر یہ ٹاٹولوجی ہو تو "یہ ایکسپریشن ہمیشہ 1 ہوتا ہے: قیمتوں کا ہر مجموعہ اسے درست (true) بناتا ہے۔" اور اگر تضاد ہو تو "یہ ایکسپریشن ہمیشہ 0 ہوتا ہے: قیمتوں کا کوئی بھی مجموعہ اسے درست (true) نہیں بناتا۔" ظاہر ہوتا ہے۔ - پہلے سے ہی کم از کم شکل: اگر ان پٹ کو مزید آسان نہیں کیا جا سکتا تو "آپ کا ایکسپریشن پہلے ہی ایک کم از کم حاصل ضرب کا مجموعہ (SOP) ہے۔" لکھا آتا ہے۔
- کامیاب سمپلیفیکیشن: عمل مکمل ہونے پر "سمپلیفائی کر دیا گیا اور تمام
‹rows›سطروں پر چیک کر لیا گیا۔" کا پیغام ظاہر ہوتا ہے۔
خرابی کے پیغامات (Error Messages)
- حروف کی حد: 2,000 سے زائد حروف ہونے پر "ایکسپریشن کو 2,000 حروف سے کم رکھیں۔" کی خرابی ملتی ہے۔
- غیر قانونی حروف: "
‹char›" (مقام‹position›) کوئی بولین آپریٹر، متغیر یا مستقل (constant) نہیں ہے۔ - نحو کی غلطی (Syntax Error): "مقام
‹position›کے قریب آپریٹر کا اوپرینڈ غائب ہے — ایک لٹکتے ہوئے + · یا ⊕ کو چیک کریں۔"۔ - غیر متوازن بریکٹ: "بریکٹ غیر متوازن ہیں — بریکٹ شامل کریں یا حذف کریں۔"۔
- متغیرات کی حد: "یہ ایکسپریشن
‹count›مختلف متغیرات استعمال کرتا ہے؛ سمپلیفائر زیادہ سے زیادہ 6 کو سپورٹ کرتا ہے۔"۔
ریاضیاتی پس منظر اور لاجک ڈیزائن
Quine–McCluskey الگورتھم
بولین فنکشنز کو کم سے کم کرنے کے لیے Quine–McCluskey طریقہ کار ایک منظم اور بالکل درست طریقہ ہے۔ ہیورسٹک طریقوں (جیسے Espresso الگورتھم) کے برعکس، یہ طریقہ کار ریاضیاتی طور پر اس بات کی ضمانت دیتا ہے کہ حاصل ہونے والا نتیجہ بالکل کم ترین شکل میں ہوگا۔ یہ الگورتھم پہلے مرحلے میں تمام منٹرمز کو یکجا کر کے پرائم امپلیکنٹس تلاش کرتا ہے، اور دوسرے مرحلے میں ایک پرائم امپلیکنٹ چارٹ بنا کر ان لازمی امپلیکنٹس کا انتخاب کرتا ہے جو تمام منٹرمز کو کم سے کم اصطلاحات کے ساتھ کور کر سکیں۔
SOP بمقابلہ POS سرکٹس
ڈیجیٹل لاجک ڈیزائن میں، حاصل ضرب کا مجموعہ (SOP) اور مجموعوں کا حاصل ضرب (POS) دو بنیادی اشکال ہیں۔ SOP شکل AND-OR گیٹ کے ڈھانچے کو جنم دیتی ہے، جہاں پہلے متغیرات کو AND گیٹس سے گزارا جاتا ہے اور پھر ان کے نتائج کو ایک OR گیٹ میں بھیجا جاتا ہے۔ اس کے برعکس، POS شکل OR-AND گیٹ کے ڈھانچے پر مبنی ہوتی ہے۔ سرکٹ ڈیزائنر ان دونوں شکلوں کا موازنہ کر کے اس شکل کا انتخاب کرتے ہیں جس میں کم گیٹس اور کم ان پٹ تاروں (literals) کی ضرورت ہو، تاکہ لاگت اور بجلی کی کھپت کو کم کیا جا سکے۔
دستی سمپلیفیکیشن کی حدود
کارنو میپ (K-map) جیسے دستی طریقے 2، 3 یا 4 متغیرات تک تو انتہائی آسان اور بصری طور پر کارآمد ہوتے ہیں، لیکن 5 یا 6 متغیرات پر پہنچ کر یہ نقشے پیچیدہ اور ناقابل فہم ہو جاتے ہیں۔ 6 متغیرات کے لیے ٹروتھ ٹیبل میں 64 سطریں بنتی ہیں، جو کہ انسانی طور پر بغیر کسی غلطی کے حل کرنے کی آخری حد سمجھی جاتی ہے۔ یہی وجہ ہے کہ کمپیوٹرائزڈ الگورتھم جیسے Quine–McCluskey کا استعمال ناگزیر ہو جاتا ہے۔
اکثر پوچھے جانے والے سوالات (FAQ)
زیادہ سے زیادہ 6 متغیرات ہی کیوں سپورٹڈ ہیں؟
چھ متغیرات پہلے ہی 64 سطروں کا ٹروتھ ٹیبل بناتے ہیں، جو کہ ہاتھ سے پڑھنے اور چکنے کی حد کے قریب ہے۔ اس سے آگے، تھیوری کی حد تک تو سمپلیفیکیشن کام کرتی رہتی ہے، لیکن وہ اخذ کردہ مراحل اور ٹیبل جس کے گرد یہ صفحہ بنایا گیا ہے، بطور ثبوت کارآمد نہیں رہتے۔ زیادہ متغیرات کے لیے فائل آؤٹ پٹ والا لاجک ڈیزائن سافٹ ویئر زیادہ موزوں ہے۔
کم از کم شکل کیسے معلوم کی جاتی ہے؟
یہ ٹول مکمل ٹروتھ ٹیبل بناتا ہے، ساتھ والی 1-سطروں کو پرائم امپلیکنٹس میں ضم کرتا ہے (Quine–McCluskey طریقہ)، لازمی امپلیکنٹس کو برقرار رکھتا ہے اور باقی بچ جانے والی سطروں کو بالکل درست کم از کم کور کے ساتھ بند کرتا ہے۔ حاصل ضرب کے مجموعے (SOP) کی شکل کے لیے نتیجہ کے کم از کم ہونے کی ضمانت ہوتی ہے — یہ کوئی ہیورسٹک طریقہ نہیں ہے — اور 0-سطروں پر یہی طریقہ کار دہرانے سے مجموعوں کا حاصل ضرب (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 سرکٹس پر لاگو ہوتا ہے۔ فنکشن کے لحاظ سے، ایک شکل کو دوسری شکل کے مقابلے میں کم گیٹس کی ضرورت ہو سکتی ہے، اس لیے ٹول ہمیشہ دونوں کو دکھاتا ہے۔