تابع بولی

از ویکی‌پدیا، دانشنامهٔ آزاد
(تغییرمسیر از توابع بولی)

توابع بولی (به انگلیسی: 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. طراحی دیجیتال (مدار منطقی)، موریس مانو.

منابع[ویرایش]

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