1 / 37

الگوریتم ژنتیک چیست؟

1. الگوریتم ژنتیک چیست؟. نکات کلی در مورد الگوریتم ژنتیک الگوريتم هاي ژنتيک از اصول انتخاب طبيعي داروين براي يافتن فرمول بهينه جهت پيش بيني يا تطبيق الگو استفاده مي کنند. الگوريتم هاي ژنتيک اغلب گزينه خوبي براي تکنيک هاي پيش بيني بر مبناي رگرسيون هستند.

Download Presentation

الگوریتم ژنتیک چیست؟

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 1

  2. الگوریتم ژنتیک چیست؟ نکات کلی در مورد الگوریتم ژنتیک الگوريتم هاي ژنتيک از اصول انتخاب طبيعي داروين براي يافتن فرمول بهينه جهت پيش بيني يا تطبيق الگو استفاده مي کنند. الگوريتم هاي ژنتيک اغلب گزينه خوبي براي تکنيک هاي پيش بيني بر مبناي رگرسيون هستند. در هر نسل، بهترین های آن نسل انتخاب می شوند و پس از زاد و ولد، مجموعه جدیدی از فرزندان را تولید می کنند. ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 2

  3. مسائل NP یک نمونه دسته ای از مشکلات که نمی توانند از طریق روش قدیمی و سنتی حل شوند، مسائل NP است. مثال هایی از مسائل NP عبارتند از: مسئله فروشنده دوره گرد، مسئله N وزیر، مسئله کوله پشتی و ... الگوریتم های ژنتیکی از جمله روشهایی هستند که برای حل اینگونه مسائل بکار می روند. مسئله زمانبندی هم جزء مسائل NP محسوب می شود ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 3

  4. ساختار های کلی الگوریتم ژنتیکی • 1-شروع: یک جمعیت تصادفی از کروموزوم ها تولید کنید. • 2- تناسب: تناسب هر کروموزوم در جمعیت ارزیابی می شود. • 3- جمعیت جدید: یک جمعیت جدید از طریق تکرار گام هایی ایجاد می شود تا هنگامی که جمعیت جدید کامل شود. ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 4

  5. ساختار های کلی الگوریتم ژنتیکی • مراحل ایجاد جمعیت جدید • الف- انتخاب: انتخاب دو کروموزوم والد از جمعیت موجود بر طبق تناسب آنها. • ب- ترکیب: از ترکیب والدین یک فرزند جدید تولید می شود و اگر ترکیبی صورت نگیرد فرزند دقیقا کپی یکی از والدین می باشد. • ج- جهش: ممکن است با یک احتمال در هر یک از کروموزوم های فرزند جهش ایجاد شود. • د- پذیرش: فرزند جدید در یک جمعیت جدید پذیرفته می شود. • ه- جایگزینی: جمعیت جدید تولید شده جایگزین جمعیت قبلی می شود تا الگوریتم بار دیگر تکرار شود. ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 5

  6. ساختار های کلی الگوریتم ژنتیکی • 4- تست: اگر به شرط پایان الگوریتم رسیده باشیم متوقف می شود و بهترین راه حل از جمعیت جاری برگردانده می شود. • 5- تکرار: به گام دو برمی گردیم(تناسب). ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 6

  7. نحوه عملکرد الگوریتم ژنتیک ایجاد یک جمعیت تصادفی اگر مناسب بود و زمان توقف الگوریتم رسیده بود؟ ارزیابی تناسب آنها با راه حل Yes NO ایجاد یک جمعیت جدید پایان ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 7

  8. نقاط قوت الگوریتمهای ژنتیک 1- موازی بودن الگوریتم ژنتیک 2- جستجوی فضای جستجو در چند جهت مختلف 3- امکان شکستن فضاهای جستجو به فضاهای کوچکتر ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 8

  9. محدودیت الگوریتمهای ژنتیک 1- نوشتن عملگر Fitness که منجر به بهترين راه حل براي مسئله شود. 2- اگر عملگر Fitness به خوبي و قوي انتخاب نشود ممکن است باعث شود که راه حلي براي مسئله پيدا نکنيم يا مسئله اي ديگر را به اشتباه حل کنيم. 3- انتخاب مناسب پارامترهای دیگر مانند اندازه جمعیت، نرخ جهش و نرخ تبادل 4- اگر اندازه جمعیت بسیار کوچک باشد آنگاه الگوریتم ژنتیک نمی تواند فضای راه حلی کافی برای انتخاب داشته باشد و اگر بسیار بزرگ شود آنگاه سودمند نبوده و دچار مشکل خواهد شد. ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 9

  10. ارائه الگوریتم پیشنهادی برای زمانبندی فرآیندهای سیستمهای ناهمگن با GA گام 1: ایجاد یک DAG از تسکها ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام

  11. ارائه الگوریتم پیشنهادی برای زمانبندی فرآیندهای سیستمهای ناهمگن با GA گام دوم: تعیین اولویت تسکها • این روش بر اساس اولویت با توجه به سطح گره و تعداد مراجعاتی که به گره از سطوح بالا می شود کار می کند. • با توجه به شکل صفحه قبل گره های T0،T1،T2وT11 در سطح شماره صفر و بقیه گره ها نیز شماره سطحشان با توجه به شکل مشخص می شود. این DAG دارای حداکثر عمق 3 می باشد که این پارامتر را هم در روش پیشنهادی لحاظ می کنیم. +(شماره سطح تسک- حداکثر عمق)= ضریب اولویت یک تسک (مجموع ضریب اولویت فرزندان)+(تعداد مراجعه ها از سطوح بالا به تسک مورد نظر) ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام

  12. ارائه الگوریتم پیشنهادی برای زمانبندی فرآیندهای سیستمهای ناهمگن با GA مثلاً در DAG شکل زیر برای تسکهای آن ضرایب اولویت بصورت زیر محاسبه می شود روش به صورتی است که ابتدا باید گره های برگ ضریب اولویتشان محاسبه شود تا به ترتیب سطوح به ریشه DAG برسیم. ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام

  13. گام سوم: اکنون هر گره دارای یک اولویت می باشد که در جدول زیر و به صورت نزولی مرتب شده است. ارائه الگوریتم پیشنهادی برای زمانبندی فرآیندهای سیستمهای ناهمگن با GA N تعداد تسکها و M تعداد ماشینها است ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 13

  14. گام چهارم: با توجه به جدول بالا می توانیم از Partitioned Genetic Algorithm استفاده کرد و به صورت بخش بندی شده و مجزا تسکها را با ترتیب اولویتی که مقدار اولویت هر یک از تسکها مشخص می کند مورد پردازش قرار می گیرند. ارائه الگوریتم پیشنهادی برای زمانبندی فرآیندهای سیستمهای ناهمگن با GA ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 14

  15. گام پنجم: (تولید نسل اولیه) اکنون نوبت به تخصیص تسکها به ماشینها می رسد: تخصیص تسکها با توجه به اولویتی که در جدول مقدار اولویتها مشخص شد در داخل صف قرار داده شده و به ماشینها اختصاص می یابند. استراتژی که در تخصیص تسکها به ماشینها استفاده می کنیم اینست که در یک گروه به طور تصادفی تسکها به ماشینها تخصیص داده می شود. ارائه الگوریتم پیشنهادی برای زمانبندی فرآیندهای سیستمهای ناهمگن با GA ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 15

  16. ارائه الگوریتم پیشنهادی برای زمانبندی فرآیندهای سیستمهای ناهمگن با GA • هنگام اختصاص دادن تسکها به ماشینها سه نکته اساسی را می بایست مد نظر قرار داد: • هر تسک تنها یک بار به یک ماشین داده می شود.(یکتایی) • تمامی تسکها به ماشینها داده می شوند.(تمامیت) • هر تسک برای اجرا نیاز دارد که تسک والدش اجرایش تمام شده باشد.(ترتیب اولویتها) ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 16

  17. اگر فرض کنیم سیستم دارای سه ماشین با قدرتهای متفاوت باشد مثلاًM2 دو برابر M1 وM3 چهار برابر M1 باشد، پس از تخصیص دادن یک تسک به ماشین آن بر ضریب CPU ماشینها تقسیم می شود. ارائه الگوریتم پیشنهادی برای زمانبندی فرآیندهای سیستمهای ناهمگن با GA ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 17

  18. اگر به شکل زیر دقت شود نحوه تخصیص تسکها به ماشینها و محاسبه زودترین زمان شروع تسکها را مشاهده می کنیم عدد سمت چپ زمان پردازش تسک و عدد سمت راست زودترین زمان شروع تسک می باشد تمام تسکها به ماشین M3 داده شده است. ارائه الگوریتم پیشنهادی برای زمانبندی فرآیندهای سیستمهای ناهمگن با GA ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 18

  19. ارائه الگوریتم پیشنهادی برای زمانبندی فرآیندهای سیستمهای ناهمگن با GA نحوه تخصیص تسکها به ماشینها در روش پیشنهادی: 1- تسکها را بر اساس گروه بندی ها تخصیص می دهیم گروه هایی که اولویت بیشتری دارند تسکهای آن ابتدا و گروه هایی که اولویت بیشتری دارند به ترتیب اولویتشان به ماشینها تخصیص داده می شود. تسکهای هر گروه بدین صورت اختصاص داده می شود: تخصیص تسکهای یک گروه به ماشینها بطور تصادفی می باشد. . ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 19

  20. ارائه الگوریتم پیشنهادی برای زمانبندی فرآیندهای سیستمهای ناهمگن با GA گام 6 : (ترکیب و ارزیابی) ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 20

  21. ارائه الگوریتم پیشنهادی برای زمانبندی فرآیندهای سیستمهای ناهمگن با GA ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 21

  22. ارائه الگوریتم پیشنهادی برای زمانبندی فرآیندهای سیستمهای ناهمگن با GA ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 22

  23. ارائه الگوریتم پیشنهادی برای زمانبندی فرآیندهای سیستمهای ناهمگن با GA • گام 7 : (جهش) • عملیات جهش بر روی ماشینها بدین صورت انجام می شود: • یک تسک را بطور تصادفی بر روی یک ماشین انتخاب نموده و این تسک به ماشین دیگر منتقل می شود. ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 23

  24. ارائه الگوریتم پیشنهادی برای زمانبندی فرآیندهای سیستمهای ناهمگن با GA ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 24

  25. انتخاب رقابتی(Tournament): برخلاف روش رقابتی که شبیه رقابت در طبیعت است. یک زیر مجموعه کوچکی از کروموزومها به صورت تصادفی انتخاب شده و به رقابت می پردازند. سرانجام در این رقابت بر اساس میزان تناسب یکی از آنها به پیروزی رسیده و به عنوان والد جدید در Mating Pool کپی می شود. این فرایندها تا تولید همه والدها در جمعیت جدید تکرار می شود. نتایج شبیه سازیو پیشنهادات نهایی ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 25

  26. برنامه شبیه ساز که با Matlab پیاده سازی شده را با 99 تسک و اجرا نموده ایم که ماشین را با ضریب سرعت چهار، دو، یک در نظر گرفته ایم نتیجه زیر حاصل شد. نتایج شبیه سازی الگوریتم پیشنهادی Task number=12 Fitness=27.1497 Average of Fitness ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 26

  27. در شکل زیر 99 تسک وارد شده به برنامه به 33 گروه شامل 3 تسک تقسیم می شود و هر زیر گروه به طور جداگانه توسط برنامه شبیه ساز اجرا می شود. نتایج شبیه سازی الگوریتم پیشنهادی Task number=99 Fitness=20.1585 Average of Fitness ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 27

  28. نتایج شبیه سازی الگوریتم پیشنهادی Fitness=19.9720 Task number=99 Average of Fitness ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 28

  29. نتایج شبیه سازی الگوریتم پیشنهادی Fitness=19.9720 Task number=99 Average of Fitness ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 29

  30. نتایج شبیه سازی الگوریتم پیشنهادی Fitness=18.7333 Iterations=600 Task number=99 Average of Fitness ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 30

  31. یکی از راه حلهای نسبتاً مناسب که امروزه برای حل این مسئله پایه ای استفاده می شود الگوریتم ژنتیک می باشد که پیچیدگی زمانی الگوریتم را از n! به تبدیل می کند که با ارائه این روش پیشنهادی از روی نمودارهای خروجی که بدست آمد با استفاده از روش تقسیم و حل برای سیستمهای ناهمگن تعداد تکرارها یا همان پیچیدگی زمانی الگوریتم را به صورت مناسبی کاهش دادیم، در صورتی که کل زمان پردازش تغییر زیادی نخواهد داشت. در واقع با استفاده از الگوریتم ژنتیک اولاً پیچیدگی مسائل زمانبندی از n! به پیچیدگی زمانی توانی از دو تبدیل شد. ثانیاً تابع تناسب با زمان مناسب بدست می آید که همان زمان FC بیشینه زمان اتمام پردازش تسکها بر روی ماشینها می باشد که برای چنین مسائلی پیچیدگی بهتری نسبت به n! خواهد داشت. نتایج شبیه سازی الگوریتم پیشنهادی ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 31

  32. با توجه به روش ارائه شده پیشنهاداتی را برای این روش و روشهای بر پایه الگوریتم ژنتیک پیشنهاد می کنیم: 1- این روش را می توان برای زمانبندی سیستمهای توزیع شده مورد استفاده قرار داد. 2- روشهای پایه الگوریتم ژنتیک می تواند الگوهای مناسبی بعنوان مجموعه تستهای هدف در شبکه های عصبی باشد. 3- این روش بر پایه الگوریتم ژنتیک برای مسیریابی شبکه می توان مورد استفاده قرار داد. 4- چون روش پیشنهادی بصورت موازی برای زمانبندی کارها کار می کند برای پردازندهای چند هسته ای می تواند مورد استفاده قرار گیرد. نتایج شبیه سازیو پیشنهادات نهایی ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 32

  33. پیشنهاداتی که در مورد این روش مطرح می کنیم این است که می توانیم این روش را برای زمانبندی کارهایی که زمان آنها نسبت خطی با هم ندارند، استفاده نمود. مثلاً برای کنترل ترافیک شبکه و زمانبندی کاربران در سیستمهای توزیع شده می توان از این روش که پیچیدگی زمانی مناسبی دارد استفاده نمود. البته درخت ایجاد شده در این روش را می توان از جهت پیمایش بهبود بخشید مثلاً، از روش A* می توان بصورت ترکیبی با این روش بر پایه الگوریتم ژنتیک استفاده نمود. پیشنهاد ادامه کار ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 33

  34. منابع: • [1] E.L.Lawler et al.,The Traveling Salesman Problem , John Wiley & Sons , New York , 1985 • [2] Kylie Bryant, "Genetic Algorith and the Traveling salesman problem", Hervey Mudd college ,2000  • [3] jean philipe , "Genetic Algorithm viewer: Demonstration of a Genetic Algorithm , May 2000 • [4] Practical Genetic Algorithms-Haupt (Wiley-2004) • [5] Annie S. Wu, Han Yu, Shiyuan Jin, Kuo-Chi Lin, and Guy Schiavone," An Incremental Genetic Algorithm Approach to Multiprocessor Scheduling", Menbers IEEE , 2004 • [6] Jerzy P. Nowacki, GrzegorzPycka and FranciszekSeredy_nski ," Polish -Japanese Institute of Information " , 2000 • [7] Andrei R adulescuArjan J.C. van Gemund , " Fast and Effective Task Scheduling in Heterogeneous Systems " , Faculty of Information Technology and Systems Delft University of Technology , 2004 IEEE  ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 34

  35. منابع: •  [8] Lee Wang , Howard Jay Siegel, Vwani P. Roychowdhury, and Anthony A. Maciejewski , "Task Matching and Scheduling in Heterogeneous ComputingEnvironments Using a Genetic-Algorithm-Based Approach ", Parallel Processing Laboratory, School of Electrical and Computer Engineering, Purdue University, West Lafayette, Indiana 47907-1285; and †Electrical Engineering Department, UCLA, Los Angeles, California 90095-1594 , 1997 • [9] Michael Rinehart, Vida Kianzad, and Shuvra S. Bhattacharyya , "A Modular Genetic Algorithm for Scheduling Task Graphs" , 2003 • [10] PROF. SANJAY R SUTAR, JYOTI P. SAWANT, JYOTI R. JADHAV , "Task Scheduling For Multiprocessor Systems Using Memetic Algorithms" , Department Of Computer Engineering, Dr. BabasahebAmbedkar Technological University Lonere, Tal- Mangaon, Dist- Raigad, State: Maharashtra Country-INDIA , 2006 • [11] Prashanth C SaiRanga , SanjeevBaskiyar, PhD , "A Low Complexity Algorithm for Dynamic Scheduling of Independent Tasks onto Heterogeneous Computing Systems" , Department of CSSE Department of CSSE Auburn University Auburn University AL 36849 334-359-8853 , ACM 2005 •  [12] SanchoSalcedo-Sanza,,YongXub, XinYaob , " Hybrid meta-heuristics algorithms for task assignment in heterogeneous computing systems " , aDepartment of Signal Theory and Communications, Universidad Carlos III de, 28911 Leganes, Madrid, Spain bCentre for Research in Computational Intelligence and Applications (CERCIA) , School of Computer Science" ,The University of Birmingham , elsivier 2004 ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 35

  36. منابع: •  [13] Jaewon Oh *, Chisu Wu , " Genetic-algorithm-based real-time task scheduling with multiple goals " , SE Lab, School of Computer Science and Engineering, Seoul National University, Seoul 151-742, South Korea Received 16 April 2002; received in revised form 21 October 2002; accepted 25 October 2002 • [14] R.Nedunchelian, K.Koushik, N.Meiyappan, V.Raghu , " DYNAMIC TASK SCHEDULING USING PARALLEL GENETIC ALGORITHMS FOR HETEROGENEOUS DISTRIBUTED COMPUTING" , Department of Computer Science and Engineering, Sri Venkateswara College Of Engineering, Pennalur, Sriperumbudhur 602105, India. , 2002 • [15] Hua Chen and Albert M. K. Cheng , "Applying Ant Colony Optimization to the Partitioned Scheduling Problem for Heterogeneous Multiprocessors " , Real-Time Systems Laboratory Department of Computer Science University of Houston, TX 77204, USA , ACM 2004 • [16] Matthew Bartschi Wall , "A Genetic Algorithm for Resource-Constrained Scheduling" , Massachusetts Institute of Technology, 1991 • [17] David Crafti , "A Job Shop Scheduler using a Genetic Tree Algorithm " , School of Computer Science and Software Engineering Monash University Clayton, Victoria Australia dcra2@student.monash.edu.au January 29, 2004 ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 36

  37. با تشکر از حضور سبزتان ارائه روشی برای زمانبندی سیستمهای چند پردازنده با الگوریتم ژنتیک ارائه دهنده: علی پدرام 37

More Related