PDA

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



Borna66
04-08-2009, 05:32 PM
منطق فازی و بازی نویسی
منطق فازی آخرین تکنولوژی است که به وجود آمده که امیدوارم بتوانم این قسمت را به خوبی توضیح دهم چون بسیار مهم است . که استفاده می‌شود برای استنتاجهایی که بر اساس تئوری فازی بیان شده است . به عبارت دیگر منطق فازی متدی است برای ارزش نهادن بر اطلاعات به صورتی که اجزای ما منحصرا دارای دو مقدار نباشند . بیشتر مردم از منطق کریسپ استفاده می‌کنند که میتواند شامل چیزی باشد یا نباشد . برای مثال اگر قرار باشد مجموعه ای از کودکان و بزرگسالان تشکیل دهیم من داخل گروه بزرگسالان جای میگیرم و برادر زاده سه ساله من در گروه کودکان جای خواهد گرفت این منطق کزیسپ است .از طرف دیگر منطق فازی به اشیاء اجازه می‌دهد که در داخل مجموعه ای قرار بگیرند حتی اگر به طور کامل در آن مجموعه نباشند برای مثال من ممکن است بگویم که من ۱۰٪ در مجموعه کودکان قرار دارم و ۱۰۰٪ در مجموعه بزرگسالان . به طریق مشابه برادر زاده من ۲٪ در گروه بزرگسالان قرار دارد و ۱۰۰٪ در گروه کودکان . اینها مقادیر فازی بودند . شاید این نکته را یادآوری کنید که ما نمیتوانیم به ۱۰۰٪ برسیم چون نمیتوان به صورت کامل در یک مجموعه قرار گرفت و ما فقط میتوانیم در حدود ۱۰۰٪ باشیم اما بیشتر در منطق فازی بر خلاف این گفته است .
نکته جالب در باره منطق فازی این است که این توانایی را به شما می‌دهد که تصمیم بگیرید در نوع منطق فازی که کمتریم مقدار خطا را به شما می‌دهد و به راحتی میتوانید از آن استفاده کنید که این کار را نمیتوان با سیستم‌هایی که از منطق کرسپ پیروی می‌کنند انجام داد . اگر که ورودی ها یا اطلاعاتی را از دست دادید با منطق فازی احتیاج به اضافه کاری ندارید اما یک سیستم مبتنی بر منطق فازی میتواند تابعی باشد بر متغییرهای از دست رفته دقیقا شبیه به مغز انسان . منظورم این است که که چقدر از تصمیماتی که در روز میگیرید احساس میکنید که از منطق فازی استفاده کردید؟ شما تمام حقایق را در اختیار ندارید با این وجود نسبت به تصمیمی که میگیرید مطمئن و دلگرم هستسد .
تا اینجا ۲٪ در منطق فازی سیر و سفر کردیم این برنامه ها در هوش مصنوعی قدرت تصمیم گیری به سیستم می‌دهد و همچنین انتخابات رفتاری وفیلتر کردن ورودی/ خروجی های قابل مشاهده . با این مطالب که در ذهنتان جای گرفت سری به بقیه قسمت‌های منطق فازی میزنیم

تئوری مجموعه های نرمال
یک مجموعه نرمال به سادگی مجوعه ای از اشیاء است . برای نوشتن یک مجموعه از حروف بزرگ استفاده می‌کنند و جای اجزای مجموعه در درون علامت مجموعه قرار میگیرد ( براکت ) مجموعه میتواند شامل هر چیزی باشد : رنگها و اسمها و حیوانات و شماره ها و ... شکل ۱۲٫۳۵ چند نوع مجموعه را نشان می‌دهد

برای مثال مجموعه A = { ۳٬۴,۵٬۲۰ } و مجموعه B = { ۱, ۳, ۹ } . در اینجا تعدادی عملیاتی که میتوان انجام داد را آورده ایم :
== اجزاء (є ) ==
وقتی در مورد مجموعه صحبت میکنیم شما میخواهید بدانید اگر شیئی وجود دارد که مجموعه آن را در بر بگیرد چی شیئی است مثلاً ایا ۳ جزو مجموعه A است ؟ که میتوان آن را اینگونه بیان کرد : ۳ є A که جواب درست است یا ۲ Є b که جواب نا درست است چون ۲ جزو مجموعه B نیست

اجتماع (U)
این عملگر تمام اجزایی که در مهر دو مجموعه وجود دارد را با هم جمع می‌کند و در مجموعه جدیدی میریزد اگر یک شیی هم در مجموعه اول وجود داشت و هم در مجموعه دوم تکرار شده بود فقط یک باردر مجموعه جدید نوشته می‌شود برای مثال : A U B = {۱٬۳,۴٬۵,۹٬۲۰} .

اشتراک (Π)
این عملگراشیائی را انتخاب می‌کند که که در دو مجموعه وجود داشته باشد و با هم برابر باشد بنابر این A Π B = {۳}

