آموزش نرم افزار CLIPS (درس سیستم های خبره)

جهت دانلود به فايل پيوست مراجعه نمائيد


الگوریتم تشخیص صحت کد ملی

Normal 0 false false false EN-US X-NONE AR-SA MicrosoftInternetExplorer4

 روش اعتبار سنجی کد ملی :

دهمین رقم شماره ملی را ( از سمت چپ ) به عنوان A در نظر می گیریم.

یک مقدار B در نظر می گیریم و آن را برابر با =

(اولین رقم * ۱۰) + ( دومین رقم * ۹ ) + ( سومین رقم * ۸ ) + ( چهارمین رقم * ۷ ) + ( پنجمین رقم * ۶) + ( ششمین رقم * ۵ ) + ( هفتمین رقم * ۴ ) + ( هشتمین رقم * ۳ ) + ( نهمین رقم * ۲ )

قرار می دهیم.

مقدار C را برابر با = B – (B/11)*11 قرار می دهیم.

اگر مقدار C برابر با صفر باشد و مقدار A برابر C باشد کد ملی صحیح است.

اگر مقدار C برابر با ۱ باشد و مقدار A برابر با ۱ باشد کد ملی صحیح است.

اگر مقدار C بزرگتر از ۱ باشد و مقدار A برابر با ۱۱ – C باشد کد ملی صحیح است.

منبع :  http://itboard.ir


رتبه بندي يك صد دانشگاه برتر آسيا

Normal 0 false false false EN-US X-NONE AR-SA MicrosoftInternetExplorer4

رتبه بندي يك صد دانشگاه برتر آسيا به تازگی بر روي سايت Times Higher Education قرار گرفت و سه دانشگاه صنعتی شريف به رتبه 42، دانشگاه علوم پزشكي تهران به رتبه 62 و دانشگاه صنعتي اصفهان به رتبه 95 دست يافتند.

به گزارش خبرنگار مهر، در این رتبه بندي يكصد دانشگاه برتر آسيا در سايت Times Higher Education كه يكي از معروفترين ارگان هاي رتبه بندي دانشگاهها و مراكز آموزش عالي در جهان است، درج شده است.

11 دانشگاه آسیایی بطور همزمان در رتبه جهاني زير صد و 20 دانشگاه از این گروه نیز رتبه زير 200، چهل دانشگاه رتبه زير 300 و 57 دانشگاه از اين گروه رتبه زير 400 را در جهان كسب کرده اند.

در این رتبه بندی دانشگاه توكيو ژاپن به رتبه اول آسيا، دانشگاه ملي سنگاپور به رتبه دوم، دانشگاه هنگ كنگ به رتبه سوم، دانشگاه پكن رتبه چهارم، دانشگاه علم و تكنولوژي پوهنگ كره جنوبي رتبه پنجم و دانشگاه Tsinghua  چين رتبه ششم را در آسيا كسب کرده اند.

دانشگاه كبانگسان با رتبه 87 تنها دانشگاه مالزي در ميان يك‌صد دانشگاه برتر آسيا است و دانشگاه آمريكايي بيروت نيز همين رتبه را كسب کرده است. ژاپن با 22 دانشگاه، تايوان با 17 دانشگاه، چين با 15 دانشگاه، كره جنوبي با 14 دانشگاه، هنگ كنگ با 6 دانشگاه، تركيه 5، ايران و هند، تايلند، عربستان سعودي هر يك با 3 دانشگاه، سنگاپور با 2 دانشگاه و امارات با يك دانشگاه به ترتيب داراي بيشترين تعداد دانشگاه در اين رتبه بندي بوده‌اند.

روش به كار گرفته شده براي اين رتبه بندي داراي 13 شاخص در پنج زمينه براي بررسي آموزش، پژوهش، انتقال دانش، و رويكرد بين المللي آن بوده است. در اين بررسي محيط آموزشي 30 درصد ارزشيابي، حجم پژوهش، درآمد و اعتبار 30 درصد، ميزان ارجاع به مقالات پژوهشي يا مقالات داراي تأثير 30 درصد، درآمد از صنعت و نوآوري 2.5 درصد و رويكرد بين المللي با احتساب تعداد دانشجويان، استادان و تحقيقات مشترك خارجي 7.5 درصد را به خود اختصاص داده اند.

