Professional Documents
Culture Documents
کاربرد منطق فازی در تحلیل برنامه های مهندسی
کاربرد منطق فازی در تحلیل برنامه های مهندسی
کاربرد منطق فازی در تحلیل برنامه های مهندسی
به طور خالصه ،نقطة شروع ساخت Iيك سيستم فازي به دست آوردن مجموعهاي از قواعد اگر ـ آنگاه فازي از دانش افراد خبره يا
.دانش حوزه مورد بررسي ميباشد؛ مرحلة بعدي ،تركيب اين قواعد در يك سيستم واحد است
انواع سيستمهاي فازي
سيستمهاي فازي خالص
) (TSKسيستمهاي فازي تاكاگي ـ سوگنوكانگ
سيستمهاي با فازيساز و غير فازيساز
سيستم فازي خالص
موتور استنتاج فازي ،اين قواعد را به يك نگاشت از مجموعههاي فازي در فضاي ورودي به مجموعههاي فازي و در فضاي
.خروجي بر اساس اصول منطق فازي تركيب ميكند
مشكل اصلي در رابطه با سيستمهاي فازي خالص اين است كه وروديها و خروجيهاي آن مجموعههاي فازي ميباشند .درحالي
.كه در سيستمهاي مهندسي ،وروديها و خروجيها متغيرهايي با مقادير حقيقي ميباشند
براي حل اين مشكل ،تاكاگي سوگنو و كانگ ،نوع ديگري از سيستمهاي فازي معرفي كردهاند كه وروديها و خروجيهاي آن
.متغيرهايي با مقادير واقعي هستند
:بصورت زوج مرتب زیر است Uدر مجموعه مرجع Aدر نتیجه در تئوری مجموعه فازی
}A = { (x,µ(x))|xЄ A
نسبت داد و چون مرزی که در انتساب اعضا به وجود می آید(به دلیل Aرا به مجموعه Uیعنی دیگر نمیتوان بطوردقیق عنصری از
درک مختلف افراد از آن عبارت ) حالت غیر قطعی و غیر دقیق به خود می گیرد .توابع عضویت در تعیین درجات عضویت نقشی
اساسی ایفا می کنند .برای مثال برای مجموعه فازی با عنوان "سردی" دمای -10با درجه 0.8به این مجموعه تخصیص می یابد در
حالیکه دمای +5دارای درجه عضویت 0.4در این مجموعه است.با توجه به این درجه عضویتها می توان فهمید دمای -10سردتر
.از +5است زیرا میزان تعلق آن به مجموعه فازی "سردی" بیشتر است
همانند مجموعه های کالسیک ،اگر درجه عضویت عنصری به مجموعه فازی صفر باشد ،آن عنصر به مجموعه تعلق ندارد و درجه
ابهام در مفهوم توصیف کننده ها و گزاره fuzzyعضویت یک نشان می دهد که عنصر دقیقا عضو مجموعه است.بهر حال در تئوری
های بیان کننده شرائط سیستم وجود دارد و توجه کنید که کلیه مباحث ما مربوط به این نوع عدم قطعیت است ،بویژه زمانیکه در
.خصوص تصمیم گیری و یا ارزیابی یک سیستم یا فرآیند تحت کنترل صحبت می کنیم
به عنوان نمونه عبارت " سال مالی موفق " را در نظر بگیرید .برای بعضی شرکتها ،سال اقتصادی موفق یعنی اینکه نسبت به سال
قبل سود بیشتری بدست آورند اما برای برخی دیگر یعنی اینکه از ورشکستگی رهایی یابند! و ...در نتیجه عبارت فوق الذکر یک
.گزاره وابسته به نحوه عملکرد شرکتهای مختلف است وبرخالف عبارت " سردی هوا" ذاتا لغتی فازی محسوب نمی شود
بدلیل ماهیت منطق فازی و تئوری مجموعه های فازی ،زمینه های کاربردی گسترده ای در علوم مهندسی و حتی اجتماعی و
:Japan Soceityاقتصادی برای آن بوجود آمده است.یکسری از انجمنهای فعال در زمینه منطق و تکنولوژی فازی عبارتند از
)Fuzzy Theory and Systems(SOFT) ,Laboratory for International Fuzzy Engineering Research(LIFER
آشنایی با منطق فازی
منطق فازی عبارتست از "استدالل با مجموعه های فازی" .پیش از معرفی تئوری منطق فازی توسط پروفسور لطفی زاده در 1965
محققان زیادی به رفع پارادوکسهای موجود در مسائل مطرح شده در علوم مختلف بر اثر محدودیت منطق دوگانه مشغول بودند ،مانند
در علوم زیست شناسی که در آن فرزندان بعضی از حیوانات به تیره خانواده ای متفاوت از والدینشان تعلق دارند woogerپارادوکس
،.در حالیکه از نظر ژنتیکی چنین امری ممکن نیست و این موضوع با منطق دوگانه مرسوم سازگاری نداشت
منطق سه ارزشی را مطرح کرد که در آن Jan Lukasiewiczابهام را جزئی از زبان دانست و یا Bertrand Russelدر این راستا
هم وجود داشت.در منطق فازی به جای دو ارزشی بودن ،ما طیفی از possibleمنطق ارزشی False & Trueعالوه بر ارزشهای
ارزشها را در بازه بسته صفر و یک خواهیم داشت .با این طیف می توان عدم قطعیت را به خوبی نمایش داد .تمایز عمده منطق
.فازی با منطق چند ارزشی آن است که در منطق فازی مفهوم یک عبارت هم می تواند مبهم باشد(مانند سردی هوا
در منطق فازی می توانیم جمالتی را که معموال در محاورات روزانه در تحلیل مسائل استفاده می کنیم از قبیل "کامال درست
است" "،کم و بیش درست است"" ،تا حدی نادرست است" و ...را بکار بندیم .بطور کلی منطقها بعنوان پایه برهان به 3بخش متمایز
.تقسیم می شوند ) (reasoningو فرآیند استدالل )(operatorsعملگرها (Truth Values),مقادیر درستی
:برای دو ورودی منطق دودویی (با مقادیر درستی صفر و یک) به شکل زیر است orبرای نمونه عملگر
OR B A
111
101
110
000
:و برای فرآیند استداللی به شرح زیر ما جدول متناسب را رسم نمودیم
Modus Ponens : (A ^ (A → B) )→B
B^A→BBA
11111
10001
10110
10100
این استداللها مربوط به منطق دودویی است ،در حالیکه منطق فازی بسطی از منطق چند ارزشی بر پایه تئوری مجموعه هاست که
.در آن مقادیر درستی بجای صفر و یک متغیرهای زبانی هستند
تابع عضویت
تابع عضویت
هر مقدار عددی را به درجه عضویت عبارات زبانی (بین 0تا )1می نگارد .در حالت استاندارد 3 ،مرحله برای بدست آوردن تابع
:عضویت یک متغیر زبانی ذکر شده است
مرحله 1
برای هر عبارت ،آن مکانی که شامل نزدیکترین مقدار عددی به مفهوم زبانی عبارت است را انتخاب می کنیم و غالبا دارای
.pos-که در زیر نشان داده شده است ” “powerهم هست.مانند توابع عضویت مربوط به عبارت زبانی µ=1ماکزیمم درجه عضویت
.نشاندهنده توان منفی متوسط است neg-mediumو ) (positiveنمایانگر توان مثبت بزرگ high
مرحله 2
.برای هر عبارت زبانی ،مکان (یا مکانهایی) را که مقدار درجه عضویت عبارت در آنجا صفر است معین می کنیم
مرحله 3
Λبودند با خطوط مستقیم وصل می کنیمف که می تواند تابعی به شکل µ=0بوده را به نقاطی که دارای µ=1نقطه ای که دارای
باشد.برای متغیرهای خروجی (مانند توانهای موتور در مثال قبلی) Π ،ایجاد نماید یا برای حالتی که دونقطه ماکزیمم داریم بصورت
.همین روند تکرار می شود
:برای توابع عضویت شکلهای مختلفی وجود دارد که مهمترین آنها عبارتند از
مثلثی و ذوزنقه ای 1-
به 2دلیل این نوع شکل ,در رسم توابع عضویت بیشترین کاربرد را دارند که علت آن سادگی در محاسبه خروجی یک سیستم فازی
.می باشد
مکعبی 2-
.که حالت متقارن مکعبی را شامل می شود
(حالت منحنی (نمایی3-
:که نمودار تابع عضویت آن به شکل زیر است
برای مرحله فازی سازی ورودیهای عددی تابع عضویت متغیر زبانی " تقریبا برابر عدد Πمثال در بررسی تابع عضویت بشکل
"10:در شکل زیر 4نقطه در نظر می گیریم
مالحظه می شود که با استفاده از این 4نقطه کل ناحیه محور به 5بخش تقسیم خواهد شد .در نتیجه هر ورودی عددی به سیستم ،در
یکی از این نواحی قرار می گیرد و بر همین اساس معادل زبانی و درجه عضویتش مشخص می گردد.فرضا اگر ورودی عدد 8
.باشد ،مقدار درجه عضویتش برای این عبارت زبانی 0.5خواهد بود
)(t-norm, co-normعملیات اساسی روی مجموعه های فازی
.چون مجموعه های فازی با توابع عضویتشان تعریف می شوند ،در واقع عملگرها روی این توابع عمل می کنند
:بصورت مجموعه ای با تابع عضویت زیر تعریف می شود ) µA(xتعریف-مکمل مجموعه فازی با تابع عضویت
)µA(x)=1- µA(x
:به شکل زیر تبدیل می شود ” “notفرضا تابع عضویت مجموعه فازی " تقریبا عدد "10با اعمال این عملگر یعنی
:مجموعه با تابع عضویت زیر است C=AΠB ،اشتراک 2مجموعه فازی -co-normتعریف
µC(x)=min {µA(x), µB(x)} xЄA
یا روابط دیگری که توسط افراد ) µA(x)* µB(xالبته راههای دیگری در تعریف اشتراک وجود دارد ،مانند ضرب توابع عضویت
.مختلف بکارگرفته شده است
:تابع عضویتی به شکل زیر دارد C=AUBاجتماع 2مجموعه فازی -t-normتعریف
µC(x)=max {µA(x), µB(x)} xЄA
متغیرهای زبانی
مجموعه ای از ) ... ، T(xنام متغیر زبانی مانند دما ،فشار و xمشخص می شود که ) (x,T(x),U,G,Mیک متغیر بوسیله یک پنج تایی
مجموعه مرجعی است که مقادیر زبانی روی آن ...، Uتعریف می شود ،مانند خیلی زیاد ،کم و xمقادیر زبانی است که برای
تعریف می شوند ،مثال برای دما ،بازه بین -50و +100درجه سلسیوس بعنوان مقادیر مجاز برای مجموعه فازی " دما" تعریف
هم یک تابع عضویت تعریف شده روی مجموعه مرجع است که مفهوم مقادیر زبانی در عبارت را مشخص می کند . Gمی شود
:است مانند Uبعنوان زیر مجموعه ای فازی از )M(xو
}]M(old)={(x,µold(x)|x Є[0,100
]µold(x)= ,x Є [50,100
پروفسور" زاده " در سال 1973می نویسد ":متغیرهای زبانی ،متغیرهایی هستند که مقادیرشان اعداد نیستند ،بلکه لغات یا جمالت
یک زبان طبیعی یا ساختگی هستند ".اگرچه تئوری مجموعه های فازی فقط با مدلهای ریاضی سر و کار دارد ،ولی امکان مدلسازی
:لغات و عبارات یک زبان طبیعی را به کمک متغیرهای زبانی می دهد .بطور کلی متغیرها به 2دسته تقسیم می شوند
.زبانی :مانند کلمات و عبارات مر بوط به یک زبان طبیعی را گویند1-
.عددی:که متغیرها دارای مقادیر عددی هستند 2-
یک متغیر زبانی در واقع یک عبارت زبان طبیعی است که به یک مقدار کمیت خاص اشاره دارد و اصطالحا مانند مترجم عمل می
کندو به کمک تابع عضویت نشان داده می شود مانند واژه "سرد" در جمله "هوا سرد است" .سردی خود متغیری است برای دمای
.هوا که می تواند مقادیر مختلفی به خود اختصاص دهد و در واقع یک تابع عضویت برای آن تعریف می شود
ها عبارتی تجزیه ناپذیر است ،مانند " تا uiتشکیل شوند که هر کدام از u=u1,u2,u3,…,unمتغیرهای زبانی می توانند از الحاق
:حدی سرد" ،که در مجموع به 4دسته زیر تقسیم می شود
عبارات اصلی :که بعنوان برچسبهایی برای مجموعه های فازی در نظر گرفته می شوند و مانند "سرد" در عبارت باال یا عباراتی 1-
.از قبیل :کوتاه ،بلند و ...که هر کدام تابع عضویت مخصوص خود را دارند
...حروف ربط :مانند و ،یا 2-
پیراینده :که روی عبارات اولیه اعمال شده و اثر تشدید یا تضعیف در مفهوم آن عبارت را بهمراه دارد مانند تا حدی ،اندکی 3- ،
...بسیار و
...حروف نشانه مانند پرانتز و 4-
شود آنگاه عبارت دقیق ∞= pاست و اگر )∞ pЄ[0,عمل می کنند که pبه توان uبصورت uتمامی پیراینده ها روی عبارات اصلی
و غیر فازی حاصل می شود و نشان می دهد که هیچ ابهام و تردیدی وجود ندارد.اگر فرضا متغیر زبانی “پیر” را بعنوان مالک ایجاد
:یک مجموعه فازی در نظر بگیریم آنگاه آن مجموعه بصورت زیر خواهد بود
پیر={(0.3و0.5(،)45و0.8(،)50و0.9(،)55و1(،)60و1(،)70و})75
آنگاه عبارت "بسیار پیر" ="پیر به توان " 2یعنی تمام درجات عضویت به توان 2می رسند که ما حصل
:بصورت زیر خواهد بود
بسیار پیر={(0.09و0.25(،)45و0.64(،)50و0.81(،)55و1(،)60و1(،)70و})75
و یا برای نمونه عملگری مثل "کم و بیش" که خاصیت تضعیف کنندگی مفهوم را با خود بدنبال دارد بصورت "کم و بیش پیر" = "پیر
" .به توان
.از مهمترین کاربردهای این منطق در هوش مصنوعی و طراحی رباتهاستI
شكل 5
در اين برنامه متخصصان كامپيوتر و انيميشن ابتدا موجوداتي را به صورت الگو ايجاد كرده بودند و سپس به كمك منطق فازي
مصداقهايي تصادفي از اين موجودات خيالي پديدآورده بودند كه حركات تصادفي -اما از پيش تعريف شدهاي -در اعضاي بدن خود
.داشتند
اين موجودات در حقيقت داراي نوعي هوش مصنوعي بودند و ميتوانستند براي نحوه حركت دادن اعضاي بدن خود تصميم بگيرند .
در عين حال تمام موجوداتي كه در يك لشكر به سويي ميتاختند يا با دشمني ميجنگيدند ،از جهت حركت يكساني برخودار بودند و به
.سوي يك هدف مشخص حمله ميكردند(شكل)5
اين ساختار كامالً پيچيده و هوشمند به فيلمسازان اجازه داده بود كه اين موجودات افسانهاي را در دنياي مجازي كامپيوتر به حال خود
.رها كنند تا به سوي دشمنان حمله كنند و اين همه بيترديد بدون بهرهگيري از منطق فازي امكانپذير نبود
كه به دليل بهكارگيري منطق فازي براي ايجاد هوشمصنوعي در طراحي لشكريان فيلم ارباب حلقهها Massive Softwareشركت
.نيز بهكار برد King Kongو I.Robotبرنده جايزه اسكار شد ،بعداً اين تكنيك را در فيلمهاي ديگري همچون
استفاده از منطق فازي براي هوشمندكردن موجودات نرمافزاري تنها گونهاي از كاربردهاي اين نظريه در هوشمصنوعي است.
منطق فازي در هوشمند ساختن روباتهاي سختافزاري نيز كاربردهاي زيادي دارد .در شمارههاي آتي ماهنامه شبكه به اين موضوع
.بيشتر خواهيم پرداخت
كاربردهاي منطق فازي
منطق فازي كاربردهاي متعددي دارد .سادهترين نمونه يك سيستم كنترل دما يا ترموستات است كه بر اساس قوانين فازي كار ميكند.
سالهاست كه از منطق فازي براي كنترل دماي آب يا ميزان كدرشدن آبي كه لباسها در آن شسته شدهاند در ساختمان Iاغلب
.ماشينهاي لباسشويي استفاده ميشود
امروزه ماشينهاي ظرفشويي و بسياري از ديگر لوازم خانگي نيز از اين تكنيك استفاده ميكنند .منطق فازي در صنعت خودروسازي
در برخي از خودروها از منطق فازي استفاده ميكند .يكي از معروفترين ABSنيز كاربردهاي فرواني دارد .مثالً سيستم ترمز و
نمونههاي بهكارگيري منطق فازي در سيستمهاي ترابري جهان ،شبكه مونوريل (قطار تك ريل) توكيو در ژاپن است .ساير سيستمهاي
.حركتي و جابهجايي بار ،مثل آسانسورها نيز از منطق فازي استفاده ميكنند
سيستمهاي تهويه هوا نيز به وفور منطق فازي را بهكار ميگيرند .از منطق فازي در سيستمهاي پردازش تصوير نيز استفاده ميشود .
يك نمونه از اين نوع كاربردها را ميتوانيد در سيستمهاي <تشخيص لبه و مرز> اجسام و تصاوير( )3مشاهده كنيد كه در روباتيك
مثل سيستمهاي ) (Pattern Recognitionنيز كاربردهايي دارد .به طور كلي خيلي از مواقع در ساختمان سيستمهاي تشخيص الگوها
.تشخيص گفتار و پردازش تصوير از منطق فازي استفاده ميشود
شكل 3
فرمول 2
شكل 2
هم متعلق به مجموعه <سرد> و هم متعلق به مجموعه <خنك> است .اما T2و T1به عنوان نمونه ،درجه حرارتهاي بين دماي
تنها به اندازه T2درجه عضويت يك دماي معين در اين فاصله ،در هر يك از دو مجموعه متفاوت است .به طوري كه دماي نزديك
.چند صدم در مجموعه <سرد> عضويت دارد ،اما نزديك نوددرصد در مجموعه <خنك> عضويت دارد
پارادايم حاكم بر يك كنترلر فازي به اين ترتيب است كه متغيرهاي دنياي واقعي به عنوان ورودي دريافت Iميشوند .قوانين فازي آنها
را به متغيرهاي معنايي تبديل ميكند .فرآيند فازي اين ورودي را ميگيرد و خروجي معنايي توليد ميكند و سرانجام خروجيها به
.زبان دنياي واقعي ترجمه ميشوند .نمودار شكل 3مصداقي از همين روند است
مجموعههاي فازي
بنياد منطق فازي بر شالوده نظريه مجموعههاي فازي استوار است .اين نظريه تعميمي از نظريه كالسيك مجموعهها در علم رياضيات
است .در تئوري كالسيك مجموعهها ،يك عنصر ،يا عضو مجموعه است يا نيست .در حقيقت عضويت عناصر از يك الگوي صفر و
يك و باينري تبعيت ميكند .اما تئوري مجموعههاي فازي اين مفهوم را بسط ميدهد و عضويت درجهبندي شده را مطرح ميكند .به
اين ترتيب كه يك عنصر ميتواند تا درجاتي -و نه كامالً -عضو يك مجموعه باشد .مثالً اين جمله كه <آقاي الف به اندازه
هفتاددرصد عضو جامعه بزرگساالن است> از ديد تئوري مجموعههاي فازي صحيح است .در اين تئوري ،عضويت اعضاي
در xتابعي فازي است كه درجه عضويت uنمايانگر يك عضو مشخص و xمشخص ميشود كه (u(xمجموعه از طريق تابع
.مجموعه مربوطه را تعيين ميكند و مقدار آن بين صفر و يك است (فرمول )1
فرمول 1
ممكن است مجموعهاي از (u(xبه مقادير عددي ممكن بين صفر و يك را ميسازد .تابع xنگاشتي از مقادير ، (u(xبه بيان ديگر
فقط تعدادي از مقادير گسسته Iبين صفر و يك را تشكيل ميدهد ،مثالً ممكن است u يا پيوسته باشد .وقتي كه ) (discreteمقادير گسسته
پيوسته باشند ،يك منحني پيوسته از اعداد u شامل اعداد 3/0و 5/0و 7/0و 9/0و صفر و يك باشد .اما وقتي مجموعه مقادير
.اعشاري بين صفر و يك تشكيل ميشود
در اين نمودار ميتواند قانون عضويت در يك (u(xرا نشان ميدهد .تابع (u(xبه مقادير xشكل 1نموداري از نگاشت Iپيوسته مقادير
.مجموعه فازي فرضي را تعريف كند