137
حله گرد توسطه دور مساله فروشندکی ژنتیتم های الگوری پروژه کارشناسیم افزاروتر گرایش نر در رشته کامپی به : شده ارائه کامپیوتر مهندسی کامپیوترعت ایران علم و صنهنما :د راستا ا رمضانی دکتر توسط : آبین احمد علی بهار4831

Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکیمساله فروشنده دوره گرد توسط حل

کارشناسیپروژه

در رشته کامپیوتر گرایش نرم افزار

ارائه شده به :

مهندسی کامپیوتر

کامپیوتر

علم و صنعت ایران

استاد راهنما :

دکتر رمضانی

توسط :

احمد علی آبین

4831بهار

Page 2: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

چکیده

با پیشرفت علم بشر سعی دارد تا با حل مسائل پیچیده گامی در جهت ارتقاء دانش جهانی

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

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

یبا شبیه سازی این سیستم تکامل مسائل قادر است از سیستم تکامل انسان در طبیعت نشأت گرفته

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

ش افارادی را ایان رو دهد. جواب بهینه باشد با پیشنهاد جواب هائی به کاربر کار خود را ادامه می

در فضای جستجو پخش می کند و به کمک الگوریتم های ژنتیکی سعی مای کناد کاه انهاا را باه

البته قدرت واقعی الگوریتم های ژنتیکی بر روی سیستم های سمت جواب بهینه مساله هدایت کند

از مسائل مهمی که با گذشت چند سا از طرح ان هنوز هم یکی چندپردازنده ای موازی می باشد.

چندجمله ای برای ان ارائه دهد مساله فروشنده دوره گرد مای با زمان کسی نتوانسته یک الگوریتم

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

ر شهر یک بار عبور کند و با صرف کمترین هزیناه ایان اغازین خود برگردد بدین صورت که از ه

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

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

ئه شده است.ویژگیهای گوناگونی برای ان ارا

Page 3: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

‌أ

فهرست مطالب

‌‌أ فهرست مطالب

ح فهرست شکل ها

ر فهرست جدول ها

DNA 1مقدمه ای بر -فصل اول

2 مقدمه . 1-1

DNA 3ساختمان . 1-2

7 عواملی که سبب تغییرات ژنتیکی افراد می شوند. . 1-3

7 جهش. 1-3-1

8 بازترکیب. 1-3-2

11 مقدمه ای بر الگوریتم های ژنتیکی -فصل دوم

11 مقدمه. 2-1

13 تاريخچه. 2-2

11 ديد کلی از الگوريتم هاي ژنتیکی. 2-3

11 زمینه بیولوژيکی. 2-1

11 طرز کار الگوريتم هاي ژنتیکی. 2-1

17 يک شبه کد براي الگوريتم هاي ژنتیکی. 2-1

2-1-1 .Encoding 21

21 رشته باينري. 2-1-1-1

22 رشته هايی از حروف الفباء . 2-1-1-2

23 جايگشت. 2-1-1-3

23 درخت . 2-1-1-1

Page 4: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

‌ب

23 شروع. 2-1-2

21 ارزش دهی. 2-1-3

21 ايجاد جمعیت جديد. 2-1-1

27 انتخاب. 2-1-1-1

28 روش انتخاب تصادفی. 2-1-1-1-1

Roulette wheel 28روش . 2-1-1-1-2

Rank 33روش . 2-1-1-1-3

Rank Power 33روش . 2-1-1-1-1

2-1-1-2 .Crossover 31

2-1-1-2-1 .Crossover 33 طه اييک نق

2-1-1-2-2 .Crossover 33 دو نقطه اي

2-1-1-2-3 .Crossover 31 چند نقطه اي

2-1-1-2-1 .Crossover 31 يکنواخت

2-1-1-3 .Mutation 31

2-1-1-3-1 .Mutaion 37 يک نقطه اي

2-1-1-3-2 .Mutaion 37 چند نقطه اي

38 جايگزينی. 2-1-1

33 ارزيابی. 2-1-1

33 شرط حلقه. 2-1-7

13 چند نکته راجع به الگوريتم هاي ژنتیکی. 2-7

11 چه کسی می تواند از الگوريتمهاي ژنتیکی سود ببرد. 2-8

11 کاربردهاي الگوريتم هاي ژنتیکی. 2-3

11 يتم هاي ژنتیکی حل کردمسائلی که می توان با الگور. 2-13

11 کارائی الگوريتم هاي ژنتیکی. 2-11

64 مساله فروشنده دوره گرد -فصل سوم

Page 5: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

‌ت

17 مقدمه . 3-1

17 تعريف مساله فروشنده دوره گرد . 3-2

18 علت نامگذاري مساله فروشنده دوره گرد به اين نام . 3-3

18 مساله فروشنده دوره گرد تاريخچه . 3-1

11 اهمیت مطالعه مساله فروشنده دوره گرد . 3-1

TSP 12کاربردهاي عملی . 3-1

TSP 11انواع مختلف مساله . 3-7

17 چند روش حل مساله فروشنده دوره گرد . 3-8

TSP 13تعاريف رسمی از . 3-3

3-3-1 . TSP 13 عنوان يک گرافبه

3-3-2 . TSP 12 به عنوان جايگشت

13 پیچیدگی زمانی . 3-13

11 نزديک شدن به حل مساله . 3-11

11 جواب هاي تقريبی . 3-11-1

11 جواب هاي دقیق . 3-11-2

TSP 17نقش علم کامپیوتر در حل . 3-12

18 اي معروف مساله فروشنده دوره گرد حل شدهنمونه ه . 3-13

37 الگوریتم های ژنتیکی و مساله فروشنده دوره گرد -فصل چهارم

71 مقدمه . 1-1

71 انکودينگ مساله فروشنده دوره گرد . 1-2

71 انکودينگ ماتريسی . 1-2-1

71 انکودينگ به صورت جايگشت . 1-2-2

71 تولید جمعیت اولیه وارزيابی آنها . 1-3

1-1 . Crossover 71 در مساله فروشنده دوره گرد

PMX 77روش . 1-1-1

OX 78روش . 1-1-2

Page 6: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

‌ث

CX 73روش . 1-1-3

MX 83روش . 1-1-1

MOX 81روش . 1-1-1

Greedy Subtour Crossover 82روش . 1-1-1

1-1 . Mutation 83 در مساله فروشنده دوره گرد

Insert Mutation 81روش . 1-1-1

Swap Mutation 81روش . 1-1-2

Inversion Mutation 81روش . 1-1-3

Scramble Mutation 81روش . 1-1-1

opt Mutation 81-2 روش . 1-1-1

opt Mutation 87-3 روش . 1-1-1

K-opt Mutation 88روش . 1-1-7

88 مساله فروشنده دوره گرد و برنامه نويسی مولکولی . 1-1

31 حل مساله فروشنده دوره گرد در پروژه -فصل پنجم

31 مقدمه . 1-1

31 فاز انکودينگ مساله . 1-2

31 یت اولیهفاز تولید جمع . 1-3

31 فاز ارزش دهی . 1-1

37 فاز تولید جمعیت . 1-1

37 فاز انتخاب . 1-1-1

Crossover 38فاز . 1-1-2

Mutation 33فاز . 1-1-3

33 فاز جايگزينی . 1-1-1

133 فاز ارزيابی . 1-1

Page 7: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

‌ج

111 تست های انجام شده - ششمفصل

132 . مقدمه 1-1

133 معرفی نمونه ها و نتايج بدست آمده . 1-2

111 نتایج و پیشنهادات - هفتمفصل

111 نتايج. 7-1

118 پیشنهادات . 7-2

121 فهرست منابع

Page 8: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

‌ح

ها فهرست شکل

فصل اول

3 يدورشته ا DNA و کروموزوم و نیکرومات شي. نما1-1شکل

1 دینوکلئوت کي. ساختمان 2-1شکل

DNA 1 در رشته دهاینوکلئوت ی. اتصال طول3-1شکل

1 شود. یم يدو رشته ا DNA جاديکه سبب ا دهاینوکلئوت ی. اتصال عرض1-1شکل

DNA 7 ي. همانند ساز1-1شکل

8 یکی. جهش ژنت1-1لشک

3 بیبازترک ندي. فرا7-1شکل

دوم فصل

11 . فرايند حیات جمعیت از ديد ژنتیکی1-2شکل

23 یکیژنت يها تمي. فلوچارت مربوط به الگور2-2شکل

21 مساله يدرفضا هیاول تیجمع ی. پراکندگ3-2شکل

21 در صفحه تیجمع ی. پراکندگ1-2شکل

27 نهايپس از اعمال عملگرها و انتخاب بهتر تیجمع ی. پراکندگ1-2شکل

Roulette wheel 23 يساز هی. شب1-2شکل

Roulette wheel 23 ي . قرار گرفتن کروموزوم ها بر رو7-2شکل

32 تیجمع یبر پراکندگ Crossover ریاز تاث يی. نما8-2شکل

33 يانقطه کي Crossover. 3-2شکل

31 يدو نقطه ا Crossover. 13-2شکل

31 يچند نقطه ا Crossover. 11-2شکل

31 کنواختي Crossover . 12-2شکل

Page 9: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

‌خ

Mutation 31 ی از کار کل يی. نما13-2شکل

37 ينقطه ا کي Mutaion.11-2شکل

38 يچند نقطه ا Mutaion .11-2شکل

11 یکیژنت يها تميالگور يینمودار کارا .11-2شکل

سوم فصل

18 شهر آمريکا 13. مساله 1-3شکل

13 . بازي بیست تايی هامیلتون2-3شکل

Karl Menger 13. 3-3شکل

Mahalanobis 11. 1-3شکل

13 . يک گراف نمونه1-3شکل

13 ک گراف کامل حاصل شود.. افزودن يال به گراف تا ي1-3شکل

18 .کايشهر آمر 13. مساله 7-3شکل

13 شهر آلمان 123. مساله 8-3شکل

13 کايشهر آمر 132. مساله 3-3شکل

73 نقطه دلخواه از جهان 111. مساله 13-3شکل

73 کايشهر آمر 13133. مساله 11-3شکل

71 ر آلمان.شه 11112. مساله 12-3شکل

72 شهر سوئد 21378. مساله 13-3شکل

72 جهان یقاتیتحق ستگاهيشهر و ا 1331711از مساله ی. نمائ11-3شکل

چهارم فصل

TSP 77 در مورد Crossover . مشکل1-1شکل

PMX 78 در کروموزوم در روش ینقطه تصادف کي. انتخاب 2-1شکل

Page 10: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

‌د

78 موجود در محل انتخاباعداد ضي. تعو3-1شکل

OX 73 کروموزوم فرزند پس از اعمال روش . 1-1شکل

CX 83 به روش Crossover. 1-1شکل

MOX 81 به روش Crossover . 1-1شکل

MOX 81 . روش7-1شکل

Greedy Subtour Crossover 83 . روش8-1شکل

83 یمعمول Mutation پس از یگشتيمشکل عدم حالت جا .3-1شکل

Insert Mutation 81 . روش13-1شکل

Swap Mutation 81 . روش11-1شکل

Inversion Mutation 81 روش .12-1شکل

Scramble Mutation 81 . روش13-1شکل

opt Mutation 87-2 . روش11-1شکل

opt Mutation 88-3. روش11-1شکل

83 کودکانه يباز کياز يريتصو. 11-1شکل

33 یمولکول یسيشهرها در روش برنامه نو يکدگذار. 17-1شکل

31 یمولکول یسيدر روش برنامه نو الهاي ي. نحوه کد گذار18-1شکل

32 الهايوزن شينما ستمی. س13-1شکل

پنجم فصل

Order1 Crossover 33 . روش1-1شکل

فصل ششم

1 1نمونه شماره ريتصو .1-1شکل

1 2نمونه شماره ريتصو .2-1 شکل

Page 11: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

‌ذ

8 2نمونه شماره يشده برا افتي نهیتور به ريتصو .3-1 شکل

8 3نمونه شماره ريتصو .1-1 شکل

13 1نمونه شماره ريتصو .1-1 شکل

12 1نمونه شماره يبرا شده افتي نهیتور به ريتصو .1-1 شکل

12 1نمونه شماره ريتصو .7-1 شکل

11 1نمونه شماره يشده برا افتي نهیتور به ريتصو .8-1 شکل

Page 12: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

‌ر

فهرست جدول ها

فصل ششم

131 1. جدول نتايج بدست آمده براي نمونه شماره 1-1 جدول

137 2ت آمده براي نمونه شماره . جدول نتايج بدس2-1 جدول

133 3. جدول نتايج بدست آمده براي نمونه شماره 3-1 جدول

111 1. جدول نتايج بدست آمده براي نمونه شماره 1-1 جدول

113 1. جدول نتايج بدست آمده براي نمونه شماره 1-1 جدول

Page 13: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

اولفصل

DNAبر مقدمه ای

Page 14: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

DNA مقدمه ای بر -فصل اول

2

مقدمه: 1-1

هدف از مطالعه این فصل آشنائی با سیستم سلولی و ژنتیکی بدن موجودات زنده و چگونگی

بدن همه موجودات زنده از سلول تشکیل شده است. تکامل آنها می باشد. همان طوری که می دانید

هسته می باشد. در داخل هسته رشته های دراز و باریکی به نام هر سلول دارای غشاء، سیتوپالسم و

والتر فلمینگ با استفاده از میکروسکوپ نوری و 9781کروماتین قرار دارد که برای اولین بار در سال

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

دو رشته ای با پیچش به دور DNAشته ای تشکیل شده است که این دو ر DNAکروماتین از

هیستونها یک حالت پیچشی به سمت چپ به خود گرفته است و زمانی که سلول وارد مرحله میتوز

می شود این کروماتین فشرده و کوتاه و ضخیم می شود که به آن کروموزوم گفته می شود.

DNAد که حامل اطالعات ژنتیکی فرد است. می باش DNAمهمترین بخش کروماتین ها

نوکلئوتید است. اگر هر نوکلئو تید را معادل یک واژه 2*810یک کروموزوم انسانی شامل حدوداً

صفحه ای 9222کتاب 0222بگیریم مقدار اطالعاتی که یک کروموزوم می تواند داشته باشد معادل

این ساختارها را نشان می 9-9واژه را شامل شود. شکل 022ود است بافرض اینکه هر صفحه حد

دهد.

Page 15: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

DNA مقدمه ای بر -فصل اول

3

دورشته ای DNAنمایش کروماتین و کروموزوم و -1-1 شکل

DNA: ساختمان 1-2

DNAیا اسید نوکلئیک پلیمری است که این اسید، پلیمری از نوکلئوتیدها می 0یک پلیمر 9

: که عبارتند ازاست باشد. هر نوکلئوتید از سه بخش تشکیل شده

3پیوسته به کربن شماره 3اتم کربن و گروه هیدروکسیلپنج یک بخش قندی شامل .9

1 Deoxyribo Nucleic Acid

0 ذرات مشابه و از تکرار واحد های ساختمانی یکنواخت ایجاد شده است.جسمی که از ترکیب

3 OH

Page 16: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

DNA مقدمه ای بر -فصل اول

4

یک گروه فسفات .0

یک باز نیتروژن دار .3

فهم بهتر ساختار نمایشی آن برای سمت راست شکل این ساختار را نشان می دهد در 0-9شکل

نشان داده شده است.

یدساختمان یک نوکلئوت -2-1 شکل

هستند و یا از دسته بازهای 9نوکلئوتیدها فقط در بازها متفاوتند که یا از دسته بازهای پورینی

هستند. هر یک از این دسته ها ها نیز شامل چند باز می باشد. بازهای پورینی شامل 0پریمیدینی

اینکه کدامیک از است. بسته به 6و تیمین 0می باشد و دسته پریمیدینی شامل سیتوزین 4و گوانین3آدنین

1Purine

2 Pyrimidine

3 Adenine(A)

4 Guanine(G)

5 Cytosine(C)

6 Thymine(T)

Page 17: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

DNA مقدمه ای بر -فصل اول

5

حرف اول باز مورد نظر قرار می Bبه جای حرف 0بازهای نامبرده در نوکلئوتید قرار بگیرد در شکل

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

دقت کنید. 3-9می شود. به شکل DNAوار شدن یک رشته

DNAاتصال طولی نوکلئوتیدها در رشته -3-1 شکل

این نوکلئوتید ها از قسمت های بازی نیز می توانند به هم متصل شوند که توسط پیوند های

هیدروژنی بین بازها این عمل صورت می پذیرد ولی باید دقت کنیم که همه بازها با هم قادر به

پیوند 3با Gبا باز Cپیوند هیدروژنی و باز 0با Tبا باز Aبرقراری پیوند نیستند بلکه فقط باز

هیدروژنی اتصال برقرار می کند که بازهای مکمل هم نامیده می شوند و این حروف هم حروف ابتدای

دو رشته DNAمی باشد. این نوع اتصال سبب می شود تا بتوانیم DNAچها باز اصلی در ساختمان

تر نشان می دهد.این مطلب را به 4-9ای داشته باشیم. شکل

Page 18: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

DNA مقدمه ای بر -فصل اول

6

دو رشته ای می شود. DNAاتصال عرضی نوکلئوتیدها که سبب ایجاد -4-1 شکل

آشنا شدیم باید بگوییم که حروف موجود بر روی این رشته DNAاکنون که با ساختمان

ک قاعده آغاز و پایان خاص معرف یک ژن خاص از فرد می یبسیار بارزش و هر چند حرف طبق

اوالً حمل اطالعات ژنتیکی و ثانیاً DNAباشد که حامل ویژگیهای فرد مورد نظر است. مهمترین کار

دو رشته ای از DNAمی باشد. این همانند سازی بدین صورت می باشد که DNAهمانندسازی

ل می شود و سپس هر رشته تحت یک فرآیند خاص تبدی DNAمیان باز می شود و به دو رشته

اعمال دیگری مانند دراز شدن و کوتاه شدن و DNAشروع به ساخت رشته مکمل خود می کند. البته

دو رشته ای را نشان DNAهمانند سازی 0-9برش و ترمیم آسیب ها را نیز انجام می دهد. شکل

می دهد.

Page 19: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

DNA مقدمه ای بر -فصل اول

7

DNAهمانند سازی -5-1 شکل

ملی که سبب تغییرات ژنتیکی افراد می شوند.عوا: 1-3

بعضی عوامل در طبیعت سبب می شوند تا ساختار ژنتیکی یک فرد تغییر کند که در زیر به دو

مورد از این نوع تغییرات و عوامل مسبب آنها اشاره می کنیم.

جهش: 1-3-1

بدن یکی از گاهی اوقات ممکن است در اثر عوامل بیرونی مانند اشعه های مضر برای

دورشته ای تغییر کند بدون اینکه باز مکمل آن در برابر آن قرار گرفته باشد. در این DNAبازهای

صورت که تغییر در باز یک تغییر در ژن محسوب می شود ممکن است کد ژن مربوطه را به یک

یروسهای وژنتیکی در فرد شود که در مورد بسیاری از 9کد نامعتبر تبدیل کند و سبب یک جهش

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

است جهش یک فرد بر روی ژن مربوط به سیستم دفاعی و یا سیستم سوخت و ساز بدن باشد که

ممکن است سبب مرگ فرد هم شود. گاهی اوقات این جهش در جهش بودن در صورت نامعتبر

1 Mutation

Page 20: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

DNA مقدمه ای بر -فصل اول

8

سبب می موثر واقع می شود و یک کد ژنتیکی موثرتری را برای فرد ایجاد می کند وژنتیک فرد

جهش ژنتیکی را نشان می دهد. 6-9شکل گیرد. بوفق محیطبا شود که فرد بهتر

جهش ژنتیکی -6-1 شکل

1: بازترکیب 1-3-2

ام تقسیم این عمل که در هنگام تقسیمات سلولی رخ می دهد بدین گونه می باشد که در هنگ

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

گاهی اوقات یک تکه از یک کروموزوم 0در کروموزوم بسیاز زیاد می شود DNAفشردگی رشته های