بر اساس اعلام این سایت سه دانشگاه ایرانی، دانشگاه صنعتی شريف به رتبه 42 و امتیاز 36.5 ، دانشگاه علوم پزشكي تهران به رتبه 62 و امتیاز 27.9  و دانشگاه صنعتي اصفهان به رتبه 95 و امتیاز 22.5 دست يافتند

منبع خبرگزاري مهر.

 


سيستم هاي خبره

سیستم‌های خبره برنامه هایی هستند که رفتار یک انسان متخصص در یک زمینه بخصوص را تقلید می کنند. این برنامه از اطلاعاتی که استفاده کننده در آن‌ها ذخیره می‌کند جهت اعلام یک عقیده در یک موضوع بخصوص استفاده می کند. از این رو سیستم‌های خبره تا هنگامی که بتوانند موضوعی را که با پاسخ‌های شما مطابقت داشته باشد بیابند به سوال کردن از شما ادامه می دهند. به منظور درک کردن آنچه یک سیستم متخصص انجام می دهد مکالمه زیر که بین یک متخصص در امور میوه و فرد دیگری که می خواهد از وی توصیه ای در این مورد دریافت کند را در نظر بگیرید:

-
متخصص: آیا میوه سبز است؟

- استفاده کننده: خیر.

- متخصص: آیا میوه قرمز است؟

- استفاده کننده: بله.
-
متخصص: آیا این میوه روی درخت رشد می کند؟
-
استفاده کننده: خیر.

- متخصص: آیا این میوه روی یک بوته رشد می کند؟
-
استفاده کننده: بله.

- متخصص: آیا این بوته تیغ دارد؟

- استفاده کننده: بله.

- متخصص: این میوه تمشک است!

هدف از طراحی یک سیستم متخصص کامپیوتری در امر میوه تولید این مکالمه است. در حالت عمومی تر سیستم متخصص سعی می‌کند که به استفاده کننده از خود در مورد موضوعی که از آن مطلع است راهنمایی دهد.

اگر بخواهيم تعريفي از سيستم هاي خبره ارایه دهيم مي توان گفت « سيستم هاي خبره برنامه هاي كامپيوتري هستند كه با استفاده از قواعد مورد استفاده متخصصين به حل مسایل در زمينه اي خاص مي پردازند. وجه تمايز اصلي سيستم هاي خبره نسبت به برنامه‌هاي كاربردي گذشته آن است كه از استدلال مبتني بر استنباط و استنتاج استفاده مي كند در برنامه هاي كاربردي معمولي داراي الگوريتم و روش حل مساله ثابتي هستيم اما در روش هاي شهودي مي توان با آزمون و خطا مسایل دشوارتري را حل كرد و به جواب رضايت بخش رسيد .

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

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


سيستم هاي خبره-خلق آثار هنری دیجتالی با قدرت فکر

Normal 0 false false false EN-US X-NONE AR-SA MicrosoftInternetExplorer4

خلق آثار هنری دیجتالی با قدرت فکر

دانشمندان موفق به ساخت رایانه‌‌ای شدند که به کاربر این امکان را می دهد که با قدرت فکر خود نقاشی کند.

هید فوتزنر آموزگار سابق از لایپزیگ آلمان که به بیماری اسکلروز جانبی آمیوتروفیک مبتلا است تلاش می کنند یک مجموعه نقاشی با کمک رایانه ای که با کمک مغز کنترل می شود تولید کند.

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

دانشمندان این فناوری را براساس یک دهه دانش درباره معنای ضربات الکتریکی ایجاد شده توسط مغز در طول تفکر تولید کرده و توانستند یک برنامه رایانه ای بسازند که تفکر را به تصاویری الکترونیکی تبدیل می کند.

این برنامه علاوه بر بیمارانی که مبتلا به بیماریهای پیشرونده مغزی هستند، می تواند به افرادی که قادر به برقراری ارتباط نیستند نیز کمک کنند.

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

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

آنها امیدوارند که این فناوری بتواند کنترل رایانه را سریع تر و ساده تر کند.

