به نام خدا

Fatal Error
Welcome To Fatal Error Weblog

  منطق فازی

منطق فازی

منطق فازی چیست ؟

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

منطق فازی:

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

منطق فازی معتقد است که ابهام در ماهیت علم است. بر خلاف دیگران که معتقدند که باید تقریب‌ها را دقیق‌تر کرد تا بهره‌وری افزایش یابد، لذا باید به دنبال ساختن مدل‌هایی بود که ابهام را به عنوان بخشی از سیستم مدل کند. در منطق ارسطویی، یک دسته‌بندی درست و نادرست وجود دارد. تمام گزاره‌ها درست یا نادرست هستند. بنابراین جمله «هوا سرد است»، در مدل ارسطویی اساساً یک گزاره نمی‌باشد، چرا که مقدار سرد بودن برای افراد مختلف متفاوت است و این جمله اساساً همیشه درست یا همیشه نادرست نیست. در منطق فازی، جملاتی هستند که مقداری درست و مقداری نادرست هستند. گاهی همیشه درست و گاهی همیشه نادرست و گاهی تا حدودی درست است. منطق فازی می‌تواند پایه‌ریز بنیانی برای فن‌آوری جدیدی باشد که تا کنون هم دست‌آورد‌های فراوانی داشته است.

کاربردها:

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


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

از کاربردهای دیگر منطق فازی میتوان به کاربرد این علم در صنعت اتومبیل سازی (در طراحی سیستم ترمز ABS و کنترل موتور برای بدست آوردن بالاترین راندمان قدرت). در طراحی بعضی از ریزپردازنده ها و طراحی دوربینهای دیجیتال اشاره کرد.  اگر از ما پرسیده شود منطق فازی چیست شاید ساده‌ترین پاسخ بر اساس شنیده‌ها این باشد که Fuzzy Logic یا Fuzzy Theory یک نوع منطق است که روش‌های نتیجه گیری در مغز بشر را جایگزین می‌کند. مفهوم منطق فازی توسط دکتر لطفی زاده، استاد دانشگاه کالیفورنیا در برکلی، ارائه گردید و نه تنها به عنوان روش‌شناسی کنترل ارائه شد بلکه راهی برای پردازش داده‌ها، بر مبنای مجاز کردن عضویت گروهی کوچک به جای عضویت گروهی دسته‌ای ارائه کرد. به جهت نارسا و نابسنده بودن قابلیت رایانه‌های ابتدایی تا دهه 70 این فرضیه در سیستم‌های کنترلی به کار برده نشد.

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

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

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

جهت شروع، باید به ایجاد و ابداع منطقی تازه و نو دست بزنیم که آن همانا منطق فازی (Fuzzy logic) است. در منطق قدیم فقط دو حالت داریم: سفید و سیاه، آری و خیر، روشن و تاریک، یک و صفر، و درست و غلط. قوانین علمی گذشته، مثل ریاضیات، فیزیک و مکانیک نیوتونی، همه بر اساس اینگونه منطق استوار گردیده اند. پر واضح است که ذهن ما با منطقی دیگر کارهایش را انجام می‌دهد و تصمیماتش را اتّخاذ می‌کند.

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

 سابقه تاریخی:

در نیمه های دهه 1960 لطفی زاده استاد دانشگاه برکلی کالیفرنیا،برای اولین بار به معرفی و تشریح منطق فازی پرداخت.لطفی زاده منطق فازی را به عنوان شیوه ای برای پردازش داده ها توسعه داد. وی به جای این فرض که یک عنصر یا عضو یک دسته است و یا عضو یک دسته نیست،عضویت جزئی یک دسته را پیشنهاد کرد.در آغاز توجه خاصی به این نظریه نشد.اولین کاربرد عملی این فرضیه در سال 1974 بود ،هنگامی که ممدانی و اصیلیان از منطق فازی برای تنظیم یک موتور بخار استفاده کردند.گام بعدی در سال 1985 بود،هنگامی که محققین در آزمایشگاه بل اولین تراشه ای را که بر پایه منطق فازی بود ساختند.این تراشه منجر به ساخت بسیاری از محصولات مانند دروبین های فیلم برداری ،اجاق های پخت و... شد. شرکت OMRONدر سال 1993 اولین کامپیوتر مبتنی بر منطق فازی را ساخت.امروزه منطق فازی می رود که یکی از سریع ‌الرشد ترین شاخه‌های هوش مصنوعی شود.

 