ن فقط با یک تکه از کروموزوم دیگر قطع داده می شود و با هم عوض می شوند. در این حالت چو

تکه های مقابل هم با هم تعویض می شوند سبب گوناگونی در ژنهای فرد و تغییرات ظاهری و

این مرحله را به طور کامل نشان می دهد. 8-9ویژگیهای دیگر فرد می شود. شکل در تغییرات

1 Crossover

0 برابر کوتاهتر می شود. 822تا DNAطول رشته های

Page 21: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

DNA مقدمه ای بر -فصل اول

9

فرایند بازترکیب -7-1 شکل

نین آشنائی باا کلمااتی مانناد و همچ ژنتیک افرادسیستم این مطالب مختصر را برای آشنایی با

با آشنائی نسابت باه اینکه در فصول آتی بتوانیم جهش، بازترکیب و تکامل افراد و ... بیان نموده ایم تا

و آن را بهتر درک کنیم. ریشه الگوریتم های ژنتیکی را بهتر بشناسیمژنتیک و اصطالحات ژنتیکی

Page 22: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

دومفصل

مقدمه ای بر الگوریتم های

ژنتیکی

Page 23: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

11

مقدمه: 2-1

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

دهه پیش می رسد و به نظر می رسد كه در چند سال اخیر، اهمیت آن بیش از بیش آشکار شد و

اصطالحاتی از قبیل الگوریتم های ت در این زمینه به میزان بسیار زیادی افزایش یافته است.تحقیقا

سیستم الگوریتم های ژنتیکی ، برنامه نویسی تکاملی ، استراتژیهای تکامل، مانندبا دامنه هایی 1تکاملی

و غیره در آن پدیدار شدند. برنامه نویسی ژنتیك، های دسته بندی

مسایل متنوعی با دامنه های متفاوت مانند بهینه سازی، برنامه برای تکامل الگوریتم های

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

سیر تکاملی تغییرات استفاده می شود.

ه در الگوریتم های ای كبر اصطالحات بیولوژیکی و زیستی در این فصل ابتدا مقدمه ای

به دنبال آن جنبه های تئوری الگوریتم و ژنتیکی و فرایند تولید نسل استفاده می شود، خواهیم داشت

در ادامه شبه كدی از الگوریتم های ژنتیکی را ارائه می های ژنتیکی را مورد بحث قرار خواهیم داد.

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

5جهش و 4، بازتركیب یا انقطاع 3، انتخاب 2رمزنگاریشرح می دهیم. در ادامه به بررسی مسائل را

خواهیم پرداخت. و كاربردهای آن مطرح در مورد الگوریتم های ژنتیکی

1 Evolutionary Algorithm(EA)

2 Encoding

3 Selection

4 Crossover

5 Mutation

Page 24: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

12

ستند كه از از روشهای تصادفی و غیر قطعی جستجو و بهینه سازی ه 1الگوریتم های ژنتیکی

این نظریه تکامل تدریجی و انتخاب طبیعی برای حل مسائل پیچیده و جستجو استفاده می كنند.

از یك جمعیت كه صالحیت ینظریه تکاملی داروین بدین گونه عنوان شده است كه در طبیعت افراد

حیات ازبین می روند. بیشتری برای حیات دارند، زنده می مانند و بقیه افراد در صحنه رقابت برای

الگوریتم های ژنتیکی از سیستمهای حل مساله بر مبنای كامپیوتر هستند كه از مدل های محاسباتی

اصل كلی و بعضی از مکانیسم های كلیدی تکامل تدریجی در طراحی و پیاده سازی استفاده می كنند.

وی تصادفی بجای یك الگوریتم های ژنتیکی این است كه از یك جستج پایه ای در مورد الگوریتم

جستجوی تعریف شده و معلوم استفاده می كنند.

الگوریتم های ژنتیکی عضوی از خانواده گسترده تری از الگوریتم ها به نام الگوریتم های

عبارتند از :الگوریتم های تکاملی كالس های بزرگ و گسترده تکاملی می باشند.

الگوریتم های ژنتیکی

سی تکاملیبرنامه نوی

های تکامل استراتژی

سیستم های دسته بندی

برنامه نویسی ژنتیك

1 Genetic Algorithm(GA)

Page 25: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

13

مفهوم پایه ای مشتركند و آن شبیه سازی تکامل افراد توسط فرآیندهای یك همه آنها در

الگوریتم های ژنتیکی ساختارهایی دارند كه بر اساس می باشد. 3و تولید نسل 2و جهش 1انتخاب

Fitnessهر فرد از جمعیت ارزشی تحت عنوان می كنند. استنتاج ،رهای دیگرقواعد انتخاب و عملگ

4تولید نسل، بیشتر بر روی افرادی را از محیط دریافت می كند.بیشتری دارند رخ می Fitnessكه

ها عمل می كنند و به كمك Individualبر روی Crossoverو Mutation اعمالی مانند دهد.

آنها را تغییر می دهند. Heuristicیك

تاریخچه: 2-2

ایده الگوریتمهای ژنتییکی با توجه به نظریه داروین در مورد تکامل رونق گرفتند و سپس

5محاسبه تکاملی 9استراتژی های تکاملی عنوانتحت I.Rechenbergتوسط 1691در سال

تمهای ژنتیکی توسط فردی به . الگوریمعرفی شد. نظریه او توسط پژوهشگران دیگر گسترش یافت

انتشار كه منجر به گسترش یافت ششجویاننبنیان گذاری شد و توسط او و دا John. Hollandنام

Holland شد. ”Adoption Industrial And Artificial Systems“كتابش تحت عنوان

از الگوریتم های ژنتیکی به عالقه زیادی به بهینه كردن راه حل نداشت، او در این راستا با استفاده

در جمعیت زیاد اهمیت بسیار 8او به قدرت بازتركیب جستار كرد. 7سوی تئوری دامنه های گسسته

1 Selection

2 Mutation

3 Reproduction

4 Individual

5 Evolutionary Computing

6 Evolution Strategies

7 Discrete Domain

8 Recombination يا Crossover

Page 26: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

14

با استفاده از الگوریتم های ژنتیکی برنامه هایی نوشت كه برای John Keza، 1662در سال داد.

نامید. 1ش خود را برنامه نویسی ژنتیکیاو رو. انحام بعضی از كارهای خاص به كار برده شده اند

دید كلی از الگوریتم های ژنتیکی: 2-3

در این قسمت یك دید كلی در مورد الگوریتم های ژنتیکی ارائه می كنیم و نحوه كار و

اصول كلی آن و اینکه چگونه از سیر تکاملی طبیعت به چنین الگوریتمی رسیده اند را با كمك شکل

بیانگر این مطلب است كه ما با داشتن یك جمعیت از 1-2كلی بیان می كنیم. شکل و به طور 2-1

افراد در قید حیات كه با هم متفاوتند شروع می كنیم و این تفاوت با تفاوت رنگ در شکل مشخص

شده است. همانطوری كه میدانیم در طبیعت افرادی زندگی می كنند كه جمعیت نامیده می شوند. آن

افرادی كه دارای صالحیت كمتری هستند در راستای مبارزه برای زندگی از بین می روند كه دسته از

در شکل افرادی كه بر روی آنها عالمت ضربدرخورده است این دسته از افراد را نشان می دهد. از میان

كرده و باقی جمعیت افرادی با هم ازدواج می كنند و فرزندان جدیدی با ویژگیهای متفاوت را تولید

موجود در طبیعت اضافه می كنند. این فرایند سبب می شود كه در هر مرحله از آنها را به جمعیت

تولید فرزندان و افزودن آنها به جمعیت فعلی انتظار جمعیتی بهتر با قابلیتهای بیشتر را داشته باشیم كه

بود نسلی را شامل نشود در درازمدت سبب بهبود نسل جمعیت اولیه می شود و اگر چنانچه هیچ به

سبب بدتر شدن جمعیت نمی شود زیرا اگر فرزندان دارای قابلیت كمتری نسبت به والدین باشند در

این صورت در راستای مبارزه برای زنده ماندن این فرزندان هستند كه از بین می روند. این فرایند به

1 Genetic Programming(GP)

Page 27: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

15

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

بیان شده است. اولكنند. این مسایل و كمی جزئی تر آن یعنی بعد ژنتیکی افراد در فصل

فرایند حیات جمعیت از دید ژنتیکی -1-2 شکل

زمینه بیولوژیکی : 2-4

م در هر سلول مجموعه ای از كروموزو .ستهمه موجودات زنده از سلول ساخته شده ابدن

تشکیل شده اند و الگوی تمامی اعضای بدن می DNAكروموزوم ها از رشته هائی از ها وجود دارد.

كروموزوم توسط ژنها مشخص می شود. تفاوت موجود در موجودات ناشی از مشخصه یك باشند.

هر فرد برای كه نامیده می شود. 1مجموعه ای از كروموزوم ها ژنوتیپ همین تفاوت ژنها می باشد.

2فنوتیپیك رخ می دهد. ژنهای Crossoverدر جریان تولید مثل ایتدا تعریف می كند.خاص را

این موجودات تولید كروموزوم های والد به بعضی طریق در كروموزوم های جدید قرار می گیرند.

1 Genotype ژنتيكي واقعي يك فرد كه توسط ژنهايي كه حمل مي كند تعيين مي شود. ساختار

2 Phenotype ظاهر يك فرد

Page 28: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

16

یعنی اینکه عناصر Mutationشده توسط والدین اكنون می توانند جهش پیدا كنند . جهش یا

DNA كه این تغییر به علت خطا در هنگام كپی كردن ژنها از به صورت بیتی تغییر پیدا می كنند

هر عضو از موجودات توسط موفقیت آن در زندگی مشخص Fitnessشایستگی و یا والدین است.

می شود.

طرز كار الگوریتم های ژنتیکی: 2-5

ترش گونه های موجودات زنده ای ب گسو تولید مثل سب 1در طبیعت تركیبی از انتخاب طبیعی

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

وقتی كه یك الگوریتم ژنتیکی استاندارد برای حل مسائل اصولی مشابه برای حل مسائل سود می برد.

یر عمل خواهد كرد:به كار برده می شود، الگوریتم ژنتیکی به صورت ز

2یك جمعیت اولیهكه مجموعه ای از جوابها به نمایندگی از كروموزوم ها می - 3از افراد

Individualتولید می شوند. در هر مرحله از تکامل، Heuristicبه صورت تصادفی یا –باشند

ارزیابی می شوند كه های جمعیت فعلی دیکود می شوندو مطابق با معیار ارزیابی از پیش تعریف شده

ها Individual، 5دارد. برای شکل دهی و ایجاد جمعیت جدید 4این موضوع اشاره به توابع ارزیابی

بر حسب ارزششان انتخاب می شوند و سپس همه یا برخی از جواب های موجود با اعضای جدید

1 هر كسي كه شايسته تر است بايد بماند

2 Initial Population

3 Individual

4Fitness Function

5 Next Generation

Page 29: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

17

ت می گیرد. صور Mutationو Crossoverایجاد عملگرهای جدید توسط جایگزین می شوند.

جمعیت فعلی باشد، انجام می پذیرد.این اعمال به امید اینکه جمعیت جدید بهتر از

است كه Hollandساده ترین آنها روش روش های انتخاب زیادی فعالً در حال استفاده اند.

بنابراین نسبت داده شده به آن، احتمال انتخاب شدن دارد. Fitnessبه احتمال Individualهر

Individual برای انتخاب دارند در حالی كه آنهایی كه ارزش شانس بیشتری ، ها با ارزش بیشتر

این اعمال آنقدر تکرار می شوند تا زمانی كه كمتری دارند بیشتر در معرض از بین رفتن می باشند.

ر به ت مورد نظبه طرز مناسبی طراحی شود ، جمعی اگر الگوریتم ژنتیکی بعضی شروط ارضاء شوند.

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

و زمانی گفته می شود كه یك جمعیت در حال همگرایی د.ناز جمعیت آن ژن را داشته باش درصد 65

اموش ای برخوردار است كه فر است كه همه ژنها همگرا شوند. به هر حال این مطلب از اهمیت ویژه

ی برای همگرائی آن نکنیم كه الگوریتم های ژنتیکی یك فرایند تکراری تصادفی است كه اصالً تضمین

از اینرو، شرط خاتمه ای مانند یك عدد ثابت به عنوان ماكزیمم تعداد تولید و یا دستیابی وجود ندارد.

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

یك شبه كد برای الگوریتم های ژنتیکی: 2-9

در این قسمت یك شبه كد بسیار كلی در مورد الگوریتم های ژنتیکی و نحوه كار و گام های

انجام آنها ارائه شده است. در این بخش سعی برآن شده است تا یك دید كلی از اصول و مراحل و

Page 30: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

18

های بعدی هر یك از این مراحل را به صورت قسمت در طرز كار الگوریتم های ژنتیکی ارائه شود.

كلی شرح می دهیم.

شبه كد مورد نظر برای الگوریتم های ژنتیکی به صورت زیر است.

یك نمایش ژنتیکی از سیستم مورد نظر را تعریف می كند. : [Encoding]و رمزگذاری نمایش .1

لید می كند.كروموزوم را تو nاز متشکل : یك جمعیت تصادفی[Start]شروع .2

وزوم در جمعیت را ارزیابی می كند و از بین آنها : ارزش هر كروم[Fitness] ش دهیارز .3

مورد نظر برای الگوریتم ژنتیکی انتخاب اولیه كروموزوم های با ارزش بیشتر را به عنوان جمعیت

می كند.

كه دهد ی ایجاد جمعیت جدید انجام می: مراحلی را برا[New population]جمعیت جدید .4

را با انجام مراحل زیر انجام می دهد.این كار

با در نظر گرفتن ارزش هر یك و : دو كروموزوم را از میان جمعیت[Selection]انتخاب .4.1

آنها انتخاب می كند.

Crossهای انتخاب شده از مرحله قبلی عمل بر روی كروموزوم :[Crossover]بازتركیب .4.2

اضافه می كند. جدید دید را ایجاد می كند و آنها را به جمعیتو فرزندان جرا انجام می دهد

با یك احتمال جهش ، تغییری در رشته كروموزوم والد می دهد و :[Mutation]جهش .4.3

اضافه می كند. جدید كروموزوم جهش یافته را به جمعیت

Page 31: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

19

كروموزوم كروموزوم های جمعیت جدید را ارزش دهی كرده و :[Accepting]پذیرش .4.4

ی جمعیت جدید را در صورتی كه صالحیت بیشتری نسبت به جمعیت اولیه داشته باشند ها

موزوم های جمعیت جدید حذف می در غیر این صورت آنها را از لیست كرو دانتخاب می كن

.دكن

كروموزوم های جمعیت جدید را جایگزین كروموزوم های جمعیت :[Replace]جایگزینی .5

را به عنوان جمعیت اولیه می و جمعیت فعلی دبه آنها دارند می كنتری نسبت اولیه كه ارزش كم

.دشناس

ب را از میان جمعیت و بهترین جوا دط پایانی ارضاء شود متوقف می شو: اگر شر[Test]بررسی .9

.دبر می گردان

.4 به مرحله پرش: [Loop]حلقه .7

می باشد. 2-2شکل م به صورت را نمایش دهی الگوریتم های ژنتیکیاگر بخواهیم فلوچارت مربوط به

Page 32: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

20

الگوریتم های ژنتیکیفلوچارت مربوط به -2-2 شکل

همان طوری كه مشاهده می كنید شبه كد باال برای الگوریتم های ژنتیکی خیلی كلی می باشد.

مسائل زیادی در مورد مراحل باال مطرح است كه با توجه به نوع مساله و استراتژی حل متفاوت می

مانند ها و نحوه كار عملگرهای ژنتیکی رای مثال روشهای نمایش مساله به فرم كروموزومب باشد.

Crossover وMutation و یا روشهای انتخاب والدین برای اعمال عملگرها و بسیاری مسائل دیگر

از مسائل مهمی است كه در ادامه راجع به چگونگی هر یك از مراحل باال و اصول كار آنها و مسائل

ربوط به الگوریتم های ژنتیکی به طور مفصل بحث خواهد شد.م

2-9-1 :Encoding

Page 33: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

21

های حل مساله توسط الگوریتم های ژنتیکی یکی از مهمترین بخش Encodingفرآیند

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

ب كه به راحتی پاسخگوی همه مسائل مربوط به حل مساله توسط الگوریتم نمایش مناسب از جوا

های ژنتیکی باشد مشکل است. این فرایند كه منجر به تولید جمعیت در حال جستجوی جواب

1كه باید جوابگوی مسائلی مانند ایجاد می شود همان نمایش كروموزومی جواب های مساله است

باشد كه در این میان پیدا كردن یك روش نمایشی كه Mutationو Crossoverو 2و ارزیابی

را بسیار مشکل Encodingشركت كند فرایند Crossoverشبیه سازی عملیات به راحتی در

روشهای باید شامل اطالعاتی راجع به مساله باشد. Encodingهر كروموزوم در فرایند می كند.

اندازه مساله موردنظر و ووابسته به نوع رد كهیك مساله وجود دا Encodingمتفاوتی برای

اشاره از روشهای نمایش مساله در زیر به چند نمونه مهم و متداول موارد دیگر می باشد.بعضی

می كنیم.

3باینریرشته : 2-9-1-1

رشته می باشد هر كروموزوم Encodingدر این روش كه از پر استفاده ترین روشهای

می باشد. هر بیت در این رشته خصوصیاتی از جواب مساله را نشان می 1 و 1های ای از بیت

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

كروموزوم كه به صورت باینری می باشند را نشان می دهیم.

1 Creation

2 Evaluation

3 Binary Encoding

Page 34: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

22

111111111111111: 1كروموزوم

111111111111111: 2كروموزوم

رشته هایی از حروف الفباء : 2-9-1-2

A,G,C,T,U,L,R,Dالفبا مانند فدر این روش هر عضو از این رشته یکی از حرو

برای مثال و حروف دیگر می باشد كه نوع حروف و تعداد آنها بسته به نوع مساله می باشد.

فحه كه هدف حركت از یك نقطه شروع در ص حركت در صفحه مختصات مساله سادهدر

مختصات و رسیدن به یك نقطه پایان مشخص می باشد می توان جهت های حركت به سمت

باال و پایین و راست و چپ را به عنوان حروف تشکیل دهنده رشته كروموزوم در نظر گرفت.

1اگر جهت حركت به سمت باال را با U 2و حركت به سمت پایین را با

D و حركت به سمت

3راست را با R 4به سمت چپ را با و حركت

L نشان دهیم كروموزوم های نمایش دهنده

مساله می توانند به صورت زیر باشند.

UUDRDLDDDUUL : 1كروموزوم

LLLRRRDUUDRD: 2كروموزوم

جایگشت: 2-9-1-3

1 Up

2 Down

3 Right

4 Left

Page 35: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

23

یك روش برای نمایش كروموزوم های مساله می باشد كه متشکل از جایگشتهای یك

در Encodingدر مورد این نوع روش یك كروموزوم می باشد. رسری اعداد و یا اشیاء د

وزیر و مساله N مساله در مسائلی از قبیل . این روش بخش بعد مفصالً بحث خواهد شد

راس می 6فروشنده دوره گرد كاربرد دارد. برای مثال در یك مساله فروشنده دوره گرد با

توان نمایش كروموزومی به شکل زیر داشت :

123459786: 1موزوم كرو

235498671: 2كروموزوم

1هر دو كروموزوم به صورت جایگشت هایی از اعداد همانطور كه مشاهده می كنید

می باشند. 6تا

درخت : 2-9-1-4

كاربرد دارد. Lispیك روش برای نمایش مساله می باشد كه بیشتر در برنامه های

شروع : 2-9-2

مساله را به اتمام برسانیم و یك Encodingبا یك روش مناسب فرایند حال كه توانستیم

كروموزوم كه nیك جمعیت به تعداد نمایش كروموزومی مناسب برای مساله در نظر بگیریم

