890 likes | 1.3k Views
تفکر فازی در مديريت. مهندسی سيستم. روشهای هوش مصنوعی برای حل مسائل پيچيده. استفاده از طبيعت. الگوريتم ژنتيک. شبکه های عصبی. حل مسائل با بهترين گزينه ها تا رسيدن به پاسخ بهينه. آموزش کامپيوتر، روباتها و. نظريه فازی.
E N D
مهندسی سيستم روشهای هوش مصنوعی برای حل مسائل پيچيده استفاده از طبيعت الگوريتم ژنتيک شبکه های عصبی حل مسائل با بهترين گزينه ها تا رسيدن به پاسخ بهينه آموزش کامپيوتر، روباتها و ..... نظريه فازی حل مسائل پيچيده غير خطی با اطلاعات نادقيق، که سيستمهای مديريتی پيشرفته با آنها مواجه است
تعريف فازی : فازی (رياضيات نامعين) عبارتست از عمليات روی اطلاعات نادقيق و تحليل نادقيق اطلاعات
تاريخچه : منطق فازی اولين بار توسط پروفسور لطفی زاده استاد دانشگاه برکلی در مقاله ای تحت عنوان « مجموعه های فازی » در سال 1965 به دنيا عرضه شد، ليکن نزديک به پنج سال طول کشيد تا دانشمندان به کاربردهای آن دست يافتند و منطق فوق در سيستم های کنترلی مورد استفاده قرار گرفت. اين منطق سالها بعد و در اوائل دهه 90 کاربردهای خويش را در عرصه های علوم ديگر همانند مديريت يافت و راهی تازه برای تحليل و مدلسازی مسائل در فضای عدم قطعيت پيش روی محققان قرار داد.
انواع عدم قطعيت : ۱) عدم قطعيت از نوع احتمالی ۲) عدم قطعيت از نوع کلامی
مفهوم مجموعه های فازی : هر مجموعه ای يک مجموعه جهانی دارد و منظور ما از مجموعه ای مانند A اين است که کدام عنصر مجموعه جهانی عضو آن است و کدام عنصر نيست. مثال : } U = { a, b, c, d, eمجموعه جهانی A = { b, d, e }مجموعه A U مجموعه جهانی کلاسيک (دقيق) a € A or a 100% € A b b € A or b 100% € A or b 0% € A مجموعه A a
به شيوه ای ديگر نيز می توانيم همين موضوع را بگوييم که در فازی بکار می رود : عضويت a در A صد در صد است. عضويت b در A صفر در صد است. U مجموعه جهانی فازی ( نا دقيق ) مجموعه فازی A b d c مجموعه A d a a در مجموعه فازی A مرز مجموعه به طور دقيق مشخص نبوده و حالت ابهام دارد.
حال c عضو A هست يا نه ؟ تفاوت اصلی مجموعه های فازی با مجموعه های کلاسيک در همين است. در نمايش مجموعه های فازی همانگونه که ديده شد می توان از تابع عضويت استفاده کرد.
در مجموعه های کلاسيک ( دقيق ، crisp) : اگر x عضو A است عضويت عنصر x از مجموعه جهانی در مجموعه A اگر x عضو A نيست مثال : حالت کلاسيک در ادامه برای نمايش مجموعه ها از الگوی زير استفاده می نماييم :
در مجموعه های فازی تعلق يا عدم تعلق ۱۰۰٪ نيست. در واقع در اين مجموعه ها عددی است که هميشه بين صفر و يک قرار دارد. مثال : U را همانند قبل در نظر می گيريم : در اين مثال عدد ۷ را عدد بزرگ و اعداد ۸ و ۹ را خيلی بزرگ می دانيم و همچنين ۶ و ۵ و ۴ هم به اندازه ۷ بزرگ نيستند. در اينجا چون منظورمان عدد بزرگ است، عضويت عدد ۷ از همه بيشتر است. به همين ترتيب ۴ نسبتاً کوچک است، ۳و ۲و ۱ کوچک هستند، ۵ متوسط است و مقادير بالاتر يعنی ۶ و ۷ و ۸ و ... در اينجا بزرگ هستند.
مقايسه بين منطق فازی و ارسطويی فرض کنيم که پاسخ دهنده ای بر مبنای طيف پنج گزينه ای به يکی از سوالات پرسشنامه بصورت زير پاسخ داده است : Likert 1) Very low 2) Low 3) Medium 4) High 5) Very high بر اساس تحليل های آماری گزينه چهارم به عنوان پاسخ اين سوال در نظر گرفته می شود. رويکرد غير فازی 0 1 0 0 0 0.6 رويکرد فازی 0 0.2 1 0.6
کاربرد اعداد فازی : اعداد فازی برای نشان دادن مقادير نادقيق Uncertain يا مبهم Obscure بکار می رود. مراحل فازی کردن اعداد نادقيق: ۱- مقادير حداکثر و حداقل مجموعه جهانی را تعريف کنيد. مثال : دمای محيط ۲- مقادير کلامی بصورت جملات اتمی را تعريف کنيد. مثال : سرد طاقت فرسا، خيلی سرد، سرد، خنک، مطلوب، گرم، داغ ۳- فضای مجموعه جهانی (بين max و min) را به قسمت های مختلف (خطی و غيرخطی) تقسيم کنيد. (ترجيحاً به تعداد جملات اتمی) مثال : غير خطی
۴- با در نظر گرفتن توابع عضويت مناسب مقادير کلامی را بصورت مجموعه های فازی تعريف کنيد. مثال : اخيراً سعی می شود با استفاده از فرمول های خاصی اين مقادير را بدست آورد. دو فرمول منحنی زنگوله ای و منحنی مثلثی معروف هستند.
عدد تعيين کننده پهنای شکل عددی که محوريت مورد نظر ما است عنصر مجموعه جهانی اگر اعداد خيلی بهم نزديک باشند می توان مجموعه توابع عضويت را به شکل منحنی نشان داد. فرمول زنگوله ای : فرمول مثلثی :
چون رفتار انسان فازی تر است و گاهی گفتن جملات اتميک سخت است، می توان با ترکيب جملات اتمی و نوعی قيدها جملات کامل تری (فازی تری) ساخت. مثال : (چند مقدار کلامی) فرض کنيد A مجموعه ای فازی است :
تقريباً بشدت
مثال : نمايش فازی سن افراد کودک بچه نوجوان جوان ميانسال ۰ ۵ ۱۵ ۲۰ ۳۰ ۴۰
ساخت قوانين فازی Fuzzy Rule Base
قوانين فازی به منظور مدلسازی وقايع استدلالی بکار می رود. اين امر به ما کمک می کند تا در شرايطی که دارای اطلاعات نامعين و نادقيق هستيم ، ساختار قواعدی را تشکيل دهيم که به عنوان مبنايی برای پيش بينی ، شناخت تاثيرات همزمان و انجام عمليات بعدی مورد استفاده قرار گيرد.
مثال : If price of cpu ismedium then level of computer in market is medium. B A if then R = (A x B) U ((1- A) x y) ماتريس نشان دهنده قانون فوق (روش زاده) R = (A x B) ماتريس نشان دهنده قانون فوق (روش ممدانی)
با انجام مراحل فوق در حقيقت يک قانون ساخته شده است
با ترکيب چند قانون، قانون نهايي بدست می آيد. If A then B R1 If A` then B` R2 R n قانون نهايي
در قانون نهايی R ، هر عنصر برابر است با ماکزيمم عناصر متناظر R1 و R2 و . . . Rn . پس از يافتن قانون نهايي R که در واقع خلاصه شده تجربيات if A then B ها در يک ماتريس است، سوال اين است که اگر شرايط مثلاً A` باشد، با توجه به تجربه R انتظار داريم نتيجه چه باشد؟ و يا برعکس اگر مثلاً نتيجه B`است، انتظار داريم مقدار اوليه چه مقدار کلامی يا فازی باشد؟ مثال : فرض کنيد در يک موسسه قانون مربوط به رابطه پاداش با بهره وری به شکل زير باشد : If Remuneration is A then Productivity is B اين قانون در ماتريس R به شکل زير جمع بندی شده است.
اين ماتريس در اصل قانون مدلسازی شده رابطه پاداش با بهره وری است. R = فرض کنيد سطح پاداش در سازمان در حال حاضر A`باشد. A` = almostlawRemuneration in organization حال می خواهيم مقدار بهره وری را با توجه به قانون بدست آمده محاسبه نماييم :
مقدار بدست آمده ميزان بهره وری در سازمان را با در نظر گرفتن قانون Rنشان می دهد. فرمول کلی برای B = A 0 R می باشد که به فرمول maxmin معروف است.
دستورهای matlab مجموعه جهانی A مجموعه جهانیB يا با تابع می نويسيم يا دستی
يا فرض کنيد همين R قانون ما باشد. نکته : اگر قوانينی مانند R1و R2 و R3را از قبل ساخته باشيم، برای ساختن قانون نهايی R از دستور rulebase بصورت زير استفاده می کنيم :
Fuzzy to crisp conversion گاهی لازم است يک عدد يا مقدار فازی دوباره غيرفازی شود. برای اينکار نيز روشهای مختلف وجود دارد : 1) Max - membership اگر Z* عدد غير فازی مربوط به مقدار فازی Z باشد.
(روش مرسوم) 2) Center of gravity مثال:
کيفی کردن Likelihood and truth Qualification زاده از کلمه اتمی Likeاستفاده کرده و کلمات ترکيبی را بدست آورد که می تواند الگويي برای ساختن کلمات ترکيبی از کلمه های اتمی مختلف باشد. Likely-very likely-high likely-un likely,…. مثال زاده : U={0,0.1,…..,1} Normalize Very Very likely = (Likely)4 Highly likely = (Very very likely)0.75
Yes را معادل می گيريم Yes = very very likely No را معادل می گيريم No = very very un likely Maybe = Likely Fuzzy Arithmetic حسابان فازی بطور کلی اگر y تابعی از x باشد بصورت زير نشان می دهيم: Y = f (x) f : x y در واقع تابع f يک رابطه ويژه را تعريف می کند.
کاربردهای فازی: دو روش زير برای درست کردن قانون از مجموعهif-then ها پيشنهاد می شود. فرض کنيد در سيستمی برای توليد سيگنال کنترل کننده يک فرايند از خطا و نرخ تغييرات آن استفاده ميکنيم Feed forward سيگنال کنترل U مقايسه برنامه ريز کنترل کننده تصميم گيرنده فرآيند نتيجه e e´ هدف _ سنجش نتيجه Feed back
مثال : مجموعه خطاها مجموعه مشتق خطاها سيگنال کنترل کننده فرايند تخصيص مقدار اوليه صفر به قانون نهايی : Ur = Zeros (6, 6, 7) قانون نهايی
جدول قوانين 1 NB 2 NM 3 NS 4 PS 5 PM 6 PB de e ZE PB PB PM PM PS 1 NB PM ZE PM PS NS NM 2 NM 3 NS 4 PS 5 PM 6 PB
جدولی را که نوشتيم بصورتtable در يک برنامه يا تابع Matlab وارد می کنيم و با استفاده از آن قوانين R و نهايتا” UR را می سازيم . Table = [7 7 6 6 5 4 ; 7 6 6 5 4 3 ; 6 6 5 4 3 2 ; 4 3 2 2 1 1]; به اين شکل جدول را وارد می کنيم. تعداد ستون تعداد سطر [nr, nc] = size (table) For i=1: nr For j=1: nc % if e NB and de NB then U PB …..
Mue = fuzzify (ue, ue (i)); Mude = fuzzify (ude, ude (j)); Muu = fuzzify (uu, uu (table (ij))); R = relation (mue, mude, muu); UR = rulebase (ur ,r) End End URقانون نهايی است
اگر نخواهيم تمام جدول را با قوانين مختلف پر کنيم (فقط قوانين کليدی را وارد جدول کنيم)می توانيم از يک جدول سه ستونی مانند مثال زير استفاده کنيم : مثال : فرض کنيم به جای اينکه تمام جدول پر باشد، چند قانون کليدی را به شکل زير وارد جدول کرده باشيم :
جدول قوانين 1 NB 2 NM 3 NS 4 PS 5 PM 6 PB de e PB PM 1 NB 2 NM NS NM 3 NS 4 PS 5 PM 6 PB ZE NS
Ur = zeros (6 , 6 , 7) Table = [1 1 7 ; 1 4 6 ; 2 3 6 ; 2 4 5 ; 3 5 3 ; 3 6 2 ; 5 1 5 ; 5 5 2 ; 6 1 4 ; 6 2 3 ; 6 5 1 ] ;
[nr, nc] = size (table); For i = 1: nr mue = fuzzify (ue, ue (table (i,1))); mude = fuzzify (ude, ude (table (i,2))); muu = fuzzify (uu, uu (table (i,3))); R = relation (mue, mude , muu( ; UR = rulebase (ur, r); end URقانون نهايی است
کاربرد های فازی در مديريت منطق فازی امروزه کاربرد های فراوانی در سازمان ها دارد. برای مثال در برنامه ريزی استراتژيک ، نظام های تصميم گيری، کنترل و مديريت پروژه ها ، طبقه بندی مسايل سازمانی ، برنامه ريزی صنعتی ، کنترل کيفيت محصولات ، شبيه سازی ، طراحی نظام های آموزشی و بسياری کاربرد های ديگر می توان اشاره نمود . در ادامه به بخشی از اين موارد اشاره می شود.
کاربرد فازی درتصميم گيری : در تصميم گيری های کلاسيک وقتی که مقدار بدست آمده برای هر آلترناتيو از آلترناتيو ديگر بيشتر میشود، در اولويت بالاتری قرار می گيرد(MADM). ولی در عمل، اولاً اعداد نادقيق هستند ، ثانياً مسأله انتقال اولويت بندی هميشه صادق نيست و اين مشکلات ما را برای استفاده از فازی ترغيب می کند. مثال: از نظر عددی A > B A > C B > C A = 4 , B = 3 , C =2 A = آبی A > BA > C B = سبز B > C C = قرمز
در ترجيح اعداد فازی خوشبختانه روش عملی برای استفاده از تابع عضويت وجود دارد. اگر BوAدو عدد فازی باشند، خواهيم داشت : T (A ≥ B) = sup {min { μA (x), μB (y)}} x ≥ y است.A ≥ Bصحت اينکه T (A ≥ A1 , A2 , … , An) = T (A ≥A1) and T (A ≥ A2) andT (A ≥ A3) and … مثال :
۷ از ۶ بزرگتر است. ۷ از ۴ بزرگتر است. = max { min (0.8 , 0.7), min (0.8 , 1)} = max {0.7 , 0.8) = 0.8 ۶ از ۳ بزرگتر است. ۴ از ۳ بزرگتر است. = max { min (0.7 , 1), min (1 , 1)} = max {0.7 , 1) = 1
جدول نمونه برای نمايش کاربرد فازی در MCDM * * تصميم گيری چند معياره
Fuzzy Dynamic MADM Detail