پنجشنبه, ۲۰ دی, ۱۴۰۳ / 9 January, 2025
مجله ویستا

منطق فازی در دنیای دیجیتال


منطق فازی گونه ای بسیار مهم از منطق است كه توسط دكتر لطفی زاده استاد ایرانی دانشگاه كالیفرنیا در بركلی, ابداع شد و به طور جدی در مقابل منطق دودویی ارسطویی قرار گرفت امروزه این منطق نه فقط در حوزه تئوری بلكه در صنعت نیز كاربرد فراوان یافته و پژوهشگران بسیاری را به خود مشغول داشته است این مقاله تجربه ها و اطلاعاتی را در حوزه اصول منطق فازی و به ویژه كاربردهای آن ارائه می دهد

منطق فازی از كجا آمده است؟

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

• مثل انسان ولی سریع ترمنطق فازی روشی براساس قانون ساده «اگرx ،y آنگاه z » برای حل مسائل كنترلی ارائه می دهد كه از تلاش برای مدل كردن سیستم به روش های ریاضی مناسبتر است. مدل منطق فازی بر پایه تجربه است و بر تجربه كاربر تكیه دارد تا فهمیدن تكنیكی سیستم. به عنوان مثال به جای كنترل دما در شرایطی از قبیل: « T<۱۰۰۰F»، «SP = ۵۰۰F» یا «۲۱۰ > دما > ۲۲۰»، از ضوابطی مثل: «اگر «فرآیند خیلی سرد است» و «فرآیند سردتر می شود» آنگاه «به فرآیند گرما اضافه شود»، یا «اگر «فرآیند بسیار گرم است» و «فرآیند به سرعت گرمتر می شود» آنگاه « فرآیند به سرعت خنك شود»» استفاده می شود. این ضوابط غیردقیق است و هنوز حالت توصیفی از آنچه دقیقاً باید انجام شود را دارد. در نظر بگیرید كه هنگام دوش گرفتن اگر دما خیلی سرد شود، شما چه كار می كنید؟ شما خیلی سریع دمای آب را، متدواماً بالا خواهد برد تا دمای مطلوب را به دست آورید. منطق فازی قادر است این نوع رفتارها را تقلید كند، البته بسیار سریعتر.

• بازی با خطا

منطق فازی تعدادی پارامترهای شمارشی نیاز دارد تا مسائلی را كه در خطا و میزان تغییرات خطا مطرح است، اداره كند، اما ارزش دقیق این اعداد معمولاً مهم نیست، مگر اینكه نیاز به پاسخ سریعی در حالت تنظیم عملی وجود داشته باشد. به عنوان مثال، یك سیستم ساده كنترل دما می تواند از یك سنسور فیدبك دما استفاده كند كه اطلاعات را از سیگنال فرمان كم می كند تا خطا را محاسبه كند و مشتق زمانی شیب خطا یا میزان تغییرات خطا، «نقطه خطا» نامیده می شود. خطا ممكن است واحدی از درجه فارنهایت باشد و دو فارنهایت خطای كوچك قابل توجهی باشد، در حالی كه ممكن است پنج فارنهایت خطای بزرگی باشد. نقطه خطا ممكن است واحدی از درجه/ دقیقه باشد، با یك نقطه خطای كوچك min/۵F و یك نقطه خطای بزرگ min/۵F. این مقادیر حتماً نباید متقارن باشند و می توانند زمانی كه سیستم كار می كند تغییر كنند تا عملیات را بهینه كنند. معمولاً سیستم اولین مرتبه بدون نیاز به هیچ تنظیمی كار می كند.

• چرا فازی؟

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

۱- كار خود را به طور دائم ادامه می دهد، زیرا به ورودی های دقیق و بدون نویز نیاز ندارد و می تواند طوری برنامه ریزی شود كه اگر سنسور فیدبك قطع یا خراب شود، بدون خطر كارش را ادامه دهد. كنترل خروجی ها با وجود دامنه وسیعی از تغییرات ورودی، عملیات كنترلی بدون اشكالی است.

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

۳- منطق فازی به تعداد اندكی ورودی های فیدبك و یك یا دو خروجی كنترل محدود نمی شود و نیازی ندارد تا میزان تغییرات پارامترها را اندازه بگیرد و محاسبه كند تا بتواند اجرا شود. هر اطلاعاتی از سنسور كه نشانه ای از عمل و عكس العمل های سیستم باشد، كافی است. این مسئله باعث می شود سنسورها ارزان تر باشند و نیازی نیست تا دقیق باشند، بنابراین هزینه و پیچیدگی سیستم كلی، پایین است.

۴- به علت عملكرد سیستم براساس قواعد، هر تعداد معقولی از ورودی ها «یك تا هشت و بیشتر» می تواند پردازش شود و خروجی های بیشماری «یك تا چهار و بیشتر» ایجاد شود، اگر چه، چنانچه تعداد بسیار زیادی ورودی و خروجی برای یك عملیات واحد انتخاب شوند، تعیین سریع قوانین اصلی مشكل می شود، زیرا قواعدی كه روابط متقابل بین ورودی ها و خروجی ها را تعیین می كند، هم باید مشخص شود. بهتر است كه سیستم كنترلی را به قطعات كوچك تر تقسیم كنیم و از چندین كنترلر منطق فازی كوچك تر، كه هر كدام دارای مسئولیت محدودتری هستند، برای سیستم استفاده كنیم.

