ورود به سایت
 
 
آمار بازدید سایت
 
  • کل بازدید : 1987264
  • بازدید امروز : 75
  • بازدید دیروز : 198
  • بازدید این ماه : 5921
  • بازدید ماه قبل : 8582
  • آخرین بازدید : يكشنبه 31 شهريور 1398 (07:21) ق.ظ
 
سرویس آب و هوا
 
اشکال در دریافت اطلاعات
 

منطق فازی و کاربردهای آن در پیاده سازی کنترلر فازی

    در اولين نگاه به اطراف خود به سادگي مي توانيد مجموعه اي از اين دستگاه ها و لوازم را در خانه و محل کار خود بيابيد. بله، مخترع منطق نوين علمي که جهان صنعت را دگرگون کرد و در کنار منطق ديجيتالي در ساختمان دستگاه هاي الکترونيکي، "منطق فازي" را به دنيا عرضه نمود، کسي نيست جز پروفسور لطفي زاده.
منطق فازی تعمیمی از منطق دو ارزشی متداول است و درحالیکه در منطق دودویی جایی برای واژه هایی همچون "کم"، "زیاد"،"اندکی"،"بسیار" و... که پایه های اندیشه واستدلالهای معمولی انسان را تشکیل می دهند وجود ندارد، روش پروفسور زاده برمبنای بکارگیری همین عبارات زبانی است.بعنوان مثال، مساله رعایت فاصله با خودروی جلویی در هنگام رانندگی را در نظر می گیریم. جهت تنظیم این فاصله هنگام مواجه شدن با خودروی روبرو "اگر جاده لغزنده باشد ، باید فاصله را زیاد می کنیم" و " اگر سرعت خوردرو کم باشد ، می توانیم فاصله را کم می کنیم" و "اگر هوا تاریک باشد ، فاصله را زیاد می کنیم" که غالبا به هنگام رانندگی امکان اندازه گیری دقیق میزان سرعت خودرو ، تاریکی جاده ، لغزندگی جاده و نظیر آن به منظور محاسبه مقادیر فاصله مطلوب وجود ندارد ، درنتیجه جهت طراحی سیستم ترمز موثر خودرو بر پایه منطق فازی، عباراتی مثل تاریکی کم یا زیاد ، سرعت کم یا زیاد ولغزندگی کم یا زیاد و... را بعنوان متغیرهای ورودی و عباراتی همچون " فاصله کم یا زیاد" را مشابه آنچه در مغز انسان برای تصمیم گیری رخ می دهد را بعنوان متغیر خروجی بکار می بندیم.
امروزه هيچ دستگاه الکترونيکي، از جمله وسايل خانگي، بدون کاربرد اين منطق در ساختار فني خود ساخته نمي شود. با منطق فازي پروفسور لطفي زاده اين دستگاه ها هوشمند مي شوند. امروزه اروپايي ها، ژاپني ها و آمريکايي ها و همه و همه ي کشورهاي پيشرو در علم و صنعت، پروفسور لطفي زاده را مي شناسند و از اهميت کار او در دانش مدرن بشري آگاهند.
بر خلاف آموزش سنتي در رياضي، پروفسور "زاده" در سال 1965 منطق انساني و زبان طبيعت را وارد رياضي کرد. شايد بتوان با دو رنگ سياه و سفيد مثال بهتري ارائه داد. اگر در رياضي، دو رنگ سياه و سفيد را صفر و يک تصور کنيم، منطق رياضي، طيفي به جز اين دو رنگ سفيد و سياه نمي بيند و نمي شناسد. ولي در مجموعه هاي نامعين منطق فازي، بين سياه و سفيد مجموعه اي از طيف هاي خاکستري هم لحاظ مي شود و به اين طريق فصل مشترک ساده اي بين انسان و کامپيوتر بوجود مي آيد.
اين منطق حدود چهل سال پيش در آمريکا توسط لطفي زاده پايه ريزي شد و براي اولين بار در سال 1974 در اروپا براي تنظيم دستگاه توليد بخار در يک نيروگاه، کاربرد عملي پيدا کرد. با پيشرفت چشمگير ژاپن در عرضه وسايل الکترونيکي، در سال 1990 کلمه "فازي" در آن کشور به عنوان "کلمه سال" شناخته شد.
بسط و گسترش منطق فازي و تئوري مجموعه هاي فازي بدليل ابهام و عدم قطعيتي بوده كه در مسائل پيرامون ما وجود دارد و به همين جهت در منطق فازي (علي رغم منطق دو ارزشي) گستره اي از ارزشها تعريف شده است تا ما قادر باشيم احساسات و تفكراتمان را بدون ابهام به مخاطبان خود انتقال دهيم .بدون اغراق زندگی روزمره ما آمیخته با مفهوم فازی است ، یعنی بطور ناخودآگاه از عباراتی استفاده می کنیم که برای مخاطب دقیقا مشخص نیست. . بعبارت ساده تر، مفهوم کلمه یا عبارت به تنهایی ممکن است واضح و روشن باشد ، اما زمانیکه از آن بعنوان معیاری در تعیین اعضای یک مجموعه ریاضی استفاده می شود ، شاید نتوان بطور قاطع شیء را به آن نسبت داد و بالعکس.
با این اوصاف :
الف)ما تا چه حد قادریم احساسات و تفکراتمان را بدون ابهام به مخاطبان خود انتقال دهیم و تا چه حد آن چیزی که بیان می کنیم دقیقا همان خواسته ذهنی ما بوده است؟
ب)چقدر درک مخاطب از جمله ما ، با آنچه که مقصود ما بوده همخوانی داشته است؟
این دو سوال 2 مفهوم متفاوت و درعین حال اساسی در مبحث فازی را بیان می کنند. بطور کلی برای برقراری ارتباط با محیط اطراف ، ما از یک "زبان طبیعی" استفاده می کنیم و از آنجاکه قدرت تفکر همواره فراتر از توان پیاده سازی آن با یک زبان است برای بسیاری از مفاهیم ذهنی معادل دقیقی در دامنه لغات زبان وجود ندارد.
برای سوال دوم هم باید گفت که عوامل مختلفی در برداشت و درک افراد از یک مفهوم مشخص اثرگذار است .فرضا در عبارت "هوای سرد" با توجه به مکان زندگی ، فرهنگ ، حساسیت فرد به سرما و... تعابیر مختلفی برای فرد از عبارت "سردی" قابل تعریف است که لزوما با شخص دیگر در مکان دیگر برابر نیست، زیرا سردی هوا از نظر افراد مختلف داری درجات متفاوتی است.کسی که در قطب زندگی می کند دمای 15- را سرد می داند درحالیکه برای فرد ساکن استوا دمای 5 درجه هم ممکن است سرد تلقی شود. این تفاوت درک افراد ازیک موضوع یکسان چگونه قابل توجیه است؟
برای پاسخ به این سوال ابتدا باید مفهوم و جایگاه واژه "سردی" در دنیای پیرامون ما تعریف و مشخص شود .این نکته همان چیزی است که پروفسور زاده در سال 1973 تحت عنوان متغیرهای زبانی به آن اشاره کرد، متغیرهایی که عدد نیستند بلکه مقادیرآنها حروف و لغات هستند و با مدلسازی مجموعه ای برای متغیر زبانی "سردی" (در واقع تئوری مجموعه های فازی) سعی در توصیف آن نموده و به هركدام از دماهاي مختلف (x) ، يك "درجه عضويت"(µ) نسبت مي دهيم كه بيان كننده ميزان تعلق آن عضو به مجموعه است و بين بازه بسته 0 و 1 متغير است:
µ Є [0,1] → U
در نتيجه در تئوري مجموعه فازي A در مجموعه مرجع U بصورت زوج مرتب زير است:
A = { (x,µ(x))|xЄ A}
يعني ديگر نميتوان بطوردقيق عنصري از U را به مجموعه A نسبت داد و چون مرزي كه در انتساب اعضا به وجود مي آيد(به دليل درك مختلف افراد از آن عبارت ) حالت غير قطعي و غير دقيق به خود مي گيرد. توابع عضويت در تعيين درجات عضويت نقشي اساسي ايفا مي كنند .برای مثال برای مجموعه فازی با عنوان "سردی" دمای 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در علوم زیست شناسی که در آن فرزندان بعضی از حیوانات به تیره خانواده ای متفاوت از والدینشان تعلق دارند ، در حالیکه از نظر ژنتیکی چنین امری ممکن نیست و این موضوع با منطق دوگانه مرسوم سازگاری نداشت.
در این راستا Bertrand Russel ابهام را جزئی از زبان دانست و یا Jan Lukasiewicz منطق سه ارزشی را مطرح کرد که در آن علاوه بر ارزشهای False & True منطق ارزشی possible هم وجود داشت.در منطق فازی به جای دو ارزشی بودن ، ما طیفی از ارزشها را در بازه بسته صفر و یک خواهیم داشت. با این طیف می توان عدم قطعیت را به خوبی نمایش داد . تمایز عمده منطق فازی با منطق چند ارزشی آن است که در منطق فازی مفهوم یک عبارت هم می تواند مبهم باشد(مانند سردی هوا) .
در منطق فازی می توانیم جملاتی را که معمولا در محاورات روزانه در تحلیل مسائل استفاده می کنیم از قبیل "کاملا درست است" ،"کم و بیش درست است"، "تا حدی نادرست است" و... را بکار بندیم . بطور کلی منطقها بعنوان پایه برهان به 3 بخش متمایز مقادیر درستی (Truth Values), عملگرها(operators) و فرآیند استدلال (reasoning) تقسیم می شوند.
برای نمونه عملگر or برای دو ورودی منطق دودویی (با مقادیر درستی صفر و یک) به شکل زیر است:
OR B A
1 1 1
1 0 1
1 1 0
0 0 0
و برای فرآیند استدلالی به شرح زیر ما جدول متناسب را رسم نمودیم:
Modus Ponens : (A ^ (A → B) )→B
B ^ A → B B A
1 1 1 1 1
1 0 0 0 1
1 0 1 1 0
1 0 1 0 0
این استدلالها مربوط به منطق دودویی است ، در حالیکه منطق فازی بسطی از منطق چند ارزشی بر پایه تئوری مجموعه هاست که در آن مقادیر درستی بجای صفر و یک متغیرهای زبانی هستند.