تعداد و طول هر كروموزوم وابسته به ماهیت مساله می باشد ایجاد می كنیم و آنها را در فضای

هر كروموزوم می تواند به صورت كامالً تصادفی یا با كمك تولید م.جستجوی مساله پخش می كنی

Page 36: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

24

در فضای اولیه برای جستجو پراكندگی جمعیت 3-2شکل صورت پذیرد. Heuristicیك

جستجو را نمایش می دهد.

پراكندگی جمعیت اولیه درفضای مساله -3-2 شکل

در نظر بگیرید . اگر ما تعداد به صورت كاربردی تر مساله حركت در محورهای مختصات را

كه اكنون در حل مسائل آنها را با نام را در نظر بگیریم و اندازه هر كروموزم n=4جمعیت را برابر

Individual عدد 4در مرحله شروع در نظر بگیریم 9می شناسیمIndividual به صورت زیر

تولید می كنیم.

Individual 1=UUULRR

Individual 2=DDRRRU

Individual 3=UUUDDR

Individual 4=RRRUUD

شماره یك را از نقطه شروع نشان می دهیم: Individualدر زیر نحوه حركت

Start ==>Up ==>Up ==>Up==>Left==>Right==>Right

پراكندگی جمعیت در فضای جستجو را در مرحله شروع و با حركت 4-2شکل

Individual ها و از سمت چپ به راست نشان می دهد.ها طبق حروف تشکیل دهنده آن

Page 37: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

25

پراكندگی جمعیت در صفحه - 4-2 شکل

ش دهیارز: 2-9-3

باید حال كه جمعیت مورد نظر را تولید كرده ایم و آنها را در فضای جستجو پخش كرده ایم

بدهیم كه ارزش حیات فرد مورد نظر از جمعیت را نشان 1به هر عضو از این جمعیت یك ارزش

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

های ژنتیکی پیدا كردن یك روش خوب برای ارزش دهی و یك تابع ارزیابی مناسب بسیار مهم

ماهیت تابع ارزیابی از اصل مساله و چگونگی آن حاصل می شود. برای مثال در مساله می باشد.

از هدف پس از حركت را می توان به عنوان Individualدر صفحه مختصات فاصله هر حركت

در نظر گرفت. Individualارزش آن

1 Fitness

2 Evaluation Function

Page 38: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

26

ایجاد جمعیت جدید: 2-9-4

از آنجا كه این مرحله از مهمترین مراحل حل مساله توسط الگوریتم های ژنتیکی می باشد.

ای جستجوی مساله نمی تواند نقطه جدیدی در انتخاب جمعیت اولیه و پراكندگی انها در فض

فضای جستجو پیدا كند و جمعیت در حال جستجو را به سمت جواب بهنه سوق دهد در این

و با الگو برداری از Crossoverو Mutationمرحله با استفاده از عملگرهای ژنتیکی مانند

ولیه ایجاد می كنیم و آنها را در ا سیستم تکامل در طبیعت جمعیت جدیدی را با استفاده از جمعیت

اصول كار این مرحله مهم بدین گونه است كه ما با داشتن یك فضای جستجو قرار می دهیم.

ها اقدام Individualو ارزش مربوط به هر یك از Individualعدد nجمعیت اولیه متشکل از

ملگرهای ژنتیکی مانند این كار را با استفاده از عكه به ایجاد یك جمعیت جدید می كنیم

Mutation وCrossover .انجام می دهیم Crossover وMutation های از مهمترین بخش

اساساً از این دو عملگر تاثیر می های ژنتیکیهستند كه كارائی الگوریتم های ژنتیکیالگوریتم

لگر وجود دارد معموالً یك احتمال از پیش تعریف شده برای تولید مثل توسط این دو عم پذیرد.

كه هر یك از این عملگر ها به احتمال مربوط به خود بر روی جمعیت فعلی اثر می كند و منجر به

هر یك از افراد جمعیت جدید دارای ارزش مربوط به خود تولید یك جمعیت جدید می شود.

و حال ما در فضای جستجوی مساله با دو جمعیت روبه رو هستیم یکی جمعیت اولیه هستند.

با 1افراد ،حال طبق اصل شایستگی برای حیات از میان دو گروه جمعیت دیگری جمعیت جدید.

1 Individual

Page 39: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

27

انتخاب می كنیم و آنها را به تعداد افراد جمعیت اولیه است را nتا كه nبیشتربه تعداد صالحیت

پس از آن به ارزیابی هر یك از این عنوان جمعیت اولیه برای مرحله بعد در نظر می گیریم.

Individual های جمعیت می پردازیم و چنانچه یکی از شروط توقف توسط یکی از آنها ارضاء

این مرحله را پس از مرحله تولید جمعیت 5-2شکل شود همان را به عنوان جواب برمی گردانیم.

اولیه نشان می دهد. همان طوری كه مشاهده می كنید جمعیت فعلی وضعیت بهتری نسبت به

نزدیك شده كه همان نقطه با ماكزیمم ارتفاع است دارند و بیشتر به جواب نهایی جمعیت اولیه

اند.

پراكندگی جمعیت پس از اعمال عملگرها و انتخاب بهترینها -5-2 شکل

تمامی مراحل مربوط به این مرحله را به طور كامل شرح می دهیم. ادامه در

انتخاب: 2-9-4-1

و افراد بهترینها زنده می مانند و تولید مثل می كنندنی بر اینکه مطابق با نظریه داروین مب

نیز همین نظریه كاربرد دارد. در حل مساله توسط الگوریتم های ژنتیکی جدیدی را تولید می كنند

یا كروموزوم را از Individualبین جمعیت باید دو Crossoverبدین گونه كه برای انجام عمل

را بر روی آنها اعمال كنیم و فرزندان Crossoverم تا بتوانیم عمل بین جمعیت انتخاب كنی

Page 40: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

28

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

برای انتخاب والدین برای اعمال عملگرها روشهای انتخاب متفاوتی ارائه شده است كه هر كدام

.از این روشها اشاره می كنیمخود می باشند. در زیر به برخی دارای مزایا و معایب مربوط به

ب تصادفیروش انتخا: 2-9-4-1-1

این روش كه ساده ترین روش برای انتخاب می باشد بدین گونه می باشد كه دو

Individual عملگر از بین جمعیت برای تولید مثل انتخاب می كنیم و به صورت تصادفی را

Crossover و فرزندان جدیدی ایجاد می كنیم. روی آنها اعمال می كنیمرا

Roulette wheelروش : 2-9-4-1-2

همان شدن دارد.انتخاب احتمال طبق ارزش خود Individualهر در این روش

Individualبنابراین دارد Fitnessیك مقداری به عنوان Individualطور كه گفتیم هر

را در نظر Roulette wheelیك های با ارزش بیشتر شانس بیشتری برای انتخاب دارند.

بق با ارزش خود در این چرخه قرار می گیرند.كه كروموزوم های جمعیت مطا بگیرید

اند شانس بیشتری برای كروموزوم های با ارزش بیشتر كه قطاع بزرگتر از ان را اشغال كرده

Fitnessكروموزوم با Pرا برای شبیه سازی این نوع انتخاب 9-2شکل انتخاب شدن دارند.

.مربوط به خود را نشان می دهد

Page 41: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

29

Roulette wheelشبیه سازی -9-2 شکل

در این روش اگر

SizePopulation

J

JFitnessF1

با احتمال Kبا شماره Individualباشد

F

Fitness K .قرار گرفتن از یك نمونه 7-2در شکل برای والد بودن انتخاب می شود

Individual ها بر روی یكRoulette wheel ال و مقدار فضایی كه هر یك از آنها اشغ

می كنند را نشان می دهیم.

Roulette wheelها بر روی قرار گرفتن كروموزوم -7-2 شکل

برای این روش انتخاب والدین نسبت به روش انتخاب تصادفی روش مناسبی می باشد ولی

برای مثال چندان مناسب نیست. زمانی كه مقادیر ارزشها با هم اختالف بسیاری داشته باشند

Page 42: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

30

را Roulette wheelدرصد از 61درصد داشته باشد و 61كروموزوم ارزش اگر بهترین

یلی كمتری برای انتخاب شدن دارنداشغال كند در این صورت كروموزوم های دیگر شانس خ

نباید منفی باشند.هم ها Fitnessو از طرفی دیگر اینکه مقادیر

Rankروش : 2-9-4-1-3

آنها مرتب می كنیم وبه Fitnessسب مقدار ها را بر ح Individualدر این روش

و به همین ترتیب تا آخر 2و به دومین بدترین كروموزوم ارزش 1 1بدترین كروموزوم ارزش

همان اندازه جمعیت ما می باشد. n را نسبت می دهیم كه nاینکه به بهترین كروموزوم ارزش

SIZEPOPFدر این روش اگر قرار دهیم _...321 اه هر آن گIndividual به

احتمال F

Rank K .فواید این روش از این قرار است كه : برای والد بودن انتخاب می شود

.همه احتماالت مثبت هستند

برای مقادیرFitness .منفی هم جواب می دهد

.توزیع احتمال آنها هموار است

Rank Powerروش : 2-9-4-1-4

آنها مرتب می كنیم Fitnessها را بر حسب مقدار Individualدر این روش نیز

و به همین ترتیب تا 2و به دومین بدترین كروموزوم ارزش 1وبه بدترین كروموزوم ارزش

همان اندازه جمعیت ما می nرا نسبت می دهیم كه nآخر اینکه به بهترین كروموزوم ارزش

1 Rank

Page 43: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

31

2222در این روش اگر قرار دهیم باشد. _...321 SIZEPOPF آن گاه هر

Individual به احتمالF

Rank K

2

مثبت فواید این روش ازبرای والد بودن انتخاب می شود.

منفی می باشد. Fitness بودن همه احتماالت و جواب دادن برای مقادیر

2-9-4-2 :Crossover

جستجو در فضای مساله همانطور كه می دانیم عاملی باید سبب حركت جمعیت در حال

شود تا بتوان جمعیت را به سمت جواب بهینه سوق دهد چیزهایی كه تا كنون شرح دادیم مانند

ایجاد جمعیت اولیه و انتخاب و ... هیچکدام نمی توانند چنین كاری را انجام دهند و عمل

Crossover شودآنها در فضای مساله می پراكندگی است كه سبب تولید جمعیت جدید و .

یکی از زیبا ترین مراحل در الگوریتم های ژنتیکی می باشد. این فرایند Crossoverفرایند

الگوئی برگرفته از ژنتیك افراد دارد كه در مورد جمعیت موجود در طبیعت سبب گوناگونی افراد و

تفاوتهای فردی و ظاهری آنان می شود و در مورد الگوریتم های ژنتیکی و حل مسائل سبب

با یك احتمال خاصی Crossoverعمل راكندگی جمعیت در فضای مورد جستجو می شود.پ

در عمل αصورت می پذیرد این احتمال بدین معناست كه هر یك از افراد به احتمال αمانند

Crossover شركت خواهد كرد. عملCrossover بدین صورت می باشد كه دو كروموزوم یا

جستجو انتخاب می شود كه در مورد روشهای انتخاب در مبحث قبلی فرد از بین جمعیت در حال

داده می شوند و دو كروموزوم Crossاشاره شده است، حال دو كروموزوم انتخاب شده با هم

8-2جدید یا همان فرزند جدید ایجاد می كنند و آنها را در بین جمعیت قرار می دهند. در شکل

Page 44: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

32

بر روی دو Crossoverجو و جمعیت ثانویه پس از عمل نمایی از جمعیت اولیه در حال جست

كروموزوم كه مشخص شده است را مشاهد می كنید.

بر پراكندگی جمعیت Crossoverنمایی از تاثیر -8-2 شکل

كروموزوم اولیه كه در فضای جستجو 12همانطوری كه در شکل مشاهده می كنید از بین

دو فرزند جدید را ایجاد كرده Crossoverده و پس از عمل قرار دارند دو كروموزوم انتخاب ش

14و آنها را در بین جمعیت قرار داده اند كه در شکل سمت راست جمعیت جدید با تعداد

كروموزوم را مشاهده می كنید. از بین فزرندان ایجاد شده فرزند اول وضعیت چندان مطلوبی ندارد

لی فرزند دوم دارای وضعیت بسیار مطلوب تری از و شانس زیادی برای زنده ماندن ندارد و

والدین خود است و شانس بسیار باالیی برای زنده ماندن دارد.

وجود دارد كه تا حدودی وابسته به نوع انکودینگ مساله Crossoverروشهای زیادی برای

ز:اشاره می كنیم كه عبارتند ا Crossover مهماست. در اینجا به چند نوع از روشهای

Page 45: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

33

2-9-4-2-1 :Crossover یك نقطه ای

كروموزومهای والد یك پیشوند یا پسوند از رشته خود را Crossoverدر این روش

یك نقطه ای را برای كروموزوم هایی با Crossover عمل 6-2تعویض می كنند. شکل

انکودینگ باینری نشان می دهد.

یك نقطه ای Crossover -6-2 شکل

2-9-4-2-2 :Crossover دو نقطه ای

در این روش والدین یك زیر رشته را به صورت تصادفی انتخاب می كنند و آنها را با

دو Crossoverعمل 11-2هم تعویض می كنند و دو فرزند جدید تولید می كنند. شکل

نقطه ای را برای كروموزوم هایی با انکودینگ باینری نشان می دهد.

Page 46: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

34

دو نقطه ای Crossover -11-2 شکل

2-9-4-2-3 :Crossover چند نقطه ای

در این روش والدین چند زیر رشته از خود را به شکل تصادفی یا به كمك یك

Heuristic .عمل 11-2شکل خاص با هم تعویض می كنندCrossover چند نقطه ای را

برای كروموزوم هایی با انکودینگ باینری نشان می دهد.

چند نقطه ای Crossover – 11-2 شکل

2-9-4-2-4 :Crossover یکنواخت

Page 47: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

35

در این روش هر بیت كروموزوم های فرزند به طور دلخواه از هر كدام از والدین

یکنواخت را برای كروموزوم هایی با Crossoverعمل 12-2انتخاب می شود. شکل

انکودینگ باینری نشان می دهد.

واختیکن Crossover -12-2 شکل

می یهم وجود دارد كه برای انکودینگ جایگشت Crossover البته روشهای دیگری برای

باشد كه در فصل بعد كه در مورد مساله فروشنده دوره گرد و رابطه آن با الگوریتم های ژنتیکی

بحث می كنیم آنها را ارائه می كنیم.

2-9-4-3 :Mutation

Mutaion رد یا جهش همانطوری كه در موDNA بیان شده یك تغییر ناخواسته در

ری موارد می تواند بسیار مفید باشد و در بعضی موارد هم است كه در بسیا DNAكدینگ رشته

می تواند مضر واقع شود. در الگوریتم های ژنتیکی ممکن است جمعیت در حال جستجو به سوی

Page 48: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

36

محلی سوق پیدا كرده اند دارای یك بهینه محلی سوق پیدا كنند زیرا افرادی كه به سوی بهینه

Fitness می باشند و از اینرو بیشتری نسبت به افراد دیگری كه در سطوح پایین تر قرار دارند

و شانس پیدا كردن جواب بهینه سراسری را از دارند Crossoverشانس بیشتری برای عملیات

بود نسل خود كه همان حیات زنده می مانند و سعی در بهو برای مراحل بعدی دست می دهند

به كمك ما می آید و با یك Mutaionاینجاست كه سوق به سمت بهینه محلی است می نمایند.

این روش یك راه كامالً تصادفی جهش در كروموزم آنها را از حوالی بهینه محلی دور می كند.

ه طور واضح این مورد را ب 13-2شکل ها از این وضعیت نامطلوب است. برای نجات كروموزوم

نشان می دهد.

Mutationنمایی از كار كلی -13-2 شکل

به سمت بهینه محلی سوق پیدا ها مشاهده می كنید كروموزوم 13-2 همانطوری كه در شکل

یکی از این كروموزوم ها از این حالت و سوق دادن آن سبب رهایی Mutaionكرده اند كه عمل

سبب بهبود وضعیت نمی شود Mutaionه همیشه عمل البت به سمت جواب بهینه شده است.

Fitnessممکن است كه كروموزوم فرزند در وضع بدتری نسبت به والد خود قرار گیرد و مقدار

Page 49: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

37

mPصورت می پذیرد كه mPبه نام با یك نرخ خاصی Mutaionعمل .كمتری داشته باشد

pop_sizeرا به خود می گیرد كه pop_size/1و chromosome_lenght /1 مقداری بین

در این طول هر كروموزوم می باشد. chromosome_lenghtتعداد افراد در حال جستجو و

در معرض جهش خواهد بود. mPصورت هر بیت موجود در كروموزوم به احتمال

Mutaion از بعدCrossover و با انتخاب تصادفی یك كروموزوم از بین جمعیت انجام

نیز روشهای زیادی وجود دارد كه بسته به نوع مساله متفاوت است. Mutaionبرای می شود.

2-9-4-3-1 :Mutaion یك نقطه ای

در این روش فقط یك بیت از كروموزوم تغییر می كند و یك مقدار مجاز دیگر كه می

این 14-2شکل وموزوم مورد استفاده قرار گیرد را به خود می گیرد.تواند در كدینگ كر

مطلب را نشان می دهد.

یك نقطه ای Mutaion -14-2 شکل

2-9-4-3-2 :Mutaion چند نقطه ای

تغییر می كند و مقادیر مجاز دیگر mPت از كروموزوم به احتمال بیدر این روش هر

این مطلب را بهتر نشان می دهد. 15-2ه شکل ك را می گیرد

Page 50: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

38

چند نقطه ای Mutaion -15-2 شکل

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

مطرح آن در فصل بعدی كه در مورد الگوریتم Mutaionجایگشتی و روشهای گروش انکودین

ره گرد می باشد مسائلی را مطرح می كنیم. های ژنتیك و مساله فروشنده دو

جایگزینی: 2-6-5

عملگرهای ژنتیکی اقدام به ایجاد جمعیت جدید و قراردادن آنها در تا به حال با استفاده از

فضای مساله نمودیم ولی اگر بخواهیم این كار را به مدت بسیار طوالنی انجام دهیم با افزایش

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

برای این كار جمعیت فعلی را بر حسب .كاهش می دهیم nیا همان به همان تعداد جمعیت اولیه

.تای با ارزشتر را جدا می كنیم nاز میان آنها آنها مرتب می كنیم و Fitnessمقدار شایستگی یا

حل بعدی تولید نسل و جستجو به عنوان جمعیت اولیه شناخته می این جمعیت جداشده، برای مرا

شود.

Page 51: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

39

ارزیابی: 2-6-6

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

سعی می كند از قرار دهد اینکه از همان ابتدا تمامی سعی خود را بر روی پیدا كردن بهترین جواب

و اگر این جواب ابتدا با پیشنهاد جواب هایی هر چند هم بهینه نباشند كار خود را ادامه دهد همان

پاسخگوی نیازهای مساله باشد و بعضی از محدودیت ها را ارضاء كند و مورد پسند كابر توانست

متوقف می شود در غیر این صورت باز هم در این صورت این الگوریتم مورد نظر هم واقع شود

بعضی از شروط توقف الگوریتم های ژنتیکی می تواند از قرار زیر كار خود ادامه می دهد. به

.باشد

.زمانی كه جواب بهینه پیدا شود

.زمانی كه یك جواب بهینه محلی مناسب پیدا شود

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

تغییر نکند.زمانی كه بهترین جواب در طی چند مرحله تکرار

زمانی كه میانگینFitness .همه تولیدات همان یا نزدیك بهترین جواب باشد

البته شروط دیگری را هم می توان برای توقف الگوریتم های ژنتیکی در نظر گرفت.

لقه: شرط ح 2-6-7

نتواند شرط توقف را ارضا كند به این مرحله می چنانچه هیچیك از افراد در حال جستجو

پس به كه باید دوباره یك بار دیگر تغییراتی را در جمعیت در حال جستجو اعمال كنیم رسیم

Page 52: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

40

