منطق فازی

منطق فازی (به انگلیسی: fuzzy logic)شکلی از منطق‌های چندارزشی بوده که در آن مقادیر درستی متغیرها ممکن است هر عدد حقیقی بین 0 و 1 و خود صفر و یک باشد. این منطق به منظور به کارگیری مفهوم درستی جزئی، به طوری که مقادیر آن می تواند بین کاملا درست و کاملا غلط باشد، به کارگیری می شود.اصطلاح منطق فازی  اولین بار در پی تنظیم نظریهٔ مجموعه‌های فازی به وسیلهٔ پروفسور لطفی زاده (۱۹۶۵ م) در صحنهٔ محاسبات نو ظاهر شد.واژهٔ فازی به معنای غیردقیق، ناواضح و مبهم (شناور) است.
کاربرد این بخش در علوم نرم‌افزاری را می‌توان به‌طور ساده این‌گونه تعریف کرد: منطق فازی از منطق ارزش‌های «صفر و یک» نرم‌افزارهای کلاسیک فراتر رفته و درگاهی جدید برای دنیای علوم نرم‌افزاری و رایانه‌ها می‌گشاید، زیرا فضای شناور و نامحدود بین اعداد صفر و یک را نیز در منطق و استدلال‌های خود به کار برده و به چالش می‌کشد. منطق فازی از فضای بین دو ارزش «برویم» یا «نرویم»، ارزش‌های جدید «شاید برویم» یا «می‌رویم اگر» یا حتی «احتمال دارد برویم» را استخراج کرده و به کار می‌گیرد. بدین ترتیب به عنوان مثال مدیر بانک پس از بررسی رایانه‌ای بیلان اقتصادی یک بازرگان می‌تواند فراتر از منطق «وام می‌دهیم» یا «وام نمی‌دهیم» رفته و بگوید: «وام می‌دهیم اگر…» یا «وام نمی‌دهیم ولی…».

تاریخچه

منطق فازی بیش از بیست سال پس از ۱۹۶۵ از درگاه دانشگاه‌ها به بیرون راه نیافت زیرا کمتر کسی معنای آن را درک کرده بود. در اواسط دهه ۸۰ میلادی قرن گذشته صنعتگران ژاپنی معنا و ارزش صنعتی این علم را دریافته و منطق فازی را به کار گرفتند. اولین پروژه آن‌ها طرح هدایت و کنترل تمام خودکار قطار زیرزمینی شهر سندای بود که توسط شرکت هیتاچی برنامه‌ریزی و ساخته شد. نتیجهٔ این طرح موفق و چشم‌گیر ژاپنی‌ها به‌طور ساده این‌گونه خلاصه می‌شود: آغاز حرکت نامحسوس (تکان‌های ضربه‌ای) قطار، شتاب‌گرفتن نامحسوس، ترمز و ایستادن نامحسوس و صرفه جویی در مصرف برق. از این پس منطق فازی بسیار سریع در تکنولوژی دستگاه‌های صوتی و تصویری ژاپنی‌ها راه یافت (از جمله نلرزیدن تصویر فیلم دیجیتال ضمن لرزیدن دست فیلم‌بردار). اروپایی‌ها بسیار دیر، یعنی در اواسط دههٔ ۱۹۹۰ میلادی، پس از خوابیدن موج بحث‌های علمی در رابطه با منطق فازی استفادهٔ صنعتی از آن را آغاز کردند.

ملاحظات آغازین

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

مجموعه‌های فازی

مقالهٔ اصلی: مجموعه‌های فازی
برد تابع عضویت از  در مورد مجموعه‌های قطعی به بازهٔ بستهٔ  برای مجموعه‌های فازی تبدیل می‌شود.

متغیرهای زبانی

مقالهٔ اصلی: متغیرهای زبانی
متغیرهای زبانی به متغیرهایی گفته می‌شود که مقادیر مورد قبول برای آن‌ها به جای اعداد، کلمات و جملات زبان‌های انسانی یا ماشینی هستند.