تئوری مجموعه های فازی
در ابتدای کار به منظور یاد آوری به مجموعه های کلاسیک اشاره خواهیم داشت. یک مجموعه کلاسیک بعنوان یک مجموعه ای از اشیاء با اجزایA Є x تعریف می شود.در واقع تابع مشخصه ای وجود دارد که برای هر x متعلق به مجموعه مرجع U مقدار µ(x) را بررسی می کند، تا مشخص شود که آن x متعلق به A است یا خیر:
1 , if and onlyif xЄ A
A 0 , if and onlyif x
بعبارت دیگر گزاره xЄ A یا درست است ویا غلط .چنین مجموعه ای به اشکال مختلف قابل تعریف است:
1- می تواند لیست عناصری باشد که به مجموعه متعلقند.
2- 2-توصیف مجموعه با بیان شرط عضویت A={x|x<5}
3- تعریف عناصر بوسیله یک تابع مشخصه که در آن "1" نشانه عضویت و "0" نشانه عدم عضویت است.
اما زمانیکه تابع مشخصه می تواند مقادیر پیوسته ای در [0,1] را به خود اختصاص دهد آنگاه
µ(x): U → [0,1]
دیگر نمیتوان بطور دقیق عضوی از U را به مجموعه A نسبت داد یا بالعکس ، بلکه برای هر x یک "درجه عضویت" تعریف می شود ، مثلا وقتی گفته می شود درجه عضویت x در مجموعه A برابر 0.8 است ، حاکیست که امکان تعلق x به این مجموعه بیش از امکان عدم تعلق آنست .این نکته پایه تئوری مجموعه های فازی است و عمل تخصیص درجه عضویت نیز بر عهده توابع عضویت می باشد.
برای مثال فردی با 30 سال سن ، بیش از آنکه به مجموعه "پیر" تعلق داشته باشد به مجموعه "جوان" متعلق است و این وابستگی را با عددی بین 0 تا 1 نشان می دهیم.
تعریف- یک مجموعه فازی A در مجموعه مرجع U بصورت زوج مرتب زیر است:
A = { (x,µ(x))|xЄ A}
یک مشاور املاک میزان راحتی و آسایش خانه ها را به توجه به تعداد اتاقهای خواب آن طبقه بندی می کند( این مفهوم فازی است چرا که مشاور املاک دیگر ممکن است نظری متفاوت داشته باشد)! اگر مجموعه Aبه صورتA={1,2,…,10} مجموعه ای از انواع خانه های موجود با اعضای x نشاندهنده تعداد اتاقهای خواب باشد ، آنگاه مجموعه فازی "خانه راحت" برای یک خانواده 4 نفری بشکل زیر قابل تعریف است:
A={(1,0.2),(2,0.5),(3,0.8),(4,1),(5,0.7),(6,0.3)}
که در آن مناسبترین خانه ، با 4 اتاق خواب در نظر گرفته شده و بالاترین درجه عضویت هم به آن تخصیص یافته است. بالتبع اگرB مجموعه فازی برای یک خانواده 5 نفره باشد، حاصل مجموعه ای متفاوت از مجموعه A خواهد بود.
تابع عضویت
تابع عضویت هر مقدار عددی را به درجه عضویت عبارات زبانی (بین 0 تا 1) می نگارد. در حالت استاندارد ، 3 مرحله برای بدست آوردن تابع عضویت یک متغیر زبانی ذکر شده است:
مرحله 1
برای هر عبارت ، آن مکانی که شامل نزدیکترین مقدار عددی به مفهوم زبانی عبارت است را انتخاب می کنیم و غالبا دارای ماکزیمم درجه عضویت µ=1 هم هست.مانند توابع عضویت مربوط به عبارت زبانی “power” که در زیر نشان داده شده است.pos-high نمایانگر توان مثبت بزرگ (positive) و neg-medium نشاندهنده توان منفی متوسط است.

