منطق فازی
منطق فازی (به انگلیسی: fuzzy logic) شکلی از منطقهای چندارزشی بوده که در آن ارزش منطقی متغیرها میتواند هر عدد حقیقی بین ۰ و ۱ و خود آنها باشد. این منطق به منظور بهکارگیری مفهوم درستی جزئی بهکارگیری میشود، به طوری که میزان درستی میتواند هر مقداری بین کاملاً درست و کاملاً غلط باشد.[1] اصطلاح منطق فازی اولین بار در پی تنظیم نظریهٔ مجموعههای فازی به وسیلهٔ لطفی زاده (۱۹۶۵ م) در صحنهٔ محاسبات نو ظاهر شد.[2]واژهٔ فازی به معنای غیردقیق، ناواضح و مبهم (شناور) است.
کاربرد این منطق در علوم نرمافزاری را میتوان بهطور ساده اینگونه تعریف کرد: منطق فازی از منطق ارزشهای «صفر و یک» نرمافزارهای کلاسیک فراتر رفته و درگاهی جدید برای دنیای علوم نرمافزاری و رایانهها میگشاید، زیرا فضای شناور و نامحدود بین اعداد صفر و یک را نیز در منطق و استدلالهای خود به کار برده و به چالش میکشد. منطق فازی از فضای بین دو ارزش «برویم» یا «نرویم»، ارزشهای جدید «شاید برویم» یا «میرویم اگر» یا حتی «احتمال دارد برویم» را استخراج کرده و به کار میگیرد. بدین ترتیب به عنوان مثال مدیر بانک پس از بررسی رایانهای بیلان اقتصادی یک بازرگان میتواند فراتر از منطق «وام میدهیم» یا «وام نمیدهیم» رفته و بگوید: «وام میدهیم اگر…» یا «وام نمیدهیم ولی…».
مقدمه
منطق فازی براساس این مشاهدات استوار است که اکثر مواقع، افراد بر اساس اطلاعات غیر دقیق و غیر عددی تصمیمگیری میکنند (مانند پارک کردن اتومبیل). مدلها یا مجموعههای فازی، روشی ریاضی برای نشان دادن و بیان اطلاعات مبهم و غیر دقیق هستند.
دانش مورد نیاز برای بسیاری از مسائل مورد مطالعه به دو صورت متمایز ظاهر میشود:
- ۱. دانش عینی مثل مدلها و معادلات و فرمولهای ریاضی که از پیش تنظیم شده و برای حل و فصل مسائل معمولی فیزیک، شیمی، یا مهندسی مورد استفاده قرار میگیرد.
- ۲. دانش شخصی مثل دانستنیهایی که تا حدودی قابل توصیف و بیان زبانشناختی بوده، ولی امکان کمّی کردن آنها با کمک ریاضیات سنتی معمولاً وجود ندارد. به این نوع دانش، دانش ضمنی یا دانش تلویحی گفته میشود.
از آن جا که در بسیاری از موارد هر دو نوع دانش مورد نیاز است، منطق فازی میکوشد آنها را به صورتی منظم، منطقی و به کمک یک مدل ریاضی بایکدیگر هماهنگ گرداند.
تاریخچه
منطق فازی بیش از بیست سال پس از ۱۹۶۵ از درگاه دانشگاهها به بیرون راه نیافت زیرا کمتر کسی معنای آن را درک کرده بود. در اواسط دهه ۸۰ میلادی قرن گذشته صنعتگران ژاپنی معنا و ارزش صنعتی این علم را دریافته و منطق فازی را به کار گرفتند. اولین پروژه آنها طرح هدایت و کنترل تمام خودکار قطار زیرزمینی شهر سندای بود که توسط شرکت هیتاچی برنامهریزی و ساخته شد. نتیجهٔ این طرح موفق و چشمگیر ژاپنیها بهطور ساده اینگونه خلاصه میشود: آغاز حرکت نامحسوس (تکانهای ضربهای) قطار، شتابگرفتن نامحسوس، ترمز و ایستادن نامحسوس و صرفه جویی در مصرف برق. از این پس منطق فازی بسیار سریع در تکنولوژی دستگاههای صوتی و تصویری ژاپنیها راه یافت (از جمله نلرزیدن تصویر فیلم دیجیتال ضمن لرزیدن دست فیلمبردار). اروپاییها بسیار دیر، یعنی در اواسط دههٔ ۱۹۹۰ میلادی، پس از خوابیدن موج بحثهای علمی در رابطه با منطق فازی استفادهٔ صنعتی از آن را آغاز کردند.
ملاحظات آغازین
منطق فازی از جمله منطقهای چندارزشی است و بر نظریهٔ مجموعههای فازی تکیه میکند. مجموعههای فازی، خود از تعمیم و گسترش مجموعههای قطعی به صورتی طبیعی حاصل میآیند.
مجموعههای قطعی
مجموعههای قطعی (Crisp sets) در واقع همان مجموعههای عادی و معمولی هستند که در ابتدای نظریهٔ کلاسیک مجموعهها معرفی میشوند. افزودن صفت قطعی به واقع وجه تمایزی را ایجاد مینماید که به کمک آن میشود یکی از مفاهیم ابتکاری و حیاتی در منطق فازی موسوم به تابع عضویت را به آسانی در ذهن به وجود آورد.
در حالت مجموعههای قطعی، تابع عضویت فقط دو مقدار در برد خود دارد (در ریاضیات، برد یک تابع برابر با مجموعه تمام خروجیهای تابع است).
آری و خیر (یک و صفر) که همان دو مقدار ممکن در منطق دوارزشی کلاسیک هستند؛ بنابراین:
که در اینجا تابع عضویت عنصر در مجموعه قطعی است.
مجموعههای فازی
مقالهٔ اصلی: مجموعههای فازی
برد تابع عضویت از در مورد مجموعههای قطعی به بازهٔ بستهٔ برای مجموعههای فازی تبدیل میشود.
متغیرهای زبانی
مقالهٔ اصلی: متغیرهای زبانی
متغیرهای زبانی به متغیرهایی گفته میشود که مقادیر مورد قبول برای آنها به جای اعداد، کلمات و جملات زبانهای انسانی یا ماشینی هستند.
همانگونه که در محاسبات ریاضی از متغیرهای عددی استفاده میگردد، در منطق فازی نیز از متغیرهای زبانی (گفتاری یا غیر عددی) استفاده میگردد. متغیرهای زبانی بر اساس ارزشهای زبانی (گفتاری) که در مجموعه عبارت (کلمات/اصطلاحات) قرار دارند بیان میشود. عبارت زبانی (Linguistic terms) صفاتی برای متغیرهای زبانی هستند. به عنوان مثال: متغیر زبانی «سن» بسته به تقسیمات مورد نظر شخصی و شرایط میتواند مجموعه عباراتی از قبیل «نوجوان»، «جوان»، «میان سال» و «سالمند» باشد.
مجموعه عبارات (اصطلاحات) فازی (سن) = { «جوان»، «نه جوان»، «نه چندان جوان»، «خیلی جوان» ،... ، «میان سال»، «نه چندان میان سال»... ، «پیر»، «نه پیر»، «خیلی پیر»، «کم و بیش پیر»... ، «نه خیلی جوان و نه خیلی پیر»، «نه جوان و نه پیر»...}
یا در مثالی دیگر، فشار (خون) را میتوان متغیری زبانی در نظر گرفت، که ارزشهایی (خصوصیتهایی) از قبیل پایین، بالا، ضعیف، متوسط و قوی را میتواند در خود جای دهد. به زبان ریاضی داریم (T = Terms):
{پایین، بالا، ضعیف، متوسط، قوی} = (فشار)T
توابع عضویت
مقالهٔ اصلی: توابع عضویت
درجه عضویت بیانگر میزان عضویت عنصر به مجموعه فازی است. اگر درجه عضویت یک عنصر از مجموعه برابر با صفر باشد، آن عضو کاملاً از مجموعه خارج است و اگر درجه عضویت یک عضو برابر با یک باشد، آن عضو کاملاً در مجموعه قرار دارد. حال اگر درجه عضویت یک عضو مابین صفر و یک باشد، این عدد بیانگر درجه عضویت تدریجی میباشد.
عدم قطعیت
مقالهٔ اصلی: عدم قطعیت
صفت عدم قطعیت، به صورتهای گوناگون، در همهٔ زمینهها و پدیدهها صرف نظر از روششناسی مورد کاربرد جهت مطالعه، طراحی، و کنترل پدیدار میشود.
مفاهیم نادقیق بسیاری در پیرامون ما وجود دارند که آنها را به صورت روزمره در قالب عبارتهای مختلف بیان میکنیم. به عنوان مثال: «هوا خوب است» هیچ کمیتی برای خوب بودن هوا مطرح نیست تا آن را بهطور دقیق اندازهگیری نماییم، بلکه این یک حس کیفی است. در واقع مغز انسان با در نظر گرفتن عوامل گوناگون و بر پایه تفکر استنتاجی جملات را تعریف و ارزشگذاری مینماید که الگوبندی آنها به زبان و فرمولهای ریاضی اگر غیرممکن نباشد، کاری بسیار پیچیده خواهد بود. منطق فازی فناوری جدیدی است که شیوههایی را که برای طراحی و مدلسازی یک سیستم نیازمند ریاضیات پیچیده و پیشرفتهاست، با استفاده از مقادیر زبانی و دانش فرد خبره جایگزین میسازد.
انگیزهها و اهداف
برای مقابلهٔ مؤثر با پیچیدگی روزافزون در بررسی، مطالعه، مدلسازی و حل مسائل جدید در فیزیک، مهندسی، پزشکی، زیستشناسی و بسیاری از امور گوناگون دیگر ایجاد و ابداع روشهای محاسباتی جدیدی مورد نیاز شدهاست که بیشتر از پیش به شیوههای تفکر و تعلم خود انسان نزدیک باشد. هدف اصلی آنست که تا حد امکان، رایانهها بتوانند مسائل و مشکلات بسیار پیچیدهٔ علمی را با همان سهولت و شیوایی بررسی و حل و فصل کنند که ذهن انسان قادر به ادراک و اخذ تصمیمات سریع و مناسب است.
در جهان واقعیات، بسیاری از مفاهیم را آدمی به صورت فازی (به معنای غیر دقیق، ناواضح و مبهم) درک میکند و به کار میبندد. به عنوان نمونه، هر چند کلمات و مفاهیمی همچون گرم، سرد، بلند، کوتاه، پیر، جوان و نظائر اینها به عدد خاص و دقیقی اشاره ندارند، اما ذهن انسان با سرعت و با انعطافپذیری شگفتآوری همه را میفهمد و در تصمیمات و نتیجهگیریهای خود به کار میگیرد. این، در حالی ست که ماشین فقط اعداد را میفهمد و اهل دقّت است. اهداف شیوههای نو در علوم کامپیوتر آن است که اولاً رمز و راز اینگونه تواناییها را از انسان بیاموزد و سپس آنها را تا حد امکان به ماشین یاد بدهد.
قوانین علمی گذشته در فیزیک و مکانیک نیوتونی همه بر اساس منطق قدیم استوار گردیدهاند. در منطق قدیم فقط دو حالت داریم: سفید و سیاه، آری و خیر، روشن و تاریک، یک و صفر و درست و غلط.
متغیرها در طبیعت یا در محاسبات بر دو نوعند: ارزشهای کمی که میتوان با یک عدد معین بیان نمود و ارزشهای کیفی که براساس یک ویژگی بیان میشود. این دو ارزش قابل تبدیلاند.
مثلاً در مورد قد افراد، اگر آنها با ارزش عددی (سانتیمتر) اندازهگیری نماییم و افراد را به دستههای قدکوتاه و قدبلند تقسیمبندی کنیم و در این دستهبندی، حد آستانه ۱۸۰ سانتیمتر برای بلندی قد مدنظر باشد، در اینصورت تمامی افراد زیر ۱۸۰ سانتیمتر براساس منطق قدیم قد کوتاهاند. حتی اگر قد فرد ۱۷۹ سانتیمتر باشد؛ ولی در مجموعه فازی هر یک از این صفات براساس تابع عضویت تعریف و بین صفر تا یک ارزشگذاری میشود.
از آن جا که ذهن ما با منطق دیگری کارهایش را انجام میدهد و تصمیماتش را اتّخاذ میکند، جهت شروع، ایجاد و ابداع منطقهای تازه و چندارزشی مورد نیاز است که منطق فازی یکی از آنها میباشد.
کاربردهای صنعتی
برای هر دستور کار و خواسته عملکرد مکانیکی، الکترومغناطیسی یا نرمافزاری و غیره که برای آن فرمول یا دستورالعمل مطلق و شفاف ریاضی وجود نداشته باشد و بهویژه زمانی که دستور کار بهوسیلهٔ جملات انشاء شده باشد، نرمافزار متکی به منطق فازی راهگشا و کارآمد است.
برخی از کاربردها عبارتند از:
- هدایت و کنترل هرگونه دستگاه و تأسیسات پویا و حرکتساز را میتوان با کمک منطق فازی به بهترین وجه اعمال نمود. از جمله ماشین لباسشویی، قطارها، ترمز ایبیاس خودرو، آسانسور، جرثقیل، تسمه نقاله، موتورهای احتراقی، نشست و برخاست خودکار هواپیما و غیره.
- دستگاههای سمعی/بصری دیجیتال.
- «آیندهنگری» نرمافزارها جهت جلوگیری از هنگ کردن سرورها، کنترل موتورهای جستجوگر در اینترنت، سیستمهای نرمافزاری ترجمه، رباتیک و هوش مصنوعی، بررسی احتمال برداشتهای سرندیپیتی، مهندسی پزشکی از جمله آسیبشناسی یا هدایت و کنترل تأسیسات سی تی اسکن، سی سی یو و آی سی یو، دستگاه ضربانساز قلب.
- کارهای ریسکشناسی، آماری و ارزیابی بانکی جهت تصمیمگیریهای مدیران.
- محاسبات آماری بیمهها برای یافتن فاکتورهای ریسک در قراردادها. (بسیاری از شرکتهای بیمه در جهان، ارزیابی صدمات و طلب خسارت مشتریان را چند سالی است بوسیله نرمافزارهای فازی پوشش میدهند و از این راه با تقلب و کلاهبرداریهای مشتریان مبارزه میکنند)
منابع
فان پلت، Fuzzy Logic Applied to Daily Life. Seattle, WA. شابک ۰-۲۵۲-۱۶۳۴۱-۹
مالک مسعودی، A Tactical Model under Uncertainty for Helicopter Maintenance Planning
- Novák, V.; Perfilieva, I. (1999). Mathematical principles of fuzzy logic. Dordrecht: Kluwer Academic. ISBN 978-0-7923-8595-0. Text "lasMočkoř, J." ignored (help)
- «Zadeh L.A. ,1965, "Fuzzy sets". Information and Control 8: 338–353» (PDF). بایگانیشده از اصلی (PDF) در ۲۲ ژوئن ۲۰۰۷. دریافتشده در ۱ مه ۲۰۰۸.
جستارهای وابسته
- منطق در فضای آگاهی
- هوش مصنوعی
- سامانههای خبره
- مجموعههای فازی
- نظریه امکان
- شبکه عصبی مصنوعی
- سیستم خبره
- معمای غلط
- یادگیری ماشینی
- منطقهای چندارزشی
- فازی-عصبی
پیوند به بیرون
- منطق فازی، دائرةالمعارف فلسفهٔ استانفورد
- عارف، رضا، مغالطه پژوهی نزد فیلسوفان مسلمان، انتشارات حکمت، ۱۳۸۹.
- محاسبات نرم با مجموعههای فازی و شبکههای عصبی مؤلف: رضا حسینقلیزاده انتشارات مهر ایمان ۱۳۸۶
https://web.archive.org/web/20120222111922/http://main.mehriman.com/default.aspx
نرمافزارهای برای سیستم منطق فازی
- Peach محاسبات هوشمند در پایتون
- DotFuzzy کتابخانهٔ متنباز منطق فازی سی شارپ
- JFuzzyLogic بستهٔ نرمافزاریِ متن باز منطق فازی برای جاوا
- بسته pyFuzzyLib کتابخانهٔ منطق فازی در پایتون
- بسته pyfuzzy کتابخانهٔ منطق فازی در پایتون
- FisPro سیستم استنتاج فازی حرفهای
- KBCT (Knowledge Base Configuration Tool)ابزار پیکربندی پایگاه اطلاعات
آموزش و خودآموزها
- منطق فازی و کاربردها
- کلاس آموزشی منطق فازی
- سیستمهای منطق فازی مهندسی؛ خودآموز
- طراحی سیستم استنتاج فازی در جاوا متن باز
- دروس آموزشی دانشگاه NPTEL: مهندسی برق: سیستمهای هوشمند و کنترل توسط پروفسور بِهِرا Prof. Laxmidhar Behera
- دروس آموزشی دانشگاه NPTEL: علوم کامپیوتر و مهندسی: هوش مصنوعی (مجموعه ویدئو)
- عارف، رضا، مغالطهپژوهی نزد فیلسوفان مسلمان، انتشارات حکمت، ۱۳۸۹.
سهرابی، محمودرضا؛ اکبری حسنجانی، حمیدرضا؛ اسفندی، بابک، منطق فازی: نگرشی جدید در شیمی تجزیه، انتشارات امید فردا، ۱۳۹۳.