نجا از سر می آتولید جمعیت جدید رفته و الگوریتم های ژنتیکی را از مرحله مرحله چهارم یعنی

گیریم.

ه راجع به الگوریتم های ژنتیکیت: چند نک 2-7

ینجا به دو مورد از آنها اشاره اکاتی الزم است كه در البته در مورد الگوریتم های ژنتیکی ذكر ن

می كنیم:

جوابها كم می شود و در این صورت تابع Fitnessریتم به تدریج تفاوت بین وبعد از تکرار الگ .1

.انتخاب نیز كم كم كروموزوم ها را با احتمال یکسانی انتخاب می كند

رد كه از یك نوع كروموزوم به تعداد بسیار این احتمال وجود دا الگوریتم های ژنتیکیدر جریان .2

بت به میزان جواب كمتری نسزیادی تولید شود و سبب این امر شود كه جمعیت ما از تنوع

روشهای شود. برای حل این مشکل لگوریتمجمعیت برخوردار باشد و سبب ایجاد مشکل در ا

شد كه بدین صورت می با Windowingزیادی مطرح شده است كه یکی از این روشها روش

این عمل سبب می شود كه بقیه كم می كنیم Fitnessبدترین جواب را از Fitnessاست كه

و احتمال انتخابی برابر صفر دارند صفر بدست آیند و این یعنی اینکه Fitnessتعدادی جواب با

مسائل نایالبته روشهای دیگری هم برای حل .انتخاب بهترین جواب قوت می گیرد نیز احتمال

مطرح شده است.

Page 53: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

41

های ژنتیکی سود ببرد چه كسی می تواند از الگوریتم: 2-8

های ژنتیکی استفاده كند. كسی كه می تواند راه حل یك امروزه هر كسی می تواند از الگوریتم

قایسه های ژنتیکی انکود كند و كارایی هر راه حل را م ها در الگوریتم مسأله داده شده را به كروموزوم

معنی دار fitnessاستفاده كند. یك نمایش موثر و كارا و یك الگوریتم های ژنتیکی كند می تواند از

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

رقدرت كه این مزیت نها می باشد و به همین دلیل به عنوان یك الگوریتم جستجوی قوی و پآزیبایی

ن به علت پوشش سریع جوابهای خوب برای مسائل با ابعاد بزرگ می باشد مطرح شده اند. آ

هستند كه : االگوریتمهای ژنتیکی زمانی موثر و كار

ن كم است.آفضای جستجو بزرگ یا پیچیده است و درك كمی از مسائل داریم و فهم ما از

ش تخصصی برای فضای جستجو مشکل است.دانش محیط كم است یا رمزنگاری دان

.هیچ تجزیه و تحلیل ریاضی برای مسأله در دسترس نیست

.الگوریتمهای سنتی با شکست مواجه می شوند

كاربردهای الگوریتم های ژنتیکی: 2-9

دارای كاربردهای زیادی در حل مسایل بسیار مهم و حتی مسایل الگوریتمهای ژنتیکی

.از چند جنبه بررسی می كنیمینجا الگوریتمهای ژنتیکی را در ا. كاربردی دارند

مسأله الگوریتمی برای حل الگوریتمهای ژنتیکی به عنوان

و پیچیدهحل معماهای فنی برای الگوریتمهای ژنتیکی به عنوان یك مدعی

Page 54: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

42

الگوریتمهای ژنتیکی به عنوان اساس و پایه برای یادگیری ماشین

ان یك مدل محاسباتی ابتکاری و خالقالگوریتمهای ژنتیکی به عنو

الگوریتمهای ژنتیکی به عنوان یك مدل از سیستم های ابتکاری

های ژنتیکيی چگونيه در حيوزه قرار می دهیم كه الگوریتماین مطلب را مورد بررسی بخش ما در این

.ند.ها استفاده كن الگوریتمو چه كسانی می توانند از این گونه های دیگر به كار می روند

در ميورد برای حل مسائل مدل كردن استفاده می شيوند. الگوریتمهيای ژنتیکيی الگوریتم های ژنتیکی

شامل : سرگرمی استفاده شده اند مدل كردن، تجارت، مسائل مهندسی، بسیاری از مسائل علمی،

ه سيازی در بسیاری از مسائل متنوع بهینه سازی شامل بهین الگوریتم های ژنتیکی : بهینه سازی

، زمان 3طراحی مدار فروشنده دوره گرد، مساله ، از قبیل2، مسائل بهینه سازی تركیبی1شمارشی

و بهینه سازی كیفیت صدا و تصویر استفاده شده اند. 4بندی كارها

برای استنتاج برنامه های كامپیوتری برای الگوریتم های ژنتیکی: 5ربرنامه نویسی خودكا

شود و برای طراحی ساختارهای محاسباتی دیگر برای مثال اتوماتای اهداف خاص استفاده می

و شبکه های مرتب و طبقه بندی شده استفاده می شود. 9سلولی

برای بسیاری از اعمال یادگیری ماشین از الگوریتم های ژنتیکی : 1یادگیری ماشین و ربات

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

1 Numerical optimization

2 Combinatorial optimization

3 Circuit design

4 Job shop scheduling

5 Automatic programming

6 Cellular automata

Page 55: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

43

همچنین برای طراحی شبکه های عصبی برای استنتاج سیستم های دسته بندی كننده یادگیری

یا سیستم های تولید نمادین و برای طراحی رباتها استفاده می شود.

استفاده می شوند تا فرآیندهای تغییر ، گسترش الگوریتم های ژنتیکی: مدل های اقتصادی

ی مزایده و آینده بازارهای اقتصادی را مدل كنند.استراتژیها

الگوریتمهای ژنتیکی برای مدل سازی پدیده های اكولوژیکی از قبیل : مدل های اكولوژی

.استفاده می شود 2میکروبی ، همزیستی و جریان منابع در اكولوژی همزیستیمسائل

وند تا به سوالهای مورد نظر در استفاده می ش الگوریتم های ژنتیکی : مدل های ژنتیکی افراد

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

خواهد بود. crossoverیا بازتركیب

از الگوریتمهای ژنتیکی برای مطالعه یادگیری افراد و : تعامل میان سیر تکاملی و یادگیری

ژاد بر گونه دیگر استفاده می شود.نیا اثر سیر تکاملی یك گونه

برای مطالعه جنبه های سیر تکامل و الگوریتم های ژنتیکی: های اجتماعی های سیستممدل

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

رفتارهای ذكر شده در باال استفاده می شوند.

1 Robot learning

2 تجانس دو موجود مختلف یا دو گروه مختلف با هم

Page 56: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

44

حل كرد الگوریتم های ژنتیکیوان با مسائلی كه می ت: 2-01

زمانبندی ، زمانبندی امتحانات، ها زمانبندی، رنگ آمیزی گراف، وزیر Nمسأله مسائلی از قبیل

و بسته بندی، TSP، واگذاری مشاغل، MULTIPROCESSINGزمانبندی ، مسابقات ورزشی

Mutaionو Crossoverوش ن یك رآهر مساله كه بتوان آن را به صورت ژنتیکی كد كرد و برای

حل الگوریتم های ژنتیکیو همچنین یك تابع ارزیابی مناسب تعریف كرد را می توان با استفاده از

در مسائلی مانند شیمی و پزشکی و مسیر یابی شبکه و در شركت الگوریتم های ژنتیکیكرد. البته از

ای نظامی و كشف رمز نیز استفاده می های مخابرات و پیدا كردن ویروس های كامپیوتری و سیستم ه

شود.

الگوریتم های ژنتیکیكارائی : 2-00

البته الگوریتم های ژنتیکی كارائی به مسائل زیادی وابسته است الگوریتم های ژنتیکیكارایی

هر یك از مراحل ذكر شده واقعی خود را بر روی سیستم های كامپیوتری موازی نشان می دهند ولی

در مراحل تاثیر گذار باشد. الگوریتم های ژنتیکیمی تواند بر كارائی الگوریتم های ژنتیکیدر مورد

نمدتی ای اولیه از تولید جمعیت سرعت همگرایی به سوی جواب بهینه خوب است ولی پس از

زیرا اوالً اینکه جمعیت در حال جستجو تا حدودی بهینه شده اند و كاهش می یابدسرعت همگرائی

ی كه بتواند وضعیت آنها را بهبود بخشد كمی دیر بدست می آید و ثانیاً اینکه بعضی از افراد تغییر

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

این مطلب را نشان می دهد. 19-2كه شکل سبب كاهش كارایی الگوریتم می شوند

Page 57: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

الگوریتم های ژنتیکی مقدمه ای بر -فصل دوم

45

مودار كارایی الگوریتم های ژنتیکین -19-2 شکل

Page 58: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

سومفصل

مساله فروشنده دوره گرد

Page 59: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

47

مقدمه: 3-1

به م ويداشته باش 1به مساله فروشنده دوره گرد يم که نگاهيبر آن دار يسعن فصل يدر ا

ن ياول يبرا يمنشاً آن از کجاست و چه کس ست وينکه مساله فروشنده دوره گرد چيال ياز قب يسواالت

چه ن جواب را ارائه کرد وياول ين نام معروف شد و چه کسيو چرا به ا بار در مورد آن فکر کرد

م .ين مساله هستند، پاسخ دهيانگذاران ايو بنن مساله کار کرده اند يدر مورد ا يکسان

ف مساله فروشنده دوره گرديتعر: 3-2

ن يدف آن بيباشد. تعر يآسان م يليآن خ است که شرح يمساله فروشنده دوره گرد مساله ا

شود و هدف مساله ين هر جفت از آنها داده ميش بيماينه پيشهر با هز يصورت است که تعداد متناه

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

نه ين هزيبا کمتر ن شرط کهيبرگردد با ان يک بارمالقات کرده و دوباره به شهر آغازيشهرها را فقط

مالقات همه يبرا 2ن تورينه تريدا کردن کم هزيهدف پ ين کار را انجام دهد. به طور کليش ايمايپ

يمساله فروشنده دوره گرد در شکل ساده و اختصار ن حرکت است.يشهرها و بازگشت به شهر آغاز

ده دوره گرد که در سال ک نمونه جواب از مساله فروشني 1-3شکل شود. يشناخته م TSPبا نام

حل شد. 3دهدکه با روش شاخه وحد يکا مطرح شد را نشان ميشهر از کشور آمر 15 يبرا 1591

1 Traveling Salesman Problem (TSP)

2 Tour

3 Branch & Bound

Page 60: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

48

کايشهر آمر 94مساله -1-3 شکل

ن نام يمساله فروشنده دوره گرد به ا يعلت نامگذار: 3-3

به نام يد آلمانک فروشنده دوره گريکه گرفت يمساله فروشنده دوره گرد نامش را ازکتاب

BF.Voigt ن کتاب يف نمود. او در ايتال "م.يک فروشنده دوره گرد موفق باشيچگونه "تحت عنوان

ن مساله در کسب ياز آنجا که مهمتر يوجود دارد ول يدوره گرد يبرا ياديز يرهايعنوان کرد که مس

هير و بازگشت به شهر اولک باي يمالقات هر شهر فقط برا شده است، ير طيو مست مساله زمان يموفق

البته او مساله فروشنده دوره .ت استيدن به موفقيرس ين عامل در راستاي، مهمترن زمانيبا صرف کمتر

مساله فروشنده دوره گرد مطرح نکرد. يعنين نام يگرد را با ا

مساله فروشنده دوره گرد خچهيتار: 3-9

ين نمونه آن را شخصياول مطرح شده است.است که ياديز يالهامساله فروشنده دوره گرد س

فقط يصفحه شطرنج به صورت يخانه ها يبه تماماسب ييبر جابجا يمبن 1595در سال Eulerبه نام

در سال مربوط به مساله فروشنده دوره گرد ياتياضيجنبه رک بار وارد هر خانه شود، مطرح نمود. ي

Page 61: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

49

دان ياضيک ريو William Rowan Hamiltonبه نام يرلنديدان اياضيک ريتوسط 1011

ر از يک تصوي 2-3شکل مورد بحث قرار گرفت. Thomas Penygton Kirkmanبه نام يسيانگل

ان يست از ميک تور کامل با طول بيست يبا يگر ميدهد که باز يلتون را نشان ميهام ييست تايب يباز

دا کند .يپ ياتصاالت معلوم در صفحه باز

لتونيهام ييست تايب يباز - 2-3 شکل

دان و ياضين بار توسط ريرسد که اول يمساله فروشنده دوره گرد به نظر م يشکل کل

، يعلوم هندسادش دريز يت هايمطرح شد. او که به علت فعال Karl Mengerبه نام ياقتصاددان

ساله با کمک همکارش م Viennaدر 1521ار معروف است در سال يک بسيپربولياحتماالت، جبر و ه

فروشنده دوره گرد را ارائه کرد .

Page 62: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

50

Karl Menger -3-3 شکل

Karl Menger مساله را نياMessanger Problem يکه ماموران پست يمساله ا د.ينام

ينه برايک تور بهيداکردن يف کرد که هدف پينگونه تعريند. او مساله را ادش يه مار با آن مواچيبس

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

ر جاد دويکه ا يه برود البته در صورتين همسايکتريه برود و سپس از آنجا هم به نزدين همسايکترينزد

ن برگردد يبه شهر آغاز ييب تا مالقات همه شهرها ادامه دهد و سپس از شهر انتهاين ترتينکند و به هم

ن تور نبود.يکوتاهتر يبرا ين روش جواب کليا يول

مورد Mahalanobisبه نام يآماردان مساله فروشنده دوره گرد توسط 1511در سال

ک يدر رابطه با 1510در سال Marksو Gosh ، 1512سال در Jessenمطالعه قرار گرفت .

يطح هندسساز ييمکانها 1يآنها مساله را با انتخاب تصادف از آن استفاده نمودند. يکاربرد کشاورز

بود. Bengal ينهايزم يو بررس ين کار در رابطه با نقشه برداريمطرح کردند. ا

1 Random

Page 63: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

51

Mahalanobis -9-3 شکل

حل و بهبود آن ارائه يبرا يئها تمين مساله کار کرده اند و الگوريا يبر رو ياديار زيالبته افراد بس

يبوده اند را معرفن مساله يانگذاران ايکه جزء بن ين کسانين فصل فقط چند نفر از اوليدر ا نموده اند.

.ن مساله کار کرده انديا يبر رو يم. ار آن سالها به بعد تا کنون دانشمندان بزرگيکرده ا

تحت عنوان يمقاله ا O.Holland يبا همکار M.Grotschelبه نام يشخص 1551راً در سال ياخ

"Solution of large-scale symmetric travelling salesman problems." که ه دادارائ

ست يمساله فروشنده دوره گرد بوده است و تا کنون که در قرن بحل يدر راستا يار ارزشمنديمقاله بس

ن مساله ارائه شد.يحل ا يدر راستا ياديار زيم کارها و مقاالت بسيکم قرار گرفته ايو

ت مطالعه مساله فروشنده دوره گرد ياهم: 3-5

دانان و دانشمندان ياضير از يارياست که تالش بس يسائلاز م يکيمساله فروشنده دوره گرد

را مساله فروشنده دوره گرد مساله يز وم را به خود جلب کرده استلن عيوتر و صاحبنظران ايرشته کامپ

ار مشکل است .يحل آن بس يار ساده است ولياست که شرح آن بس يا

Page 64: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

52

از مسائل ينده کالس بزرگترياباشد که نم يم جهت نيااز ت مساله فروشنده دوره گرد ياهم

به کالس TSPا همان يمساله فروشنده دوره گرد باشند. يم 1يبيترک ينه سازيمسائل به تحت عنوان

يشوند، تعلق دارد. اگر کس يشناخته م NP-Completeکه به عنوان يبيترک ينه سازيمسائل به

يبرا –دا کند يپ 2يرا در زمان چند جمله انه يکه بتواند تور به يتميالگور -تم کارا يک الگوريبتواند

مسائل کالس يتمام يبرا يکارامد و موثر يها تميگورل، آن گاه امساله فروشنده دوره گرد ارائه کند

NP يبرا يبا زمان چند جمله ا يتمينتوانست الگور يبه هر حال تا کنون کس افت شوند.يتوانند يم

ن گونه مسائل را يبزرگ از ا ياست که اندازه ها ين بدان معنيامساله فروشنده دوره گرد ارائه کند.

يکاربردها يباشد که دارا ين ميگر مطالعه مساله فروشنده دوره گرد ايت دياهم توان حل کرد. ينم

ن يا بهتريو يپستچ ين تور برايدر امور حمل ونقل، کوتاهتر ييباشد. کاربردها يم ياديار زيبس يعمل

که يواقع يايآن در دن يعمل ياز کاربرها ياريمدارها و بس يدر بردها يمته زنحرکت هد يالگو برا

م.يکن يرا ارائه م يحاتين فصل راجع به آن توضيدر هم

TSP يعمل يکاربردها: 3-6

ر به يباشد که در ز يم ياديار زيبس يکاربردها يمساله فروشنده دوره گرد دارا يواقع يايدردن

م .يکن ياشاره م ن کاربردهاياز ا يبعض

1 Combinational Optimization Problem

2 Polynomial

Page 65: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

53

کاربردTSP مساله فروشنده دوره گرد در جهانگردان : يبرانه يک تور بهيدا کردن يپ يبرا

جهانگردا ، ماموران اداره پست و يف شده است، برايکه تعر ين شکليبه هم يواقع يايدن

جنبه نين فصل به طور مفصل در مورد اينه کاربرد دارد. در هميک تور بهيافتن ي يره برايغ

مختلف جهان و ين شهرهاينه از بيبه يافتن تورهاياز کاربرد مساله فروشنده دوره گرد و

حل يصرف شده برا ينه زمانينه از آغاز تا کنون و هزين زميحل شده در ا ينمونه مساله ها

م .يده يرا ارائه م ين گونه مسائل ، مطالبيا

ربرد اکTSP يک بازويم از يخواه يد که ما مينفرض ک : يکيربات يبازو کنترل يبرا

يم. بازويد استفاده کنيک خط توليک دستگاه در ي يسفت کردن مهره ها يبرا يکيربات

که يک مهره را محکم کرده و به نقطه بعديکند و يربات از نقطه شروع خود آغاز به کار م

ب همه مهره ها يرتن تيکند و به هم يرود و آن مهره را سفت م يدر آنجاست م يگريمهره د

گر هم انجام دهد. يدستگاه د يند را براين فرايگردد تا ا يرا محکم کرده و به نقطه شروع باز م

ک يدهد که از يک تور ميل ير محکم کردن مهره ها و بازگشت به نقطه شروع تشکين مسيا

ند به حداقل ين فرآيدر ا شود. يآن هستند انتخاب م يگراف کامل که مهره ها به عنوان گره ها

ن به يکه اباشد يت ميار بااهميند بسيو زمان انجام فرا يکيربات يبازو ييرساندن مقدار جابجا

يدر مورد تابلوها TSPن جنبه از کاربرد يهم دهد. يل ميرا تشک TSP ک مسالهينوبه خود

مساله ن نوعيدارد در مورد ا يکاربرد فراوان يکيک و قطعات الکترونيالکترون يمدارها يچاپ

Page 66: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

54

يد تابلوهايرا که تول TSPک مساله ي Applegateبه نام يشخص 1551مثال در سال يبرا

سوراخ بود را حل کرد. 5355دار با م يچاپ

کاربردTSP ه يوسائل نقل يابيريمس ياز نمونه ها يبعض : هيوسائل نقل يبرا يابيريمس يبرا

م يخواه ين گونه که ميشود بد يمعرف TSPا يتواند به عنوان مساله فروشنده دوره گرد يم

س يسرو ير براين مسيبهتر .ميکن يس دهيه سرويله نقليوس يک سريرا با يمشتر يتعداد

در ياديمسائل ز باشد. ياز چند تا مين مورد نين تعداد ماشير و کمتريان کدام مسيمشتر يده

ره وجود يان و غيهمه مشتر يس دهين زمان سرويدا کردن کمتريمانند پ، ن نوع مساله يمورد ا