مرحله 2
برای هر عبارت زبانی، مکان (یا مکانهایی) را که مقدار درجه عضویت عبارت در آنجا صفر است معین می کنیم.
مرحله 3
نقطه ای که دارای µ=1 بوده را به نقاطی که دارای µ=0 بودند با خطوط مستقیم وصل می کنیمف که می تواند تابعی به شکل Λ ایجاد نماید یا برای حالتی که دونقطه ماکزیمم داریم بصورت Π باشد.برای متغیرهای خروجی (مانند توانهای موتور در مثال قبلی) ، همین روند تکرار می شود.
برای توابع عضویت شکلهای مختلفی وجود دارد که مهمترین آنها عبارتند از:
1- مثلثی و ذوزنقه ای
به 2 دلیل این نوع شکل, در رسم توابع عضویت بیشترین کاربرد را دارند که علت آن سادگی در محاسبه خروجی یک سیستم فازی می باشد.



2- مکعبی
که حالت متقارن مکعبی را شامل می شود.


3-حالت منحنی (نمایی)
که نمودار تابع عضویت آن به شکل زیر است:

مثلا در بررسی تابع عضویت بشکل Π برای مرحله فازی سازی ورودیهای عددی تابع عضویت متغیر زبانی " تقریبا برابر عدد 10" در شکل زیر 4 نقطه در نظر می گیریم:

ملاحظه می شود که با استفاده از این 4 نقطه کل ناحیه محور به 5 بخش تقسیم خواهد شد. در نتیجه هر ورودی عددی به سیستم ، در یکی از این نواحی قرار می گیرد و بر همین اساس معادل زبانی و درجه عضویتش مشخص می گردد.فرضا اگر ورودی عدد 8 باشد، مقدار درجه عضویتش برای این عبارت زبانی 0.5 خواهد بود .
عملیات اساسی روی مجموعه های فازی(t-norm, co-norm)
چون مجموعه های فازی با توابع عضویتشان تعریف می شوند ، در واقع عملگرها روی این توابع عمل می کنند.
تعریف-مکمل مجموعه فازی با تابع عضویت µA(x) بصورت مجموعه ای با تابع عضویت زیر تعریف می شود:
µA(x)=1- µA(x)
فرضا تابع عضویت مجموعه فازی " تقریبا عدد 10" با اعمال این عملگر یعنی “not” به شکل زیر تبدیل می شود:

تعریف-co-norm اشتراک 2 مجموعه فازی C=AΠB ، مجموعه با تابع عضویت زیر است:
µC(x)=min {µA(x), µB(x)} xЄA
البته راههای دیگری در تعریف اشتراک وجود دارد ، مانند ضرب توابع عضویت µA(x)* µB(x) یا روابط دیگری که توسط افراد مختلف بکارگرفته شده است.
تعریف-t-norm اجتماع 2 مجموعه فازی C=AUB تابع عضویتی به شکل زیر دارد:
µC(x)=max {µA(x), µB(x)} xЄA


