تشدید های فازی متغیر های کلامی ای هستند که سبب ایجاد مجموعه های جدیدی (Secondary Set) با تابع عضویت متفاوت از مجموعه های فازی اولیه (Primary Set) می شوند. به عنوان مثال اگر ما مجموعه ی فازی افراد جوان را در اختیار داشته باشیم می توان از روی آن مجموعه افراد خیلی جوان و یا مجموعه ی افراد تا اندازه ای جوان را شکل دهیم که در آن عبارت های کلامی خیلی و تا اندازه ای تشدید محسوب می شوند. در این جا دو گونه تشدید معرفی خواهند شد:
- تمرکز (Concentration)
- انبساط (Dilation)
تمرکز: تمرکز مجموعه ی فازی A را با CON(A) نمایش می دهند که معادل با عبارت کلامی خیلی است. در صورتی که تابع عضویت مجموعه ی A برابر با μA(x) باشد، تابع عضویت تمرکز آن برابر با 2(μA(x است.
انبساط: انبساط مجموعه ی فازی A را با DIL(A) نمایش می دهند که معادل با عبارت کلامی تا اندازه ای است. در صورتی که تابع عضویت مجموعه ی A برابر با μA(x) باشد، تابع عضویت انبساط آن برابر با 0.5(μA(x است.
مثال: اگر دو مجموعه ی فازی جوان (A)و پیر (B)داشته باشیم، توابع عضویت عبارت های کلامی زیر عبارت خواهند بود از:
نه خیلی جوان و نه خیلی پیر
NOT(CON(A)) AND NOT(CON(B))
max( 1 - 2(μA(x , 1 - 2(μB(x )
تا اندازه ایپیرولی نه خیلی پیر
DIL(B) AND NOT(CON(B))
max( 0.5(μB(x , 1 - 2(μB(x )
فازی کردن (Fuzzification)
فازی کردن عبارت است از ارایه ی یک تابع عضویت برای مجموعه ای از داده ها که قرار است در استنتاج فازی مورد استفاده قرار گیرند. نوع تابع عضویت غالبا بستگی به کاربرد مساله و ماهیت داده ها دارد. از جمله راهکار های عمومی برای فازی کردن داده ها، استفاده از خوشه بندی فازی (Fuzzy Clustering) است. یکی از معروف ترین الگوریتم های خوشه بندی فازی Fuzzy c-Means Clustering یا به اختصار FCM نام دارد. FCM با ایده گرفتن از الگوریتم k-means می تواند داده ها را در فضای تعمیم یافته در تعداد خوشه ی دلخواه قرار دهد به طوری که برخلاف k-means هر داده می تواند در چندین خوشه عضو باشد. بدیهی است که میزان عضویت داده ها در هر خوشه می تواند متفاوت باشد. در نرم افزار MATLAB می توان با فرمان fcm به شکل زیر داده ها را خوشه بندی نمود:
که در آن:کد:[center,U] = fcm(data,cluster_n)
- data ماتریس داده هایی است که قرار است خوشه بندی شوند.
- cluster_n تعداد خوشه ها است.
- center مرکز خوشه ها در فضای تعمیم یافته است.
- U ماتریس عضویت هر داده در هر خوشه خواهد بود.
مثال:
غیر فازی کردن (Defuzzification)کد:data = rand(100, 2); [center,U,obj_fcn] = fcm(data, 2); plot(data(:,1), data(:,2),'o'); maxU = max(U); index1 = find(U(1,:) == maxU); index2 = find(U(2, :) == maxU); line(data(index1,1),data(index1, 2),'linestyle','none','marker','*','color','g'); line(data(index2,1),data(index2, 2),'linestyle','none','marker', '*','color','r'); hold on plot(center(1,1),center(1,2),'sg') plot(center(2,1),center(2,2),'sr')
غیر فازی کردن عبارت است از استخراج یک مقدار غیر فازی از یک تابع عضویت. این عمل در نرم افزار MATLAB با فرمان defuzz به شکل زیر صورت می گیرد:
که در آن:کد:out = defuzz(x,mf,type)
- x ماتریس متغیر خروجی است.
- mf تابع عضویت مربوطه است.
- type تعیین کننده ی روش غیر فازی کردن است. تعیین نوع این روش بستگی به کاربرد دارد که در اینجا از روش مرکز ثقل (centroid) استفاده می شود.
- out مقدار غیر فازی خروجی خواهد بود.
مثال:
کد:x = -10:0.1:10; mf = trapmf(x,[-10 -8 -4 7]); out = defuzz(x,mf,'centroid'); plot(x,mf,'LineWidth',2); line([out out],[-0.2 1.2],'Color','k');
*MoJtAbA* (19-11-13), M A H R A D (17-06-14), Rezasam1 (17-06-14), tahmoores (27-08-14)
طبق قولی که داده شده بود پیاده سازی یک سیستم کنترل فازی در نرم افزار MATLAB از پیوست قابل دریافت است. این پیاده سازی مریوط به یک دوش حمام هوشمند است که با تنظیم دمای آب گرم براساس یک مدل فازی TSK در حضور یک اغتشاش در دبی آب گرم ورودی، دمای آب جهت استحمام را در حد مطلوبی نگه می دارد.
آخرین ویرایش توسط ravegoat در تاریخ 06-02-14 انجام شده است علت: اصلاح پیوست
تفاوت منطق فازی و تحلیل خاکستری در چیه؟ منظورم اینه وقتی قراره در تحلیلی به دلیل نبود اطلاعات کافی و هم چنین عدم اطمینان موجود در نظرات تصمیم گیرندگان از رویکردی غیر از رویکرد قطعی استفاده کنیم چطوری می تونیم از بین این تو نظریه یکیشون رو انتخاب کنیم.
ممنون
qasem1368 (13-10-14)
با سلام!برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ارسالی توسط mit67 برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
دوست گرامی عضویت شما رو در شهر سخت افزار تبریک میگم.
در تحلیل خاکستری یا Grey Relational Analysis ما با یک مساله رو به رو هستیم که در موردش اطلاعات کافی ندارم تا بتونیم راه حل منحصر بفردی براش ارایه بدیم. با استفاده از GRA میشه راه حل های مناسبی رو برای این مساله ارایه داد که البته الزاما" بهترین راه حل ها نیستند. مثلا" ما برای طراحی یک سیستم چندین آزمایش انجام میدیم و به دلیل محدودیت های موجود فقط می تونیم چند تا فاکتور رو طی این آزمایش ها اندازه بگیرم که در طراحی سیستم کافی نیستند؛ فرضا" دو فاکتور. حالا می خواهیم تعیین کنیم که در کدوم آزمایش براساس این دو فاکتور، عملکرد سیستم بهتر بوده. برای این کار یک پارامتر به عنوان Grey Relational Grade تعریف میشه که آزمایش با عملکرد بهتر رو مشخص می کنه. حال می تونیم براساس داده های اون آزمایش سیستم رو طراحی کنیم.
در واقع ما در جایی که داده هامون ارتباط مشخصی با هم ندارن و می خواهیم این داده ها از جنبه های مختلف در تعیین راه حل مساله تحلیل بشن از GRA استفاده می کنیم. برای آشنایی با یک کاربرد عملی این ابزار می تونید مقاله ی زیر رو مطالعه بفرمایید:
http://thinkinglean.com/img/files/PAPER_7.pdf
در حالی که در منطق فازی شما برای قضاوت و تصمیم گیری در یک سیستم غیر دقیق، پارامتر های اون رو به شکل متغیر های کلامی بیان می کنید. سپس در فضای همین متغیر های کلامی غیر دقیق براساس یک سری قوانین فازی در مورد سیستم و خروجی اون تصمیم گیری می کنید.
در واقع این دو ابزار با دو نگاه متفاوت به فضای عدم قطعیت نگاه می کنند که امیدوارم تفاوت این دو نگاه در اینجا مشخص تر شده باشه.
موفق باشید
آرمین
'چو ایران نباشد، تن من مباد
Dim Armin As Iranian
If Iran.Enabled = False Then Armin.Enabled = False
سلام دوستان..
من 5 زیرفاکتور دارم که در مجموع یک فاکتور میشه..به هر 5 زیرفاکتور بر اساس قاعده ای از 1 تا 5 امتیاز دادم..حالا میخوام این امتیاز ها فازی بشه ..یعنی بین 0 تا 1 بشه.. به عبارتی دیگر مقدار امتیاز هر 5 فاکتور روی هم 1 بشه..یعنی امتیاز به نوعی هر کدوم تخصیص داده بشه که مجموعشون 1 باشه..
با سلام!برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ارسالی توسط qasem1368 برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
اون چیزی که در نهایت از این کار به دست میاد یک تابع عضویت فازی هستش ولی الزامی نداره مجموع عضویت ها در کلیه ی مجموعه های فازی برابر یک بشه!
تنها برداشتی که می تونم داشته باشم اینه که:
امتیاز 1 معادل خیلی بد،
امتیاز 2 معادل بد،
امتیاز 3 معادل متوسط،
امتیاز 4 معادل خوب
و امتیاز 5 معادل خیلی خوب هستند.
حالا ما یک تابع عضویت Singleton در نظر می گیریم. در این صورت اگه به پارامتری امتیاز 3 رو بدیم، مقدار عضویت اون در مجموعه ی متوسط برابر یک و در سایر مجموعه ها برابر صفر خواهد بود.
موفق باشید
آرمینبرای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
'چو ایران نباشد، تن من مباد
Dim Armin As Iranian
If Iran.Enabled = False Then Armin.Enabled = False
ممنون آرمین خان که جواب دادین.. امتیاز بندی ها رو بدرستی اشاره کردی و همین طوره.. کار من به شیوه ای هستش که باید هر 5زیر فاکتور یه امتیازی بگیرن که در مجموع1 بشه .. من زیاد با تابع ها آشنایی ندارم چون رشتم زیاد به این موارد مربوط نیست.. بیشتر میتونی توضیح بدی و یا اگه من امتیاز بندی هارو بهت بدم یکی رو میتونی به عنوان نمونه انجام بدی تا بیشتر من یاد بگیرم؟برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ارسالی توسط ravegoat برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
Rezasam1 (14-10-14)
|
برای این مسئله تابع عضویت مثلثی به شکل زیر میشه:برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ارسالی توسط qasem1368 برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
حالا با توجه به این تابع عضویت و استفاده از این پست می تونید فاکتور ها رو فازی کنید.
سلام چگونه می توان یک عدد ثابت را در یک عدد فازی ضرب کرد؟ و همچنین نتیجه این ضرب فازی است یا نه؟
1 کاربر در حال مشاهده این موضوع. (0 عضو و 1 میهمان)
Bookmarks