.دارند

کاربردTSP يم کشيشبکه و س يمساله طراح :يوتريکامپ يشبکه ها يدرطراح

ن ي. بدک مساله فروشنده دوره گرد مطرح شوديتواند به عنوان يک شبکه هم مي يوترهايکامپ

م يبور سک بار عيکه با يم به صورتيوترها را شبکه کنياز کامپ يک سريم يخواه يگونه که م

را هم به حداقل يم مصرفيم و مقدار سين کار را انجام دهيوترها اين کامپيک از اياز هر

م .يبرسان

Page 67: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

55

کاربردTSP تواند به عنوان يز مين نيماش يدر روها 1کار ي: زمانبندکارها يدر زمانبند

م و زمان کارها با زمان انجام ومهلت انجا يک سرين گونه که يبد شناخته شود. TSP مساله

م .يکن يس دهين کارها را سروين نحو ايم به بهتريخواه يم ، ميدن آن کار را داريفرا رس

يباشد و کارها يم ياديز يکاربردها يدارا يواقع يايالبته مساله فروشنده دوره گرد در دن

چند نمونه از که در باال فقط بهمدل کرد. TSPا يتوان به عنوان مساله فروشنده دوره گرد يرا م ياديز

م.يآنها اشاره کرده ا

TSPانواع مختلف مساله : 3-7

ر آنها را نام يمطرح شده است که در ز TSPا ياز مساله فروشنده دوره گرد يمتفاوت يمدلها

م :يبر يم

TSP که با نام : 2متقارنSTSPن گونه است يبد شود ياستاندارد شناخته م TSPهمان اي 3

کسان است.ين هر دو راس يرفت و برگشت ب يالهايکه در آن وزن

TSP که با نام : 9نامتقارنATSP يالهاين گونه است که در آن وزن يبد شود يشناخته م 9

ر ين دو شهر در مسير بيش مسيماينه پيهز يعنيست يکسان نين هر دو راس يو برگشت برفت

.رفت و برگشت با هم متفاوت است

1 Job

2 Symmetric TSP

3 Symmetric TSP (STSP)

4 ASymmetric TSP

5 ASymmetric TSP (ATSP)

Page 68: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

56

TSP د مانن :1يچند فروشنده اTSP ک يش از ين تفاوت که ما بيبا ا ياست ول استاندارد

م و يم که هر فروشنده را به کدام شهر بفرستيريم بگين است که تصميم و هدف ايفروشنده دار

ن شهرها را مالقات کند و به نقطه شروع حرکت برگردد تا هر ياز ا يهر فروشنده چه تور

م.ين کار را انجام دهينه اين هزيترم با کميک بار مالقات شود و بتوانيشهر فقط

Buttleneck TSP: باشد که ينگونه ميا مساله فروشنده دوره گرد با مسافت کوتاه بدي

که ين فاصله ايشتريم بيخواه يم يعنيم. ينه کل کاهش دهيهز يال در تور را به جاينه يهز

م.يار برسانن مقديکند را به کمتر يم يه طين دو شهر همسايفروشنده دوره گرد ب

TSP مانند :2وابسته به زمانTSP ن يرا هم در ا ينکه ما مدت زمانياستاندارد است بجز ا

م يخواه ياست. ما م t يدر مدت زمان jبه نود iنه سفر از نود يهز Cijt م. ينوع مساله دار

چنانچه تور از Xijtکه در م . يرا به حداقل برسان ريکه مقدار ز

يم 1ن صورت مقدار ير ايرد و در غيگ يم 1برود مقدار t يدر مدت زمان jنود به iنود

م :ير را داريز يتهاين مساله محدوديدر ارد يگ

1 Multi Salesman

2 Time Depended TSP

Page 69: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

57

چند روش حل مساله فروشنده دوره گرد: 3-8

ر به چند نمونه يتوان حل کرد که در ز يم يگوناگون يمساله فروشنده دوره گرد را با روشها

م :يکن يشاره ماز آنها ا

حلTSP د يممکن را تول يتورها ين روش تماميدر اد همه حاالت ممکن: يتولبه روش

مسائل يم . برايکن ين وزن را انتخاب ميشود و توربا کمتر يکرده و وزن هر کدام محاسبه م

1را اردريست زياسب نبزرگ من يمسائل با اندازه ها يبرا يکوچک مناسب است ول يليخ

به تعداد Horner Ulyssesشهر مساله 11مثال در نمونه ي. براار باالستين بسآ يزمان

ن تور يداکردن کوتاهتريپ يک آنها برايکايشمردن تور متفاوت وجوددارد. 193035101111

حل مساله يتم موثر برايک الگوري. انجامد يساعت به طول م 52بزرگ يستگاه کاريک ايدر

رها را حذف کند.ين مسياز ا ياريتواند بس يم TSPاي فروشنده دوره گرد

1 Order

Page 70: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

58

حلTSP ک روش حل ي:1صانهيحر يروش جستجوبه TSPست يک لين روش ياست. ا

ين وزن مرتب ميشترين وزن تا بيد کرده و آنها را بر حسب کوچکتريگراف تول يالهاياز

د آن را به ک دور نشويجاد يکند و اگر سبب ا ين وزن را انتخاب ميال با کمتريکند.سپس

يممکن را م ياز جوابها يکين روش فقط يا کند. ياضافه م مورد جستجوتور يالهايمجموعه

دهد. ين جواب را نميشه بهتريهم يدهد ول

حلTSP ين انتخاب ميک شهر آغازين روش ابتدا يدر اه: ين همسايکتريتم نزديالگوربا

ک دور نشود، يجاد يکه سبب ا يته اش در صورين همسايکتريشود و سپس از آن شهر به نزد

شه يز همين روش نياکه همه شهرها مالقات شوند. دده ين کار را آنقدر ادامه ميو ا رود يم

توانند يشوند، م يکه در انتها به تور اضافه م ييالهايرا اغلب يز دهد ين جواب را نميبهتر

بزرگ باشند. يليخ

حلTSP 2يکيژنت يتمهايالگوربه کمک يجستجوئ يتمهاياز الگور يکيژنت يتمهايالگور :

کنند. مفهوم يحل مساله استفاده م يبرا يکيو ژنت يعيانتخاب طب يتم هايهستند که از الگور

ک ي يبه جا يتصادف يک جستجوين است که از يا يکيژنت يتم هايدر مورد الگور يکل

تم ياز الگور يدمتعد يکنند. روش ها يف شده و معلوم استفاده ميتعر يتم جستجويالگور

1 Greedy Search

2 Genetic Algorithm (GA)

Page 71: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

59

شود. به هر ياستفاده م موجود است که از آنها در حل مساله فروشنده دوره گرد يکيژنت يها

تم يشود روش الگور يکمک گرفته م TSPکه از آن در حل يخوب ياز روشها يکيحال

بحث خواهد شد. يکيژنت يها تميدر فصل بعد مفصالً در مورد الگور باشد. يک ميژنت

TSPاز يف رسميتعار: 3-4

که عبارتند از : وجود دارد TSPف يتعر يبرا يدو راه اصل

1. TSP ک گرافيبه عنوان

2. TSP گشتيک جايبه عنوان

م.يده يقرار م ين موارد را به صورت جداگانه مورد بررسيک از ايرهر يدر ز

3-4-1 :TSP ک گرافيبه عنوان

TSP ک گراف يشتر به صورت يبG= (V, E) که فروشنده ييشود. شهرها يف ميتعر

وزن دار يالهاين شهرها مجموعه يهستند و فاصله ب V يعنيکند مجموعه رئوس ما يمالقات م

نه يهز C[i,j]م که يکن يره ميذخ يه دوبعديک آرايالها را در ين منظور وزن ي( هستند. به همEما)

يالهايمجموعه و V وسمجموعه رئ و G گراف 9-3شکل است. j به راس iش از راس يمايپ

E يه دوبعديو آرا C دهد. يرا نشان م

Page 72: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

60

ک گراف نمونهي -5-3 شکل

ا يو STSPا يمتقارن TSPک گراف جهت دار به عنوان يم با يتوان ين ميما همچن

اوقات يگاه م.يکار کن ATSPا ينامتقارن TSPک ير جهت دار به عنوان يک گراف غيبا

يد باشد. برايتواند مف يا بالعکس ميگراف جهت دار و دار به جهتريغک گراف يل يتبد

ا بالعکس.يبکار برد و STSP يتوان برا يرا م ATSP يتم برايک الگوريمثال

STSP از بهترATSP ن مساله بهتر است که با گراف کامل يباشد. در مورد ا يم

نکه يا يدر ارتباط است. برا گرياست که هر راس آن با رئوس د يم. گراف کامل گرافيکار کن

م و يده يست ميموجود ن يال که در گراف اصليرا به هر ∞م، مقدار يرا کامل کن يهر گراف

دهد. ين عمل را نشان ميا 1-3م که شکل يکن يآنها را به گراف اضافه م

ک گراف کامل حاصل شود.يال به گراف تا يافزودن -6-3 شکل

Page 73: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

61

هم TSPکند و يک بار مالقات ميه همه رئوس گراف را فقط ک است يدور يلتونيدور هام

يلتونيدور هام TSPک گراف جواب يبه عنوان TSPدر ن وزن است.يبا کمتر يلتونيهامدور

باشد. ين وزن ميبا کمتر

دور !(n-1)ک گراف کامل جهت دار ي يبرا دارد؟ يلتونيک گراف چند دور هامي

n-1م و ينقطه شروع دار يانتخاب برا n ،راس nما با داشتن را يوجود دارد. ز يلتونيهام

ش از دو بار مالقات يد بينبا يچ راسيد مالقات شود و از آنجا که هيکه با يراس بعد يانتخاب برا

:م يآخر و در انتها دار يب الين ترتيم و به هميدار يمالقات بعد يراس برا n-2شود پس

n * (n-1) * (n-2) * (n-3) * ... * 2 * 1 = n!

nمهم است پس يلتونينداردو فقط دور هام يت چندانينقطه شروع اهم TSPدر از آنجا که

