منطق فازی

11 – 2 : مثالهایی ساده از منطق فازی

       مثال اول :  اگر بخواهیم قد افراد را با مجموعه های قاطع(منطق بولی یا ارسطویی) و مجموعه های فازی نشان دهیم، با فرض این که قد 1.8 متر به بالا بلند قد، بین 1.5 تا 1.8 متوسط و کمتر از 1.5 متر کوتاه قد باشد،  می توان مجموعه های عضویت را به شکل زیر نشان داد و قوانین آن را به صورت زیر تعریف کرد:

1)IF ( X<1.5) THEN short

2)IF ( 1.5<X<1.8) THEN normal

3)IF ( X>1.8 ) THEN till

 



توانایی منطق فازی را در دسته بندی کیفی و عضویت مقداری را در این مثال می توانیم ببینیم. به عنوان مثال اگر با منطق معمولی بخواهیم بر خورد کنیم، افراد 1، 2، 3 و 4 با قد هایی که به ترتیب 149، 151، 179 و 181 سانتی متری به ترتیب کوتاه، متوسط، متوسط و بلند قد در نظر گرفته می شوند. در صورتی که دو به دو فقط تفاوت 2 سانتی متری دارند و فقط به خاطر تفاوت 2 سانتی متری ( در مقایسه با 150 سانتی متر) عضو گروه دیگر می شوند. اما با منطق فازی این افراد به ترتیب« 0.89 متوسط و 0.11 کوتاه »، « 0.91 متوسط و 0.09 کوتاه »، «0.91 متوسط و 0.09 بلند » و « 0.89 متوسط و 0.11 بلند » محسوب می شوند.

در ماتریس زیر عضویت افراد بر حسب قدشان در سه گروه کوتاه، متوسط و بلند بیان شده است:

0.11     0.89      0

 

0.09     0.91      0

 

  0       0.91     0.09

 

  0       0.89     0.11

 

 

 

 

 

 


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

مثال دوم : برای آنکه ارزش منطق فازی را نشان دهیم، دو روش متفاوت را برای حل یک مسأله یکسان برسی می کنیم. در مهله اول از راه معمولی (غیر فازی) مسأله را حل می کنیم، سپس آن سیستم را با استفاده از منطق فازی بررسی می نماییم.

مسأله : مقداد درست مبلغ قابل پرداخت به پیشخدمت چقدر است؟

مسأله به مقدار انعام(tip) پرداختی در رستوران به پیشخدمت می پردازد. این مقدار بر اساس کیفیت سرویس دهی و مطلوبیت غذا تعیین می شود و کمترین مقدار 5 درصد، به طور متوسط 15 درصد و بیشترین آن 25 درصد مبلغ غذای سفارش داده شده است.کیفیت سرویس دهی رستوران را با اعداد 0 تا 10 بیان می کنند، حال با توجه با این اعداد چه مقدار انعام بدهیم؟

حل به روش غیر فازی :

با ساده ترین نحو ممکن شروع می کنیم. فرض کنید که همیشه انعام قابل پرداخت 15% مبلغ فیش باشد.

 

 

 


 tip = 0.15

 

 

 

 

 

 

 

 

هنگام محاسبه کیفیت سرویس دهی، مقدار را به این صورت محاسبه نمی کنند، پس ما مجبوریم یک قسمت جدید به معادله قبلی اضافه کنیم. از آنجا که سرویس داده شده از 0 تا 10 مقداردهی شده است، ما می توانیم مقدار انعام را 5% در صورت بد بودن سرویس تا 25% در صورت خوب بودن سرویس تغیر دهیم. در این صورت رابطه ما بصورت زیر خواهد بود.

tip = 0.20 / 10 * service + 0.05

 

 

 

 

 

 

 

 

 


فرمول جدید چیزی را که می خواستیم انجام دهیم خیلی ساده در بر داشت. ولی ما می خواهیم این انعام بازگوکننده کیفیت غذا هم باشد. در این حالت مسأله به صورت زیر بسط داده می شود.

دو سری عدد بین 0 تا 10 داده شده اند که به ترتیب بیان کننده کیفیت سرویس و کیفیت غذا هستند. در این حال مقدار انعام چقدر است؟

یک نگاه به فرمولی که خواسته های بالا را برآورده می کند می اندازیم.

 

tip = 0.20 / 20 * (service + food) + 0.05

 

 

 

 

 

 

 

 

 

 


دراین حالت جواب بدست آمده جالب است، ولی اگر خوب دقت شود می بینیم که آنها کاملاً هم درست نیستند. فرض کنید که شما می خواهید که سرویس داده شده عامل مهمتری در مقدار انعام باشد. حال فرض کنید که 80% انعام را کیفیت سرویس و 20% آن را کیفیت غذا تعیین کند، در اینصورت داریم :

servRatio = 0.8;

tip = servRatio * (0.20 / 10 * service + 0.05) + (1 – servRatio)*(0.20 10 * food + 0.05);

 

 

 

 

 

 

 

 

 

 

 

 


پاسخ هنوز هم به یک صورت کاملاً خطی است. حال فرض کنید که می خواهید نمودار در قسمت میانه، حالت تخت تری داشته باشد. بدین معنی که قصد دارید در حالت کلی همان 15% را پرداخت کنید و در صورتی از مقادیر دیگر برای انعام استفاده کنید که به صورت غیر عادی خوب یا بد باشد. این بدان معنا است که نگاشت خطی شما دیگر قابل استفاده نیست. ما هنوز می توانیم با استفاده از ساختار تکه ای – خطی خواص خطی را دنبال کنیم. اجازه دهید فقط به مسأله یک بعدی خود که تنها از کیفیت سرویس نأثیر می گرفت بازگردیم. شما می توانید عبارتی که شرایط را اعمال می کنند به به صورت زیر بنویسید.

If service < 3 ,

            tip = (0.10 / 3) * service + 0.05;

Else If  service < 7,

/ 0 نظر / 105 بازدید