۵- منطق فازی می تواند سیستم های غیر خطی را كنترل كند كه مدل كردن آنها با قوانین ریاضی بسیار سخت و یا غیرممكن است. این روش درها را بر روی كنترل سیستم هایی كه معمولاً تصور می شد اتوماسیون آنها غیرممكن است، می گشاید.

• به كار بردن منطق فازی در سیستم های كنترلی

۱- تعیین كردن معیارها و هدف های سیستم كنترلی: من تلاش می كنم چه چیزی را كنترل كنم؟ چه كارهایی را برای كنترل سیستم باید انجام دهم؟ چه واكنش ها و پاسخ هایی نیاز دارم؟ حالت های ممكن و احتمالی عدم موفقیت سیستم كدام ها هستند؟

۲-تعیین رابطه بین خروجی و ورودی و انتخاب حداقل تعداد متغیرهای ورودی برای موتور منطق فازی.

۳-استفاده از ساختار قانون اصلی منطق فازی و شكستن مسائل كنترلی به تعدادی قواعد «اگر X,Y آنگاه Z»، كه خروجی دلخواه سیستم را برای شرایط ورودی داده شده به سیستم تعیین می كند. تعداد و پیچیدگی این قواعد به تعداد پارامترهای ورودی كه باید پردازش شوند و تعداد متغیرهای فازی وابسته به هر یك از پارامترها بستگی دارد. بهتر است در صورت امكان، حداقل از یك متغیر و یك مشتق زمانی آن استفاده شود. اگرچه ممكن است بتوان از یك پارامتر خطای لحظه ای منفرد، بدون دانستن میزان تغییرات آن، استفاده كرد، اما به توانایی سیستم برای مینیمم كردن جهش (اورشوت) ورودی های یك مرحله آسیب می زند.

۴-ایجاد توابع عضویت منطق فازی كه ارزش و مفهوم ضوابط ورودی/ خروجی استفاده شده در قواعد منطق فازی را تعیین می كند.

آزمایش سیستم، ارزیابی نتایج، تغییر و تنظیم توابع عضویت و قواعد منطق فازی برای بهینه ساختن سیستم و تست كردن مكرر سیستم تا به دست آوردن نتایج رضایتبخش.

• متغیرهای زبان شناختی

در سال ۱۹۷۳ پروفسور لطفی زاده مفهوم متغیرهای فازی یا زبان شناختی را پیشنهاد كرد. تصور كردن آنها به عنوان لغات یا موضوعات زبانشناختی بهتر از تصور كردن آنها به عنوان اعداد است. ورودی سنسور یك اسم است، به عنوان نمونه: «دما»، «جابه جایی»، «سرعت»، «جریان»، «فشار» و غیره. متغیرهای فازی خودشان صفاتی هستند كه متغیر را توصیف می كنند به عنوان مثال: خطای «مثبت بزرگ»، خطای «مثبت كوچك»، خطای «صفر»، خطای «منفی كوچك»، خطای «منفی بزرگ». برای مینیمم كردن می توان متغیرهای «مثبت»، «صفر» و «منفی» را برای هر یك از پارامترها در نظر گرفت. دامنه تغییرات اضافی از قبیل «خیلی بزرگ » و«خیلی كوچك» هم می تواند به محدوده پاسخگویی، در شرایط استثنایی و یا بسیار غیرخطی اضافه شود، اما در سیستم اصلی نیازی نیست.

• و اما ...منطق فازی به عنوان روشی بهتر برای دسته بندی و كار كردن با اطلاعات شناخته شده است اما همچنین ثابت شده است كه منطق فازی تا زمانی كه از منطق كنترل بشری تقلید كند، گزینه ای عالی برای بسیاری از اعمال در سیستم های كنترلی است. منطق فازی می تواند در هر كامپیوتر دستی كوچك به كار برود یا در سیستم های عظیم كنترل پردازش كامپیوتری. منطق فازی از یك برنامه غیردقیق اما بسیار توصیفی استفاده می كند تا با اطلاعات ورودی هرچه بیشتر، شبیه یك كاربر انسان رفتار كند و به كار خود پس از خطای كاربر یا اطلاعات ورودی به خوبی ادامه می دهد و معمولاً در آغاز با كمی تنظیم یا حتی بدون نیاز به تنظیم شروع به كار می كند.منطق فازی نیازی به ورودی های دقیق ندارد، به طور ماندگار به كارش ادامه می دهد و می تواند هر تعداد معقولی از ورودی ها را پردازش كند، اما پیچیدگی سیستم با ورودی ها و خروجی های بیشتر به سرعت افزایش می یابد. پردازشگرهای توزیع شده شاید باعث آسان شدن عملیات شود. زبان ساده قانون «اگر X,Y آنگاه Z» كه برای توصیف پاسخ دلخواه سیستم استفاده می شود بهتر از فرمول های ریاضی است. تعداد این قواعد بستگی به تعداد ورودی ها و خروجی ها و هدف های كنترلی طراحان دارد.