م :يو دار ميکن ينقطه شروع را حذف م يحالت برا

)!1(!

nn

n

با م، يرا محاسبه کن يلتونيهام يم تعداد دورهايتوان ير جهت دار هم ميک گراف کامل غي يبرا

يک گراف کامل جهت دار را مي يما تورها ير ندارد. وقتيجهت حرکت تاثاين تفاوت که

ر ياز آنجا که در گراف کامل غ م که کامالً در جهت عکس همنديابي يم ييم، جفت تورهايشمار

ک يکسان است پس هر دو عدد تور در گراف جهت دار به يالها در هر دو جهت يجهت دار وزن

Page 74: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

62

ر جهت دار يگراف کامل غ ين تعدا د تورهايشود بنابرايل مير جهت دار تبديغ عدد تور در گراف

برابر است با :

2

)!1( n

3-4-2 :TSP گشت يبه عنوان جا

يره ايدا يگشتهاي، آنها به عنوان جاشد يمحاسبه م يلتونيهام يمرحله قبل که تعداد تورهادر

n م يتوان يبه شمار آمدند. ما م يشTSP م. يريدر نظر بگ يره ايگشت دايک جايرا به عنوان

به TSPمطرح کردن بات هستند.ينه ترکيدر زم ات وياضيک موضوع مهم در ريگشت ها يجا

يتم هايالگور TSP يموثر و کارا برا يتم هايرا الگوريد است زيمف يباتيک مسئله ترکيعنوان

ش ينما يبرا گشت ها دارند.يدر بهبود جا يکه سعستند ه ييتم هايستند، بلکه بلکه الگوريگراف ن

م به عنوان يکن يک چرخه مالقات ميکه در يرئوس يگشت ما بسادگيک جايک تور به عنوان ي

د که ابتدا يگو يبه ما م (A,B,C,D)گشت ين جايم. بنابرايکن يست ميب ليگشت به ترتيک جاي

از آنجا که ابد. ي يان ميپا Dا مالقات وچرخه در انتها ب Cو سپس راس Bوسپس راس Aراس

است . يگشت چرخشيک جايگشت مورد نظر يت ندارد جايما اهم ياد براين زينقطه آغار

برابرند. ير همگيز يگشت هايجا

(A,B,C,D)=(B,C,D,A)=(C,D,A,B)=(D,A,B,C)

Page 75: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

63

شئ nاز يگشتهائياز جا يرا مجموعه ا Pگشت ، يک جايبه عنوان TSPف يتعر يبرا

,л=( л(1) گشتيک جايم يخواه يتعداد راس در مساله ماست. ما م nد که يريدر نظر بگ

л(2),…(n)) م که : يدا کنيشود پ يه وزن به ما داده ميکه به همراه آرا

مينيمم شود

1

1

)1(),()1(),(n

i

iiCnC

يزمان يدگيچيپ: 3-11

م يد که بخواهيفرض کن باشد. ياد ميمحاسبات ز ين بر و داراار زمايبس TSPحل مساله

TSP حل يراه بران يم که ساده تريکن يبررس يلتونيهام يتورها يتمام يرا با بررسTSP .است

يم که گراف دارايدان يم. ما ميراس دار 21ر جهت دار با يک گراف غيد که يفرض کن

1610*08.62

!19 3 ک پردازندهيد که ياست. فرض کن يلتونيدور هامGhz ر يبتواند طول هر مس

دور را 3*910باً يتواند تقر ياست که آن م ين بدان معنيدا کند. ايک کالک ساعت پيرا در يلتونيهام

زمان کل محاسبه برابر است با :ثانيه چک کند.در هر

دوري که در يک ثانيه چک مي شودتعداد / تعداد دورهايي که بايد چک شود =

7.23410*03.2

10*3

10*08.6 7

9

16

روز

از طرفي ما فضاي اگر چه محاسبه طول هر دور هاميلتوني بيشتر از يک کالک طول مي کشد.

نداريم. اگر بتوان هر دور هاميلتوني را در يک بيت ذخيره راکافي براي ذخيره همه دور ها در حافظه

ترابايت فضاي ديسک نيازمنديم. 99315.0کرد، تقريباً به

Page 76: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

64

مي باشد. (n! O (n!)براي آرمايش هر دور هاميلتوني از گراف از اردر فوقالگوريتم

به طوري که حل مسائلي با تعداد افزايش تعداد رئوس گراف حتي يک راس خيلي پرهزينه است

ر جستجوي الگوريتم هايي باشيم ما بايد د راس با اين روش امکان پذير نيست. 21رئوس کمتر از

که داراي زمان چند جمله اي باشند.

ديک شدن به حل مسالهزن: 3-11

بحث در مورد اينکه جه الگوريتم هايي و چه کساني موفق به حل اين مساله شدند بسيار

و TSPدر اين بخش به بررسي ايده هاي اوليه و جواب هاي دقيق و تقريبي مساله گسترده مي باشد.

چگونگي حل اين مساله مي پردازيم.

جواب هاي تقريبي : 3-11-1

را پيدا TSPيادي وجود دارند که تورهاي نزديک به جواب واقعي مساله زالگوريتم هاي

ممکن است شناخته مي شوند. 1خواهند کرد. اين الگوريتم ها به عنوان الگوريتم هاي مکاشفه اي

باشد ولي هيچ تضميني TSPريتم مکاشفه اي پيدا مي شود جواب واقعي که جوابي که توسط الگو

فايده اين الگوريتمها اين است که خيلي سريعتر از الگوريتمهايي که جواب براي آن وجود ندارد.

Heuristicالگوريتمهاي پيدا مي کنند به يک جواب ثقريباً خوب مي رسند. TSPدقيق را براي

اگر اداره پست کانادا بخواهد بهترين مسير براي ي توانند مفيد باشند. براي اهداف کاربردي م

1 Heuristic

Page 77: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

65

متري با جواب بهينه آنها را زياد نگران 91يک اختالف تمامي هزاران پستچي خود انتخاب کند

مي توانند در پيدا کردن جواب دقيق مساله هم موثر باشند. Heuristicنخواهد کرد. الگوريتمهاي

وجود دارد . Heuristicوابع و الگوريتم هاي سه روش براي ت

آنهايي که با افزودن يک راس به يک چرخه که هنوز کامالً الگوريتم هاي سازنده تور : .1

شامل تمام رئوس نيست ، تور را مي سازند.

آن دسته از الگوريتمهايي که يک چرخه الگوريتم هاي بهبود دهنده تور موجود : .2

ي دهند.هاميلتوني موجود را بهبود م

در باال را با هر دو روش ذکر شده هايي که سعي دارندالگوريتم الگوريتم هاي مدرن : .3

هم ترکيب کنند .

مي link-Kernighan(LK) الگوريتم TSPبراي Heuristic الگوريتم عمومي ترين

صورت مي باشد که از دسته الگوريتم هاي سازنده تور مي باشد. روش کار اين الگوريتم بدين

و سعي مي کند تا راس ديگري را با حفظ خاصيت راس را گرفته 3باشد که يک دور با

از قبيل اينکه آيا افزودن راس مورد نظر همچنين موارد ديگري هاميلتوني به چرخه اضافه کند.

قرار اين روش تا زماني که همه رئوس مورد استفاده را نيز در نظر مي گيرد.مي تواند مفيد باشد

بگيرند ادامه مي يابد.

جواب هاي دقيق: 3-11-2

Page 78: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

66

Heuristicالگوريتم هاي دقيق از لحاظ محاسبات خيلي پرهزينه تر از الگوريتم هاي

، مساله را تحت عنوان مسائل برنامه ريزي TSPالگوريتم هاي مدرن امروزي براي حل هستند.

که که ما يک قطعه زمين کشاورزي در اختيار داريم براي مثال فرض کنيد عنوان کرده اند. 1خطي

مي خواهيم در آن جو و گندم بکاريم. اگر بخواهيم بيشترين سود را حاصل کنيم تابع هدف ما

قيمت فروش جو و گندم و Scو Swکه در آن Max{ Sc Xc + Sw Xw }بايد به صورت

Xw وXc اصطالحات در تابع هدف خطي . همهکه ما برداشت مي کنيم مقدار محصولي است

فقط ما نياز داريم تا مشخص کنيم که از هر هستند.قيمت فروش هر دو محصول ثابت است

بازدهي کل محصول به چه مقدار بايد کاشته شود. به هر حال ما نمي توانيم محصول بيشتري از

دهي کل زمين باز Aکه در آن Xc + Xw < A 2بنابراين محدوديتزمين خود برداشت کنيم

مي باشد ، را داريم.

TSP مي تواند به صورت زير به عنوان يک مساله برنامه ريزي خطي فرموله شود: هم

تابع هدف برابر است با : EeCeXemin

Ce . وزن يال داده شده است :

Xe است . 1و در صورت عدم استفاده 1: در صورت استفاده از آن يال

ديتها ي مساله عبارتند از :محدو

يالهاي منتخب بايد به صورت دور هاميلتوني باشند. .1

1 Linear Programming Problem

2 Constraint

Page 79: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

67

2. Xe دارد. 1دارد و يا مقدار 1يا مقدار

TSPنقش علم کامپيوتر در حل : 3-12

ايفاء کرد. متخصصان و پژوهشگران در TSPعلم کامپيوتر نقش بسيار بزرگي در حل مساله

افزايش قدرت محاسبه نيست بلکه بيشتر TSPحل نمونه هاي بزرگ معتقدند که کليد TSPزمينه

که اين الگوريتم ها توسط يک برنامه کامپيوتري پياده سازي مي الگوريتم بهتر در حل آن نقش دارد

شوند. عالوه بر کار دانشمندان رشته رياضي که الگوريتم هاي بهتري را ايجاد مي کنند ، دانشمندان

، اصالح و ارزيابي الگوريتم نقش مهمي را ايفا مي کنند.ز با پياده سازي زمينه کامپيوتر ني

دانشمندان زمينه کامپيوتر مي توانند الگوريتم ها را ارزيابي کنند. آنها مي توانند با پياده سازي

دو الگوريتم متفاوت و اجرا و مقايسه آنها بر روي بک گراف مشخص کنند که کدا م الگوريتم موثر

با اندازه هاي بسيار بزرگ را داريم ضروري است که در TSPل حر است. همان طوري که سعي در ت

که در گير TSPمورد تکنيک هاي پردازش موازي هم بهبودهايي را حاصل کنيم. الگوريتم هاي حل

موازي مناسب هستند. شحل مسائل با اندازه هاي کوچکتر مي شوند براي پرداز

متناظر با –راس 21550با گرافي با 2111که حل شد در ماه مي TSPاله تازه ترين مس

سيستم کامپيوتري لينوکس دوپردازنده اي که هر يک از پردازنده ها 51بود که توسط -شهرهاي سوئد

اجراي اين مساله بر روي يک کامپيوتر منفرد با بودند، حل شد. Intel Xeon 2.8 Ghzبا مشخصه

51.5زنده از همين نوع، آن طوري که تيم تحقيقاتي محاسبه کرده است و تخمين زد بيش از يک پردا

مسلماً اين مساله بدون تکنيک هاي قدرتمند پردازش موازي قابل حل نبود. سال به طول مي انجامد.

Page 80: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

68

حل شده مساله فروشنده دوره گرد نمونه هاي معروف : 3-13

مساله فروشنده دوره گرد در زمان مربوط به خود که در اين بخش چند نمونه معروف از

نمايش توسط افرادي حل شد را نام مي بريم و افرادي که موفق به حل اين نمونه ها شده اند را با

نه زماني آنها معرفي مي کنيم.الگوريتم آنها و هزي تور بهينه پيداشده توسطشکل

شهر آمريکا را که شامل يک 15ساله م Fulkersonو Johnson ،Dantzig 1591در سال

راه حل بهينه اي که آنها 5-3شهر از هر ايالت آمريکا بعالوه شهر واشنگتن بود را حل کردند. شکل

پيدا کرده اند را نشان مي دهد.

شهر آمريکا 94مساله -7-3 شکل

ه را در شکل شهر از آلمان را حل کرد که تور بهين 121مساله Groetschel ، 1555در سال

مشاهده مي کنيد. 3-0

Page 81: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

69

شهر آلمان 121مساله -8-3 شکل

که تور بهينه ندرا حل کرد مريکاشهر از آ 932مساله Rinaldiو Padberg، 1505در سال

مشاهده مي کنيد. 5-3را در شکل

شهر آمريکا 532مساله -4-3شکل

نقطه 111مساله فروشنده دوره گرد با يک نمونه از Hollandو Groetschelدر همان سال ،

آن را مشاهده مي کنيد. 11-3که در شکل دلخواه از نقاط مختلف جهان را حل کردند

Page 82: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

70

نقطه دلخواه از جهان 666مساله -11-3 شکل

شهر از 13915 تور بهينه را براي Applegateو Cook ،Bixby ،Chvátal 1550در سال

مشاهده مي کنيد. 11-3در شکل آمريکا پيدا کردند که

شهر آمريکا 13514مساله -11-3 شکل

ر آلمان را پيدا کردند.عمليات محاسبه تور هش 19112همان افراد تور بهينه مربوط به 2111در سال

انجام شد. زمان حل آن Riceو Princetonپردازنده موازي از دو دانشگاه 111بهينه توسط

Page 83: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

71

11111سال تقريب زده شد و طول تور بهينه هم 22.1نوع حدود ده از همانتوسط يک پردازن

تور بهينه را مشاهده مي کنيد. 12-3که در شکل کيلومتر بوده است.

شهر آلمان 15112مساله -12-3 شکل

تور بهينه را براي Helsgaunو ,Applegate, Bixby, Chvátal, Cook، 2111در سال

پيدا کردند که بزرگترين نمونه مساله فروشنده دوره گردي است که تا به حال حل شهر سوئد 21550

Intel Xeon 2.8کامپيوتر دوپردازنده اي با پردازنده هاي 51عمليات محاسبه توسط شده است.

GHz .کيلومتر بود. در صورتي که از يک پردازنده از نوع باال 52911اندازه تور بهينه انجام شد

آن را 13-3که در شکل سال طول مي کشيد تا اين مساله را حل کنيم. 51مي کرديم بالغ بر استفاده

مشاهده مي کنيد.

Page 84: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گرد -فصل سوم

72

شهر سوئد 24978 مساله -13-3 شکل

شهر است که شامل هر شهر بزرگ يا کوچک 1511511مساله مساله فروشنده دوره گرد نهايت

که بهترين تور در قطب شمال و جنوب مي باشد. ثبت شده در جهان به اضافه چند ايستگاه تحقيقاتي

کيلومتر است. 7,516,116,993به اندازه 2119تا آغاز سال Helsgaunپيدا شده براي آن توسط

مي بينيد. 11-3نمايي از آن را در شکل

شهر و ايستگاه تحقيقاتي جهان 4174044نمايي از مساله -41-3 شكل

Page 85: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

چهارمفصل

الگوریتم های ژنتیکی و

مساله فروشنده دوره گرد

Page 86: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گردالگوریتم های ژنتیکی و -چهارمفصل

74

مقدمه: 4-1

البته تمامی مسائل مربوط به مساله فروشنده دوره گرد از قبیل تاریخچه، انواع مساله، روشهای

بل عنوان کردیم. در این فصل می حل، کسانی که این گونه مسائل را حل کردند و غیره را در فصل ق

خواهیم به این مساله از دید ژنتیک نگاه کنیم و روش حل آن با الگوریتم های ژنتیکی و همچنین

مسائل مربوط به الگوریتم های ژنتیکی که در مورد مساله فروشنده دوره گرد باید دقت شود و مسائل

با مساله فروشنده دوره گرد و حل آن توسط از آنجا که مهمترین مساله در رابطه دیگر بپردازیم.

در این فصل تمامی می باشد Crossoverو Mutationمساله انکودینگ و الگوریتم های ژنتیکی

بقیه مراحل حل از همان ارائه چند روش ممکن ارائه می دهیم را با مربوط به این موضوعات مسائل

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

که این روشهایی که در ادامه های ژنتیکی این مساله را حل کنندسعی نمودند تا با استفاده از الگوریتم

ذکر می کنیم بیشتر از مقاالت ارائه شده توسط آنها جمع آوری شده است که در بخش مراجع آنها را

ا تمامی مسائل مربوط به حل مساله فروشنده دوره گرد توسط الگوریتم نام می بریم. در این فصل ابتد

اکثر طرفداران حل مساله انکودینگ جایگشت را شرح می دهیم زیرا در بین های ژنتیکی از طریق

توسط الگوریتم های ژنتیکی این روش معمول تر است. در انتهای این بخش یک فروشنده دوره گرد

را شرح می دهیم. TSPمه نویسی مولکولی برای حل تحت عنوان برناروش دیگر

Page 87: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گردالگوریتم های ژنتیکی و -چهارمفصل

75

انکودینگ مساله فروشنده دوره گرد: 4-2

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

مورد از آنها اشاره می کنیم:

انکودینگ ماتریسی: 4-2-1

jو iدر مکان 1یس مجاورت گراف است که شامل یک روش انکودینگ استفاده از یک ماتر

در آن 0شامل وجود داشته باشد در غیر این صورت jبه راس iاگر یک یال از راس است

حال می توانیم از این ماتریس همان گونه که هست استفاده کنیم یا به این صورت که است.مکان

ولی باید توجه کنیم ایجاد کنیم 1و 0والنی از سطرهای ماتریس را به هم الحاق کنیم و رشته ای ط

زیر را در نظر بگیرید:برای مثال ماتریس که این رشته نمایش باینری عدد نیست.

010

001

100

به 2و از شهر 2به شهر 3و از شهر 3به شهر 1این ماتریس دوری را نشان می دهد که از شهر

.است 1→2→3→1یانگر دور . یعنی در واقع بمی رود 1شهر

انکودینگ به صورت جایگشت: 4-2-2

در شهر روش چایگشت می باشد. nبا روش دیگر برای انکودینگ مساله فروشنده دوره گرد

می باشد که هر یک از اعداد بیانگر شماره یک nتا 1جایگشتی از اعدادهر کروموزوم این روش

Page 88: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گردالگوریتم های ژنتیکی و -چهارمفصل

76

به طور کامل در مورد این TSPاریف رسمی از تعر می باشد که در فصل قبل در مبحث شه

می توان 4و 3و 2و 1شهر با شماره های 4برای مثال با داشتن روش مطالبی ارائه شده است.

برای کروموزوم در نظر گرفت که در واقع بیانگر دور را به عنوان یک انکودینگ 2431جایگشت

بیشتر مورد استعمال قرار گرفته و به البته از آنجا که این روش می باشد. 2→1→3→4→2

مساله فروشنده دوره گرد است در ادامه بیشتر الگوریتم ها و عنوان یک تعریف رسمی تر از

ه خواهیم داد.ئمسائل را در رابطه با این روش ارا

وارزیابی آنها تولید جمعیت اولیه: 4-3

عداد جمعیتی که در نظر داریم تا به تدر این روش بسته به نوع انکودینگی که انتخاب کردیم

عبا استفاده از تابو م کروموزوم ایجاد می کنی دهیم رآنها را برای جستجو در فضای جستجو قرا

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

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

آن Fitnessاستاندارد می توان طول دور حاصل از پیمایش در راستای کروموزوم را به عنوان

گرفت.کروموزوم در نظر

4-4 :Crossover در مساله فروشنده دوره گرد

ی ژنتیکی می مساله فروشنده دوره گرد توسط الگوریتم هایکی از مسائل مهم در راستای حل

مهم در حل مساله فروشنده دوره گردی که به روش جایگشت از مسائل Crossoverمساله باشد.

بر روی والدین فرزندان هم باید Crossoverمی باشد زیرا پس از اعمال عمل انکود شده است

Page 89: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گردالگوریتم های ژنتیکی و -چهارمفصل

77

دونقطه ای که Crossoverبا اعمال روش 1-4شکل خاصیت جایگشت بودن خود را حفظ کنند.

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

TSPدر مورد Crossoverمشکل -1-4 شکل

را ندارند و بعضی 7تا 0همانطوری که مشاهده می کنید فرزندان خاصیت جایگشتی از اعداد

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

در زیر به چند مورد از آنها به همراه توضیحی در مورد آنها اشاره شده است. حل کردند.

PMXروش : 4-4-11

2-4 در طول دو کروموزوم والد انتخاب می کنیم. شکل یک نقطه را به دلخواهدر این روش

این مرحله را نشان می دهد.

1 Partially Mapped Crossover

Page 90: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گردالگوریتم های ژنتیکی و -چهارمفصل

78

PMXانتخاب یک نقطه تصادفی در کروموزوم در روش -2-4 شکل

سپس رخدادهای اعداد موجود در محل انتخاب را در کرموزوم مقابل پیدا کرده و آنها را تعوض

این مطلب را بهتر بیان می کند. 3-4می کنیم. شکل

تعویض اعداد موجود در محل انتخاب -3-4 شکل

هیم تا فرزندانی با ویژگیهای متفاوت از والدین داشته باشیم که این عمل را چند بار انجام می د

دارای خاصیت جایگشت باشند.

OXروش : 4-4-22

برای مثال برای -این روش بدین صورت است که نیمی از عناصر والد اول را انتخاب کرده

موزوم فرزند و آنها را در همان مکان در کرو –از والد اول 6و 1و 5و 4و 2شکل زیر اعداد

بدین صورت که کپی می کنیم. بقیه فضای کروموزوم فرزند را باانتخاب از والد دوم پر می کنیم.

2 Ordered Crossover

Page 91: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گردالگوریتم های ژنتیکی و -چهارمفصل

79

از ابتدای کروموزوم دوم شروع می کنیم و هر عددی که در کروموزوم فرزند وجود ندارد را در

شان می دهد.این مطلب را بهتر ن 4-4اولین مکان خالی از کروموزوم فرزند ثبت می کنیم شکل

OXکروموزوم فرزند پس از اعمال روش -4-4 شکل

CXروش : 4-4-33

1عدد 5-4 که در شکل از کروموزوم اول را انتخاب می کنیمدر این روش ابتدا اولین عنصر

می باشدو سپس عنصر مقابل آن در کروموزوم دوم در همان موقعیت را تشخیص می دهیم که در

و دوباره مانند مرحله قبل را در کروموزوم اول پیدا کرده 9ال موقعیت عدد ح است. 9شکل عدد

این برسیم. 1عمل می کنیم و آنقدر این کار را ادامه می دهیم تا به اولین عنصر انتخابی در اینجا

را در هر دو کروموزوم فرزند ثابت نگه می داریم. حال به اولین عنصر از کروموزوم اول که چرخه

بعد در نظر می چرخهاول نبود مراجعه می کنیم و آن را به عنوان اولین عنصر برای هچرخدر

دوم جای عناصر آن را با هم عوض می کنیم و در کروموزوم چرخهگیریم. پس از تشخیص

3 Cycle Crossover

Page 92: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گردالگوریتم های ژنتیکی و -چهارمفصل

80

به و کپی شوند فرزند کپی می کنیم و این کار را تا وقتی که همه چرخه ها تشخیص داده شوند

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

CXروش به Crossover -5-4 شکل

MXروش : 4-4-44

هستند را به nدر این روش عناصر یا اعداد تشکیل دهنده کروموزوم های والد که به طول

هر عنصر یا عدد اولین رخداد از ادغام می کنیم و سپس 2nطور تصادفی در یک لیست به طول

این مطلب 6-4را به کروموزوم اول و دومین رخداد از آن را به کروموزوم دوم می دهیم. شکل

را بهتر نشان می دهد.

4 Merging Crossover

Page 93: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گردالگوریتم های ژنتیکی و -چهارمفصل

81

MOXروش به Crossover -6-4 شکل

یک ویژگی بسیار باالی این روش این می باشد که اگر در بین عناصر جایگشت ها حق تقدم

روشهای ساله را پاسخگو خواهد بود در حالی که ماین روش به خوبی این و اولویت برقرار باشد

ذکر شده قبلی در این مورد با شکست مواجه می شدند.

MOXوش ر: 4-4-55

تصادفی در والدین انتخاب می کنیم و سپس با عناصر یا ژنهای Crossoverابتدا یک نقطه

نقطه را به ترتیبی که در کروموزوم طرف مقابل قبل از آن نقطه کاری نداریم ولی عناصر بعد از آن

به شکل زیر دقت کنید. مرتب می کنیمظاهر شده اند

MOXروش -7-4 شکل

Greedy Subtour Crossover

5 Modified Ordered Crossover

Page 94: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گردالگوریتم های ژنتیکی و -چهارمفصل

82

Greedy Subtour Crossoverروش : 4-4-6

و فارغ التحصیل دانشگاه مهندسی کامپیوتر توکیو Ikuo YOSHIHARAاین روش را که

Hiroaki SENGOKU از البراتوار توسعه سیستم ها در مقاله خود ارائه کرده اند و در کل مقاله

ابتدا دو کروموزوم بدین صورت می باشد که دنامیده ان "Fast TSP Solver Using GA" خود را

انتخاب Cو یک شهر را به صورت تصادفی انتخاب می کنیم در اینجا شهر می کنیم والد را انتخاب

را در هر دو کروموزوم فرزند مشخص می کنیم در کروموزوم Cسپس مکان رخداد شهر ست.شده ا

کروموزوم و در کروموزوم دوم از از ابتدای به سمت Cاز محل رخداد شهر جهت حرکت را اول

سپس یک نقطه را به طور تصادفی در نظر می گیریم. کروموزومانتهای به سمت Cمحل رخداد شهر

در ادامه از کروموزوم را در آن نقطه کپی می کنیم. Cفرزند مشخص می کنیم و شهر در کروموزوم

والد اول و در جهت حرکت مربوط به آن حرکت می کنیم ویک شهر را انتخاب می کنیم و چنانچه از

قبل در کروموزوم فرزند کپی نشده باشد آنگاه آن شهر را در همان جهت در کروموزوم فرزند کپی می

و در جهت مربوط به همان کروموزوم انجام می دهیم و سپس این کار را با کروموزوم والد دومکنیم و

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

این مطلب را به وضوح نشان می دهد. 8-4شکل کروموزوم والد دوم انجام می دهیم.

Page 95: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گردالگوریتم های ژنتیکی و -چهارمفصل

83

Greedy Subtour Crossoverروش -8-4 شکل

4-5 :Mutation در مساله فروشنده دوره گرد

در مورد مساله فروشنده دوره گرد هم دارای ویژگی ها و ظرافت Mutationموضوع

بخش الگوریتم های در Mutationالبته تمام اصول و موارد مربوط به میباشد.به خود مخصوص

برای مساله فروشنده دوره Mutationژنتیکی ذکر شده است. در این بخش فقط به روشهای ممکن

مانند مساله را انجام دهیم Mutationاگر بخواهیم طبق روشهای معمولی عمل گرد می پردازیم.

Crossover گشت بودن زیرا کروموزوم فرزند حالت جای در این مورد هم دچار مشکل می شویم

را نشان می دهد. مطلب این 9-4شکل خود را از دست می دهد.

معمولی Mutationمشکل عدم حالت جایگشتی پس از -9-4 شکل

Page 96: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گردالگوریتم های ژنتیکی و -چهارمفصل

84

را نام می بریم و در مورد هر کدام توضیحاتی را ارائه می Mutationدر زیر بعضی از روشهای

شوند که عبارتند از: در کل به چند دسته تقسیم می Mutationروشهای دهیم.

تصادفی معمولی

انتخاب می شوند و جایگاهشان عوض می شود. به صورت تصادفی تعدادی از شهرها

تصادفی در صورت بهبود

تعدادی از شهرها به صورت تصادفی انتخاب می شوند و فقط در صورتی که جواب را بهتر

است. Fitnessان افزایش منظور از بهتر کردن جواب هم کنند جایگاهشان عوض می شود.

باقاعده در صورت بهبود

شهرها با یک قاعده خاصی انتخاب می شوند و فقط در صورتی که جواب را بهتر کنند

جایگاهشان عوض می شود.

بهبود تصادفی

مانند روش تصادفی در صورت بهبود است فقط اینکه قبل از آن روش تصادفی معمولی به کار

گرفته می شود.

ولی و باقاعدهبهبود اص

مانند روش باقاعده در صورت بهبود است فقط قبل از آ ن روش تصادفی معمولی به کار

گرفته می شود.

هیچ عملMutation .انجام نشود

Page 97: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گردالگوریتم های ژنتیکی و -چهارمفصل

85

را کاملتر توضیح می دهیم. در زیر چند مورد از آنها

Insert Mutationروش : 4-5-1

کنیم و سپس شهر دوم را از محل خود در این روش دو شهر را به طور تصادفی انتخاب می

برداشته و شهرهای بین شهر اول تا شهر دوم را به سوی شهر محل شهر دوم شیفت می دهیم و

دقت کنید. 10-4به شکل شهر اول قرار می دهیم سپس شهر دوم را در مکان خالی کنار

Insert Mutationروش -11-4 شکل

Swap Mutationروش : 4-5-2

این روش دو شهر را به صورت تصادفی در طول کروموزوم انتخاب می کنیم و سپس جای در

دقت کنید. 11-4به شکل آنها را در کروموزوم عوض می کنیم.

Swap Mutationروش -11-4 شکل

Page 98: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گردالگوریتم های ژنتیکی و -چهارمفصل

86

Inversion Mutationروش : 4-5-3

صور ت معکوس در در این روش یک زیر رشته از کروموزوم را انتخاب می کنیم و آن را به

این مطلب را واضح تر نشان می دهد. 12-4آنجا درج می کنیم. شکل

Inversion Mutationروش -12-4 شکل

Scramble Mutationروش : 4-5-4

ابتدا یک زیر رشته از کروموزوم را انتخاب می کنیم و سپس یک جایگشت در این روش

این مطلب را بهتر شرح 13-4شکل ر رشته قرا می دهیم.دیگراز عناصر زیررشته را به جای آن زی

می دهد.

Scramble Mutationروش -13-4 شکل

opt Mutation-2روش : 4-5-5

توسط 1958اولین بار در سال است Mutationروشهای مشهورتریناین روش که از

Groes بدین صورت می باشد که ابتدا دو یال معرفی شد وab وcd و دز دور انتخاب می کنرا ا

Page 99: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گردالگوریتم های ژنتیکی و -چهارمفصل

87

را به گونه ای دیگر به هم وصل کند که a,b,c,dراس 4د که آیا می تواند این چک می کن

bcadcdabکمترین وزن را به ما بدهد در این صورت اگر CCCC باشد آنگاه یالهایab

را در جای خود عوض می کند در غیر این صورت همان یالهای قبلی bcو adرا با یالهای cdو

بهتر به مطلب مذکور پی خواهید برد. 14-4با توجه به شکل نگه می دارد.

opt Mutation-2روش -14-4 شکل

opt Mutation-3روش : 4-5-6

از روشهای مشهور می باشد ولی با این تفاوت opt Mutation-2این روش نیز مانند روش

می گیرد و چنانچه در یک دور بتوان راسهای تشکیل دهنده یال در نظر 3که شروط باال را برای

یال را طوری به هم وصل کرد که کمترین وزن را بدهد آنها را به آن صورت به هم وصل 3این

سیستم اتصال قبلی را حفظ می کند به شکل زیر توجه کنید. همانمی کنیم، در غیر این صورت

Page 100: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گردالگوریتم های ژنتیکی و -چهارمفصل

88

opt Mutation-3روش -15-4 شکل

K-opt Mutationروش : 4-5-7

ولی در سطح گسترده تر می باشد و مناسب opt-3و شبیه روش K>3این روش به ازای

ن ترکیب یالی قبلی را حفظ و در غیر این صورت هماگیرد ترین ترکیب یالی جدید را در نظر می

.می کند

مساله فروشنده دوره گرد و برنامه نویسی مولکولی: 4-6

می پردازیم. TSPش نگاهی به روش دیگری از الگوریتم های ژنتیکی برای حل در این بخ

دو رشته ای برای انکدینگ و حل استفاده کرده DNAاهمیت و زیبایی این روش در این است که از

این روش که از لحاظ انکودینگ است و حل مساله را خیلی به سیستم ژنتیکی نزدیک کرده است.

می آمیزه ای از الگوریتم های ژنتیکی و یک نوع بازی کودکانه تیکی شبیه می باشدبیشتر به دیدگاه ژن

Page 101: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گردالگوریتم های ژنتیکی و -چهارمفصل

89

آن را مشاهده می کنید کودک سعی می کند تا توسط برخی 16-4این نوع بازی که در شکل در باشد.

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

بازی کودکانهتصویری از یک -16-4 شکل

ما بدین صورت می باشد که پیدایش برنامه نویسی مولکولی شد که سببترکیبی از این دو مطلب

در فصل اول 6ژنتیکی که در مورد این حروف A,C,T,Gشامل حروف نتیکی برای هر شهر یک کد ژ

ای دیگر یکتا باشد.مطالبی ارائه شد درست می کنیم که هر نیمه این کد در بین تمامی نیمه های شهر ه

تعداد حروف مورد استفاده برای کدگذاری به دلخواه می باشد همچنین می توان آنها را تا حد ممکن

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

راس این 4کل زیر برای گرافی با در شانجام دادیم در ادامه نحوه معرفی یالها را معرفی می کنیم.

کدگذاری را انجام می دهیم.

هستند DNAاین حروف معرف بازهای موجود در 6

Page 102: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گردالگوریتم های ژنتیکی و -چهارمفصل

90

کدگذاری شهرها در روش برنامه نویسی مولکولی -17-4 شکل

از آنجا که هر یال دو همانطوری که مشاهده می کنید هیچ نیمه ای از کد رئوس شبیه به هم نیستند.

یمی دیگر را از خود را از راس اول و ن راس را به هم متصل می کند پس هر یال نیمی از کد مربوط به

پس نیمه های هر یال که از راس دیگر می گیرد ولی از آنجا که هر یال خاصیت اتصال راسها را دارد

که در مورد این سیستم مکمل در فصل اول راسی گرفته می شوند مکمل ژنتیکی کد نیمه راس هستند

با Tو Aیاداوری اینکه محضه شد و ئضیحاتی اراتو دورشته ای مطالبی ارائه شد DNAکه در مورد

از هر یال مکمل همدیگرند.پیوند هیدروژنی 3هم با Gو Cو و مکمل یکدیگرپیوند هیدروژنی 2

که در هر دو جهت باید تولید شکل می گیردمکمل نیمه های دو راسی که آنها را به هم متصل می کند

این مطلب را 18-4. شکل ت پس دو مقدار به عنوان کد دارد.یال شود یعنی اینکه یال جهت دار نیس

بهتر نشان می دهد.

Page 103: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گردالگوریتم های ژنتیکی و -چهارمفصل

91

نحوه کد گذاری یالها در روش برنامه نویسی مولکولی -81-4 شکل

حال که ما کد مربوط به تمامی یالها را تولید کردیم می توانیم مسیرهایی را با این یالها تشکیل

وجود دارد که هر نیمه آن یالیاز مجموعه می بینیم که آیا اسردهیم بدین صورت که با گرفتن دو

در صورت مورد نظر خاصیت مکمل بودن داشته باشد و ست شود رئوسالاقل با یکی از نیمه های

به واسطه آن با هم متصل می راسمورد نظر است که دو رئوس رابط یالبه عنوان یالاین ست شدن

، 3و 4و کد یال بین راس GCTG، 4به 1یال میان راس 18-4برای مثال در شکل شوند.

GCAG 3هم می تواند به راس 4به هم متصل شدند در این صورت راس 4و 1حال که راس است

همانطور که در شکل می بینید تشکیل و و الی آخر 2هم به همین طریق به راس 3و راس وصل شود

مل کد ژنتیکی راسها و هم شامل کد اتصاالت بین هم شادو رشته ای را می دهند که DNAیک

برای نمایش وزن یالها هم می توان از تعداد پیوندهای هیدروژنی بین بازهای رئوس یا یالها می باشد.

Page 104: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گردالگوریتم های ژنتیکی و -چهارمفصل

92

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

اینکه این حروف فی از حروف ذکر شده استفاده کرد تا سرهای رئوس ست می شوند به طور تصاد

توجه کنید. 19-4بتوانند وزن راس را تامین کنند. به شکل

سیستم نمایش وزن یالها -81-4 شکل

برای حل مساله فروشنده حال که با با این مطالب آشنا شدید الگوریتم برنامه نویسی مولکولی

:دهیم شرح میبه صورت زیر دوره گرد را

توالی رشته های راسها را ایجاد می کنیم. .1

جمعیت در حال مجموعه و آنها را به توالی یالهای موجود را به همراه وزن آنها ایجاد می کنیم .2

اضافه می کنیم. جستجو

بتوانند موجود بعضی را به صورت تصادفی انتخاب می کنیم و چنانچه با هم جمعیتاز میان .3

و آن را به عنوان فرد جدید به مجموعه اضافه می کنیم نها را به هم وصل میآ برقرار کنندارتباط

Page 105: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

مساله فروشنده دوره گردالگوریتم های ژنتیکی و -چهارمفصل

93

بیشتر نشود. gمقدار مشخص . این کار را تا زمانی ادامه می دهیم که تعداد جمعیت ما از یک کنیم

شروع به ارزیابی و کاهش جمعیت می کنیم. gمقدار ازجمعیت افزایشدر صورت

یر را از بین می بریم.افرادی از جمعیت با شرایط ز .4

راس هستند. n+1دارای بیشتر از که افرادی .4.1

.از یک راس بیش از یک بار گذشته اند افرادی که .4.2

راس که راس شروع و پایان آن یکی نیستند. n+1افرادی با .4.3

شرط توقف را چک می کنیم. برای مثال مشاهده هر راس برای یک بار در آن و یکی بودن نقطه .5

ی تواند این شرط را برآورده کندم شروع و پایان

.رفته و کار را دوباره انجام می دهیم 2در صورت عدم ارضاء باز به مرحله .6

که ذکر شد در مبحث برنامه نویسی مولکولی بسیار ساده می باشد و اکنون یالگوریتم

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

می توان راحت تر با آن کار کرد و عملیات است کهدورشته ای DNAبه سیستم کروموزوم و شباهت

و از معایب آن انجام عملیات زیاد برنامه نویسی کامپیوتری می باشد.ژنتیکی را بر روی آن اعمال کرد

Page 106: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

پنجمفصل

حل مساله فروشنده دوره گرد

در پروژه

Page 107: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

حل مساله فروشنده دوره گرد در پروژه -فصل پنجم

95

مقدمه: 5-1

تاکنون در فصول قبل راجع به الگوریتم های ژنتیکی و چگونگی حل مسائل و مساله فروشنده

دوره گرد و چگونگی حل آن توسط الگوریتم های ژنتیکی مطالبی ارائه شد. در این فصل چگونگی

البته اصول مراحل حل آن از در این پروژه را مورد بحث قرا ر می دهیم.شنده دوره گرد مساله فروحل

پیروی می کند فقط به بعضی از TSPاصول کلی ذکر شده برای الگوریتم های ژنتیکی در حل

روشهائی که فقط در این پروژه به کار رفته است اشاره می کنیم و گامهای مربوط به انجام این پروژه و

برخی از فازهای مهم بکار رفته در پروژه شرحدر ادامه به حوه انجام این گامها را توضیح می دهیم.ن

می پردازیم.

: فاز انکودینگ مساله 5-2

انکدینگ بکاررفته در این پروژه از نوع انکدینگ جایگشتی است که به عنوان یک سیستم

اشد که به هر شهر یک شماره تعلق می می ب گونهو بدین شناخته شده است TSPتعریف رسمی از

تعداد شهر nکه nگیرد و سپس هر کروموزوم یا فرد در حال جستجوی جواب یک جایگشت به طول

کروموزوم یک ، 8تا 1شهر با شماره های 8برای مثال برای ها می باشد از شماره شهرها می باشد.

باشد. 35288614می تواند به شکل

عیت اولیه: فاز تولید جم 5-3

ای جستجو را تولید رکروموزوم های جمعیت اولیه ب با توجه با نوع سیستم انکدینگ مساله،

به تعداد Population_Sizeبرای جستجو یا یا کروموزوم ها جمعیت که تعداد افراد می کنیم.

Page 108: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

حل مساله فروشنده دوره گرد در پروژه -فصل پنجم

96

برای تولید جمعیت اولیه به تعداد بستگی دارد.از طرف کاربر جمعیت درخواستی

Population_Size جایگشت از شماره شهرهای مساله ایجاد می کنیم که سیستم تولید جایگشت

ها به صورت کامالً تصادفی می باشد.

فاز ارزش دهی : 5-4

هر کروموزوم استفاده می Fitnessبرای محاسبه 1این فاز که در آن از یک تابع ارزش دهی

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

استفاده شده است. Fitnessمربوط به هر کروموزوم برای محاسبه

یا تعداد یالهای موجود در جایگشت مربوط به کروموزومها ناشی از فاکتور ی از این یک

Connection_Number ست ممکن ا 64351می باشد. برای مثال در یک کروموزوم با جایگشت

یالی موجود 5به 3و 3به 4ولی میان شهرهای یالی موجود باشد 6به 1و 1به 5و 4به 6از شهر

تا از 4گیرد زیرا توانسته می را به خود 4نباشد در این صورت برای این کروموزوم این فاکتور مقدار

اتصاالت مربوط به یک تور کامل را براورده کند.

Connection_Weightیا ه ازای یالهای موجود در کروموزومفاکتور دیگر طول مسیر ب

می باشد که منظور از این یالها همان یالهائی می باشد که در قسمت فاکتور اول آنها را شرح دادیم.

هر کروموزوم را به صورت زیر بدست می آوریم Fitnessحال به کمک این دو فاکتور

NumberConnection

WeightConnectionFitness

_

_

1 FitnessFunction

Page 109: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

حل مساله فروشنده دوره گرد در پروژه -فصل پنجم

97

ما برای هر کروموزوم که نماینده یک تور می باشد می خواهیم که تعداد شهرهای از آنجا که

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

بیشتری هستند و احتمال انتخاب آنها برای شرکت Fitnessوزن زیادی به هم وصل کرده اند دارای

که در بخش انتخاب بیشتر در مورد آن صحبت می شود. های ژنتیکی بیشتر می شود.در عملگر

فاز تولید جمعیت: 5-5

وجایگزینی و Crossover ،Mutationاین فاز شامل فازهای دیگری مانند انتخاب،

ارزیابی می باشد. در ادامه در مورد هر یک از این فازها مطالبی را ارائه می دهیم.

ز انتخابفا: 5-5-1

در این پروژه می توانیم از هر یک از سیستم های انتخاب تصادفی یا انتخاب

RouletteWheel .سیستم انتخاب تصادفی که کامالً معلوم می باشددر به دلخواه استفاده کنیم

می کنیم و از میان جمعیت جدا آنها Fitnessو بدون توجه به دو کروموزوم را به طور تصادفی

اما در سیستم .و فرزندان جدیدی را ایجاد می کنیم عملگرهای ژنتیکی را بر آنها اعمال می کنیم

خود را بر روی Fitnessابتدا تمامی کروموزوم ها RouletteWheelانتخاب

RouletteWheel مزیت این انتخاب می شود. اقرار داده و سپس با انتخاب تصادفی یکی از آنه

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

اشغال کرده و شانس بیشتری برای انتخاب دارد.

Page 110: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

حل مساله فروشنده دوره گرد در پروژه -فصل پنجم

98

Crossoverفاز : 5-5-6

که می باشد. Order 1 Crossoverبکار رفته در این پروژه از نوع Crossoverفاز

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

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

سپس در کروموزوم والد از نقطه برش دوم به د.شونمی کپیهمان صورت در کروموزوم فرزند

همان نقطه را پیمایش می کنیم و تمامی سمت انتهای کروموزوم رفته و سپس از ابتدای آن تا

شهرهای موجود را در یک لیست قرار می دهیم این کار را برای هر دو کروموزوم والد انجام می

سپس شهرهائی که از مرحله قبل در کروموزوم فرزند باقی مانده بود را از لیست والد مقابل دهیم.

ترتیب در فرزندان روبرو و از نقطه دوم را بهحذف می کنیم و سپس عناصر لیست باقی مانده

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

تمامی این مراحل را به طور کامل شرح می دهد. 5-1

Page 111: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

حل مساله فروشنده دوره گرد در پروژه -فصل پنجم

99

Order 1 Crossoverروش -1-5شکل

Mutationفاز : 5-5-4

می باشد Swap Mutationوژه اعمال شده است از نوع که در این پر ای Mutation نوع

و یک کروموزوم جدید که در آن دو شهر را به طور تصادفی گرفته و جای آنها را عوض می کنیم

از کاربر دریافت می Mutationالبته احتمال ایجاد کرده و آن را در میان جمعیت قرار می دهیم.

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

فاز جایگزینی: 5-5-3

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

Fitness کمتر برای زنده ماندن انتخاب می شوند زیرا کهFitness ناشی از نسبت وزن به

نیززن کمتر بر اتصال بیشتر است که هدف ما اتصال است کمتر بودن آن نشان دهنده نسبت و

هر ادهد زیر این مطلب در مورد یک گراف کامل از شهرها خود را بهتر نشان می همین می باشد.

Page 112: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

حل مساله فروشنده دوره گرد در پروژه -فصل پنجم

100

شهرها یک تور را تشکیل می دهد پس برای همه کروموزوم ها فاکتور تعداد از یجایگشت

تعداد شهر nمی باشد که nبرابر با اتصاالت برابر است یعنی مخرج کسر برای همه کروموزوم ها

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

آن بزرگتر باشد. Fitnessکروموزومی که صورت کسر مربوط به

فاز ارزیابی: 5-2

ای که تا این تور بهینهدر این پروژه فاز ارزیابی را بر این مبنا گذاشته ایم که در هر لحظه

وزن این تور بهینه را در معرض کاربر گذاشته تا کاربر در هر زمان دلخواه لحظه پیدا شده به همراه

در فصل بعد به بررسی چند نمونه از اجرای الگوریتم مربوطه بتواند الگوریتم جستجو را متوقف کند.

تعداد جمعیت ، متفاوت های انتخاببر روی چند نمونه خاص با فاکتورهای متفاوت مانند روش

متفاوت و یا احتماالت متفاوت می پردازیم.

Page 113: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

ششمفصل

تست های انجام شده

Page 114: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

تست های انجام شده -فصل ششم

102

: مقدمه 6-1

در فصول قبلی با مسائل زیادی در باره الگوریتم های ژنتیکی آشنا شدید. همچنیی بیا مسیال

در ایی پیروژه همیان فروشنده دوره گرد و رابط آن با الگوریتم های ژنتیکی نیز آشنائی پیدا کرده اید.

ل پنجم بیان شده است یک برنام نرم افزاری برای پیاده سازی الگوریتم های مربوط بی طور ک در فص

TSPالگوریتم های بکار رفت در ای برنام نرم افزاری برای حل طراحی شده است. TSPحل مسال

بان ز، زبان برنام نویسی مربوط ب پیاده سازی ی عنوان شده در فصل پنجم می باشد.همان الگوریتم ها

می باشد. #Cبرنام نویسی

را توسط ای برنامی اریرا TSPبر آن شده است ک نمون هائی از مسائل در ای فصل سعی

و Crossoverو Mutationکرده و با تغییر پارامترهائی از قبیل رمعییت در حال رستجو، احتمیال

نمون هائی ک برای اررا اده شود.نتایج حاصل ثبت و توسط رداول مربوط نشان د و ... انتخاب عنو

فیار التصصییل دانشیگاه مسندسیی Ikuo YOSHIHARAک توسط ای مقال انتخاب شده اند از

Fast TSP"تصت عنوان از البراتوار توسع سیستم ها Hiroaki SENGOKUکامپیوتر توکیو و

Solver Using GA" دانییم قیدرو واقعیی همیان طیور کی میی .شده است انتخاب شده اند ارائ

الگوریتم های ژنتیکی در راستای حل مسال بر روی پردازنده های موازی است زیرا در ای سیسیتم بیا

ب یک پردازنده می توان در فضای رستجوی مسال بی دنبیال ریواب یا کروموزوم اختصاص هر فرد

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

زنده ب صورو سری انجام می پذیرد ولیی در واقع اررای ای الگوریتم ها بر روی یک پردا می پذیرد.

Page 115: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

تست های انجام شده -فصل ششم

103

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

تی ک کاربر تمایل داشت باشید میی لصظ الگوریتم های ژنتیکی یک رواب برای کاربر دارد و در صور

تواند آن را انتخاب کند.

مگاباییت 852گیگیاهرتز بیا 8.2. بیر روی ییک پردازنیده در ای فصل نمون های ذکر شده

ورودی مربوط بی داده های از آنجا ک دامن اررا شده اند و نتایج حاصل ثبت شده اند. Ramحافظ

ای پارامترها تمامیتغییر ،بسیار زیاد می باشدالگوریتم های ژنتیکی پارامترهای مورد نیاز برای اررای

در ای پیروژه داده هیای ورودی TSPدر مورد حل .بسیار مشکل می باشدرواب یافت شده و ثبت

از قرار زیر می باشد.آنسا مربوط ب با دامن مربوط ب مسال

طبیعی. با دامن اعداد تعداد رمعییت مورد نظر برای رستجو .1

.100تا 0با دامن اعداد بی مربوط ب رمعیت Mutationاحتمال .8

.100تا 0با دامن اعداد بی مربوط ب رمعیتCrossover احتمال .3

یییا Randomبیی رمعیییت بییا دامنیی انتخییاب نییوع سیسییتم انتخییاب مربییوط .4

RouletteWheel

ربر بسیار زییاد میی باشید و از همان طور ک مشاهده می کنید دامن ورودی های مربوط ب کا

آزمایش تک تیک ایی مقیادیر آنجا ک در ای پروژه الگوریتم ژنتیکی می تواند تا ابد ادام داشت باشد

مقدار احتمال Hiroaki SENGOKUو Ikuo YOSHIHARAغیر ممک می باشد. از آنجا ک

معرفی نمیوده انید در ایی Crossoverدرصد را برای 20و احتمال Mutationدرصد را برای 20

Page 116: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

تست های انجام شده -فصل ششم

104

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

می شود و کاربر در هر لصظ ک رواب یافتی شیده توسیط مربوط ای برنام ب طور مستقیم ب کاربر

وقد کند ولی از آنجا ک با ای شرط توقید ند می تواند برنام را متبرنام را رواب مناسبی احساس ک

اررا رمعیتاندازه نمون ها را با تغییر پارامتر در ای فصل ای برنام می تواند تا ابد ادام داشت باشد

نتیج حاصل یعنی مینیمم تور یافیت یعنی دقیق اول ، دوم، سوم و پنجمدوره زمانی چساردر و کرده

مقایسی TSPبیرای نزدیکتیری همسیای یمم تور یافت شیده از رو حیل با مین ثبت گردیده و شده

منظیور از در ادام ب معرفی نمون ها و نتایج بدست آمده از اررای آنسیا میی پیردازیم. گردیده است.

بر حسب پیکسل می باشد. و نمایش فاصل شسر ها در ای فصل همان فاصل آنسا بر روی صفص

نمونه ها و نتایج بدست آمده: معرفی 6-2

: 1نمون شماره

ب صورو زیر می باشد. شسر 12با 1شماره تصویر نمون

1شماره تصویر نمونه -1-6 شکل

Page 117: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

تست های انجام شده -فصل ششم

105

ب صورو زیر می باشد. 1ردول نتایج بدست آمده برای نمون شماره

تعداد نمون شماره

رمعیت

وزن تور

بسین پس از

دقیق 1

وزن تور

از بسین پس

دقیق 8

وزن تور

بسین پس از

دقیق 3

وزن تور

بسین پس از

دقیق 5

1

10 775 775 775 775

50 232 232 727 727

100 757 757 757 757

800 243 237 232 757

500 230 282 281 208

272 وزن تور بسین بدست آمده از رو نزدیکتری همسای

1ل نتایج بدست آمده برای نمونه شماره جدو -1-6 جدول

Page 118: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

تست های انجام شده -فصل ششم

106

: 8نمون شماره

ب صورو زیر می باشد. شسر 18با 8شماره تصویر نمون

2تصویر نمونه شماره -2-6شکل

Page 119: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

تست های انجام شده -فصل ششم

107

ب صورو زیر می باشد. 8ردول نتایج بدست آمده برای نمون شماره

تعداد نمون شماره

رمعیت

وزن تور

بسین پس از

دقیق 1

وزن تور

بسین پس از

دقیق 8

وزن تور

بسین پس از

دقیق 3

وزن تور

بسین پس از

دقیق 5

8

10 1133 1057 1057 1057

80 1057 1057 1057 1057

100 1077 1077 1077 1057

800 1077 1087 1087 1087

500 1077 1057 1087 1087

1135 از رو نزدیکتری همسای وزن تور بسین بدست آمده

2جدول نتایج بدست آمده برای نمونه شماره -2-6 جدول

Page 120: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

تست های انجام شده -فصل ششم

108

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

2تصویر تور بهینه یافت شده برای نمونه شماره -3-6 شکل

: 3نمونه شماره

یر می باشد.ب صورو ز شسر 85با 3شماره تصویر نمون

3تصویر نمونه شماره -4-6 شکل

Page 121: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

تست های انجام شده -فصل ششم

109

ب صورو زیر می باشد. 3ردول نتایج بدست آمده برای نمون شماره

تعداد نمون شماره

رمعیت

وزن تور

بسین پس از

دقیق 1

وزن تور

بسین پس از

دقیق 8

وزن تور

بسین پس از

دقیق 3

وزن تور

بسین پس از

دقیق 5

3

10 1773 1722 1775 1770

50 1233 1200 1757 1717

100 1215 1732 1707 1227

800 1787 1787 1787 1521

500 1774 1774 1774 1224

771 وزن تور بسین بدست آمده از رو نزدیکتری همسای

3جدول نتایج بدست آمده برای نمونه شماره -3-6جدول

Page 122: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

تست های انجام شده -فصل ششم

110

: 4نمونه شماره

ب صورو زیر می باشد. شسر 17با 4شماره ون تصویر نم

4تصویر نمونه شماره -5-6 شکل

Page 123: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

تست های انجام شده -فصل ششم

111

ب صورو زیر می باشد. 4ردول نتایج بدست آمده برای نمون شماره

تعداد نمون شماره

رمعیت

وزن تور

بسین پس از

دقیق 1

وزن تور

بسین پس از

دقیق 8

وزن تور

بسین پس از

ق دقی 3

وزن تور

بسین پس از

دقیق 5

4

10 732 700 700 275

50 272 272 272 272

100 228 228 272 272

800 718 224 224 224

500 225 224 224 224

478 وزن تور بسین بدست آمده از رو نزدیکتری همسای

4جدول نتایج بدست آمده برای نمونه شماره -4-6 جدول

Page 124: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

تست های انجام شده -فصل ششم

112

4تصویر تور بهینه یافت شده برای نمونه شماره -6-6 شکل

: 5نمونه شماره

ب صورو زیر می باشد. شسر 11با 5شماره تصویر نمون

5تصویر نمونه شماره -7-6شکل

Page 125: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

تست های انجام شده -فصل ششم

113

ب صورو زیر می باشد. 5ردول نتایج بدست آمده برای نمون شماره

تعداد نمون شماره

رمعیت

ر وزن تو

بسین پس از

دقیق 1

وزن تور

بسین پس از

دقیق 8

وزن تور

بسین پس از

دقیق 3

وزن تور

بسین پس از

دقیق 5

5

542 542 542 542 542

542 542 542 542 542

542 542 542 542 542

542 542 542 542 542

542 542 542 542 542

542 رو نزدیکتری همسای وزن تور بسین بدست آمده از

5جدول نتایج بدست آمده برای نمونه شماره -5-6 جدول

Page 126: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

تست های انجام شده -فصل ششم

114

5تصویر تور بهینه یافت شده برای نمونه شماره -8-6 شکل

Page 127: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

هفتمفصل

نتایج و پیشنهادات

Page 128: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

نتایج و پیشنهادات -فصل هفتم

116

: نتایج 7-1

هاای با توجه به نمونه های انجام شده و مشاهده عملکرد نمونه هاای دگرار اا اوراومگ

ژن یکی دم ماس ای حل مساوه فروشنده دومه گرد و همچنین مطاوعه دم مومد اورومگ های ژن یکی

اگر آنها ما بیان می کنی .به ن اگجی بدست آمده که دم

قدمت واقعی اورومگ های ژن یکی بر موی پرداانده های مواای می باشد و بر موی گا .1

پرداانده کامائی واقعی خود ما نشان نمی دهند.

و بس ه باه ناوع نوع انکودگنگ مساوه پاگه و اساس اورومگ های ژن یکی به شمام می مود .2

اورومگ های ژن یکی که بر موی گ پرداانده اجرا می دم انکودگنگ مساوه م فاوت است.

تعادوی محاسبات و اجرای عملیات شوند باگد بین نوع انکودگن مساوه و امان الام برای

برای مثال دم مساوه فروشنده دومه گرد اگر انکودگنگ مساوه ما با موش برنامه .شودبرقرام

ای انجام دهید م عاقبا باگد اماان اگاادی دو مش ه DNAو شبیه ساخ ام نوگسی مووکووی

صرف محاسبات و اجرای عملیات شود.

نیل به ساوی جاوا دم اورومگ های ژن یکی دم سرعتتعداد جمعیت دم حال جس جو .3

بهینه موثر است چنانچه هر چه تعداد جمعیت بیش ر باشد کیفیت جوا های گافات شاده

دم مومد تعداد جمعیات بارای بیش ر است.به ر و سرعت سوق آنها به سمت جوا بهینه

د به علت شبیه ساای سیسا ناورومگ های ژن یکی که بر موی گ پرداانده اجرا می شو

اگارا برمسای هماه افاراد جمعیت اگاد کامائی ما کاهش می دهاد جس جوی مواای تعداد

شاده دم اگن پروژه با توجه به نموناه هاای حال جمعیت به صومت سری انجام می شود.

مشاهده شده است. 211تا 111جمعیت م عادل بین

Page 129: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

نتایج و پیشنهادات -فصل هفتم

117

ژن یکای دم سارعت اوراومگ Crossoverو Mutationنوع عملررهای ژن یکی مانند .4

ند پردااناده ای و چاوب ه اگن افزاگش کامائی بیش ر خود ما بر موی سیس های موثر است

مواای نشان می دهد.

دست آمده به اگن صومت است که هر چاه تعاداد دم مومد اجرای اگن نمونه ها ه ن اگج ب .5

شهرها و جمعیت دم حال جس جو کم ر باشد دم ن یجه همررائی سرگع ر مای باشاد ووای

برساند اگااد اسات و اا خیلی بی اماش اح مال اگنکه تمامی افراد جمعیت به بهینه محلی

آنها مج شدنخای برخومدام است مآنجا تعداد افراد جمعیت ک است و جمعیت اا تنوع ک

نیز اا اطراف بهینه محلی کمی طول می کشد.

دم صومتی که تعداد شهرها و تعداد جمعیت اگاد باشد چون بر موی گ پرداانده آنهاا ما .6

اجرا می کنی عملیات محاسبه بسیام طول می کشد و سرعت همررائی باه ساوی جاوا

کاهش می گابد.بهینه

یکی برای مسائلی با دامنه جس جوی بزمگ مناسب هسا ند دم اا آنجا که اورومگ های ژن .7

دم اب دا سرعت همررائی افراد جمعیات باه سامت ن یجه چنانچه تعداد شهر ها اگاد باشد

جوا بهینه اگاد است ووی پس اا مدتی اگن سرعت کاهش می گابد.

کاه چون دم اگن پروژه شرط توقف توسط کامبر امضاء می شود مشااهده گردگاده اسات .8

گذشت امان دم کیفیت جوابها موثر است و هر چه عملیات برای امان بیش ری ادامه گاباد

کیفیت جوابها ه افزاگش می گابد.

Page 130: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

نتایج و پیشنهادات -فصل هفتم

118

: پیشنهادات 7-2

ظ عملای همان طوم که می دانید مساوه فروشنده دومه گرد ه اا وحاظ تئاومی و ها اا وحاا

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

با توجه به اهمیت اگن مساوه و قدمت اورومگ های ژن یکی پیشنهادات اگر برای افارادی کاه مای

خواهند اگن مساوه ما با اس فاده اا اورومگ های ژن یکی حل کنند امائه شده است.

ساوه اس فاده کنید اگارا ها سعی کنید که اا موش برنامه نوگسی مووکووی برای حل اگن م .1

موش نوپاگی است و ه اگنکه واقعاً ساخ ام ژن یکی ما پیاده ساای می کند.

که دم امان چند جمله ای و قابل قبول اجرا می شود سعی کنید Heuristicبا کم گ .2

ما دم جمعیات ما تووید کنید با اگن کاام اا هماان اب ادا افاراد جمعیت اوویه مومد جس جو

مای توانناد آنهاا ما سارگع ر باه یجوا های بهینه قرام دادگد و عملررهای ژن یک حواوی

جوا بهینه برسانند.

دم مومد عملررهای ژن یکی می تواند کامائی اورومگ ژن یکی Heuristicاس فاده اا گ .3

اا موشاهائی اسات کاه اا گا ناوع Opt-2ما به شدت افزاگش دهد. برای مثاال موش

Heuristic انجام آن اس فاده می شود.دم

باه چناد دسا ه با توجه به چراوی پراکندگی آنها اگر ب وانید شهرهای موجود دم صفحه ما .4

شهرهاگی که دم گ ناحیه م راک شده اند دم گ دس ه قرام گیرند و سپس تقسی کنید که

س اورومگ های ژن یکی ما بر موی شهر های هر گ اا اگان ناواحی اعماال کنیاد و ساپ

جوا های بهینه بدست آمده اا هر کدام ما با ه ادغام کنید ان ظاام مای مود کاه کاامائی

Page 131: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

نتایج و پیشنهادات -فصل هفتم

119

اورومگ های ژن یکی افزاگش گابد. اوب ه اگان موش بارای سیسا هاای چندپردااناده ای

مواای مناسب است.

Page 132: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

فهرست منابع

120

1) Kylie Bryant, Arthur Benjamin. Genetic Algorithms and the

Traveling Salesman Problem. Department of Mathematics

HARVEY MUDD, December 2000.

2) John LaRusic. An Introduction to the Traveling Salesman