دکتر کریستوف گوگر که این تیم تحقیقاتی را در یک شرکت فناوری اتریشی هدایت کرده است گفت: درحال حاضر این رابط کاربری چون یک نرم افزار نقاشی ساده کار می کند که فرد می تواند با استفاده از فکر خود انتخابهایی داشته باشد. اما اگر در قشر مغز الکترودهایی کاشته شود در آن صورت می توانید حرکات یک انگشت را رمزگشایی کرده و با سرعت بسیار بالایی کار کنید.

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

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

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

" منبع خبرگزاري مهر "


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

یک نمونه برنامه آماده از نرم افزار کلیپس در لینک زیر قرار داده شده است . برای اجرای برنامه فایل مورد نظر را دانلود کرده و از حالت فشرده خارج نمایید سپس نرم افزار کلیپس را اجرا نمائید و از منوی file گزینه load را انتخاب نمائید سپس برنامه مورد نظر را انتخاب کنید و سپس از گزینه execution گزینه run را انتخاب کنید تا برنامه اجرا شود.

 در این برنامه نحوه استفاده از دستور Deftemplate برای تعریف سه fact مورد نیاز برای سکه سپس نحوه استفاده برای دریافت مقداری از وردوی- نحوه چاپ مقداری در خروجی- نحوه استفاده از یک defrule شرطی را در این برنامه ساده قرار دادم. در این برنامه یک fact به نام Grade با فیلدی به نام Number  تعریف شده است که نمره یک دانشجو می باشد سپس در یک rule مقداری که از ورودی برای number دریافت شد با یک دستور شرطی با عدد 20 مورد مقایسه قرار گرفته است که در صورت برقرار بودن حرف A در خروجی نمایش داده شد.

Normal 0 false false false EN-US X-NONE AR-SA


يك نمونه برنامه آماده از نرم افزار کلیپس

 

Normal 0 false false false EN-US X-NONE AR-SA

جهت دريافت فايل لطفا آدرس ايميل خود را در قسمت نظرات وارد نمائيد. با تشكر

 


آموزش منطق فازی در «MATLAB»

Normal 0 false false false EN-US X-NONE AR-SA MicrosoftInternetExplorer4


       در این بحث به اختصار به موضوع منطق فازی با استفاده از ابزارگرافیکی جعبه ابزار منطق فازی نرم افزار مطلب (MATLAB) می پردازیم.

        از مزایای منطق فازی این است که با یک نگاشت، فضای ورودی ها را به فضای خروجی ها مرتبط می کند و اصول ابتدایی برای انجام این کار، همان طور که در فصول قبل گفته شد، یک سری از عبارات اگر- آنگاه است که به آنها قانون می گفتیم. تمامی قوانین به صورت موازی ارزش گذاری می شوند و ترتیب قوانین اصلاً مهم نیست. قوانین به تنهایی مهم هستند زیرا همگی آنها به متغیر ها اشاره دارند و متغیر ها را توصیف می کنند. قبل از آنکه به ساخت سیستم اقدام کنیم که قوانین را تفسیر کند، باید تمامی عباراتی را که نوع استفاده از سیستم را توضیح می دهند و همچنین صفات مربوطه، که نوع استفاده را توضیح می دهند ، تعریف کنیم. مثلاً در صورتی که در مورد گرمی هوا صحبت می کنیم، لازم است که ابتدا محدوده تغییرات دمایی هوا را که انتظار داریم و همین طور منظور از کلمه گرم را تعریف کنیم. برای درک بهتر به تعاریف زیر در قالب یک مثال توجه کنید :

قوانین :

ü     اگر دمای اتاق خیلی گرم است آنگاه سرعت پنکه را خیلی زیاد کن.

ü     اگر دمای اتاق گرم است آنگاه سرعت پنکه را زیاد کن.

ü اگر دمای اتاق معتدل است آنگاه سرعت پنکه را در همین اندازه نگه‌دار.

ü     اگر دمای اتاق خنک است آنگاه سرعت پنکه را کم کن.

ü     اگر دمای اتاق سرد است آنگاه پنکه را خاموش کن.

فضای ورودی : دمای اتاق

فضای خروجی : سرعت پنکه.

متغیرها در ورودی : دمای اتاق.

متغیرها در خروجی : سرعت پنکه.

