مبانی هوش مصنوعی - سیستم های منطق فازی
سیستمهای منطق فازی (FLS) در پاسخ به ورودی ناقص، مبهم، تحریفشده یا غیر دقیق (مبهم) خروجی قابل قبول اما قطعی تولید میکنند.
منطق فازی چیست؟
منطق فازی (FL) روشی برای استدلال است که شبیه استدلال انسانی است. رویکرد FL روش تصمیمگیری در انسان را که شامل تمام امکانات میانی بین مقادیر دیجیتالی بله و خیر است، تقلید میکند.
بلوک منطقی معمولی که یک کامپیوتر میتواند درک کند، ورودی دقیقی را میگیرد و خروجی قطعی به عنوان TRUE یا FALSE تولید میکند، که معادل بله یا خیر انسان است.
لطفی زاده، مخترع منطق فازی، مشاهده کرد که برخلاف رایانهها، تصمیمگیری انسانی طیف وسیعی از امکانات بین بله و خیر را شامل میشود، مانند:
قطعاً بله |
ممکن است بله |
نمیتوان گفت |
ممکن است نه |
قطعاً نه |
منطق فازی بر سطوح امکانات ورودی برای دستیابی به خروجی قطعی کار میکند.
پیادهسازی
-
میتوان آن را در سیستمهایی با اندازهها و قابلیتهای مختلف، از میکروکنترلرهای کوچک تا سیستمهای کنترلی بزرگ، شبکهای و مبتنی بر ایستگاه کاری پیادهسازی کرد.
-
میتوان آن را در سختافزار، نرمافزار یا ترکیبی از هر دو پیادهسازی کرد.
چرا منطق فازی؟
منطق فازی برای اهداف تجاری و عملی مفید است.
- میتواند ماشینها و محصولات مصرفی را کنترل کند.
- ممکن است استدلال دقیقی ارائه ندهد، اما استدلال قابل قبولی ارائه دهد.
- منطق فازی به مقابله با عدم قطعیت در مهندسی کمک میکند.
معماری سیستمهای منطق فازی
این سیستم دارای چهار بخش اصلی است که در زیر نشان داده شده است:
-
مدول fuzzification — این سیستم ورودیهای سیستم را که اعداد واضح هستند، به مجموعههای فازی تبدیل میکند. این سیگنال ورودی را به پنج مرحله تقسیم میکند، مانند:
LP | x مقدار بزرگ مثبت است |
MP | x مقدار متوسط مثبت است |
S | x مقدار کوچک است |
MN | x مقدار متوسط منفی است |
LN | x مقدار بزرگ منفی است |
-
پایگاه دانش − مجموعه قوانین IF-THEN ارائه شده توسط کارشناسان را ذخیره می کند.
-
موتور استنتاج − فرایند استدلال انسانی را با انجام استنتاج فازی بر روی ورودی ها و قوانین IF-THEN شبیه سازی می کند.
-
ماژول دفرفیوز − مجموعه فازی حاصل از موتور استنتاج را به یک مقدار دقیق تبدیل می کند.
تابع عضویت بر روی مجموعه های فازی متغیرها کار می کند.
تابع عضویت
تابع عضویت به شما امکان کمی سازی اصطلاحات زبانی و نمایش گرافیکی یک مجموعه فازی را می دهد. یک تابع عضویت برای یک مجموعه فازی A در جهان گفتمان X به عنوان μA:X → [0,1] تعریف می شود.
در اینجا، هر عنصر X به یک مقدار بین 0 و 1 نقشه می شود. این را مقدار عضویت یا درجه عضویت می نامند. این میزان عضویت عنصر در X در مجموعه فازی A را کمی می کند.
- محور x جهان گفتمان را نشان می دهد.
- محور y درجات عضویت در بازه [0، 1] را نشان می دهد.
می توان از چندین تابع عضویت برای فازی کردن یک مقدار عددی استفاده کرد. از توابع پیچیده استفاده نمی شود زیرا استفاده از توابع پیچیده دقت بیشتری در خروجی ایجاد نمی کند.
همه توابع عضویت برای LP، MP، S، MN، و LN به شرح زیر نشان داده شده است −
شکل های تابع عضویت مثلثی در میان اشکال مختلف تابع عضویت مانند ذوزنقه ای، تکی و گاوسی رایج ترین هستند.
در اینجا، ورودی به 5-سطح فازی کننده از -10 ولت تا +10 ولت متغیر است. بنابراین خروجی مربوطه نیز تغییر می کند.
مثالی از یک سیستم منطق فازی
فرض کنید یک سیستم تهویه مطبوع با سیستم منطق فازی 5 سطحی داریم. این سیستم دمای تهویه مطبوع را با مقایسه دمای اتاق و مقدار دمای هدف تنظیم می کند.
الگوریتم
- تعریف متغیرها و اصطلاحات زبانی (start)
- ساختن توابع عضویت برای آنها. (start)
- ساختن پایگاه دانش قوانین (start)
- تبدیل داده های دقیق به مجموعه های فازی با استفاده از توابع عضویت. (فازی سازی)
- ارزیابی قوانین در پایگاه قوانین. (موتور استنتاج)
- ترکیب نتایج هر قانون. (موتور استنتاج)
- تبدیل داده های خروجی به مقادیر غیر فازی. (دفرفیوز)
توسعه
مرحله 1 − تعریف متغیرها و اصطلاحات زبانی
متغیرهای زبانی ورودی و خروجی هستند که به صورت کلمات یا جملات ساده هستند. برای دمای اتاق، سرد، گرم، داغ و غیره، اصطلاحات زبانی هستند.
دمای (t) = {بسیار سرد، سرد، گرم، بسیار گرم، داغ}
هر عضو این مجموعه یک اصطلاح زبانی است و می تواند بخشی از مقادیر کلی دما را پوشش دهد.
مرحله 2 − ساختن توابع عضویت برای آنها
تابع عضویت متغیر دما به صورت زیر نشان داده شده است −
مرحله 3 − ساختن قوانین پایگاه دانش
یک ماتریس از مقادیر دمای اتاق در مقابل مقادیر هدف دما ایجاد کنید که انتظار می رود یک سیستم تهویه مطبوع ارائه دهد.
دمای اتاق / هدف | بسیار سرد | سرد | گرم | داغ | بسیار گرم |
---|---|---|---|---|---|
بسیار سرد | بدون تغییر | گرم | گرم | گرم | گرم |
سرد | خنک | بدون تغییر | گرم | گرم | گرم |
گرم | خنک | خنک | بدون تغییر | گرم | گرم |
داغ | خنک | خنک | خنک | بدون تغییر | گرم |
بسیار گرم | خنک | خنک | خنک | خنک | بدون تغییر |
یک مجموعه قوانین را به پایگاه دانش به صورت ساختارهای IF-THEN-ELSE بسازید.
شماره ردیف | شرایط | عمل |
---|---|---|
1 | اگر دما=(سرد یا بسیار سرد) AND هدف=گرم THEN | گرم |
2 | اگر دما=(داغ یا بسیار گرم) AND هدف=گرم THEN | خنک |
3 | اگر (دما = گرم) AND (هدف = گرم) THEN | No_Change |
مرحله 4 − مقدار فازی را بدست آورید
عملیات مجموعههای فازی ارزیابی قوانین را انجام میدهند. عملیاتهای مورد استفاده برای OR و AND به ترتیب Max و Min هستند. تمام نتایج ارزیابی را برای تشکیل یک نتیجه نهایی ترکیب کنید. این نتیجه یک مقدار فازی است.
مرحله 5 - دوددهی را انجام دهید
دوددهی سپس مطابق با تابع عضویت برای متغیر خروجی انجام میشود.
موارد کاربرد منطق فازی
موارد کاربرد کلیدی منطق فازی به شرح زیر است:
سیستمهای خودرو
- جعبهدندههای خودکار
- سیستم فرمان چهار چرخ
- کنترل محیط خودرو
کالاهای الکترونیکی مصرفی
- سیستمهای صوتی
- پرینترهای کپی
- دوربینهای فیلمبرداری و عکاسی
- تلویزیون
کالاهای خانگی
- مایکروویو
- یخچالها
- توسترها
- جاروبرقیها
- ماشینهای لباسشویی
کنترل محیط
- سیستمهای تهویه مطبوع/خشککن/بخاری
- مهسازها
مزایای FLSها
-
مفاهیم ریاضی در منطق فازی بسیار ساده هستند.
-
میتوانید یک FLS را فقط با افزودن یا حذف قوانین به دلیل انعطافپذیری منطق فازی تغییر دهید.
-
سیستمهای منطق فازی میتوانند اطلاعات ورودی غیر دقیق، تحریف شده و پر سر و صدا را بپذیرند.
-
FLSها برای ساخت و درک آسان هستند.
-
منطق فازی یک راه حل برای مشکلات پیچیده در همه زمینههای زندگی، از جمله پزشکی است، زیرا شبیه استدلال و تصمیمگیری انسان است.
معایب FLSها
- هیچ روش سیستماتیک برای طراحی سیستم فازی وجود ندارد.
- فقط زمانی قابل فهم هستند که ساده باشند.
- آنها برای مشکلاتی که نیازی به دقت بالایی ندارند مناسب هستند.