Problem. 2004.

3) Peter G. Anderson. Introduction to Genetic Algorithms. Computer

Science Department Rochester Institute of Technology, Rochester,

New York, 2002.

4) Peter G. Anderson. GA Issues. Computer Science Department

Rochester Institute of Technology, Rochester, New York, 2002.

5) Peter G. Anderson. Permutation Based GAs and Ordered Greed.

Computer Science Department Rochester Institute of Technology,

Rochester, New York, 2004.

6) Burhaneddin SANDIKCI. Genetic Algorithms. Bilkent University,

Department of Industrial Engineering, Ankara-TURKEY, 2004.

7) Ikuo YOSHIHARA, Hiroaki SENGOKU. A Fast TSP Solver Using

GA on JAVA. Graduate School of Engineering, Tohoku University, Sendai, JAPAN, 2002.

8) Soo-Yong Shin, Byoung-Tak Zhang, Sung-Soo Jun. Solving

Traveling Salesman Problem Using Molecular Programming.

Artificial Intelligence Lab, Departmenet of Computer Engineering,

Seul National University, Seul, Korea, 2000.

9) Nigel Cummings. A BRIEF HISTORY OF TSP. 2002.

10) Christian Jacob. DNA Computing. 2002.

11) Assaf Zaritsky. Introduction to Genetic Algorithms. Ben-Gurion