متغیرهای زبانی
یک متغیر بوسیله یک پنج تایی (x,T(x),U,G,M) مشخص می شود که x نام متغیر زبانی مانند دما، فشار و ... ، T(x) مجموعه ای از مقادیر زبانی است که برای x تعریف می شود ، مانند خیلی زیاد، کم و ...، U مجموعه مرجعی است که مقادیر زبانی روی آن تعریف می شوند ، مثلا برای دما ، بازه بین 50- و 100 درجه سلسیوس بعنوان مقادیر مجاز برای مجموعه فازی " دما" تعریف می شود. G هم یک تابع عضویت تعریف شده روی مجموعه مرجع است که مفهوم مقادیر زبانی در عبارت را مشخص می کند وM(x) بعنوان زیر مجموعه ای فازی از U است مانند:
M(old)={(x,µold(x)|x Є[0,100]}
µold(x)= ,x Є [50,100]
پروفسور" زاده " در سال 1973 می نویسد:" متغیرهای زبانی ، متغیرهایی هستند که مقادیرشان اعداد نیستند ، بلکه لغات یا جملات یک زبان طبیعی یا ساختگی هستند." اگرچه تئوری مجموعه های فازی فقط با مدلهای ریاضی سر و کار دارد ، ولی امکان مدلسازی لغات و عبارات یک زبان طبیعی را به کمک متغیرهای زبانی می دهد. بطور کلی متغیرها به 2 دسته تقسیم می شوند :
1-زبانی: مانند کلمات و عبارات مر بوط به یک زبان طبیعی را گویند.
2- عددی:که متغیرها دارای مقادیر عددی هستند.
یک متغیر زبانی در واقع یک عبارت زبان طبیعی است که به یک مقدار کمیت خاص اشاره دارد و اصطلاحا مانند مترجم عمل می کندو به کمک تابع عضویت نشان داده می شود مانند واژه "سرد" در جمله "هوا سرد است". سردی خود متغیری است برای دمای هوا که می تواند مقادیر مختلفی به خود اختصاص دهد و در واقع یک تابع عضویت برای آن تعریف می شود.
متغیرهای زبانی می توانند از الحاقu=u1,u2,u3,…,un تشکیل شوند که هر کدام از ui ها عبارتی تجزیه ناپذیر است ، مانند " تا حدی سرد" ، که در مجموع به 4 دسته زیر تقسیم می شود:
1- عبارات اصلی: که بعنوان برچسبهایی برای مجموعه های فازی در نظر گرفته می شوند و مانند "سرد" در عبارت بالا یا عباراتی از قبیل: کوتاه ، بلند و... که هر کدام تابع عضویت مخصوص خود را دارند.
2- حروف ربط : مانند و ، یا...
3- پیراینده : که روی عبارات اولیه اعمال شده و اثر تشدید یا تضعیف در مفهوم آن عبارت را بهمراه دارد مانند تا حدی ، اندکی ، بسیار و...
4- حروف نشانه مانند پرانتز و...
تمامی پیراینده ها روی عبارات اصلی u بصورت u به توان p عمل می کنند که pЄ[0,∞) است و اگر p=∞ شود آنگاه عبارت دقیق و غیر فازی حاصل می شود و نشان می دهد که هیچ ابهام و تردیدی وجود ندارد.اگر فرضا متغیر زبانی “پیر” را بعنوان ملاک ایجاد یک مجموعه فازی در نظر بگیریم آنگاه آن مجموعه بصورت زیر خواهد بود:
پیر={(0.3و45)،(0.5و50)،(0.8و55)،(0.9و60)،(1و70)،(1و75)}
آنگاه عبارت "بسیار پیر" ="پیر به توان 2 " یعنی تمام درجات عضویت به توان 2 می رسند که ما حصل
بصورت زیر خواهد بود:
بسیار پیر={(0.09و45)،(0.25و50)،(0.64و55)،(0.81و60)،(1و70)،(1و75)}

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

منبع:
http://www.mydocument.ir
 
بازدید : 4147 11 مرداد 1389 ساعت 06:29 ب.ظ