تابع بولی

(تغییرمسیر از توابع بولی)

توابع بولی (به انگلیسی: boolean functions)، به تابعی گویند که از یک عبارت جبری متشکل از متغیرهای دودویی و ثابت‌های ۰ و ۱، عملگرهای منطقی «یا»، «و»، «نفی» و همچنین پرانتز و علامت مساوی است. تابع بول را می‌توان به نمودار مداری به نام دروازه منطقی (گیت) تبدیل کرد. برای یک مقدار مشخص متغیرها، تابع فقط می‌تواند مقدار ۰ یا ۱ داشته باشد.[۱]

تعریف دقیقویرایش

در ریاضی، یک تابع بولی (محدود) تابعی است به‌صورت 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 متوالی است.

توابع بولی و کاربردویرایش

یک تابع بولی مشخص می‌کند که چگونه به وسیلهٔ محاسبات منطقی و ورودی‌های بولی، خروجی مناسب بسازیم. چنین توابعی نقشی اساسی در مسائل نظریه پیچیدگی دارند، همچنین در طراحی مدارها و چیپ‌های کامپیوترهای دیجیتال. ویژگی‌های توابع بولی نقش بسیار مهمی را در رمزنگاری ایفا می‌کنند، به ویژه در طراحی الگوریتم‌های کلید متقارن.
توابع بولی غالباً بوسیلهٔ گزاره‌های منطقی نشان داده می‌شوند، اما نمودار تصمیم دوگانه، روش خنثی‌سازی متعارف و گراف‌های جهت دار غیر چرخشی گزاره‌ای روش‌های کارآمد تری برای نمایش آن هستند.

دروازه منطقیویرایش

دروازه‌های منطقی بلوک‌های سخت‌افزاری هستند که اگر ورودی مناسبی داشته باشند در خروجی خود ۰ و ۱ تولید می‌نمایند. یک دروازه منطقی می‌تواند بیش از دو ورودی داشته باشد. دروازه‌های منطقی استانداردی که در طراحی سیستم‌های دیجیتال به کار می‌روند معادل توابع بولی است که خلاصه‌ای از آن در مطالب فوق بیان شد.

ساده‌سازی تابع‌های بولی دو-متغیرهویرایش

  • با استفاده از جدول کارنو: یک روش مناسب برای ساده کردن تابع‌های بول است.[۲]
نقشهٔ دو متغیره:
جدول سه متغیره:
جدول چهار متغیره:

سایر مطالب مرتبطویرایش

پانویسویرایش

  1. «Boolean operators یا اپراتورهای بولی چیست؟». تکولایف. ۲۰۲۰-۰۵-۰۸. دریافت‌شده در ۲۰۲۰-۱۲-۲۳.
  2. طراحی دیجیتال (مدار منطقی)، موریس مانو.

منابعویرایش

  • ویکی‌پدیای انگلیسی
  • کتاب مدار منطقی ویکتور پی نلسون