آخرین محصولات

پردازش موازي ژنتيک و فازي 136 هزار تومان

فروش مقاله شبیه سازی شده پردازش موازي ژنتيک و فازي

دانلود رایگان مقاله Expert Systems with Applications

پرداخت سریع

 

گزارش کار

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

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

 

تابع اعضای مربوط به ایتم I.

تابع اعضای اعمالی به قوانین فازی به صورت توابع مثلثی در نظر گرفته می شود (شکل 1.). برای به دست اوردن انطباق و انتخاب مناسب از پارامتر های نرخ همپوشانی و نرخ پوشش استفاده می شود. نرخ همپوشانی به این صورت تعریف می شود:

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

حداکثر مقدار Ij در تراکنش می باشد.

  1. اپراتور ژنتیک

اپراتور های ژنتیک در موفقیت الگوریتم ژنتیک نقش به سزایی دارد. اپراتور های مختلف برای کاربرد های مختلف بیان شده است.

2.1 یک مثال

فرض کنید بعد از چند نسل یک کروموزوم دید ایجاد شده باشد (شکل 2.).

2

شکل 2. کارکرد جهش.

الگوریتم داده کاوی

با توجه به داده کاوی بر اساس الگوریتم فازی و ژنتیک ورودی و خروجی های سیستم به صورت زیر مشخص می شود.

ورودی: داده های تراکنش n، مجموعه ایتم های m، استانه حمایتی و استانه اطمینان .

خروجی: مجموعه قوانین فازی و توابع اعضای متناظر با ان.

گام 1. به طور تصادفی افراد جمعیت P تولید می شود.

گام 2. هر مجموعه توسط یک تابع اعضا بازیابی می شود.

گام 3. مقدار انطباق برای هر کروموزوم مطابق زیر گام های زیر محاسبه می شود:

گام 3.1. مقدار انتقال با توجه به فرمول زیر به دست می اید:

گام 3.2. برای هر رژیم مقدار عدد اصلی تراکنش را به دست می اوریم:

گام 3.3. با توجه به مقدار استانه حمایتی بزرگی count را بررسی می کنیم.

گام 3.4 مقدار انطباق را برای کروموزوم تعیین می کنیم.

گام 4. Crossover را در جمعیت پیاده می کنیم.

گام 5. جهش را در جمعیت پیاده می کنیم.

گام 6. برای نسل بعد با ملاک انتخاب افراد را انتخاب می کنیم.

گام 7. در صورتی که معیار تراکنش ارضا نشود به گام 3 برو، در غیر این صورت به گام بعد برو.

گام 8. تابع اعضا را با بیشترین مقدار انطباق به عنوان خروجی به دست می اید.

به عنوان یک مثال چهار ایتم milk, bread, cookies و beverage را در نظر بگیرید. جدول 1. مقادیر count را برای رژیم های مختلف فازی نشان می دهد.

 

جدول 1. Count برای مناطق مختلف فازی.

Count Item Count Item
1.054

 

cookies.Low 0.8139 milk.Low
0.72 cookies.Middle 0.4126 milk.Middle
1.02 cookies.High 0.5821 milk.High
0.8492 beverage.Low 0.6767 bread.Low
0.7492 beverage.Middle 1.1904 bread.Middle
0.8844 beverage.High 1.8344 bread.High

 

در گام بعدی با توجه به روابط مذکور میزان انطباق را محاسبه می کنیم. نتایج در جدول 2. برای انطباق کروموزوم در جمعیت ورودی نشان داده شده است.

جدول 2. بخشی از مقادیر انطباق را برای کروموزوم در جمعیت ورودی

f Chromosome F Chromosome
1.2528 C40 0.75 C1
0.4756 C41 0.48 C2
0.0873 C42 0.004 C3
0.246 C43 0.0044 C4
2 C44 0.5789 C5
0.05 C45 0.3398 C6
0.445 C46 2 C7

 

پس از اجرای الگوریتم نتایج به دست امده برای توابع اعضای فازی به شرح زیر است:

3

شکل 3. نمودار عضویت به دست امده برای Bread.

4

 

میزان نتایج حاصل از الگوریتم ژنتیک نیز در نمودار شکل 7. نشان داده شده است.

7

شکل 7. میزان میانگین مقادیر انطباقی به دست امده از الگوریتم ژنتیک.

توضیحات تکمیلی

نحوه اجرای برنامه

