बूलियन लॉजिक (Boolean Logic) तर्कशास्त्र की वह शाखा है जो केवल दो मानों - सत्य (True) और असत्य (False) - पर आधारित है। इसका विकास 19वीं सदी में अंग्रेज़ गणितज्ञ जॉर्ज बूल ने किया था, इसीलिए इसे बूलियन बीजगणित कहा जाता है। कंप्यूटर में सत्य को 1 और असत्य को 0 द्वारा प्रदर्शित किया जाता है। बूलियन लॉजिक डिजिटल सर्किट, प्रोसेसर, डेटाबेस क्वेरी और प्रोग्रामिंग में निर्णय लेने का आधार है। प्रत्येक प्रोग्रामिंग भाषा में if-else जैसी शर्तों की गणना बूलियन बीजगणित पर ही निर्भर करती है।
बूलियन मान केवल दो होते हैं: True (1) और False (0)। बूलियन अभिव्यक्ति वह कथन है जिसका परिणाम हमेशा True या False में से एक होता है। उदाहरण के लिए, "5 > 3" एक बूलियन अभिव्यक्ति है जिसका मान True है, जबकि "5 < 3" का मान False है।
बूलियन संकारक (Boolean Operators) वे प्रतीक हैं जो दो बूलियन मानों पर क्रिया कर एक नया बूलियन मान देते हैं। मुख्य बूलियन संकारक तीन हैं: AND, OR और NOT।
AND संकारक केवल तभी True देता है जब दोनों इनपुट True हों। इसे प्रतीक (∧) या (.) से दर्शाया जाता है। पाइथन में इसे and लिखा जाता है।
- True AND True = True
- True AND False = False
- False AND True = False
- False AND False = False
OR संकारक तब True देता है जब दोनों में से कम से कम एक इनपुट True हो। इसे प्रतीक (∨) या (+) से दर्शाया जाता है। पाइथन में इसे or लिखा जाता है।
- True OR True = True
- True OR False = True
- False OR True = True
- False OR False = False
NOT एक यूनरी (Unary) संकारक है जो एक ही इनपुट पर क्रिया करता है। यह मान को उलट देता है। इसे प्रतीक (¬) या (') से दर्शाया जाता है। पाइथन में इसे not लिखा जाता है।
- NOT True = False
- NOT False = True
सत्य सारणी वह तालिका है जो सभी संभव इनपुट संयोजनों के लिए बूलियन अभिव्यक्ति का आउटपुट दर्शाती है। दो इनपुट वाले संकारकों के लिए 4 पंक्तियाँ होती हैं ($2^2$), तीन इनपुट के लिए 8 पंक्तियाँ ($2^3$)।
| A | B | A AND B | A OR B | NOT A |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 |
ये नियम NOT के वितरण से संबंधित हैं और डिजिटल लॉजिक में अत्यंत महत्वपूर्ण हैं: 1. $(A + B)' = A' . B'$ (OR का पूरक = पूरकों का AND) 2. $(A . B)' = A' + B'$ (AND का पूरक = पूरकों का OR)
उदाहरण: यदि A = 1 और B = 0 है, तो $(A + B)' = (1 + 0)' = 1' = 0$। दूसरी ओर $A' . B' = 0 . 1 = 0$। दोनों बराबर हैं।
लॉजिक गेट्स डिजिटल सर्किट के मूलभूत निर्माण खंड हैं। प्रत्येक गेट बूलियन संकारक का भौतिक रूप है।
| इनपुट A | इनपुट B | AND | OR | NAND | NOR | XOR | XNOR |
|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 |
| 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 |
| 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
पाइथन में True और False कीवर्ड होते हैं, तथा and, or, not संकारक उपलब्ध हैं।
a = 10
b = 5
print(a > 5 and b < 10) # True
print(a > 15 or b > 2) # True
print(not (a > 5)) # False
print(True and False) # False
print(True or False) # True
# बूलियन तुलनात्मक संकारक
x = 7
print(x == 7) # True
print(x != 3) # True
print(x >= 7) # True
पाइथन में तुलनात्मक संकारक ==, !=, >, <, >=, <= होते हैं। इनका परिणाम हमेशा बूलियन मान होता है।
बूलियन अभिव्यक्तियों को बूलियन नियमों का उपयोग कर सरल रूप में बदला जा सकता है। उदाहरण: $F = A.B + A.B'$ को सरल करने पर: $$F = A.(B + B') = A.1 = A$$ यहाँ वितरण नियम, पूरक नियम और तत्समक नियम का उपयोग हुआ। सरलीकरण से सर्किट में कम गेट लगते हैं, जिससे लागत घटती है।
बूलियन लॉजिक केवल सर्किट तक सीमित नहीं है, बल्कि प्रोग्रामिंग में निर्णय लेने की प्रत्येक प्रक्रिया इसी पर आधारित है। पाइथन में शर्तों के संयोजन के लिए and, or, not संकारकों का उपयोग होता है। उदाहरण के लिए, विद्यार्थी की पास होने की शर्त यह है कि उसे प्रत्येक विषय में उत्तीर्णांक (जैसे 33) प्राप्त होने चाहिए। इस प्रकार की बहु-शर्तों वाली जाँचों में बूलियन लॉजिक ही सहायक होता है।
hindi = int(input("हिंदी के अंक: "))
english = int(input("अंग्रेज़ी के अंक: "))
maths = int(input("गणित के अंक: "))
if hindi >= 33 and english >= 33 and maths >= 33:
print("उत्तीर्ण (Pass)")
else:
print("अनुत्तीर्ण (Fail)")
if hindi >= 90 or english >= 90 or maths >= 90:
print("कम से कम एक विषय में उच्चतम श्रेणी")
else:
print("कोई भी विषय 90 से अधिक नहीं है")
इसी प्रकार, किसी वृद्धिशील विद्यार्थी (जो 60 वर्ष से अधिक आयु का हो) को डिजिटल सेवाओं में प्राथमिकता देने की शर्त age > 60 or (senior_citizen and registered) जैसी अभिव्यक्ति से निर्धारित की जा सकती है। बूलियन अभिव्यक्ति का मूल्यांकन हमेशा बाएँ से दाएँ होता है और शॉर्ट-सर्किट मूल्यांकन (Short-Circuit Evaluation) के कारण यदि पहला संकार्य ही परिणाम निर्धारित कर दे, तो शेष संकार्यों का मूल्यांकन नहीं होता। उदाहरण के लिए, False and True में पहले ही False होने से दूसरे भाग की जाँच नहीं होती। यह समझ प्रोग्राम को तेज़ और त्रुटि-रहित बनाती है।
| संकारक | प्रतीक | पाइथन | आउटपुट सत्य होने की शर्त |
|---|---|---|---|
| AND | ∧ या . | and | दोनों True हों |
| OR | ∨ या + | or | कम से कम एक True हो |
| NOT | ¬ या ' | not | इनपुट False हो |
| गेट | व्युत्पत्ति | विशेषता | उपयोग |
|---|---|---|---|
| AND | मूल गेट | दोनों 1 पर ही 1 | सर्किट गुणन |
| OR | मूल गेट | एक 1 पर भी 1 | सर्किट योग |
| NOT | मूल गेट | विपरीत करता है | व्युत्क्रम |
| NAND | AND + NOT | सार्वभौमिक | सभी गेट बनाना |
| NOR | OR + NOT | सार्वभौमिक | सभी गेट बनाना |
| XOR | Exclusive OR | भिन्न इनपुट पर 1 | तुलना |
| XNOR | XOR का उल्टा | समान इनपुट पर 1 | समानता जाँच |
= (असाइनमेंट) और == (तुलना) के बीच अंतर नहीं समझना गलत है; बूलियन अभिव्यक्तियों में केवल == का उपयोग होता है।and, or, not और तुलनात्मक संकारकों का सही प्रयोग दर्शाएँ।बूलियन लॉजिक डिजिटल इलेक्ट्रॉनिक्स और प्रोग्रामिंग दोनों की रीढ़ है। AND, OR, NOT जैसे मूल संकारकों से लेकर NAND, NOR, XOR, XNOR जैसे व्युत्पन्न गेट्स तक, यह समझना आवश्यक है कि सत्य सारणी और बूलियन नियम किस प्रकार सर्किट डिज़ाइन को सरल बनाते हैं। डी मॉर्गन के नियम अभिव्यक्तियों को सरल करने में सहायक होते हैं। पाइथन में and, or, not के माध्यम से यही लॉजिक प्रोग्राम की शर्तों में उतरता है। इस अध्याय की दृढ़ समझ विद्यार्थी को तार्किक सोच और समस्या समाधान में बेहतर बनाती है।