همانگونه که در محاسبات ریاضی از متغیرهای عددی استفاده می‌گردد، در منطق فازی نیز از متغیرهای زبانی (گفتاری یا غیر عددی) استفاده می‌گردد. متغیرهای زبانی بر اساس ارزش‌های زبانی (گفتاری) که در مجموعه عبارت (کلمات/اصطلاحات) قرار دارند بیان می‌شود. عبارت زبانی (Linguistic terms) صفاتی برای متغیرهای زبانی هستند. به عنوان مثال: متغیر زبانی «سن» بسته به تقسیمات مورد نظر شخصی و شرایط می‌تواند مجموعه عباراتی از قبیل «نوجوان»، «جوان»، «میان سال» و «سالمند» باشد.
یا در مثالی دیگر، فشار (خون) را می‌توان متغیری زبانی در نظر گرفت، که ارزش‌هایی (خصوصیت‌هایی) از قبیل پایین، بالا، ضعیف، متوسط و قوی را می‌تواند در خود جای دهد. به زبان ریاضی داریم (T = Terms):

توابع عضویت

مقالهٔ اصلی: توابع عضویت
درجه عضویت  بیانگر میزان عضویت عنصر  به مجموعه فازی  است. اگر درجه عضویت یک عنصر از مجموعه برابر با صفر باشد، آن عضو کاملاً از مجموعه خارج است و اگر درجه عضویت یک عضو برابر با یک باشد، آن عضو کاملاً در مجموعه قرار دارد. حال اگر درجه عضویت یک عضو مابین صفر و یک باشد، این عدد بیانگر درجه عضویت تدریجی می‌باشد.

عدم قطعیت

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

مفاهیم نادقیق بسیاری در پیرامون ما وجود دارند که آن‌ها را به صورت روزمره در قالب عبارت‌های مختلف بیان می‌کنیم. به عنوان مثال: «هوا خوب است» هیچ کمیتی برای خوب بودن هوا مطرح نیست تا آن را به‌طور دقیق اندازه‌گیری نماییم، بلکه این یک حس کیفی است. در واقع مغز انسان با در نظر گرفتن عوامل گوناگون و بر پایه تفکر استنتاجی جملات را تعریف و ارزش‌گذاری می‌نماید که الگوبندی آن‌ها به زبان و فرمول‌های ریاضی اگر غیرممکن نباشد، کاری بسیار پیچیده خواهد بود. منطق فازی فناوری جدیدی است که شیوه‌هایی را که برای طراحی و مدل‌سازی یک سیستم نیازمند ریاضیات پیچیده و پیشرفته‌است، با استفاده از مقادیر زبانی و دانش فرد خبره جایگزین می‌سازد.

انگیزه‌ها و اهداف

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

مثلاً در مورد قد افراد، اگر آن‌ها با ارزش عددی (سانتی‌متر) اندازه‌گیری نماییم و افراد را به دسته‌های قدکوتاه و قدبلند تقسیم‌بندی کنیم و در این دسته‌بندی، حد آستانه ۱۸۰ سانتی‌متر برای بلندی قد مدنظر باشد، در اینصورت تمامی افراد زیر ۱۸۰ سانتی‌متر براساس منطق قدیم قد کوتاه‌اند. حتی اگر قد فرد ۱۷۹ سانتی‌متر باشد؛ ولی در مجموعه فازی هر یک از این صفات براساس تابع عضویت تعریف و بین صفر تا یک ارزشگذاری می‌شود.
از آن جا که ذهن ما با منطق دیگری کارهایش را انجام می‌دهد و تصمیماتش را اتّخاذ می‌کند، جهت شروع، ایجاد و ابداع منطق‌های تازه و چندارزشی مورد نیاز است که منطق فازی یکی از آن‌ها می‌باشد.