مفاهیم اساسی:

سیستم منطق کلاسیک بر پایه منطق بولی است، منطق بولی بر این فرض استوار است که یک عنصر یا عضو مجموعه داده شده است ویا عضو مجموعه مفروض نیست. هر دو فرض فوق نمی توانند تواما درست باشند.متاسفانه این سیستم برای نشان دادن مفاهیم مبهم محدودیت دارد.به عنوان مثال،فرض کنید منطق بولی برای تشخیص اینکه یک اتاق گرم است یا سرد مورد استفاده قرار گیرد.همه افراد با این فرض که 100 درجه فارنهایت برای دمای اتاق گرم و 25 درجه فارنهایت برای دمای اتاق سرد محسوب می شود موافقند.اما اگر دمای اتاق 75 درجه فارنهایت باشد،دسته بندی دمای اتاق بر حسب سرد و یا گرم بودن اتاق بسیار مشکل خواهد بود. در این مورد و موارد مشابه منطق بولی وسیله‌ی مناسبی برای شناسایی مقدار میانه نیست.منطق فازی روش توسعه یافته منطق بولی برای به کاربردن مفاهیم مبهم است. برای بیان ابهام در قالب یک عدد،منطق فازی تابعی برای عضویت در یک دسته معرفی می کند، که به هر عنصر یک عدد حقیقی بین صفر و یک نسبت می دهد(صفر و یک هم شامل این اعداد می باشند). این عدد نشان دهنده درجه عضویت عنصر نسبت به مجموعه مورد نظر می باشد. عضویت صفر بیانگر این است که عنصر مورد نظر کاملا خارج از مجموعه است. در حالی که عدد یک نشان دهنده این است که عنصر مورد نظر کاملا در مجموعه قرار دارد.هر عدد بین این دو مقدار بیانگر درجه عضویت بخشی می باشد.حال بیایید مثالی را که در پاراگراف قبل بررسی شد مورد بحث قرار دهیم.اگر منطق فازی برای بررسی گرمی اتاق مورد استفاده قرار گیرد،100 درجه فارنهایت،دارای مقدار یک و 25 درجه فارنهایت مقدار صفر را دارا خواهد بود.از طرف دیگر 75 درجه فارنهایت مقداری بین صفر و یک خواهد داشت.

تابع عضویت:

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

نمایش گرافیکی سه تابع عضویت مختلف برای نشان دادن گرمی اتاق:

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

اجتماع:

اجتماع دو مجموعه فازی A,B  برابر با بزرگترین درجه عضویت بخشی عناصر A , B  است.به عنوان مثال،اجتماع مقادیر فازی 0.7 و 0.5 برابرست با 0.7

اشتراک:

اشتراک دو مجموعه فازی A,B  برابر با کوچکترین درجه عضویت بخشی عناصر A , B  است. به عنوان مثال،اجتماع مقادیر فازی 0.7 و 0.5 برابرست با 0.5

متمم:

متمم مجموعه فازی A با کم کردن آن عدد از یک بدست می آید. برای مثال متمم مقدار فازی 0.7 برابرست با 0.3  .

مانند منطق بولی، منطق فازی نیز می‌تواند از قانون ” اگر ‹شرط› آنگاه ‹عمل› “ استفاده کند.برای مثال قانونی برای تهویه مطبوع می تواند به این صورت باشد: ”اگر اتاق گرم و مرطوب است آنگاه دستگاه را روشن کن“ اما برخلاف منطق بولی،قسمت شرط با عبارات صحیح یا غلط سنجیده نمی شود،بلکه با درجه درستی مورد ارزیابی قرار می گیرد.

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

از دیگر کاربردهای منطق فازی می توان به موارد زیر اشاره کرد:

دستگاه تهویه مطبوع:دستگاه طوری تنظیم می شود تا به تدریج دمای اتاق به دمای مورد نظر برسد

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

دیگ بخار کشتی:دما،فشار و محتویات شیمیایی را کنترل کرده و در سطح قابل اطمینانی قرار می دهد.

دوربین های فیلمبرداری:تشخیص می دهد که شیئی که از آن فیلمبرداری می شود حرکت می کند یا حرکت، ناشی از لرزش دست فیلمبردار است.

 روش چهار مرحله ای استفاده از منطق فازی.این چهار مرحله عبارتند از:

 1)فازی کردن

 2)استنتاج