زیر مجموعه (C)
بعضی وقتها شما میخواهید بدانید که آیا یک مجموعه در درون مجموعه دیگر وجود دارد یا اینکه یک مجموعه شامل مجموعه دیگر می‌شودکه در اصطلاح میگویند مجموعه ای زیر مجموعه مجموعه دیگر است بنا بر این {۱٬۳ } C B و میخوانیم که مجموعه {۱و ۳ } زیر مجموعه مجموعه B است هر چند که A !C B که خوانده میشو.د A زیر مجموعه B نیست






خوب این مقداری از تئوری مجموعه ها بود که اصلاً پیچیده نبود و تنها حاوی یک سری سمبل بود که هر کسی در طول روز با این تئوری کار می‌کند و از این موضوع غالبا خبر ندارند
تئوری مجموعه های فازی مشکل بزرگ کامپیوتر ها این است که آنها دقیقا ماشین هستند تا زمانی که آنها قابلیت این را داشته باشند که بتوانند مسائل فازی را تجزیه تحلیل و حل کننند حدود ۷۰ ٪ کامپیوتر ها برای عملیات محاسباتی خود از تکنیکهای منطق فازی استفاده می‌کنند که این عملیات در نرم افزارها و حل مسائل استفاده می‌شوند منطق فازی که ما در موردش صحبت میکنیم برنامه هایی است که در انها تئوری منطق فازی را استفاده می‌کنند . بگذارید نگاهی به تئوری مجموعه های فزی بیندازیم .
در تئوری مجموعه های فازی نمیتوان بر روی یک شیئ تمرکز کرد اشیاء در درون مجموعه وجود دارند اما شما با روابط بین اشیاء کار میکنید نه خود اشیاء برای مثال اجازه بدهید یک کلاس مجموعه فازی ترتیب دهیم به نام Computer special FX سپس چند فیلم فیلم مورد علاقه شما را انتخاب کنیم و درجه عضویت در این کلاس را تعیین کنیم




میبینید چگونه تمام جدول از منطق فازی استفاده می‌کنند ؟ همچنین فیلم ماتریکس واقعا از کامپیوتر زیاد بهره بردا برای جلوه های ویژه و کل فیلم آنتز توسط کامپیوتر تولید شده منصفانه قضاوت کنید آیا شما با درصد هایی که در جدول فوق ارائه شدخ موافقید ؟ فیلم آنتز از تکنواوژی پیشرفته ساخت کامپیوتر استفاده کرده و یک فیلم یک ساعت و بیست دقیقه ای است و فرست کامپ فقط در کل پنج دقیقه به وسیله کامپیوتر تصاویر اصلاح شده است . ایا این منصفانه است که فرست کامپ ۲۰٪ باشد ؟ من نمیدانم . شاید علتش این است که داریم از منطق فازی استفاده میکنیم .
در هر صورت هر وقط که شروع به نسبت دادن درجه فازی کردید در هر مجموعه ای درصد عضو بودن هر شیئ در مجموعه فازی با قوانین خاصی قابل اعمال میباشند بنابر این برای مثال فیلمهای جدول بالا را به صورت فازی در میاوریم " {ANTZ,۱٫۰۰}, { FORREST COMP , ۰٫۲۰}, {TERMINATOR , ۰٫۷۵}, {ALIENS, ۰٫۵۰} , {THE MATRIX , ۰٫۹} " در آخر اگر شما یک کلاس فازی بارانی داشته باشید امروز را جزو چه قسمتی از مجموعه می‌شود ؟ جایی که ما زندگی میکنیم برای مثال " { امروز , ۱٫۰۰ } " !
اکنون خود شما میتوانید اشیاء جدیدی را به مجموعه فازی اضافه کنید در اغلب اوقات درجه عضویت مجموعه را DOM مینامند برای مثال درجه عضویت مجموعه A = { ۱٫۰, ۰٫۴۵ , ۰٫۵ , ۰٫۹۰ } در این مجموعه برای هر فیلم فقط یک ورودی وجود دارد هر متغییر یک دووم را نشان میدهند .
حال تصور کنید شما مجموعه دیگری از فیلمها دارید که خودتان درجه عضویت هر سیئ را تعیین کردید مانند : B = { ۰٫۲ , ۰٫۴۵ , ۰٫۵ , ۰٫۹ , ۰٫۱۵ } . اجازه بدهید در مورد این مجموعه ها اعمال تعریف شده را توضیح دهیم چون میدانم که مفهوم مجموعه های فازی را به خوبی یاد گرفتید قبل از اینکه شروع کنیم یک بار دیگر توضیح میدهم که مجموعه های فازی درجه عضویت دارند شما میتوانید برای آگاهی از اشیاء آنها را درون یک بردار بریزید باید توضیح دهم که اشیاء در مجموعه های فازی ثابت هستند معنی این عبارت را تا دقایق دیگر متوجه خواهید شد .