محدوده تغییرات دمایی اتاق : منفی 20 درجه سانتیگراد تا مثبت 60 درجه سانتیگراد.

صفات یا مقادیر متغیر ورودی « دمای اتاق » : خیلی گرم، گرم، معتدل، خنک، سرد.

صفات یا مقادیر متغیر خروجی « سرعت پنکه » : خیلی زیاد، زیاد، کم، خاموش.

محدوده دمایی صفت خیلی گرم از دمای اتاق : خیلی گرم Ü بین 45 تا 60 درجه سانتیگراد.

محدوده دمایی صفت گرم از دمای اتاق : گرم Ü بین 35 تا 45 درجه سانتیگراد.

محدوده دمایی صفت معتدل از دمای اتاق : معتدل Ü بین 20 تا 35 درجه سانتیگراد.

محدوده دمایی صفت خنک از دمای اتاق : خنک Ü بین 10 تا 20 درجه سانتیگراد.

محدوده دمایی صفت سرد از دمای اتاق : سرد  Ü بین 20-  تا 10+  درجه سانتیگراد.

محدوده صفت خیلی زیاد در سرعت پنکه : خیلی زیاد Ü کلید 3 سرعت پنکه(بالاترین سرعت).

محدوده صفت زیاد در سرعت پنکه : زیاد Ü کلید 2 سرعت پنکه.

محدوده صفت کم در سرعت پنکه : کم Ü کلید 1 سرعت پنکه.

محدوده صفت خاموش در سرعت پنکه : خاموش Ü کلید خاموش پنکه.

باید توجه داشت که تعداد متغیرها می تواند بسیار بیشتر از این تعداد در مثال بالا باشد و یا مقادیری که هر صفت می گیرد نیز می تواند متنوع تر باشد.

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

       حال باید این سؤال را مطرح کرد که اگر در مثال آورده شده دمای اتاق 44 درجه باشد حال سرعت پنکه چه وضعیتی داشته باشد و یا اگر دما به 46 درجه رسید در این صورت باید سرعت پنکه به چه شکل تغییر کند. همان طور که دیده می شود اختلاف دمای این دو دما فقط دو درجه است آیا باید به محض رسیدن دما به 46 درجه، پنکه باید به دور خیلی زیاد تغییر حالت دهد؟ اگر بخواهیم از منطق دودویی استفاده کنیم باید گفت که آری سرعت پنکه به خیلی زیاد تغییر حالت می دهد حال آنکه بر اساس منطق فازی طبق تعریفی که به اختیار خود تنظیم کننده سیستم می کند و تابع عضویت را تعریف می کند، مشخص می نماید که این دما چند درصد متعلق به صفت گرم و چه درصدی متعلق به صفت خیلی گرم، متغیر دمای اتاق است، حال بر اساس این تعریف اختیاری، سرعت پنکه تغیر خواهد کرد(نمودار توابع عضویت را در حالت تحلیل بر اساس منطق دودویـی و تحلیــل بر اساس منطـق فـازی در شـکل 1  می بینیم).

 

 توابع عضویت در منطق فازی

ادامه مطلب را ببینید . . . . . . . . .