3)ترکیب و ساخت

4)بر گرداندن از حالت فازی

1)فازی کردن:

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

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

1)اگر اتاق گرم باشد آنگاه هوای زیادی منتشر کن

2)اگر اتاق خنک باشد،آنگاه هیچ هوایی منتشر نکن

3)اگر اتاق سرد و مرطوب است ، آنگاه کمی هوا را به جریان بیینداز.

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

2)استنتاج:

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

مثالی برای استنتاج: فرض کنید دستگاه تهویه مطبوع دما و درجه رطوبت را اندازه‌گیری کرده و به آنها به ترتیب مقادیر فازی 0.7 و 0.1 را نسبت داده باشد.حال این سیستم بایستی درستی هر یک از قوانین فازی را که در بالا بحث شد مورد بررسی قرار دهد.برای این منظور روشهای استنتاج بسیاری وجود دارد.این مثال ساده ترین روش را مورد استفاده قرار می دهدکه روش ماکسیمم-مینیمم نامیده می شود.این روش مقدار فازی قسمت آنگاه (نتیجه) را به قسمت اگر نسبت میدهد.بنابراین این روش مقادیر فازی 0.7 و 0.1 و 0.1 را به ترتیب به قوانین 1، 2 و 3 نسبت می دهد.

3)ساخت:

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

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

4)بازگرداندن از حالت فازی:

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

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

 

کاستی ها:

منطق فازی و منطق بولی هر دو بر پایه واقعیات می باشند.با این تفاوت که منطق فازی توانایی کارکردن با داده های مبهم را نیز داراست.با این وجود منطق فازی هنوز قادر به حل بعضی مسائل نیست: عضویت در یک مجموعه فازی شدیدا بر پایه داده های معین است.به عبارت دیگر، منطق فازی هیچ ادراکی از گمان ها،تعقل،شک یا ناسازگاری شواهد ندارد.بسیاری از سیستم ها، مانند آنچه در بحث کاربرد گفته شدمی‌توانند از منطق فازی بدون هیچ مشکلی استفاده کنند.چون نیاز به هیچ تصمیم گیری درونی و فکری ندارند.اما بعضی سیستم ها به منطق پیچیده تری نیاز دارند تا بتوانند به بیان گمان، تعقل و ... بپردازند.
برای نشان دادن نقصان منطق فازی می توان به سیستم شناخت دوست یا دشمن اشاره کرد (
Identify Friend or Foe : IFF) این سیستم برای شناخت هواپیماهای ارتشی یا مسافربری دوست و دشمن به کار می رود.در حالت عادی سیستم از هر هواپیما یک سیگنال شناسایی دریافت می کند .دلایل زیادی وجود دارند که ممکن است سیستم این سیگنال را دریافت نکند مانند: بد عمل کردن سیستم،بد عمل کردن فرستنده،نبودن این سیستم روی هواپیماها،پارازیت سیگنال یا خاموش بودن رادیو. در این موارداین سیستم باید از منطق برای شناسایی هواپیماها استفاده کند.که فقط مربوط به داده های مبهم از قبیل مسیر پرواز نیست.چون این داده ها هواپیماهای دوست را از دشمن تشخیص نمی دهند.بنابراین منطق فازی در سیستم تشخیص دوست از دشمن کاربردی ندارد. برای این منظور باید از منطقی استفاده شود که توانایی تصمیم گیری درونی را  داشته باشد.

منابع:

1-  علم مدیریت فازى _ دکتر عادل آذر حجت فرجى _ مرکز مطالعات مدیریت و بهره ورى ایران _ چاپ اول 1381.

2- تفکر فازى _ بارت کاسکو _ ترجمه: على غفارى، عادل مقصودپور، علیرضا پورممتاز، جمشید قسیمى، ناشر: دانشگاه صنعتى خواجه نصیرالدین طوسى _ چاپ دوم سال 1380

3- www.Vojoudi.com

4- http://en.wikipedia.org/wiki/Fuzzy_logic

 

 5- Http://en.wikipedia.org/wiki/Fuzzy set

6- www.Aftab.ir

 

تگ های این مطلب :منطق فازی
و تگ های این مطلب :fuzzy logic
نویسنده : Fatal Error | ساعت ٢:٢۱ ‎ق.ظ روز ۱۳۸۸/۳/۱٥
پيام هاي ديگران () | لینک ثابت