برای اینکه برنامه اجرا شود ابتدا فایل ها را در پوشه مناسبی از حالت فشرده خارج کرده و سپس فایل FGA.m را اجرا نمایید. فایل های کمکی که برای اجرای این فایل لازم است عبارت است از فایل MyCrossOver_Fcn که تابع crossover را مشخص می نماید. فایل SelectParents_Fcn که برای ایجاد نسل جدید استفاده شده و قسمت Mution در قسمت مربوطه نوشته شده است.

در قسمت ابتداییی کد نوشته شده در فایل FGA.m الگوریتم فازی فراخوانی می شود. الگوریتم برای مثال موجود در مقاله می باشد و هر گونه تغییر در ورودی های فازی باید تغییرات متناسب را در قسمت های مختلف از جمله فایل اصلی و فایل مربوط به crossover داشته باشد. نحوه محاسبه و اعمال crossover و انطباق (fitting) در قسمت قبل توضیح داده شد.

پس از اجرای فایل یک نمودار شروع به رسم شدن می کند. این نمودار میانگین مقادیر fit شده را نشان می دهد که به ازای هر نسل تغییر می کند.

در قسمت ابتدایی کد همانطور که در تصویر نشان داده شده است تعداد کروموزوم ها که مشخص کننده جمعیت و تعداد تکرار که تعداد نسل یا generation را مشخص می کند را می توان تعیین کرد.

 

برای تغییر ابعاد جمعیت که در این مثال (6*4=24) است در قسمت نشان داده شده در شکل زیر باید تغییر داده شود.

 

 

هر رشته کروموزوم دارای مقادیر اعداد است که نشان دهنده مقادیر مرتبط با تابع عضویت است.

مثلا یک رشته کروموزوم که 24 عضو دارد به شرح زیر می تواند باشد

که هر دو عدد به ترتیب نشان دهنده مرکز تابع مثلثی و فاصله از مرکز می باشد.

مثلا شکل زیر را در نظر بگیرید. مقادیر برای رشته bread می باشد که به صورت 6 عدد به ترتیب

6,6 12,6 18,6

نشان داده می شود که بیان کننده این است که تابع مثلثی low دارای مقدار مرکزی 6 بوده و فاصله نیم کران ان نیز 6 می باشد. یعنی سه نقطه ان به ترتیب 0، 6 و 12 می باشد. و قسمت midlle نیز دارای مقدار مرکزی 12 با نیم کران 6 می باشد که نقاط تعیین کننده ان به ترتیب 6، 12 و 18 می باشد.

8

در شکل زیر نحوه اعمال این تغییرات در قسمت فازی نشان داده شده است.

پس از اینکه رشته ها ایجاد شد با توجه به الگوریتم زنتیک مقادیر بهینه به دست امده و نهایتا یک دسته کروموزوم بهینه برای تابع عضویت به دست می اید. حال با اجرای فایل FGAinputres.m مقادیر برای تولید در توابع فازی ایجاد می شود. برای ایجاد تغییرات به دست امده و مشاهده ان تابع فازی را فراخوانی می کنیم. برای این کار در قسمت command window عبارت fuzzy را تایپ و اینتر را می زنیم. پنجره مطابق شکل زیر باز می شود.

9

از قسمت file مطابق شکل زیر فایل ایجاد شده را فراخوانی می کنیم.

12

در قسمت مربوطه fismat را تایپ کرده و تایید را می زنیم.

بعد از زدن تایید صفحه مربوطه باز می شود. بر روی قسمت input کلیک کرده تا صفحه ورودی و خروجی ها باز شود. در اینجا توابع عضویت به دست امده را می توان مشاهده کرد.

مطابق شکل زیر می توان توابع را مشاهده کرد.

از قسمت view می توان از طریق گزینه rule اثر قوانین (Rule) را مشاهده کرد.

13

همچنین می توان قوانین را از قبل تعیین کرد و در فایل ذخیره کرد تا با قوانین جدید الگوریتم اجرا شود.

دانلود رایگان مقاله Expert Systems with Applications

پرداخت سریع

 

سعید عربعامری
من سعید عربعامری نویسنده کتاب 28 گام موثر در فتح متلب مدرس کشوری متلب و سیمولینک و کارشناس ارشد مهندسی برق قدرتم . بعد از اینکه دیدم سایتهای متعدد یک مجموعه کامل آموزش متلب و سیمولینک ندارند به فکر راه اندازی این مجموعه شدم
http://sim-power.ir

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *