PDA

مشاهده نسخه کامل : منطق فازي (Fuzzy Logic)



ravegoat
08-03-12, 00:42
اين تاپيك به معرفي منطق فازي (Fuzzy Logic) و كنترل فازي (Fuzzy Control) اختصاص دارد. در اين تاپيك سعي مي شود از پيچيدگي ها پرهيز شود و مطالب به شكلي ساده بيان شوند هر چند ممكن است اين حركت به عمق مفاهيم خدشه وارد كند. در ابتدا مفاهيم كلي مطرح مي شوند و پس از تكميل بحث هاي كاربردي، مقالات پيشرفته تر در اين زمينه ارايه خواهند شد.

منطق فازي چيست؟
منطقي است كه بودن و نبودن و هر چيز بين آن دو را براي يك مفهوم مي پذيرد. در منطق صفر و يك (Binary Logic) يك مفهوم درست (1 يا True) و يا نادرست (0 يا False) است و حالت ديگري قابل تعريف نيست. در حالي كه در منطق فازي همان مفهوم علاوه بر 0 و 1 مي تواند مقادير بازه ي 0 تا 1 را به خود اختصاص دهد. به عبارتي ديگر حالتي بين درستي و نادرستي در منطق فازي قابل تعريف است.
به عنوان مثال مي خواهيم دماي هوا را از ديدگاه منطق باينري و فازي بررسي كنيم:

باينري: هوا يا سرد (0) است و يا گرم (1).
فازي: دماي هوا مي تواند از حالت سرد (0) تا حالت گرم (1) تغيير كند به طوري هواي فرضا" معتدل (0.5) هم در اين ديدگاه پذيرفتني است.

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

قبل از آن كه كمي عميق تر وارد منطق فازي شويم، بهتر است با دو مفهوم آشنا شويم:

متغير هاي قطعي (Crisp Variables): متغير هايي هستند كه ارزش آن ها با يك مقدار معين بيان مي شود. مثلا" دماي هوا 20 درجه ي سانتي گراد است يا A زيرمجموعه ي B است. روشن است كه مقدار ارزش ها دقيق و قطعي است.
متغير هاي فازي يا زباني (Linguist Variables): متغير هايي هستند كه ارزش آن ها با يك مقدار معين بيان نمي شود بلكه براي توصيف آن ها از يك دسته از عبارات استفاده مي گردد. مثلا" هوا خيلي سرد است يا تعداد زيادي از عضو هاي A در B نيز وجود دارد. برخلاف حالت قبل توصيف ها مبهم هستند و هيچ قطعيتي ندارند.

ravegoat
08-03-12, 13:40
تابع عضويت تابعي است كه ميزان درستي يك كميت (Degree of Truth) را به ازاي زير مجموعه هاي فازي مختلف بيان مي كند. وقتي مي گوييم هوا گرم است اين سوال پيش مي آيد كه هوا چقدر گرم است؟ تابع عضويت به ما خواهد گفت كه به ازاي يك دماي معين، ميزان عضويت (درستي) در وضعيت هواي گرم چقدر خواهد بود؟ ميزان عضويت از صفر تا يك متغير است. تابع عضويت زير را در نظر بگيريد:


6511

محور افقي بيان گر دما بر حسب درجه ي فارنهايت است. مقادير دما روي اين محور قطعي (Crisp) است. خطوط رنگي بيان گر مجموعه هاي فازي (Fuzzy Set) اند: {يخبندان,خنك,گرم,داغ} . حال بياييم بررسي كنيم كه تابع عضويت چگونه ميزان درستي را بر اساس متغير هاي فازي بيان مي كند. محور عمودي نيز ميزان عضويت را بيان مي كند.
دماي 36 درجه ي فارنهايت را در نظر مي گيريم. خطي عمودي از دماي برابر 36 درجه رسم مي كنيم. اين خط افقي زير مجموعه ي يخبندان را در 0.7 و زير مجموعه ي خنك را در 0.3 قطع مي كند ولي زير مجموعه هاي گرم و داغ را قطع نمي كند. با اين اوصاف دماي 36 درجه:



70% يخبندان است.
30% خنك است.
0% گرم است.
0% داغ است.

در صد هاي فوق همان ميزان درستي يا عضويت هستند.

توابع عضويت چگونه تعريف مي شوند؟

مثال دما را در نظر بگيريم. شايد از ديد عده اي دماي 36 درجه ي F گرم تلقي شود و از سوي عده اي ديگر خيلي سرد باشد. در نتيجه تابع عضويت براي اين دو دسته متفاوت است. متخصصي كه قصد دارد از منطق فازي استفاده كند بايد بسته به نوع مسئله يك تابع عضويت معقول تعريف كند و در اين كار مي تواند از GA (Only the registered members can see the link) و يا داده هاي آماري كمك گيرد. توابع عضويت براي كميت هاي بسيار متنوعي از وضعيت شاخص هاي اقتصادي گرفته تا زاويه ي پره توربين ها قابل تعريف است.

ravegoat
08-03-12, 23:52
معرفي عملگر ها:

OR: در نظريه ي مجموعه ها معادل اجتماع مجموعه (Union) ها و در منطق فازي بيشينه ي عضويت (Conjunction) مجموعه ها است.
AND: در نظريه ي مجموعه ها معادل اشتراك مجموعه (Intersection) ها و در منطق فازي كمينه ي عضويت (Disjunction) مجموعه ها است.
NOT: در نظريه ي مجموعه ها معادل متمم يك مجموعه (Complement) و در منطق فازي اختلاف عضويت از مقدار يك است.

قوانين فازي مجموعه اي از متغير هاي فازي اند كه با عملگر هاي فوق با هم تعامل دارند و شروطي را تشكيل مي دهند و پاسخ شروط منجر به تصميماتي مي گردد. در يك قانون فازي تنها مقدار عضويت از بخش شروط به تصميم نسبت داده مي شود. قوانين زير را به عنوان مثال در نظر بگيريد:

اگر وضعيت هوا آفتابي بود آن گاه تند بران.
اگر دماي هوا سرد بود و وضعيت هوا باراني بود آن گاه آهسته بران.
اگر دماي هوا داغ بود يا وضعيت هوا ابري نبود آن گاه تند بران.



قوانين بالا با بررسي دو كميت دماي هوا و وضعيت هوا؛ سرعت رانندگي را تعيين مي كنند.
حال فرض كنيم به ازاي يك دما و پوشش ابر معين، مقدار عضويت از توابع عضويت به شكل زير به دست آمده است:


دماي هوا: {0.1 سرد , 0.7 گرم , 0.2 داغ}


وضعيت هوا: {0.0 باراني , 0.6 ابري , 0.4 آفتابي}



حال مي خواهيم قوانين رو اعمال كنيم:



مقدار تند راندن = آفتابي بودن هوا = 0.4
مقدار آهسته راندن = كمينه ي (سرد بودن هوا , باراني بودن هوا) = كمينه ي (0.1 , 0.0) = 0.0
مقدار تند راندن = بيشينه ي (داغ بودن هوا , ابري نبودن هوا) = بيشينه ي (0.2 , 0.6 - 1) = بيشينه ي (0.2 , 0.4) = 0.4


همان طور كه ملاحظه مي شود، عملگر 'و' معادل MIN و عملگر 'يا' معادل MAX است. همچنين فعل 'نبودن' معادل عضويت - 1 است. با لحاظ نمودن اين عملگر ها روي مقدار عضويت شروط، مقدار عضويت تصميم ها تعيين شد.

ravegoat
09-03-12, 19:08
كنترل در ديدگاه مهندسي به معني حفظ پايداري (Stability) يك سيستم و تضمين عملكرد (Performance) مطلوب آن است. كنترل فازي روشي است كه براساس منطق فازي سعي مي كند دو عامل پايداري و عملكرد مطلوب سيستم را تامين كند. نكته ي مهم آن است كه سيستم هايي كه ما طراحي مي كنيم ورودي قطعي و خروجي قطعي دارند. مثلا" در يك سيستم اعمال نيرو، سنسور ها يك مقدار قطعي را اندازه گيري مي كنند و يك مقدار مشخص ولتاژ به ورودي سيستم تزريق مي كنند و در نهايت خروحي سيستم يك نيرو با بزرگي معين خواهد بود. اين در حالي است كه منطق فازي با متغير هاي فازي سر و كار دارد.


حال چطور مي شود با منطق فازي يك سيستم با پارامتر هاي قطعي را كنترل كرد؟



پاسخ آن است كه ابتدا ورودي هاي سيستم را از حالت قطعي تبديل به متغير هاي فازي كنيم. اين عمل فازي كردن (Fuzzification) نام دارد. سپس مي توان روي مجموعه هاي حاصل از فازي كردن قوانين فازي را اعمال كرد كه خروجي باز هم فازي خواهد بود. حال بايد اين خروجي هاي فازي را به خروجي هاي قطعي تبديل كرد كه اين عمل را غير فازي كردن (Defuzzification) مي گويند.


6531

الگوريتم هاي مختلفي جهت اعمال قوانين فازي وجود دارد جهت كنترل يك سيستم وجود دارند كه Fuzzy Inference System يا FIS ناميده مي شوند. دو FIS معروف عبارت اند از:



Mamdani
Sugeno

دو الگوريتم فوق شباهت هاي زيادي به هم دارند كه در ادامه هر دو آن ها را معرفي مي كنيم.

ravegoat
12-03-12, 00:51
در ادامه ي بحث كنترل فازي، به معرفي FIS هاي Mamdani و Sugeno مي پردازيم. تفاوت اساسي اين دو الگوريتم در Defuzzification است كه به طور مجزا بررسي مي شوند. اين مبحث با بيان يك مثال توضيح داده مي شود.

مثال
مي خواهيم سرعت يك خودرو را بر اساس دو پارامتر ورودي دماي هوا و در صد پوشش ابر در آسمان به شكل فازي كنترل كنيم. دماي هوا 65 درجه ي فارنهايت و در صد پوشش ابر 25% است. بر اساس دو قانون زير بايد سرعت حركت خودرو را تعيين كنيم:

اگر هوا آفتابي و گرم باشد آن گاه خودرو بايد سريع حركت كند.
اگر هوا ابري و خنك باشد آن گاه خودرو بايد آهسته حركت كند


گام اول: Fuzzification
فازي كردن بر اساس توابع عضويت صورت مي گيرد. توابع عضويت را يك كارشناس هواشناسي در اختيار ما قرار داده كه به شكل زير است:


6551

در نمودار اول به ازاي دماي 65 درجه خطي، افقي رسم مي كنيم تا مقدار عضويت تعيين شود. همين كار به ازاي پوشش 25% رو نمودار دوم پياده مي كنيم. مقادير عضويت به شكل زير خواهد بود:



0.4 خنك و 0.7 گرم
0.8 آفتابي و 0.2 ابري


گام دوم: Inference
در اين مرحله بايد قوانين فازي مربوط به سيستم را اعمال کرد. براي دو قانون آورده شده در مثال داريم:

مقدار سريع راندن = كمينه ي(آفتابي,گرم) = min(0.8,0.7) = 0.7
مقدار آهسته راندن = كمينه ي(ابري,خنك) = min(0.2,0.4) = 0.2

پس خودرو بايد 0.7 سريع براند و 0.2 آهسته!

گام سوم: Defuzzification
غير فازي كردن با روش هاي مختلفي صورت مي گيرد كه متداول ترين آن روش مركز ثقل (COG) است.

Mamdani:
در روش Mamdani براي غير فازي كردن، بايد تابع عضويت براي خروجي را داشته باشيم. فرض مي كنيم كه يك مهندس خودرو، تابع عضويت مربوط به خروجي سيستم كنترلي كه همان سرعت خودرو باشد را در اختيارمان قرار داده كه به صورت زير است:


6552

در روش COG بايد مركز ثقل زير مجموعه هاي منحني را در ابتدا بيابيم. در نمودار فوق مركز ثقل بخش آهسته (نقطه اي كه مساحت زير سطح آن در چپ و راست منحني يكسان باشد) در 25 مايل بر ساعت و مركز ثقل بخش سريع در 75 مايل بر ساعت است. حال مقدار عضويت هر زير مجموعه را كه در گام قبلي به دست آورديم، در مركز ثقل مربوط به همان زير مجموعه ضرب مي كنيم. مجموع اين حاصل ضرب ها تقسيم بر مجموع مقادير عضويت، سرعتي خواهد بود كه خودرو بايد با آن حركت كند:


63.8=(0.2+0.7)/(0.2x25+0.7x75)=سرعت خودرو



در نتيجه خودرو بايد با سرعت 63.8 مايل بر ساعت حركت كند.

Sugeno:
در روش Sugeno براي غير فازي كردن به جاي تابع عضويت، از يك تابع چند جمله اي جبري استفاده مي كنم كه متغير هاي اين تابع، ورودي هاي مسئله (در اين مثال دما و درصد پوشش) هستند. ساده ترين تابع، Sugeno مرتبه ي صفر است كه به هر يك از مجموعه هاي خروجي (در مثال: سرعت كند و سرعت تند) يك عدد ثابت نسبت مي دهد (براي مثال: k1 و k2). اكنون مقدار عضويت هر زير مجموعه را كه در گام قبلي به دست آورديم، در عدد ثابت مربوط به همان زير مجموعه ضرب مي كنيم. مجموع اين حاصل ضرب ها تقسيم بر مجموع مقادير عضويت، خروجي قطعي خواهد بود. فرض كنيم كه مهندس خودرو به سرعت كند مقدار 20 مايل بر ساعت و به سرعت تند 70 مايل بر ساعت را اختصاص داده است. در اين صورت سرعت خروجي برابر خواهد بود با:


58.9=(0.2+0.7)/(0.2x20+0.7x70)=سرعت خودرو




اگر تابع Sugeno و ضرايب آن به درستي تعيين شده باشند، جواب اين روش با روش Mamdani تفاوت چنداني نخواهد داشت. واضح است كه روش Mamdani تعريف بهتري از خروجي ارايه مي دهد ولي محاسبه ي مركز ثقل نمودار كار دشواري است كه باعث مي شود بازدهي محاسباتي آن نسبت به روش Sugeno كاهش يابد. در موارد كه سرعت به دقت ارجحيت دارد، الگوريتم Sugeno مناسب تر خواهد بود.

اگر دقت كنيم سنسور ها دو مقدار قطعي (65 درجه و 25%) را به سيستم كنترلي تزريق كردند و خروجي سيستم كنترلي نيز يك مقدار قطعي (63.8 يا 58.9) بود. اين در حالي است كه قوانين كنترلي ما رنگ و بويي كاملا" متفاوت دارند. در واقع اين قدرت سيستم كنترل فازي است كه اين امكان را به ما مي دهد تا با قوانيني مشابه تفكر و منطق انسان، يك ماشين غير هوشمند را كنترل كنيم. گام هاي مطرح شده كاملا" با شكل پست 4 (Only the registered members can see the link) مطابقت مي كنند.

ravegoat
31-03-12, 18:03
در اين پست فصلي از يك كتاب قرار داده شده است كه به مبحث كنترل فازي غير خطي مي پردازد. اين بحث براي دوستاني كه علاقه مند هستند منطق فازي را عميق تر دنبال كنند مفيد خواهد بود. اميد است اين فصل مقدمه اي مناسب براي شروع مطالعات پيشرفته تر در اين زمينه باشد.

در 51 صفحه به زبان انگليسي



به دليل حجم بالاي كتاب، فايل به سه قسمت تبديل شده است كه بايد هر سه قسمت آن دانلود شود.:wink:

ravegoat
24-02-13, 18:04
پس از آن که با مفاهیم پایه ی منطق فازی آشنا شدیم حال این سوال پیش می آید چگونه یک تصمیم گیرنده ی فازی طراحی کنیم. به عنوان مثال می خواهیم بدانیم چگونه در یک سیستم کنترلی (Only the registered members can see the link) می توان یک کنترلر فازی را به کار گرفت. روش هایی که امروزه در طراحی سیستم های فازی کاربرد دارند غالبا" روش های فرا ابتکاری نظیر یادگیری های برمبنای الگوریتم ژنتیک (Only the registered members can see the link) و یا کلونی موچه ها (Only the registered members can see the link) هستند که برای آشنایی دقیق تر با این مباحث می توانید مبانع پیوست شده را مطالعه بفرمایید.

ravegoat
24-02-13, 18:13
پس از طراحی یک سیستم فازی نوبت آن است که قوانین به کار رفته در آن به علاوه ی توابع عضویت را به گونه ای بهینه کنیم که سیستم در حالت کلی عملکرد مطلوبی داشته باشد. در این راه می توان از الگورتیم های نظیر GA (Only the registered members can see the link)، ACO (Only the registered members can see the link) و یا PSO استفاده کرد که توضیحات تکمیلی در مقالات پیوست شده آمده است.

mojdeh6583
02-09-13, 20:18
کاش ادامه می دادید
من به ادامه ش نیاز دارم
و صرف معرفی کتاب های زبان اصلی متاسفانه متوجه نمی شم
می دونم مشکل از منه اما اگر بتونید به زبان فارسی توضیحش بدید کار فوق العاده ای کردید که مطمئنا مثل من کم نیستند.
باز هم متشکرم

ravegoat
02-09-13, 22:37
کاش ادامه می دادید
من به ادامه ش نیاز دارم
و صرف معرفی کتاب های زبان اصلی متاسفانه متوجه نمی شم
می دونم مشکل از منه اما اگر بتونید به زبان فارسی توضیحش بدید کار فوق العاده ای کردید که مطمئنا مثل من کم نیستند.
باز هم متشکرم
با سلام!

متاسفانه به دلیل گستردگی مطالب و همچنین کمبود زمان، امکان ترجمه ی همه ی منابع در این زمینه وجود نداره.

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

به امید خدا از این به بعد وارد برخی از مباحث پایه ای فازی میشم و یک سری از موارد کاربردی تر رو بیان می کنیم و همچنین اشاره ای به مدل سازی فازی خواهیم داشت. ان شاء الله اگه فرصت شد کمی هم مفصل تر در مورد کنترل فازی مبحث می کنیم.

موفق باشید
آرمین

ravegoat
25-10-13, 10:28
تشدید های فازی متغیر های کلامی ای هستند که سبب ایجاد مجموعه های جدیدی (Secondary Set) با تابع عضویت متفاوت از مجموعه های فازی اولیه (Primary Set) می شوند. به عنوان مثال اگر ما مجموعه ی فازی افراد جوان را در اختیار داشته باشیم می توان از روی آن مجموعه افراد خیلی جوان و یا مجموعه ی افراد تا اندازه ای جوان را شکل دهیم که در آن عبارت های کلامی خیلی و تا اندازه ای تشدید محسوب می شوند. در این جا دو گونه تشدید معرفی خواهند شد:

تمرکز (Concentration)
انبساط (Dilation)