اجتماع فازی (U)
اجتماع دو مجموعه فازی مکزیمم هر جزء از دو مجموعه است A = (۱٫۰ , ۰٫۲۰ , ۰٫۷۵ , ۰٫۵۰ , ۰٫۹۰ ) B = { ۰٫۲ , ۰٫۴۵ , ۰٫۵ , ۰٫۹ , ۰٫۱۵ نتیجه این اجتماع می‌شود :
A U B = { MAX(۱٫۰٬۰٫۲) , MAX(۰٫۲۰ , ۰٫۴۵) , MAX ( ۰٫۷۵ , ۰٫۵) , MAX (۰٫۹۰ , ۰٫۱۵)} = {۱٫۰ , ۰٫۴۵ , ۰٫۷۵ , ۰٫۹۰ }

اشتراک فازی (Π)
برای اشتراک دو مجموعه فازی فقط کافی است که از هر جزء مینیمم گیری کنیم و از یک جزء در هر دو مجموعه جزء کوچک‌تر را انتخاب کنیم
A = (۱٫۰ , ۰٫۲۰ , ۰٫۷۵ , ۰٫۵۰ , ۰٫۹۰ ) B = { ۰٫۲ , ۰٫۴۵ , ۰٫۵ , ۰٫۹ , ۰٫۱۵ نتیجه این اشتراک می‌شود :
A Π B = { MIN(۱٫۰٬۰٫۲) , MIN(۰٫۲۰ , ۰٫۴۵) , MIN ( ۰٫۷۵ , ۰٫۵) , MIN (۰٫۹۰ , ۰٫۱۵)} = {۰٫۲ , ۰٫۲۰ , ۰٫۵ , ۰٫۱۵ }


زیر مجموعه ها و دیگر روابط مربوبه مجموع ها چیزهاییست که نادیده میگیرم به دلیل اینکه بتوانیم زودتر به اصل موضوع برسیم فقط در اینجا مجموعه مکمل فازی را توضیح میدهم : مجموعه مکمل فازی مجموعه ایست که اعضای آن اگر اعضای مجموعه اصلی را X بگیریم مجموعه مکمل اعضایش برابر با (۱-X) میباشد که مکمل مجموعه A را به صورت A’ نشان میدهند
A = (۱٫۰ , ۰٫۲۰ , ۰٫۷۵ , ۰٫۵۰ , ۰٫۹۰ ) بنابر این
A’ = ( ۱٫۰ – ۱٫۰ , ۱٫۰ – ۰٫۲۰ , ۱٫۰ – ۰٫۷۵ , ۱٫۰ -۰٫۵۰ , ۱٫۰ -۰٫۹۰ ) A’={ ۰٫۰ , ۰٫۸ , ۰٫۲۵ , ۰٫۵ , ۰٫۱ } متغییرهای فازی و قوانین آن خوب تا حالا همه چیز خوب پیش رفته ! شما اطلاعاتی در مورد متغییر های فازی و مجموعه های فازی دارید حال میخواهیم نگاهی بیندازیم به اینکه چگونه باید از این اطلاعات در بازی نویسی هوشمند استفاده کرد . شما باید یک موتر فازی بسازید که بتوانداز قوانین فازی استفاده کند و ورودی فازی داشته باشد و خروجی را یا به صورت فازی یا کریسپ تولید کند نگاهی به شکل ۱۲٫۳۶ بیندازید

وقتی دو نوع منطق مختلف با هم مخلوط شوند احتیاج به خروجیهای زیادی دارند
IF X AND Y THEN Z
OR
IF X OR Y THEN Z
متغییر های X و Y را مقدم میگویند و متغییر Z را تالی میگویند هرچند در منطق فازی X و Y جزو مقدمهای فازی میباشند که به اختصار به آن FLV میگویند همچنین متغییر Z میتواند هم FLV باشد هم از مقادیر کریسپ باشد اما نکته ای که در اینجا وجود دارد این است که متغییرهای X و Y نشاندهنده متغییر های فازی میباشند و به هیچ و جه از نوع کریسپ نیستند قسمت‌های فازی این فرم را قنون های فازی مینامند
IF EXPLOSION AND DAMAGE THEN RUN
زمانی این قسمت اجرا می‌شود که قسمت اول و آخر AND درست باشد در غیر این صورت قسمت THEN اجرا نمیشود با منطق فازی قوانین فقط قسمتی از راه حل هستند یعنی توابع فازی یا توابع غیر فازی جواب را تولید نمیکنند .
FLV ها نشاندهنده مفهوم فازی در یک محدوده خاص میباشد برای مثال اجازه بدهید بگوییم شما میخواهید کلاسبندی کنیدمسافت بین بازیکنان و اشیاء هوش مصنوعی به شکل ۱۲٫۳۷ نگاه کنید




متغییر ورودی بر روی بردار X میباشد که حدود آن بین ۰ تا ۱۰۰۰ میباشد که آتها را دامنه مینامند . و خروجی فازی بر روی محور Y ها نمایش داده می‌شوند که حدود آن از ۰٫۰ تا ۱٫۰ میباشد برای هر متغییر ورودیx درجه عضویت (دووم ) با یک خط مستقیم به صورت برجسته مشخص می‌شود متوانید شکل ۱۲٫۳۸ را ببینید و مقدار یا مقادیر Y ها را حساب کنید.

منبع : سایت "ویکی پدیا"