قصدم از این مطلب معرفی منطق فازی به صورت خیلی ساده هست. بسیاری از مطالبی که الان روی وب فارسی گذاشته شده اول بیان می کنند منطق فازی توسط پروفسور لطفی زاده درست شده و بعد هم شیرجه میزنند توی فرمول ها که این برای خیلی ها ناخوشایند هست و چه بسا افراد زیادی (خودم تا چند وقت پیش) به دلیل اینکه فرق بین منطق فازی و آمار احتمال رو به خوبی نتونستند درک کنند، سراغ منطق فازی نرفتند!
به هر حال توی این مطلب که ترجمه قسمتی از این کتاب هست، سعی شده مفهوم منطق فازی به سادگی و با طرح مثال به خواننده منتقل بشه.
فازی و بولی
در منطق بولی با "درست" و "غلط" کار می کنیم. یک گزاره می تواند در مواقعی درست و در مواقع دیگر غلط باشد. مثلا گزاره "سیب قرمز است" از این دست است. وقتی می گوییم "امروز باران می آید" یا "امروز به سینما می روم"، داریم با اطمینان صحبت می کنیم. البته هر دوی این جملات می توانند صحیح یا غلط باشند. گزاره درست دارای ارزش یک و گزاره غلط دارای ارزش صفر است. فقط یکی از این دو ارزش را می توان به یک گزاره داد. می توان از ترکیب گزاره ها، گزاره های بزرگتری درست کرد.
در مورد برخی موضوعات نمی توانیم با اطمینان صحبت کنیم. مثلا ممکن است بگوییم "فکر می کنم امروز باران می آید". اگر بخواهیم دقیقتر باشیم می توانیم بگوییم که با یک درجه اطمینان خاص امروز باران می آید. البته این درجه اطمینان مثلا 0.8 است (به جای یک). منطق فازی برای مدل کردن همچین شرایطی بوجود آمده است. در منطق فازی با گزاره هایی کار می کنیم که می توانند با یک درجه اطمینان درست باشند (مقداری بین صفر و یک). پس ارزش یک گزاره در این منطق نشان دهنده این است که آن گزاره با چه درجه اطمینانی درست است. درجه اطمینان شبیه یک احتمال به نظر می رسد، ولی در واقع اینگونه نیست. مثلا مجموع احتمالات پیشامد های دو به دو ناسازگار نمی توانند بیش از یک شوند، اما جمع مقادیر فازی آن ها ممکن بیشتر شود. فرض کنید احتمال داغ بودن یک لیوان چای 0.8 و احتمال سرد بودن آن 0.2 باشد. این دو رویداد دو به دو ناسازگار هستند و جمع آن دو یک می شود. جمع مقادیر فازی لزومی ندارد که حداکثر یک شود. در مورد همین مثال فرض کنید ارزش گزاره داغ بودن لیوان چای 0.8 و ارزش گزاره سرد بودن 0.5 باشد. هیچ محدودیتی روی سقف مجموع تعدادی ارزش فازی وجود ندارد.
مجموعه های فازی
فرض کنید قصد دارید مجموعه ای از روز های بارانی را جمع آوری کنید. آیا امروز را در آن مجموعه قرار می دهید؟ وقتی با منطق بولی کار می کنیم، قرار دادن امروز در آن مجموعه بر اساس یک اطمینان است؛ آیا قطعا امروز را در آن مجموعه قرار می دهیم و یا قطعا قرار نمی دهیم. در منطق فازی، امروز را به صورت یک جفت مرتب، مثل (امروز، 0.8)، در مجموعه روز های بارانی قرار می دهیم. اولین عنصر این جفت مرتب، یک کاندیدا برای حضور در مجموعه مورد نظر است و دومین عنصر هم یک مقدار بین صفر و یک است که درجه عضویت در آن مجموعه نام دارد. قرار دادن درجه عضویت در مجموعه باعث بوجود آمدن یک نظریه مجموعه بر مبنای منطق فازی شده است. مجموعه فازی به مجموعه ای از جفت مرتب ها گفته می شود که حاوی اطلاعاتی در مورد درجه عضویت می باشند. یک مجموعه سنتی از k عنصر، نوع خاصی از یک مجموعه فازی است که هر عنصر درون آن مجموعه دارای درجه عضویت یک و تمام عناصر دیگر موجود در مجموعه جهانی دارای درجه عضویت صفر هستند.
عملیات های مجموعه فازی
اجتماع و اشتراک دو عمل مرسوم هستند که می توان روی مجموعه های عادی انجام داد. در مجموعه های فازی اجتماع یعنی پیدا کردن درجه عضویت یک عنصر برای مجموعه جواب.
اگر درجه عضویت عناصر a، b، c و d در مجموعه فازی A به ترتیب 0.9، 0.4، 0.5 و 0 باشند، آنگاه می توان مجموعه فازی A را با بردار برازش (0.9 ، 0.4 ، 0.5 ، 0 ) نشان داد. به عناصر این بردار، مقادیر برازش a، b، c و d می گویند.
اجتماع
یک اجتماع بین دو مجموعه عادی که یکی از عناصر فقط به یکی از مجموعه ها تعلق دارد را در نظر بگیرید. قبلا در همین بخش گفتیم که مجموعه های عادی گونه های خاصی از مجموعه های فازی هستند که در صورتی که یک عنصر در مجموعه باشد دارای درجه عضویت یک و در غیر این صورت دارای درجه عضویت صفر می باشد. به هر حال شما این عنصر را در مجموعه جواب نهایی قرار می دهید. ملاک شما در انجام این کار، مقادیر درجه عضویت این عنصر است. یعنی به درجه عضویت این عنصر در دو مجموعه نگاه می کنیم و مقدار بیشتر را انتخاب می کنیم. به عبارت دیگر مقدار بیشینه درجه عضویت یک عنصر در دو مجموعه اولیه را به عنوان درجه عضویت آن عنصر در مجموعه جواب نهایی انتخاب می کنیم.
در زیر یک مثال از عملیات اجتماع روی دو مجموعه فازی A و B با بردار های برازش نشان داده شده، آورده ایم:
اشتراک و متمم
به طور ساده، اشتراک دو مجموعه فازی به معنی انتخاب کمینه درجه عضویت عناصر موجود در دو مجموعه فازی است. به عنوان مثال اگر امروز با درجه عضویت 0.8 در مجموعه روز های بارانی و با درجه عضویت 0.5 در مجموعه روزهایی که کار در آن تمام می شود قرار داشته باشد، آنگاه امروز با درجه عضویت 0.5 به مجموعه روزهای بارانی ای که کار در آن تمام می شود تعلق دارد (یعنی کمینه 0.5 و 0.8 ).
در زیر یک مثال از عملیات اشتراک روی دو مجموعه فازی A و B با بردار های برازش نشان داده شده، آورده ایم:
با مفهوم مجموعه جهانی در مجموعه های عادی آشنا هستیم. به عنوان مثال وقتی صحبت از مجموعه آدم های متاهل می شود، مجموعه جهانی، مجموعه تمام انسان هاست. هر مجموعه دیگری از انسان ها، زیر مجموعه ای از این مجموعه است. بحث مجموعه جهانی به خاطر این مطرح شد که برای بدست آوردن متمم یک مجموعه عادی، باید تمام عناصری که در مجموعه جهانی وجود دارند و در این مجموعه وجود ندارند را انتخاب کنیم. در مورد مجموعه های فازی، اگر یک عضو دارای درجه عضویت 0.8 باشد، آنگاه آن عضو با درجه 1 - 0.8 = 0.2 به آن مجموعه تعلق ندارد. مثلا اگر امروز با درجه عضویت 0.8 در مجموعه روز های بارانی باشد، آنگاه امروز با درجه عضویت 0.2 در مجموعه روزهای غیر بارانی قرار دارد.
در زیر چند مثال آورده شده است:
همانطور که مشاهده می کنید، در مجموعه های فازی، اشتراک یک مجموعه با متممش ممکن است مجموعه صفر نشود.
کاربرد های منطق فازی
برای هر دستورکار مکانیکی، الکترومغناطیسی یا نرمافزاری و غیره که برای آن فرمول یا دستورالعمل مطلق و شفاف ریاضی وجود نداشته باشد و بخصوص زمانی که دستورکار بوسیله جملات انشاء شده باشد، نرمافزار متکی به منطق فازی راه گشا بوده و کارآمد است.
برخی از کاربردها عبارتند از:
• هدایت و کنترل هرگونه دستگاه و تاسیسات پویا و حرکت ساز را میتوان با کمک منطق فازی به بهترین وجه اعمال نمود. از جمله ماشین لباس شویی، قطارها، ترمز ایبیاس خودرو، آسانسور، جرثقیل، تسمه نقاله، موتورهای احتراقی، نشست و برخاست خودکار هواپیما و غیره.
• دستگاههای سمعی/بصری دیجیتال.
• "آیندهنگری" نرمافزارها جهت جلوگیری از هنگ کردن سرورها، کنترل موتورهای جستجوگر در اینترنت، سیستمهای نرمافزاری ترجمه، رباتیک و هوش مصنوعی، بررسی احتمال برداشتهای سرندیپیتی، مهندسی پزشکی از جمله آسیب شناسی یا هدایت و کنترل تاسیسات سی تی اسکن، سی سی یو و آی سی یو، دستگاه ضربانساز قلب.
• کارهای ریسک شناسی، آماری و ارزیابی بانکی جهت تصمیمگیریهای مدیران.
• محاسبات آماری بیمهها برای یافتن فاکتورهای ریسک در قراردادها. (بسیاری از شرکتهای بیمه در جهان، ارزیابی صدمات و طلب خسارت مشتریان را چند سالی است بوسیله نرمافزارهای فازی پوشش میدهند و از این راه با تقلب و کلاه برداریهای مشتریان مبارزه میکنند.)