تمرکز: تمرکز مجموعه ی فازی A را با CON(A) نمایش می دهند که معادل با عبارت کلامی خیلی است. در صورتی که تابع عضویت مجموعه ی A برابر با μA(x) باشد، تابع عضویت تمرکز آن برابر با 2(μA(x است.


Only the registered members can see the link


انبساط: انبساط مجموعه ی فازی A را با DIL(A) نمایش می دهند که معادل با عبارت کلامی تا اندازه ای است. در صورتی که تابع عضویت مجموعه ی A برابر با μA(x) باشد، تابع عضویت انبساط آن برابر با 0.5(μA(x است.



Only the registered members can see the link


مثال: اگر دو مجموعه ی فازی جوان (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 )

ravegoat
19-11-13, 10:04
فازی کردن (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 ماتریس عضویت هر داده در هر خوشه خواهد بود.


مثال:


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')



غیر فازی کردن (Defuzzification)

غیر فازی کردن عبارت است از استخراج یک مقدار غیر فازی از یک تابع عضویت. این عمل در نرم افزار 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');

ravegoat
06-02-14, 00:00
طبق قولی که داده شده بود پیاده سازی یک سیستم کنترل فازی در نرم افزار MATLAB (Only the registered members can see the linkسورس-ها-و-آموزش-هاي-matlab-31090) از پیوست قابل دریافت است. این پیاده سازی مریوط به یک دوش حمام هوشمند است که با تنظیم دمای آب گرم براساس یک مدل فازی TSK در حضور یک اغتشاش در دبی آب گرم ورودی، دمای آب جهت استحمام را در حد مطلوبی نگه می دارد.

mit67
15-06-14, 18:22
تفاوت منطق فازی و تحلیل خاکستری در چیه؟ منظورم اینه وقتی قراره در تحلیلی به دلیل نبود اطلاعات کافی و هم چنین عدم اطمینان موجود در نظرات تصمیم گیرندگان از رویکردی غیر از رویکرد قطعی استفاده کنیم چطوری می تونیم از بین این تو نظریه یکیشون رو انتخاب کنیم.
ممنون

ravegoat
17-06-14, 21:44
تفاوت منطق فازی و تحلیل خاکستری در چیه؟ منظورم اینه وقتی قراره در تحلیلی به دلیل نبود اطلاعات کافی و هم چنین عدم اطمینان موجود در نظرات تصمیم گیرندگان از رویکردی غیر از رویکرد قطعی استفاده کنیم چطوری می تونیم از بین این تو نظریه یکیشون رو انتخاب کنیم.
ممنون
با سلام!

دوست گرامی عضویت شما رو در شهر سخت افزار تبریک میگم.

در تحلیل خاکستری یا Grey Relational Analysis ما با یک مساله رو به رو هستیم که در موردش اطلاعات کافی ندارم تا بتونیم راه حل منحصر بفردی براش ارایه بدیم. با استفاده از GRA میشه راه حل های مناسبی رو برای این مساله ارایه داد که البته الزاما" بهترین راه حل ها نیستند. مثلا" ما برای طراحی یک سیستم چندین آزمایش انجام میدیم و به دلیل محدودیت های موجود فقط می تونیم چند تا فاکتور رو طی این آزمایش ها اندازه بگیرم که در طراحی سیستم کافی نیستند؛ فرضا" دو فاکتور. حالا می خواهیم تعیین کنیم که در کدوم آزمایش براساس این دو فاکتور، عملکرد سیستم بهتر بوده. برای این کار یک پارامتر به عنوان Grey Relational Grade تعریف میشه که آزمایش با عملکرد بهتر رو مشخص می کنه. حال می تونیم براساس داده های اون آزمایش سیستم رو طراحی کنیم.
در واقع ما در جایی که داده هامون ارتباط مشخصی با هم ندارن و می خواهیم این داده ها از جنبه های مختلف در تعیین راه حل مساله تحلیل بشن از GRA استفاده می کنیم. برای آشنایی با یک کاربرد عملی این ابزار می تونید مقاله ی زیر رو مطالعه بفرمایید:
Only the registered members can see the link

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

در واقع این دو ابزار با دو نگاه متفاوت به فضای عدم قطعیت نگاه می کنند که امیدوارم تفاوت این دو نگاه در اینجا مشخص تر شده باشه.

موفق باشید
آرمین

qasem1368
13-10-14, 11:51
سلام دوستان..
من 5 زیرفاکتور دارم که در مجموع یک فاکتور میشه..به هر 5 زیرفاکتور بر اساس قاعده ای از 1 تا 5 امتیاز دادم..حالا میخوام این امتیاز ها فازی بشه ..یعنی بین 0 تا 1 بشه.. به عبارتی دیگر مقدار امتیاز هر 5 فاکتور روی هم 1 بشه..یعنی امتیاز به نوعی هر کدوم تخصیص داده بشه که مجموعشون 1 باشه..

ravegoat
13-10-14, 23:23
سلام دوستان..
من 5 زیرفاکتور دارم که در مجموع یک فاکتور میشه..به هر 5 زیرفاکتور بر اساس قاعده ای از 1 تا 5 امتیاز دادم..حالا میخوام این امتیاز ها فازی بشه ..یعنی بین 0 تا 1 بشه.. به عبارتی دیگر مقدار امتیاز هر 5 فاکتور روی هم 1 بشه..یعنی امتیاز به نوعی هر کدوم تخصیص داده بشه که مجموعشون 1 باشه..
با سلام!

اون چیزی که در نهایت از این کار به دست میاد یک تابع عضویت فازی هستش ولی الزامی نداره مجموع عضویت ها در کلیه ی مجموعه های فازی برابر یک بشه!

تنها برداشتی که می تونم داشته باشم اینه که:
امتیاز 1 معادل خیلی بد،
امتیاز 2 معادل بد،
امتیاز 3 معادل متوسط،
امتیاز 4 معادل خوب
و امتیاز 5 معادل خیلی خوب هستند.

حالا ما یک تابع عضویت Singleton در نظر می گیریم. در این صورت اگه به پارامتری امتیاز 3 رو بدیم، مقدار عضویت اون در مجموعه ی متوسط برابر یک و در سایر مجموعه ها برابر صفر خواهد بود.

موفق باشید
آرمین:give_rose:

qasem1368
13-10-14, 23:47
با سلام!

اون چیزی که در نهایت از این کار به دست میاد یک تابع عضویت فازی هستش ولی الزامی نداره مجموع عضویت ها در کلیه ی مجموعه های فازی برابر یک بشه!

تنها برداشتی که می تونم داشته باشم اینه که:
امتیاز 1 معادل خیلی بد،
امتیاز 2 معادل بد،
امتیاز 3 معادل متوسط،
امتیاز 4 معادل خوب
و امتیاز 5 معادل خیلی خوب هستند.

حالا ما یک تابع عضویت Singleton در نظر می گیریم. در این صورت اگه به پارامتری امتیاز 3 رو بدیم، مقدار عضویت اون در مجموعه ی متوسط برابر یک و در سایر مجموعه ها برابر صفر خواهد بود.

موفق باشید
آرمین:give_rose:
ممنون آرمین خان که جواب دادین.. امتیاز بندی ها رو بدرستی اشاره کردی و همین طوره.. کار من به شیوه ای هستش که باید هر 5زیر فاکتور یه امتیازی بگیرن که در مجموع1 بشه .. من زیاد با تابع ها آشنایی ندارم چون رشتم زیاد به این موارد مربوط نیست.. بیشتر میتونی توضیح بدی و یا اگه من امتیاز بندی هارو بهت بدم یکی رو میتونی به عنوان نمونه انجام بدی تا بیشتر من یاد بگیرم؟

ravegoat
14-10-14, 21:28
ممنون آرمین خان که جواب دادین.. امتیاز بندی ها رو بدرستی اشاره کردی و همین طوره.. کار من به شیوه ای هستش که باید هر 5زیر فاکتور یه امتیازی بگیرن که در مجموع1 بشه .. من زیاد با تابع ها آشنایی ندارم چون رشتم زیاد به این موارد مربوط نیست.. بیشتر میتونی توضیح بدی و یا اگه من امتیاز بندی هارو بهت بدم یکی رو میتونی به عنوان نمونه انجام بدی تا بیشتر من یاد بگیرم؟
برای این مسئله تابع عضویت مثلثی به شکل زیر میشه:

Only the registered members can see the link
حالا با توجه به این تابع عضویت و استفاده از این پست (Only the registered members can see the link) می تونید فاکتور ها رو فازی کنید.

ali derakhshan
01-11-14, 06:02
سلام چگونه می توان یک عدد ثابت را در یک عدد فازی ضرب کرد؟ و همچنین نتیجه این ضرب فازی است یا نه؟

ravegoat
01-11-14, 19:59
سلام چگونه می توان یک عدد ثابت را در یک عدد فازی ضرب کرد؟ و همچنین نتیجه این ضرب فازی است یا نه؟
با سلام!

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

ضرب یک عدد ثابت در یک عدد فازی براساس اصل توسعه Zadeh صورت می گیرد:
فرض کنیم یک عدد فازی u داریم که تابع عضویت آن mu(x) است و x بین a و b واقع شده است. حال اگر یک عدد ثابت مانند k را در u ضرب کنیم نتیجه یک عدد فازی به اسم v خواهد بود که تابع عضویت آن به شکل زیر تعریف می شود:
mv(y) = mu(y/k)

توجه داریم که y بین ka و kb واقع شده است.

موفق باشید
آرمین

ravegoat
12-02-15, 16:12
عنوان آموزش: Fuzzy System Toolbox
نویسنده: Olaf Wolkenhauer
سال انتشار: 1999

در 56 صفحه به زبان انگلیسی

iranch
17-03-16, 09:46
دوست عزیز سلام و وقت بخیر
امکان داره در مورد ریاضیات فازی راهنمایی کنید؟
من اصلا نمیفهمم.راستش قابل درک نشده برام.ظاهرا فازی هست و ریاضیاتش و خیلی مهم هست.
ریاضیات پیچیده هم ندیدم داشته باشه اما قابل فهم و درک نیست. شما منبع خاصی پیشنهاد دارید؟ مثال در عمل زده باشه که درک کنیم.
مثلا سریع یک مثال در متلب زده باشه که بفهمیم چی به چی ه

ravegoat
03-04-16, 16:10
دوست عزیز سلام و وقت بخیر
امکان داره در مورد ریاضیات فازی راهنمایی کنید؟
من اصلا نمیفهمم.راستش قابل درک نشده برام.ظاهرا فازی هست و ریاضیاتش و خیلی مهم هست.
ریاضیات پیچیده هم ندیدم داشته باشه اما قابل فهم و درک نیست. شما منبع خاصی پیشنهاد دارید؟ مثال در عمل زده باشه که درک کنیم.
مثلا سریع یک مثال در متلب زده باشه که بفهمیم چی به چی ه
با سلام!

برای آشنایی با ریاضیات منطق فازی یکی از منابع خوب کتاب Wang هستش که می تونید از لینک زیر دانلود و مطالعه بفرمایید:
Only the registered members can see the link

در متلب هم می تونید آموزش پست 22 را دنبال کنید.