تابع بولی
توابع بولی (به انگلیسی: boolean functions)، به تابعی گویند که از یک عبارت جبری متشکل از متغیرهای دودویی و ثابتهای ۰ و ۱، عملگرهای منطقی «یا»، «و»، «نفی» و همچنین پرانتز و علامت مساوی است. تابع بول را میتوان به نمودار مداری به نام دروازه منطقی (گیت) تبدیل کرد. برای یک مقدار مشخص متغیرها، تابع فقط میتواند مقدار ۰ یا ۱ داشته باشد.[1]
تعریف دقیق
در ریاضی، یک تابع بولی (محدود) تابعی است بهصورت f: Bk → B نمایش داده میشود، که در آن { B = {۰, ۱ دامنهٔ بولی و k عدد صحیح نامنفی است که
عدد آرگومان تابع نامیده میشود، در صورتی که k=۰، «تابع» لزوماً یک المان ثابت B است.
هر فرمول بول k-تایی را میتوان به صورت فرمول گزارهای نشان داد که تابع k متغیر x1,x2,. . . باشد؛ دو فورمول به صورت منطقی معادلاند اگر و فقط اگر دو تابع بولی یکسان را مشخص کنند. برای هر k تابع داریم.
انواع توابع بول
توابع بول با توجه به خروجی حاصل از هر مجموعه ورودی به شانزده عنوان نامگذاری شدهاند که پر کاربردترین آنها عبارتند از:
تابع بولی NOT
این تابع مقدار ورودی یک را صفر و صفر را یک میکند.
این مدار وضعیت متغیر دودویی را معکوس میکند.
همچنین متمم متغیر را تولید میکند.
تابع بولی OR
در این تابع تنها اگر یکی از متغیرها مقدار یک داشته باشد خروجی برابر یک خواهد بود.
در صورتی مقدار خروجی صفر میشود که تمام ورودیها برابر صفر باشند.
تابع بولی AND
در این تابع اگر یکی از متغیرها صفر باشد خروجی گیت نیز صفر خواهد بود.
تابع بولی فوق در صورتی مقدار یک را برمیگرداند که همهٔ متغیرها برابر یک باشند.
تابع بولی NAND
این تابع بولی معادل با NOT AND میباشد.
خروجی ان در صورتی صفر میشود که تمام متغیرهای ورودی ان یک باشند.
تابع بولی NOR
این تابع هم معادل NOT OR میباشد.
یعنی خروجی تنها در صورتی یک میباشد که تمام ورودیها برابر صفر باشند.
تابع بولی XOR
در این تابع بول اگر همهٔ متغیرهای ورودی از یک نوع باشند یعنی اگر همهٔ ورودیها یک یا صفر باشد خروجی صفر خواهد بود.
در غیر این صورت برابر یک میباشد.
XOR چند ورودی از نظر سختافزاری متداول نیست.
XOR یک تابع بولی فرد است؛ یعنی اگر ورودی اش دارای تعداد فردی یک باشد خروجی ان برابر یک میشود.
تابع بولی XNOR
در این تابع بولی اگر متغیرهای ورودی از یک نوع باشند خروجی یک میشود در غیر این صورت برابر صفر خواهد بود.
تابع بولی BUFFER
این تابع عمل منطقی تولید نمیکند.
مقدار دودویی ورودی برابر مقدار خروجی است.
از مدار بافر در تقویت توان سیگنالها استفاده میشود.
BUFEER معادل دو NOT متوالی است.
توابع بولی و کاربرد
یک تابع بولی مشخص میکند که چگونه به وسیلهٔ محاسبات منطقی و ورودیهای بولی، خروجی مناسب بسازیم. چنین توابعی نقشی اساسی در مسائل نظریه پیچیدگی دارند، همچنین در طراحی مدارها و چیپهای کامپیوترهای دیجیتال. ویژگیهای توابع بولی نقش بسیار مهمی را در رمزنگاری ایفا میکنند، به ویژه در طراحی الگوریتمهای کلید متقارن.
توابع بولی غالباً بوسیلهٔ گزارههای منطقی نشان داده میشوند، اما نمودار تصمیم دوگانه، روش خنثیسازی متعارف و گرافهای جهت دار غیر چرخشی گزارهای روشهای کارآمد تری برای نمایش آن هستند.
دروازه منطقی
دروازههای منطقی بلوکهای سختافزاری هستند که اگر ورودی مناسبی داشته باشند در خروجی خود ۰ و ۱ تولید مینمایند. یک دروازه منطقی میتواند بیش از دو ورودی داشته باشد. دروازههای منطقی استانداردی که در طراحی سیستمهای دیجیتال به کار میروند معادل توابع بولی است که خلاصهای از آن در مطالب فوق بیان شد.
سادهسازی تابعهای بولی دو-متغیره
- با استفاده از جدول کارنو: یک روش مناسب برای ساده کردن تابعهای بول است.[2]
- نقشهٔ دو متغیره:
- جدول سه متغیره:
- جدول چهار متغیره:
سایر مطالب مرتبط
- جبر محموعهها
- جبر بول
- موضوعات جبر بولی
- دامنه بولی
- منطق بول
- توابع مقدار بول
- رابطه منطقی
- تابع حقیقت
پانویس
- «Boolean operators یا اپراتورهای بولی چیست؟». تکولایف. ۲۰۲۰-۰۵-۰۸. دریافتشده در ۲۰۲۰-۱۲-۲۳.
- طراحی دیجیتال (مدار منطقی)، موریس مانو.
منابع
- ویکیپدیای انگلیسی
- کتاب مدار منطقی ویکتور پی نلسون