منطق فازی یا «منطق تشکیک» (بهانگلیسی:fuzzy logic) شکلی ازمنطقهای چندارزشی بوده که در آنارزش منطقی متغیرها میتواند هرعدد حقیقی بین ۰ و ۱ و خود آنها باشد. این منطق به منظور بهکارگیری مفهوم درستی جزئی بهکارگیری میشود، به طوری که میزان درستی میتواند هر مقداری بین کاملاً درست و کاملاً غلط باشد.[۱] اصطلاح منطق فازی اولین بار در پی تنظیمنظریهٔ مجموعههای فازی به وسیلهٔ دکترلطفعلی عسگرزاده (۱۹۶۵ م) در صحنهٔ محاسبات نو ظاهر شد.[۲] واژهٔفازی به معنی: غیردقیق، ناواضح و مبهم (شناور) است.
کاربرد این منطق در علوم نرمافزاری را میتوان بهطور ساده اینگونه تعریف کرد: منطق فازی از منطق ارزشهای «صفر و یک» نرمافزارهای کلاسیک فراتر رفته و درگاهی جدید برای دنیای علوم نرمافزاری و رایانهها میگشاید، زیرا فضای شناور و نامحدود بین اعدادصفر ویک را نیز در منطق و استدلالهای خود به کار برده و به چالش میکشد. منطق فازی از فضای بین دو ارزش «برویم» یا «نرویم»، ارزشهای جدید «شاید برویم» یا «میرویم اگر» یا حتی «احتمال دارد برویم» را استخراج کرده و به کار میگیرد. بدین ترتیب به عنوان مثال مدیربانک پس از بررسی رایانهایبیلان اقتصادی یک بازرگان میتواند فراتر از منطق «وام میدهیم» یا «وام نمیدهیم» رفته و بگوید: «وام میدهیم اگر…» یا «وام نمیدهیم ولی…».
انسان اوليه براي توصيفات خود از منطق فازي بدون آداب و تربيتي بهره ميبرد. هنگامي که تفکر ارسطويي به وجود آمد نوع جديدي از شيوه انديشيدن جايگزين ديدگاه انسان شد. در اين شيوه علمي پديدهها يک نظم خاص از حالت دو وجهي پيدا کردند. منطق فازي در واقع واقعيتهاي حالات پديدهها و عبور از حالات دو وجهي را نشان ميدهد[۳]. منطق فازی براساس این مشاهدات استوار است که اکثر مواقع، افراد بر اساس اطلاعات غیر دقیق و غیر عددی تصمیمگیری میکنند (مانند پارک کردن اتومبیل). مدلها یا مجموعههای فازی، روشی ریاضی برای نشان دادن و بیان اطلاعات مبهم و غیر دقیق هستند.
دانش مورد نیاز برای بسیاری از مسائل مورد مطالعه به دو صورت متمایز ظاهر میشود:
۱.دانش عینی مثل مدلها و معادلات و فرمولهای ریاضی که از پیش تنظیم شده و برای حل و فصل مسائل معمولی فیزیک، شیمی، یا مهندسی مورد استفاده قرار میگیرد.
۲.دانش شخصی مثل دانستنیهایی که تا حدودی قابل توصیف و بیان زبانشناختی بوده، ولی امکان کمّی کردن آنها با کمک ریاضیات سنتی معمولاً وجود ندارد. به این نوع دانش،دانش ضمنی یا دانش تلویحی گفته میشود.
از آن جا که در بسیاری از موارد هر دو نوع دانش مورد نیاز است، منطق فازی میکوشد آنها را به صورتی منظم، منطقی و به کمک یک مدل ریاضی بایکدیگر هماهنگ گرداند.
پس از ۱۹۶۵، منطق فازی بیش از بیست سال از درگاه دانشگاهها به بیرون راه نیافت زیرا کمتر کسی معنای آن را درک کرده بود. در اواسط دهه ۸۰ میلادی قرن گذشته صنعتگران ژاپنی معنا و ارزش صنعتی این علم را دریافته و منطق فازی را به کار گرفتند. اولین پروژه آنها طرح هدایت و کنترل تمام خودکارقطار زیرزمینی شهرسندایژاپن بود که توسط شرکتهیتاچی برنامهریزی و ساخته شد. نتیجهٔ این طرح موفق و چشمگیر ژاپنیها بهطور ساده اینگونه خلاصه میشود: آغاز حرکت نامحسوس (تکانهای ضربهای) قطار، شتابگرفتن نامحسوس، ترمز و ایستادن نامحسوس و صرفه جویی در مصرف برق. از این پس منطق فازی بسیار سریع در فناوری دستگاههای صوتی و تصویری ژاپنیها راه یافت (از جمله لرزشگیر فیلم دیجیتال ضمن لرزیدن دست فیلمبردار). اروپاییها بسیار دیر، یعنی در اواسط دههٔ ۱۹۹۰ میلادی، پس از خوابیدن موج بحثهای علمی در رابطه با منطق فازی استفادهٔ صنعتی از آن را آغاز کردند.
منطق فازی از جملهمنطقهای چندارزشی است و بر نظریهٔ مجموعههای فازی تکیه میکند. مجموعههای فازی، خود از تعمیم و گسترش مجموعههای قطعی به صورتی طبیعی حاصل میآیند.
مجموعههای قطعی (Crisp sets) در واقع همان مجموعههای عادی و معمولی هستند که در ابتداینظریهٔ کلاسیک مجموعهها معرفی میشوند. افزودن صفت قطعی به واقع وجه تمایزی را ایجاد مینماید که به کمک آن میشود یکی از مفاهیم ابتکاری و حیاتی در منطق فازی موسوم بهتابع عضویت را به آسانی در ذهن به وجود آورد.
در حالت مجموعههای قطعی، تابع عضویت فقط دو مقدار دربرد خود دارد (در ریاضیات، برد یک تابع برابر با مجموعه تمام خروجیهای تابع است).
آری و خیر (یک و صفر) که همان دو مقدار ممکن درمنطق دوارزشی کلاسیک هستند؛ بنابراین:
متغیرهای زبانی به متغیرهایی گفته میشود که مقادیر مورد قبول برای آنها به جایاعداد،کلمات وجملاتزبانهای انسانی یاماشینی هستند. همانگونه که در محاسبات ریاضی از متغیرهای عددی استفاده میگردد، در منطق فازی نیز از متغیرهای زبانی (گفتاری یا غیر عددی) استفاده میگردد. متغیرهای زبانی بر اساس ارزشهای زبانی (گفتاری) که در مجموعه عبارت (کلمات/اصطلاحات) قرار دارند بیان میشود. عبارت زبانی (Linguistic terms) صفاتی برای متغیرهای زبانی هستند. به عنوان مثال: متغیر زبانی «سن» بسته به تقسیمات مورد نظر شخصی و شرایط میتواند مجموعه عباراتی از قبیل «نوجوان»، «جوان»، «میان سال» و «سالمند» باشد.
مجموعه عبارات (اصطلاحات) فازی (سن) = { «جوان»، «نه جوان»، «نه چندان جوان»، «خیلی جوان» ،... ، «میان سال»، «نه چندان میان سال»... ، «پیر»، «نه پیر»، «خیلی پیر»، «کم و بیش پیر»... ، «نه خیلی جوان و نه خیلی پیر»، «نه جوان و نه پیر»...}
یا در مثالی دیگر، فشار (خون) را میتوان متغیری زبانی در نظر گرفت، که ارزشهایی (خصوصیتهایی) از قبیل پایین، بالا، ضعیف، متوسط و قوی را میتواند در خود جای دهد. به زبان ریاضی داریم (T = Terms):
درجه عضویت بیانگر میزان عضویت عنصر به مجموعه فازی است. اگر درجه عضویت یک عنصر از مجموعه برابر با صفر باشد، آن عضو کاملاً از مجموعه خارج است و اگر درجه عضویت یک عضو برابر با یک باشد، آن عضو کاملاً در مجموعه قرار دارد. حال اگر درجه عضویت یک عضو مابین صفر و یک باشد، این عدد بیانگر درجه عضویت تدریجی میباشد.
صفت عدم قطعیت، به صورتهای گوناگون، در همهٔ زمینهها و پدیدهها صرف نظر ازروششناسی مورد کاربرد جهت مطالعه، طراحی، و کنترل پدیدار میشود. مفاهیم نادقیق بسیاری در پیرامون ما وجود دارند که آنها را به صورت روزمره در قالب عبارتهای مختلف بیان میکنیم. به عنوان مثال: «هوا خوب است» هیچ کمیتی برای خوب بودن هوا مطرح نیست تا آن را بهطور دقیق اندازهگیری نماییم، بلکه این یک حس کیفی است. در واقعمغز انسان با در نظر گرفتن عوامل گوناگون و بر پایه تفکر استنتاجی جملات را تعریف و ارزشگذاری مینماید که الگوبندی آنها به زبان و فرمولهای ریاضی اگر غیرممکن نباشد، کاری بسیار پیچیده خواهد بود. منطق فازیفناوری جدیدی است که شیوههایی را که برای طراحی و مدلسازی یک سیستم نیازمندریاضیات پیچیده و پیشرفتهاست، با استفاده از مقادیر زبانی و دانش فرد خبره جایگزین میسازد.
برای مقابلهٔ مؤثر باپیچیدگی روزافزون در بررسی، مطالعه،مدلسازی و حل مسائل جدید درفیزیک،مهندسی،پزشکی،زیستشناسی و بسیاری از امور گوناگون دیگر ایجاد و ابداع روشهای محاسباتی جدیدی مورد نیاز شدهاست که بیشتر از پیش به شیوههایتفکر وتعلم خودانسان نزدیک باشد. هدف اصلی آنست که تا حد امکان،رایانهها بتوانند مسائل و مشکلات بسیار پیچیدهٔ علمی را با همان سهولت و شیوایی بررسی و حل و فصل کنند که ذهن انسان قادر به ادراک و اخذ تصمیمات سریع و مناسب است.
در جهان واقعیات، بسیاری ازمفاهیم را آدمی به صورت فازی (به معنای غیر دقیق، ناواضح و مبهم) درک میکند و به کار میبندد. به عنوان نمونه، هر چند کلمات و مفاهیمی همچون گرم، سرد، بلند، کوتاه، پیر، جوان و نظائر اینها به عدد خاص و دقیقی اشاره ندارند، اما ذهن انسان با سرعت و با انعطافپذیری شگفتآوری همه را میفهمد و در تصمیمات و نتیجهگیریهای خود به کار میگیرد. این، در حالی ست که ماشین فقط اعداد را میفهمد و اهل دقّت است. اهداف شیوههای نو در علوم کامپیوتر آن است که اولاً رمز و راز اینگونه تواناییها را از انسان بیاموزد و سپس آنها را تا حد امکان به ماشین یاد بدهد.
قوانین علمی گذشته درفیزیک و مکانیک نیوتونی همه بر اساسمنطق قدیم استوار گردیدهاند. در منطق قدیم فقط دو حالت داریم: سفید و سیاه، آری و خیر، روشن و تاریک، یک و صفر و درست و غلط.
متغیرها در طبیعت یا در محاسبات بر دو نوعند: ارزشهای کمی که میتوان با یک عدد معین بیان نمود و ارزشهای کیفی که براساس یک ویژگی بیان میشود. این دو ارزش قابل تبدیلاند. مثلاً در مورد قد افراد، اگر آنها با ارزش عددی (سانتیمتر) اندازهگیری نماییم و افراد را به دستههای قدکوتاه و قدبلند تقسیمبندی کنیم و در این دستهبندی، حد آستانه ۱۸۰ سانتیمتر برای بلندی قد مدنظر باشد، در اینصورت تمامی افراد زیر ۱۸۰ سانتیمتر براساس منطق قدیم قد کوتاهاند. حتی اگر قد فرد ۱۷۹ سانتیمتر باشد؛ ولی در مجموعه فازی هر یک از این صفات براساس تابع عضویت تعریف و بین صفر تا یک ارزشگذاری میشود.
از آن جا که ذهن ما با منطق دیگری کارهایش را انجام میدهد و تصمیماتش را اتّخاذ میکند، جهت شروع، ایجاد و ابداع منطقهای تازه و چندارزشی مورد نیاز است که منطق فازی یکی از آنها میباشد.
برای هر دستور کار و خواسته عملکرد مکانیکی، الکترومغناطیسی یا نرمافزاری و غیره که برای آن فرمول یا دستورالعمل مطلق و شفاف ریاضی وجود نداشته باشد و بهویژه زمانی که دستور کار بهوسیلهٔ جملات انشاء شده باشد، نرمافزار متکی به منطق فازی راهگشا و کارآمد است.
برخی از کاربردها عبارتند از:
هدایت و کنترل هرگونه دستگاه و تأسیسات پویا و حرکتساز را میتوان با کمک منطق فازی به بهترین وجه اعمال نمود. از جملهماشین لباسشویی،قطارها،ترمز ایبیاس خودرو،آسانسور،جرثقیل،تسمه نقاله، موتورهای احتراقی، نشست و برخاست خودکار هواپیما و غیره.
کارهای ریسکشناسی، آماری و ارزیابی بانکی جهت تصمیمگیریهای مدیران.
محاسبات آماری بیمهها برای یافتن فاکتورهای ریسک در قراردادها. (بسیاری از شرکتهای بیمه در جهان، ارزیابی صدمات و طلب خسارت مشتریان را چند سالی است بوسیله نرمافزارهای فازی پوشش میدهند و از این راه با تقلب و کلاهبرداریهای مشتریان مبارزه میکنند)