University, Israel, 2002.

Page 133: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

پیوست ها

Page 134: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

پیچیدگی زمانی -1پیوست

پیچیدگی زمانی

ها ميي باديدا اب ي ها، مساله پيچيدگي الگوريتم يكي از مهمترين مسايل مربوط به الگوريتم

هاي بسياري هم در حال را حل مي كنند و الگوريتم Pهاي زيادي وجود دارند كه يك مساله الگوريتم

ن امر تكيه دارند كيه پيچييدگي الگوريتمييك حيل ها بر اي كشف ددن مي بادند و همه اين الگوريتم

مساله را كاهش دهند و مي خواهند ثابت كنند كه الگوريتم مورد نظر آنان موثرتر استا در عمل تعييين

ييا هميان A پيچيدگي زماني يك مساله داده دده بسيار مشكل استا بدترين حاليت ييك الگيوريتم

)(NT A1نيدازه گييري پيچييدگي يك راه بيراي ا

، O(1) ،O(LogN)آن اسيتا در ايين حاليت

O(N) ،) 2N O( ،) N2 O( و بيره مي توانند به عنيوان دسيته هياي پيچييدگي مشياهده ديوند كيه

مهمترين دسته هاي پيچيدگي براي اندازه گيري پيچيدگي يك الگوريتم هستندا

ل با زمان بندي چندجمله ايمسائ

كه 4، نمايي 3، چندجم ه اي 2سه تا از مهمترين كالسهاي پيچيدگي يك مساله عبارتند از خطي

در زير هر يك از آنها را مختصراً درح مي دهيما

دارندا O(N): همه مسائ ي كه الگوريتمي با (L)خطي ا1

)(: همه مسائ ي كه الگوريتمي با (P)چندجم ه اي ا2 KNO براي برخي مقاديرK دارندا

1 Complexity

2 Linear

3 Polynomial

4 Exponential

Page 135: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

پیچیدگی زمانی -1پیوست

)(: همه مسائ ي كه الگوريتمي با (E)نمائي NKO براي برخي مقاديرK دارندا

EPLواضح است كه

مسائل تصمیم ناپذير

ك مساله تصميم ناپذير ي Pدر منتهي اليه پيچيدگي مسائل، مسائل تصميم ناپذير واقعندا مساله

را حل كنيدا البتيه منظيور ايين نيسيت كيه هنيوز هيي Pاي وجود ندادته بادد كه Aاگر الگوريتم

يك جواب داردا Pرا حل كندا با اين حال ما مي دانيم كه مساله Pالگوريتمي پيدا نشده كه

5مسائل با زمان چندجمله اي غیر قطعی

ها را معرفي مي كنيما جديد از الگوريتمدر اين بخش يك كالس پيچيدگي

)(هاي بير قطعي كه با : الگوريتم NPكالس KNO به ازاي برخي از مقياديرK اجيرا ميي ديوندا

دناخته مي دود كه بررسي يك راه حيل پيشينهادي در زميان NPاساساً زماني يك مساله به عنوان

چندجم ه اي امكان پذير نباددا

P=NP

بزرگترين مشكل در ع م كامپيوتر اثبات يا رد اين مساله است كه :

هر مساله اي كه بتواند توسط يك الگوريتم غیر قطعی در زماان چندجملاه اي ال -

شود ، آن گاه می تواند توسط يك الگوريتم قطعی و در زمان چند جمله اي ل شود.

5 Non-Deterministic Polynomial-Time Problem

Page 136: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

پیچیدگی زمانی -1پیوست

خالصه دده استا اگر ما بتوانيم ثابت كنيم كه هر مسياله بيا P=NPاين مشكل تحت عنوان

دارد ، آن گاه ما خواهيم دانست كه يك راه حل بيا زميان چنيد P، يك الگوريتم NPيك الگوريتم

هم وجود دارد ولي ما هنوز قادر به پيداكردن آن نيستيبما TSPجم ه اي قطعي براي

NP-Completeمسائل

بادد و بيراي NPيك مساله Pاست كه P ،NP-Completeم كه مساله زماني مي گويي

درط زير برقرار بادد: Qديگر NPهر مساله

P †p

Q

ييك الگيوريتم چنانچهكاهش يابد با زمان چند جم ه اي P2 مي تواند به مساله P1مساله

انتقال دهد و هر P2را به نمونه اي در P1د كه هر نمونه از قطعي با زمان چند جم ه اي موجود باد

:ما مي نويسيم در اين صورت منتقل كند P1به يك راه حل از نمونه اص ي را P2راه حل از نمونه

P1 †p P2

بياينري براي مثال مساله جمع كردن دو عدد دهدهي مي تواند به مساله جميع كيردن دو عيدد

† Pكاهش يابدا حال به درح p

Q زماني مي توان مي پردازيما P=NP را ثابت كرد كه بتوان يك

پيدا كردا فرض كنيد كيه NP-Completeالگوريتم با زمان چندجم ه اي و قطعي براي يك مساله

P يك مسالهNP-Complete ه اي با الگوريتم قطعيي است كه داراي زمان چند جمA اسيت و

Q هم يك مسالهNP استا براي حلQ :

كاهش دهيدا Pرا به Q ا1

Page 137: Ê°Ìf¿ ÉZźf Ë Â´·Y Âe{ ³Ã Á{Ã|À Á §Ä·Z » ¶uce.sharif.ir/~abin/files/bscthesis.pdf · ZÅ ¶° d Ƨ µÁY¶ § É YÄf Á{ DNA Á¹Á »Á ¯Á ¾ ÌeZ»Á

پیچیدگی زمانی -1پیوست

پيدا كنيدا Aبا استفاده الگوريتم Pيك راه حل براي ا2

انتقال دهيدا Qرا به راه حل Pراه حل ا3

TSPزيادي وجود دارند ا ييك نمونيه از ايين مسيائل، مسياله NP-Completeمسائل

هم به قرار زير استا NPاستاچند مساله

3-SAT Problem

Vertex Cover Problem

Subset Sum Problem

Clique Problem