منطق فازی از تئوری مجموعه اعداد فازی (منطق بی نهایت مقداره مترجم) مشتق میشود که نسبت به منطق کلاسیک (بولی یا ۰و۱ مترجم) به اندازه های تقریبی استدلال میکند (مثلا نه دقیقاً درست و نه دقیقاً غلط،نه کاملاً درست و نه کاملاً غلط،نه فقط ۰ یا نه فقط ۱). این تئوری به آن بعد منطق بی نهایت مقداره می اندیشد که به ارزیابی های خبره دنیای واقعی، بسیار دقیق و برنامه ریزی شده,برای حل یک مشکل پیچیده دلالت میکند (یعنی برای حل یک مشکل پیچیده از استدلالهای تقریبی دنیای واقعی و استدلالهای تقریبی بشری _اما با تقریبهای بسیار دقیق و تعریف شده_الگو برداری میکند مترجم).
درجات درستی اغلب با احتمالات اشتباه گرفته میشوند (به این معنا که میزان درستی که ما از یک چیز میپذیریم {مثلاً میگویند علی خوب است و شما نسبت به مفهومی که از خوب بودن برای خود تعریف کرده اید میگویید ۰.۸ خوب است و دوست شما معتقد است که او ۰.۳ خوب است!} با احتمال درست بودن چیزی{مثل زمانی که بگویند علی خوب است و چون شما شناخت دقیقی از وی ندارید میگویید احتمالا ۰.۸ خوب است} متفاوت است.اما مفهوم آن اشتباه شده است در حالت اول با اطمینان میگوییم که علی ۰.۸ خوب است و دوست شما ۰.۳ را قبول دارد.میزان خوب بودن برای دو نفر راجع به موضوعی یکسان متفاوت است و بر عکس حالت احتمال برای هر دو این میزان آشکار است مترجم). اگر چه هر دو از طریق ادراک تشخیص داده میشوند اما عضویت درست بودن در منطق فازی به معنای عضویت در مجموعه ای از اعداد تعریف شده ی گنگ است (میزان درست بودن عضوی از مجموعه ی اعداد حقیقیست که بین ۰ و ۱ و خود آنها وجود دارد مثلا تعرف میشود که علی اگر به کسی کمک کند ۰.۵ خوب است! مترجم) نه احتمال بعضی رویدادها یا شرایط.
با یک مثال متفاوت توضیح میدهیم. به سناریوی زیر دفت کنید:
علی در یک خانه با دو اتاق مجاور زندگی میکند .آشپزخانه و نهار خوری.کل حالتهایی که علی میتواند در خانه باشد دو حالت خواهد بود:یا او در آشپزخانه هست یا در آشپزخانه نیست (و در اتاق نهار خوری است مترجم).پس درباره حالتی که علی در درگاه (بین آشپزخانه و نهار خوری مترجم) ایستاده است چه میتوان گفت؟ او میتواند در حالتی باشد که بخشی از او در آشپزخانه و بخشی در نهار خوری باشد.تعیین کمیتی که چه بخشی از او در آشپزخانه است به صورت یک عضویت از یک مجموعه فازی بیان میشود. برای مثال با بودن حتی بخشی از او در اتاق نهارخوری ممکن است بگوییم علی ۹۹% در آشپزخانه و ۱% در نهار خوری است.
هیچ رویدادی (مثل پرتاب ۱ سکه) حضور علی را برای تشریح حالتهای بودن یا نبودن او در آشپزخانه (به شرطی که او در درگاه بایستد) تحلیل نخواهد کرد. مجموعه های فازی بر مبنای مجموعه ای از تعریفات حالتهای ابهام هستند نه حالتهای یک رویداد تصادفی.
منطق فازی برای عضویت مجموعه شامل ارزشهایی میان ۰ و ۱ و خود آنها,درجات مختلف خاکستری وخود سفید و سیاه و درفرم زبانشناختی مفاهیم غیر صریح مثل "اندکی"، "کاملا" و "چندان فراوان" می باشد. مخصوصاً که عضویت میتواند شامل بخشی ازمجموعه باشد که به تئوری های مجموعه های فازی و احتمالات مربوط میشود و توسط پروفسور لطفی زاده در سال ۱۹۶۵ از دانشگاه برکلی کالیفرنیا ارائه شد.
منطق فازی در بعضی حوزه ها با وجود پذیرش گسترده و سابقه پیگیری بسیار و کابردهای موفقیت آمیز,جدال برانگیز است.این نظریه برای تایید و دیگر دلایل توسط بعضی مهندسین کنترل و توسط بعضی آمار شناسانی که معتقدند احتمال فقط تعریفات شدیداً وابسته به ریاضیات بسط یافته است، رد شده است. نقدگران همچنین استدلال میکنند که منطق فازی نمیتواند یک مجموعه ی خاص از تئوری مجموعه ها باشد چون تابع عضویت آن در حوزه ی واژه های قراردادی تعریف میشود.
کاربرد ها
منطق فازی میتواند برای کنترل وسایل خانگی مثل لباسشویی _ اندازه لباسها و میزان مواد شوینده و تعداد دورها را برای آن مشخص میکند_و یخچال و غیره به کار رود. یک کاربرد اساسی آن, این است که میتواند دامنه تغییرات یک متغییر پیوسته را در دامنه های ریزتر تغییرات مشخص کند.بر ای نمونه اندازه گیری دما برای یک ضد قفل ترمزها میتواند چندین تابع عضویت جداگانه ای داشته باشد.که در بازه های درجه حرارات مشخص مورد نیاز برای کنترل مناسب ترمزها , تعریف میشود.نگاشتهای هر تابع برای هر درجه حرارت دامنه ای از ۰ تا ۱ برای یک مفهوم حقیقی ارزشگذاری میکند(مثل مفهوم حقیقی سرد یا گرم که از چه درجه حرارتی تا چه درجه حرارتی را سرد میگوییم و میزان سردی آن را با عددی بین ۰ تا ۱ تخصیص میدهیم مثلا از ۰ تا ۳۰ درجه را سرد بگوییم و دمای ۱۰ درجه یعنی هوا ۳۳% سرد است مترجم).این ارزشهای حقیقی سپس میتواند برای تعیین اینکه چطور ترمز باید کنترل شود مورد استفاده قرار گیرد.
در این عکس سرد و گرم و داغ یک مقیاس برای تعیین درجه حرارت هستند.برای تعیین درجه حرارتهای این ارزشهای حقیقی (سرد و گرم و داغ مترجم) می توان درجه حرارت را با توصیفهایی مثل نسبتا سرد, اندکی گرم,نه خیلی داغ و ... تفسیر کرد.
تصورهای غلط و بحثها
منطق فازی یک منطق غیر صریح و یک روش سازماندهی شده و وابسته به ریاضیات است که مفاهیم ذاتاً مبهم را (مثل مفهوم گرمی و سردی و خوبی و بدی و ... _مفاهیمی که ماهیتاً مقدار پذیر نیستند_مترجم) بررسی میکند.مفهوم سردی را نمیتوان با یک معادل و اندازه خاص بیان کرد.چون اگرچه درجه حرارت قابل اندازه گیری است و یک کمیت است اما واژه سردی اینگونه نیست.چرا که هر فردی برای سرد بودن عقیده ای خاص دارد و معتقد است که چیزی درN درجه سرد است و در N+۱ درجه نیست (برای هر کس این N متفاوت است مترجم). منطق کلاسیک به علت دو تایی بودن (۰و۱) نمی تواند به آسانی یک چنین مفهومی را بیان کند.
منطق فازی یک راه جدید بیان احتمالات است.منطق فازی و احتمال به دو نوع متفاوت از ابهام اشاره میکنند.در واقع منطق فازی ابهام حقایق را بررسی میکند در حالی که احتمال شانس یک اتفاق را بررسی میکند_احتمال دقت میکند که نتیجه دقیق باشد_. با این حال این یک نکته بحث برانگیز است. بارت کاسکو (BART KASKO) احتمال را زیر تئوری از منطق فازی میداند وبه نظر او احتمال فقط یک نوع از ابهام را بررسی میکند.لطفی زاده خالق منطق فازی معتقد است که منطق قازی چیزی متفاوت از احتمال است و جایگزینی برای احتمال نیست.
منطق فازی امروزه برای حل بسیاری از مشکلات پیچیده در زمینه هوش مصنوعی به کار میرود. امکان مقیاس پذیری و پیچیدگی یک سیستم فازی بیشتر به انجام و پیاده سازی آن بستگی دارد تا خود تئوری فازی.
مثالهایی برای موارد استفاده منطق فازی
زیر سیستمهای اتومبیل و وسایل نقلیه مانند کنترلر ترمز ABS
دستگاه های تنظیم کننده درجه حرارت
دوربین های فیلم برداری و عکاسی
پلوپزها
ماشینهای ظرفشویی
آسانسورها
ماشین لباسشویی و دیگر وسایل خانگی
هوش مصنوعی بازیهای تصویری
شرکت نرم افزاری Massive برای فیلم ارباب حلقه ها و ایجاد و نشان دادن لشگریان بزرگ از منطق فازی به شکل تصادفی کمک گرفت که در عین حال حرکات منظم و از پیش تعیین شده داشتند (بیشتر قسمت های این فیلم اساساَ درون کامپیوتر خلق شده اند و واقعیت خارجی ندارند.کارگردان فیلم نزد یک متخصص جلوه های ویژه رفت و از او خواست که نرم افزاری بسازد که بتواند ۷۰ هزار سوار کار زره پوش در حال حرکت را همچنان که به کشتار و خونریزی مشغولند، شبیه سازی کند. در این برنامه متخصصان کامپیوتر و انیمیشن ابتدا موجوداتی را به صورت الگو ایجاد کرده بودند و سپس به کمک منطق فازی مصداق هایی تصادفی از این موجودات خیالی پدیدآورده بودند که حرکات تصادفی اما از پیش تعریف شده ای در اعضای بدن خود داشتند.این موجودات در حقیقت دارای نوعی هوش مصنوعی بودند و می توانستند برای نحوه حرکت دادن اعضای بدن خود تصمیم بگیرند.
در عین حال تمام موجوداتی که در یک لشکر به سویی می تاختند یا با دشمنی می جنگیدند، از جهت حرکت یکسانی برخودار بودند و به سوی یک هدف مشخص حمله می کردند. این ساختار کاملا ً پیچیده و هوشمند به فیلمسازان اجازه داده بود که این موجودات افسانه ای را در دنیای مجازی کامپیوتر به حال خود رها کنند تا به سوی دشمنان حمله کنند و این همه بی تردید بدون بهره گیری از منطق فازی امکان پذیر نبود.شرکت Massive Software که به دلیل به کارگیری منطق فازی برای ایجاد هوش مصنوعی در طراحی لشکریان فیلم ارباب حلقه ها برنده جایزه اسکار شد، بعداً این تکنیک را در فیلم های دیگری همچون I.Robot و King Kong نیز به کار برد مترجم)
چگونه منطق فازی به کار گرفته می شود
منطق فازی معمولاً از قوانین "اگر، آنگاه" (IF/THEN) استفاده میکند. این قوانین معمولاً به شکل زیر بیان می شوند:
اگر (متغییر) (حالت) است، آنگاه (عملکرد). برای مثال یک دستگاه تنظیم کننده درجه حرارت را در نظر بگیرید که این قانون را میتوان اینگونه برایش تعریف کرد:
ـ اگر (درجه حرارت) (بسیار سرد) است,آنگاه (فن را متوقف کن)
ـ اگر درجه حرارت سرد است, آنگاه سرعت فن را کم کن.
ـ اگر درجه حرارت متعادل است, آنگاه همین سرعت فن را حفظ کن.
ـ اگر درجه حرارت داغ است, انگاه سرعت فن را زیاد کن.
دقت شود که دیگر اینجا "ورگرنه" وجود ندارد.
عملگرهای "و"، "یا" و "نه" (and,or,not) از منطق بولی (کلاسیک) که در منطث قازی وجود دارند معمولاً با عنوانهای کوچکترین مقدار (min)، بزرگترین مقدار (max) و متمم تعریف میشوند. هنگامی که اینگونه تعرف میشوند آنها را "عملگرهای زاده" مینامیم. چرا که آنها را با همین عنوان در نوشته های اصلی زاده بوده اند. بنابر این برای متغییرهای فازی x و y داریم:
Not X= (۱ مقدار حقیقیx)
X and Y= minimum (مقدار حقیقی x, مقدار حقیقیy)
X or Y= maximum (مقدار حقیقی x, مقدار حقیقیy)
به علاوه عملگرهای دیگری هم در طبیعت به زبان شناختی وابسته هستند، وجود دارند که "ناسازگارها" نامیده میشوند. قیدهای کلی زیادی مانند بسیار، قدری و... وجود دارند که برای هر چیز در مجموعه ای از فرمولهای ریاضی تعریف میشوند.در عمل زبان برنامه نویسی Prolog (زبان برنامه نویسی سطخ بالایی که از عملیات منطقی برای هوش مصنوعی و برنامه های بازیابی داده ها استفاده میشود) به خوبی اجرای منطق فازی را با امکاناتش برای ایجاد یک پایگاه اطلاعاتی از قوانین، پوشش میدهد.