توابع عضویت در منطق فازی

       یک تابع عضویت (MF) یک منحنی است که نشان می دهد که هر نقطه از فضای ورودی چگونه به یک مقدار عضویت (درجه عضویت) بین 0 و 1 نگاشته می شود. از فضای ورودی غالباً به جهان مباحثه یاد می شود.

       یکی از مثالهای معمول برای مجموعه های فازی، مجموعه بلندی قد مردم است که در فصول گذشته اشاره ای به این مثال شد. در این حالت جهان مباحثه، تمام قد های مممکن است که بین 3 تا 9 فوت باشد و کلمه «بلندی» نشان دهنده یک منحنی است که برای بلندی هر کسی یک درجه تعریف می کند. در صورتی که مجموعه بلندی مردم با یک مرز قطعی از مجموعه کلاسیک داده شده باشد، می توانیم بگوییم که تمام افراد دارای بلندی بیش از 6 فوت رسماً بلند قد هستند. ولی چنین تفاوت گذاری کاملاً بی معنی است. چنین طبقه بندی ممکن است این تصر را به ذهن آورد که مجموعه ما، مجموعه تمام اعداد حقیقی بزرگتر از 6 است. ولی مقتی که می خواهیم در مورد مردم واقعی صحبت کنیم. دلیلی ندارد که یک نفر را بلند و دیگری را کوتاه در نظر بگیریم، وقتی که تفاوت قد آنها در اندازه مویشان است.

       شکل زیر ی یک منحنی با تغییرات ملایم را نشان می دهد که از قسمت بلند قد به قسمت غیر بلند قد می رود. محور خروجی یک مقدار عددی است بین 0 و 1 به نام «مقدار عضویت». منحنی با نام تابع عضویت شناخته می شود. این منحنی گذر از بلند قدی به غیر بلند قدی را تعریف می کند. دو نفر با یک درجه بلند هستند ولی یکی از لحاظ مفهومی بلند تر از دیگری است.

       تنها شرطی را که یک تابع عضویت باید واقعاً ارضا کند اینست که مقدار آن باید بین 0 تا 1 باشد. خود تابع می تواند هر نوع تابع دلخواه باشد. شکل این تابع می تواند از نقطه نظر سادگی، راحت بودن و بازده تغییر کند تا رضایت ما را جلب کند.

یک مجموعه فازی، مجموعه ای توسعه یافته از یک مجموعه کلاسیک است. اگر X جهان مباحثه باشد و اعضای آن را با x نشان دهیم، آنگاه مجموعه فازی A از X یک زوج مرتب را تعریف می کند.

A = { A(x) | xÎX}

mA(x) ، تابع عضویت X در A خوانده می شود. تابع عضویت، هر کدام از عضوهای X را به یک «مقدار عضویت»  می نگارد. این عدد، عددی بین 0 و 1 است.

جعبه ابزار منطق فازی دارای 11 نوع تابع عضویت پیش ساخته را شامل می شود. این 11 تابع از توابع مهم مختلفی تشکیل شده اند:

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

       ساده ترین توابع عضویت از خط های راست تشکیل می شوند. ساده ترین تابع، تابع عضویت مثلثی است و اسم تابع مربوط به آن trimf است. نقاطی که مثلث را می سازند بیش از سه نقطه نیستند. تابع عضویت ذوزنقه ای، trapmf  ، یک سط بالای صاف دارد و در حقیقت یک منحنی مثلثی است که سر آن بریده شده است

 

 

دو تابع عضویت نیز بر اساس منحنی توزیع گوسی ساخته شده اند: یک منحنی ساده و یک ترکیب دو پهلو از دو منحنی جداگانه گوسی. این دو تابع gaussmf و gauss2mf هستند.

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

 

 

 

       با وجودی که توابع عضویت گوسی و زنگوله ای به آسانی بدست می آیند، ولی آنها قادر نیستند توابع عضویت غیر متقارن را مشخص کنند. این توابع نامتقارن نقش مهمی را در کاربردهای خاص ایفا می کنند. در ادامه توابع عضویت حلقوی مورد بحث قرار می گیرند که می توانند از راست یا چپ باز و آزاد باشند. توابع عضویت نامتقارن و بسته ( یعنی  اینکه از چپ یا راست باز نباشد) می توانند از ترکیب دو تابع حلقوی بدست آیند، به همین خاطر علاوه بر تابع اصلی sigmf، تفاضل دو تابع حلقوی، dsigmf و حاصل ضرب دو تابع حلقوی psigmf را هم در اختیار داریم.

 

 

 

         توابعی که بر اساس چند جمله ای ها ساخته می شوند، برای ساخت توابع عضویت مختلیف که در جعبه ابزرا منطق فازی هستند بکار می روند. سه تابع در رابطه با این نوع توابع، منحنی های S , Z  و Pi هستند. لازم به ذکر است که نامگذاری این نوع توابع بر اساس شکل آنها است. تابع zmf یک تابع چند جمله ای نامتقارن باز از سمت چپ است. تابع smf یک تابع باز از سمت راست است که دارای تقارن آینه ای نسبت به منحنی قبلی است و تابع pimf در دو انتهای خود دارای مقدار صفر و در میانه خود دارای یک برآمدگی است.

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

 

 

