جبر بولی چیست؟ آموزش کامل قوانین جبری Boolean Algebra با جدول و شکل

در مقاله قبلی با Boolean Logic و گیت‌های منطقی آشنا شدیم. حالا می‌خواهیم یک قدم مهم‌تر برداریم و یاد بگیریم چگونه عبارت‌های منطقی را تحلیل، ساده و بهینه کنیم.

این کار با استفاده از Boolean Algebra یا جبر بولی انجام می‌شود.

هدف اصلی جبر بولی: تبدیل و ساده‌سازی عبارت‌های منطقی بدون تغییر در نتیجه منطقی آن‌ها.

جبر بولی چیست؟

جبر بولی نوعی جبر است که در آن متغیرها معمولاً فقط دو مقدار دارند:

0 یا 1

برخلاف جبر معمولی که مثلاً می‌توانیم داشته باشیم:

2 + 3 = 5

در جبر بولی، عملگرها معنای متفاوتی دارند. سه عمل اصلی عبارت‌اند از:

  • AND → ضرب منطقی → A · B
  • OR → جمع منطقی → A + B
  • NOT → مکمل →
نکته: علامت + در جبر بولی به معنی OR است و علامت × یا · به معنی AND. این‌ها دقیقاً مانند جمع و ضرب معمولی عمل نمی‌کنند.

قوانین پایه جبر بولی

حالا مهم‌ترین قوانین را یکی‌یکی بررسی کنیم. این قوانین پایه بسیاری از ساده‌سازی‌های مدارهای دیجیتال هستند.

1. قانون Identity یا همانی

همانی OR

A + 0 = A

اگر یک متغیر را با صفر OR کنیم، خود متغیر باقی می‌ماند.

همانی AND

A · 1 = A

اگر یک متغیر را با یک AND کنیم، مقدار متغیر تغییری نمی‌کند.

A A + 0 A · 1
0 0 0
1 1 1

2. قانون Null یا Dominance

برای OR

A + 1 = 1

برای AND

A · 0 = 0

در OR، وجود یک ورودی ۱ کافی است تا خروجی ۱ شود. در AND، وجود یک ورودی ۰ کافی است تا خروجی ۰ شود.

A A + 1 A · 0
0 1 0
1 1 0

3. قانون Idempotent یا توان‌همانی

A + A = A
A · A = A

اگر یک مقدار را با خودش OR یا AND کنیم، نتیجه همان مقدار خواهد بود.

A A + A A · A
0 0 0
1 1 1

4. قانون Complement یا متمم

متمم یک متغیر با علامت خط بالا نشان داده می‌شود:

اگر یک متغیر و متمم خودش را OR کنیم:

A + A̅ = 1

و اگر AND کنیم:

A · A̅ = 0
A A + A̅ A · A̅
0 1 1 0
1 0 1 0

5. قانون Double Negation

(A̅)̅ = A

اگر یک متغیر را دو بار NOT کنیم، دوباره به مقدار اصلی برمی‌گردیم.

A A

6. قانون Involution

قانون Involution در واقع همان مفهوم Double Negation است:

A̅̅ = A

یعنی دو بار مکمل گرفتن، مقدار اولیه را برمی‌گرداند.

7. قانون Commutative یا جابجایی

برای OR

A + B = B + A

برای AND

A · B = B · A

ترتیب متغیرها در AND و OR روی نتیجه تأثیری ندارد.

A B A+B B+A A·B B·A
000000
011100
101100
111111

8. قانون Associative یا شرکت‌پذیری

OR

(A + B) + C = A + (B + C)

AND

(A · B) · C = A · (B · C)

در این قانون محل قرار گرفتن پرانتزها را می‌توان تغییر داد بدون اینکه نتیجه تغییر کند.

9. قانون Distributive یا توزیع‌پذیری

این قانون یکی از مهم‌ترین قوانین جبر بولی است.

حالت اول

A(B + C) = AB + AC

این قسمت شبیه قانون توزیع در جبر معمولی است.

اما در جبر بولی یک حالت مهم دیگر هم داریم:

A + BC = (A + B)(A + C)

این رابطه در جبر معمولی به همین شکل وجود ندارد و یکی از تفاوت‌های مهم جبر بولی با جبر معمولی است.

10. قانون Absorption یا جذب

A + AB = A
A(A + B) = A

این قانون در ساده‌سازی مدارها بسیار کاربردی است.

مثال: اگر داشته باشیم:
F = A + AB

طبق قانون جذب:

F = A

یعنی کل عبارت پیچیده‌تر در نهایت فقط به A تبدیل می‌شود.

