دسته‌بندی نشده

منطق فازی

مقدمه

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

منطق فازی ابزای است که براساس متغیرهای زبانی انسان عمل می کند. در این منطق یک متغیر در یک بازه با ضریب یک مقداردهی می شود. اصطلاح فازی  (Fuzzy) به معنی گنگ و نامشخص است. در زندگی عادی نیز گاهی با موقعیت ‌هایی مواجه می‌شویم که نمی‌دانیم تصمیم درست یا نادرست کدام است و عملکرد صحیح از چشم ما پوشیده است. در این هنگام، منطق فازی (Fuzzy Logic) یک پیشنهاد منعطف و با ارزش ارائه می‌دهد. به این ترتیب برای هر موقعیتی می‌توان میزان عدم قطعیتی تعیین کرد. به همین علت گاهی به آن، منطق مشکک هم می‌گویند زیرا نتایج آن با شک و تردید ایجاد شده‌اند. در این نوشتار ضمن ارائه تاریخچه­ ای مختصر از منطق فازی، با ساختار و نحوه عملکرد آن آشنا می­ شویم.

منطق فازی و تاریخچه آن

منطق فازی، امروزه به حل بسیاری از مسائل مربوط به تصمیم‌گیری کمک کرده است بطوری که در بیشتر مواقع، بهترین تصمیم براساس ورودی‌ها را تولید می‌کند. این روش،‌ برمبنای تصمیم‌گیری‌های انسانی پایه‌ریزی شده است و به صورتی می‌توان آن را توسعه «منطق ارسطویی» (Aristotle Logic) یا «منطق بولی» (Boolean Logic) دانست. امروزه برمبنای منطق فازی، اعداد فازی  (Fuzzy Numbers)، محاسبات فازی (Fuzzy Arithmetic)  و حتی روش‌های آماری فازی نظیر خوشه‌بندی فازی ایجاد شده است. دستگاه‌ها و رایانه‌هایی تولید شده که دارای عملکرد به مراتب بهتر نسبت به دستگاه‌های مشابه با منطق بولی هستند.

مفهوم و مطالعه در مورد منطق فازی از سال ۱۹۲۰ آغاز شد ولی عبارت منطق فازی اولین بار توسط پروفسور لطفی‌ زاده (1921-2017) در سال ۱۹۶۵ در دانشگاه برکلی به کار رفت. ایشان با توجه به منطق به کار رفته در دستگاه‌های دیجیتال، متوجه شد که این دستگاه‌ها توانایی شبیه‌سازی تفکرات و ایده‌های ذهن انسان را دارا نیستند و نمی‌توانند مانند انسان فکر کنند زیرا منطق دیجیتال برای هر تصمیم فقط دو وضعیت درست  (True)  و غلط (False) را در نظر می‌گیرد، در حالیکه تفکر انسانی درجاتی از درستی یا نادرستی را برای تصمیم محسوب می‌کند. می‌توان رویکرد منطق فازی را به شکلی تصور کرد که به جای در نظر گرفتن دو وضعیت مثلا سیاه یا سفید، طیفی از رنگ خاکستری را جایگزین کرد که از یک طرف به رنگ سفید و از طرف دیگر به رنگ سیاه محدود می‌شود. در حوزه‌های مختلفی مانند «هوش مصنوعی» (Artificial Intelligence) و نظریه کنترل از منطق فازی استفاده می‌شود. بنابراین در این زمینه‌ها با استفاده از آن، رایانه‌ها قادر هستند براساس داده‌های غیرقطعی و غیرصریح، محاسبات و تصمیم‌سازی کنند.

بیش از ۵۰ سال از ابداع دکتر لطفی زاده می‌گذرد و مقالات بسیاری در این زمینه زیر نظر ایشان یا با ارجاع به مقاله اصلی نوشته شده است و جنبه‌های مختلف این منطق و محاسبات بر مبنای اعداد فازی مورد بررسی قرار گرفته است.

برخی از خصوصیات منطق فازی عبارتند از:

1)پیاده‌سازی انعطاف‌پذیر و سادگی الگوریتم‌ها در روش‌های یادگیری ماشین (Machine Learning)

2) امکان شبیه‌سازی منطق و طرز تفکر انسانی

3) امکان ایجاد دو راه حل یا پاسخ برای یک مسئله

4) مناسب برای حل مسائلی با پاسخ‌های تقریبی

5) نگاه فرآیندی به استنتاج به همراه استفاده از قیدها و شرط‌های منعطف

6) امکان ایجاد توابع غیرخطی با پیچیدگی‌های دلخواه

7) وجود وابستگی شدید به نظر محقق در ایجاد مدل‌های آن

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

الف) اگر داده‌ها و فضای نتایج مناسب نیستند.

ب) زمانی که از حواس پنچ‌گانه استفاده می‌شود.

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

ساختار و نحوه عملکرد منطق فازی

منطق فازی دارای چهار بخش اصلی است که در شکل 1 معرفی شده‌اند. همچنین در نمودار زیر نحوه ارتباط این بخش‌ها به خوبی دیده می‌شود.

شکل 1 ) ساختار کلی منطق فازی

شکل 1 ) ساختار کلی منطق فازی

قوانین پایه:  این بخش، شامل همه قاعده‌ها و شرایطی است که به صورت «اگر…آنگاه» توسط یک متخصص مشخص شده‌اند تا قادر به کنترل تصمیمات یک «سیستم تصمیم‌گیری» (Decision-making system) باشند. با توجه به روش‌های جدید در نظریه فازی، امکان تنظیم و کاهش قواعد و قوانین بوجود آمده است به طوری که با کمترین قوانین می‌توان بهترین نتیجه را گرفت.

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

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

اگر x1 و x2 ورودی­های کنترل­ کننده فازی و y تابعی از دو متغیر ورودی باشد (y=f(x1,x2))، می­ توان یک قانون فازی را به صورت زیر بیان کرد:

         

که B ،A وC مقدارهای زبانی در سیستم فازی هستند.

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

توجه می­ کنیم که پارامترها و مقادير اعمالي به سيستم هاي فازي به صورت مقادير قطعي و غيرفازي مي باشد ولي مقادیر بدست آمده از موتور استنتاج مقادير فازي است و براي تبديل اين مقادير فازي به مقادير قطعي از غيرفازي سازها استفاده مي گردد.

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

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

پست های مرتبط

دیدگاهتان را بنویسید