3 –  4 : عملگرها در منطق فازی

         به یاد دارید که درستی هر چیزی در منطق فازی با یک مقدار به عنوان درجه برگردانده می شود. حال یک سؤال مطرح می شود : چگونه می توان جدول درستی آن را نشان داد؟ مقادیر ورودی اعداد حثیثی بین 0 و 1 هستند. چه تابعی می تواند نتایج جدول درستی مربوط به AND را برآورده سازد که در عین حالاعداد حقیقی بین 0 و 1 را هم پوشش دهد؟

        یکی از پاسخها عملگر min است. تابع min(A,B) عبارت A AND B را نتیجه می دهد. در اینجا A,B اعداد محدود به مجموعه (0,1) هستند. با همین استدلال ما می توانیم عملگر OR را با تابع max جایگزین کنیم. لذا A OR B با max(A,B)  معادل است و سرانجام، عملگر NOT را می توانن با عملگر 1-A معادل دانست. در این رابطه می توانید به تصاویر 8 و9 و 10 و 11 فصل دوم توجه کنید.

برای روشن شدن هر چه بهتر موضوع، برای نمونه، مثال تعیین مقدار انعام را که دربخش 11 فصل دوم آوردیم را دنبال می کنیم.

در آن مثال سه قانون برای استنتاج به کار می رفت که در زیر به آنها اشاره می شود :

1) اگر ( سرویس ضعیف باشد) یا ( غذا نامطلوب باشد)، آنگاه ( انعام ضعیف خواهد بود).

2) اگر ( سرویس خوب باشد)، آنگاه (انعام متوسط خواهد بود).

3) اگر ( سرویس عالی باشد) یا ( غذا مطلوب باشد)، آنگاه (انعام عالی خواهد بود).

 

        برای امتیاز دهی به کیفیت غذا و سرویس دهی، از اعداد 0 تا 10 استفاده می شود. حال اگر به سرویس عدد 3  و به غذا عدد 8 را اختصاص دهیم در صورتی که از نمودار های توابع عضویت دلخواه، که در شکل زیر دیده می شود استفاده شود، نتایج اعمال عملگرها را بر روی هر قانون به طور جداگانه و مستقل می توان مشاهده کرد.

برای نمونه قانون سوم را در شکل زیرتحلیل می کنیم.

 

        باید در نظر داشت که در این مثال و مثالهای بعدی که آورده می شود از سیستم استنتاج فازی ممدانی (Mamdani) استفاده خواهد شد. مراحل تفسیر و ترجمه قانون سوم را در شکل بالا مشاهده کردیم. در مرحله اول با دادن مقادیر عددی ( امتیاز) به یو متغیر سرویس دهی و غذا، آنها را طبق توابع عضویت دلخواهی خود فازی کرده و مقدار فازی شده که عددی بین 0 تا 1 است را برای هر یک بدست می آوریم. در مرحله دوم عملگر OR را که با تابع max نشان دادیم بر روی دو رقم فازی ااعمال کرده و نتیجه را در مرحله سوم بر روی تابع عضویت خروجی ( انعام ) اعمال کرده و بر اساس تابع min سطح رنگی نشان داده شده در شکل جواب ما در اعمال فازی سازی در قانون سوم می باشد.

 

4 – 4 :  تحلیل فرایند استنتاج فازی

       در این بخش مسأله مثال قبل را با سه قانون، دو ورودی و یک خروجی با جزئیات بیشتری مورد بررسی قرار می دهیم. ساختار اساسی این مثال را در شکل زیر مشاهده می کنید.

Input 1

Service (0 -1)

 

 

Rule 1 : If  Service is poor OR food is  rancid

Then tip is cheap

 

å

 

Input 2

food (0 -1)

 

 

Rule 2 : If  Service is good Then tip is average

 

Rule 3 : If  Service is excellent OR food is  delicious

Then tip is generous

 

output

tip (5-25)

 

 

ورودی ها غیر فازی هستند رقمها در محدوده معین

 

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

 

نتیجه اعمال قوانین جمع می شوند و دفازی صورت می گیرد

 

نتیجه،  یک رقم غیر فازی است

 

 

 

 

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

 

