كجا اتومبيل خود را پارك ميكنيد؟
تصور كنيد يك روز مطلع ميشويد، نمايشگاه پوشاكي در گوشهاي از شهر برپا شده است و تصميم ميگيريد، يك روز عصر به اتفاق خانواده سري به اين نمايشگاه بزنيد. چون محل نمايشگاه كمي دور است، از اتومبيل استفاده ميكنيد، اما وقتي به محل نمايشگاه ميرسيد، متوجه ميشويد كه عده زيادي به آنجا آمدهاند و پاركينگ نمايشگاه تا چشم كار ميكند، پر شده است.
اما چون حوصله صرف وقت براي پيدا كردن محل ديگري جهت پارك اتومبيل نداريد، با خود ميگوييد: <هر طور شده بايد جاي پاركي در اين پاركينگ پيدا كنم.> سرانجام در گوشهاي از اين پاركينگ محلي را پيدا ميكنيد كه يك ماشين به طور كامل در آن جا نميشود، اما با كمي اغماض ميشود يك ماشين را در آن جاي داد، هرچند كه اين ريسك وجود دارد كه فضاي عبور و مرور ديگر خودروها را تنگ كنيد و آنها هنگام حركت به خودرو شما آسيب برسانند. اما به هرحال تصميم ميگيريد و ماشين خود را پارك ميكنيد.
بسيارخوب! اكنون بياييد بررسي كنيم شما دقيقاً چه كار كرديد؟ شما دنبال جاي توقف يك اتومبيل ميگشتيد. آيا پيدا كرديد؟ هم بله، هم نه. شما در ابتدا ميخواستيد ماشين را در جاي مناسبي پارك كنيد. آيا چنين عملي انجام داديد؟ از يك نظر بله، از يك ديدگاه نه. در مقايسه با وقت و انرژي لازم براي پيدا كردن يك مكان راحت براي توقف خودرو، شما جاي مناسبي پيدا كرديد. چون ممكن بود تا شب دنبال جا بگرديد و چنين جايي را پيدا نكنيد. اما از اين نظر كه اتومبيل را در جايي پارك كرديد كه فضاي كافي براي قرارگرفتن ماشين شما نداشت، نميتوان گفت جاي مناسبي است.
اگر به منطق كلاسيك در علم رياضيات مراجعه كنيم و اين پرسش را مطرح نماييم كه قبل از ورود به پاركينگ چند درصد احتمال ميداديد جايي براي پارككردن پيدا كنيد، پاسخ بستگي به اين دارد كه واقعاً چه تعداد مكان مناسب (فضاي كافي) براي توقف خودروها در آنجا وجود داشت؟ اگر به حافظه خود رجوع كنيد، شايد به ياد بياوريد كه هنگام ورود به پاركينگ و چرخيدن در قسمتهاي مختلف آن، گاهي خودروهايي را ميديديد كه طوري پارك كردهاند كه مكان يك و نيم خودرو را اشغال كردهاند. بعضي ديگر نيز كج و معوج پارك كرده بودند و اين فكر از ذهن شما چندبار گذشت كه اگر صاحب بعضي از اين خودروها درست پارك كرده بودند، الان جاي خالي براي پارك كردن چندين ماشين ديگر هم وجود داشت.
به اين ترتيب علم رياضيات و آمار و احتمال در مواجهه با چنين شرايطي قادر به پاسخگويي نيست. اگر قرار بود بر اساس منطق صفر و يك يا باينري كامپيوتر، روباتي ساخته شود تا اتوميبل شما را در يك مكان مناسب پارك كند، احتمالش كم بود. چنين روباتي به احتمال زياد ناكام از پاركينگ خارج ميشد. پس شما با چه منطقي توانستيد اتومبيل خود را پارك كنيد؟ شما از منطق فازي استفاده كرديد.
دنياي فازي
ميپرسم <هوا ابري است يا آفتابي؟> پاسخ ميدهي: نيمهابري. ميپرسم <آيا همه آنچه كه ديروز به من گفتي، راست بود؟> پاسخ ميدهي: بيشتر آن حقيقت داشت. ما در زندگي روزمره بارها از منطق فازي استفاده ميكنيم. واقعيت اين است كه دنياي صفر و يك، دنيايي انتزاعي و خيالي است. به ندرت پيش ميآيد موضوعي صددرصد درست يا صددرصد نادرست باشد؛ زيرا در دنياي واقعي در بسياري از مواقع، همهچيز منظم و مرتب سرجايش نيست.
از نخستين روز تولد انديشه فازي، بيش از چهل سال ميگذرد. در اين مدت نظريه فازي، چارچوب فكري و علمي جديدي را در محافل آكادميك و مهندسي معرفي نموده و ديدگاه دانشمندان را نسبت به كمّ و كيف دنياي اطراف ما تغيير داده است. منطق فازي جهانبيني بديع و واقعگرايانهاي است كه به اصلاح شالوده منطق علمي و ذهني بشر كمك شاياني كردهاست.پيشينه منطق فازي
تئوري مجموعههاي فازي و منطق فازي را اولين بار پرفسور لطفيزاده (2) در رسالهاي به نام <مجموعههاي فازي - اطلاعات و كنترل> در سال 1965 معرفي نمود. هدف اوليه او در آن زمان، توسعه مدلي كارآمدتر براي توصيف فرآيند پردازش زبانهاي طبيعي بود. او مفاهيم و اصلاحاتي همچون مجموعههاي فازي، رويدادهاي فازي، اعداد فازي و فازيسازي را وارد علوم رياضيات و مهندسي نمود. از آن زمان تاكنون، پرفسور لطفي زاده به دليل معرفي نظريه بديع و سودمند منطق فازي و تلاشهايش در اين زمينه، موفق به كسب جوايز بينالمللي متعددي شده است.
پس از معرفي منطق فازي به دنياي علم، در ابتدا مقاومتهاي بسياري دربرابر پذيرش اين نظريه صورت گرفت.
بخشي از اين مقاومتها، چنان كه ذكر شد، ناشي از برداشتهاي نادرست از منطق فازي و كارايي آن بود. جالب اينكه، منطق فازي در سالهاي نخست تولدش بيشتر در دنياي مشرق زمين، بهويژه كشور ژاپن با استقبال روبهرو شد، اما استيلاي انديشه كلاسيك صفر و يك در كشورهاي مغرب زمين، اجازه رشد اندكي به اين نظريه داد. با اين حال به تدريج كه اين علم كاربردهايي پيدا كرد و وسايل الكترونيكي و ديجيتالي جديدي وارد بازار شدند كه بر اساس منطق فازي كارميكردند، مخالفتها نيز اندك اندك كاهش يافتند.
در ژاپن استقبال از منطق فازي، عمدتاً به كاربرد آن در روباتيك و هوش مصنوعي مربوط ميشود. موضوعي كه يكي از نيروهاي اصلي پيشبرندهِ اين علم طي چهل سال گذشته بوده است. در حقيقت ميتوان گفت بخش بزرگي از تاريخچه دانش هوش مصنوعي، با تاريخچه منطق فازي همراه و همداستان است.مجموعههاي فازي
بنياد منطق فازي بر شالوده نظريه مجموعههاي فازي استوار است. اين نظريه تعميمي از نظريه كلاسيك مجموعهها در علم رياضيات است. در تئوري كلاسيك مجموعهها، يك عنصر، يا عضو مجموعه است يا نيست. در حقيقت عضويت عناصر از يك الگوي صفر و يك و باينري تبعيت ميكند. اما تئوري مجموعههاي فازي اين مفهوم را بسط ميدهد و عضويت درجهبندي شده را مطرح ميكند. به اين ترتيب كه يك عنصر ميتواند تا درجاتي - و نه كاملاً - عضو يك مجموعه باشد. مثلاً اين جمله كه <آقاي الف به اندازه هفتاددرصد عضو جامعه بزرگسالان است> از ديد تئوري مجموعههاي فازي صحيح است. در اين تئوري، عضويت اعضاي مجموعه از طريق تابع (u(x مشخص ميشود كه x نمايانگر يك عضو مشخص و u تابعي فازي است كه درجه عضويت x در مجموعه مربوطه را تعيين ميكند و مقدار آن بين صفر و يك است (فرمول 1).
فرمول 1
به بيان ديگر، (u(x نگاشتي از مقادير x به مقادير عددي ممكن بين صفر و يك را ميسازد. تابع (u(x ممكن است مجموعهاي از مقادير گسسته (discrete) يا پيوسته باشد. وقتي كهu فقط تعدادي از مقادير گسسته بين صفر و يك را تشكيل ميدهد، مثلاً ممكن است شامل اعداد 3/0 و 5/0 و 7/0 و 9/0 و صفر و يك باشد. اما وقتي مجموعه مقاديرu پيوسته باشند، يك منحني پيوسته از اعداد اعشاري بين صفر و يك تشكيل ميشود.
شكل 1 نموداري از نگاشت پيوسته مقادير x به مقادير (u(x را نشان ميدهد. تابع (u(x در اين نمودار ميتواند قانون عضويت در يك مجموعه فازي فرضي را تعريف كند.
شكل 1
منطق فازي چگونه بهكار گرفته ميشود؟
منطق فازي را از طريق قوانيني كه <عملگرهاي فازي> ناميده ميشوند، ميتوان بهكار گرفت. اين قوانين معمولاً بر اساس مدل زير تعريف ميشوند:
IF variable IS set THEN action
به عنوان مثال فرض كنيد ميخواهيم يك توصيف فازي از دماي يك اتاق ارائه دهيم. در اين صورت ميتوانيم چند مجموعه فازي تعريف كنيم كه از الگوي تابع (u(x تبعيت كند. شكل 2 نموداري از نگاشت متغير <دماي هوا> به چند مجموعه فازي با نامهاي <سرد>، <خنك>، <عادي>، <گرم> و <داغ> است. چنان كه ملاحظه ميكنيد، يك درجه حرارت معين ممكن است متعلق به يك يا دو مجموعه باشد.
شكل 2به عنوان نمونه، درجه حرارتهاي بين دماي T1 و T2 هم متعلق به مجموعه <سرد> و هم متعلق به مجموعه <خنك> است. اما درجه عضويت يك دماي معين در اين فاصله، در هر يك از دو مجموعه متفاوت است. به طوري كه دماي نزديك T2 تنها به اندازه چند صدم در مجموعه <سرد> عضويت دارد، اما نزديك نوددرصد در مجموعه <خنك> عضويت دارد.
پارادايم حاكم بر يك كنترلر فازي به اين ترتيب است كه متغيرهاي دنياي واقعي به عنوان ورودي دريافت ميشوند. قوانين فازي آنها را به متغيرهاي معنايي تبديل ميكند. فرآيند فازي اين ورودي را ميگيرد و خروجي معنايي توليد ميكند و سرانجام خروجيها به زبان دنياي واقعي ترجمه ميشوند. نمودار شكل 3 مصداقي از همين روند است.
اكنون ميتوان بر اساس مدل فوق قانون فازي زير را تعريف كرد:
اگر دماي اتاق <خيلي گرم> است، سرعت پنكه را <خيلي زياد> كن.
اگر دماي اتاق <گرم> است، سرعت پنكه را <زياد> كن.
اگر دماي اتاق <معتدل> است، سرعت پنكه را در <همين اندازه> نگهدار.
اگر دماي اتاق <خنك> است، سرعت پنكه را <كم> كن.
اگر دماي اتاق <سرد> است، پنكه را <خاموش> كن.
اگر اين قانون فازي را روي يك سيستم كنترل دما اعمال كنيم، آنگاه ميتوانيم دماسنجي بسازيم كه دماي اتاق را به صورت خودكار و طبق قانون ما، كنترل ميكند. اما اين سؤال پيش ميآيد كه اگر دو يا چند قانون همزمان براي يك متغير ورودي فعال شود چه اتفاقي خواهد افتاد؟ فرض كنيد دماي اتاق برابر Tx1 است در اين صورت هم قانون مربوط به اتاق گرم و هم قانون مربوط به دماي اتاق معتدل صادق است و مقادير U1 و U2 به ترتيب به دست ميآيد. طبق كدام قانون بايد عمل كرد؟ لطفيزاده خود پاسخ اين معما را نداد. در سال 1975 دو دانشمند منطق فازي به نام ممداني (Mamdani) و آسيليان اولين كنترل فازي واقعي را طراحي كردند. آنان پاسخ اين معما را با محاسبهِ نقطه ثقل (C) مساحتي كه از تركيب دو ذوزنقه زير U1 و U2 در شكل 3 پديد آمده و نگاشت آن به محور t و به دست آوردن مقدار Tx2 حل كردند.
منطق فازي، همچون منطق كلاسيك تعدادي عملگر پايه دارد. مثلاً در منطق كلاسيك از عملگرهاي AND و OR وNOT استفاده ميشود كه دانش آموزان رشته رياضي فيزيك در دبيرستان با آنها آشنا ميشوند. در منطق فازي معادل همين عملگرها وجود دارد كه به آنها عملگرهاي <زاده> ميگويند. اين عملگرها به صورت زير تعريف ميشوند: (فرمول 2)
به عنوان مثال تركيب AND دو متغير x و y عبارت است از كمينه مقادير (u(x و (u(y. به عبارت سادهتر، آنجا كه هم x و y از نظر فازي <صحيح> باشند، همزمان مقادير (u(x و (u(y به كمترين مقدار خود ميرسند.
پرفسور لطفيزاده خالق نظريه مجموعههاي فازي و منطق فازيتفاوت ميان نظريه احتمالات و منطق فازي
يكي از مباحث مهم در منطق فازي، تميزدادن آن از نظريه احتمالات در علم رياضيات است. غالباً نظريه فازي با نظريه احتمالات اشتباه ميشود. در حالي كه اين دو مفهوم كاملاً با يكديگر متفاوتند. اين موضوع به قدري مهم است كه حتي برخي از دانشمندان بزرگ علم رياضيات در دنيا - بهويژه كشورهاي غربي - درمورد آن با يكديگر بحث دارند و جالب آن كه هنوز هم رياضيداناني وجود دارند كه با منطق فازي مخالفند و آن را يك سوء تعبير از نظريه احتمالات تفسير ميكنند.
از نگاه اين رياضيدانان، منطق فازي چيزي نيست جز يك برداشت نادرست از نظريه احتمالات كه به گونهاي غيرقابل قبول، مقادير و اندازهگيريهاي نادقيق را وارد علوم رياضيات، مهندسي و كنترل كرده است. بعضي نيز مانند Bruno de Finetti معتقدند فقط يك نوع توصيف از مفهوم عدمقطعيت در علم رياضيات كافي است و چون علم آمار و احتمالات وجود دارد، نيازي به مراجعه به منطق فازي نيست.
با اين حال، اكثريت طرفداران نظريه منطق فازي، كارشناسان و متخصصاني هستند كه به طور مستقيم يا غيرمستقيم با علم مهندسي كنترل سروكار دارند. حتي تعدادي از پيروان منطق فازي همچون بارت كاسكو تا آنجا پيش ميروند كه احتمالات را شاخه و زيرمجموعهاي از منطق فازي مينامند.
توضيح تفاوت ميان اين دو نظريه البته كار چندان دشواري نيست. منطق فازي با حقايق نادقيق سروكار دارد و به حدود و درجات يك واقعيت اشاره دارد؛ حال آنكه نظريه احتمالات بر شالوده مجموعه حالات تصادفيِ يك پديده استوار است و درباره شانس وقوع يك حالت خاص صحبت ميكند؛ حالتي كه وقتي اتفاق بيفتد، دقيق فرض ميشود. ذكر يك مثال ميتواند موضوع را روشن كند. فرض كنيد در حال رانندگي در يك خيابان هستيد. اتفاقاً متوجه ميشويد كه كودكي در اتومبيل ديگري كه به موازات شما در حال حركت است، نشسته و سر و يك دست خود را از پنجره ماشين بيرون آورده و در حال بازيگوشي است. اين وضعيت واقعي است و نميتوان گفت احتمال اينكه بدن اين كودك بيرون اتومبيل باشد، چقدر است.
چون بدن او واقعاً بيرون ماشين است، با اين توضيح كه بدن او كاملاً بيرون نيست، بلكه فقط بخشي از بدن او در خارج اتومبيل قرارگرفته است. تئوري احتمالات در اينجا كاربردي ندارد. چون ما نميتوانيم از احتمال خارج بودن بدن كودك از ماشين صحبت كنيم؛ زيرا آشكارا فرض غلطي است. اما ميتوانيم از احتمال وقوع حادثه صحبت كنيم. مثلاً هرچه بدن كودك بيشتر بيرون باشد، احتمال اينكه در اثر برخورد با بدنه يك اتومبيل در حال حركت دچار آسيب شود، بيشتر ميشود. اين حادثه هنوز اتفاق نيفتاده است، ولي ميتوانيم از احتمال وقوع آن صحبت كنيم. اما بيرون بودن تن كودك از ماشين همين حالا به واقعيت تبديل شده است و فقط ميتوانيم از ميزان و درجات آن صحبت كنيم.
تفاوت ظريف و در عين حال پررنگي ميان نظريه احتمالات و نظريه فازي وجود دارد كه اگر دقت نكنيم، دچار اشتباه ميشويم؛ زيرا اين دو نظريه معمولاً در كنار يكديگر و در مورد اشياي مختلف همزمان مصداقهايي پيدا ميكنند. هنگامي كه به يك پديده مينگريم، نوع نگاه ما به آن پديده ميتواند تعيين كند كه بايد درباره احتمالات صحبت كنيم يا منطق فازي. در مثال فوق موضوع دغدغه ما كودكي است كه در حال بازي گوشي است. اما يك وقت نگران اين هستيم كه تا چه اندازه خطر او را تهديد ميكند. خطري كه هنوز به وقوع نپيوسته است. يك وقت هم ممكن است نگران باشيم كه بدن او چقدر بيرون پنجره است. واقعيتي كه هماكنون به وقوع پيوسته است.
شكل 4يك ديدگاه درباره علت بحث و جدل علمي ميان دانشمندان اين است كه برخي از رياضيدانان اتكا به علم آمار و احتمال را كافي ميدانند و نظريه فازي را يك برداشت غيركارآمد از جهان درباره ما تلقي ميكنند. به عنوان مثال، اگر به مورد كودك و اتومبيل مراجعه كنيم، اين پرسش مطرح ميشود كه اگر نگراني و دغدغه نهايي ما احتمال وقوع حادثه است، ديگر چه نيازي به اين است كه ما درباره درجات <بيرون بودن تن كودك از اتومبيل> صحبت كنيم؟
بحث درباره ابعاد فلسفي منطق فازي بسيار شيرين و البته گسترده است. متأسفانه مجال براي طرح گستردهِ ابعاد فلسفي منطق فازي در اين مقاله وجود ندارد. از اين رو اگر مايل به مطالعه بيشتر در اين زمينه هستيد، كتاب بسياري خواندني <تفكر فازي> را كه در پينوشت دوم انتهاي مقاله معرفي كردهام، توصيه ميكنم.(شكل 4)
كاربردهاي منطق فازي
منطق فازي كاربردهاي متعددي دارد. سادهترين نمونه يك سيستم كنترل دما يا ترموستات است كه بر اساس قوانين فازي كار ميكند. سالهاست كه از منطق فازي براي كنترل دماي آب يا ميزان كدرشدن آبي كه لباسها در آن شسته شدهاند در ساختمان اغلب ماشينهاي لباسشويي استفاده ميشود.
امروزه ماشينهاي ظرفشويي و بسياري از ديگر لوازم خانگي نيز از اين تكنيك استفاده ميكنند. منطق فازي در صنعت خودروسازي نيز كاربردهاي فرواني دارد. مثلاً سيستم ترمز و ABS در برخي از خودروها از منطق فازي استفاده ميكند. يكي از معروفترين نمونههاي بهكارگيري منطق فازي در سيستمهاي ترابري جهان، شبكه مونوريل (قطار تك ريل) توكيو در ژاپن است. ساير سيستمهاي حركتي و جابهجايي بار، مثل آسانسورها نيز از منطق فازي استفاده ميكنند.
سيستمهاي تهويه هوا نيز به وفور منطق فازي را بهكار ميگيرند. از منطق فازي در سيستمهاي پردازش تصوير نيز استفاده ميشود. يك نمونه از اين نوع كاربردها را ميتوانيد در سيستمهاي <تشخيص لبه و مرز> اجسام و تصاوير(3) مشاهده كنيد كه در روباتيك نيز كاربردهايي دارد. به طور كلي خيلي از مواقع در ساختمان سيستمهاي تشخيص الگوها (Pattern Recognition) مثل سيستمهاي تشخيص گفتار و پردازش تصوير از منطق فازي استفاده ميشود. شكل 3 فرمول 2منطق فازي و هوش مصنوعي
جالبترين كاربرد منطق فازي، تفسيري است كه اين علم از ساختار تصميمگيريهاي موجودات هوشمند، و در راس آنها، هوش انساني، به دست ميدهد.
اين منطق به خوبي نشان ميدهد كه چرا منطق دو ارزشي <صفر و يك> در رياضيات كلاسيك قادر به تبيين و توصيف مفاهيم نادقيقي همچون <گرما و سرما> كه مبناي بسياري از تصميمگيريهاي هوشمند را تشكيل ميدهند، نيست.
شايد يكي از جالبترين كاربردهاي منطق فازي هوش مصنوعي در بازيهاي رايانهاي و جلوههاي ويژه سينمايي باشد. برخي از خوانندگان كه بخش هنر و سرگرمي ماهنامه شبكه را دنبال ميكنند، ممكن است مقاله ارباب حلقهها را در شماره 41 به ياد بياورند. در آنجا درباره چگونگي توليد جلوههاي ويژه در اين فيلم سينمايي صحبت كردم و از نرمافزار Massive نام بردم. از اين نرمافزار در بسياري از صحنههاي فيلم براي توليد حركات لشكر موجودات متخاصم استفاده شده بود.
شكل 5 در اين برنامه متخصصان كامپيوتر و انيميشن ابتدا موجوداتي را به صورت الگو ايجاد كرده بودند و سپس به كمك منطق فازي مصداقهايي تصادفي از اين موجودات خيالي پديدآورده بودند كه حركات تصادفي - اما از پيش تعريف شدهاي - در اعضاي بدن خود داشتند.
اين موجودات در حقيقت داراي نوعي هوش مصنوعي بودند و ميتوانستند براي نحوه حركت دادن اعضاي بدن خود تصميم بگيرند. در عين حال تمام موجوداتي كه در يك لشكر به سويي ميتاختند يا با دشمني ميجنگيدند، از جهت حركت يكساني برخودار بودند و به سوي يك هدف مشخص حمله ميكردند(شكل5).
اين ساختار كاملاً پيچيده و هوشمند به فيلمسازان اجازه داده بود كه اين موجودات افسانهاي را در دنياي مجازي كامپيوتر به حال خود رها كنند تا به سوي دشمنان حمله كنند و اين همه بيترديد بدون بهرهگيري از منطق فازي امكانپذير نبود.
شركت Massive Software كه به دليل بهكارگيري منطق فازي براي ايجاد هوشمصنوعي در طراحي لشكريان فيلم ارباب حلقهها برنده جايزه اسكار شد، بعداً اين تكنيك را در فيلمهاي ديگري همچون I.Robot و King Kong نيز بهكار برد.
استفاده از منطق فازي براي هوشمندكردن موجودات نرمافزاري تنها گونهاي از كاربردهاي اين نظريه در هوشمصنوعي است. منطق فازي در هوشمند ساختن روباتهاي سختافزاري نيز كاربردهاي زيادي دارد. در شمارههاي آتي ماهنامه شبكه به اين موضوع بيشتر خواهيم پرداخت.
پينوشت:
1- گاهي از او با نام <زاده> نيز نام برده ميشود و برخي از قوانين منطق فازي به پيروي از آداب تاريخي علم رياضيات، با كلمه Zadeh نامگذاري شدهاند.
2- تفكر فازي- نوشته بارت كاسكو - ترجمه دكتر علي غفاري - انتشارات دانشگاه صنعتي خواجهنصيرالدين طوسي.
منابع:سایت ماهنامه شبکهسایت مهندسی رباتیک