11. قانون De Morgan

قوانین De Morgan از مهم‌ترین قوانین جبر بولی هستند و در طراحی مدارهای دیجیتال، NAND/NOR و تبدیل ساختار گیت‌ها کاربرد بسیار زیادی دارند.

قانون اول De Morgan

(A · B)̅ = A̅ + B̅

متمم AND برابر است با OR متمم‌های ورودی.

سمت چپ A B = سمت راست A B

قانون دوم De Morgan

(A + B)̅ = A̅ · B̅

متمم OR برابر است با AND متمم‌های ورودی.

روش حفظ De Morgan: وقتی خط متمم روی یک عبارت پرانتزی قرار می‌گیرد:
AND ↔ OR
و متمم تمام متغیرها نیز گرفته می‌شود.

جدول کامل قوانین مهم جبر بولی

نام قانون رابطه رابطه دوم
Identity A + 0 = A A · 1 = A
Null / Dominance A + 1 = 1 A · 0 = 0
Idempotent A + A = A A · A = A
Complement A + A̅ = 1 A · A̅ = 0
Double Negation (A̅)̅ = A
Commutative A+B = B+A AB = BA
Associative (A+B)+C = A+(B+C) (AB)C = A(BC)
Distributive A(B+C)=AB+AC A+BC=(A+B)(A+C)
Absorption A+AB=A A(A+B)=A
De Morgan (AB)̅=A̅+B̅ (A+B)̅=A̅B̅

یک مثال کامل از ساده‌سازی

فرض کنیم تابع زیر را داشته باشیم:

F = A + AB

طبق قانون Absorption:

A + AB = A

بنابراین:

F = A

یعنی یک عبارت شامل دو ترم، به یک متغیر ساده تبدیل شد.

مثال دوم: استفاده از Complement

F = A + A̅B

می‌توانیم از قانون توزیع بولی استفاده کنیم:

A + A̅B = (A + A̅)(A + B)

حالا:

A + A̅ = 1

پس:

F = 1(A+B)

و طبق قانون Identity:

F = A + B

چرا ساده‌سازی Boolean مهم است؟

فرض کنید یک تابع منطقی را به صورت یک مدار بزرگ با تعداد زیادی گیت ساخته‌ایم. اگر بتوانیم عبارت Boolean آن را ساده کنیم، ممکن است بتوانیم همان عملکرد را با گیت‌های کمتری پیاده‌سازی کنیم.

مدار پیچیده‌تر چند گیت Boolean Simplification گیت کمتر

این موضوع در سخت‌افزار اهمیت زیادی دارد، چون ساده‌سازی می‌تواند در شرایط مناسب باعث کاهش تعداد منطق موردنیاز، کاهش مسیرهای منطقی و در برخی طراحی‌ها کاهش تأخیر و مصرف منابع شود.

رابطه جبر بولی با FPGA

وقتی در Verilog مثلاً یک عبارت منطقی می‌نویسیم:

assign Y = A & B;

در سطح مفهومی، این عبارت بیان‌کننده یک عملیات AND است. ابزار سنتز سپس این منطق را به منابع سخت‌افزاری مناسب FPGA نگاشت می‌کند.

به همین دلیل یادگیری Boolean Algebra قبل از ورود جدی به Verilog و FPGA بسیار مهم است.

یک نقشه ذهنی برای یادگیری

0 و 1

Logic Gates

Boolean Algebra

Simplification

Truth Table

SOP / POS

Karnaugh Map

Combinational Circuits

Verilog / FPGA

جمع‌بندی

جبر بولی ابزار ریاضی اصلی برای تحلیل و ساده‌سازی مدارهای دیجیتال است. مهم‌ترین قوانینی که باید در این مرحله بلد باشید عبارت‌اند از: Identity، Null، Idempotent، Complement، Double Negation، Commutative، Associative، Distributive، Absorption و De Morgan.

نکته مهم برای ادامه مسیر: فقط حفظ کردن قوانین کافی نیست. باید بتوانید یک عبارت را مرحله‌به‌مرحله با استفاده از قوانین ساده کنید و در مرحله بعد، نتیجه را به مدار گیت‌ها تبدیل کنید.

در ادامه مسیر، موضوع بسیار مهم بعدی SOP و POS است؛ یعنی اینکه چگونه از روی Truth Table یک تابع Boolean بسازیم و آن را به شکل استاندارد نمایش دهیم. بعد از آن می‌توانیم وارد K-Map شویم و یاد بگیریم چگونه این توابع را به‌صورت سیستماتیک ساده کنیم.