قدم اول : فازی سازی ورودی ها

       ورودی ها را گرفته و توسط توابع عضویت مربوطه، یک درجه مناسب به هر یک نسبت می دهیم. متغیرهای ورودی هر یک باید در محدوده رقمی تعریف شده خود باشند( مثلاً در اینجا بین صفر تا ده است) و خروجـی ها درجـه عضویت فازی از مجموعه های تعیین کننده زبانی (در اینجا بین صفر و یک ) هستند.

       مجموعه های فازی زبانی در این مثال را می توان به سرویس دهی ضعیف، سرویس دهی خوب، غذای مطلوب، غذای نامطلوب، انعام ضعیف و غیره اشاره داشت.ورودی ها باید با توجه به مجموعه های زبانی فازی شوند. برای مثال : تاچه اندازه ای غذا واقعاً خوش مزه است؟ در شکل زیر میزان مطلوب بودن غذا در یک رستوران فرضی بر حسب خوشمزگی آورده شده است ( که از 0 تا10 ارزش گذاری شده و توسط تابع عضویت محدود شده است). در این حالت، مقدار 8 را برای تعریف گرافیکی از خوشمزگی تعریف می کنیم. با توجه به این مسئله 0.7 برای تابع عضویت خوشمزگی بدست می آید. (تعریف سر آشپز از این نتیجه خواهد بود : غذای شما با درجه 0.7 خوشمزه است) با این روش هر ورودی به وسیله تابع عضویت محدود کننده ای که برای قوانین لازم است فازی می شود.

 

قدم دوم : اعمال عملگر های فازی

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

در جعبه ابزار منطق فازی دو نوع روش از پیش ساخته، min (مینیمم) و prod ( حاصلضرب )برای عملگر AND و max (ماکزیمم) و probor (یای احتمالی) برای عملگر OR طراحی شده است. روش OR احتمالی با جمع جبری نیز شناخته می شود و با توجه به معادله زیر بدست می آید.

Probor(a,b) = a + b – ab

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

        برای نمونه قانون سوم، که از عملگر OR استفاده کرده است را ارزش دهی می کنیم. مقدم این قانون دارای دوقسمت می باشد(اگر ( سرویس عالی باشد) یا ( غذا مطلوب باشد))، به قسمت اول (سرویس عالی ) ارزش 3 را و به قسمت دوم ( غذا مطلوب ) ارزش 8 را اختصاص می دهیم و حاصل فازی سازی آن به ترتیب 0.0 و 0.7  نتیجه می شود. عملگر فازی OR به سادگی مقدار ماکزیمم دو مقدار 0.7 و 0.0 را یعنی 0.7 انتخاب می کند که در اینجا کار عملگر فازی OR در این قانون تمام می شود.

0.7

 

0.0

 

0.7

 

 

 

قدم سوم : اعمال روش دلالت

        هر قانون یک وزن دارد (بین 0 و 1 ) که بر روی عدد بدست آمده بر روی مقدم اعمال می شود. معمولاً این عدد یک است (برای این مثال نیز یک است). اصولاً وزن دهی به قوانین هیچ تأثیری بر روی فرایند دلالت و فرایند نتیجه گیری ندارد. وقتی که وزن مناسب را به هر یک از قوانین نسبت می دهیم، روش دلالت به کار برده می شود. یک برآیند، یک مجموعه فازی است که با یک تابع عضویت مشخص شده و این تابع مشخصه های زبانی را که از خواص آن به حساب می آید وزن دار می کند یعنی در وزن مربوطه ضرب می شود.

      برآیند به وسیله یک تابع با مقدم ( که یک عدد است) پیوند می خورد. ورودی فرایند دلالت یک عدد است که از مقدم بدست می آید و خروجی آن یک مجموعه فازی است. دلالت برای هر یک از قوانین اجرا می شود. در اینجا نیز دو روش از پیش ساخته پشتیبانی می شودو مشابه توابعی هستند که توسط روظ AND به کار می روند: min که خروجی فازی را برش می دهد و prod که مقیاس خروجی مجموعه فازی را تغیر می دهد.

 

 

 

 

 

قدم چهارم : اجتماع تمام خروجی ها

        از آنجایی که تصیم گیری بر اساس بررسی تمامی قوانین در سیستم های استنتاج فازی صورت می گیرد، لذا برای تصمیم گیری باید قوانین را به روشی بتوان ترکیب کرد. اجتماع روسی است که به واسطه آن تمام مجموعه های خروجی هر قانون را به یک مجموعه فازی واحد ترکیب می کند. ورودی فرایند اجتماع فهرستی از توابع خروجی است که به وسیله فرایند دلالت برای هر قانون بریده شده است. در این مورد سه تابع از پیش ساخته شده پشتیبانی می شود : max ، probor و sum (جمع هر یک از مجموعه های خروجی از قوانین).

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

 

 

 

قدم پنجم : دِفازی کردن

         ورودی هر فرایند فازی مجموعه فازی است که حاصل اجتماع مجموعه های فازی در قدم 4 بود و خروجی آن یک عدد است. مجموعه فازی که در مرحله قبل به ما نتیجه داد به ظاهر نمی تواند حاصل عملکرد سیستم فازی و نتیجه نهایی که مشخص کند بالاخره خروجی کدام یک از مقادیر متغیر ها در برآیند قوانین بوده است را تعیین کند. پس باید از این مجموعه یک مقدار را که تعیین کننده باشد بدست آورد. که به این عمل اصطلاحاً دِفازی کردن گفته می شود. شاید عامه پسند ترین روش همان طور که در فصول گذشته بیان شد محاسبه مرکز ثقل باشد، که مرکز سطح زیر منحنی را می دهد. برای این منظور 5  روش از پیش ساخته شده وجود دارد : مرکز ثقل، نیمساز، نصف ماکزیمم( میانگین مقدار ماکزیمم مجموعه خروجی )، بزرگترین ماکزیمم و کوچکترین ماکزیمم.

       همانطور که در شکل زیر نیز دیده می شود پس از اجتماع خروجی های هر یک از قوانین، توسط روش max ، مرکز ثقل این مجموعه فازی پیدا شده و بر اساس آن در می یابیم که مقدار انعام داده شده به پیش خدمت چقدر باید باشد. که در این مثال، اگر به سرویس مقدار عددی 3 و به غذا مقدار 8 را اختصاص دهیم می بایست به میزان 16.7 درصد از فیش پرداختی غذا را انعام دهیم.

 

 

 

 

5 – 4 : سفارشی کردن

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

      برای مثال، شما می توانید توابع MATLAB مو


آموزش نرم افزار Matlab

Normal 0 false false false EN-US X-NONE AR-SA MicrosoftInternetExplorer4

مطلب (MATLAB) نام یکی ازنرم افزارهاي رایانه‌ای برای انجام محاسبات ریاضی است. واژهٔ مطلب هم به معنی محیط محاسبات رقمی و هم به معنی خود زبان برنامه‌نویسی مربوطه‌است که از ترکیب دو واژهٔ MATrix و LABoratory ایجاد شده‌است. این نام حاکی از رویکرد ماتریس محور برنامه ‌است، که در آن حتی اعداد منفرد هم به عنوان ماتریس در نظر گرفته می‌شوند.

کار کردن با ماتریس‌ها در Matlab بسیار ساده است. در حقیقت تمام داده‌ها در Matlab به شکل یک ماتریس ذخیره می‌شوند. برای مثال یک عدد (اسکالر) به شکل یک ماتریس ۱*۱ ذخیره می‌شود. یک رشته مانند «Whale is the biggest animal» به شکل ماتریسی با یک سطر و چندین ستون (که تعداد ستون‌ها به تعداد کاراکترهاست) ذخیره می‌شود. حتی یک تصویر به شکل یک ماتریس سه بعدی ذخیره می‌گردد که بُعد اول و دوم آن برای تعیین مختصات نقاط و بُعد سوم آن برای تعیین رنگ نقاط استفاده می‌شود. فایل‌های صوتی نیز در Matlab به شکل ماتریس‌های تک ستون (بردارهای ستونی) ذخیره می‌شوند. بنابراین جای تعجب نیست که Matlab مخفف عبارت Matrix Laboratory باشد.

Normal 0 false false false EN-US X-NONE AR-SA MicrosoftInternetExplorer4

http://4downloads.ir/1388/12/%D8%A2%D9%85%D9%88%D8%B2%D8%B4_matlab_pdf