SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
‫اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬
‫ﻛﺎرﺑﺮد و در ﺣﻞ ﻣﺴﺎﻟﻪ‬
‫ﻓﺮوﺷﻨﺪه دوره ﮔﺮد‬

‫اﺳﺘﺎد راﻫﻨﻤﺎ: ﺟﻨﺎب آﻗﺎي ﺣﺴﻴﻨﻲ‬
‫ﺗﻬﻴﻪ ﻛﻨﻨﺪه: ﺣﻤﻴﺪه اﻳﺮج‬

‫500015118‬
‫ﭼﻜﻴﺪه ﻣﻘﺎﻟﻪ :‬
‫در اﻳﻦ ﻣﻘﺎﻟﻪ اﺑﺘﺪا ‪ TSP‬را ﻣﻌﺮﻓﻲ ﻛﺮده و ﭘﻴﺸﻴﻨﻪ ، ﻛﺎرﺑﺮدﻫﺎ ، ﻓﺮم ﻫﺎي ﻣﺨﺘﻠﻒ و روﺷﻬﺎي ﺣﻞ آن را ﺑﺮرﺳﻲ ﻣﻲ ﻛﻨـﻴﻢ. ﺳـﭙﺲ‬
‫ﻣﺸﻜﻼت روﺷﻬﺎي ﺣﻞ ﻛﻼﺳﻴﻚ را ﺑﺮرﺳﻲ ﻣﻲ ﻛﻨﻴﻢ. وﺑﻪ اراﺋﻪ روش ﺣﻞ ﺑﺎ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﻣﻲ ﭘﺮدازﻳﻢ و در ﻧﻬﺎﻳ ﺖ اﻟﮕﻮرﻳﺘﻤﻬﺎي‬
‫ژﻧﺘﻴﻚ ﻣﺨﺘﻠﻔﻲ را ﺑﺮاي ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد ﻣﻄﺮح ﻣﻲ ﻛﻨﻴﻢ و ﺑﺮرﺳﻲ ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ ﻛﺪام ﻳﻚ از اﻳﻦ اﻟﮕﻮرﻳﺘﻤﻬﺎي ژﻧﺘﻴﻚ ﺑﻬﺘﺮ‬
‫از ﺑﻘﻴﻪ روﺷﻬﺎ ﺟﻮاب ﻣﻲ دﻫﻨﺪ.‬

‫ﻛﻠﻤﺎت ﻛﻠﻴﺪي:‬
‫– ‪Genetic Algorithm—Traveling Salesman Problem--Gene – Chromosome – Allele – Encoding – Population‬‬
‫‪Evaluation – Fitness – Selection – Crossover – Mutation – Decoding – Generation – Parent‬‬
‫ﻓﻬﺮﺳﺖ ﻣﻄﺎﻟﺐ‬
‫١ ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد‬
‫1,1. ﺗﻌﺮﻳﻒ‬
‫2,1. ﭘﻴﺸﻴﻨﻪ‬
‫3,1. ﻛﺎرﺑﺮدﻫﺎ‬
‫4,1. ﻓﺮم ﻫﺎي ﻣﺨﺘﻠﻒ‬
‫5,1. روش ﻫﺎي ﺣﻞ‬

‫٢‬

‫اﻟﮕﻮرﻳﺘﻢ ﻫﺎي ﻫﻴﻮرﻳﺴﺘﻴﻚ‬
‫1,2. ﻣﻘﺪﻣﻪ‬
‫2,2. اﻧﻮاع اﻟﮕﻮرﻳﺘﻢ ﻫﺎي ﻫﻴﻮرﻳﺴﺘﻴﻚ‬

‫٣ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬
‫1,3. ﻣﻘﺪﻣﻪ‬
‫٢٫٣.‬

‫اﺻﻮل اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬

‫١٫٢٫٣.‬

‫‪Encoding‬‬

‫٢٫٢٫٣.‬

‫‪Evaluation‬‬

‫٣٫٢٫٣.‬

‫‪Crossover‬‬

‫۴٫٢٫٣.‬

‫‪Mutation‬‬

‫5,2,3. ‪Decoding‬‬
‫ﻣﺮاﺣﻞ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬

.3,3

‫4,3. ﻣﺜﺎل ﻋﺪدي‬
‫5,3.ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬

‫ ﺑﺎ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬TSP ‫۴. ﺣﻞ ﻣﺴﺎﻟﻪ‬
Encoding

.۴٫١

Crossover

.۴٫٢

(PMX) Partially Matched Crossover
(CX) Cycle Crossover
Order Crossover
Crossover Matrix
(MOX) Modified Order Crossover
Mutation

.۴٫٣

TSP ‫ﻣﻘﺎﻳﺴﻪ روﺷﻬﺎﯼ ﻣﺨﺘﻠﻒ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﮏ ﺑﺮاﯼ‬

.۴٫۴

‫5,4. ﻧﺘﻴﺠﻪ ﮔﻴﺮي‬

‫ﻣﻨﺎﺑﻊ‬
‫١. ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪﻩ دورﻩ ﮔﺮد‬

‫١‬

‫3,1. ﺗﻌﺮﻳﻒ ﻣﺴﺎﻟﻪ‬
‫ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد1 ﻋﺒﺎرﺗﺴﺖ ازﻳﺎﻓﺘﻦ ﻳﻚ ﻣﺴﻴﺮ از ﺗﻌﺪادي از ﺷﻬﺮﻫﺎ ﻛﻪ از ﻫﺮﺷﻬﺮ دﻗﻴﻘﺎ ﻳﻚ ﺑﺎر ﻋﺒﻮر ﻛﻨﻴﻢ و ﺑﻪ ﺷﻬﺮ اول ﺑﺎز‬
‫ﮔﺮدﻳﻢ ﺑﻪ ﻃﻮري ﻛﻪ ﻃﻮل ﻣﺴﻴﺮ ﻣﻴﻨﻴﻤﻮم ﺷﻮد.‬

‫4,1. ﭘﻴﺸﻴﻨﻪ‬
‫اوﻟﻴﻦ ﻧﻤﻮﻧﻪ ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد ﺗﻮﺳﻂ اوﻳﻠﺮ2در9571 ﻣﻄﺮح ﺷﺪ ﻛﻪ ﻫﺪف آن ﺣﺮﻛﺖ دادن ﻳﻚ ﻣﻬﺮه اﺳـﺐ ﺑـﻪ ﻫﻤـﻪ ﻣﻮﻗﻌﻴـﺖ‬
‫ﻫﺎي ﺻﻔﺤﻪ ﺷﻄﺮﻧﺞ ﺑﻮد.‬
‫ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪﻩ دورﻩ ﮔﺮد اوﻟﻴﻦ ﺑﺎر در آﺘﺎب ﻳﻚ ﻓﺮوﺷﻨﺪﻩ ﺁﻟﻤﺎﻧﻲ ﻣﺸﻬﻮر ﺷﺪ آﻪ راﺟﻊ ﺑﻪ اﻳﻦ ﺑﻮد آ ﻪ ﭼﮕﻮﻧ ﻪ ﻳ ﻚ ﻓﺮوﺷ ﻨﺪﻩ دورﻩ‬
‫ﮔﺮد ﻣﻮﻓﻖ ﺷﻮﻳﻢ.او اﻳﻦ ﻣﺴﺎﻟﻪ را )اﻟﺒﺘﻪ ﻧﻪ ﺑﺎ اﻳﻦ ﻧﺎم ( ﺑﻪ اﻳﻦ ﺻﻮرت ﻣﻄﺮح ﻣﻲ آﻨﺪ آﻪ اﻧﺘﺨﺎب ﻣﺴﻴﺮ ﺑﻪ ﻃﻮري آﻪ هﻤ ﻪ ﺷ ﻬﺮهﺎ‬
‫را ﭘﻮﺷﺶ دهﻴﻢ و از هﻴﭻ ﺷﻬﺮي دوﺑﺎر ﻋﺒﻮر ﻧﻜﻨﻴﻢ ﻣﻬﻢ ﺕﺮﻳﻦ ﺟﻨﺒﻪ ﺑﺮﻧﺎﻣﻪ رﻳﺰي ﻳﻚ ﻣﺴﻴﺮ اﺳﺖ. ﺕﺎ ﺑ ﻪ ﺣ ﺎل ﺕﻨﻬ ﺎ روش ﺷ ﻨﺎﺥﺘﻪ‬
‫ﺷﺪﻩ آﻪ رﺳﻴﺪن ﺑﻪ ﺟﻮاب ﺑﻬﻴﻨﻪ را در ﻣﺴﺎﻟﻪ اي ﺑ ﻪ ه ﺮ اﻧ ﺪازﻩ ﺕ ﻀﻤﻴﻦ ﻣ ﻲ آﻨ ﺪ ﺷ ﻤﺎرش ه ﺮ ﺕ ﻮر ﻣﻤﻜ ﻦ و ﻳ ﺎﻓﺘﻦ ﺕ ﻮر ﺑ ﺎ آﻤﺘ ﺮﻳﻦ‬
‫هﺰﻳﻨﻪ اﺳﺖ.٣ ﺑﻪ روش رﻳﺎﺽﯽ ﻣﺴﺎﻟﻪ ﺑﺎ ﻳﺎﻓﺘﻦ ﺕﻌﺪاد ﺟﺎﻳﮕﺸﺖ هﺎﯼ‪ n‬ﺷﯽ ﻣﺘﻤﺎﻳﺰ وﺳﭙﺲ ارزﻳﺎﺑﯽ هﺮ ﺣﺎﻟﺖ ﺑﺮرﺳﯽ ﻣﯽ ﺷﻮد.‬
‫ﺗﻌﺪاد ﺟﺎﻳﮕﺸﺘﻬﺎ !‪ n‬اﺳﺖ. ﺑﺮاي ﻳﺎﻓﺘﻦ ﻣﻴﻨﻴﻤﻢ دورﻫﺎ ﻧﻴﺰ ﺑﻪ ﺣﺪاﻛﺜﺮ !‪ n‬ﻣﺤﺎﺳﺒﻪ اﺣﺘﻴﺎج دارﻳﻢ. وﻟﻲ اﮔـﺮ ‪ n‬را زﻳـﺎد ﻓـﺮض ﻛﻨـﻴﻢ‬
‫ﺗﻌﺪاد ﻣﺤﺎﺳﺒﺎت ﺑﺴﻴﺎر ﺑﺎﻻ ﺧﻮاﻫﺪ ﺑﻮد ﺑﻪ ﻫﻤﻴﻦ دﻟﻴﻞ ﮔﻔﺘﻪ ﻣﻲ ﺷﻮد ﻛﻪ اﻟﮕﻮرﻳﺘﻢ ﺣﻞ ﻣﺴﺎﻟﻪ در زﻣﺎن ﭼﻨﺪ ﺟﻤﻠﻪ اي4 ﻧﻴﺴﺖ.‬
‫اﮔﺮ ﺑﺘﻮاﻧﻴﻢ ﻫﺮ ﻣﺴﻴﺮ را در ﻳﻚ ﻧﺎﻧﻮ ﺛﺎﻧﻴﻪ ارزﻳﺎﺑﻲ ﻛﻨﻴﻢ ﺑﺮاي ﻳﺎﻓﺘﻦ ﺟﻮاب ﺑﻬﻴﻨﻪ ﻳﻚ ﻣﺴﺎﻟﻪ ﺑﺎ 52 ﺷﻬﺮ ده ﻣﻴﻠﻴﻮن ﺳﺎل ﻻزم اﺳﺖ. ﺑﻨـﺎﺑﺮ‬
‫اﻳﻦ ﺑﺎﻳﺪ ﺑﻬﻴﻨﻪ ﺑﻮدن را ﺑﺮاي ﻳﺎﻓﺘﻦ ﺟﻮاﺑﻲ ﻣﻨﺎﺳﺐ در زﻣﺎن ﻗﺎﺑﻞ ﻗﺒﻮل ﻗﺮﺑﺎﻧﻲ ﻛﻨﻴﻢ.‬

‫1‬

‫)‪Traveling salesman problem (TSP‬‬
‫‪Euler‬‬
‫3‬
‫‪The “brute force” method‬‬
‫4‬
‫‪Non-Polynomial‬‬
‫2‬
‫5,1.‬

‫ﻛﺎرﺑﺮدﻫﺎ‬

‫ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد ﻛﺎرﺑﺮدﻫﺎي زﻳﺎدي در دﻧﻴﺎي واﻗﻌﻲ دارد و ان را ﻣﺴﺎﻟﻪ ﻣﺤﺒﻮﺑﻲ ﺑﺮاي ﺣﻞ ﻛﺮده اﺳﺖ. ﺑﺮاي ﻣﺜﺎل ﭼﻨﺪ ﻧﻤﻮﻧﻪ از‬
‫ﻣﺴﺎﻟﻪ "ﻣﺴﻴﺮﻳﺎﺑﻲ وﺳﻴﻠﻪ ﻧﻘﻠﻴﻪ"5 ﻣﻲ ﺗﻮاﻧﺪ ﺑﻪ ﺻﻮرت ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد ﺗﺒﺪﻳﻞ ﺷﻮد .ﻣﺴﺎﻟﻪ ﻣﺴﻴﺮﻳﺎﺑﻲ وﺳﻴﻠﻪ ﻧﻘﻠﻴﻪ ﻋﺒﺎرﺗـﺴﺖ از‬
‫اﻳﻦ ﻛﻪ ﻛﺪام وﺳﺎﻳﻞ ﻧﻘﻠﻴﻪ ﺑﺎﻳﺪ ﺑﻪ ﻛﺪام ﻣﺸﺘﺮي ﻫﺎ ﺳﺮوﻳﺲ ﺑﺪﻫﻨﺪ و ﻛﻤﺘﺮﻳﻦ ﺗﻌﺪاد وﺳﺎﻳﻞ ﻧﻘﻠﻴﻪ ﻣﻮرد ﻧﻴﺎز ﺑﺎﺷﺪ. اﻧﻮاع ﻣﺨﺘﻠﻔـﻲ از اﻳـﻦ‬
‫ﻣﺴﺎﻟﻪ وﺟﻮد دارد ﻛﻪ ﺷﺎﻣﻞ ﻳﺎﻓﺘﻦ ﻛﻤﺘﺮﻳﻦ زﻣﺎن ﺑﺮاي ﺳﺮوﻳﺲ دﻫﻲ ﻧﻴﺰ ﻣﻲ ﺷﻮد ﻛﻪ ﺑﻌـﻀﻲ از ان ﻫـﺎ ﻣـﻲ ﺗﻮاﻧﻨـﺪ ﺑـﻪ ﺻـﻮرت ﻣـﺴﺎﻟﻪ‬
‫ﻓﺮوﺷﻨﺪه دوره ﮔﺮد ﺣﻞ ﺷﻮﻧﺪ.‬
‫ﻣﺴﺎﻟﻪ ﺳﻴﻢ ﻛﺸﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ6 ﻧﻴﺰ ﻣﻲ ﺗﻮاﻧﺪ ﺑﻪ ﺻﻮرت ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد ﻣﺪل ﺷﻮد. ﻗﻄﻌﻪ ﻫﺎي ﻣﺨﺘﻠﻒ و ﺗﻌـﺪادي ﭘـﻴﻦ دارﻳـﻢ و‬
‫ﺑﺎﻳﺪ زﻳﺮ ﻣﺠﻤﻮﻋﻪ اي از ﭘﻴﻦ ﻫﺎ را ﻃﻮري ﺑﺎ ﺳﻴﻢ ﺑﻪ ﻫﻢ وﺻﻞ ﻛﻨﻴﻢ ﻛﻪ از ﻫﻴﭻ ﭘﻴﻨﻲ ﺑﻴﺶ از دو ﺳﻴﻢ ﻋﺒﻮر ﻧﻜﻨﺪ و ﻃﻮل ﺳـﻴﻢ ﻣﻴﻨﻴﻤـﻮم‬
‫ﺷﻮد.‬
‫ﭘﻠﻴﺖ7 ، ﻻو8 و ﻛﺎ ﻧﺪراﺳﻜﺎران‬

‫9‬

‫ﻛﺎرﺑﺮد اﻳﻦ ﻣﺴﺎﻟﻪ را در ﭼﻚ ﻛﺮدن ﻣﻮﺗﻮر ﺗﻮرﺑﻴﻦ ﮔﺎزي ﻣﻄﺮح ﻛﺮدﻧﺪ. ﭘﺮه ﻫﺎي ﺑﻪ‬

‫ﻃﺮف دﻫﺎﻧﻪ ) ﻛﻪ ﺑﻪ ﻣﺤﻴﻂ داﻳﺮه ﻣﺤﻜﻢ ﻣﻲ ﺷﻮﻧﺪ( در ﻫﺮ ﺗﻮرﺑﻴﻦ ﻗﺮار ﻣﻲ ﮔﻴﺮد ﺗﺎ ﻳﻜﻨﻮاﺧﺘﻲ ﺟﺮﻳﺎن ﮔﺎز را ﺗﻀﻤﻴﻦ ﻛﻨﺪ. ﻣﻜﺎن ﭘﺮه ﻫﺎ‬
‫ﺑﺮاي ﻣﻴﻨﻴﻤﻮم ﻛﺮدن ﺳﻮﺧﺖ ﻣﺼﺮﻓﻲ ﻣﻴﺘﻮاﻧﺪ ﺑﻪ ﺻﻮرت ﻳﻚ ‪ TSP‬ﻣﺘﻘﺎرن ﻣﺪل ﺷﻮد.‬
‫زﻣﺎن ﺑﻨﺪي ﻋﻤﻠﻴﺎت روي ﻳﻚ ﻣﺎﺷﻴﻦ در ﺣﺎﻟﻲ ﻛﻪ زﻣﺎن اﻧﺠﺎم ﻋﻤﻠﻴﺎت وزﻣﺎن آﻣﺎده ﺳﺎزي ﻣﺎﺷﻴﻦ ﺑﺮاي ﻫﺮ ﻋﻤﻠﻴﺎت را ﺑﺪاﻧﻴﻢ ﻧﻴﺰ ﻳﻚ‬
‫ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد اﺳﺖ ﻛﻪ ﻫﺪف آن ﻣﻴﻨﻴﻤﻮم ﻛﺮدن زﻣﺎن ﻛﻞ ﺑﺮاي ﭘﺮدازش ﻫﺮ ﻋﻤﻞ اﺳﺖ.‬
‫از ﻛﺎرﺑﺮدﻫﺎي ﺻﻨﻌﺘﻲ آن ﻣﻴﺘﻮان ﺑﻪ ﺗﻮﻟﻴﺪ ﻣﺎﻳﻜﺮو ﭘﺮوﺳﺴﻮرﻫﺎ، ﺣﻤﻞ و ﻧﻘﻞ و ﻣﺴﺎﻳﻞ ﻣﻨﻄﻖ اﺷﺎره ﻛﺮد.‬
‫اﻳﻦ ﻣﺴﺎﻟﻪ ﻫﻤﭽﻨﻴﻦ در اﻧﺒﺎرداري01 ، ﺟﺎﺑﺠﺎﻳﻲ ﻣﻮاد11 و ﺑﺮﻧﺎﻣﻪ رﻳﺰي ﺗﺴﻬﻴﻼت21 ﻧﻴﺰ ﻛﺎرﺑﺮد دارد.‬

‫2‬

‫3‬

‫در ﻣﺴﻴﺮﻳﺎﺑﻲ ﭘﺴﺘﻲ31 ، ﺗﻮاﻟﻲ ﻓﺎﻳﻞ ﻫﺎي ﻛﺎﻣﭙﻴﻮﺗﺮ41 و ﻣﺴﻴﺮ ﻣﺸﺘﺮي ﻫﺎ در ﻣﺮاﻛﺰ ﺑﻬﺪاﺷﺘﻲ51 ﻧﻴﺰ ﻛﺎرﺑﺮد دارد.‬

‫4‬

‫5‬

‫)‪vehicle routing problem (VRP‬‬
‫‪6 computer wiring‬‬
‫7‬
‫‪Plate‬‬
‫8‬
‫‪Lowe‬‬
‫9‬
‫‪Chandrasekaran‬‬
‫01‬
‫‪warehousing‬‬
‫11‬
‫‪material handling‬‬
‫21‬
‫‪facilities layout‬‬
‫31‬
‫‪postal routing‬‬
‫41‬
‫‪computer file sequencing‬‬
‫‪15 the routing of clients through welfare agencies‬‬
‫6,1.‬

‫ﻓﺮﻣﻬﺎي ﻣﺨﺘﻠﻒ‬

‫اﻧﻮاع ﻣﺨﺘﻠﻔﻲ از ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد وﺟﻮد دارد. اوﻟﻴﻦ ان ﻣﺴﺎﻟﻪ ﻛﻮﺗﺎﻫﺘﺮﻳﻦ ﻣﺴﻴﺮ ﻫﻤﻴﻠﺘﻮﻧﻲ61 اﺳﺖ.اﮔﺮ ﮔﺮاﻓﻲ داﺷﺘﻪ ﺑﺎﺷـﻴﻢ ﻛـﻪ‬
‫ﻫﺮ ﻳﺎل وزﻧﻲ داﺷﺘﻪ ﺑﺎﺷﺪ و دو راس ﻣﻔﺮوض داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﺑﺎﻳﺪ ﻛﻮﺗﺎﻫﺘﺮﻳﻦ دور ﻫﻤﻴﻠﺘﻮﻧﻲ را از اوﻟﻲ ﺑﻪ دوﻣﻲ ﺑﻴﺎﺑﻴﻢ. اﮔﺮ ﻳﺎﻟﻲ ﮔﺬرﻧﺪه‬
‫از اﻳﻦ دو اﺿﺎﻓﻪ ﻛﻨﻴﻢ و ﺑﻪ آن وزن ﺑﺰرگ وﻣﺜﺒﺖ ‪ M‬ﻧﺴﺒﺖ ﺑﺪﻫﻴﻢ ﻣﺴﻴﺮ ﺑﻬﻴﻨﻪ ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔـﺮد ﻫﻤـﻮاره از اﻳـﻦ ﻳـﺎل ﻣـﻲ‬
‫ﮔﺬرد ﭼﻮن ﻫﺰﻳﻨﻪ ﻣﺴﻴﺮ را ﻛﺎﻫﺶ ﻣﻲ دﻫﺪ و ﻣﺴﺎﻟﻪ دور ﻫﻤﻴﻠﺘﻮﻧﻲ را ﺣﻞ ﻣﻲ ﻛﻨﺪ.‬
‫ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد ﻧﺎﻣﺘﻘﺎرن71 ﺣﺎﻟﺘﻲ اﺳﺖ ﻛﻪ ﻫﺰﻳﻨﻪ ﺳﻔﺮ از اﻟﻒ ﺑﻪ ب ﺑﺎ ﻫﺰﻳﻨﻪ ﺳﻔﺮ از ب ﺑﻪ اﻟﻒ ﻳﻜﺴﺎن ﻧﻴﺴﺖ ﻛﻪ ﻣﻲ ﺗﻮاﻧﺪ ﺑـﺎ‬
‫ﻫﻤﺎن روش ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد اﺳﺘﺎﻧﺪارد81 ﺣﻞ ﺷﻮد وﻗﺘﻲ ﻛﻪ ﻃﻮري ﺑﻪ ﻳﺎﻟﻬﺎ وزن ﺑﺪﻫﻴﻢ ﻛـﻪ ﺗـﻀﻤﻴﻦ ﻛﻨـﺪ دور ﻫﻤﻴﻠﺘـﻮﻧﻲ در‬
‫ﮔﺮاف وﺟﻮد دارد.‬
‫ﻣﺴﺎﻟﻪ ﺑﺎ ﭼﻨﺪ ﻓﺮوﺷﻨﺪه91 ﺷﺒﻴﻪ ﻣﺴﺎﻟﻪ ﺑﺎ ﻳﻚ ﻓﺮوﺷﻨﺪه اﺳﺖ. ﺗﻨﻬﺎ ﺗﻔﺎوت اﻳﻦ اﺳﺖ ﻛﻪ ﺑﻴﺶ از ﻳﻚ ﻓﺮوﺷﻨﺪه دارﻳﻢ.ﺑﺎﻳﺪ ﻫـﺮ ﻓﺮوﺷـﻨﺪه را‬
‫ﺑﻪ ﺟﺎﻳﻲ ﺑﻔﺮﺳﺘﻴﻢ ﺑﻪ ﻃﻮري ﻛﻪ ﻫﺮ ﺷﻬﺮ ﻓﻘﻂ ﻳﻚ ﺑﺎر ﻣﻼﻗﺎت ﺷﻮد و ﻫﺮ ﻓﺮوﺷﻨﺪه ﺑﻪ ﺷﻬﺮ اﺻﻠﻲ ﺑﺮﮔﺮدد.‬
‫02‬

‫ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد ﮔﻠﻮﮔﺎ ه‬

‫ﺑﻪ اﻳﻦ ﺻﻮرت اﺳﺖ ﻛﻪ ﻣﻲ ﺧﻮاﻫﻴﻢ ﺑﻴﺸﺘﺮﻳﻦ ﻫﺰﻳﻨﻪ ﻫﺮﻳﺎل را ﺑﻪ ﺟـﺎي ﻫﺰﻳﻨـﻪ ﻛـﻞ درﻫـﺮ ﻣـﺴﻴﺮ‬

‫ﻣﻴﻨﻴﻤﻮم ﻛﻨﻴﻢ. ﻳﻌﻨﻲ ﻣﻲ ﺧﻮاﻫﻴﻢ ﺑﻴﺸﺘﺮﻳﻦ ﻣﺴﺎﻓﺘﻲ را ﻛﻪ ﻫﺮ ﻓﺮوﺷﻨﺪه ﺑﻴﻦ دو ﺷﻬﺮ ﻣﺠﺎور ﻣﻲ ﭘﻴﻤﺎﻳﺪ ﻣﻴﻨﻴﻤﻮم ﻛﻨﻴﻢ.‬
‫ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد واﺑﺴﺘﻪ ﺑﻪ زﻣﺎن12 ﺑﺎ ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد اﺳﺘﺎﻧﺪارد ﻳﻜﻲ اﺳﺖ. ﻓﻘﻂ اﻳﻦ ﺟﺎ ﻣﺎ دوره ﻫﺎي زﻣﺎﻧﻲ دارﻳﻢ.‬
‫ﻣﺪل رﻳﺎﺿﻲ اﻳﻦ ﻣﺴﺎﻟﻪ ﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺖ.‬

‫‪ C ijt‬ﻫﺰﻳﻨﻪ ﺳﻔﺮ از ﮔﺮه ‪ i‬ﺑﻪ ﮔﺮه ‪ j‬در زﻣﺎن ‪ t‬اﺳﺖ.‬
‫‪ 1 X ijt‬اﺳﺖ اﮔﺮ ﻣﺴﻴﺮ در زﻣﺎن ‪ t‬از ﮔﺮه ‪ I‬ﺑﻪ ﮔﺮه ‪ j‬ﻋﺒﻮر ﻛﻨﺪ و در ﻏﻴﺮ اﻳﻦ ﺻﻮرت 0 اﺳﺖ.‬

‫‪Subject to‬‬

‫‪16 Hamiltonian path problem‬‬
‫71‬
‫‪asymmetric traveling salesman problem‬‬
‫81‬
‫‪standard traveling salesman problem‬‬
‫91‬
‫‪multisalesman traveling salesman problem‬‬
‫02‬
‫‪bottleneck traveling salesman problem‬‬
‫12‬
‫‪time dependent traveling salesman problem‬‬
‫ﻣﺤﺪودﻳﺖ اﺧﺮ ﻧﺸﺎن ﻣﻲ دﻫﺪ ﻛﻪ ﻫﺮ راس در دوره ﻫﺎي زﻣﺎﻧﻲ ﻣﺘﻮاﻟﻲ وارد و ﺧﺎرج ﺷﺪه اﺳﺖ.‬

‫7,1.‬

‫روش ﻫﺎي ﺣﻞ‬

‫اﻟﮕﻮرﻳﺘﻢ ﻫﺎي ‪ Greedy‬روﺷﻲ ﺑﺮاي ﻳﺎﻓﺘﻦ ﺟﻮاب ﻣﻮﺟﻪ درﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد ﻫﺴﺘﻨﺪ. اﻳﻦ اﻟﮕﻮرﻳﺘﻢ ﻓﻬﺮﺳﺘﻲ از ﻫﻤﻪ ﻳﺎل ﻫﺎ‬
‫در ﻳﻚ ﮔﺮاف ﺧﻠﻖ ﻣﻲ ﻛﻨﺪ و اﻧﻬﺎ را ﺑﻪ ﺗﺮﺗﻴﺐ ﻫﺰﻳﻨﻪ) از ﻛﻤﺘﺮﻳﻦ ﺑﻪ ﺑﻴﺸﺘﺮﻳﻦ ( ﻣﺮﺗﺐ ﻣﻲ ﻛﻨﺪ. ﺳﭙﺲ ﻳﺎل ﺑﺎﻛﻤﺘﺮﻳﻦ ﻫﺰﻳﻨﻪ را اﻧﺘﺨـﺎب‬
‫ﻣﻲ ﻛﻨﺪ ) اﮔﺮدور ﺗﺸﻜﻴﻞ ﻧﺪﻫﺪ(. اﻟﮕﻮرﻳﺘﻢ ‪ Greedy‬ﻫﻤﻴﺸﻪ ﺟﻮاﺑﻬﺎي ﻣﻮﺟﻪ اراﻳﻪ ﻣﻲ ﻛﻨﺪ. وﻟﻲ ﻫﻤﻴﺸﻪ ﺧﻮب ﻧﻴﺴﺖ.‬
‫" اﻟﮕﻮرﻳﺘﻢ ﻧﺰدﻳﻚ ﺗﺮﻳﻦ ﻫﻤﺴﺎﻳﻪ"22 در اﻳﻦ ﻣﻮرد ﻣﺸﺎﺑﻪ اﻟﮕﻮرﻳﺘﻢ‬

‫‪ Greedy‬اﺳﺖ. ﺑﻪ ﻃﻮر ﺗﺼﺎدﻓﻲ ﺷـﻬﺮ ﺷـﺮوع را اﻧﺘﺨـﺎب ﻣـﻲ‬

‫ﻛﻨﻴﻢ و ﺑﻪ ﻧﺰدﻳﻚ ﺗﺮﻳﻦ ﺷﻬﺮي ﻣﻲ روﻳﻢ ﻛﻪ دور ﺗﻮﻟﻴﺪ ﻧﻜﻨﺪ. اﻳﻦ ﻛﺎر را ﺗﺎ ﺟﺎﻳﻲ اداﻣﻪ ﻣﻲ دﻫﻴﻢ ﻛﻪ از ﻫﻤـﻪ ﺷـﻬﺮﻫﺎ ﻋﺒـﻮر ﻛﻨـﻴﻢ. اﻳـﻦ‬
‫اﻟﮕﻮرﻳﺘﻢ ﻫﻢ ﻫﻤﻴﺸﻪ ﺟﻮاب ﻫﺎي ﺧﻮﺑﻲ ﺗﻮﻟﻴﺪ ﻧﻤﻲ ﻛﻨﺪ ﭼﻮن راس آﺧﺮ ﻧﺴﺒﺘﺎ دور ﻣﻲ ﺷﻮد.‬
‫"درﺧﺖ ﻓﺎﺻﻠﻪ ﻣﻴﻨﻴﻤﻮم"32 ﻣﺠﻤﻮﻋﻪ اي از 1-‪ n‬ﻳﺎل اﺳﺖ ﻛﻪ ﻫﻤﻪ ﺷﻬﺮﻫﺎ را ﻃﻮري ﺑﻪ ﻫﻢ وﺻﻞ ﻣﻲ ﻛﻨﺪ ﻛـﻪ ﻣﺠﻤـﻮع ﻫﻤـﻪ ﻳـﺎل ﻫـﺎ‬
‫ﻣﻴﻨﻴﻤﻮم ﺷﻮد. وﻗﺘﻲ ﻛﻪ درﺧﺖ ﻓﺎﺻﻠﻪ ﻣﻴﻨﻴﻤﻮم را ﺑﺮاي ﮔﺮاف ﻳﺎﻓﺘﻴﻢ ﻳﺎﻟﻬﺎ را دوﻃﺮﻓﻪ در ﻧﻈﺮ ﻣﻴﮕﻴﺮﻳﻢ و ﻣﺴﻴﺮي ﺗﻮﻟﻴﺪ ﻣﻴﻜﻨﻴﻢ. ﺑﻌـﺪ از‬
‫ﺷﻬﺮي ﺷﺮوع ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ ﻓﻘﻂ ﺑﻪ ﻳﻚ ﺷﻬﺮ دﻳﮕﺮ ﻣﺘﺼﻞ اﺳﺖ42 و اﻳﻦ ﻛﺎر را ﺗﺎ ﻋﺒﻮر از ﻫﻤﻪ ﺷﻬﺮﻫﺎ اداﻣﻪ ﻣﻴﺪﻫﻴﻢ. اﮔﺮ ﻳﺎل ﻋﺒﻮرﻧﻴﺎﻓﺘـﻪ‬
‫اي وﺟﻮد ﻧﺪاﺷﺖ ﺑﻪ ﻳﺎل ﻗﺒﻠﻲ ﺑﺮﻣﻲ ﮔﺮدﻳﻢ و اﻳﻦ ﻛﺎر را اداﻣﻪ ﻣﻲ دﻫﻴﻢ ﺗﺎ ﺑﻪ ﺷﻬﺮ آﻏﺎزﻳﻦ ﺑﺮﺳﻴﻢ . اﻳﻦ ﻛﺎر ﻛﺮان ﺑﺎﻻﻳﻲ ﺑﺮاي ﺟﻮاب‬
‫ﺑﻬﻴﻨﻪ را ﺑﻪ ﻣﺎ ﻣﻲ دﻫﺪ ﺑﺎ وﺟﻮد اﻳﻦ ﻛﻪ از ﺑﻌﻀﻲ از ﺷﻬﺮﻫﺎ ﺑﻴﺶ از ﻳﻚ ﺑﺎر ﻋﺒﻮر ﻣﻲ ﻛﻨﻴﻢ. اﻳﻦ ﻣﺸﻜﻞ را اﻳﻦ ﻃﻮر ﺣﻞ ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ اﮔﺮ‬

‫22‬

‫‪Nearest Neighbor algorithm‬‬
‫‪minimum spanning tree‬‬
‫42‬
‫‪Leaf City‬‬
‫32‬
‫ﺧﻮاﺳﺘﻴﻢ ﺑﻪ ﻳﻚ ﺷﻬﺮ ﻣﻼﻗﺎت ﺷﺪه ﺑﺮﮔﺮدﻳﻢ ﺑﻪ ﺷﻬﺮ ﻣﻼﻗﺎت ﻧﺸﺪه ﺑﻌﺪي ﻣﻲ روﻳﻢ. وﻗﺘﻲ از ﻫﻤﻪ ﺷﻬﺮ ﻫﺎ ﻋﺒـﻮر ﻛـﺮدﻳﻢ ﻣـﺴﺘﻘﻴﻤﺎ ﺑـﻪ‬
‫ﺷﻬﺮ آﻏﺎزﻳﻦ ﻣﻲ روﻳﻢ.‬
‫اﻟﮕﻮرﻳﺘﻢ ﻫﺎي ﻫﻴﻮرﻳﺴﺘﻴﻚ‬

‫1,2.‬

‫٥‬

‫ﻣﻘﺪﻣﻪ‬

‫ﺳﻴﺴﺘﻢﻫﺎي ﭘﻴﭽﻴﺪه اﺟﺘﻤﺎﻋﻲ ﺗﻌﺪاد زﻳﺎدي از ﻣﺴﺎﺋﻞ داراي ﻃﺒﻴﻌﺖ ﺗﺮﻛﻴﺒﺎﺗﻲ52 را ﭘﻴﺶ روي ﻣﺎ ﻗﺮار ﻣﻲدﻫﻨﺪ. ﻣﺴﻴﺮ ﻛﺎﻣﻴﻮﻧﻬﺎي ﺣﻤـﻞ‬
‫و ﻧﻘﻞ ﺑﺎﻳﺪ ﺗﻌﻴﻴﻦ ﺷﻮد، اﻧﺒﺎرﻫﺎ ﻳﺎ ﻧﻘﺎط ﻓﺮوش ﻣﺤﺼﻮﻻت ﺑﺎﻳﺪ ﺟﺎﻳﺎﺑﻲ ﺷﻮﻧﺪ، ﺷﺒﻜﻪﻫﺎي ارﺗﺒـﺎﻃﻲ ﺑﺎﻳـﺪ ﻃﺮاﺣـﻲ ﺷـﻮﻧﺪ، ﻛﺎﻧﺘﻴﻨﺮﻫـﺎ ﺑﺎﻳـﺪ‬
‫ﺑﺎرﮔﻴﺮي ﺷﻮﻧﺪ، راﺑﻂﻫﺎي رادﻳﻮﻳﻲ ﻣﻲﺑﺎﻳﺴﺖ داراي ﻓﺮﻛﺎﻧﺲ ﻣﻨﺎﺳﺐ ﺑﺎﺷﻨﺪ، ﻣﻮاد اوﻟﻴﻪ ﭼﻮب، ﻓﻠﺰ، ﺷﻴﺸﻪ و ﭼﺮم ﺑﺎﻳﺪ ﺑﻪ اﻧـﺪازهﻫـﺎي ﻻزم‬
‫ﺑﺮﻳﺪه ﺷﻮﻧﺪ؛ از اﻳﻦ دﺳﺖ ﻣﺴﺎﺋﻞ ﺑﻲﺷﻤﺎرﻧﺪ. ﺗﺌﻮري ﭘﻴﭽﻴﺪﮔﻲ ﺑﻪ ﻣﺎ ﻣﻲ ﮔﻮﻳﺪ ﻛﻪ ﻣﺴﺎﺋﻞ ﺗﺮﻛﻴﺒﺎﺗﻲ اﻏﻠﺐ ﭘﻠﻲﻧﻮﻣﻴﺎل ﻧﻴﺴﺘﻨﺪ. اﻳﻦ ﻣﺴﺎﺋﻞ‬
‫در اﻧﺪازهﻫﺎي ﻛﺎرﺑﺮدي و ﻋﻤﻠﻲ ﺧﻮد ﺑﻪ ﻗﺪري ﺑﺰرگ ﻫﺴﺘﻨﺪ ﻛﻪ ﻧﻤﻲﺗﻮان ﺟﻮاب ﺑﻬﻴﻨﻪ آﻧﻬﺎ را در ﻣﺪت زﻣﺎن ﻗﺎﺑﻞ ﭘﺬﻳﺮش ﺑﻪ دﺳﺖ آورد.‬
‫ﺑﺎ اﻳﻦ وﺟﻮد، اﻳﻦ ﻣﺴﺎﺋﻞ ﺑﺎﻳﺪ ﺣﻞ ﺷﻮﻧﺪ و ﺑﻨﺎﺑﺮاﻳﻦ ﭼﺎرهاي ﻧﻴﺴﺖ ﻛﻪ ﺑﻪ ﺟﻮاﺑﻬﺎي زﻳﺮ ﺑﻬﻴﻨﻪ62 ﺑﺴﻨﺪه ﻧﻤﻮد ﺑﻪ ﮔﻮﻧﻪاي ﻛﻪ داراي ﻛﻴﻔﻴـﺖ‬
‫ﻗﺎﺑﻞ ﭘﺬﻳﺮش ﺑﻮده و در ﻣﺪت زﻣﺎن ﻗﺎﺑﻞ ﭘﺬﻳﺮش ﺑﻪ دﺳﺖ آﻳﻨﺪ.‬
‫ﭼﻨﺪﻳﻦ روﻳﻜﺮد ﺑﺮاي ﻃﺮاﺣﻲ ﺟﻮاﺑﻬﺎي ﺑﺎ ﻛﻴﻔﻴﺖ ﻗﺎﺑﻞ ﭘﺬﻳﺮش ﺗﺤﺖ ﻣﺤﺪودﻳﺖ زﻣﺎﻧﻲ ﻗﺎﺑﻞ ﭘﺬﻳﺮش ﭘﻴﺸﻨﻬﺎد ﺷﺪه اﺳﺖ. اﻟﮕـﻮرﻳﺘﻢﻫـﺎﻳﻲ‬
‫ﻫﺴﺘﻨﺪ ﻛﻪ ﻣﻲﺗﻮاﻧﻨﺪ ﻳﺎﻓﺘﻦ ﺟﻮاﺑﻬﺎي ﺧﻮب در ﻓﺎﺻﻠﻪ ﻣﺸﺨﺼﻲ از ﺟﻮاب ﺑﻬﻴﻨﻪ را ﺗـﻀﻤﻴﻦ ﻛﻨﻨـﺪ ﻛـﻪ ﺑـﻪ آﻧﻬـﺎ اﻟﮕـﻮرﻳﺘﻢﻫـﺎي ﺗﻘﺮﻳﺒـﻲ‬
‫ﻣﻲﮔﻮﻳﻨﺪ. اﻟﮕﻮرﻳﺘﻢﻫﺎي دﻳﮕﺮي ﻫﺴﺘﻨﺪ ﻛﻪ ﺗﻀﻤﻴﻦ ﻣﻲدﻫﻨﺪ ﺑﺎ اﺣﺘﻤﺎل ﺑﺎﻻ ﺟﻮاب ﻧﺰدﻳﻚ ﺑﻬﻴﻨﻪ ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪ ﻛﻪ ﺑـﻪ آﻧﻬـﺎ اﻟﮕـﻮرﻳﺘﻢﻫـﺎي‬
‫اﺣﺘﻤﺎﻟﻲ ﮔﻔﺘﻪ ﻣﻲﺷﻮد. ﺟﺪاي از اﻳﻦ دو دﺳﺘﻪ، ﻣﻲﺗﻮان اﻟﮕﻮرﻳﺘﻢﻫﺎﻳﻲ را ﭘﺬﻳﺮﻓﺖ ﻛﻪ ﻫﻴﭻ ﺗﻀﻤﻴﻨﻲ در اراﺋﻪ ﺟﻮاب ﻧﺪارﻧﺪ اﻣﺎ ﺑـﺮ اﺳـﺎس‬
‫ﺷﻮاﻫﺪ و ﺳﻮاﺑﻖ ﻧﺘﺎﻳﺞ آﻧﻬﺎ، ﺑﻪ ﻃﻮر ﻣﺘﻮﺳﻂ ﺑﻬﺘﺮﻳﻦ ﺗﻘﺎﺑﻞ ﻛﻴﻔﻴﺖ و زﻣﺎن ﺣﻞ ﺑﺮاي ﻣﺴﺌﻠﻪ ﻣﻮرد ﺑﺮرﺳﻲ را ﺑﻪ ﻫﻤﺮاه داﺷـﺘﻪاﻧـﺪ. ﺑـﻪ اﻳـﻦ‬
‫اﻟﮕﻮرﻳﺘﻢﻫﺎ، اﻟﮕﻮرﻳﺘﻢﻫﺎي ﻫﻴﻮرﻳﺴﺘﻴﻚ ﮔﻔﺘﻪ ﻣﻲﺷﻮد.‬

‫ﻫﻴﻮرﻳﺴﺘﻴﻚﻫﺎ ﻋﺒﺎرﺗﻨﺪ از ﻣﻌﻴﺎرﻫﺎ، روﺷﻬﺎ ﻳﺎ اﺻﻮﻟﻲ ﺑﺮاي ﺗﺼﻤﻴﻢﮔﻴﺮي ﺑﻴﻦ ﭼﻨﺪ ﮔﺰﻳﻨﻪ ﺧﻂﻣﺸﻲ و اﻧﺘﺨﺎب اﺛﺮﺑﺨﺶﺗﺮﻳﻦ ﺑﺮاي دﺳﺘﻴﺎﺑﻲ‬
‫ﺑﻪ اﻫﺪاف ﻣﻮرد ﻧﻈﺮ. ﻫﻴﻮرﻳﺴﺘﻴﻚﻫﺎ ﻧﺘﻴﺠﻪ ﺑﺮﻗﺮاري اﻋﺘﺪال ﺑﻴﻦ دو ﻧﻴﺎز ﻫﺴﺘﻨﺪ: ﻧﻴﺎز ﺑﻪ ﺳﺎﺧﺖ ﻣﻌﻴﺎرﻫﺎي ﺳﺎده و در ﻫﻤﺎن زﻣﺎن ﺗﻮاﻧـﺎﻳﻲ‬
‫ﺗﻤﺎﻳﺰ درﺳﺖ ﺑﻴﻦ اﻧﺘﺨﺎبﻫﺎي ﺧﻮب و ﺑﺪ.‬
‫ﻳﻚ ﻫﻴﻮرﻳﺴﺘﻴﻚ ﻣﻲﺗﻮاﻧﺪ ﺣﺴﺎﺑﻲ ﺳﺮاﻧﮕﺸﺘﻲ ﺑﺎﺷﺪ ﻛﻪ ﺑﺮاي ﻫﺪاﻳﺖ ﻳﻚ دﺳﺘﻪ از اﻗﺪاﻣﺎت ﺑﻪ ﻛﺎر ﻣﻲرود. ﺑﺮاي ﻣﺜﺎل، ﻳﻚ روش ﻣﺸﻬﻮر‬
‫ﺑﺮاي اﻧﺘﺨﺎب ﻃﺎﻟﺒﻲ رﺳﻴﺪه ﻋﺒﺎرﺗﺴﺖ از ﻓﺸﺎر دادن ﻣﺤﻞ اﺗﺼﺎل ﺑﻪ رﻳﺸﻪ از ﻳﻚ ﻃﺎﻟﺒﻲ ﻧﺎﻣﺰد اﻧﺘﺨﺎب و ﺳﭙﺲ ﺑﻮ ﻛﺮدن آن ﻣﺤﻞ. اﮔﺮ‬
‫ﺑﻮي آن ﻣﺤﻞ ﻣﺎﻧﻨﺪ ﺑﻮي داﺧﻞ ﻃﺎﻟﺒﻲ ﺑﺎﺷﺪ آن ﻃﺎﻟﺒﻲ ﺑﻪ اﺣﺘﻤﺎل زﻳﺎد رﺳﻴﺪه اﺳﺖ. اﻳﻦ ﻗﺎﻋﺪه ﺳﺮاﻧﮕﺸﺘﻲ ﻧﻪ ﺗﻀﻤﻴﻦ ﻣﻲﻛﻨﺪ ﻛﻪ ﺗﻨﻬﺎ‬
‫ﻃﺎﻟﺒﻲﻫﺎي رﺳﻴﺪه ﺑﻪ ﻋﻨﻮان ﻧﺎﻣﺰد اﻧﺘﺨﺎب ﺷﻮﻧﺪ و ﻧﻪ ﺗﻀﻤﻴﻦ ﻣﻲﻛﻨﺪ ﻛﻪ ﻃﺎﻟﺒﻲﻫﺎي رﺳﻴﺪه آزﻣﺎﻳﺶ ﺷﺪه، رﺳﻴﺪه ﺗﺸﺨﻴﺺ داده ﺷﻮﻧﺪ‬

‫‪Combinatorial‬‬
‫‪suboptimal‬‬

‫52‬
‫62‬
‫اﻣﺎ ﺑﻪ ﻫﺮ ﺣﺎل اﻳﻦ روش، اﺛﺮﺑﺨﺶﺗﺮﻳﻦ روش ﺷﻨﺎﺧﺘﻪ ﺷﺪه اﺳﺖ.‬

‫ﺑﻪ ﻋﻨﻮان ﻣﺜﺎﻟﻲ دﻳﮕﺮ از اﺳﺘﻔﺎده ﻫﻴﻮرﻳﺴﺘﻴﻚﻫﺎ، ﻳﻚ اﺳﺘﺎد ﺑﺰرگ ﺷﻄﺮﻧﺞ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ ﻛﻪ ﺑﺎ اﻧﺘﺨﺎب ﺑﻴﻦ ﭼﻨﺪﻳﻦ ﺣﺮﻛﺖ ﻣﻤﻜﻦ‬
‫روﺑﺮو ﺷﺪه اﺳﺖ. وي ﻣﻤﻜﻦ اﺳﺖ ﺗﺼﻤﻴﻢ ﺑﮕﻴﺮد ﻛﻪ ﻳﻚ ﺣﺮﻛﺖ ﺧﺎص، اﺛﺮﺑﺨﺶﺗﺮﻳﻦ ﺣﺮﻛﺖ ﺧﻮاﻫﺪ ﺑﻮد زﻳﺮا ﻣﻮﻗﻌﻴﺘﻲ ﻓﺮاﻫﻢ ﻣﻲآورد‬
‫ﻛﻪ »ﺑﻪ ﻧﻈﺮ ﻣﻲرﺳﺪ« ﺑﻬﺘﺮ از ﻣﻮﻗﻌﻴﺖﻫﺎي ﺣﺎﺻﻞ از ﺣﺮﻛﺖﻫﺎي دﻳﮕﺮ ﺑﺎﺷﺪ. ﺑﻪ ﻛﺎرﮔﻴﺮي ﻣﻌﻴﺎر »ﺑﻪ ﻧﻈﺮ ﻣﻲرﺳﺪ« ﺧﻴﻠﻲ ﺳﺎدهﺗﺮ از‬
‫ﺗﻌﻴﻴﻦ دﻗﻴﻖ ﺣﺮﻛﺖ ﻳﺎ ﺣﺮﻛﺎﺗﻲ ﺧﻮاﻫﺪ ﺑﻮد ﻛﻪ ﺣﺮﻳﻒ را ﻣﺠﺒﻮر ﺑﻪ ﻣﺎت ﻛﻨﺪ. اﻳﻦ واﻗﻌﻴﺖ ﻛﻪ اﺳﺎﺗﻴﺪ ﺑﺰرگ ﺷﻄﺮﻧﺞ ﻫﻤﻮاره ﭘﻴﺮوز ﺑﺎزي‬
‫ﻧﺨﻮاﻫﻨﺪ ﺑﻮد ﻧﺸﺎن دﻫﻨﺪه اﻳﻦ اﺳﺖ ﻛﻪ ﻫﻴﻮرﻳﺴﺘﻴﻚﻫﺎي آﻧﻬﺎ اﻧﺘﺨﺎب اﺛﺮﺑﺨﺶﺗﺮﻳﻦ ﺣﺮﻛﺖ را ﺗﻀﻤﻴﻦ ﻧﻤﻲﻛﻨﻨﺪ. ﻧﻬﺎﻳﺘﺎ وﻗﺘﻲ از آﻧﻬﺎ‬
‫ﺧﻮاﺳﺘﻪ ﻣﻲﺷﻮد ﻛﻪ ﻫﻴﻮرﻳﺴﺘﻴﻚ ﺧﻮد را ﺗﺸﺮﻳﺢ ﻧﻤﺎﻳﻨﺪ آﻧﻬﺎ ﻓﻘﻂ ﺗﻮﺻﻴﻔﻲ ﻧﺎﻗﺺ از ﻗﻮاﻋﺪي اراﺋﻪ ﻣﻲدﻫﻨﺪ و ﺑﻪ ﻧﻈﺮ ﺧﻮد آﻧﻬﺎ، اﻧﺠﺎم آن‬
‫ﻗﻮاﻋﺪ از ﺗﻮﺻﻴﻒ آﻧﺎن ﺳﺎدهﺗﺮ اﺳﺖ.‬
‫ﺧﺎﺻﻴﺖ ﻫﻴﻮرﻳﺴﺘﻴﻚﻫﺎي ﺧﻮب اﻳﻦ اﺳﺖ ﻛﻪ اﺑﺰار ﺳﺎدهاي ﺑﺮاي ﺗﺸﺨﻴﺺ ﺧﻂﻣﺸﻲﻫﺎي ﺑﻬﺘﺮ اراﺋـﻪ دﻫﻨـﺪ و در ﺣـﺎﻟﻲ ﻛـﻪ ﺑـﻪ ﺻـﻮرت‬
‫ﺷﺮﻃﻲ ﻻزم، ﺗﺸﺨﻴﺺ ﺧﻂﻣﺸﻲﻫﺎي اﺛﺮﺑﺨﺶ را ﺗﻀﻤﻴﻦ ﻧﻤﻲﻛﻨﻨﺪ اﻣﺎ اﻏﻠﺐ ﺑﻪ ﺻﻮرت ﺷﺮط ﻛﺎﻓﻲ اﻳﻦ ﺗﻀﻤﻴﻦ را ﻓﺮاﻫﻢ آورﻧـﺪ. ﺑﻴـﺸﺘﺮ‬
‫ﻣﺴﺎﺋﻞ ﭘﻴﭽﻴﺪه ﻧﻴﺎزﻣﻨﺪ ارزﻳﺎﺑﻲ ﺗﻌﺪاد اﻧﺒﻮﻫﻲ از ﺣﺎﻟﺖﻫﺎي ﻣﻤﻜﻦ ﺑﺮاي ﺗﻌﻴﻴﻦ ﻳﻚ ﺟﻮاب دﻗﻴﻖ ﻣﻲﺑﺎﺷﻨﺪ. زﻣﺎن ﻻزم ﺑـﺮاي ﻳـﺎﻓﺘﻦ ﻳـﻚ‬
‫ﺟﻮاب دﻗﻴﻖ اﻏﻠﺐ ﺑﻴﺸﺘﺮ از ﻳﻚ ﻃﻮل ﻋﻤﺮ اﺳﺖ. ﻫﻴﻮرﻳﺴﺘﻴﻚﻫﺎ ﺑﺎ اﺳﺘﻔﺎده از روشﻫﺎي ﻧﻴﺎزﻣﻨﺪ ارزﻳﺎﺑﻲﻫﺎي ﻛﻤﺘﺮ و اراﺋـﻪ ﺟﻮاﺑﻬـﺎﻳﻲ در‬
‫ﻣﺤﺪودﻳﺖﻫﺎي زﻣﺎﻧﻲ ﻗﺎﺑﻞ ﻗﺒﻮل داراي ﻧﻘﺸﻲ اﺛﺮﺑﺨﺶ در ﺣﻞ ﭼﻨﻴﻦ ﻣﺴﺎﺋﻞ ﺧﻮاﻫﻨﺪ ﺑﻮد . ]3[‬

‫2,2.‬

‫اﻧﻮاع اﻟﮕﻮرﻳﺘﻢﻫﺎي ﻫﻴﻮرﻳﺴﺘﻴﻚ‬

‫در ﺣﺎﻟﺖ ﻛﻠﻲ ﺳﻪ دﺳﺘﻪ از اﻟﮕﻮرﻳﺘﻢﻫﺎي ﻫﻴﻮرﻳﺴﺘﻴﻚ ﻗﺎﺑﻞ ﺗﺸﺨﻴﺺ اﺳﺖ:‬
‫اﻟﮕﻮرﻳﺘﻢﻫﺎﻳﻲ ﻛﻪ ﺑﺮ وﻳﮋﮔﻲﻫﺎي ﺳﺎﺧﺘﺎري ﻣﺴﺌﻠﻪ و ﺳﺎﺧﺘﺎر ﺟﻮاب ﻣﺘﻤﺮﻛﺰ ﻣﻲﺷﻮﻧﺪ و ﺑﺎ اﺳﺘﻔﺎده از آﻧﻬﺎ اﻟﮕﻮرﻳﺘﻢﻫﺎي ﺳـﺎزﻧﺪه‬
‫ﻳﺎ ﺟﺴﺘﺠﻮي ﻣﺤﻠﻲ ﺗﻌﺮﻳﻒ ﻣﻲﻛﻨﻨﺪ.‬
‫اﻟﮕﻮرﻳﺘﻢﻫﺎﻳﻲ ﻛﻪ ﺑﺮ ﻫﺪاﻳﺖ ﻫﻴﻮرﻳﺴﺘﻴﻚ ﻳﻚ اﻟﮕﻮرﻳﺘﻢ ﺳﺎزﻧﺪه ﻳﺎ ﺟﺴﺘﺠﻮي ﻣﺤﻠـﻲ ﻣﺘﻤﺮﻛـﺰ ﻣـﻲﺷـﻮﻧﺪ ﺑـﻪ ﮔﻮﻧـﻪاي ﻛـﻪ آن‬
‫اﻟﮕﻮرﻳﺘﻢ ﺑﺘﻮاﻧﺪ ﺑﺮ ﺷﺮاﻳﻂ ﺣﺴﺎس )ﻣﺎﻧﻨﺪ ﻓﺮار از ﺑﻬﻴﻨﻪ ﻣﺤﻠﻲ( ﻏﻠﺒﻪ ﻛﻨﺪ. ﺑﻪ اﻳﻦ اﻟﮕﻮرﻳﺘﻢﻫﺎ، ﻣﺘﺎﻫﻴﻮرﻳﺴﺘﻴﻚ ﮔﻔﺘﻪ ﻣﻲﺷﻮد.‬
‫اﻟﮕﻮرﻳﺘﻢﻫﺎﻳﻲ ﻛﻪ ﺑﺮ ﺗﺮﻛﻴﺐ ﻳﻚ ﭼﺎرﭼﻮب ﻳﺎ ﻣﻔﻬﻮم ﻫﻴﻮرﻳﺴﺘﻴﻚ ﺑﺎ ﮔﻮﻧﻪﻫﺎﻳﻲ از ﺑﺮﻧﺎﻣﻪرﻳﺰي رﻳﺎﺿﻲ )ﻣﻌﻤﻮﻻً روﺷﻬﺎي دﻗﻴـﻖ(‬
‫ﻣﺘﻤﺮﻛﺰ ﻣﻲﺷﻮﻧﺪ..‬
‫ﻫﻴﻮرﻳﺴﺘﻴﻚﻫﺎي ﻧﻮع اول ﻣﻲﺗﻮاﻧﻨﺪ ﺧﻴﻠﻲ ﺧﻮب ﻋﻤﻞ ﻛﻨﻨﺪ )ﮔﺎﻫﻲ اوﻗﺎت ﺗﺎ ﺣﺪ ﺑﻬﻴﻨﮕﻲ( اﻣﺎ ﻣﻲﺗﻮاﻧﻨـﺪ در ﺟـﻮابﻫـﺎي داراي ﻛﻴﻔﻴـﺖ‬
‫ﭘﺎﻳﻴﻦ ﮔﻴﺮ ﻛﻨﻨﺪ. ﻫﻤﺎن ﻃﻮر ﻛﻪ اﺷﺎره ﺷﺪ ﻳﻜﻲ از ﻣﺸﻜﻼت ﻣﻬﻢ اﻳﻦ اﻟﮕﻮرﻳﺘﻢﻫﺎ ﺑﺎ آن روﺑﺮو ﻣﻲﺷﻮﻧﺪ اﻓﺘﺎدن در ﺑﻬﻴﻨﻪﻫﺎي ﻣﺤﻠﻲ اﺳـﺖ‬
‫ﺑﺪون اﻳﻨﻜﻪ ﻫﻴﭻ ﺷﺎﻧﺴﻲ ﺑﺮاي ﻓﺮار از آﻧﻬﺎ داﺷﺘﻪ ﺑﺎﺷﻨﺪ. ﺑﺮاي ﺑﻬﺒﻮد اﻳﻦ اﻟﮕﻮرﻳﺘﻢﻫﺎ از اواﺳﻂ دﻫﻪ ﻫﻔﺘﺎد، ﻣﻮج ﺗﺎزهاي از روﻳﻜﺮدﻫـﺎ آﻏـﺎز‬
‫ﮔﺮدﻳﺪ. اﻳﻦ روﻳﻜﺮدﻫﺎ ﺷﺎﻣﻞ اﻟﮕﻮرﻳﺘﻢﻫﺎﻳﻲ اﺳﺖ ﻛﻪ ﺻﺮﻳﺤﺎً ﻳﺎ ﺑﻪ ﺻﻮرت ﺿﻤﻨﻲ ﺗﻘﺎﺑﻞ ﺑﻴﻦ اﻳﺠﺎد ﺗﻨﻮع ﺟﺴﺘﺠﻮ )وﻗﺘـﻲ ﻋﻼﺋﻤـﻲ وﺟـﻮد‬
‫دارد ﻛﻪ ﺟﺴﺘﺠﻮ ﺑﻪ ﺳﻤﺖ ﻣﻨﺎﻃﻖ ﺑﺪ ﻓﻀﺎي ﺟﺴﺘﺠﻮ ﻣﻲرود( و ﺗﺸﺪﻳﺪ ﺟﺴﺘﺠﻮ )ﺑﺎ اﻳﻦ ﻫﺪف ﻛﻪ ﺑﻬﺘﺮﻳﻦ ﺟﻮاب در ﻣﻨﻄﻘﻪ ﻣﻮرد ﺑﺮرﺳﻲ‬
‫را ﭘﻴﺪا ﻛﻨﺪ( را ﻣﺪﻳﺮﻳﺖ ﻣﻲﻛﻨﻨﺪ..‬
‫اﻳﻦ اﻟﮕﻮرﻳﺘﻢﻫﺎ ﻣﺘﺎﻫﻴﻮرﻳﺴﺘﻴﻚ ﻧﺎ ﻣﻴﺪه ﻣﻲﺷﻮﻧﺪ. از ﺑﻴﻦ اﻳﻦ اﻟﮕﻮرﻳﺘﻢﻫﺎ ﻣﻲﺗﻮان ﺑﻪ ﻣﻮارد زﻳﺮ اﺷﺎره ﻛﺮد:‬
‫72ﺑﺎزﭘﺨﺖ ﺷﺒﻴﻪ ﺳﺎزي ﺷﺪه‬
‫82ﺟﺴﺘﺠﻮي ﻣﻤﻨﻮع‬
‫92اﻟﮕﻮرﻳﺘﻢﻫﺎي ژﻧﺘﻴﻚ‬
‫03ﺷﺒﻜﻪﻫﺎي ﻋﺼﺒﻲ ﻣﺼﻨﻮﻋﻲ‬
‫13ﺑﻬﻴﻨﻪﺳﺎزي ﻣﻮرﭼﻪاي ﻳﺎ اﻟﮕﻮرﻳﺘﻢﻫﺎي ﻣﻮرﭼﻪ‬

‫72‬

‫)‪Simulated Annealing (SA‬‬
‫)‪Tabu Search (TS‬‬
‫92‬
‫)‪Genetic Algorithms (GA‬‬
‫03‬
‫‪Neural Networks‬‬
‫13‬
‫)‪Ant Colony Optimization (ACO‬‬
‫82‬
‫اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬

‫1,3.‬

‫ﻣﻘﺪﻣﻪ:‬

‫اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ اﺑﺰاري ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ ﺗﻮﺳﻂ آن ﻣﺎﺷﻴﻦ ﻣﻲ ﺗﻮاﻧﺪ ﻣﻜﺎﻧﻴﺰم اﻧﺘﺨﺎب ﻃﺒﻴﻌﻲ را ﺷﺒﻴﻪ ﺳﺎزي ﻧﻤﺎﻳﺪ. اﻳﻦ ﻋﻤﻞ ﺑﺎ ﺟـﺴﺘﺠﻮ‬
‫در ﻓﻀﺎي ﻣﺴﺌﻠﻪ ﺟﻬﺖ ﻳﺎﻓﺘﻦ ﺟﻮاب ﺑﺮﺗﺮ و ﻧﻪ اﻟﺰاﻣﺎ ﺑﻬﻴﻨﻪ ﺻﻮرت ﻣﻲ ﭘﺬﻳﺮد. ]1[‬
‫اﻟﮕﻮرﻳﺘﻢ ﻫﺎي ژﻧﺘﻴﻚ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻧﻈﺮﻳﻪ داروﻳﻦ در ﻣﻮرد ﺗﻜﺎﻣـﻞ ، ﺟـﺎن ﮔﺮﻓﺘﻨـﺪ . ﺳـﭙﺲ ﻧﻈﺮﻳـﻪ ﻣﺤﺎﺳـﺒﺎت ﺗﻜـﺎﻣﻠﻲ ، ﺗﻮﺳـﻂ‬
‫رﻳﭽﻨﺒﺮگ در ﺳﺎل 0691 ﻣﻌﺮﻓﻲ ﺷﺪﻧﺪ و اﻳﻦ ﻧﻈﺮﻳﻪ ﺗﻮﺳﻂ ﻣﺤﻘﻘﺎن دﻳﮕﺮ ﺗﻮﺳﻌﻪ ﻳﺎﻓﺖ ﺗﺎ در ﺳﺎل 5791 ﻣﻨﺠﺮ ﺑـﻪ اﺧﺘـﺮاع اﻟﮕـﻮرﻳﺘﻢ‬
‫23‬

‫ﻫﺎي ژﻧﺘﻴﻚ ﺗﻮﺳﻂ ﻫﺎﻻﻧﺪ‬

‫و داﻧﺸﺠﻮﻳﺎﻧﺶ ﺷﺪ.‬

‫در اﻟﮕﻮرﻳﺘﻢ ﻫﺎي ژﻧﺘﻴﻚ ﻳﻚ ﺳﺮي ﺗﻌﺎرﻳﻒ اوﻟﻴﻪ دارﻳﻢ ﻛﻪ در زﻳﺮ آﻣﺪه اﺳﺖ:‬
‫1. ژن )‪ : (gene‬واﺣﺪ ﭘﺎﻳﻪ ژﻧﺘﻴﻚ اﺳﺖ.‬
‫2. ﻓﺮم )‪ : (allele‬ﺣﺎﻟﺘﻬﺎي ﻣﺨﺘﻠﻒ ﻫﺮ ژن را ﻣﻲ ﮔﻮﻳﻨﺪ.‬
‫3. ﻛﺮوﻣﻮزوم )‪ : (choromosome‬ﺑﻪ ﮔﺮوﻫﻲ از ژﻧﻬﺎ اﻃﻼق ﻣﻲ ﺷﻮد.‬
‫ﺑﻌﺪ از ﺗﻌﺎرﻳﻒ ﺑﺎﻻ ﻣﻔﺎﻫﻴﻤﻲ از ﻗﺒﻴﻞ ‪ Encoding , Evaluation , Crossover , Mutation‬ﻣﻄﺮح ﻣﻲ ﺷﻮد ﻛﻪ ﺑﺮ اﺳﺎس ﺳﻪ‬
‫ﺗﻌﺮﻳﻒ ﺑﺎﻻ ﻣﻄﺮح ﻣﻲ ﺷﻮﻧﺪ.‬

‫2,3.‬

‫اﺻﻮل اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬

‫ﺣﺎل ﺑﻪ ﺷﺮح ﻣﺮاﺣﻞ ذﻛﺮ ﺷﺪه درﻣﻘﺪﻣﻪ ﻣﻲ ﭘﺮدازﻳﻢ.‬

‫١٫٢٫٣.‬

‫: ‪Encoding‬‬

‫اﻳﻦ ﻣﺮﺣﻠﻪ ﺷﺎﻳﺪ ﻣﺸﻜﻠﺘﺮﻳﻦ ﻣﺮﺣﻠﻪ ﺣﻞ ﻣﺴﺎﻟﻪ ﺑﻪ روش اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﺑﺎﺷﺪ.اﻳﻦ ﻣﺮﺣﻠﻪ ﺑﻪ اﻳﻦ ﻣﻔﻬﻮم اﺳﺖ ﻛﻪ ﻣﺎ ﺑﺎﻳﺪ ﺑﺎ اراﺋﻪ ﻳـﻚ‬
‫33‬

‫ﺷﺒﻴﻪ ﺳﺎزي و ﺟﺎﻳﮕﺬاري‬

‫ﺧﻮب ﺑﺮاي ﻛﻠﻴﻪ ﺟﻮاﺑﻬﺎي ﻣﻤﻜﻦ ﻣﺮاﺣﻞ ﺑﻌﺪي را اداﻣﻪ دﻫﻴﻢ. اﻫﻤﻴﺖ اﻳﻦ ﻣﺮﺣﻠﻪ ﺑﻪ اﻳﻦ دﻟﻴـﻞ اﺳـﺖ ﻛـﻪ‬

‫ﻧﺤﻮه اداﻣﻪ ﻛﺎر ﺑﻪ اﻳﻦ ﻣﺮﺣﻠﻪ ﺑﺴﺘﮕﻲ دارد.‬

‫‪Holland‬‬

‫23‬
‫در واﻗﻊ ﻣﺎ در اﻳﻦ ﻣﺮﺣﻠﻪ رﺷﺘﻪ ﻫﺎي ﻛﺮوﻣﻮزوﻣﻲ ﻳﺎ ﻫﻤﺎن رﺷﺘﻪ ﻫﺎي ﺑﻴﺘﻲ ﻣﻤﻜﻦ ﺑﺮاي ﺟﻮاﺑﻬﺎ را ﻣﻲ ﺳﺎزﻳﻢ. ﭼﻪ ﺑﺴﺎ ﻣـﺎ ﺑﺘـﻮاﻧﻴﻢ ﺑـﺎ‬
‫ﻳﻚ ﺷﺒﻴﻪ ﺳﺎزي ﺧﻮب ﺑﺮاي ﺟﻮاﺑﻬﺎ اﻟﮕﻮرﻳﺘﻢ را در ﻳﻚ زﻣﺎن ﺧﻮب و ﻣﻌﻘﻮل ﭘﻴﺶ ﺑﺒﺮﻳﻢ. ﺑﻌﺪ از ﺳﺎﺧﺘﺎر ﺑﻨﺪي ﺑﺮاي ﻫﺮ ﺟﻮاب ﻣﻤﻜـﻦ از‬
‫ﻛﻨﺎر ﻫﻢ ﮔﺬاﺷﺘﻦ اﻳﻦ ﺳﺎﺧﺘﺎرﻫﺎ ﺟﻤﻌﻴﺖ اوﻟﻴﻪ43 ﻣﺎ ﺳﺎﺧﺘﻪ ﻣﻲ ﺷﻮد.‬
‫ﺑﺮاي ﻣﺜﺎل ﺑﺮاي ﺷﺒﻴﻪ ﺳﺎزي اﻋﺪاد ﻳﻚ روش ﻣﻌﻤﻮل ﻛﻪ ﺑﻪ ﻛﺎر ﻣﻲ رود ﻋﺒﺎرﺗﺴﺖ از ﺗﺒﺪﻳﻞ ﻋﺪد ﺑﻪ ﻳﻚ رﺷﺘﻪ ﺑﺎﻳﻨﺮي53 .‬

‫) رﺷﺘﻪ ﺑﺎ ﻃﻮل 4 (‬

‫1 0 1 1 → 31‬

‫1001 →‬

‫٢٫٢٫٣.‬

‫9‬

‫: ‪Evaluation‬‬

‫اﻳﻦ ﻣﺮﺣﻠﻪ ﻧﻴﺰ ﻧﻘﺶ ﺑﺴﻴﺎر ﻣﻬﻤﻲ را در ﺣﻞ ﻣﺴﺎﻟﻪ ﺑﻪ روش ا ﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ اﻳﻔﺎ ﻣﻲ ﻛﻨﺪ. ﻣﺎ در اﻳﻦ ﻣﺮﺣﻠﻪ ﺑﺎ ﻣﻌﺮﻓﻲ ﻳـﻚ ﻣﻌﻴـﺎر و‬
‫اﻧﺪازه ﺑﻪ ﺑﻬﺘﺮ ﺑﻮدن ﻳﺎ ﻧﺒﻮدن ﻫﺮ ﺟﻮاب ﻣﻤﻜﻦ از ﺟﻤﻌﻴﺖ اوﻟﻴﻪ ﭘﻲ ﻣﻲ ﺑﺮﻳﻢ. ﻳﻌﻨﻲ اﻳﻨﻜﻪ اﻳﻦ ﻣﻌﻴﺎر ﺑﻪ ﻣﺎ ﻣﻴﮕﻮﻳﺪ ﻛﻪ ﻣﺜﻼ ﺟـﻮاب ‪x‬‬
‫واﻗﻊ در ﺟﻤﻌﻴﺖ اوﻟﻴﻪ ﭼﻘﺪر ﺧﻮب اﺳﺖ.‬
‫اﻳﻦ ﻣﻌﻴﺎر ﻣﻲ ﺗﻮاﻧﺪ ﺑﺎ ﻧﺴﺒﺖ دادن ﻳﻚ ﻋﺪد ﺑﻪ ﻫﺮ ﺟﻮاب ﻣﻤﻜﻦ ﻣﻴﺰان ﺧﻮب ﺑﻮدن آن ﺟﻮاب را ﺑﻴﺎن ﻛﻨﺪ. ﻣﺜﻼ اﮔﺮ داﺷﺘﻪ ﺑﺎﺷـﻴﻢ ‪f‬‬
‫3 = )‪ (a‬و 5 = )‪f (b‬‬

‫اﻳﻦ ﺑﻪ اﻳﻦ ﻣﻌﻨﻲ اﺳﺖ ﻛﻪ ﻋﻀﻮ ‪ b‬در ﺟﻤﻌﻴﺖ اوﻟﻴﻪ ﺑﻬﺘﺮ از ‪ a‬اﺳـﺖ ﻳـﺎ ﻣﻘـﺪار ‪ Fitness‬ﺑـﺎﻻﺗﺮي‬

‫ﻧﺴﺒﺖ ﺑﻪ ‪ a‬دارد.‬

‫3,2,3. : ‪Crossover‬‬
‫ﺑﻪ اﻳﻦ ﻣﻄﻠﺐ اﺷﺎره ﺷﺪ ﻛﻪ در اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﺑﺮاي ﺑﻮﺟﻮد آوردن ﻳﻚ ﻧﺴﻞ ﺟﺪﻳﺪ ) ﻳﺎ ﻳﻚ ﺳﺮي ﻛﺮوﻣﻮزوم ﺟﺪﻳﺪ ( از ﺟﻮاﺑﻬـﺎ ﻣـﺎ‬
‫ﻳﻚ ﺳﺮي از ﺗﻐﻴﻴﺮات را روي ﺟﻮاﺑﻬﺎي اﻧﺘﺨﺎب ﺷﺪه‬

‫63‬

‫ﻳﺎ ﻛﺮوﻣﻮزوﻣﻬﺎ اﻋﻤﺎل ﻣﻲ ﻛﻨﻴﻢ. ﺑﻪ اﻳﻦ ﺳـﺮي از ﺗﻐﻴﻴـﺮات اﻋﻤـﺎل ﻋﻤﻠﮕـﺮ ﻣـﻲ‬

‫ﮔﻮﻳﻴﻢ. ﻋﻤﻠﮕﺮﻫﺎي ﻣﺎ در اﻳﻦ ﺗﻐﻴﻴﺮات دو ﻋﻤﻠﮕﺮ ‪ Crossover‬و ‪ Mutation‬ﻣﻲ ﺑﺎﺷﺪ ﻛـﻪ ﻣـﺎ در اﻳـﻦ ﻗـﺴﻤﺖ ﺑـﻪ ﻧﺤـﻮه ﻋﻤﻠﻜـﺮد‬
‫‪ Crossover‬ﻣﻲ ﭘﺮدازﻳﻢ.‬

‫33‬

‫‪Representation‬‬
‫‪First Population‬‬
‫53‬
‫‪binary string‬‬
‫63‬
‫‪Selected‬‬
‫43‬
‫ﻋﻤﻠﮕﺮ ‪ Crossover‬روي ﺟﻮاﺑﻬﺎي اﻧﺘﺨﺎب ﺷﺪه ﺑﺮاي ﺗﻐﻴﻴﺮ ﺑﻪ اﻳﻦ ﮔﻮﻧﻪ ﻋﻤﻞ ﻣﻲ ﻛﻨﺪ ﻛﻪ ﻳﻚ ﻧﻘﻄﻪ ﺑﻪ ﺻﻮرت ﺗﺼﺎدﻓﻲ روي رﺷﺘﻪ‬
‫ﻛﺮوﻣﻮزوﻣﻲ اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﺪ )ﻛﻪ اﻟﺒﺘﻪ ‪ random‬اﺳﺖ( ﺑﻌﺪ ﻧﺎﺣﻴﻪ ﻫﺎي ﭼﭗ ﻳﺎ راﺳﺖ آن ﻧﻘﻄﻪ در رﺷﺘﻪ ﻛﺮوﻣﻮزوﻣﻲ ﺟﺎ ﺑﻪ ﺟﺎ ﻣﻴﺸﻮد.‬
‫در ﺷﻜﻞ 1 - 3 ﻧﻤﻮﻧﻪ ﻫﺎﻳﻲ از ‪ crossover‬ﺑﺎ ﻳﻚ ﻧﻘﻄﻪ اﻧﺘﺨﺎﺑﻲ را ﻣﺸﺎﻫﺪه ﻣﻲ ﻛﻨﻴﺪ.‬

‫ﺷﻜﻞ 1 – 3 )‪ crossover‬ﺑﺎ ﻳﻚ ﻧﻘﻄﻪ اﻧﺘﺨﺎﺑﻲ (‬

‫|‬

‫01101100100 11011‬

‫1 ‪Parent‬‬

‫01111000011 11011‬

‫2 ‪Parent‬‬

‫01111000011 11011‬

‫1 ‪child‬‬

‫01101100100 11011‬

‫2 ‪child‬‬

‫|‬

‫|‬
‫|‬

‫ﻫﻤﭽﻨﻴﻦ ﺑﺮاي ‪ crossover‬ﻣﻲ ﺗﻮاﻧﻴﻢ دو ﻧﻘﻄﻪ اﻧﺘﺨﺎب ﻛﻨﻴﻢ و ﻧﺎﺣﻴﻪ ﻫﺎي ﺑﻴﻦ دو ﻧﻘﻄﻪ را ﺟﺎ ﺑﻪ ﺟﺎ ﻛﻨﻴﻢ.‬
‫) ﺷﻜﻞ 2 – 3 (‬

‫ﺷﻜﻞ 2 – 3 )‪ crossover‬ﺑﺎ دو ﻧﻘﻄﻪ اﻧﺘﺨﺎﺑﻲ (‬

‫|‬

‫|‬

‫|‬

‫|‬

‫011011 00100 11011 1 ‪Parent‬‬
‫011110 00011 11011 2 ‪Parent‬‬

‫|‬

‫|‬

‫|‬

‫|‬

‫011011 00011 11011‬
‫011110 00100 11011‬

‫4,2,3. ‪Mutation‬‬

‫1 ‪child‬‬
‫2 ‪child‬‬
‫‪ Mutation‬ﻧﻴﺰ ﻋﻤﻠﮕﺮ دﻳﮕﺮي ﻫﺴﺖ ﻛﻪ ﺟﻮاﺑﻬﺎي ﻣﻤﻜﻦ دﻳﮕﺮي را ﻣﺘﻮﻟﺪ ﻣﻲ ﻛﻨﺪ. ﻧﺤﻮه ﻋﻤﻠﻜﺮد آن ﺑﻪ اﻳﻦ ﮔﻮﻧـﻪ اﺳـﺖ ﺑـﻪ ﺻـﻮرت‬
‫ﺗﺼﺎدﻓﻲ روي ﻛﺮوﻣﻮزوم اﻧﺘﺨﺎﺑﻲ ﻧﻘﻄﻪ اي را اﻧﺘﺨﺎب ﻛﺮده و ﻓﺮم 73 آن را ﺗﻐﻴﻴﺮ ﻣﻲ دﻫﺪ. در ﺷﻜﻞ ﻳـﻚ ﺑﻌـﺪ از اﻧﺘﺨـﺎب ﻧﻘﻄـﻪ ﻓـﺮم آن‬
‫ﺗﻐﻴﻴﺮ ﻣﻲ ﻛﻨﺪ و ﻣﻲ ﺗﻮاﻧﺪ ﻋﺪد دﻳﮕﺮي ﻣﺜﻞ 2 اﺧﺘﻴﺎر ﻛﻨﺪ.)ﺷﻜﻞ 3-3(‬

‫1‬

‫011110000111 011 ‪Original offspring‬‬

‫0‬

‫011110000111 011‬

‫۵٫٢٫٣.‬

‫‪Mutated offspring‬‬

‫‪Decoding‬‬

‫ﻋﻜﺲ ﻋﻤﻞ ‪ encoding‬اﺳﺖ. در اﻳﻦ ﻣﺮﺣﻠﻪ ﺑﻌﺪ از اﻳﻨﻜﻪ اﻟﮕﻮرﻳﺘﻢ ﺑﻬﺘﺮﻳﻦ ﺟﻮاب را ﺑﺮاي ﻣﺴﺎﻟﻪ اراﺋﻪ ﻛﺮد ﻻزم اﺳﺖ ﻋﻜﺲ ﻋﻤﻞ‬
‫رﻣﺰﮔﺬاري روي ﺟﻮاﺑﻬﺎ ﻳﺎ ﻫﻤﺎن ‪ decoding‬اﻋﻤﺎل ﺷﻮد ﺗﺎ ﺑﺘﻮاﻧﻴﻢ ﻧﺴﺨﻪ واﻗﻌﻲ ﺟﻮاب را ﺑﻪ وﺿﻮح در دﺳﺖ داﺷﺘﻪ ﺑﺎﺷﻴﻢ.‬

‫3,3.‬

‫ﻣﺮاﺣﻞ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬

‫اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﺑﺎ اﻧﺠﺎم ﻗﺪم ﺑﻪ ﻗﺪم ﻣﺮاﺣﻞ زﻳﺮ ﭘﻴﺸﺮﻓﺖ ﻣﻲ ﻛﻨﺪ:‬
‫1.‬

‫ﺷﺮوع اﻟﮕﻮرﻳﺘﻢ ﺑﺎ ﻳﻚ ﺟﻤﻌﻴﺖ ﻣﺘﺸﻜﻞ از ‪ n‬ﻓﺮد ﺗﺼﺎدﻓﻲ ﻛﻪ ﻫﺮ ﻛﺪام ﻛﺮوﻣﻮزوﻣﻲ ﺑﻪ ﻃﻮل ‪ l‬دارﻧﺪ.‬

‫2.‬

‫ﻣﺤﺎﺳﺒﻪ ‪ fitness‬ﺑﺮاي ﻫﺮ ﻓﺮد‬

‫3.‬

‫اﻧﺘﺨﺎب دو ﻓﺮد ﺑﺮ اﺳﺎس ﺑﺎﻻﺗﺮ ﺑﻮدن ‪) fitness‬اﻧﺘﺨﺎب واﻟﺪﻳﻦ(‬

‫4.‬

‫اﻋﻤﺎل ‪ crossover‬و ﺗﻮﻟﺪ ﺑﭽﻪ ﻫﺎ از واﻟﺪﻳﻦ‬

‫5.‬

‫اﻋﻤﺎل ‪ mutation‬ﺑﺎ اﺣﺘﻤﺎل ‪ p‬ﺑﺮاي ﻫﺮ ب‬

‫6.‬

‫ﻗﺮار دادن ﺑﭽﻪ ﻫﺎي ﻣﺘﻮﻟﺪ ﺷﺪه داﺧﻞ ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﺑﻪ ﻋﻨﻮان ﻧﺴﻞ ﺟﺪﻳﺪ‬
‫‪allele‬‬

‫73‬
‫83‬

‫7.‬

‫ﺗﻐﻴﻴﺮ دادن ﺟﻤﻌﻴﺖ اوﻟﻴﻪ ﻫﻤﺮاه ورود ﻧﺴﻞ ﺟﺪﻳﺪ‬

‫8.‬

‫رﻓﺘﻦ ﺑﻪ ﻗﺪم 2‬

‫در اﺑﺘﺪاي اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﻳﻚ ﺟﻤﻌﻴﺖ اوﻟﻴﻪ ﺷﺎﻣﻞ ‪ n‬ﺟﻮاب ﻣﻤﻜـﻦ ﺗـﺼﺎدﻓﻲ درﺳـﺖ ﻣـﻲ ﻛﻨـﻴﻢ . ﺑﻌـﺪ ﺗـﺎﺑﻊ ارزﻳـﺎ ﺑـﻲ93 ﻣﻘـﺪار‬
‫ﺑﺮازﻧﺪﮔﻲ04 ﻫﺮ ﺟﻮاب را ﺣﺴﺎب ﻣﻲ ﻛﻨﺪ. . ﻳﻚ ﺗﺎﺑﻊ اﻧﺘﺨﺎب14 ﺑﺮ اﺳﺎس اﻳﻨﻜﻪ ﻫﺮ ﺟﻮاﺑﻲ ﻛﻪ ﺑﺮازﻧﺪﮔﻲ ﺑﺎﻻﺗﺮي داﺷﺖ اﺣﺘﻤـﺎل اﻧﺘﺨـﺎب‬
‫ﺑﻴﺸﺘﺮي دارد دو ‪ parent‬اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﺪ ﺑﺮاي ﻣﺮﺣﻠﻪ ﺑﻌﺪ ﻋﻤﻠﮕﺮﻫـﺎي ‪ crossover‬و ‪ mutation‬روي ﻛﺮوﻣـﻮزوم ﻫـﺎي اﻧﺘﺨـﺎب‬
‫ﺷﺪه اﻋﻤﺎل ﻣﻲ ﺷﻮد.‬
‫ﺑﻌﺪ از اﻳﻦ ﻣﺮﺣﻠﻪ ﺗﻌﺪادي از ﺟﻮاﺑﻬﺎي ﺑﺪ ﻳﻌﻨﻲ ﺑﺎ ﺑﺮازﻧﺪﮔﻲ ﭘﺎﻳﻴﻦ ﺣﺬف ﻣﻲ ﺷﻮﻧﺪ و ﺟﺎي ﺧﻮد را ﺑﻪ ﺑﭽﻪ ﻫﺎي ﻣﺘﻮﻟـﺪ ﺷـﺪه و ﻧـﺴﻞ‬
‫ﺟﺪﻳﺪ ﻣﻲ دﻫﻨﺪ. ﺑﻌﺪ از ﺗﺜﺒﻴﺖ ﻧﺴﻞ ﺟﺪﻳﺪ اﻟﮕﻮرﻳﺘﻢ ﺑﺎر دﻳﮕﺮ ﺑﻪ ﻣﺮﺣﻠﻪ ارزﻳﺎﺑﻲ ﺑﺮﻣﻲ ﮔﺮدد.‬

‫ﻫﻤﺎن ﻃﻮر ﻛﻪ اﺷﺎره ﺷﺪ ﻋﻤﻞ اﻧﺘﺨﺎب )ﻣﺮﺣﻠﻪ 3 ( ﺑﺮاﻳﻦ اﺳﺎس اﻧﺠﺎم ﻣﻲ ﺷﻮد ﻛﻪ ﻫﻤﻪ ﺟﻮاﺑﻬﺎ ﺑﺮاي ‪ parent‬ﺷﺪن ﻫـﻢ ﺷـﺎﻧﺲ‬
‫ﻧﻴﺴﺘﻨﺪ . ﺑﻪ ﻋﺒﺎرت دﻳﮕﺮ ﺟﻮاب ﻫﺎﻳﻲ اﺣﺘﻤﺎل زﻳﺎد و ﺑﺎﻻﺗﺮي ﺑﺮاي ‪ parent‬ﺷﺪن دارﻧﺪ ﻛﻪ ﻣﻘﺪار ﺑﺮازﻧﺪﮔﻲ آﻧﻬﺎ ﺑﺎﻻﺗﺮ ﺑﺎﺷﺪ.‬
‫ﻣﺎ ﻣﻲ ﺗﻮاﻧﻴﻢ ﺑﺮاي ﻫﺮ ﺟﻮاب ﻳﻚ ﻋﺪد ﺑﻪ ﻋﻨﻮان ﺑﺮازﻧﺪﮔﻲ ﻧﻈﻴﺮ ﻛﻨﻴﻢ ٫ ﻣﺜﻼ ﺑﺮاي ﺟﻮاب ﺑﻮدن 2=‪ x‬ﻋﺪد 4 و ﺟـﻮاب ﺑـﻮدن 0=‪x‬‬
‫ﻋﺪد 2 را ﻧﺴﺒﺖ دﻫﻴﻢ. )ﺟﺪول 1-3 ( در اﻳﻦ ﺻﻮرت ﻣﺸﺨﺺ اﺳﺖ ﻛﻪ 2=‪ x‬ﺟﻮاب ﺑﻬﺘﺮي ﻧﺴﺒﺖ ﺑﻪ 0 =‪ x‬اﺳـﺖ. ﺣـﺎل ﻣـﻲ ﺗـﻮاﻧﻴﻢ‬
‫ﺗﺎﺑﻊ اﺣﺘﻤﺎل و اﻧﺘﺨﺎب را ﺑﻪ اﻳﻦ ﮔﻮﻧﻪ ﺗﻌﺮﻳﻒ ﻛﻨﻴﻢ : )ﺟﻤﻌﻴﺖ24 ‪ p‬و اﻋﺪاد ﻧﻈﻴﺮ ﺷﺪه ‪ 43q‬ﻓﺮض ﺷﺪه اﺳﺖ.(‬

‫اﻳﻦ ﻧﻮع اﻧﺘﺨﺎب ‪ Roulette Wheel Selection‬ﻧﺎﻣﻴﺪه ﻣﻲ ﺷﻮد ﻛﻪ ﺷﻜﻠﻬﺎي 4 – 3 و 5- 3 ﻧﺸﺎن‬
‫ﻣﻲ دﻫﺪ.‬

‫83‬

‫‪New Generation‬‬
‫‪evaluation‬‬
‫04‬
‫‪fitness‬‬
‫14‬
‫‪selection‬‬
‫24‬
‫‪population‬‬
‫34‬
‫‪quality‬‬
‫93‬
3-1 ‫ﺟﺪول‬
Chromosome

Fitness

10110110

20

10000000

5

11101110

15

10010011

8

10100010

12

3-4 ‫ﺷﻜﻞ‬

( Roulette Wheel Selection ) 3 -5 ‫ﺷﻜﻞ‬
‫4,3. ﻣﺜﺎل ﻋﺪدي‬
‫ﻓﺮض ﻛﻨﻴﺪ ﺗﺎﺑﻊ 3- ‪ f(x) = -x² + 6x‬را دارﻳﻢ . ﻣﻲ ﺧﻮاﻫﻴﻢ ﺑﺮاي‬

‫51 ≤ ‪0 ≤ x‬‬

‫و ‪ x € N‬ﻣﺎﻛﺰﻳﻤﻢ ﺗﺎﺑﻊ را ﺑﻴﺎﺑﻴﻢ.‬

‫ﻣﺮاﺣﻞ ﺣﻞ ﻣﺴﺎﻟﻪ ﺑﻪ روش اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﺑﻪ ﺷﺮح زﻳﺮ اﺳﺖ :‬

‫1. ‪encoding‬‬
‫ﺑﺮاي اﻳﻨﻜﻪ ﻣﺎ ﺟﻮاﺑﻬﺎي ﻣﻤﻜﻦ ﻳﻌﻨﻲ 51 ≤ ‪ 0 ≤ x‬را ﻛﺪﮔﺬاري ﻛﻨﻴﻢ ﻳﻜﻲ از روﺷﻬﺎﻳﻲ ﻛﻪ در ﭘﻴﺶ دارﻳﻢ ﺗﺒﺪﻳﻞ ﻫﺮ ﻋـﺪد ﺑـﻪ ﻳـﻚ‬
‫ﻋﺪد ﺑﺎﻳﻨﺮي ﻣﺘﻨﺎﻇﺮ اﺳﺖ. ﭼﻮن ﺑﻴﺸﺘﺮﻳﻦ ﺟﻮاب ﻣﻤﻜﻦ ﻣﺎ 51 اﺳﺖ و ﻣﺘﻨﺎﻇﺮ ﺑﺎﻳﻨﺮي آن 1 1 1 1 ﭼﻬﺎر ﺑﻴﺘﻲ اﺳﺖ ﻟـﺬا ﺗﻤـﺎم ﺟـﻮاب‬
‫ﻫﺎي ﻣﺎ )ﻛﺮوﻣﻮزوم ﻫﺎ( داراي ﻃﻮﻟﻲ ﺑﺮاﺑﺮ 4= ‪ l‬ﻣﻲ ﺑﺎﺷﻨﺪ.‬

‫2. ‪Evaluation‬‬
‫ﺗﺎﺑﻌﻲ ﻛﻪ ﻣﻘﺪاري ﺑﺮاي ‪ fitness‬ﺣﺴﺎب ﻣﻲ ﻛﻨﺪ ﻣﺴﺘﻘﻴﻤﺎ از ﺧﻮد ﺗﺎﺑﻊ )‪ f(x‬ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ. ﻳﻌﻨﻲ اﮔﺮ ﺑﻪ ازاي ﻳﻚ ‪ a‬و ‪f(b) b‬‬
‫: )‪ > f(a‬ﺑﺎﺷﺪ آﻧﮕﺎه ‪ b‬داراي ‪ fitness‬ﺑﻴﺸﺘﺮي اﺳﺖ . ﻳﺎ اﻳﻨﻜﻪ ‪ b‬از ‪ a‬ﺑﻬﺘﺮ اﺳﺖ.‬

‫3. ‪Selection‬‬
‫ﻓﺮض ﻛﻨﻴﻢ ﻛﻪ در آن ﺟﻤﻌﻴﺖ اوﻟﻴﻪ ﺑﺎ ‪ m‬ﻓﺮد ﻛﻪ ‪ m < n‬دوﻋﺪد 3 و8 داراي ‪ fitness‬ﺑﻴﺸﺘﺮي ﻧـﺴﺒﺖ ﺑـﻪ ﺟﻤﻌﻴـﺖ ﺧـﻮد‬
‫ﺑﻮدﻧﺪ و اﺣﺘﻤﺎل اﻧﺘﺨﺎب ﺑﻴﺸﺘﺮي داﺷﺘﻨﺪ. ﺑﻌﺪ از اﻧﺘﺨﺎب اﻳﻦ دو ﻋﺪد ﺑﻪ ﻋﻨﻮان ‪ parent‬اﻟﮕﻮرﻳﺘﻢ وارد ﻣﺮاﺣﻞ ﺗﻮﻟﻴﺪ ﻧـﺴﻞ ﺟﺪﻳـﺪ ﻣـﻲ‬
‫ﺷﻮد.‬

‫6 = )3(‪f‬‬

‫1100 → 3‬

‫91- = )8(‪f‬‬

‫0001 → 8‬

‫4.‬

‫‪crossover‬‬

‫ﻓﺮض ﻛﻨﻴﻢ ﻛﻪ ‪ crossover‬ﻋﻤﻞ زﻳﺮ را اﻧﺠﺎم دﻫﺪ.‬
‫0100‬
‫1001‬

‫3 = ‪point‬‬

‫1100‬
‫0001‬
‫5. ‪mutation‬‬
‫و ﻧﻴﺰ ﻋﻤﻠﮕﺮ ‪: mutation‬‬

‫) 6( = 0 1 1 0‬

‫2 = ‪point‬‬

‫)31( = 1 0 1 1‬

‫0100‬
‫1001‬

‫ﺣﺎل ﻛﺮوﻣﻮزوم ﻫﺎي ﻣﺘﻮﻟﺪ ﺷﺪه ﺟﺰو ﻧﺴﻞ ﺟﺪﻳﺪ ﺑﻪ ﺣﺴﺎب ﻣﻲ آﻳﻨﺪ و ﺑﻪ ﺟﻤﻌﻴﺖ اوﻟﻴﻪ اﻓﺰوده ﻣـﻲ ﺷـﻮﻧﺪ وﺟﻮاﺑﻬـﺎي ﺑـﺎ ‪fitness‬‬
‫ﭘﺎﻳﻴﻦ ﺣﺬف ﻣﻲ ﺷﻮﻧﺪ و اﻟﮕﻮرﻳﺘﻢ دوﺑﺎره ﺑﺎ ‪ n‬ﻓﺮد ﺑﻪ ﻛﺎر ﺧﻮد اداﻣﻪ ﻣﻲ دﻫﺪ.‬
‫ﻳﻚ ﻧﻜﺘﻪ ﻻزم ﺑﻪ ﺗﺬﻛﺮ اﺳﺖ ﻛﻪ ﻣﻤﻜﻦ اﺳﺖ ﺑﻬﺘﺮﻳﻦ ﺟﻮاب )ﺑﺮاي ﻣﺜﺎل 6 = ‪ ( x‬ﻃﻲ ﻣﺮاﺣـﻞ ﺑﻌـﺪ ﺑـﻪ ﻧﺤـﻮي از ﺑـﻴﻦ ﺑـﺮود. ﺑـﺮاي‬
‫ﺟﻠﻮﮔﻴﺮي از اﻳﻦ اﻣﺮ ﺑﻌﺪ از ﻫﺮ ﺑﺎر اﻧﺠﺎم اﻟﮕﻮرﻳﺘﻢ ﺑﻬﺘﺮﻳﻦ ﺟﻮاب را در ﺟﺎﻳﻲ ﻛﻨﺎر ﻣﻲ ﮔﺬارﻳﻢ ) ‪ ( far‬ﺗﺎ ﻫﻤﻴﺸﻪ ﺑﻬﺘﺮﻳﻦ ﺟـﻮاب ﺣﺎﺻـﻞ‬
‫از ﻫﺮ ﺑﺎر اﺟﺮاي اﻟﮕﻮرﻳﺘﻢ را داﺷﺘﻪ ﺑﺎﺷﻴﻢ.‬
‫ﻣﻌﻴﺎرﻫﺎي ﻣﺨﺘﻠﻔﻲ را ﻣﻲ ﺗﻮان ﺑﺮاي ﺗﻮﻗﻒ اﻟﮕﻮرﻳﺘﻢ در ﻧﻈﺮ ﮔﺮﻓﺖ و ﻣﻌﻤﻮﻻ ﭼﻨﺪ ﻣﻌﻴﺎر ﺑﺮاي ﺗﻮﻗﻒ اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد ﺗـﺎ اﺣﺘﻤﺎﻟﻬـﺎي‬
‫ﻣﺨﺘﻠﻒ وﻗﻮع ﭘﻴﺸﺎﻣﺪﻫﺎ در ﻃﻲ اﺟﺮاي اﻟﮕﻮرﻳﺘﻢ ﺣﺴﺎب ﺷﻮﻧﺪ. ﻳﻚ ﻣﻌﻴﺎر ﻣﻲ ﺗﻮاﻧﺪ اﻳﻦ ﺑﺎﺷﺪ ﻛﻪ ﺑﻬﺘﺮﻳﻦ ﺟﻮاب را ﺑﻌﺪ از اﺟـﺮاي ﺗﻌـﺪاد‬
‫ﻣﺸﺨﺼﻲ ﺑﺎر از اﻟﮕﻮرﻳﺘﻢ ﺗﻐﻴﻴﺮ ﻧﺪﻫﺪ. ﻳﺎ ﻣﻌﻴﺎر دﻳﮕـﺮ اﻳﻨﻜـﻪ ﻣﻴـﺎﻧﮕﻴﻦ ‪ fitness‬ﺟﻮاﺑﻬـﺎي ﻣﻮﺟـﻮد در ﺟﻤﻌﻴـﺖ ﺟـﺎري ﻫﻤـﺎن ‪fitness‬‬
‫ﺑﻬﺘﺮﻳﻦ ﺟﻮاب ﻳﺎ ﺑﺴﻴﺎر ﻧﺰدﻳﻚ ﺑﻪ آن ﺑﺎﺷﺪ.‬
‫و ﻳﺎ اﻳﻨﻜﻪ ﻣﻲ ﺗﻮاﻧﻴﻢ از ﭘﻴﺶ ﻗﺮارداد ﻛﻨﻴﻢ ﻛﻪ اﻟﮕﻮرﻳﺘﻢ ﺑﻪ ﺗﻌﺪاد ﻣﺸﺨﺼﻲ اﺟـﺮا ﺷـﻮد. ﻣﻌﻤـﻮﻻ روش ﻫـﺎي ﺗﻮﻗـﻒ ﻣﺨﺘﻠـﻒ اﺳـﺖ و‬
‫ﺑﺴﺘﮕﻲ ﺑﻪ ﭘﻴﭽﻴﺪﮔﻲ و ﭼﮕﻮﻧﮕﻲ ﻣﺴﺎﻟﻪ دارد.‬
‫در اﻳﻨﺠﺎ ﻣﺎ ﺑﺮاي ﺗﻌﺮﻳﻒ ﺗﺎﺑﻊ ‪ evaluation‬از ﺧﻮد ﺗﺎﺑﻊ اﺳﺘﻔﺎده ﻛﺮدﻳﻢ و ﻟﺰوﻣﻲ ﺑﺮاي ﻧﺴﺒﺖ دﻫﻲ ﻳﻚ ﻣﻘﺪار ﺑـﻪ ﻋﻨـﻮان ‪quality‬‬
‫ﻧﺒﻮد.‬
‫اﮔﺮ ﻣﺎ اﻳﻦ ﻣﺮاﺣﻞ را ﺑﻪ ﮔﻮﻧﻪ اي دﻧﺒﺎل ﻛﻨﻴﻢ ﻛﻪ ﺑﻌﺪ از ﻫﺮ ﺑﺎر اﺟﺮا ﺟﻮاب ﻫـﺎي ﺑـﺪ ﺣـﺬف و ﺟﻮاﺑﻬـﺎي ﻧـﺴﻞ ﺟﺪﻳـﺪ ﻛـﻪ اﺣﺘﻤـﺎﻻ‬
‫‪ fitness‬ﺑﺎﻻﻳﻲ دارﻧﺪ ﺟﺎﻳﮕﺰﻳﻦ آﻧﻬﺎ ﺷﻮﻧﺪ ﺑﻪ ﻣﺮور ﻓﺎﺻﻠﻪ ‪ fitness‬ﺑﻴﻦ ‪ min‬و ‪ Max‬ﻛﻢ ﻣﻲ ﺷﻮد و ﻣﻴﺎﻧﮕﻴﻦ ﺟﻮاب ﻫﺎ ﺑﻪ ﺑﻬﺘﺮﻳﻦ‬
‫ﺟﻮاب ﻣﻴﻞ ﻣﻲ ﻛﻨﺪ و اﻳﻦ ﻧﺸﺎن ﻣﻲ دﻫﺪ ﻛﻪ ﻣﺎ ﺑﻪ ﻃﻮر ﻛﻠﻲ ﺑﻪ ﺑﻬﺘﺮﻳﻦ ﺟﻮاب ﻧﺰدﻳﻚ‬

‫ﻣﻲ ﺷﻮﻳﻢ.‬

‫ﺳﻮاﻟﻲ ﻛﻪ در اﻳﻨﺠﺎ ﻣﻄﺮح ﻣﻲ ﺷﻮد اﻳﻨﺴﺖ ﻛﻪ اﮔﺮ در ﻣﺜﺎل ﻗﺒﻞ ﺑﻪ ﺟﺎي ﻓﻀﺎي ﮔﺴﺴﺘﻪ ﻓﻀﺎي ﭘﻴﻮﺳﺘﻪ ]51 , 0[ ﻣﻄﺮح ﻣـﻲ ﺷـﺪ‬
‫اﻟﮕﻮرﻳﺘﻢ ﺑﻪ ﭼﻪ ﺷﻜﻠﻲ اﻧﺠﺎم ﻣﻲ ﮔﺮﻓﺖ؟‬
‫در اﻳﻦ ﺣﺎﻟﺖ ﻣﺎ ﻳﻚ ‪ ε‬ﺗﻌﺮﻳﻒ ﻣﻲ ﻛﻨﻴﻢ ﺗﺎ ﻫﺮ ﺑﻴﺖ ﺟﻮاب در ﻣﺮاﺣﻠﻲ ﻣﺜﻞ ‪ mutation‬ﺑﻪ اﻧﺪازه ‪ ε‬ﺗﻐﻴﻴﺮ ﻛﻨﺪ. ﺑﺪﻳﻬﻲ اﺳـﺖ ﻣـﺎ‬
‫ﻫﺮ ﭼﻘﺪر اﻳﻦ ‪ ε‬را ﻛﻮﭼﻜﺘﺮ ﻓﺮض ﻛﻨﻴﻢ ﻣﻴﺰان ﻣﺤﺎﺳﺒﺎت و ﺗﻜﺮار اﻟﮕﻮرﻳﺘﻢ ﺑﺎﻻ ﻣﻲ رود و ﺑﻪ ﻫﻤﻴﻦ دﻟﻴﻞ زﻣﺎن اﺗﻤﺎم اﻟﮕﻮرﻳﺘﻢ ﺑﺎﻻ ﻣـﻲ‬
‫رود. ﻋﺎﻣﻞ دﻳﮕﺮي ﻛﻪ در زﻣﺎن ﻣﻮﺛﺮ اﺳﺖ ‪ n‬اوﻟﻴﻪ در ﺟﻤﻌﻴﺖ اوﻟﻴﻪ اﺳﺖ ﻛﻪ ﺑﺎ زﻳﺎد ﻓﺮض ﻛﺮدن ‪ n‬زﻣﺎن اﺗﻤﺎم ﺑﺎﻻ ﻣﻲ رود.‬

‫ﺣﺎل ﺑﻪ ذﻛﺮ دو ﻧﻜﺘﻪ ﻣﻲ ﭘﺮدازﻳﻢ:‬
‫1 ﺑﻌﺪ از ﺗﻜﺮار اﻟﮕﻮرﻳﺘﻢ ﺑﻪ ﺗﺪرﻳﺞ ﺗﻔﺎوت ﺑﻴﻦ ‪ fitness‬ﺟﻮاﺑﻬﺎ ﻛﻤﺘﺮ ﻣﻲ ﺷﻮد و در اﻳﻦ ﺻﻮرت ﺗﺎﺑﻊ ‪ selection‬ﻧﻴﺰ ﻛﻢ ﻛـﻢ اﺣﺘﻤـﺎل‬
‫ﻳﻜﺴﺎﻧﻲ را ﺑﺮاي اﻧﺘﺨﺎب ﺟﻮاﺑﻬﺎي ﻣﻤﻜﻦ ﺗﺨﺼﻴﺺ ﻣﻲ دﻫﺪ. در اﻳﻦ ﺣﺎﻟﺖ اﻟﮕﻮرﻳﺘﻢ ﭘﺎﻳﺎن ﻣﻲ ﻳﺎﺑﺪ.‬
‫) ﭼﻮن ﺑﻬﺘﺮﻳﻦ ﺟﻮاب ﻫﻢ اﺣﺘﻤﺎل اﻧﺘﺨﺎﺑﻲ ﺑﺮاﺑﺮ دﻳﮕﺮ ﺟﻮاﺑﻬﺎ دارد.(‬

‫2 . در ﺟﺮﻳﺎن اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ اﺣﺘﻤﺎل ﺗﻮﻟﻴﺪ ‪ Super - Subject‬وﺟﻮد دارد. ﺑﻪ اﻳﻦ ﻣﻌﻨﻲ ﻛﻪ از ﻳﻚ ﺟﻮاب ) ﻛﺮوﻣﻮزوم ( ﺑـﻪ ﺗﻌـﺪاد‬
‫ﺑﺴﻴﺎر زﻳﺎدي ﺗﻮﻟﻴﺪ ﻣﻲ ﺷﻮد و اﻳﻦ ﺟﻤﻌﻴﺖ را ﺑﻪ ﻣﻴﺰان زﻳﺎدي اﻧﺒﻮه ﻛﺮده و ﻋﻼوه ﺑﺮ اﻳﻦ ﺑﺎﻋﺚ ﻣﻲ ﺷﻮد ﻛﻪ ﺟﻤﻌﻴﺖ ﻣـﺎ از ﺗﻨـﻮع ﺟـﻮاب‬
‫ﻛﻤﺘﺮي ﻧﺴﺒﺖ ﺑﻪ ﻣﻴﺰان ﺟﻤﻌﻴﺖ ﺑﺮﺧﻮردار ﺑﺎﺷﺪ ﻛﻪ اﻳﻦ در اﻟﮕﻮرﻳﺘﻢ اﻳﺠﺎد ﻣﺸﻜﻞ ﻣﻲ ﻛﻨﺪ.‬

‫ﺑﺮاي ﺟﻠﻮﮔﻴﺮي از اﻳﻦ ﮔﻮﻧﻪ ﻣﺸﻜﻼت ﭼﻨﺪ اﻳﺪه ﻣﻄﺮح ﻣﻲ ﺷﻮد:‬

‫) ‪Windowing‬‬

‫( : ﺑﻪ اﻳﻦ ﻣﻔﻬﻮم اﺳﺖ ﻛﻪ ‪ fitness‬ﺑﺪﺗﺮﻳﻦ ﺟﻮاب را از ‪ fitness‬ﺑﻘﻴﻪ ﺟﻮاﺑﻬﺎ ﻛـﻢ ﻣـﻲ ﻛﻨـﻴﻢ. اﻳـﻦ ﻋﻤـﻞ‬

‫ﻣﻮﺟﺐ ﻣﻲ ﺷﻮد ﻛﻪ ﺗﻌﺪادي ﺟﻮاب ﺑﺎ ‪ fitness‬ﺻﻔﺮ ﺑﺪﺳﺖ آﻳﻨﺪ و اﻳﻦ ﻳﻌﻨﻲ اﻳﻨﻜﻪ اﺣﺘﻤﺎل اﻧﺘﺨـﺎﺑﻲ ﺑﺮاﺑـﺮ ﺻـﻔﺮ دارﻧـﺪ. و ﻧﻴـﺰ اﺣﺘﻤـﺎل‬
‫اﻧﺘﺨﺎب ﺑﻬﺘﺮﻳﻦ ﺟﻮاب ﻗﻮت ﻣﻲ ﮔﻴﺮد.‬

‫) ‪( Exponential‬‬

‫: ﺑﺮاي ‪ fitness‬ﻫﺮ ﺟﻮاب ﻣﻘﺪار ﺟﺪﻳﺪ رﻳﺸﻪ دوم )1 + ‪ (fitness‬را ﺑﻪ ﻛﺎر ﻣﻲ ﺑﺮﻳﻢ. اﻳﻦ ﻋﻤﻞ ﻣﻮﺟﺐ‬

‫ﻣﻲ ﺷﻮد ﺗﺎ اﺛﺮ ﻗﻮﻳﺘﺮﻳﻦ ﺟﻮاب ﺗﻌﺪﻳﻞ ﺷﻮد.‬

‫) ‪( Linear Transformation‬‬

‫: ﺑﻪ ﻛﺎر ﮔﺮﻓﺘﻦ راﺑﻄﻪ زﻳﺮ ﺑﺮاي ﺑﺪﺳﺖ آوردن ‪ fitness‬ﺟﺪﻳﺪ.‬

‫‪f2 = a ( f1 ) + b‬‬
‫اﻳﻦ راﺑﻄﻪ ﻫﻢ اﺛﺮ ﺑﻬﺘﺮﻳﻦ ﺟﻮاب را ﻛﻤﺘﺮ ﻣﻲ ﻛﻨﺪ.‬
‫) ‪Linear Normalization‬‬

‫( : ﺑﺮاي ﻣﺜﺎل در ﻳﻚ ﺟﻤﻌﻴﺖ ﺷﺎﻣﻞ 01 ﺷﻲ ﺑﺮاي اوﻟﻴﻦ ﻓﺮد ﻋـﺪد 001 و دوﻣـﻴﻦ‬

‫ﻓﺮد ﻋﺪد 09 و ... ﺑﺮاي 01 اﻣﻴﻦ ﻓﺮد ﻋﺪد 01 را ﻧﺴﺒﺖ ﻣﻲ دﻫﻴﻢ. اﻳﻦ ﻋﻤﻞ ﻣﻮﺟﺐ ﻣﻲ ﺷﻮد ﻛﻪ اﺧﺘﻼف ﺑﻴﻦ اﺣﺘﻤﺎل اﻧﺘﺨﺎب ﻓﻘﻂ ﺑﻪ‬
‫ﺗﻌﺪاد اﻓﺮاد ﺑﺴﺘﮕﻲ داﺷﺘﻪ ﺑﺎﺷﺪ. در اﻳﻦ روش ﭘﺨﺶ ﺷﺪن ‪ Distribution‬ﻓﻘﻂ ﺑﺮ اﺳﺎس ﺗﻌﺪاد اﺳـﺖ ﻧـﻪ ﺑـﺮ اﺳـﺎس ‪ . fitness‬اﻳـﻦ‬
‫روش از ﭘﺨﺶ ﺷﺪن ‪ Super - Subject‬ﺟﻠﻮﮔﻴﺮي ﻣﻲ ﻛﻨﺪ.‬

‫5,3.‬

‫ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬

‫6‬

‫اوﻟﻴﻦ ﺧﺼﻮﺻﻴﺖ ﻣﺜﺒﺖ اﻳﻦ اﻟﮕﻮرﻳﺘﻢ دﺳﺘﻴﺎﺑﻲ ﺑﻪ ﻧﻘﻄﻪ ﺑﻬﻴﻨﻪ ﻛﻠﻲ44 ﺑﻪ ﺟﺎي ﻧﻘﻄﻪ ﺑﻬﻴﻨﻪ ﻣﺤﻠﻲ ﺳﺖ. ﻳﻌﻨـﻲ ﻫﻤﻴـﺸﻪ در ﺣـﺪ ﺑـﺴﻴﺎر‬
‫ﻣﻄﻠﻮﺑﻲ ﻣﻲﺗﻮان ﺑﻪ ﭘﺎﺳﺦ اﻳﻦ اﻟﮕﻮرﻳﺘﻢ اﻋﺘﻤﺎد ﻛﺮد و اﻳﻨﻜﻪ ﭘﺎﺳﺨﻲ ﻛﻪ ﻣﻲﻳﺎﺑﺪ ﺑﻪ اﺣﺘﻤﺎل زﻳﺎد ﺑﻬﺘﺮﻳﻦ ﭘﺎﺳﺦ ﻣﻤﻜﻦ اﺳﺖ.‬
‫روشﻫﺎي ﻛﻼﺳﻴﻚ رﻳﺎﺿﻴﺎت داراي دو اﺷﻜﺎل اﺳﺎﺳﻲ ﻫﺴﺘﻨﺪ. اﻏﻠﺐ اﻳﻦ روشﻫﺎ ﻧﻘﻄﻪ ﺑﻬﻴﻨﻪ ﻣﺤﻠﻲ54 را ﺑﻌﻨﻮان ﻧﻘﻄﻪ ﺑﻬﻴﻨﻪ ﻛﻠﻲ در ﻧﻈﺮ‬
‫ﻣﻲﮔﻴﺮﻧﺪ و ﻧﻴﺰ ﻫﺮ ﻳﻚ از اﻳﻦ روشﻫﺎ ﺗﻨﻬﺎ ﺑﺮاي ﻣﺴﺎﻟﻪ ﺧﺎﺻﻲ ﻛﺎرﺑﺮد دارﻧﺪ. اﻳﻦ دو ﻧﻜﺘﻪ را ﺑﺎ ﻣﺜﺎلﻫﺎي ﺳﺎدهاي روﺷﻦ ﻣﻲﻛﻨﻴﻢ.‬
‫ﺑﻪ ﺷﻜﻞ زﻳﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ. اﻳﻦ ﻣﻨﺤﻨﻲ داراي دو ﻧﻘﻄﻪ ﻣﺎﻛﺰﻳﻤﻢ ﻣﻲﺑﺎﺷﺪ. ﻛﻪ ﻳﻜـﻲ از آﻧﻬـﺎ ﺗﻨﻬـﺎ ﻣـﺎﻛﺰﻳﻤﻢ ﻣﺤﻠـﻲ ﺳـﺖ. ﺣـﺎل اﮔـﺮ از‬
‫روشﻫﺎي ﺑﻬﻴﻨﻪﺳﺎزي رﻳﺎﺿﻲ اﺳﺘﻔﺎده ﻛﻨﻴﻢ ﻣﺠﺒﻮرﻳﻢ ﺗﺎ در ﻳﻚ ﺑﺎزه ﺑﺴﻴﺎر ﻛﻮﭼﻚ ﻣﻘﺪار ﻣﺎﻛﺰﻳﻤﻢ ﺗﺎﺑﻊ را ﺑﻴﺎﺑﻴﻢ. ﻣﺜﻼ از ﻧﻘﻄﻪ 1 ﺷـﺮوع‬
‫ﻛﻨﻴﻢ و ﺗﺎﺑﻊ را ﻣﺎﻛﺰﻳﻤﻢ ﻛﻨﻴﻢ. ﺑﺪﻳﻬﻴﺴﺖ اﮔﺮ از ﻧﻘﻄﻪ 1 ﺷﺮوع ﻛﻨﻴﻢ ﺗﻨﻬﺎ ﺑﻪ ﻣﻘﺪار ﻣﺎﻛﺰﻳﻤﻢ ﻣﺤﻠﻲ دﺳﺖ ﺧﻮاﻫﻴﻢ ﻳﺎﻓـﺖ و اﻟﮕـﻮرﻳﺘﻢ ﻣـﺎ‬
‫ﭘﺲ از آن ﻣﺘﻮﻗﻒ ﺧﻮاﻫﺪ ﺷﺪ. اﻣﺎ در روشﻫﺎي ﻫﻮﺷﻤﻨﺪ ﺧﺎﺻﻪ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﺑﺪﻟﻴﻞ ﺧﺼﻠﺖ ﺗﺼﺎدﻓﻲ آﻧﻬﺎ ﺣﺘـﻲ اﮔـﺮ ﻫـﻢ از ﻧﻘﻄـﻪ 1‬
‫ﺷﺮوع ﻛﻨﻴﻢ ﺑﺎز ﻣﻤﻜﻦ اﺳﺖ در ﻣﻴﺎن راه ﻧﻘﻄﻪ ‪ A‬ﺑﻪ ﺻﻮرت ﺗﺼﺎدﻓﻲ اﻧﺘﺨﺎب ﺷﻮد ﻛﻪ در اﻳﻦ ﺻﻮرت ﻣﺎ ﺷﺎﻧﺲ دﺳﺖﻳﺎﺑﻲ ﺑﻪ ﻧﻘﻄﻪ ﺑﻬﻴﻨﻪ‬
‫ﻛﻠﻲ را ﺧﻮاﻫﻴﻢ داﺷﺖ.‬
‫در ﻣﻮرد ﻧﻜﺘﻪ دوم ﺑﺎﻳﺪ ﺑﮕﻮﻳﻴﻢ ﻛﻪ روشﻫﺎي رﻳﺎﺿﻲ ﺑﻬﻴﻨﻪﺳﺎزي اﻏﻠﺐ ﻣﻨﺠﺮ ﺑﻪ ﻳﻚ ﻓﺮﻣﻮل ﻳﺎ دﺳﺘﻮراﻟﻌﻤﻞ ﺧﺎص ﺑﺮاي ﺣﻞ ﻫﺮ ﻣﺴﺌﻠﻪ‬
‫ﻣﻲﺷﻮﻧﺪ. در ﺣﺎﻟﻲ ﻛﻪ روشﻫﺎي ﻫﻮﺷﻤﻨﺪ دﺳﺘﻮراﻟﻌﻤﻞﻫﺎﻳﻲ ﻫﺴﺘﻨﺪ ﻛﻪ ﺑﻪ ﺻﻮرت ﻛﻠﻲ ﻣﻲﺗﻮاﻧﻨﺪ در ﺣﻞ ﻫﺮ ﻣـﺴﺌﻠﻪاي ﺑـﻪ ﻛـﺎر ﮔﺮﻓﺘـﻪ‬
‫ﺷﻮﻧﺪ.‬

‫‪Global Optima‬‬
‫‪Local Optima‬‬

‫44‬
‫54‬
‫ﻋﻼوه ﺑﺮ اﻳﻦ اﻳﻦ اﻟﮕﻮرﻳﺘﻢ ﺑﻪ ﻫﻤﻴﻦ ﺷﻜﻞ ﻣﻮﺟﻮد در ﺣﻞ اﻧﻮاع ﻣﺴﺎﺋﻞ ﻣﻲﺗﻮاﻧﺪ ﺑﻪ ﻛﺎر رود و ﻧﻴﺎزي ﺑﻪ ﺗﻐﻴﻴﺮ آن ﻧﻴﺴﺖ. در واﻗـﻊ ﺗﻨﻬـﺎ‬
‫ﻛﺎري ﻛﻪ در ﻣﻮرد ﻫﺮ ﻣﺴﺎﻟﻪ ﺑﺎﻳﺪ اﻧﺠﺎم دﻫﻴﻢ اﻳﻨﺴﺖ ﻛﻪ ﺟﻮابﻫﺎي ﻣﺨﺘﻠﻒ را ﺑﻪ ﺷﻜﻞ ﻛﺮوﻣﻮزومﻫﺎ ﺑﺎزﻧﻤـﺎﻳﻲ ﻛﻨـﻴﻢ. ﻫـﺮ ﭼﻨـﺪ ﺧـﻮد‬
‫اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﺑﺮاي ﺣﻞ ﻣﺴﺎﺋﻞ ﺑﻬﻴﻨﻪﺳﺎزي ﮔﺴﺴﺘﻪ ﺑﻪ ﻛﺎر ﻣﻲرود اﻣﺎ روشﻫﺎي ﻣﺸﺎﺑﻬﻲ ﻫﻤﭽﻮن اﺳﺘﺮاﺗﮋي ﺗﻜﺎﻣﻠﻲ و ﻳﺎ اﻟﮕﻮرﻳﺘﻢ آب‬
‫دادن ﻓﻮﻻد64 وﺟﻮد دارﻧﺪ ﻛﻪ ﻋﻴﻨﺎ در ﻣﻮرد ﻣﺴﺎﺋﻞ ﭘﻴﻮﺳﺘﻪ ﻣﻲﺗﻮاﻧﻨﺪ ﺑﻪ ﻛﺎر روﻧﺪ. ﻧﺤﻮه ﺗﻌﺮﻳﻒ و ﭘﻴـﺎدهﺳـﺎزي اﻳـﻦ اﻟﮕـﻮرﻳﺘﻢ ﻧﻴـﺰ ﺑـﻪ‬
‫ﮔﻮﻧﻪاﻳﺴﺖ ﻛﻪ آن را ﺑﺴﺎدﮔﻲ ﺟﻬﺖ اﺟﺮا ﺑﺼﻮرت ﻣﻮازي ﻳﺎ ﺑﺮ روي ‪ Multiprocessor‬ﻫﺎ ﻣﻨﺎﺳﺐ ﻣﻲﺳﺎزد.‬
‫اﻣﺎ ﻣﺸﻜﻞ اﺻﻠﻲ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﻋﻠﻴﺮﻏﻢ ﺳﺎدﮔﻲ ﭘﻴﺎدهﺳﺎزي، ﻫﺰﻳﻨﻪ اﺟﺮاي آﻧﺴﺖ.اﻏﻠﺐ ﺣﻞ ﻳﻚ ﻣﺴﺌﻠﻪ ﻧﻴﺎزﻣﻨﺪ ﺗﻮﻟﻴﺪ ﭼﻨـﺪﻳﻦ ﻫـﺰار‬
‫ﻧﺴﻞ از ﻛﺮوﻣﻮزمﻫﺎﺳﺖ و اﻳﻦ ﻣﺴﺌﻠﻪ ﻧﻴﺎز ﺑﻪ زﻣﺎن زﻳﺎدي دارد)ﺧﺼﻮﺻﺎ اﮔﺮ ﺗﻌـﺪاد ﺟﻤﻌﻴـﺖ اوﻟﻴـﻪ زﻳـﺎد ﺑﺎﺷـﺪ و ﻧﻴـﺰ ﺗـﺎﺑﻊ ﻫـﺪف ﺗـﺎﺑﻊ‬
‫ﭘﻴﭽﻴﺪهاي ﺑﺎﺷﺪ(. ﮔﺎه ﭘﻴﺶ ﻣﻲآﻳﺪ ﻛﻪ ﺑﺮاي ﺣﻞ ﻳﻚ ﻣﺴﺌﻠﻪ ﺑﻌﻨﻮان ﻣﺜﺎل ﻳﻚ ﭘﺮدازﻧﺪه ﭘﻨﺘﻴﻮم ﺑﺎﻳﺪ ﺑﻴﺶ از ﻳﻚ ﻫﻔﺘﻪ ﺑﺮﻧﺎﻣﻪ را اﺟﺮا ﻛﻨﺪ.‬
‫ﻃﺒﻴﻌﻴﺴﺖ ﻛﻪ اﻳﻦ زﻣﺎن زﻳﺎدﻳﺴﺖ ﺑﺮاي ﺣﻞ ﻳﻚ ﻣﺴﺎﻟﻪ و ﻫﻤﻴﻦ اﻣﺮ ﮔﺎﻫﻲ اﺳﺘﻔﺎده از اﻟﮕﻮرﻳﺘﻢ را ﺑﺎ ﻣﺸﻜﻞ ﻣﻮاﺟﻪ ﻣﻲﻛﻨﺪ.‬

‫‪ُSimulated Annealing‬‬

‫64‬
‫ﺣﻞ ﻣﺴﺎﻟﻪ ‪ TSP‬ﺑﺎ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬

‫٧‬

‫در اﻳﻦ ﺑﺨﺶ ﻣﺎ ﻣﺮاﺣﻠﻲ را ﻛﻪ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﺑﺮاي ‪ TSP‬ﻣﻲ ﺳﺎزد را ﺗﻮﺿﻴﺢ ﻣﻲ دﻫﻴﻢ.‬

‫1,4.‬

‫‪Encoding‬‬

‫ﺑﺮاي ‪ encoding‬ﻣﻲ ﺗﻮاﻧﻴﻢ ﻳﻚ ﻣﺎﺗﺮﻳﺲ ﻣﺠﺎورت ﮔﺮاف اﻳﺠﺎد ﻛﻨﻴﻢ ﻛﻪ ﺷﺎﻣﻞ 1 در ﻣﻜﺎن ‪ i‬و ‪ j‬اﺳﺖ اﮔﺮ ﻳﻚ ﻳﺎل از راس ‪ i‬ﺑﻪ‬
‫راس ‪ j‬وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ و در ﻏﻴﺮ اﻳﻦ ﺻﻮرت 0 اﺳﺖ. ﺣﺎل ﻣﻲ ﺗﻮاﻧﻴﻢ از اﻳﻦ ﻣﺎﺗﺮﻳﺲ ﻫﻤﺎن ﮔﻮﻧﻪ ﻛﻪ ﻫﺴﺖ اﺳﺘﻔﺎده ﻛﻨﻴﻢ ﻳﺎ ﺑـﻪ اﻳـﻦ‬
‫ﺻﻮرت ﻛﻪ ﺳﻄﺮﻫﺎي ﻣﺎﺗﺮﻳﺲ را ﺑﻪ ﻫﻢ اﻟﺤﺎق ﻛﻨﻴﻢ و رﺷﺘﻪ اي ﻃﻮﻻﻧﻲ از 0 و 1 ﻫﺎ اﻳﺠﺎد ﻛﻨﻴﻢ وﻟﻲ ﺗﻮﺟﻪ دارﻳﻢ ﻛﻪ اﻳﻦ رﺷﺘﻪ ﻧﻤـﺎﻳﺶ‬
‫ﺑﺎﻳﻨﺮي ﻋﺪد ﻧﻴﺴﺖ. ﺑﻪ اﻳﻦ ﺻﻮرت اوﻟﻴﻦ ﻣﺘﺪ ‪ encoding‬ﺳﺎﺧﺘﻪ ﻣﻲ ﺷﻮد.‬
‫ﺑﺮاي ﻣﺜﺎل ﻣﺎﺗﺮﻳﺲ ﻣﻘﺎﺑﻞ :‬

‫دوري را ﻧﺸﺎن ﻣﻲ دﻫﺪ ﻛﻪ از ﺷﻬﺮ1 ﺑﻪ ﺷﻬﺮ 3 و از ﺷﻬﺮ 3 ﺑﻪ ﺷﻬﺮ 2 و از ﺷﻬﺮ 2 ﺑﻪ ﺷﻬﺮ 1 ﻣﻲ رود. ﻣﺘـﺪ ﺑﻌـﺪي ﻛـﻪ ﻣـﻮرد‬
‫ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮد ﻣﺘﺪي اﺳﺖ ﻛﻪ ﻳﻚ رﺷﺘﻪ از اﻋﺪاد ﻛﻪ ﻣﻌﺮف ﺷﻤﺎره ﺷﻬﺮ اﺳﺖ را ﻣﻲ ﺳﺎزد. اوﻟﻴﻦ ﺷﻴﻮه ﺳﺎﺧﺖ اﻳﻦ ﻣﺘﺪ ﺑـﻪ اﻳـﻦ‬
‫ﺻﻮرت اﺳﺖ ﻛﻪ ﺑﺮاي ﻣﺜﺎل رﺷﺘﻪ4321 = ‪v‬‬

‫اﻳﻦ ﻣﻔﻬﻮم را ﻣﻲ رﺳﺎﻧﺪ ﻛﻪ اﺑﺘﺪا از ﺷﻬﺮ 1 ﺷﺮوع ﻛﺮده ﺳﭙﺲ ﺑﻪ ﺷﻬﺮ 2 ﻣﻲ روﻳﻢ و‬

‫از آﻧﺠﺎ ﺑﻪ ﺷﻬﺮ 3 و ﺑﻌﺪ ﺑﻪ ﺷﻬﺮ 4 ﺣﺮﻛﺖ ﻣﻲ ﻛﻨﻴﻢ. در ﭘﺎﻳﺎن ﻫﻢ ﺑﻪ ﺷﻬﺮ اول ﺑﺮ ﻣﻲ ﮔـﺮدﻳﻢ. ﺗﻮﺟـﻪ ﻛﻨﻴـﺪ ﻛـﻪ دو رﺷـﺘﻪ 4321 و‬
‫1432 ﻣﻌﺎدﻟﻨﺪ.‬
‫ﺷﻴﻮه دوم اﻳﻦ اﺳﺖ ﻛﻪ اﮔﺮ رﺷﺘﻪ 4213 = ‪ v‬را داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﺑﻪ اﻳﻦ ﻣﻌﻨﻲ اﺳﺖ ﻛﻪ دور از ﺷﻬﺮ 1 ﺑﻪ ﺷﻬﺮ 3 و از ﺷﻬﺮ 3 ﺑﻪ ﺷﻬﺮ‬
‫2 و از ﺷﻬﺮ 2 ﺑﻪ ﺷﻬﺮ 4 و در ﭘﺎﻳﺎن از ﺷﻬﺮ 4 ﺑﻪ ﺷﻬﺮ 2 ﻣﻲ روﻳﻢ. ﻗﺎﺑﻞ ﺗﻮﺟﻪ اﺳﺖ ﻛﻪ ﻫﺮ رﺷﺘﻪ ﻣﻤﻜﻦ در اﻳﻨﺠﺎ ﻳﻚ دور ﻣﺠـﺎز را‬
‫ﻧﺸﺎن ﻧﻤﻲ دﻫﺪ. ﻣﺜﻼ رﺷﺘﻪ 2143 ﻧﺸﺎن ﻣﻲ دﻫﺪ ﻛﻪ ﻣﺎ از ﺷﻬﺮ 1 ﺑﻪ ﺷﻬﺮ 3 ﻣﻲ روﻳﻢ و ﺑﻪ ﺷﻬﺮ 1 ﺑﺎزﻣﻲ ﮔـﺮدﻳﻢ واز ﺷـﻬﺮ 2 ﺑـﻪ‬
‫ﺷﻬﺮ 4 ﻣﻲ روﻳﻢ و ﺑﻪ ﺷﻬﺮ 2 ﺑﺎز ﻣﻲ ﮔﺮدﻳﻢ ﻛﻪ ﻳﻚ رﺷﺘﻪ ﺑﻲ رﺑﻂ اﺳﺖ.‬
‫2,4.‬

‫‪Crossover‬‬

‫١٫٢٫۴.‬

‫‪(PMX) Partially Matched Crossover‬‬

‫اﮔﺮ دو رﺷﺘﻪ زﻳﺮ را داﺷﺘﻪ ﺑﺎﺷﻴﻢ :‬
‫8|765|4321‬
‫7|765|1258‬

‫و ﻳﻚ ‪ crossover‬دو ﻧﻘﻄﻪ اي اﻧﺠﺎم دﻫﻴﻢ ﺧﻮاﻫﻴﻢ داﺷﺖ :‬
‫8 | 4 6 3 | 4 3 2 1 = 1‪v‬‬
‫7 | 7 6 5 | 1 2 5 8 = 2‪v‬‬

‫ﻛﻪ ﺑﻪ ﻃﻮر ﺑﺪﻳﻬﻲ ﻏﻴﺮ ﻣﺠﺎز ﻫﺴﺘﻨﺪ ﭼﻮن 1‪ v‬ﺷﻬﺮ 5 ﻳﺎ 7 را ﺑﺎزدﻳﺪ ﻧﻤﻲ ﻛﻨﺪ و ﺷﻬﺮ ﻫﺎي 3 و 4 را دو ﺑﺎر ﺑﺎزدﻳﺪ ﻣﻲ ﻛﻨﺪ. ﺑﻪ ﻃﻮر‬
‫ﻣﺸﺎﺑﻪ 2‪ v‬ﺷﻬﺮ ﻫﺎي 3 و 4 را ﻧﻤﻲ ﺑﻴﻨﺪ و ﺷﻬﺮ ﻫﺎي 5 و 7 را دو ﺑﺎر ﻣﻲ ﺑﻴﻨﺪ.‬
‫‪ PMX‬ﺑﺪون اﺳﺘﻔﺎده از اﺑﺰاري اﻳﻦ ﻣﺸﻜﻞ را ﺑﻪ اﻳﻦ ﮔﻮﻧﻪ ﺣﻞ ﻣﻲ ﻛﻨﺪ ﻛﻪ ﺗﻌﻮﻳﺾ ﻫﺎي 5 ↔ 3 و 6 ↔ 6 و 7 ↔ 4 را‬
‫اﻧﺠﺎم ﻣﻲ دﻫﺪ ﺳﭙﺲ اﻳﻦ ﺗﻌﻮﻳﺾ ﻫﺎ را ﻋﻴﻨﺎ روي ژن ﻫﺎي ﺧﺎرج از ﻧﻘﺎط ‪ crossover‬ﺗﻜﺮار ﻣﻲ ﻛﻨﺪ و ﺑﻪ اﻳﻦ ﺗﺮﺗﻴﺐ رﺷﺘﻪ ﻫﺎي زﻳﺮ‬
‫ﺳﺎﺧﺘﻪ ﻣﻲ ﺷﻮد :‬

‫84637521‬
‫47651238‬
‫وﻟﻲ ﻣﺎ در اﻳﻦ روش ﻟﺰوﻣﺎ ﻳﻚ دور ﻣﺠﺎز ﺗﻮﻟﻴﺪ ﻧﻤﻲ ﻛﻨﻴﻢ ﺑﻪ ﻫﻤﻴﻦ دﻟﻴﻞ ﻧﻴﺎز دارﻳﻢ ﺗﺎ ﺑﺎ ﻳﻚ ‪ crossover‬ﺑﻬﺘﺮ راه ﺣﻞ ﺑﻬﺘﺮي ﭘﻴﺪا‬
‫ﻛﻨﻴﻢ و دورﻫﺎﻳﻲ ﻣﺠﺎز ﺗﻮﻟﻴﺪ ﻛﻨﻴﻢ.‬
‫2,2,4.‬

‫‪(CX) Cycle Crossover‬‬

‫ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ اﻳﻦ ﻣﺘﺪ ‪ crossover‬روي اوﻟﻴﻦ ﺷﻴﻮه ‪ encoding‬ﻋﻤﻞ ﻣﻲ ﻛﻨﺪ ﻳﻌﻨﻲ رﺷﺘﻪ 4321 ﺑﻪ اﻳﻦ ﻣﻔﻬﻮم اﺳﺖ‬
‫ﻛﻪ ﺑﻪ ﺗﺮﺗﻴﺐ از 1 ﺑﻪ 2 و ﺑﻪ 3 و ﺑﻪ 4 ﻣﻲ روﻳﻢ و در آﺧﺮ ﺑﻪ‬

‫ﺑﺮﻣﻴﮕﺮدﻳﻢ.‬

‫ﻓﺮض ﻛﻨﻴﺪ دو رﺷﺘﻪ زﻳﺮ را دارﻳﻢ:‬

‫87654321‬
‫74631258‬

‫ﻣﺎ ﺑﺮاي ﺗﻮﻟﻴﺪ ﻳﻚ رﺷﺘﻪ ﺟﺪﻳﺪ 1‪ v‬ﺑﻪ اﻳﻦ ﺷﻜﻞ ﻋﻤﻞ ﻣﻲ ﻛﻨﻴﻢ :‬
‫اوﻟﻴﻦ ژن را از ﻳﻜﻲ از ‪ parent‬ﻫﺎ اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ:‬

‫- - - - - - - 1 = 1‪v‬‬

‫ﺑﺎﻳﺪ ﻫﺮ ﻋﻨﺼﺮ را از ﻳﻜﻲ از ‪ parent‬ﻫﺎ ﺑﺮدارﻳﻢ و آﻧﺮا در ﻣﻮﻗﻌﻴﺘﻲ ﻛﻪ ﻗﺒﻼ ﺑﻮده ﻗﺮار دﻫﻴﻢ. از آﻧﺠﺎﻳﻴﻜﻪ اوﻟﻴﻦ ﻣﻮﻗﻌﻴﺖ ﺗﻮﺳﻂ 1‬
‫اﺷﻐﺎل ﺷﺪه اﺳﺖ ﻋﺪد 8 از رﺷﺘﻪ دوم ﻧﻤﻲ ﺗﻮاﻧﺪ ﺑﻪ آن ﻣﺤﻞ ﺑﺮود ﭘﺲ ﻣﺠﺒﻮرﻳﻢ 8 را ﻫﻢ از رﺷﺘﻪ اول ﺑﺮدارﻳﻢ:‬

‫8 - - - - - - 1 = 1‪v‬‬

‫و ﺑﻪ ﻫﻤﻴﻦ ﺷﻜﻞ 7 و 4 را ﻧﻴﺰ از رﺷﺘﻪ اول ﺑﺮداﺷﺘﻪ و در ﻣﺤﻞ ﺧﻮد ﻗﺮار دﻫﻴﻢ :‬

‫8 7 - - - 4 - 1 = 1‪v‬‬

‫ﺣﺎل ﺑﺎ ﭘﺮ ﻛﺮدن ﺑﻘﻴﻪ ﻣﺤﻞ ﻫﺎ ﺑﺎ ﻋﻨﺎﺻﺮ آن ﻣﺤﻠﻬﺎ از رﺷﺘﻪ دوم 1‪ v‬را ﻣﻲ ﺳﺎزﻳﻢ. اﻳﻦ ﻣﺘﺪ ﻫﻤﻴﺸﻪ ﻳﻚ ﻛﺮوﻣﻮزوم ﻣﺠﺎز ﻣﻲ ﺳﺎزد.‬
‫اﻟﺒﺘﻪ ﻣﻤﻜﻦ اﺳﺖ ﻓﺮزﻧﺪ درﺳﺖ ﺷﺪه ﻫﻤﺎن ‪ parent‬ﺑﺎﺷﺪ وﻟﻲ اﻳﻦ ﻣﺸﻜﻞ ﻧﻴﺴﺖ ﭼﻮن ﻧﺸﺎﻧﮕﺮ اﻳﻨﺴﺖ ﻛﻪ ‪ fitness, parent‬ﺑﺎﻻﻳﻲ‬
‫دارد و ﺑﺎز ﻫﻢ ﻣﻲ ﺗﻮاﻧﺪ ﻳﻚ اﻧﺘﺨﺎب ﺑﺎﺷﺪ.‬
‫٣٫٢٫۴.‬

‫‪Order Crossover‬‬

‫ﺧﻴﻠﻲ ﺑﻪ ‪ PMX‬ﺷﺒﻴﻪ اﺳﺖ. ﻫﻤﺎن دو ﻧﻘﻄﻪ را در ﻧﻈﺮ ﻣﻲ ﮔﻴﺮد وﻟﻲ ﺑﻪ ﺟﺎي اﺻﻼح ﻛﺮوﻣﻮزوﻣﻬﺎ ﺑﺎ ﺗﻌﻮﻳﺾ ﺗﻜﺮارﻫﺎ ﺑﻪ ﻃﻮر ﺳﺎده ﺗﺮي‬
‫ﺑﻘﻴﻪ ژن ﻫﺎ را ﻣﺮﺗﺐ ﻣﻲ ﻛﻨﺪ ﺗﺎ ﻳﻚ دور ﻣﺠﺎز ﺑﺪﻫﺪ.‬
‫ﻣﺜﻼ اﮔﺮ دو رﺷﺘﻪ زﻳﺮ را داﺷﺘﻪ ﺑﺎﺷﻴﻢ :‬
‫84|267|531‬
‫74|128|365‬
‫ﺑﺎ ﺗﻌﻮﻳﺾ ﻛﺮدن ژﻧﻬﺎي ﺑﻴﻦ دو ﻧﻘﻄﻪ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ :‬

‫ - |1 2 8 | - - - = 1‪v‬‬‫- - |2 6 7 | - - - = 2‪v‬‬

‫ﺳﭙﺲ ﺑﺎ ﺷﺮوع از دوﻣﻴﻦ ﻧﻘﻄﻪ ‪ crossover‬ژﻧﻬﺎ را از ﻛﺮوﻣﻮزوم ‪ parent‬ﺛﺒﺖ ﻣﻲ ﻛﻨﻴﻢ.‬

‫26753184‬
‫12836574‬

‫ﺳﭙﺲ ژن ﻫﺎﻳﻲ را ﻛﻪ ﺑﻴﻦ ﻧﻘﺎط ‪ crossover‬ﺑﻮده اﻧﺪ را ﺣﺬف ﻣﻲ ﻛﻨﻴﻢ. ﻳﻌﻨـﻲ 8 و 2 و 1 را از ﻟﻴـﺴﺖ 1‪ v‬و 7 و 6 و 2 را از‬
‫ﻟﻴﺴﺖ 2‪ v‬ﺣﺬف ﻣﻲ ﻛﻨﻴﻢ ﺗﺎ رﺷﺘﻪ ﻫﺎي زﻳﺮ ﺑﺪﺳﺖ آﻳﻨﺪ :‬

‫67534‬
‫18354‬

‫و ﺑﺎ ﺟﺎﻳﮕﺰﻳﻨﻲ از دوﻣﻴﻦ ﻧﻘﻄﻪ ‪ crossover‬ﺑﺎ ﻛﺮوﻣﻮزوﻣﻬﺎي ﻓﺮزﻧﺪ رﺷﺘﻪ ﻫﺎي ﻧﻬﺎﻳﻲ زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﻨﺪ:‬

‫3 4 1 2 8 6 7 5 = 1‪v‬‬
‫5 4 2 6 7 1 8 3 = 2‪v‬‬
‫۴٫٢٫۴.‬

‫‪Crossover Matrix‬‬

‫ﻫﻤﺎن ‪ crossover‬ﻳﻚ ﻳﺎ دو ﻧﻘﻄﻪ اي ﻣﻲ ﺑﺎﺷﺪ.‬
‫اﮔﺮ ﻣﺎﺗﺮﻳﺲ ﻫﺎي زﻳﺮ را داﺷﺘﻪ ﺑﺎﺷﻴﻢ :‬

‫ﻧﻘﺎط ‪ crossover‬را ﺑﻌﺪ از اوﻟﻴﻦ ﺳﺘﻮن و ﺑﻌﺪ از دوﻣﻴﻦ ﺳﺘﻮن اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ. ‪ crossover‬ﻛﺮدن ﺳﺘﻮن ﻫﺎ ﻧﺘﻴﺠﻪ ﻣﻲ دﻫﺪ:‬

‫ﺣﺎﻻ ﻣﺎ ﭼﻨﺪﻳﻦ 1 در ﺑﻌﻀﻲ ﺳﻄﺮﻫﺎ دارﻳﻢ و ﺑﻌﻀﻲ از ﺳﻄﺮﻫﺎ اﺻﻼ 1 ﻧﺪارﻧﺪ. اﻳﻦ را ﺑﻮﺳﻴﻠﻪ اﻧﺘﻘﺎل ﻳﻜﻲ از 1 ﻫﺎ از ﺳﻄﺮي ﻛﻪ‬
‫ﭼﻨﺪﻳﻦ 1 دارد ﺑﻪ ﺳﻄﺮي ﻛﻪ ﻫﻴﭻ ﻳﻜﻲ ﻧﺪارد درﺳﺖ ﻣﻲ ﻛﻨﻴﻢ. اﻳﻦ اﻧﺘﺨﺎب ﺑﻴﻦ ﺳﻄﺮﻫﺎي ﺷﺎﻣﻞ ﭼﻨﺪ 1 ﺗﺼﺎدﻓﻲ اﺳﺖ.‬
‫ﺣﺎل ﺑﺎ ﻣﻼﺣﻈﻪ ﻣﺎﺗﺮﻳﺲ اول ﻣﻲ ﺑﻴﻨﻴﻢ ﻛﻪ ‪ a ↔ a‬و ‪ . b → c → b‬ﭘﺲ ﻣﺎ دو دور ﻣﺨﺘﻠﻒ اﻳﺠﺎد ﻛﺮده اﻳﻢ وﻟﻲ اﻳﻦ را ﺑﻮﺳﻴﻠﻪ‬
‫ﺑﺮش و ﻣﺘﺼﻞ ﻛﺮدن درﺳﺖ ﻣﻲ ﻛﻨﻴﻢ.‬
‫ﻳﺎل ‪ a‬ﺑﻪ ‪ a‬را و ﻫﻤﭽﻨﻴﻦ ﻳﻜﻲ از ﻳﺎﻟﻬﺎي ﺑﻴﻦ ‪ b‬و ‪ c‬را ﻣﻴﺒﺮﻳﻢ و ‪ a‬را ﺑﻪ ‪ b‬و ‪ c‬وﺻﻞ ﻣﻲ ﻛﻨﻴﻢ.‬
‫۵٫٢٫۴.‬

‫‪(MOX) Modified Order Crossover‬‬

‫ﺷﺒﻴﻪ ‪ crossover‬ﻳﻚ ﻧﻘﻄﻪ اي اﺳﺖ. ﻳﻚ ﻧﻘﻄﻪ ‪ crossover‬ﺗﺼﺎدﻓﻲ در ‪ parent‬اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ و ﺑـﻪ ﻃـﻮر ﻣﻌﻤـﻮل ژﻧﻬـﺎي‬
‫ﻗﺒﻞ از ﻧﻘﻄﻪ را ﻫﻤﺎن ﻃﻮر ﻛﻪ ﻫﺴﺘﻨﺪ رﻫﺎ ﻣﻲ ﻛﻨﻴﻢ. ﺳﭙﺲ ژﻧﻬﺎي ﺑﻌﺪ از ﻧﻘﻄﻪ ‪ crossover‬را ﺑـﻪ ﺗﺮﺗﻴﺒـﻲ ﻛـﻪ در دوﻣـﻴﻦ ﻛﺮوﻣـﻮزوم‬
‫‪ parent‬ﻇﺎﻫﺮ ﺷﺪه اﻧﺪ دوﺑﺎره ﻣﺮﺗﺐ ﻣﻲ ﻛﻨﻴﻢ.‬
‫اﻛﺮ دو ﻛﺮوﻣﻮزوم زﻳﺮ را داﺷﺘﻪ ﺑﺎﺷﻴﻢ :‬

‫654|321‬
‫512|463‬

‫ﺑﺪﺳﺖ ﺧﻮاﻫﻴﻢ آورد :‬

‫5 4 6 | 3 2 1 = 1‪v‬‬
‫5 2 1 | 4 6 3 = 2‪v‬‬

‫‪ crossover‬ﺗﺎ ﺣﺎﻻ ﺗﻤﺮﻛﺰ روي ﻣﻮﻗﻌﻴﺖ ﺷﻬﺮ در دور را ﺟﺴﺘﺠﻮ ﻛﺮده در ﺣﺎﻟﻴﻜﻪ در واﻗـﻊ ﻳﺎﻟﻬـﺎ ﻣﻬﻤﺘـﺮﻳﻦ ﻗـﺴﻤﺘﻬﺎي ﺳـﻔﺮ‬
‫ﻓﺮوﺷﻨﺪه دوره ﮔﺮد ﻫﺴﺘﻨﺪ زﻳﺮا آﻧﻬﺎ وزﻧﻬﺎ را ﻣﻌﻴﻦ ﻣﻲ ﻛﻨﻨﺪ ﺑﻨﺎﺑﺮاﻳﻦ ﭼﻴﺰﻳﻜﻪ ﻣﺎ واﻗﻌﺎ ﻣﻲ ﺧـﻮاﻫﻴﻢ اﻳـﻦ اﺳـﺖ ﻛـﻪ ﺑـﺎ ﻳﺎﻟﻬـﺎ ﺑﻴـﺸﺘﺮ از‬
‫ﻣﻮﻗﻌﻴﺖ ﻫﺮ ﺷﻬﺮ ﺳﺮوﻛﺎر داﺷﺘﻪ ﺑﺎﺷﻴﻢ.‬
‫)1891( ‪ Grefenstette‬ﻳﻚ روﺗﻴﻦ ‪ crossover‬اﺧﺘﺮاع ﻛﺮده ﻛﻪ ﻫﺮ راس را از ﻳﻜﻲ از آﻧﻬـﺎﻳﻲ ﻛـﻪ ﺑـﺮاي راس ﺟـﺎري در‬
‫ﻳﻜﻲ از ‪parent‬ﻫﺎ ﻻزم اﺳﺖ ﺑﺮ ﻣﻲ دارد.‬
‫اﻳﻦ را ﺑﻮﺳﻴﻠﻪ اﻳﺠﺎد ﻳﻚ ﻟﻴﺴﺖ ﻳﺎل ﺑﺮاي ﻫﺮ راس اﻧﺠﺎم ﻣﻲ دﻫﻴﻢ.‬
‫ﻛﺮوﻣﻮزوﻣﻬﺎي:‬

‫6 5 4 3 2 1 = 1‪v‬‬
‫5 1 2 4 6 3 = 2‪v‬‬
‫اﺑﺘﺪا ﻳﻜﻲ از ﻧﺨﺴﺘﻴﻦ راﺳﻬﺎ را از ﻳﻜﻲ از ‪parent‬ﻫﺎ ﻳﻌﻨﻲ 1 ﻳﺎ 3 در اﻳﻦ ﻣﺜﺎل اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ آن را ﻛﻪ ﻛﻤﺘـﺮﻳﻦ ﻋـﺪد از‬
‫راﺳﻬﺎي ﻻزم را دارد اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ و ﻳﺎ اﮔﺮ آﻧﻬﺎ ﻋﺪد ﻳﻜﺴﺎﻧﻲ دارﻧﺪ ﺗﺼﺎدﻓﻲ ﻳﻜﻲ را اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ.‬
‫ﺳﭙﺲ ﻣﺸﺎﻫﺪه ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ راﺳﻬﺎﻳﻲ ﺑﺎ راس 1 ﺗﻼﻗﻲ ﻣﻲ ﻛﻨﻨﺪ. ﭼﻮن اﻳﻦ ﻫﻤﺎن راﺳﻲ اﺳﺖ ﻛﻪ اول اﻧﺘﺨﺎب ﻛﺮدﻳﻢ دوﺑﺎره راﺳـﻲ‬
‫ﺑﺎ ﻛﻤﺘﺮﻳﻦ ﻋﺪد از راﺳﻬﺎي ﻻزم ﻛﻪ ﻗﺒﻼ اﻧﺘﺨﺎب ﻧﺸﺪه اﻧﺪ اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ ﺳﭙﺲ راس 2 را اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ اﻳـﻦ ﻓﺮاﻳﻨـﺪ اﻧﺘﺨـﺎب‬
‫راﺳﻬﺎي ﻓﺮﺿﻲ را اداﻣﻪ ﻣﻲ دﻫﻴﻢ اﮔﺮ ﺑﻪ ﺣﺎﻟﺘﻲ ﺑﺮﺧﻮرد ﻛﻨﻴﻢ ﻛﻪ ﻧﺘﻮاﻧﻴﻢ راﺳﻲ را ﻛﻪ ﻗﺒﻼ اﻧﺘﺨﺎب ﻧﺸﺪه را اﻧﺘﺨﺎب ﻛﻨﻴﻢ ﻳﻚ ﮔﺮه ﻛـﻪ‬
‫ﻗﺒﻼ اﻧﺘﺨﺎب ﻧﺸﺪه اﺳﺖ را ﺗﺼﺎدﻓﻲ اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ.‬
‫اﻳﻦ ﺑﻪ آن ﻣﻌﻨﻲ اﺳﺖ ﻛﻪ ﻣﺎ ﻣﻲ ﺧﻮاﻫﻴﻢ راﺳﻲ را ﺑﺪﺳﺖ آورﻳﻢ ﻛﻪ در راس ﺟﺎري ﻣﺎ در ﻳﻜﻲ از ‪ parent‬ﻫﺎ روي ﻧـﺪاده اﺳـﺖ اﻣـﺎ‬
‫ﻣﺘﺎﺳﻔﺎﻧﻪ اﻳﻦ اﺟﺘﻨﺎب ﻧﺎﭘﺬﻳﺮ اﺳﺖ ﺑﻨﺎ ﺑﺮاﻳﻦ ﻛﺮوﻣﻮزوم ﻫﺎي ‪ parent‬ﻣﺎ ﻣﻲ ﺗﻮاﻧﻨﺪ ﻓﺮزﻧﺪ ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪ. ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷـﻴﺪ ﻛـﻪ ﻣـﺎ در‬
‫ﺗﻤﺎم ﻣﺪت در ﺗﻮاﻧﺎﻳﻲ اﻧﺘﺨﺎب راس ﻫﺎﻳﻲ ﻛﻪ در ﻳﻜﻲ از ‪ parent‬ﻫﺎ ﻻزم ﺑﻮدﻧﺪ ﻣﻮﻓﻖ ﺑﻮدﻳﻢ.‬
‫ﻣﺎ ﻓﻘﻂ ﻳﻚ ﻓﺮزﻧﺪ از اﻳﻦ ‪ crossover‬ﺑﺪﺳﺖ ﻣﻲ آورﻳﻢ ﺗﺎ ﺑﺴﻴﺎري از ‪ crossover‬ﻫﺎ را دوﺑﺎر اﻧﺠﺎم دﻫﻴﻢ ﺗﺎ ﻳﻚ ﻧﺴﻞ ﺟﺪﻳﺪ اﻳﺠﺎد‬
‫ﻛﻨﻴﻢ.ﻫﻤﭽﻨﻴﻦ ﻋﻤﻠﮕﺮﻫﺎي ‪ crossover‬اي دارﻳﻢ ﻛﻪ از اﻃﻼﻋﺎت ﻣﻜﺸﻔﻪ اي اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﺪ.‬

‫٣٫۴.‬

‫‪Mutation‬‬

‫اﺑﺘﺪا ﻋﻤﻠﮕﺮ دو ﮔﺰﻳﻨﻪ اي )‪ (2 - opt‬را ﻧﺸﺎن ﻣﻲ دﻫﻴﻢ. دو ﻳﺎل )‪ (a , b‬و )‪ (c , d‬را از دورﻣﺎن اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ و ﭼﻚ‬
‫ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ آﻳﺎ ﻣﻲ ﺗﻮاﻧﻴﻢ اﻳﻦ 4 راس را ﺑﺎ ﻳﻚ روش ﻣﺘﻔﺎوت ﺑﻪ ﻫﻢ وﺻﻞ ﻛﻨﻴﻢ ﺗﺎ ﻛﻤﺘﺮﻳﻦ وزن را ﺑﻪ ﻣﺎ ﺑﺪﻫﺪ ﻳﺎ ﺧﻴـﺮ. ﺑـﺮاي اﻧﺠـﺎم‬
‫اﻳﻦ ﻛﺎر ﭼﻚ ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ اﮔﺮ‬

‫‪ Cab + Ccd > Cac + Cdb‬ﺑﺎﺷﺪ ﻳﺎﻟﻬﺎي )‪ (a , b‬و )‪ (c , d‬را ﺑﺎ ﻳﺎﻟﻬـﺎي )‪ (a , c‬و )‪(d , b‬‬

‫ﻋﻮض ﻛﻨﻴﻢ. ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ ﻓﺮض ﻛﺮده اﻳﻢ ﻛﻪ ‪ a‬و ‪ b‬و ‪ c‬و ‪ d‬ﺑﺎ ﺗﺮﺗﻴﺐ ﻣﺸﺨﺼﻲ در دور ﻇﺎﻫﺮ ﺷﺪه اﻧﺪ ﺣﺘﻲ اﮔـﺮ ‪ b‬و ‪ c‬ﻣﺘـﺼﻞ‬
‫ﻧﺒﺎﺷﻨﺪ.‬
‫ﻫﻤﭽﻨﻴﻦ ﻳﻚ ﻋﻤﻠﮕﺮ ﺳﻪ ﮔﺰﻳﻨﻪ اي )‪ (3 - opt‬دارﻳﻢ ﻛﻪ ﺑﻪ ﺟﺎي دو ﻳﺎل ﺳﻪ ﻳﺎل ﺗﺼﺎدﻓﻲ را ﻧﺸﺎن ﻣﻲ دﻫﺪ. اﮔﺮ ﻳﺎﻟﻬـﺎي )‪ (a , b‬و‬
‫)‪ (c , d‬و )‪ (e , f‬را داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﭼﻚ ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ اﮔﺮ‬

‫‪ Cab + Ccd + Cef > Cac + Cbe + Cdf‬ﺑﺎﺷـﺪ ﻳﺎﻟﻬـﺎي‬

‫)‪ (a , b‬و )‪ (c , d‬و )‪ (e , f‬را ﺑﺎ ﻳﺎﻟﻬﺎي )‪ (a , c‬و )‪ (b , e‬و )‪ (d , f‬ﻋﻮض ﻛﻨﻴﻢ.‬
‫ﻋﻤﻠﮕﺮ )‪ (or - opt‬ﺷﺒﻴﻪ )‪ (2 - opt‬اﺳﺖ.ﻳﻚ ﻣﺠﻤﻮﻋﻪ از راس ﻫﺎي ﻣﺘﺼﻞ را ﺗﺼﺎدﻓﻲ اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ و ﭼﻚ ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ آﻳـﺎ‬
‫اﻳﻦ رﺷﺘﻪ ﻣﻲ ﺗﻮاﻧﺪ ﺑﻴﻦ دو راس دﻳﮕﺮ اﺿﺎﻓﻪ ﺷﻮد ﺗﺎ وزن ﺗﻘﻠﻴﻞ ﻳﺎﺑﺪ ﻳﺎ ﺧﻴﺮ. ﻣﺎ ﻣﻲ ﺗﻮاﻧﻴﻢ اﻳﻦ را ﺑﻮﺳﻴﻠﻪ ﭘﻴﺪا ﻛﺮدن ﻣﺠﻤﻮع وزن ﻫﺎي‬
‫ﻳﺎﻟﻬﺎي اﺿﺎﻓﻪ ﺷﺪه و ﻣﺠﻤﻮع وزن ﻫﺎي ﻳﺎﻟﻬﺎي ﺣﺬف ﺷﺪه ﻣﺤﺎﺳﺒﻪ ﻛﻨﻴﻢ. اﮔﺮ وزن ﻳﺎﻟﻬﺎي ﺣﺬف ﺷﺪه ﺑﻴﺸﺘﺮ ﺑـﻮد ﺗﻌـﻮﻳﺾ اﻧﺠـﺎم ﮔﻴـﺮد.‬
‫ﺳﻪ ﻋﻤﻠﮕﺮ ‪ Mutation‬دﻳﮕﺮ ﻧﻴﺰ وﺟﻮد دارﻧﺪ ﻛﻪ ﻳﻚ ﺷﻬﺮ اﻧﺘﺨﺎﺑﻲ ﺗﺼﺎدﻓﻲ را ﺑﻪ ﻳﻚ ﻣﻜﺎن اﻧﺘﺨـﺎب ﺷـﺪه ﺗـﺼﺎدﻓﻲ اﺿـﺎﻓﻪ ﻣـﻲ ﻛﻨـﺪ.‬
‫ﻫﻤﭽﻨﻴﻦ ﻣﺎ ﻫﻨﮕﺎﻣﻴﻜﻪ دو ﺷﻬﺮ ﺗﺼﺎدﻓﻲ را اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ و آﻧﻬﺎ را ﺗﻌﻮﻳﺾ ﻣﻲ ﻛﻨﻴﻢ ﻳﻚ ‪ mutaion‬دو ﺟﺎﻧﺒﻪ دارﻳﻢ.‬
‫4,4. ﻣﻘﺎﻳﺴﻪ روﺷﻬﺎي ﻣﺨﺘﻠﻒ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﺑﺮاي ‪TSP‬‬
‫ﺗﺎ ﺑﻪ ﺣﺎل ﻓﺮﻣﻬﺎي ﻣﺨﺘﻠﻔﻲ از رﻣﺰﮔﺬاري ﻫﺎ ‪ encoding‬و ﻋﻤﻠﮕﺮﻫـﺎي ‪ crossover‬و ‪ mutation‬را در ﺣـﻞ ﻣـﺴﺎﻟﻪ ‪ TSP‬ﺑـﻪ‬
‫روش اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ دﻳﺪﻳﻢ. اﻳﻦ ﺣﺎﻟﺘﻬﺎ ﻣﻲ ﺗﻮاﻧﻨﺪ ﺑﺎ ﻫﻢ ﺗﺮﻛﻴﺐ ﺷﻮﻧﺪ و ﻣﻨﺠﺮ ﺑﻪ رﺳﻴﺪن ﺑﻪ راه ﺣـﻞ ﻫـﺎي ﻣﺨﺘﻠﻔـﻲ ﺑـﺮاي ‪ TSP‬ﺑـﻪ‬
‫روش اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﺷﻮﻧﺪ. وﻟﻲ از آﻧﺠﺎﻳﻲ ﻛـﻪ ﻣﺘـﺪﻫﺎي ‪ crossover‬روي ‪ encoding‬ﻫـﺎي ﺧﺎﺻـﻲ ﻋﻤـﻞ ﻣـﻲ ﻛﻨﻨـﺪ در ﻧﺘﻴﺠـﻪ‬
‫اﻟﮕﻮرﻳﺘﻤﻬﺎي ژﻧﺘﻴﻚ ﺧﻴﻠﻲ ﻣﺘﻔﺎوﺗﻲ ﺑﺮاي ﺟﺴﺘﺠﻮ ﻧﺪارﻳﻢ.‬
‫ﺣﺎل ﺑﻪ ﺑﺮرﺳﻲ اﻟﮕﻮرﻳﺘﻤﻬﺎي ژﻧﺘﻴﻚ ﻣﺤﺾ ﻳﻌﻨﻲ ﺑﺪون اﺳﺘﻔﺎده از ‪ Heuristic Information‬ﻣﻲ ﭘﺮدازﻳﻢ.‬
‫ﻓﺮض ﻛﻨﻴﺪ ﻛﻪ ‪ PMX crossover‬را اﻧﺘﺨﺎب ﻛﺮده اﻳﻢ و ﻫﻴﭻ ﻋﻤﻠﮕﺮي را ﺑﺮاي ‪ mutation‬اﺗﺨﺎذ ﻧﻜﺮده اﻳﻢ. ﺑﺎ اﻳـﻦ ﺷـﺮاﻳﻂ در‬
‫33 ﺷﻬﺮ ﺑﻪ ﺟﻮاﺑﻲ ﻣﻲ رﺳﻴﻢ ﻛﻪ ﻃﻮل آن 01 درﺻﺪ از ﺟﻮاب ﺑﻬﻴﻨﻪ ﺑﻴﺸﺘﺮ اﺳﺖ. و ﺑﺮاي 001 ﺷﻬﺮ اﻳﻦ ﻣﻴﺰان ﺑﻪ 012 درﺻﺪ ﻣﻲ رﺳﺪ.‬
‫اﮔﺮ در ﻳﻚ ﻣﺴﺎﻟﻪ ﻛﻪ از 03 ﺷﻬﺮ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ اﮔﺮ از ‪ PMX‬اﺳﺘﻔﺎده ﻛﻨﻴﻢ ﺑﻬﺘﺮﻳﻦ ﻃﻮل 894 و اﮔﺮ از ‪Order Crossover‬‬
‫اﺳﺘﻔﺎده ﻛﻨﻴﻢ اﻳﻦ ﻣﻴﺰان ﺑﻪ 524 ﻛﺎﻫﺶ ﻣﻲ ﻳﺎﺑﺪ. در ﺣﺎﻟﻲ ﻛﻪ ‪ Cycle Crossover‬ﻧﺘﻴﺠﻪ اي ﺑﺮاﺑﺮ 715 ﻣﻲ دﻫـﺪ.از آﻧﺠـﺎﻳﻲ ﻛـﻪ‬
‫ﻣﻲ داﻧﻴﻢ در اﻳﻦ ﻣﺴﺎﻟﻪ ﺧﺎص) 03 ﺷﻬﺮ( ﺑﻬﺘﺮﻳﻦ ﺟﻮاب ﻃﻮﻟﻲ ﺑﺮاﺑﺮ 024 دارد ﺑﻪ ﻧﻈﺮ ﻣـﻲ رﺳـﺪ ﻛـﻪ ‪ Order Crossover‬ﺟـﻮاﺑﻲ‬
‫ﺑﻬﺘﺮ از ﺑﻘﻴﻪ ﺑﺮ ﻣﻲ ﮔﺮداﻧﺪ.‬
‫ﺣﺎل ﺑﻪ ﺑﺮرﺳﻲ ‪ Matrix Crossover‬ﻣﻲ ﭘﺮدازﻳﻢ. اﮔﺮ از ﻳﻚ ‪ crossover‬دو ﻧﻘﻄﻪ اي اﺳﺘﻔﺎده ﻛﻨﻴﻢ ﻣﺸﺎﻫﺪه ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ ﺑﺮاي‬
‫03 و 05 و 57 و 001 و 813 دورﻫﺎﻳﻲ ﺑﺎ ﻃﻮل 024 و 624 و 535 و 926 و 45124 را اراﺋﻪ ﻣﻲ ﻛﻨﺪ. ﻛﻪ ﻫﻤﻪ اﻳﻦ ﺟﻮاﺑﻬـﺎ‬
‫ﻛﻤﺘﺮ از 2 درﺻﺪ ﺑﻴﺸﺘﺮ از ﺟﻮاب ﺑﻬﻴﻨﻪ ﻫﺴﺘﻨﺪ. ﭘﺲ اﺣﺘﻤﺎﻻ اﺳﺘﻔﺎده از ﻳﺎﻟﻬﺎ ﺑﺴﻴﺎر اﻣﻴﺪوار ﻛﻨﻨـﺪه ﺗـﺮ از اﺳـﺘﻔﺎده از راﺳـﻬﺎ ﺑـﻪ ﻋﻨـﻮان‬
‫ﻣﺘﻐﻴﺮ اﺳﺖ.‬
‫ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ ﺑﻪ ﻫﺮ ﺣﺎل ﻧﻤﺎﻳﺶ ﻣﺎﺗﺮﻳﺲ ﻓﻀﺎي ﺑﻴﺸﺘﺮي را ﺑﺮاي ذﺧﻴـﺮه ﻛـﺮدن ﻧـﺴﺒﺖ ﺑـﻪ ﻧﻤـﺎﻳﺶ ﺑـﻪ ﺻـﻮرت ﻋـﺪد ﺻـﺤﻴﺢ و‬
‫‪ crossover‬ﺳﺎده ﻣﻲ ﺧﻮاﻫﺪ و در ﺿﻤﻦ ﻣﺤﺎﺳﺒﺎت ‪ crossover‬و ‪ mutation‬در ﻣﺎﺗﺮﻳﺲ ﭘﻴﭽﻴﺪه ﺗﺮ و زﻣﺎﻧﺒﺮ ﺗﺮ اﺳـﺖ. ﻫﻤﭽﻨـﻴﻦ‬
‫روش دﻳﮕﺮي ﻛﻪ ﺗﺴﺖ ﺷﺪه اﻳﻨﺴﺖ ﻛﻪ ﻣﺎ از ) ‪ ( 2 - opt‬ﺑﺮاي ‪ mutation‬اﺳﺘﻔﺎده ﻛﻨﻴﻢ و از ‪ crossover‬اﺳﺘﻔﺎده ﻧﻜﻨﻴﻢ. اﻳﻦ روش‬
‫ﻧﻴﺰ ﺟﻮاب ﺧﻮﺑﻲ اراﺋﻪ ﻣﻲ دﻫﺪ وﻟﻲ ﺟﻮاب ﻗﺒﻠﻲ ﺑﻬﺘﺮ از اﻳﻦ روش اﺳﺖ. در ﺿﻤﻦ ﺑﺮاي وﻗﺘﻲ ﻛﻪ ‪ n‬را زﻳﺎد ﻓﺮض ﻣﻲ ﻛﻨـﻴﻢ اﻳـﻦ روش‬
‫ﺟﻮاﺑﻲ ﻣﻨﺎﺳﺐ اراﺋﻪ ﻧﻤﻲ دﻫﺪ.‬
‫‪ Heuristic Algorithm‬ﻧﻴﺰ ﺑﻪ ﺟﻮاب ﺧﻮﺑﻲ ﻣﻲ رﺳﺪ.‬

‫‪ Heuristic Algorithm‬وﻗﺘﻲ ﻛﻪ ﺑـﺎ ‪( 2 – opt )mutation‬‬

‫ﺗﺮﻛﻴﺐ ﻣﻲ ﺷﻮد ﺑﻬﺘﺮﻳﻦ ﺟﻮاب را در ﻣﻘﺎﻳﺴﻪ ﺑﺎ ﻣﺘﺪﻫﺎﻳﻲ ﻛﻪ ﺗﺎ ﺑﻪ ﺣﺎل ﮔﻔﺘﻴﻢ ﺑﺮﻣﻲ ﮔﺮداﻧﺪ. ﺑﻪ ﻃﻮري ﻛﻪ اﻳﻦ ﺟﻮاب ﺑـﺴﻴﺎر ﻧﺰدﻳـﻚ ﺑـﻪ‬
‫ﻣﻘﺪار ﺑﻬﺘﺮﻳﻦ ﺟﻮاب اﺳﺖ. اﻟﺒﺘﻪ اﻳﻦ روش ﻓﻀﺎي زﻳﺎدي را اﺷﻐﺎل ﻣﻲ ﻛﻨﺪ و ﻧﻴﺰ وزن ﻫﺮ ﻳﺎل ﺑﺎﻳﺪ در ﺟﺎﻳﻲ ذﺧﻴﺮه ﺷﻮد. در ﻧﺘﻴﺠﻪ‬
‫ﻣﻲ ﺑﻴﻨﻴﻢ ﻛﻪ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ وﻗﺘﻲ ﻛﻪ از ﻧﻤﺎﻳﺶ ﻣﺎﺗﺮﻳﺲ ﺑﺮاي ‪ encoding‬و از ‪ Matrix Crossover‬ﻳﺎ‬
‫‪ Heuristic Crossover‬اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﺪ ﺑﻬﺘﺮﻳﻦ ﺟﻮاب را ﺑﺮﻣﻲ ﮔﺮداﻧﺪ و ﺑﻬﺘﺮ از دﻳﮕﺮ روﺷـﻬﺎ ﻛـﺎر ﻣـﻲ ﻛﻨـﺪ. در ﻫـﺮ دو روش‬
‫‪crossover‬ﺑﺎﻻ اﺳﺘﻔﺎده از ‪ ( 2 – opt )mutation‬ﻛﻴﻔﻴﺖ اﻟﮕﻮرﻳﺘﻢ را اﻓﺰاﻳﺶ ﻣﻲ دﻫﺪ.‬

‫5,4. ﻧﺘﻴﺠﻪ ﮔﻴﺮي‬
‫ﺑﻪ ﻧﻈﺮ ﻣﻲ رﺳﺪﻛﻪ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﻳﻚ ﺟﻮاب ﺧﻮب ﺑﺮاي ‪ TSP‬ﭘﻴﺪا ﻣﻲ ﻛﻨﺪ. در ﺣﺎﻟﻴﻜﻪ ﻛﺎراﻳﻲ اﻟﮕﻮرﻳﺘﻢ ﺑﻪ ﻣﻴﺰان زﻳﺎدي ﺑﻪ ﻧﺤﻮه‬
‫‪ encode‬ﻛﺮدن و ﻧﻴﺰ ‪ crossover‬و ‪ mutation‬ﺑﺴﺘﮕﻲ دارد. ﺑﻪ ﻧﻈﺮ ﻣـﻲ رﺳـﺪ ﻛـﻪ اﺳـﺘﻔﺎده از ﻧﻤـﺎﻳﺶ ‪ Matrix‬و ‪Heuristic‬‬
‫‪ Information‬ﺑﻬﺘﺮ از ﺑﻘﻴﻪ روﺷﻬﺎ ﻛﺎر ﻣﻲ ﻛﻨﺪ و ﺟﻮاب ﻗﺎﺑﻞ ﻗﺒﻮﻟﻲ را ﺑﺮﻣﻲ ﮔﺮداﻧﺪ ﻛﻪ ﺑﻪ ﺟﻮاب واﻗﻌﻲ ﺑﺴﻴﺎر ﻧﺰدﻳﻚ اﺳﺖ.‬
‫اﺣﺘﻤﺎﻻ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ روش ﺑﻬﺘﺮي ﻧﺴﺒﺖ ﺑﻪ دﻳﮕﺮ روﺷﻬﺎ ﺑﺮاي ‪ TSP‬اﺳﺖ وﻟﻲ ﻫﻨﻮز ﺟـﻮاب ﺑﻬﺘـﺮي ﻧـﺴﺒﺖ ﺑـﻪ دﻳﮕـﺮ روﺷـﻬﺎي‬
‫ﻣﻮﺟﻮد ﭘﻴﺪا ﻧﻜﺮده اﺳﺖ. وﻟﻲ اﻳﻦ را ﻧﻴﺰ ﻣﻲ داﻧﻴﻢ ﻛﻪ ﺑﻬﺘﺮﻳﻦ اﻟﮕﻮرﻳﺘﻤﻬﺎي ﻏﻴﺮ ژﻧﺘﻴﻜﻲ اراﺋﻪ ﺷـﺪه ﺑـﺮاي ‪ TSP‬در ﺣﺎﻟﺘﻬـﺎي ﺧﺎﺻـﻲ از‬
‫اﻟﮕﻮرﻳﺘﻤﻬﺎي ژﻧﺘﻴﻚ اراﺋـﻪ ﺷـﺪه اﺳـﺖ. ﭘـﺲ ﻣـﺎ اﻣﻴـﺪوارﻳﻢ ﻛـﻪ ﺑـﺎ اراﺋـﻪ روش ﻫـﺎي ﺑﻬﺘـﺮي ﺑـﺮاي ‪ Encoding‬و ‪ Crossover‬و‬
‫‪ Mutation‬راه ﺣﻠﻬﺎي ﻣﻨﺎﺳﺐ ﺗﺮي ﺑﺮاي ‪ Traveling Salesman Problem‬اراﺋﻪ ﺷﻮد.‬
‫ﻣﻨﺎﺑﻊ‬
1 Bryant Kylie ,Genetic Algorithms and the Traveling Salesman Problem, 2001
thesis
,Department of Mathematics, Harvey Mudd college
2 Vacic ,Vladimir and M. Sobh, Tarek, Ph.D. : Vehicle Routing Problem with Time
Windows Department of Computer Science and Engineering
University of Bridgeport, Bridgeport, CT 06604, USA August 2002
3 In – Kim, Byung , Shim, Jae-Ik and Zhang, Min : Comparison of TSP algorithms
4 V. Snyder, Lawrence and S. Daskin, Mark : A Random-Key Genetic Algorithm for
the Generalized Traveling Salesman Problem Department of Industrial Engineering
and Management Sciences, Northwestern University
5 www.mgtsolution.com/DataLibrary/Articles
6 www.ccwmagazine.com/Issues/Issue10/sepehr/GEN.ASP
7 www.cs.nott.ac.uk/~gxk/courses/g5baim/004ga/GA09.html

Contenu connexe

Tendances

داستان زندگي شعيب پيامبر
داستان زندگي شعيب پيامبرداستان زندگي شعيب پيامبر
داستان زندگي شعيب پيامبرNeda Jafari
 
Tables for-mineral-identification
Tables for-mineral-identificationTables for-mineral-identification
Tables for-mineral-identificationguestf9f510
 
دامنه نوسان باشد یا نباشد؟ بورس 24 bourse24
دامنه نوسان باشد یا نباشد؟   بورس 24   bourse24دامنه نوسان باشد یا نباشد؟   بورس 24   bourse24
دامنه نوسان باشد یا نباشد؟ بورس 24 bourse24ebrahimnejad64
 
Jobb och miljö_farsi
Jobb och miljö_farsiJobb och miljö_farsi
Jobb och miljö_farsiCenterpartiet
 
دوطبقه سازی بزرگراه ها , تحقق یک رویاست یا واقعیتی تلخ
دوطبقه سازی بزرگراه ها , تحقق یک رویاست یا واقعیتی تلخدوطبقه سازی بزرگراه ها , تحقق یک رویاست یا واقعیتی تلخ
دوطبقه سازی بزرگراه ها , تحقق یک رویاست یا واقعیتی تلخMajid Babaie, MBA, PMP
 
خرید ملک در ازمیر
خرید ملک در ازمیرخرید ملک در ازمیر
خرید ملک در ازمیرmohammaddoge
 
Khon,هماتولوژی,hematology
Khon,هماتولوژی,hematologyKhon,هماتولوژی,hematology
Khon,هماتولوژی,hematologyArmen Poghosiyan
 
معرفی سامانه شهر هوشمند مشهد رویداد - Mashhad Rooydad Introduction
معرفی سامانه شهر هوشمند مشهد رویداد - Mashhad Rooydad Introductionمعرفی سامانه شهر هوشمند مشهد رویداد - Mashhad Rooydad Introduction
معرفی سامانه شهر هوشمند مشهد رویداد - Mashhad Rooydad IntroductionSadegh Jebelli
 
موافق تفکیک وزارت راه و شهرسازی و تشکیل وزارت حمل ونقل می باشید
موافق تفکیک وزارت راه و شهرسازی و تشکیل وزارت حمل ونقل می باشیدموافق تفکیک وزارت راه و شهرسازی و تشکیل وزارت حمل ونقل می باشید
موافق تفکیک وزارت راه و شهرسازی و تشکیل وزارت حمل ونقل می باشیدMajid Babaie, MBA, PMP
 
Exceptional Villa in Fooman-Gilaan For Sale
Exceptional Villa in Fooman-Gilaan For SaleExceptional Villa in Fooman-Gilaan For Sale
Exceptional Villa in Fooman-Gilaan For SaleShahrooz (Shah) Farjami
 
منهج منتسورى .......... للحساب
منهج منتسورى .......... للحسابمنهج منتسورى .......... للحساب
منهج منتسورى .......... للحسابLife Academy
 
دوره آموزش ارزهای دیجیتال
دوره آموزش ارزهای دیجیتالدوره آموزش ارزهای دیجیتال
دوره آموزش ارزهای دیجیتالmiladdel
 

Tendances (20)

Ali pouyan
Ali pouyanAli pouyan
Ali pouyan
 
داستان زندگي شعيب پيامبر
داستان زندگي شعيب پيامبرداستان زندگي شعيب پيامبر
داستان زندگي شعيب پيامبر
 
Design flasefy
Design flasefyDesign flasefy
Design flasefy
 
Tables for-mineral-identification
Tables for-mineral-identificationTables for-mineral-identification
Tables for-mineral-identification
 
دامنه نوسان باشد یا نباشد؟ بورس 24 bourse24
دامنه نوسان باشد یا نباشد؟   بورس 24   bourse24دامنه نوسان باشد یا نباشد؟   بورس 24   bourse24
دامنه نوسان باشد یا نباشد؟ بورس 24 bourse24
 
Jobb och miljö_farsi
Jobb och miljö_farsiJobb och miljö_farsi
Jobb och miljö_farsi
 
دوطبقه سازی بزرگراه ها , تحقق یک رویاست یا واقعیتی تلخ
دوطبقه سازی بزرگراه ها , تحقق یک رویاست یا واقعیتی تلخدوطبقه سازی بزرگراه ها , تحقق یک رویاست یا واقعیتی تلخ
دوطبقه سازی بزرگراه ها , تحقق یک رویاست یا واقعیتی تلخ
 
Steam trap
Steam trapSteam trap
Steam trap
 
باغ کالا
باغ کالاباغ کالا
باغ کالا
 
خرید ملک در ازمیر
خرید ملک در ازمیرخرید ملک در ازمیر
خرید ملک در ازمیر
 
Khon,هماتولوژی,hematology
Khon,هماتولوژی,hematologyKhon,هماتولوژی,hematology
Khon,هماتولوژی,hematology
 
معرفی سامانه شهر هوشمند مشهد رویداد - Mashhad Rooydad Introduction
معرفی سامانه شهر هوشمند مشهد رویداد - Mashhad Rooydad Introductionمعرفی سامانه شهر هوشمند مشهد رویداد - Mashhad Rooydad Introduction
معرفی سامانه شهر هوشمند مشهد رویداد - Mashhad Rooydad Introduction
 
موافق تفکیک وزارت راه و شهرسازی و تشکیل وزارت حمل ونقل می باشید
موافق تفکیک وزارت راه و شهرسازی و تشکیل وزارت حمل ونقل می باشیدموافق تفکیک وزارت راه و شهرسازی و تشکیل وزارت حمل ونقل می باشید
موافق تفکیک وزارت راه و شهرسازی و تشکیل وزارت حمل ونقل می باشید
 
Six thinking hats
Six thinking hatsSix thinking hats
Six thinking hats
 
مناظره
مناظرهمناظره
مناظره
 
Exceptional Villa in Fooman-Gilaan For Sale
Exceptional Villa in Fooman-Gilaan For SaleExceptional Villa in Fooman-Gilaan For Sale
Exceptional Villa in Fooman-Gilaan For Sale
 
Emam Sadegh
Emam SadeghEmam Sadegh
Emam Sadegh
 
منهج منتسورى .......... للحساب
منهج منتسورى .......... للحسابمنهج منتسورى .......... للحساب
منهج منتسورى .......... للحساب
 
Expo plan
Expo planExpo plan
Expo plan
 
دوره آموزش ارزهای دیجیتال
دوره آموزش ارزهای دیجیتالدوره آموزش ارزهای دیجیتال
دوره آموزش ارزهای دیجیتال
 

En vedette

School shura training presentation
School shura training presentationSchool shura training presentation
School shura training presentationRahimi2015
 
Denture teeth materials
Denture teeth materials Denture teeth materials
Denture teeth materials Shadi
 
oral-maxiillo facial surgery
oral-maxiillo facial surgeryoral-maxiillo facial surgery
oral-maxiillo facial surgerynafise hoseini
 
نظریه های رشد حرکتی
نظریه های رشد حرکتینظریه های رشد حرکتی
نظریه های رشد حرکتیMohsen Sarhady
 
درمان مال اکلوژن کلاس 2
درمان مال اکلوژن کلاس 2درمان مال اکلوژن کلاس 2
درمان مال اکلوژن کلاس 2shyasaman
 
اصول کلی در چیدن دندان ها
اصول کلی در چیدن دندان هااصول کلی در چیدن دندان ها
اصول کلی در چیدن دندان هاAmirhoseyn Sarayani
 
Radicular cyst
Radicular cystRadicular cyst
Radicular cyst8911201041
 
آموزش ایرانی | راه حل جامع آموزش الکترونیک
آموزش ایرانی | راه حل جامع آموزش الکترونیکآموزش ایرانی | راه حل جامع آموزش الکترونیک
آموزش ایرانی | راه حل جامع آموزش الکترونیکآموزش ایرانی
 
Eruption problems /certified fixed orthodontic courses by Indian dental academy
Eruption problems /certified fixed orthodontic courses by Indian dental academy Eruption problems /certified fixed orthodontic courses by Indian dental academy
Eruption problems /certified fixed orthodontic courses by Indian dental academy Indian dental academy
 
Etiology of malocclusion
Etiology of malocclusionEtiology of malocclusion
Etiology of malocclusionShankar Hemam
 
Management of maxillary impacted canine
Management of maxillary impacted canineManagement of maxillary impacted canine
Management of maxillary impacted canineSoyebo Oluseye
 
Developmental disturbances of the Teeth
Developmental disturbances of the TeethDevelopmental disturbances of the Teeth
Developmental disturbances of the TeethChelsea Mareé
 
Anomalies of tooth formation & eruption
Anomalies of tooth formation & eruptionAnomalies of tooth formation & eruption
Anomalies of tooth formation & eruptionTariq Hameed
 

En vedette (18)

School shura training presentation
School shura training presentationSchool shura training presentation
School shura training presentation
 
Denture teeth materials
Denture teeth materials Denture teeth materials
Denture teeth materials
 
Bone p
Bone p Bone p
Bone p
 
oral-maxiillo facial surgery
oral-maxiillo facial surgeryoral-maxiillo facial surgery
oral-maxiillo facial surgery
 
نظریه های رشد حرکتی
نظریه های رشد حرکتینظریه های رشد حرکتی
نظریه های رشد حرکتی
 
درمان مال اکلوژن کلاس 2
درمان مال اکلوژن کلاس 2درمان مال اکلوژن کلاس 2
درمان مال اکلوژن کلاس 2
 
اصول کلی در چیدن دندان ها
اصول کلی در چیدن دندان هااصول کلی در چیدن دندان ها
اصول کلی در چیدن دندان ها
 
Radicular cyst
Radicular cystRadicular cyst
Radicular cyst
 
Immediate implant placement
Immediate implant placementImmediate implant placement
Immediate implant placement
 
آموزش ایرانی | راه حل جامع آموزش الکترونیک
آموزش ایرانی | راه حل جامع آموزش الکترونیکآموزش ایرانی | راه حل جامع آموزش الکترونیک
آموزش ایرانی | راه حل جامع آموزش الکترونیک
 
Eruption problems /certified fixed orthodontic courses by Indian dental academy
Eruption problems /certified fixed orthodontic courses by Indian dental academy Eruption problems /certified fixed orthodontic courses by Indian dental academy
Eruption problems /certified fixed orthodontic courses by Indian dental academy
 
Teething problems & management
Teething problems & managementTeething problems & management
Teething problems & management
 
Design Thinking
Design Thinking Design Thinking
Design Thinking
 
Mandible landmarks
Mandible landmarksMandible landmarks
Mandible landmarks
 
Etiology of malocclusion
Etiology of malocclusionEtiology of malocclusion
Etiology of malocclusion
 
Management of maxillary impacted canine
Management of maxillary impacted canineManagement of maxillary impacted canine
Management of maxillary impacted canine
 
Developmental disturbances of the Teeth
Developmental disturbances of the TeethDevelopmental disturbances of the Teeth
Developmental disturbances of the Teeth
 
Anomalies of tooth formation & eruption
Anomalies of tooth formation & eruptionAnomalies of tooth formation & eruption
Anomalies of tooth formation & eruption
 

Similaire à Genetic algorithms for solving traveling salesman problem

روانشناس تهران
روانشناس تهران روانشناس تهران
روانشناس تهران miladdel
 
بالاخره این بوم مدل کسب و کار چیست
بالاخره این بوم مدل کسب و کار چیستبالاخره این بوم مدل کسب و کار چیست
بالاخره این بوم مدل کسب و کار چیستNasser Ghanemzadeh
 
swimming- آموزش_شنا
swimming-  آموزش_شناswimming-  آموزش_شنا
swimming- آموزش_شناFarid Kamali
 
30 روش ساده برای تغییر کیفیت زندگی
30 روش ساده برای تغییر کیفیت زندگی30 روش ساده برای تغییر کیفیت زندگی
30 روش ساده برای تغییر کیفیت زندگیRasoul Omid
 
مرکز مشاوره و آزمایشگاه ژنتیک غدیرخم یکی از مراکز گروه رهسا می باشد، تشخیص بی...
مرکز مشاوره و آزمایشگاه ژنتیک غدیرخم یکی از مراکز گروه رهسا می باشد، تشخیص بی...مرکز مشاوره و آزمایشگاه ژنتیک غدیرخم یکی از مراکز گروه رهسا می باشد، تشخیص بی...
مرکز مشاوره و آزمایشگاه ژنتیک غدیرخم یکی از مراکز گروه رهسا می باشد، تشخیص بی...rahsa group
 
Rahnamaye sakhte weblog
Rahnamaye sakhte weblogRahnamaye sakhte weblog
Rahnamaye sakhte weblogguest5234e4
 
ده درس طلایی موفقیت از آلبرت انیشتین
ده درس طلایی موفقیت از آلبرت انیشتینده درس طلایی موفقیت از آلبرت انیشتین
ده درس طلایی موفقیت از آلبرت انیشتینShahram Honarmayeh
 
خلاصهء کتاب "تفکر زائد" تالیف محمدجعفر مصفا
خلاصهء کتاب "تفکر زائد" تالیف محمدجعفر مصفاخلاصهء کتاب "تفکر زائد" تالیف محمدجعفر مصفا
خلاصهء کتاب "تفکر زائد" تالیف محمدجعفر مصفاAliRezA Amiri
 
ویرایش ثبت نام تیزهوشان + سامانه ویرایش اطلاعات دانش آموز
ویرایش ثبت نام تیزهوشان + سامانه ویرایش اطلاعات دانش آموزویرایش ثبت نام تیزهوشان + سامانه ویرایش اطلاعات دانش آموز
ویرایش ثبت نام تیزهوشان + سامانه ویرایش اطلاعات دانش آموزirantahsil1
 
5647 14626902-gd6
5647 14626902-gd65647 14626902-gd6
5647 14626902-gd6hamide3
 
چتر کمکی من ، دوست من
چتر کمکی من ، دوست منچتر کمکی من ، دوست من
چتر کمکی من ، دوست منArash Payamyar
 
آخرت و خدا
آخرت و خداآخرت و خدا
آخرت و خداNeda Jafari
 
معرفي کتاب فرق الشيعه
معرفي کتاب فرق الشيعهمعرفي کتاب فرق الشيعه
معرفي کتاب فرق الشيعهNeda Jafari
 
اصول کار تیمی
اصول کار تیمیاصول کار تیمی
اصول کار تیمیsaber raeghi
 
اصول کار تیمی
اصول کار تیمیاصول کار تیمی
اصول کار تیمیsaber raeghi
 
خبرنامه اتاق فکر حمل و نقل ایران
خبرنامه اتاق فکر حمل و نقل ایرانخبرنامه اتاق فکر حمل و نقل ایران
خبرنامه اتاق فکر حمل و نقل ایرانMajid Babaie, MBA, PMP
 

Similaire à Genetic algorithms for solving traveling salesman problem (20)

Nok2
Nok2Nok2
Nok2
 
روانشناس تهران
روانشناس تهران روانشناس تهران
روانشناس تهران
 
بالاخره این بوم مدل کسب و کار چیست
بالاخره این بوم مدل کسب و کار چیستبالاخره این بوم مدل کسب و کار چیست
بالاخره این بوم مدل کسب و کار چیست
 
swimming- آموزش_شنا
swimming-  آموزش_شناswimming-  آموزش_شنا
swimming- آموزش_شنا
 
30 روش ساده برای تغییر کیفیت زندگی
30 روش ساده برای تغییر کیفیت زندگی30 روش ساده برای تغییر کیفیت زندگی
30 روش ساده برای تغییر کیفیت زندگی
 
مرکز مشاوره و آزمایشگاه ژنتیک غدیرخم یکی از مراکز گروه رهسا می باشد، تشخیص بی...
مرکز مشاوره و آزمایشگاه ژنتیک غدیرخم یکی از مراکز گروه رهسا می باشد، تشخیص بی...مرکز مشاوره و آزمایشگاه ژنتیک غدیرخم یکی از مراکز گروه رهسا می باشد، تشخیص بی...
مرکز مشاوره و آزمایشگاه ژنتیک غدیرخم یکی از مراکز گروه رهسا می باشد، تشخیص بی...
 
Rahnamaye sakhte weblog
Rahnamaye sakhte weblogRahnamaye sakhte weblog
Rahnamaye sakhte weblog
 
ده درس طلایی موفقیت از آلبرت انیشتین
ده درس طلایی موفقیت از آلبرت انیشتینده درس طلایی موفقیت از آلبرت انیشتین
ده درس طلایی موفقیت از آلبرت انیشتین
 
خلاصهء کتاب "تفکر زائد" تالیف محمدجعفر مصفا
خلاصهء کتاب "تفکر زائد" تالیف محمدجعفر مصفاخلاصهء کتاب "تفکر زائد" تالیف محمدجعفر مصفا
خلاصهء کتاب "تفکر زائد" تالیف محمدجعفر مصفا
 
ویرایش ثبت نام تیزهوشان + سامانه ویرایش اطلاعات دانش آموز
ویرایش ثبت نام تیزهوشان + سامانه ویرایش اطلاعات دانش آموزویرایش ثبت نام تیزهوشان + سامانه ویرایش اطلاعات دانش آموز
ویرایش ثبت نام تیزهوشان + سامانه ویرایش اطلاعات دانش آموز
 
5647 14626902-gd6
5647 14626902-gd65647 14626902-gd6
5647 14626902-gd6
 
چتر کمکی من ، دوست من
چتر کمکی من ، دوست منچتر کمکی من ، دوست من
چتر کمکی من ، دوست من
 
0 illustration
0 illustration0 illustration
0 illustration
 
آخرت و خدا
آخرت و خداآخرت و خدا
آخرت و خدا
 
Akkasi
AkkasiAkkasi
Akkasi
 
معرفي کتاب فرق الشيعه
معرفي کتاب فرق الشيعهمعرفي کتاب فرق الشيعه
معرفي کتاب فرق الشيعه
 
Learnong onenote آموزش وان نوت
 Learnong onenote آموزش وان نوت    Learnong onenote آموزش وان نوت
Learnong onenote آموزش وان نوت
 
اصول کار تیمی
اصول کار تیمیاصول کار تیمی
اصول کار تیمی
 
اصول کار تیمی
اصول کار تیمیاصول کار تیمی
اصول کار تیمی
 
خبرنامه اتاق فکر حمل و نقل ایران
خبرنامه اتاق فکر حمل و نقل ایرانخبرنامه اتاق فکر حمل و نقل ایران
خبرنامه اتاق فکر حمل و نقل ایران
 

Plus de Hamideh Iraj

Understanding Students' Engagement with Personalised Feedback Messages
Understanding Students' Engagement with Personalised Feedback MessagesUnderstanding Students' Engagement with Personalised Feedback Messages
Understanding Students' Engagement with Personalised Feedback MessagesHamideh Iraj
 
Internet magazines practical tips for improving website traffic
Internet magazines  practical tips for improving website trafficInternet magazines  practical tips for improving website traffic
Internet magazines practical tips for improving website trafficHamideh Iraj
 
The alignment of e commerce strategies with corporate strategy a case study
The alignment of e commerce strategies with corporate strategy a case studyThe alignment of e commerce strategies with corporate strategy a case study
The alignment of e commerce strategies with corporate strategy a case studyHamideh Iraj
 
The story of learning in university an introduction to connectivism
The story of learning in university an introduction to connectivismThe story of learning in university an introduction to connectivism
The story of learning in university an introduction to connectivismHamideh Iraj
 
Persian presentation risk management in it projects
Persian presentation  risk management in it projectsPersian presentation  risk management in it projects
Persian presentation risk management in it projectsHamideh Iraj
 
Persian presentation causal comparative research method
Persian presentation causal comparative research methodPersian presentation causal comparative research method
Persian presentation causal comparative research methodHamideh Iraj
 
Persian Document ITBSC
Persian Document   ITBSCPersian Document   ITBSC
Persian Document ITBSCHamideh Iraj
 
Persian presentation applying knowledge based education to reach knowledge ...
Persian presentation   applying knowledge based education to reach knowledge ...Persian presentation   applying knowledge based education to reach knowledge ...
Persian presentation applying knowledge based education to reach knowledge ...Hamideh Iraj
 
Persian presentation the dance of change
Persian presentation   the dance of changePersian presentation   the dance of change
Persian presentation the dance of changeHamideh Iraj
 
Membean word roots
Membean word rootsMembean word roots
Membean word rootsHamideh Iraj
 
Persian presentation understanding the roi of change management
Persian presentation understanding the roi of change management Persian presentation understanding the roi of change management
Persian presentation understanding the roi of change management Hamideh Iraj
 
Persian document maintenance and repair in cement industry
Persian document   maintenance and repair in cement industryPersian document   maintenance and repair in cement industry
Persian document maintenance and repair in cement industryHamideh Iraj
 
Persian notes burrel and morgan classification
Persian notes   burrel and morgan classificationPersian notes   burrel and morgan classification
Persian notes burrel and morgan classificationHamideh Iraj
 
Persian notes elm chist
Persian notes  elm chistPersian notes  elm chist
Persian notes elm chistHamideh Iraj
 
Persian notes four paradigms of information systems development
Persian notes  four paradigms of information systems developmentPersian notes  four paradigms of information systems development
Persian notes four paradigms of information systems developmentHamideh Iraj
 
Persian presentation maintenance and repair in cement industry
Persian presentation   maintenance and repair in cement industryPersian presentation   maintenance and repair in cement industry
Persian presentation maintenance and repair in cement industryHamideh Iraj
 
Servqual Theory - persian
Servqual Theory - persianServqual Theory - persian
Servqual Theory - persianHamideh Iraj
 
Organizational Learning - Persian
Organizational Learning - PersianOrganizational Learning - Persian
Organizational Learning - PersianHamideh Iraj
 
Expectation confirmation Theory - persian
Expectation confirmation Theory - persianExpectation confirmation Theory - persian
Expectation confirmation Theory - persianHamideh Iraj
 
Evaluation theories conclusion - English
Evaluation theories conclusion - EnglishEvaluation theories conclusion - English
Evaluation theories conclusion - EnglishHamideh Iraj
 

Plus de Hamideh Iraj (20)

Understanding Students' Engagement with Personalised Feedback Messages
Understanding Students' Engagement with Personalised Feedback MessagesUnderstanding Students' Engagement with Personalised Feedback Messages
Understanding Students' Engagement with Personalised Feedback Messages
 
Internet magazines practical tips for improving website traffic
Internet magazines  practical tips for improving website trafficInternet magazines  practical tips for improving website traffic
Internet magazines practical tips for improving website traffic
 
The alignment of e commerce strategies with corporate strategy a case study
The alignment of e commerce strategies with corporate strategy a case studyThe alignment of e commerce strategies with corporate strategy a case study
The alignment of e commerce strategies with corporate strategy a case study
 
The story of learning in university an introduction to connectivism
The story of learning in university an introduction to connectivismThe story of learning in university an introduction to connectivism
The story of learning in university an introduction to connectivism
 
Persian presentation risk management in it projects
Persian presentation  risk management in it projectsPersian presentation  risk management in it projects
Persian presentation risk management in it projects
 
Persian presentation causal comparative research method
Persian presentation causal comparative research methodPersian presentation causal comparative research method
Persian presentation causal comparative research method
 
Persian Document ITBSC
Persian Document   ITBSCPersian Document   ITBSC
Persian Document ITBSC
 
Persian presentation applying knowledge based education to reach knowledge ...
Persian presentation   applying knowledge based education to reach knowledge ...Persian presentation   applying knowledge based education to reach knowledge ...
Persian presentation applying knowledge based education to reach knowledge ...
 
Persian presentation the dance of change
Persian presentation   the dance of changePersian presentation   the dance of change
Persian presentation the dance of change
 
Membean word roots
Membean word rootsMembean word roots
Membean word roots
 
Persian presentation understanding the roi of change management
Persian presentation understanding the roi of change management Persian presentation understanding the roi of change management
Persian presentation understanding the roi of change management
 
Persian document maintenance and repair in cement industry
Persian document   maintenance and repair in cement industryPersian document   maintenance and repair in cement industry
Persian document maintenance and repair in cement industry
 
Persian notes burrel and morgan classification
Persian notes   burrel and morgan classificationPersian notes   burrel and morgan classification
Persian notes burrel and morgan classification
 
Persian notes elm chist
Persian notes  elm chistPersian notes  elm chist
Persian notes elm chist
 
Persian notes four paradigms of information systems development
Persian notes  four paradigms of information systems developmentPersian notes  four paradigms of information systems development
Persian notes four paradigms of information systems development
 
Persian presentation maintenance and repair in cement industry
Persian presentation   maintenance and repair in cement industryPersian presentation   maintenance and repair in cement industry
Persian presentation maintenance and repair in cement industry
 
Servqual Theory - persian
Servqual Theory - persianServqual Theory - persian
Servqual Theory - persian
 
Organizational Learning - Persian
Organizational Learning - PersianOrganizational Learning - Persian
Organizational Learning - Persian
 
Expectation confirmation Theory - persian
Expectation confirmation Theory - persianExpectation confirmation Theory - persian
Expectation confirmation Theory - persian
 
Evaluation theories conclusion - English
Evaluation theories conclusion - EnglishEvaluation theories conclusion - English
Evaluation theories conclusion - English
 

Genetic algorithms for solving traveling salesman problem

  • 1. ‫اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬ ‫ﻛﺎرﺑﺮد و در ﺣﻞ ﻣﺴﺎﻟﻪ‬ ‫ﻓﺮوﺷﻨﺪه دوره ﮔﺮد‬ ‫اﺳﺘﺎد راﻫﻨﻤﺎ: ﺟﻨﺎب آﻗﺎي ﺣﺴﻴﻨﻲ‬ ‫ﺗﻬﻴﻪ ﻛﻨﻨﺪه: ﺣﻤﻴﺪه اﻳﺮج‬ ‫500015118‬
  • 2.
  • 3. ‫ﭼﻜﻴﺪه ﻣﻘﺎﻟﻪ :‬ ‫در اﻳﻦ ﻣﻘﺎﻟﻪ اﺑﺘﺪا ‪ TSP‬را ﻣﻌﺮﻓﻲ ﻛﺮده و ﭘﻴﺸﻴﻨﻪ ، ﻛﺎرﺑﺮدﻫﺎ ، ﻓﺮم ﻫﺎي ﻣﺨﺘﻠﻒ و روﺷﻬﺎي ﺣﻞ آن را ﺑﺮرﺳﻲ ﻣﻲ ﻛﻨـﻴﻢ. ﺳـﭙﺲ‬ ‫ﻣﺸﻜﻼت روﺷﻬﺎي ﺣﻞ ﻛﻼﺳﻴﻚ را ﺑﺮرﺳﻲ ﻣﻲ ﻛﻨﻴﻢ. وﺑﻪ اراﺋﻪ روش ﺣﻞ ﺑﺎ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﻣﻲ ﭘﺮدازﻳﻢ و در ﻧﻬﺎﻳ ﺖ اﻟﮕﻮرﻳﺘﻤﻬﺎي‬ ‫ژﻧﺘﻴﻚ ﻣﺨﺘﻠﻔﻲ را ﺑﺮاي ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد ﻣﻄﺮح ﻣﻲ ﻛﻨﻴﻢ و ﺑﺮرﺳﻲ ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ ﻛﺪام ﻳﻚ از اﻳﻦ اﻟﮕﻮرﻳﺘﻤﻬﺎي ژﻧﺘﻴﻚ ﺑﻬﺘﺮ‬ ‫از ﺑﻘﻴﻪ روﺷﻬﺎ ﺟﻮاب ﻣﻲ دﻫﻨﺪ.‬ ‫ﻛﻠﻤﺎت ﻛﻠﻴﺪي:‬ ‫– ‪Genetic Algorithm—Traveling Salesman Problem--Gene – Chromosome – Allele – Encoding – Population‬‬ ‫‪Evaluation – Fitness – Selection – Crossover – Mutation – Decoding – Generation – Parent‬‬
  • 4. ‫ﻓﻬﺮﺳﺖ ﻣﻄﺎﻟﺐ‬ ‫١ ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد‬ ‫1,1. ﺗﻌﺮﻳﻒ‬ ‫2,1. ﭘﻴﺸﻴﻨﻪ‬ ‫3,1. ﻛﺎرﺑﺮدﻫﺎ‬ ‫4,1. ﻓﺮم ﻫﺎي ﻣﺨﺘﻠﻒ‬ ‫5,1. روش ﻫﺎي ﺣﻞ‬ ‫٢‬ ‫اﻟﮕﻮرﻳﺘﻢ ﻫﺎي ﻫﻴﻮرﻳﺴﺘﻴﻚ‬ ‫1,2. ﻣﻘﺪﻣﻪ‬ ‫2,2. اﻧﻮاع اﻟﮕﻮرﻳﺘﻢ ﻫﺎي ﻫﻴﻮرﻳﺴﺘﻴﻚ‬ ‫٣ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬ ‫1,3. ﻣﻘﺪﻣﻪ‬ ‫٢٫٣.‬ ‫اﺻﻮل اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬ ‫١٫٢٫٣.‬ ‫‪Encoding‬‬ ‫٢٫٢٫٣.‬ ‫‪Evaluation‬‬ ‫٣٫٢٫٣.‬ ‫‪Crossover‬‬ ‫۴٫٢٫٣.‬ ‫‪Mutation‬‬ ‫5,2,3. ‪Decoding‬‬
  • 5. ‫ﻣﺮاﺣﻞ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬ .3,3 ‫4,3. ﻣﺜﺎل ﻋﺪدي‬ ‫5,3.ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬ ‫ ﺑﺎ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬TSP ‫۴. ﺣﻞ ﻣﺴﺎﻟﻪ‬ Encoding .۴٫١ Crossover .۴٫٢ (PMX) Partially Matched Crossover (CX) Cycle Crossover Order Crossover Crossover Matrix (MOX) Modified Order Crossover Mutation .۴٫٣ TSP ‫ﻣﻘﺎﻳﺴﻪ روﺷﻬﺎﯼ ﻣﺨﺘﻠﻒ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﮏ ﺑﺮاﯼ‬ .۴٫۴ ‫5,4. ﻧﺘﻴﺠﻪ ﮔﻴﺮي‬ ‫ﻣﻨﺎﺑﻊ‬
  • 6. ‫١. ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪﻩ دورﻩ ﮔﺮد‬ ‫١‬ ‫3,1. ﺗﻌﺮﻳﻒ ﻣﺴﺎﻟﻪ‬ ‫ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد1 ﻋﺒﺎرﺗﺴﺖ ازﻳﺎﻓﺘﻦ ﻳﻚ ﻣﺴﻴﺮ از ﺗﻌﺪادي از ﺷﻬﺮﻫﺎ ﻛﻪ از ﻫﺮﺷﻬﺮ دﻗﻴﻘﺎ ﻳﻚ ﺑﺎر ﻋﺒﻮر ﻛﻨﻴﻢ و ﺑﻪ ﺷﻬﺮ اول ﺑﺎز‬ ‫ﮔﺮدﻳﻢ ﺑﻪ ﻃﻮري ﻛﻪ ﻃﻮل ﻣﺴﻴﺮ ﻣﻴﻨﻴﻤﻮم ﺷﻮد.‬ ‫4,1. ﭘﻴﺸﻴﻨﻪ‬ ‫اوﻟﻴﻦ ﻧﻤﻮﻧﻪ ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد ﺗﻮﺳﻂ اوﻳﻠﺮ2در9571 ﻣﻄﺮح ﺷﺪ ﻛﻪ ﻫﺪف آن ﺣﺮﻛﺖ دادن ﻳﻚ ﻣﻬﺮه اﺳـﺐ ﺑـﻪ ﻫﻤـﻪ ﻣﻮﻗﻌﻴـﺖ‬ ‫ﻫﺎي ﺻﻔﺤﻪ ﺷﻄﺮﻧﺞ ﺑﻮد.‬ ‫ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪﻩ دورﻩ ﮔﺮد اوﻟﻴﻦ ﺑﺎر در آﺘﺎب ﻳﻚ ﻓﺮوﺷﻨﺪﻩ ﺁﻟﻤﺎﻧﻲ ﻣﺸﻬﻮر ﺷﺪ آﻪ راﺟﻊ ﺑﻪ اﻳﻦ ﺑﻮد آ ﻪ ﭼﮕﻮﻧ ﻪ ﻳ ﻚ ﻓﺮوﺷ ﻨﺪﻩ دورﻩ‬ ‫ﮔﺮد ﻣﻮﻓﻖ ﺷﻮﻳﻢ.او اﻳﻦ ﻣﺴﺎﻟﻪ را )اﻟﺒﺘﻪ ﻧﻪ ﺑﺎ اﻳﻦ ﻧﺎم ( ﺑﻪ اﻳﻦ ﺻﻮرت ﻣﻄﺮح ﻣﻲ آﻨﺪ آﻪ اﻧﺘﺨﺎب ﻣﺴﻴﺮ ﺑﻪ ﻃﻮري آﻪ هﻤ ﻪ ﺷ ﻬﺮهﺎ‬ ‫را ﭘﻮﺷﺶ دهﻴﻢ و از هﻴﭻ ﺷﻬﺮي دوﺑﺎر ﻋﺒﻮر ﻧﻜﻨﻴﻢ ﻣﻬﻢ ﺕﺮﻳﻦ ﺟﻨﺒﻪ ﺑﺮﻧﺎﻣﻪ رﻳﺰي ﻳﻚ ﻣﺴﻴﺮ اﺳﺖ. ﺕﺎ ﺑ ﻪ ﺣ ﺎل ﺕﻨﻬ ﺎ روش ﺷ ﻨﺎﺥﺘﻪ‬ ‫ﺷﺪﻩ آﻪ رﺳﻴﺪن ﺑﻪ ﺟﻮاب ﺑﻬﻴﻨﻪ را در ﻣﺴﺎﻟﻪ اي ﺑ ﻪ ه ﺮ اﻧ ﺪازﻩ ﺕ ﻀﻤﻴﻦ ﻣ ﻲ آﻨ ﺪ ﺷ ﻤﺎرش ه ﺮ ﺕ ﻮر ﻣﻤﻜ ﻦ و ﻳ ﺎﻓﺘﻦ ﺕ ﻮر ﺑ ﺎ آﻤﺘ ﺮﻳﻦ‬ ‫هﺰﻳﻨﻪ اﺳﺖ.٣ ﺑﻪ روش رﻳﺎﺽﯽ ﻣﺴﺎﻟﻪ ﺑﺎ ﻳﺎﻓﺘﻦ ﺕﻌﺪاد ﺟﺎﻳﮕﺸﺖ هﺎﯼ‪ n‬ﺷﯽ ﻣﺘﻤﺎﻳﺰ وﺳﭙﺲ ارزﻳﺎﺑﯽ هﺮ ﺣﺎﻟﺖ ﺑﺮرﺳﯽ ﻣﯽ ﺷﻮد.‬ ‫ﺗﻌﺪاد ﺟﺎﻳﮕﺸﺘﻬﺎ !‪ n‬اﺳﺖ. ﺑﺮاي ﻳﺎﻓﺘﻦ ﻣﻴﻨﻴﻤﻢ دورﻫﺎ ﻧﻴﺰ ﺑﻪ ﺣﺪاﻛﺜﺮ !‪ n‬ﻣﺤﺎﺳﺒﻪ اﺣﺘﻴﺎج دارﻳﻢ. وﻟﻲ اﮔـﺮ ‪ n‬را زﻳـﺎد ﻓـﺮض ﻛﻨـﻴﻢ‬ ‫ﺗﻌﺪاد ﻣﺤﺎﺳﺒﺎت ﺑﺴﻴﺎر ﺑﺎﻻ ﺧﻮاﻫﺪ ﺑﻮد ﺑﻪ ﻫﻤﻴﻦ دﻟﻴﻞ ﮔﻔﺘﻪ ﻣﻲ ﺷﻮد ﻛﻪ اﻟﮕﻮرﻳﺘﻢ ﺣﻞ ﻣﺴﺎﻟﻪ در زﻣﺎن ﭼﻨﺪ ﺟﻤﻠﻪ اي4 ﻧﻴﺴﺖ.‬ ‫اﮔﺮ ﺑﺘﻮاﻧﻴﻢ ﻫﺮ ﻣﺴﻴﺮ را در ﻳﻚ ﻧﺎﻧﻮ ﺛﺎﻧﻴﻪ ارزﻳﺎﺑﻲ ﻛﻨﻴﻢ ﺑﺮاي ﻳﺎﻓﺘﻦ ﺟﻮاب ﺑﻬﻴﻨﻪ ﻳﻚ ﻣﺴﺎﻟﻪ ﺑﺎ 52 ﺷﻬﺮ ده ﻣﻴﻠﻴﻮن ﺳﺎل ﻻزم اﺳﺖ. ﺑﻨـﺎﺑﺮ‬ ‫اﻳﻦ ﺑﺎﻳﺪ ﺑﻬﻴﻨﻪ ﺑﻮدن را ﺑﺮاي ﻳﺎﻓﺘﻦ ﺟﻮاﺑﻲ ﻣﻨﺎﺳﺐ در زﻣﺎن ﻗﺎﺑﻞ ﻗﺒﻮل ﻗﺮﺑﺎﻧﻲ ﻛﻨﻴﻢ.‬ ‫1‬ ‫)‪Traveling salesman problem (TSP‬‬ ‫‪Euler‬‬ ‫3‬ ‫‪The “brute force” method‬‬ ‫4‬ ‫‪Non-Polynomial‬‬ ‫2‬
  • 7. ‫5,1.‬ ‫ﻛﺎرﺑﺮدﻫﺎ‬ ‫ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد ﻛﺎرﺑﺮدﻫﺎي زﻳﺎدي در دﻧﻴﺎي واﻗﻌﻲ دارد و ان را ﻣﺴﺎﻟﻪ ﻣﺤﺒﻮﺑﻲ ﺑﺮاي ﺣﻞ ﻛﺮده اﺳﺖ. ﺑﺮاي ﻣﺜﺎل ﭼﻨﺪ ﻧﻤﻮﻧﻪ از‬ ‫ﻣﺴﺎﻟﻪ "ﻣﺴﻴﺮﻳﺎﺑﻲ وﺳﻴﻠﻪ ﻧﻘﻠﻴﻪ"5 ﻣﻲ ﺗﻮاﻧﺪ ﺑﻪ ﺻﻮرت ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد ﺗﺒﺪﻳﻞ ﺷﻮد .ﻣﺴﺎﻟﻪ ﻣﺴﻴﺮﻳﺎﺑﻲ وﺳﻴﻠﻪ ﻧﻘﻠﻴﻪ ﻋﺒﺎرﺗـﺴﺖ از‬ ‫اﻳﻦ ﻛﻪ ﻛﺪام وﺳﺎﻳﻞ ﻧﻘﻠﻴﻪ ﺑﺎﻳﺪ ﺑﻪ ﻛﺪام ﻣﺸﺘﺮي ﻫﺎ ﺳﺮوﻳﺲ ﺑﺪﻫﻨﺪ و ﻛﻤﺘﺮﻳﻦ ﺗﻌﺪاد وﺳﺎﻳﻞ ﻧﻘﻠﻴﻪ ﻣﻮرد ﻧﻴﺎز ﺑﺎﺷﺪ. اﻧﻮاع ﻣﺨﺘﻠﻔـﻲ از اﻳـﻦ‬ ‫ﻣﺴﺎﻟﻪ وﺟﻮد دارد ﻛﻪ ﺷﺎﻣﻞ ﻳﺎﻓﺘﻦ ﻛﻤﺘﺮﻳﻦ زﻣﺎن ﺑﺮاي ﺳﺮوﻳﺲ دﻫﻲ ﻧﻴﺰ ﻣﻲ ﺷﻮد ﻛﻪ ﺑﻌـﻀﻲ از ان ﻫـﺎ ﻣـﻲ ﺗﻮاﻧﻨـﺪ ﺑـﻪ ﺻـﻮرت ﻣـﺴﺎﻟﻪ‬ ‫ﻓﺮوﺷﻨﺪه دوره ﮔﺮد ﺣﻞ ﺷﻮﻧﺪ.‬ ‫ﻣﺴﺎﻟﻪ ﺳﻴﻢ ﻛﺸﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ6 ﻧﻴﺰ ﻣﻲ ﺗﻮاﻧﺪ ﺑﻪ ﺻﻮرت ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد ﻣﺪل ﺷﻮد. ﻗﻄﻌﻪ ﻫﺎي ﻣﺨﺘﻠﻒ و ﺗﻌـﺪادي ﭘـﻴﻦ دارﻳـﻢ و‬ ‫ﺑﺎﻳﺪ زﻳﺮ ﻣﺠﻤﻮﻋﻪ اي از ﭘﻴﻦ ﻫﺎ را ﻃﻮري ﺑﺎ ﺳﻴﻢ ﺑﻪ ﻫﻢ وﺻﻞ ﻛﻨﻴﻢ ﻛﻪ از ﻫﻴﭻ ﭘﻴﻨﻲ ﺑﻴﺶ از دو ﺳﻴﻢ ﻋﺒﻮر ﻧﻜﻨﺪ و ﻃﻮل ﺳـﻴﻢ ﻣﻴﻨﻴﻤـﻮم‬ ‫ﺷﻮد.‬ ‫ﭘﻠﻴﺖ7 ، ﻻو8 و ﻛﺎ ﻧﺪراﺳﻜﺎران‬ ‫9‬ ‫ﻛﺎرﺑﺮد اﻳﻦ ﻣﺴﺎﻟﻪ را در ﭼﻚ ﻛﺮدن ﻣﻮﺗﻮر ﺗﻮرﺑﻴﻦ ﮔﺎزي ﻣﻄﺮح ﻛﺮدﻧﺪ. ﭘﺮه ﻫﺎي ﺑﻪ‬ ‫ﻃﺮف دﻫﺎﻧﻪ ) ﻛﻪ ﺑﻪ ﻣﺤﻴﻂ داﻳﺮه ﻣﺤﻜﻢ ﻣﻲ ﺷﻮﻧﺪ( در ﻫﺮ ﺗﻮرﺑﻴﻦ ﻗﺮار ﻣﻲ ﮔﻴﺮد ﺗﺎ ﻳﻜﻨﻮاﺧﺘﻲ ﺟﺮﻳﺎن ﮔﺎز را ﺗﻀﻤﻴﻦ ﻛﻨﺪ. ﻣﻜﺎن ﭘﺮه ﻫﺎ‬ ‫ﺑﺮاي ﻣﻴﻨﻴﻤﻮم ﻛﺮدن ﺳﻮﺧﺖ ﻣﺼﺮﻓﻲ ﻣﻴﺘﻮاﻧﺪ ﺑﻪ ﺻﻮرت ﻳﻚ ‪ TSP‬ﻣﺘﻘﺎرن ﻣﺪل ﺷﻮد.‬ ‫زﻣﺎن ﺑﻨﺪي ﻋﻤﻠﻴﺎت روي ﻳﻚ ﻣﺎﺷﻴﻦ در ﺣﺎﻟﻲ ﻛﻪ زﻣﺎن اﻧﺠﺎم ﻋﻤﻠﻴﺎت وزﻣﺎن آﻣﺎده ﺳﺎزي ﻣﺎﺷﻴﻦ ﺑﺮاي ﻫﺮ ﻋﻤﻠﻴﺎت را ﺑﺪاﻧﻴﻢ ﻧﻴﺰ ﻳﻚ‬ ‫ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد اﺳﺖ ﻛﻪ ﻫﺪف آن ﻣﻴﻨﻴﻤﻮم ﻛﺮدن زﻣﺎن ﻛﻞ ﺑﺮاي ﭘﺮدازش ﻫﺮ ﻋﻤﻞ اﺳﺖ.‬ ‫از ﻛﺎرﺑﺮدﻫﺎي ﺻﻨﻌﺘﻲ آن ﻣﻴﺘﻮان ﺑﻪ ﺗﻮﻟﻴﺪ ﻣﺎﻳﻜﺮو ﭘﺮوﺳﺴﻮرﻫﺎ، ﺣﻤﻞ و ﻧﻘﻞ و ﻣﺴﺎﻳﻞ ﻣﻨﻄﻖ اﺷﺎره ﻛﺮد.‬ ‫اﻳﻦ ﻣﺴﺎﻟﻪ ﻫﻤﭽﻨﻴﻦ در اﻧﺒﺎرداري01 ، ﺟﺎﺑﺠﺎﻳﻲ ﻣﻮاد11 و ﺑﺮﻧﺎﻣﻪ رﻳﺰي ﺗﺴﻬﻴﻼت21 ﻧﻴﺰ ﻛﺎرﺑﺮد دارد.‬ ‫2‬ ‫3‬ ‫در ﻣﺴﻴﺮﻳﺎﺑﻲ ﭘﺴﺘﻲ31 ، ﺗﻮاﻟﻲ ﻓﺎﻳﻞ ﻫﺎي ﻛﺎﻣﭙﻴﻮﺗﺮ41 و ﻣﺴﻴﺮ ﻣﺸﺘﺮي ﻫﺎ در ﻣﺮاﻛﺰ ﺑﻬﺪاﺷﺘﻲ51 ﻧﻴﺰ ﻛﺎرﺑﺮد دارد.‬ ‫4‬ ‫5‬ ‫)‪vehicle routing problem (VRP‬‬ ‫‪6 computer wiring‬‬ ‫7‬ ‫‪Plate‬‬ ‫8‬ ‫‪Lowe‬‬ ‫9‬ ‫‪Chandrasekaran‬‬ ‫01‬ ‫‪warehousing‬‬ ‫11‬ ‫‪material handling‬‬ ‫21‬ ‫‪facilities layout‬‬ ‫31‬ ‫‪postal routing‬‬ ‫41‬ ‫‪computer file sequencing‬‬ ‫‪15 the routing of clients through welfare agencies‬‬
  • 8. ‫6,1.‬ ‫ﻓﺮﻣﻬﺎي ﻣﺨﺘﻠﻒ‬ ‫اﻧﻮاع ﻣﺨﺘﻠﻔﻲ از ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد وﺟﻮد دارد. اوﻟﻴﻦ ان ﻣﺴﺎﻟﻪ ﻛﻮﺗﺎﻫﺘﺮﻳﻦ ﻣﺴﻴﺮ ﻫﻤﻴﻠﺘﻮﻧﻲ61 اﺳﺖ.اﮔﺮ ﮔﺮاﻓﻲ داﺷﺘﻪ ﺑﺎﺷـﻴﻢ ﻛـﻪ‬ ‫ﻫﺮ ﻳﺎل وزﻧﻲ داﺷﺘﻪ ﺑﺎﺷﺪ و دو راس ﻣﻔﺮوض داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﺑﺎﻳﺪ ﻛﻮﺗﺎﻫﺘﺮﻳﻦ دور ﻫﻤﻴﻠﺘﻮﻧﻲ را از اوﻟﻲ ﺑﻪ دوﻣﻲ ﺑﻴﺎﺑﻴﻢ. اﮔﺮ ﻳﺎﻟﻲ ﮔﺬرﻧﺪه‬ ‫از اﻳﻦ دو اﺿﺎﻓﻪ ﻛﻨﻴﻢ و ﺑﻪ آن وزن ﺑﺰرگ وﻣﺜﺒﺖ ‪ M‬ﻧﺴﺒﺖ ﺑﺪﻫﻴﻢ ﻣﺴﻴﺮ ﺑﻬﻴﻨﻪ ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔـﺮد ﻫﻤـﻮاره از اﻳـﻦ ﻳـﺎل ﻣـﻲ‬ ‫ﮔﺬرد ﭼﻮن ﻫﺰﻳﻨﻪ ﻣﺴﻴﺮ را ﻛﺎﻫﺶ ﻣﻲ دﻫﺪ و ﻣﺴﺎﻟﻪ دور ﻫﻤﻴﻠﺘﻮﻧﻲ را ﺣﻞ ﻣﻲ ﻛﻨﺪ.‬ ‫ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد ﻧﺎﻣﺘﻘﺎرن71 ﺣﺎﻟﺘﻲ اﺳﺖ ﻛﻪ ﻫﺰﻳﻨﻪ ﺳﻔﺮ از اﻟﻒ ﺑﻪ ب ﺑﺎ ﻫﺰﻳﻨﻪ ﺳﻔﺮ از ب ﺑﻪ اﻟﻒ ﻳﻜﺴﺎن ﻧﻴﺴﺖ ﻛﻪ ﻣﻲ ﺗﻮاﻧﺪ ﺑـﺎ‬ ‫ﻫﻤﺎن روش ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد اﺳﺘﺎﻧﺪارد81 ﺣﻞ ﺷﻮد وﻗﺘﻲ ﻛﻪ ﻃﻮري ﺑﻪ ﻳﺎﻟﻬﺎ وزن ﺑﺪﻫﻴﻢ ﻛـﻪ ﺗـﻀﻤﻴﻦ ﻛﻨـﺪ دور ﻫﻤﻴﻠﺘـﻮﻧﻲ در‬ ‫ﮔﺮاف وﺟﻮد دارد.‬ ‫ﻣﺴﺎﻟﻪ ﺑﺎ ﭼﻨﺪ ﻓﺮوﺷﻨﺪه91 ﺷﺒﻴﻪ ﻣﺴﺎﻟﻪ ﺑﺎ ﻳﻚ ﻓﺮوﺷﻨﺪه اﺳﺖ. ﺗﻨﻬﺎ ﺗﻔﺎوت اﻳﻦ اﺳﺖ ﻛﻪ ﺑﻴﺶ از ﻳﻚ ﻓﺮوﺷﻨﺪه دارﻳﻢ.ﺑﺎﻳﺪ ﻫـﺮ ﻓﺮوﺷـﻨﺪه را‬ ‫ﺑﻪ ﺟﺎﻳﻲ ﺑﻔﺮﺳﺘﻴﻢ ﺑﻪ ﻃﻮري ﻛﻪ ﻫﺮ ﺷﻬﺮ ﻓﻘﻂ ﻳﻚ ﺑﺎر ﻣﻼﻗﺎت ﺷﻮد و ﻫﺮ ﻓﺮوﺷﻨﺪه ﺑﻪ ﺷﻬﺮ اﺻﻠﻲ ﺑﺮﮔﺮدد.‬ ‫02‬ ‫ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد ﮔﻠﻮﮔﺎ ه‬ ‫ﺑﻪ اﻳﻦ ﺻﻮرت اﺳﺖ ﻛﻪ ﻣﻲ ﺧﻮاﻫﻴﻢ ﺑﻴﺸﺘﺮﻳﻦ ﻫﺰﻳﻨﻪ ﻫﺮﻳﺎل را ﺑﻪ ﺟـﺎي ﻫﺰﻳﻨـﻪ ﻛـﻞ درﻫـﺮ ﻣـﺴﻴﺮ‬ ‫ﻣﻴﻨﻴﻤﻮم ﻛﻨﻴﻢ. ﻳﻌﻨﻲ ﻣﻲ ﺧﻮاﻫﻴﻢ ﺑﻴﺸﺘﺮﻳﻦ ﻣﺴﺎﻓﺘﻲ را ﻛﻪ ﻫﺮ ﻓﺮوﺷﻨﺪه ﺑﻴﻦ دو ﺷﻬﺮ ﻣﺠﺎور ﻣﻲ ﭘﻴﻤﺎﻳﺪ ﻣﻴﻨﻴﻤﻮم ﻛﻨﻴﻢ.‬ ‫ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد واﺑﺴﺘﻪ ﺑﻪ زﻣﺎن12 ﺑﺎ ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد اﺳﺘﺎﻧﺪارد ﻳﻜﻲ اﺳﺖ. ﻓﻘﻂ اﻳﻦ ﺟﺎ ﻣﺎ دوره ﻫﺎي زﻣﺎﻧﻲ دارﻳﻢ.‬ ‫ﻣﺪل رﻳﺎﺿﻲ اﻳﻦ ﻣﺴﺎﻟﻪ ﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺖ.‬ ‫‪ C ijt‬ﻫﺰﻳﻨﻪ ﺳﻔﺮ از ﮔﺮه ‪ i‬ﺑﻪ ﮔﺮه ‪ j‬در زﻣﺎن ‪ t‬اﺳﺖ.‬ ‫‪ 1 X ijt‬اﺳﺖ اﮔﺮ ﻣﺴﻴﺮ در زﻣﺎن ‪ t‬از ﮔﺮه ‪ I‬ﺑﻪ ﮔﺮه ‪ j‬ﻋﺒﻮر ﻛﻨﺪ و در ﻏﻴﺮ اﻳﻦ ﺻﻮرت 0 اﺳﺖ.‬ ‫‪Subject to‬‬ ‫‪16 Hamiltonian path problem‬‬ ‫71‬ ‫‪asymmetric traveling salesman problem‬‬ ‫81‬ ‫‪standard traveling salesman problem‬‬ ‫91‬ ‫‪multisalesman traveling salesman problem‬‬ ‫02‬ ‫‪bottleneck traveling salesman problem‬‬ ‫12‬ ‫‪time dependent traveling salesman problem‬‬
  • 9. ‫ﻣﺤﺪودﻳﺖ اﺧﺮ ﻧﺸﺎن ﻣﻲ دﻫﺪ ﻛﻪ ﻫﺮ راس در دوره ﻫﺎي زﻣﺎﻧﻲ ﻣﺘﻮاﻟﻲ وارد و ﺧﺎرج ﺷﺪه اﺳﺖ.‬ ‫7,1.‬ ‫روش ﻫﺎي ﺣﻞ‬ ‫اﻟﮕﻮرﻳﺘﻢ ﻫﺎي ‪ Greedy‬روﺷﻲ ﺑﺮاي ﻳﺎﻓﺘﻦ ﺟﻮاب ﻣﻮﺟﻪ درﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد ﻫﺴﺘﻨﺪ. اﻳﻦ اﻟﮕﻮرﻳﺘﻢ ﻓﻬﺮﺳﺘﻲ از ﻫﻤﻪ ﻳﺎل ﻫﺎ‬ ‫در ﻳﻚ ﮔﺮاف ﺧﻠﻖ ﻣﻲ ﻛﻨﺪ و اﻧﻬﺎ را ﺑﻪ ﺗﺮﺗﻴﺐ ﻫﺰﻳﻨﻪ) از ﻛﻤﺘﺮﻳﻦ ﺑﻪ ﺑﻴﺸﺘﺮﻳﻦ ( ﻣﺮﺗﺐ ﻣﻲ ﻛﻨﺪ. ﺳﭙﺲ ﻳﺎل ﺑﺎﻛﻤﺘﺮﻳﻦ ﻫﺰﻳﻨﻪ را اﻧﺘﺨـﺎب‬ ‫ﻣﻲ ﻛﻨﺪ ) اﮔﺮدور ﺗﺸﻜﻴﻞ ﻧﺪﻫﺪ(. اﻟﮕﻮرﻳﺘﻢ ‪ Greedy‬ﻫﻤﻴﺸﻪ ﺟﻮاﺑﻬﺎي ﻣﻮﺟﻪ اراﻳﻪ ﻣﻲ ﻛﻨﺪ. وﻟﻲ ﻫﻤﻴﺸﻪ ﺧﻮب ﻧﻴﺴﺖ.‬ ‫" اﻟﮕﻮرﻳﺘﻢ ﻧﺰدﻳﻚ ﺗﺮﻳﻦ ﻫﻤﺴﺎﻳﻪ"22 در اﻳﻦ ﻣﻮرد ﻣﺸﺎﺑﻪ اﻟﮕﻮرﻳﺘﻢ‬ ‫‪ Greedy‬اﺳﺖ. ﺑﻪ ﻃﻮر ﺗﺼﺎدﻓﻲ ﺷـﻬﺮ ﺷـﺮوع را اﻧﺘﺨـﺎب ﻣـﻲ‬ ‫ﻛﻨﻴﻢ و ﺑﻪ ﻧﺰدﻳﻚ ﺗﺮﻳﻦ ﺷﻬﺮي ﻣﻲ روﻳﻢ ﻛﻪ دور ﺗﻮﻟﻴﺪ ﻧﻜﻨﺪ. اﻳﻦ ﻛﺎر را ﺗﺎ ﺟﺎﻳﻲ اداﻣﻪ ﻣﻲ دﻫﻴﻢ ﻛﻪ از ﻫﻤـﻪ ﺷـﻬﺮﻫﺎ ﻋﺒـﻮر ﻛﻨـﻴﻢ. اﻳـﻦ‬ ‫اﻟﮕﻮرﻳﺘﻢ ﻫﻢ ﻫﻤﻴﺸﻪ ﺟﻮاب ﻫﺎي ﺧﻮﺑﻲ ﺗﻮﻟﻴﺪ ﻧﻤﻲ ﻛﻨﺪ ﭼﻮن راس آﺧﺮ ﻧﺴﺒﺘﺎ دور ﻣﻲ ﺷﻮد.‬ ‫"درﺧﺖ ﻓﺎﺻﻠﻪ ﻣﻴﻨﻴﻤﻮم"32 ﻣﺠﻤﻮﻋﻪ اي از 1-‪ n‬ﻳﺎل اﺳﺖ ﻛﻪ ﻫﻤﻪ ﺷﻬﺮﻫﺎ را ﻃﻮري ﺑﻪ ﻫﻢ وﺻﻞ ﻣﻲ ﻛﻨﺪ ﻛـﻪ ﻣﺠﻤـﻮع ﻫﻤـﻪ ﻳـﺎل ﻫـﺎ‬ ‫ﻣﻴﻨﻴﻤﻮم ﺷﻮد. وﻗﺘﻲ ﻛﻪ درﺧﺖ ﻓﺎﺻﻠﻪ ﻣﻴﻨﻴﻤﻮم را ﺑﺮاي ﮔﺮاف ﻳﺎﻓﺘﻴﻢ ﻳﺎﻟﻬﺎ را دوﻃﺮﻓﻪ در ﻧﻈﺮ ﻣﻴﮕﻴﺮﻳﻢ و ﻣﺴﻴﺮي ﺗﻮﻟﻴﺪ ﻣﻴﻜﻨﻴﻢ. ﺑﻌـﺪ از‬ ‫ﺷﻬﺮي ﺷﺮوع ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ ﻓﻘﻂ ﺑﻪ ﻳﻚ ﺷﻬﺮ دﻳﮕﺮ ﻣﺘﺼﻞ اﺳﺖ42 و اﻳﻦ ﻛﺎر را ﺗﺎ ﻋﺒﻮر از ﻫﻤﻪ ﺷﻬﺮﻫﺎ اداﻣﻪ ﻣﻴﺪﻫﻴﻢ. اﮔﺮ ﻳﺎل ﻋﺒﻮرﻧﻴﺎﻓﺘـﻪ‬ ‫اي وﺟﻮد ﻧﺪاﺷﺖ ﺑﻪ ﻳﺎل ﻗﺒﻠﻲ ﺑﺮﻣﻲ ﮔﺮدﻳﻢ و اﻳﻦ ﻛﺎر را اداﻣﻪ ﻣﻲ دﻫﻴﻢ ﺗﺎ ﺑﻪ ﺷﻬﺮ آﻏﺎزﻳﻦ ﺑﺮﺳﻴﻢ . اﻳﻦ ﻛﺎر ﻛﺮان ﺑﺎﻻﻳﻲ ﺑﺮاي ﺟﻮاب‬ ‫ﺑﻬﻴﻨﻪ را ﺑﻪ ﻣﺎ ﻣﻲ دﻫﺪ ﺑﺎ وﺟﻮد اﻳﻦ ﻛﻪ از ﺑﻌﻀﻲ از ﺷﻬﺮﻫﺎ ﺑﻴﺶ از ﻳﻚ ﺑﺎر ﻋﺒﻮر ﻣﻲ ﻛﻨﻴﻢ. اﻳﻦ ﻣﺸﻜﻞ را اﻳﻦ ﻃﻮر ﺣﻞ ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ اﮔﺮ‬ ‫22‬ ‫‪Nearest Neighbor algorithm‬‬ ‫‪minimum spanning tree‬‬ ‫42‬ ‫‪Leaf City‬‬ ‫32‬
  • 10. ‫ﺧﻮاﺳﺘﻴﻢ ﺑﻪ ﻳﻚ ﺷﻬﺮ ﻣﻼﻗﺎت ﺷﺪه ﺑﺮﮔﺮدﻳﻢ ﺑﻪ ﺷﻬﺮ ﻣﻼﻗﺎت ﻧﺸﺪه ﺑﻌﺪي ﻣﻲ روﻳﻢ. وﻗﺘﻲ از ﻫﻤﻪ ﺷﻬﺮ ﻫﺎ ﻋﺒـﻮر ﻛـﺮدﻳﻢ ﻣـﺴﺘﻘﻴﻤﺎ ﺑـﻪ‬ ‫ﺷﻬﺮ آﻏﺎزﻳﻦ ﻣﻲ روﻳﻢ.‬
  • 11. ‫اﻟﮕﻮرﻳﺘﻢ ﻫﺎي ﻫﻴﻮرﻳﺴﺘﻴﻚ‬ ‫1,2.‬ ‫٥‬ ‫ﻣﻘﺪﻣﻪ‬ ‫ﺳﻴﺴﺘﻢﻫﺎي ﭘﻴﭽﻴﺪه اﺟﺘﻤﺎﻋﻲ ﺗﻌﺪاد زﻳﺎدي از ﻣﺴﺎﺋﻞ داراي ﻃﺒﻴﻌﺖ ﺗﺮﻛﻴﺒﺎﺗﻲ52 را ﭘﻴﺶ روي ﻣﺎ ﻗﺮار ﻣﻲدﻫﻨﺪ. ﻣﺴﻴﺮ ﻛﺎﻣﻴﻮﻧﻬﺎي ﺣﻤـﻞ‬ ‫و ﻧﻘﻞ ﺑﺎﻳﺪ ﺗﻌﻴﻴﻦ ﺷﻮد، اﻧﺒﺎرﻫﺎ ﻳﺎ ﻧﻘﺎط ﻓﺮوش ﻣﺤﺼﻮﻻت ﺑﺎﻳﺪ ﺟﺎﻳﺎﺑﻲ ﺷﻮﻧﺪ، ﺷﺒﻜﻪﻫﺎي ارﺗﺒـﺎﻃﻲ ﺑﺎﻳـﺪ ﻃﺮاﺣـﻲ ﺷـﻮﻧﺪ، ﻛﺎﻧﺘﻴﻨﺮﻫـﺎ ﺑﺎﻳـﺪ‬ ‫ﺑﺎرﮔﻴﺮي ﺷﻮﻧﺪ، راﺑﻂﻫﺎي رادﻳﻮﻳﻲ ﻣﻲﺑﺎﻳﺴﺖ داراي ﻓﺮﻛﺎﻧﺲ ﻣﻨﺎﺳﺐ ﺑﺎﺷﻨﺪ، ﻣﻮاد اوﻟﻴﻪ ﭼﻮب، ﻓﻠﺰ، ﺷﻴﺸﻪ و ﭼﺮم ﺑﺎﻳﺪ ﺑﻪ اﻧـﺪازهﻫـﺎي ﻻزم‬ ‫ﺑﺮﻳﺪه ﺷﻮﻧﺪ؛ از اﻳﻦ دﺳﺖ ﻣﺴﺎﺋﻞ ﺑﻲﺷﻤﺎرﻧﺪ. ﺗﺌﻮري ﭘﻴﭽﻴﺪﮔﻲ ﺑﻪ ﻣﺎ ﻣﻲ ﮔﻮﻳﺪ ﻛﻪ ﻣﺴﺎﺋﻞ ﺗﺮﻛﻴﺒﺎﺗﻲ اﻏﻠﺐ ﭘﻠﻲﻧﻮﻣﻴﺎل ﻧﻴﺴﺘﻨﺪ. اﻳﻦ ﻣﺴﺎﺋﻞ‬ ‫در اﻧﺪازهﻫﺎي ﻛﺎرﺑﺮدي و ﻋﻤﻠﻲ ﺧﻮد ﺑﻪ ﻗﺪري ﺑﺰرگ ﻫﺴﺘﻨﺪ ﻛﻪ ﻧﻤﻲﺗﻮان ﺟﻮاب ﺑﻬﻴﻨﻪ آﻧﻬﺎ را در ﻣﺪت زﻣﺎن ﻗﺎﺑﻞ ﭘﺬﻳﺮش ﺑﻪ دﺳﺖ آورد.‬ ‫ﺑﺎ اﻳﻦ وﺟﻮد، اﻳﻦ ﻣﺴﺎﺋﻞ ﺑﺎﻳﺪ ﺣﻞ ﺷﻮﻧﺪ و ﺑﻨﺎﺑﺮاﻳﻦ ﭼﺎرهاي ﻧﻴﺴﺖ ﻛﻪ ﺑﻪ ﺟﻮاﺑﻬﺎي زﻳﺮ ﺑﻬﻴﻨﻪ62 ﺑﺴﻨﺪه ﻧﻤﻮد ﺑﻪ ﮔﻮﻧﻪاي ﻛﻪ داراي ﻛﻴﻔﻴـﺖ‬ ‫ﻗﺎﺑﻞ ﭘﺬﻳﺮش ﺑﻮده و در ﻣﺪت زﻣﺎن ﻗﺎﺑﻞ ﭘﺬﻳﺮش ﺑﻪ دﺳﺖ آﻳﻨﺪ.‬ ‫ﭼﻨﺪﻳﻦ روﻳﻜﺮد ﺑﺮاي ﻃﺮاﺣﻲ ﺟﻮاﺑﻬﺎي ﺑﺎ ﻛﻴﻔﻴﺖ ﻗﺎﺑﻞ ﭘﺬﻳﺮش ﺗﺤﺖ ﻣﺤﺪودﻳﺖ زﻣﺎﻧﻲ ﻗﺎﺑﻞ ﭘﺬﻳﺮش ﭘﻴﺸﻨﻬﺎد ﺷﺪه اﺳﺖ. اﻟﮕـﻮرﻳﺘﻢﻫـﺎﻳﻲ‬ ‫ﻫﺴﺘﻨﺪ ﻛﻪ ﻣﻲﺗﻮاﻧﻨﺪ ﻳﺎﻓﺘﻦ ﺟﻮاﺑﻬﺎي ﺧﻮب در ﻓﺎﺻﻠﻪ ﻣﺸﺨﺼﻲ از ﺟﻮاب ﺑﻬﻴﻨﻪ را ﺗـﻀﻤﻴﻦ ﻛﻨﻨـﺪ ﻛـﻪ ﺑـﻪ آﻧﻬـﺎ اﻟﮕـﻮرﻳﺘﻢﻫـﺎي ﺗﻘﺮﻳﺒـﻲ‬ ‫ﻣﻲﮔﻮﻳﻨﺪ. اﻟﮕﻮرﻳﺘﻢﻫﺎي دﻳﮕﺮي ﻫﺴﺘﻨﺪ ﻛﻪ ﺗﻀﻤﻴﻦ ﻣﻲدﻫﻨﺪ ﺑﺎ اﺣﺘﻤﺎل ﺑﺎﻻ ﺟﻮاب ﻧﺰدﻳﻚ ﺑﻬﻴﻨﻪ ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪ ﻛﻪ ﺑـﻪ آﻧﻬـﺎ اﻟﮕـﻮرﻳﺘﻢﻫـﺎي‬ ‫اﺣﺘﻤﺎﻟﻲ ﮔﻔﺘﻪ ﻣﻲﺷﻮد. ﺟﺪاي از اﻳﻦ دو دﺳﺘﻪ، ﻣﻲﺗﻮان اﻟﮕﻮرﻳﺘﻢﻫﺎﻳﻲ را ﭘﺬﻳﺮﻓﺖ ﻛﻪ ﻫﻴﭻ ﺗﻀﻤﻴﻨﻲ در اراﺋﻪ ﺟﻮاب ﻧﺪارﻧﺪ اﻣﺎ ﺑـﺮ اﺳـﺎس‬ ‫ﺷﻮاﻫﺪ و ﺳﻮاﺑﻖ ﻧﺘﺎﻳﺞ آﻧﻬﺎ، ﺑﻪ ﻃﻮر ﻣﺘﻮﺳﻂ ﺑﻬﺘﺮﻳﻦ ﺗﻘﺎﺑﻞ ﻛﻴﻔﻴﺖ و زﻣﺎن ﺣﻞ ﺑﺮاي ﻣﺴﺌﻠﻪ ﻣﻮرد ﺑﺮرﺳﻲ را ﺑﻪ ﻫﻤﺮاه داﺷـﺘﻪاﻧـﺪ. ﺑـﻪ اﻳـﻦ‬ ‫اﻟﮕﻮرﻳﺘﻢﻫﺎ، اﻟﮕﻮرﻳﺘﻢﻫﺎي ﻫﻴﻮرﻳﺴﺘﻴﻚ ﮔﻔﺘﻪ ﻣﻲﺷﻮد.‬ ‫ﻫﻴﻮرﻳﺴﺘﻴﻚﻫﺎ ﻋﺒﺎرﺗﻨﺪ از ﻣﻌﻴﺎرﻫﺎ، روﺷﻬﺎ ﻳﺎ اﺻﻮﻟﻲ ﺑﺮاي ﺗﺼﻤﻴﻢﮔﻴﺮي ﺑﻴﻦ ﭼﻨﺪ ﮔﺰﻳﻨﻪ ﺧﻂﻣﺸﻲ و اﻧﺘﺨﺎب اﺛﺮﺑﺨﺶﺗﺮﻳﻦ ﺑﺮاي دﺳﺘﻴﺎﺑﻲ‬ ‫ﺑﻪ اﻫﺪاف ﻣﻮرد ﻧﻈﺮ. ﻫﻴﻮرﻳﺴﺘﻴﻚﻫﺎ ﻧﺘﻴﺠﻪ ﺑﺮﻗﺮاري اﻋﺘﺪال ﺑﻴﻦ دو ﻧﻴﺎز ﻫﺴﺘﻨﺪ: ﻧﻴﺎز ﺑﻪ ﺳﺎﺧﺖ ﻣﻌﻴﺎرﻫﺎي ﺳﺎده و در ﻫﻤﺎن زﻣﺎن ﺗﻮاﻧـﺎﻳﻲ‬ ‫ﺗﻤﺎﻳﺰ درﺳﺖ ﺑﻴﻦ اﻧﺘﺨﺎبﻫﺎي ﺧﻮب و ﺑﺪ.‬ ‫ﻳﻚ ﻫﻴﻮرﻳﺴﺘﻴﻚ ﻣﻲﺗﻮاﻧﺪ ﺣﺴﺎﺑﻲ ﺳﺮاﻧﮕﺸﺘﻲ ﺑﺎﺷﺪ ﻛﻪ ﺑﺮاي ﻫﺪاﻳﺖ ﻳﻚ دﺳﺘﻪ از اﻗﺪاﻣﺎت ﺑﻪ ﻛﺎر ﻣﻲرود. ﺑﺮاي ﻣﺜﺎل، ﻳﻚ روش ﻣﺸﻬﻮر‬ ‫ﺑﺮاي اﻧﺘﺨﺎب ﻃﺎﻟﺒﻲ رﺳﻴﺪه ﻋﺒﺎرﺗﺴﺖ از ﻓﺸﺎر دادن ﻣﺤﻞ اﺗﺼﺎل ﺑﻪ رﻳﺸﻪ از ﻳﻚ ﻃﺎﻟﺒﻲ ﻧﺎﻣﺰد اﻧﺘﺨﺎب و ﺳﭙﺲ ﺑﻮ ﻛﺮدن آن ﻣﺤﻞ. اﮔﺮ‬ ‫ﺑﻮي آن ﻣﺤﻞ ﻣﺎﻧﻨﺪ ﺑﻮي داﺧﻞ ﻃﺎﻟﺒﻲ ﺑﺎﺷﺪ آن ﻃﺎﻟﺒﻲ ﺑﻪ اﺣﺘﻤﺎل زﻳﺎد رﺳﻴﺪه اﺳﺖ. اﻳﻦ ﻗﺎﻋﺪه ﺳﺮاﻧﮕﺸﺘﻲ ﻧﻪ ﺗﻀﻤﻴﻦ ﻣﻲﻛﻨﺪ ﻛﻪ ﺗﻨﻬﺎ‬ ‫ﻃﺎﻟﺒﻲﻫﺎي رﺳﻴﺪه ﺑﻪ ﻋﻨﻮان ﻧﺎﻣﺰد اﻧﺘﺨﺎب ﺷﻮﻧﺪ و ﻧﻪ ﺗﻀﻤﻴﻦ ﻣﻲﻛﻨﺪ ﻛﻪ ﻃﺎﻟﺒﻲﻫﺎي رﺳﻴﺪه آزﻣﺎﻳﺶ ﺷﺪه، رﺳﻴﺪه ﺗﺸﺨﻴﺺ داده ﺷﻮﻧﺪ‬ ‫‪Combinatorial‬‬ ‫‪suboptimal‬‬ ‫52‬ ‫62‬
  • 12. ‫اﻣﺎ ﺑﻪ ﻫﺮ ﺣﺎل اﻳﻦ روش، اﺛﺮﺑﺨﺶﺗﺮﻳﻦ روش ﺷﻨﺎﺧﺘﻪ ﺷﺪه اﺳﺖ.‬ ‫ﺑﻪ ﻋﻨﻮان ﻣﺜﺎﻟﻲ دﻳﮕﺮ از اﺳﺘﻔﺎده ﻫﻴﻮرﻳﺴﺘﻴﻚﻫﺎ، ﻳﻚ اﺳﺘﺎد ﺑﺰرگ ﺷﻄﺮﻧﺞ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ ﻛﻪ ﺑﺎ اﻧﺘﺨﺎب ﺑﻴﻦ ﭼﻨﺪﻳﻦ ﺣﺮﻛﺖ ﻣﻤﻜﻦ‬ ‫روﺑﺮو ﺷﺪه اﺳﺖ. وي ﻣﻤﻜﻦ اﺳﺖ ﺗﺼﻤﻴﻢ ﺑﮕﻴﺮد ﻛﻪ ﻳﻚ ﺣﺮﻛﺖ ﺧﺎص، اﺛﺮﺑﺨﺶﺗﺮﻳﻦ ﺣﺮﻛﺖ ﺧﻮاﻫﺪ ﺑﻮد زﻳﺮا ﻣﻮﻗﻌﻴﺘﻲ ﻓﺮاﻫﻢ ﻣﻲآورد‬ ‫ﻛﻪ »ﺑﻪ ﻧﻈﺮ ﻣﻲرﺳﺪ« ﺑﻬﺘﺮ از ﻣﻮﻗﻌﻴﺖﻫﺎي ﺣﺎﺻﻞ از ﺣﺮﻛﺖﻫﺎي دﻳﮕﺮ ﺑﺎﺷﺪ. ﺑﻪ ﻛﺎرﮔﻴﺮي ﻣﻌﻴﺎر »ﺑﻪ ﻧﻈﺮ ﻣﻲرﺳﺪ« ﺧﻴﻠﻲ ﺳﺎدهﺗﺮ از‬ ‫ﺗﻌﻴﻴﻦ دﻗﻴﻖ ﺣﺮﻛﺖ ﻳﺎ ﺣﺮﻛﺎﺗﻲ ﺧﻮاﻫﺪ ﺑﻮد ﻛﻪ ﺣﺮﻳﻒ را ﻣﺠﺒﻮر ﺑﻪ ﻣﺎت ﻛﻨﺪ. اﻳﻦ واﻗﻌﻴﺖ ﻛﻪ اﺳﺎﺗﻴﺪ ﺑﺰرگ ﺷﻄﺮﻧﺞ ﻫﻤﻮاره ﭘﻴﺮوز ﺑﺎزي‬ ‫ﻧﺨﻮاﻫﻨﺪ ﺑﻮد ﻧﺸﺎن دﻫﻨﺪه اﻳﻦ اﺳﺖ ﻛﻪ ﻫﻴﻮرﻳﺴﺘﻴﻚﻫﺎي آﻧﻬﺎ اﻧﺘﺨﺎب اﺛﺮﺑﺨﺶﺗﺮﻳﻦ ﺣﺮﻛﺖ را ﺗﻀﻤﻴﻦ ﻧﻤﻲﻛﻨﻨﺪ. ﻧﻬﺎﻳﺘﺎ وﻗﺘﻲ از آﻧﻬﺎ‬ ‫ﺧﻮاﺳﺘﻪ ﻣﻲﺷﻮد ﻛﻪ ﻫﻴﻮرﻳﺴﺘﻴﻚ ﺧﻮد را ﺗﺸﺮﻳﺢ ﻧﻤﺎﻳﻨﺪ آﻧﻬﺎ ﻓﻘﻂ ﺗﻮﺻﻴﻔﻲ ﻧﺎﻗﺺ از ﻗﻮاﻋﺪي اراﺋﻪ ﻣﻲدﻫﻨﺪ و ﺑﻪ ﻧﻈﺮ ﺧﻮد آﻧﻬﺎ، اﻧﺠﺎم آن‬ ‫ﻗﻮاﻋﺪ از ﺗﻮﺻﻴﻒ آﻧﺎن ﺳﺎدهﺗﺮ اﺳﺖ.‬ ‫ﺧﺎﺻﻴﺖ ﻫﻴﻮرﻳﺴﺘﻴﻚﻫﺎي ﺧﻮب اﻳﻦ اﺳﺖ ﻛﻪ اﺑﺰار ﺳﺎدهاي ﺑﺮاي ﺗﺸﺨﻴﺺ ﺧﻂﻣﺸﻲﻫﺎي ﺑﻬﺘﺮ اراﺋـﻪ دﻫﻨـﺪ و در ﺣـﺎﻟﻲ ﻛـﻪ ﺑـﻪ ﺻـﻮرت‬ ‫ﺷﺮﻃﻲ ﻻزم، ﺗﺸﺨﻴﺺ ﺧﻂﻣﺸﻲﻫﺎي اﺛﺮﺑﺨﺶ را ﺗﻀﻤﻴﻦ ﻧﻤﻲﻛﻨﻨﺪ اﻣﺎ اﻏﻠﺐ ﺑﻪ ﺻﻮرت ﺷﺮط ﻛﺎﻓﻲ اﻳﻦ ﺗﻀﻤﻴﻦ را ﻓﺮاﻫﻢ آورﻧـﺪ. ﺑﻴـﺸﺘﺮ‬ ‫ﻣﺴﺎﺋﻞ ﭘﻴﭽﻴﺪه ﻧﻴﺎزﻣﻨﺪ ارزﻳﺎﺑﻲ ﺗﻌﺪاد اﻧﺒﻮﻫﻲ از ﺣﺎﻟﺖﻫﺎي ﻣﻤﻜﻦ ﺑﺮاي ﺗﻌﻴﻴﻦ ﻳﻚ ﺟﻮاب دﻗﻴﻖ ﻣﻲﺑﺎﺷﻨﺪ. زﻣﺎن ﻻزم ﺑـﺮاي ﻳـﺎﻓﺘﻦ ﻳـﻚ‬ ‫ﺟﻮاب دﻗﻴﻖ اﻏﻠﺐ ﺑﻴﺸﺘﺮ از ﻳﻚ ﻃﻮل ﻋﻤﺮ اﺳﺖ. ﻫﻴﻮرﻳﺴﺘﻴﻚﻫﺎ ﺑﺎ اﺳﺘﻔﺎده از روشﻫﺎي ﻧﻴﺎزﻣﻨﺪ ارزﻳﺎﺑﻲﻫﺎي ﻛﻤﺘﺮ و اراﺋـﻪ ﺟﻮاﺑﻬـﺎﻳﻲ در‬ ‫ﻣﺤﺪودﻳﺖﻫﺎي زﻣﺎﻧﻲ ﻗﺎﺑﻞ ﻗﺒﻮل داراي ﻧﻘﺸﻲ اﺛﺮﺑﺨﺶ در ﺣﻞ ﭼﻨﻴﻦ ﻣﺴﺎﺋﻞ ﺧﻮاﻫﻨﺪ ﺑﻮد . ]3[‬ ‫2,2.‬ ‫اﻧﻮاع اﻟﮕﻮرﻳﺘﻢﻫﺎي ﻫﻴﻮرﻳﺴﺘﻴﻚ‬ ‫در ﺣﺎﻟﺖ ﻛﻠﻲ ﺳﻪ دﺳﺘﻪ از اﻟﮕﻮرﻳﺘﻢﻫﺎي ﻫﻴﻮرﻳﺴﺘﻴﻚ ﻗﺎﺑﻞ ﺗﺸﺨﻴﺺ اﺳﺖ:‬ ‫اﻟﮕﻮرﻳﺘﻢﻫﺎﻳﻲ ﻛﻪ ﺑﺮ وﻳﮋﮔﻲﻫﺎي ﺳﺎﺧﺘﺎري ﻣﺴﺌﻠﻪ و ﺳﺎﺧﺘﺎر ﺟﻮاب ﻣﺘﻤﺮﻛﺰ ﻣﻲﺷﻮﻧﺪ و ﺑﺎ اﺳﺘﻔﺎده از آﻧﻬﺎ اﻟﮕﻮرﻳﺘﻢﻫﺎي ﺳـﺎزﻧﺪه‬ ‫ﻳﺎ ﺟﺴﺘﺠﻮي ﻣﺤﻠﻲ ﺗﻌﺮﻳﻒ ﻣﻲﻛﻨﻨﺪ.‬ ‫اﻟﮕﻮرﻳﺘﻢﻫﺎﻳﻲ ﻛﻪ ﺑﺮ ﻫﺪاﻳﺖ ﻫﻴﻮرﻳﺴﺘﻴﻚ ﻳﻚ اﻟﮕﻮرﻳﺘﻢ ﺳﺎزﻧﺪه ﻳﺎ ﺟﺴﺘﺠﻮي ﻣﺤﻠـﻲ ﻣﺘﻤﺮﻛـﺰ ﻣـﻲﺷـﻮﻧﺪ ﺑـﻪ ﮔﻮﻧـﻪاي ﻛـﻪ آن‬ ‫اﻟﮕﻮرﻳﺘﻢ ﺑﺘﻮاﻧﺪ ﺑﺮ ﺷﺮاﻳﻂ ﺣﺴﺎس )ﻣﺎﻧﻨﺪ ﻓﺮار از ﺑﻬﻴﻨﻪ ﻣﺤﻠﻲ( ﻏﻠﺒﻪ ﻛﻨﺪ. ﺑﻪ اﻳﻦ اﻟﮕﻮرﻳﺘﻢﻫﺎ، ﻣﺘﺎﻫﻴﻮرﻳﺴﺘﻴﻚ ﮔﻔﺘﻪ ﻣﻲﺷﻮد.‬ ‫اﻟﮕﻮرﻳﺘﻢﻫﺎﻳﻲ ﻛﻪ ﺑﺮ ﺗﺮﻛﻴﺐ ﻳﻚ ﭼﺎرﭼﻮب ﻳﺎ ﻣﻔﻬﻮم ﻫﻴﻮرﻳﺴﺘﻴﻚ ﺑﺎ ﮔﻮﻧﻪﻫﺎﻳﻲ از ﺑﺮﻧﺎﻣﻪرﻳﺰي رﻳﺎﺿﻲ )ﻣﻌﻤﻮﻻً روﺷﻬﺎي دﻗﻴـﻖ(‬ ‫ﻣﺘﻤﺮﻛﺰ ﻣﻲﺷﻮﻧﺪ..‬
  • 13. ‫ﻫﻴﻮرﻳﺴﺘﻴﻚﻫﺎي ﻧﻮع اول ﻣﻲﺗﻮاﻧﻨﺪ ﺧﻴﻠﻲ ﺧﻮب ﻋﻤﻞ ﻛﻨﻨﺪ )ﮔﺎﻫﻲ اوﻗﺎت ﺗﺎ ﺣﺪ ﺑﻬﻴﻨﮕﻲ( اﻣﺎ ﻣﻲﺗﻮاﻧﻨـﺪ در ﺟـﻮابﻫـﺎي داراي ﻛﻴﻔﻴـﺖ‬ ‫ﭘﺎﻳﻴﻦ ﮔﻴﺮ ﻛﻨﻨﺪ. ﻫﻤﺎن ﻃﻮر ﻛﻪ اﺷﺎره ﺷﺪ ﻳﻜﻲ از ﻣﺸﻜﻼت ﻣﻬﻢ اﻳﻦ اﻟﮕﻮرﻳﺘﻢﻫﺎ ﺑﺎ آن روﺑﺮو ﻣﻲﺷﻮﻧﺪ اﻓﺘﺎدن در ﺑﻬﻴﻨﻪﻫﺎي ﻣﺤﻠﻲ اﺳـﺖ‬ ‫ﺑﺪون اﻳﻨﻜﻪ ﻫﻴﭻ ﺷﺎﻧﺴﻲ ﺑﺮاي ﻓﺮار از آﻧﻬﺎ داﺷﺘﻪ ﺑﺎﺷﻨﺪ. ﺑﺮاي ﺑﻬﺒﻮد اﻳﻦ اﻟﮕﻮرﻳﺘﻢﻫﺎ از اواﺳﻂ دﻫﻪ ﻫﻔﺘﺎد، ﻣﻮج ﺗﺎزهاي از روﻳﻜﺮدﻫـﺎ آﻏـﺎز‬ ‫ﮔﺮدﻳﺪ. اﻳﻦ روﻳﻜﺮدﻫﺎ ﺷﺎﻣﻞ اﻟﮕﻮرﻳﺘﻢﻫﺎﻳﻲ اﺳﺖ ﻛﻪ ﺻﺮﻳﺤﺎً ﻳﺎ ﺑﻪ ﺻﻮرت ﺿﻤﻨﻲ ﺗﻘﺎﺑﻞ ﺑﻴﻦ اﻳﺠﺎد ﺗﻨﻮع ﺟﺴﺘﺠﻮ )وﻗﺘـﻲ ﻋﻼﺋﻤـﻲ وﺟـﻮد‬ ‫دارد ﻛﻪ ﺟﺴﺘﺠﻮ ﺑﻪ ﺳﻤﺖ ﻣﻨﺎﻃﻖ ﺑﺪ ﻓﻀﺎي ﺟﺴﺘﺠﻮ ﻣﻲرود( و ﺗﺸﺪﻳﺪ ﺟﺴﺘﺠﻮ )ﺑﺎ اﻳﻦ ﻫﺪف ﻛﻪ ﺑﻬﺘﺮﻳﻦ ﺟﻮاب در ﻣﻨﻄﻘﻪ ﻣﻮرد ﺑﺮرﺳﻲ‬ ‫را ﭘﻴﺪا ﻛﻨﺪ( را ﻣﺪﻳﺮﻳﺖ ﻣﻲﻛﻨﻨﺪ..‬ ‫اﻳﻦ اﻟﮕﻮرﻳﺘﻢﻫﺎ ﻣﺘﺎﻫﻴﻮرﻳﺴﺘﻴﻚ ﻧﺎ ﻣﻴﺪه ﻣﻲﺷﻮﻧﺪ. از ﺑﻴﻦ اﻳﻦ اﻟﮕﻮرﻳﺘﻢﻫﺎ ﻣﻲﺗﻮان ﺑﻪ ﻣﻮارد زﻳﺮ اﺷﺎره ﻛﺮد:‬ ‫72ﺑﺎزﭘﺨﺖ ﺷﺒﻴﻪ ﺳﺎزي ﺷﺪه‬ ‫82ﺟﺴﺘﺠﻮي ﻣﻤﻨﻮع‬ ‫92اﻟﮕﻮرﻳﺘﻢﻫﺎي ژﻧﺘﻴﻚ‬ ‫03ﺷﺒﻜﻪﻫﺎي ﻋﺼﺒﻲ ﻣﺼﻨﻮﻋﻲ‬ ‫13ﺑﻬﻴﻨﻪﺳﺎزي ﻣﻮرﭼﻪاي ﻳﺎ اﻟﮕﻮرﻳﺘﻢﻫﺎي ﻣﻮرﭼﻪ‬ ‫72‬ ‫)‪Simulated Annealing (SA‬‬ ‫)‪Tabu Search (TS‬‬ ‫92‬ ‫)‪Genetic Algorithms (GA‬‬ ‫03‬ ‫‪Neural Networks‬‬ ‫13‬ ‫)‪Ant Colony Optimization (ACO‬‬ ‫82‬
  • 14. ‫اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬ ‫1,3.‬ ‫ﻣﻘﺪﻣﻪ:‬ ‫اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ اﺑﺰاري ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ ﺗﻮﺳﻂ آن ﻣﺎﺷﻴﻦ ﻣﻲ ﺗﻮاﻧﺪ ﻣﻜﺎﻧﻴﺰم اﻧﺘﺨﺎب ﻃﺒﻴﻌﻲ را ﺷﺒﻴﻪ ﺳﺎزي ﻧﻤﺎﻳﺪ. اﻳﻦ ﻋﻤﻞ ﺑﺎ ﺟـﺴﺘﺠﻮ‬ ‫در ﻓﻀﺎي ﻣﺴﺌﻠﻪ ﺟﻬﺖ ﻳﺎﻓﺘﻦ ﺟﻮاب ﺑﺮﺗﺮ و ﻧﻪ اﻟﺰاﻣﺎ ﺑﻬﻴﻨﻪ ﺻﻮرت ﻣﻲ ﭘﺬﻳﺮد. ]1[‬ ‫اﻟﮕﻮرﻳﺘﻢ ﻫﺎي ژﻧﺘﻴﻚ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻧﻈﺮﻳﻪ داروﻳﻦ در ﻣﻮرد ﺗﻜﺎﻣـﻞ ، ﺟـﺎن ﮔﺮﻓﺘﻨـﺪ . ﺳـﭙﺲ ﻧﻈﺮﻳـﻪ ﻣﺤﺎﺳـﺒﺎت ﺗﻜـﺎﻣﻠﻲ ، ﺗﻮﺳـﻂ‬ ‫رﻳﭽﻨﺒﺮگ در ﺳﺎل 0691 ﻣﻌﺮﻓﻲ ﺷﺪﻧﺪ و اﻳﻦ ﻧﻈﺮﻳﻪ ﺗﻮﺳﻂ ﻣﺤﻘﻘﺎن دﻳﮕﺮ ﺗﻮﺳﻌﻪ ﻳﺎﻓﺖ ﺗﺎ در ﺳﺎل 5791 ﻣﻨﺠﺮ ﺑـﻪ اﺧﺘـﺮاع اﻟﮕـﻮرﻳﺘﻢ‬ ‫23‬ ‫ﻫﺎي ژﻧﺘﻴﻚ ﺗﻮﺳﻂ ﻫﺎﻻﻧﺪ‬ ‫و داﻧﺸﺠﻮﻳﺎﻧﺶ ﺷﺪ.‬ ‫در اﻟﮕﻮرﻳﺘﻢ ﻫﺎي ژﻧﺘﻴﻚ ﻳﻚ ﺳﺮي ﺗﻌﺎرﻳﻒ اوﻟﻴﻪ دارﻳﻢ ﻛﻪ در زﻳﺮ آﻣﺪه اﺳﺖ:‬ ‫1. ژن )‪ : (gene‬واﺣﺪ ﭘﺎﻳﻪ ژﻧﺘﻴﻚ اﺳﺖ.‬ ‫2. ﻓﺮم )‪ : (allele‬ﺣﺎﻟﺘﻬﺎي ﻣﺨﺘﻠﻒ ﻫﺮ ژن را ﻣﻲ ﮔﻮﻳﻨﺪ.‬ ‫3. ﻛﺮوﻣﻮزوم )‪ : (choromosome‬ﺑﻪ ﮔﺮوﻫﻲ از ژﻧﻬﺎ اﻃﻼق ﻣﻲ ﺷﻮد.‬ ‫ﺑﻌﺪ از ﺗﻌﺎرﻳﻒ ﺑﺎﻻ ﻣﻔﺎﻫﻴﻤﻲ از ﻗﺒﻴﻞ ‪ Encoding , Evaluation , Crossover , Mutation‬ﻣﻄﺮح ﻣﻲ ﺷﻮد ﻛﻪ ﺑﺮ اﺳﺎس ﺳﻪ‬ ‫ﺗﻌﺮﻳﻒ ﺑﺎﻻ ﻣﻄﺮح ﻣﻲ ﺷﻮﻧﺪ.‬ ‫2,3.‬ ‫اﺻﻮل اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬ ‫ﺣﺎل ﺑﻪ ﺷﺮح ﻣﺮاﺣﻞ ذﻛﺮ ﺷﺪه درﻣﻘﺪﻣﻪ ﻣﻲ ﭘﺮدازﻳﻢ.‬ ‫١٫٢٫٣.‬ ‫: ‪Encoding‬‬ ‫اﻳﻦ ﻣﺮﺣﻠﻪ ﺷﺎﻳﺪ ﻣﺸﻜﻠﺘﺮﻳﻦ ﻣﺮﺣﻠﻪ ﺣﻞ ﻣﺴﺎﻟﻪ ﺑﻪ روش اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﺑﺎﺷﺪ.اﻳﻦ ﻣﺮﺣﻠﻪ ﺑﻪ اﻳﻦ ﻣﻔﻬﻮم اﺳﺖ ﻛﻪ ﻣﺎ ﺑﺎﻳﺪ ﺑﺎ اراﺋﻪ ﻳـﻚ‬ ‫33‬ ‫ﺷﺒﻴﻪ ﺳﺎزي و ﺟﺎﻳﮕﺬاري‬ ‫ﺧﻮب ﺑﺮاي ﻛﻠﻴﻪ ﺟﻮاﺑﻬﺎي ﻣﻤﻜﻦ ﻣﺮاﺣﻞ ﺑﻌﺪي را اداﻣﻪ دﻫﻴﻢ. اﻫﻤﻴﺖ اﻳﻦ ﻣﺮﺣﻠﻪ ﺑﻪ اﻳﻦ دﻟﻴـﻞ اﺳـﺖ ﻛـﻪ‬ ‫ﻧﺤﻮه اداﻣﻪ ﻛﺎر ﺑﻪ اﻳﻦ ﻣﺮﺣﻠﻪ ﺑﺴﺘﮕﻲ دارد.‬ ‫‪Holland‬‬ ‫23‬
  • 15. ‫در واﻗﻊ ﻣﺎ در اﻳﻦ ﻣﺮﺣﻠﻪ رﺷﺘﻪ ﻫﺎي ﻛﺮوﻣﻮزوﻣﻲ ﻳﺎ ﻫﻤﺎن رﺷﺘﻪ ﻫﺎي ﺑﻴﺘﻲ ﻣﻤﻜﻦ ﺑﺮاي ﺟﻮاﺑﻬﺎ را ﻣﻲ ﺳﺎزﻳﻢ. ﭼﻪ ﺑﺴﺎ ﻣـﺎ ﺑﺘـﻮاﻧﻴﻢ ﺑـﺎ‬ ‫ﻳﻚ ﺷﺒﻴﻪ ﺳﺎزي ﺧﻮب ﺑﺮاي ﺟﻮاﺑﻬﺎ اﻟﮕﻮرﻳﺘﻢ را در ﻳﻚ زﻣﺎن ﺧﻮب و ﻣﻌﻘﻮل ﭘﻴﺶ ﺑﺒﺮﻳﻢ. ﺑﻌﺪ از ﺳﺎﺧﺘﺎر ﺑﻨﺪي ﺑﺮاي ﻫﺮ ﺟﻮاب ﻣﻤﻜـﻦ از‬ ‫ﻛﻨﺎر ﻫﻢ ﮔﺬاﺷﺘﻦ اﻳﻦ ﺳﺎﺧﺘﺎرﻫﺎ ﺟﻤﻌﻴﺖ اوﻟﻴﻪ43 ﻣﺎ ﺳﺎﺧﺘﻪ ﻣﻲ ﺷﻮد.‬ ‫ﺑﺮاي ﻣﺜﺎل ﺑﺮاي ﺷﺒﻴﻪ ﺳﺎزي اﻋﺪاد ﻳﻚ روش ﻣﻌﻤﻮل ﻛﻪ ﺑﻪ ﻛﺎر ﻣﻲ رود ﻋﺒﺎرﺗﺴﺖ از ﺗﺒﺪﻳﻞ ﻋﺪد ﺑﻪ ﻳﻚ رﺷﺘﻪ ﺑﺎﻳﻨﺮي53 .‬ ‫) رﺷﺘﻪ ﺑﺎ ﻃﻮل 4 (‬ ‫1 0 1 1 → 31‬ ‫1001 →‬ ‫٢٫٢٫٣.‬ ‫9‬ ‫: ‪Evaluation‬‬ ‫اﻳﻦ ﻣﺮﺣﻠﻪ ﻧﻴﺰ ﻧﻘﺶ ﺑﺴﻴﺎر ﻣﻬﻤﻲ را در ﺣﻞ ﻣﺴﺎﻟﻪ ﺑﻪ روش ا ﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ اﻳﻔﺎ ﻣﻲ ﻛﻨﺪ. ﻣﺎ در اﻳﻦ ﻣﺮﺣﻠﻪ ﺑﺎ ﻣﻌﺮﻓﻲ ﻳـﻚ ﻣﻌﻴـﺎر و‬ ‫اﻧﺪازه ﺑﻪ ﺑﻬﺘﺮ ﺑﻮدن ﻳﺎ ﻧﺒﻮدن ﻫﺮ ﺟﻮاب ﻣﻤﻜﻦ از ﺟﻤﻌﻴﺖ اوﻟﻴﻪ ﭘﻲ ﻣﻲ ﺑﺮﻳﻢ. ﻳﻌﻨﻲ اﻳﻨﻜﻪ اﻳﻦ ﻣﻌﻴﺎر ﺑﻪ ﻣﺎ ﻣﻴﮕﻮﻳﺪ ﻛﻪ ﻣﺜﻼ ﺟـﻮاب ‪x‬‬ ‫واﻗﻊ در ﺟﻤﻌﻴﺖ اوﻟﻴﻪ ﭼﻘﺪر ﺧﻮب اﺳﺖ.‬ ‫اﻳﻦ ﻣﻌﻴﺎر ﻣﻲ ﺗﻮاﻧﺪ ﺑﺎ ﻧﺴﺒﺖ دادن ﻳﻚ ﻋﺪد ﺑﻪ ﻫﺮ ﺟﻮاب ﻣﻤﻜﻦ ﻣﻴﺰان ﺧﻮب ﺑﻮدن آن ﺟﻮاب را ﺑﻴﺎن ﻛﻨﺪ. ﻣﺜﻼ اﮔﺮ داﺷﺘﻪ ﺑﺎﺷـﻴﻢ ‪f‬‬ ‫3 = )‪ (a‬و 5 = )‪f (b‬‬ ‫اﻳﻦ ﺑﻪ اﻳﻦ ﻣﻌﻨﻲ اﺳﺖ ﻛﻪ ﻋﻀﻮ ‪ b‬در ﺟﻤﻌﻴﺖ اوﻟﻴﻪ ﺑﻬﺘﺮ از ‪ a‬اﺳـﺖ ﻳـﺎ ﻣﻘـﺪار ‪ Fitness‬ﺑـﺎﻻﺗﺮي‬ ‫ﻧﺴﺒﺖ ﺑﻪ ‪ a‬دارد.‬ ‫3,2,3. : ‪Crossover‬‬ ‫ﺑﻪ اﻳﻦ ﻣﻄﻠﺐ اﺷﺎره ﺷﺪ ﻛﻪ در اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﺑﺮاي ﺑﻮﺟﻮد آوردن ﻳﻚ ﻧﺴﻞ ﺟﺪﻳﺪ ) ﻳﺎ ﻳﻚ ﺳﺮي ﻛﺮوﻣﻮزوم ﺟﺪﻳﺪ ( از ﺟﻮاﺑﻬـﺎ ﻣـﺎ‬ ‫ﻳﻚ ﺳﺮي از ﺗﻐﻴﻴﺮات را روي ﺟﻮاﺑﻬﺎي اﻧﺘﺨﺎب ﺷﺪه‬ ‫63‬ ‫ﻳﺎ ﻛﺮوﻣﻮزوﻣﻬﺎ اﻋﻤﺎل ﻣﻲ ﻛﻨﻴﻢ. ﺑﻪ اﻳﻦ ﺳـﺮي از ﺗﻐﻴﻴـﺮات اﻋﻤـﺎل ﻋﻤﻠﮕـﺮ ﻣـﻲ‬ ‫ﮔﻮﻳﻴﻢ. ﻋﻤﻠﮕﺮﻫﺎي ﻣﺎ در اﻳﻦ ﺗﻐﻴﻴﺮات دو ﻋﻤﻠﮕﺮ ‪ Crossover‬و ‪ Mutation‬ﻣﻲ ﺑﺎﺷﺪ ﻛـﻪ ﻣـﺎ در اﻳـﻦ ﻗـﺴﻤﺖ ﺑـﻪ ﻧﺤـﻮه ﻋﻤﻠﻜـﺮد‬ ‫‪ Crossover‬ﻣﻲ ﭘﺮدازﻳﻢ.‬ ‫33‬ ‫‪Representation‬‬ ‫‪First Population‬‬ ‫53‬ ‫‪binary string‬‬ ‫63‬ ‫‪Selected‬‬ ‫43‬
  • 16. ‫ﻋﻤﻠﮕﺮ ‪ Crossover‬روي ﺟﻮاﺑﻬﺎي اﻧﺘﺨﺎب ﺷﺪه ﺑﺮاي ﺗﻐﻴﻴﺮ ﺑﻪ اﻳﻦ ﮔﻮﻧﻪ ﻋﻤﻞ ﻣﻲ ﻛﻨﺪ ﻛﻪ ﻳﻚ ﻧﻘﻄﻪ ﺑﻪ ﺻﻮرت ﺗﺼﺎدﻓﻲ روي رﺷﺘﻪ‬ ‫ﻛﺮوﻣﻮزوﻣﻲ اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﺪ )ﻛﻪ اﻟﺒﺘﻪ ‪ random‬اﺳﺖ( ﺑﻌﺪ ﻧﺎﺣﻴﻪ ﻫﺎي ﭼﭗ ﻳﺎ راﺳﺖ آن ﻧﻘﻄﻪ در رﺷﺘﻪ ﻛﺮوﻣﻮزوﻣﻲ ﺟﺎ ﺑﻪ ﺟﺎ ﻣﻴﺸﻮد.‬ ‫در ﺷﻜﻞ 1 - 3 ﻧﻤﻮﻧﻪ ﻫﺎﻳﻲ از ‪ crossover‬ﺑﺎ ﻳﻚ ﻧﻘﻄﻪ اﻧﺘﺨﺎﺑﻲ را ﻣﺸﺎﻫﺪه ﻣﻲ ﻛﻨﻴﺪ.‬ ‫ﺷﻜﻞ 1 – 3 )‪ crossover‬ﺑﺎ ﻳﻚ ﻧﻘﻄﻪ اﻧﺘﺨﺎﺑﻲ (‬ ‫|‬ ‫01101100100 11011‬ ‫1 ‪Parent‬‬ ‫01111000011 11011‬ ‫2 ‪Parent‬‬ ‫01111000011 11011‬ ‫1 ‪child‬‬ ‫01101100100 11011‬ ‫2 ‪child‬‬ ‫|‬ ‫|‬ ‫|‬ ‫ﻫﻤﭽﻨﻴﻦ ﺑﺮاي ‪ crossover‬ﻣﻲ ﺗﻮاﻧﻴﻢ دو ﻧﻘﻄﻪ اﻧﺘﺨﺎب ﻛﻨﻴﻢ و ﻧﺎﺣﻴﻪ ﻫﺎي ﺑﻴﻦ دو ﻧﻘﻄﻪ را ﺟﺎ ﺑﻪ ﺟﺎ ﻛﻨﻴﻢ.‬ ‫) ﺷﻜﻞ 2 – 3 (‬ ‫ﺷﻜﻞ 2 – 3 )‪ crossover‬ﺑﺎ دو ﻧﻘﻄﻪ اﻧﺘﺨﺎﺑﻲ (‬ ‫|‬ ‫|‬ ‫|‬ ‫|‬ ‫011011 00100 11011 1 ‪Parent‬‬ ‫011110 00011 11011 2 ‪Parent‬‬ ‫|‬ ‫|‬ ‫|‬ ‫|‬ ‫011011 00011 11011‬ ‫011110 00100 11011‬ ‫4,2,3. ‪Mutation‬‬ ‫1 ‪child‬‬ ‫2 ‪child‬‬
  • 17. ‫‪ Mutation‬ﻧﻴﺰ ﻋﻤﻠﮕﺮ دﻳﮕﺮي ﻫﺴﺖ ﻛﻪ ﺟﻮاﺑﻬﺎي ﻣﻤﻜﻦ دﻳﮕﺮي را ﻣﺘﻮﻟﺪ ﻣﻲ ﻛﻨﺪ. ﻧﺤﻮه ﻋﻤﻠﻜﺮد آن ﺑﻪ اﻳﻦ ﮔﻮﻧـﻪ اﺳـﺖ ﺑـﻪ ﺻـﻮرت‬ ‫ﺗﺼﺎدﻓﻲ روي ﻛﺮوﻣﻮزوم اﻧﺘﺨﺎﺑﻲ ﻧﻘﻄﻪ اي را اﻧﺘﺨﺎب ﻛﺮده و ﻓﺮم 73 آن را ﺗﻐﻴﻴﺮ ﻣﻲ دﻫﺪ. در ﺷﻜﻞ ﻳـﻚ ﺑﻌـﺪ از اﻧﺘﺨـﺎب ﻧﻘﻄـﻪ ﻓـﺮم آن‬ ‫ﺗﻐﻴﻴﺮ ﻣﻲ ﻛﻨﺪ و ﻣﻲ ﺗﻮاﻧﺪ ﻋﺪد دﻳﮕﺮي ﻣﺜﻞ 2 اﺧﺘﻴﺎر ﻛﻨﺪ.)ﺷﻜﻞ 3-3(‬ ‫1‬ ‫011110000111 011 ‪Original offspring‬‬ ‫0‬ ‫011110000111 011‬ ‫۵٫٢٫٣.‬ ‫‪Mutated offspring‬‬ ‫‪Decoding‬‬ ‫ﻋﻜﺲ ﻋﻤﻞ ‪ encoding‬اﺳﺖ. در اﻳﻦ ﻣﺮﺣﻠﻪ ﺑﻌﺪ از اﻳﻨﻜﻪ اﻟﮕﻮرﻳﺘﻢ ﺑﻬﺘﺮﻳﻦ ﺟﻮاب را ﺑﺮاي ﻣﺴﺎﻟﻪ اراﺋﻪ ﻛﺮد ﻻزم اﺳﺖ ﻋﻜﺲ ﻋﻤﻞ‬ ‫رﻣﺰﮔﺬاري روي ﺟﻮاﺑﻬﺎ ﻳﺎ ﻫﻤﺎن ‪ decoding‬اﻋﻤﺎل ﺷﻮد ﺗﺎ ﺑﺘﻮاﻧﻴﻢ ﻧﺴﺨﻪ واﻗﻌﻲ ﺟﻮاب را ﺑﻪ وﺿﻮح در دﺳﺖ داﺷﺘﻪ ﺑﺎﺷﻴﻢ.‬ ‫3,3.‬ ‫ﻣﺮاﺣﻞ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬ ‫اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﺑﺎ اﻧﺠﺎم ﻗﺪم ﺑﻪ ﻗﺪم ﻣﺮاﺣﻞ زﻳﺮ ﭘﻴﺸﺮﻓﺖ ﻣﻲ ﻛﻨﺪ:‬ ‫1.‬ ‫ﺷﺮوع اﻟﮕﻮرﻳﺘﻢ ﺑﺎ ﻳﻚ ﺟﻤﻌﻴﺖ ﻣﺘﺸﻜﻞ از ‪ n‬ﻓﺮد ﺗﺼﺎدﻓﻲ ﻛﻪ ﻫﺮ ﻛﺪام ﻛﺮوﻣﻮزوﻣﻲ ﺑﻪ ﻃﻮل ‪ l‬دارﻧﺪ.‬ ‫2.‬ ‫ﻣﺤﺎﺳﺒﻪ ‪ fitness‬ﺑﺮاي ﻫﺮ ﻓﺮد‬ ‫3.‬ ‫اﻧﺘﺨﺎب دو ﻓﺮد ﺑﺮ اﺳﺎس ﺑﺎﻻﺗﺮ ﺑﻮدن ‪) fitness‬اﻧﺘﺨﺎب واﻟﺪﻳﻦ(‬ ‫4.‬ ‫اﻋﻤﺎل ‪ crossover‬و ﺗﻮﻟﺪ ﺑﭽﻪ ﻫﺎ از واﻟﺪﻳﻦ‬ ‫5.‬ ‫اﻋﻤﺎل ‪ mutation‬ﺑﺎ اﺣﺘﻤﺎل ‪ p‬ﺑﺮاي ﻫﺮ ب‬ ‫6.‬ ‫ﻗﺮار دادن ﺑﭽﻪ ﻫﺎي ﻣﺘﻮﻟﺪ ﺷﺪه داﺧﻞ ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﺑﻪ ﻋﻨﻮان ﻧﺴﻞ ﺟﺪﻳﺪ‬ ‫‪allele‬‬ ‫73‬
  • 18. ‫83‬ ‫7.‬ ‫ﺗﻐﻴﻴﺮ دادن ﺟﻤﻌﻴﺖ اوﻟﻴﻪ ﻫﻤﺮاه ورود ﻧﺴﻞ ﺟﺪﻳﺪ‬ ‫8.‬ ‫رﻓﺘﻦ ﺑﻪ ﻗﺪم 2‬ ‫در اﺑﺘﺪاي اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﻳﻚ ﺟﻤﻌﻴﺖ اوﻟﻴﻪ ﺷﺎﻣﻞ ‪ n‬ﺟﻮاب ﻣﻤﻜـﻦ ﺗـﺼﺎدﻓﻲ درﺳـﺖ ﻣـﻲ ﻛﻨـﻴﻢ . ﺑﻌـﺪ ﺗـﺎﺑﻊ ارزﻳـﺎ ﺑـﻲ93 ﻣﻘـﺪار‬ ‫ﺑﺮازﻧﺪﮔﻲ04 ﻫﺮ ﺟﻮاب را ﺣﺴﺎب ﻣﻲ ﻛﻨﺪ. . ﻳﻚ ﺗﺎﺑﻊ اﻧﺘﺨﺎب14 ﺑﺮ اﺳﺎس اﻳﻨﻜﻪ ﻫﺮ ﺟﻮاﺑﻲ ﻛﻪ ﺑﺮازﻧﺪﮔﻲ ﺑﺎﻻﺗﺮي داﺷﺖ اﺣﺘﻤـﺎل اﻧﺘﺨـﺎب‬ ‫ﺑﻴﺸﺘﺮي دارد دو ‪ parent‬اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﺪ ﺑﺮاي ﻣﺮﺣﻠﻪ ﺑﻌﺪ ﻋﻤﻠﮕﺮﻫـﺎي ‪ crossover‬و ‪ mutation‬روي ﻛﺮوﻣـﻮزوم ﻫـﺎي اﻧﺘﺨـﺎب‬ ‫ﺷﺪه اﻋﻤﺎل ﻣﻲ ﺷﻮد.‬ ‫ﺑﻌﺪ از اﻳﻦ ﻣﺮﺣﻠﻪ ﺗﻌﺪادي از ﺟﻮاﺑﻬﺎي ﺑﺪ ﻳﻌﻨﻲ ﺑﺎ ﺑﺮازﻧﺪﮔﻲ ﭘﺎﻳﻴﻦ ﺣﺬف ﻣﻲ ﺷﻮﻧﺪ و ﺟﺎي ﺧﻮد را ﺑﻪ ﺑﭽﻪ ﻫﺎي ﻣﺘﻮﻟـﺪ ﺷـﺪه و ﻧـﺴﻞ‬ ‫ﺟﺪﻳﺪ ﻣﻲ دﻫﻨﺪ. ﺑﻌﺪ از ﺗﺜﺒﻴﺖ ﻧﺴﻞ ﺟﺪﻳﺪ اﻟﮕﻮرﻳﺘﻢ ﺑﺎر دﻳﮕﺮ ﺑﻪ ﻣﺮﺣﻠﻪ ارزﻳﺎﺑﻲ ﺑﺮﻣﻲ ﮔﺮدد.‬ ‫ﻫﻤﺎن ﻃﻮر ﻛﻪ اﺷﺎره ﺷﺪ ﻋﻤﻞ اﻧﺘﺨﺎب )ﻣﺮﺣﻠﻪ 3 ( ﺑﺮاﻳﻦ اﺳﺎس اﻧﺠﺎم ﻣﻲ ﺷﻮد ﻛﻪ ﻫﻤﻪ ﺟﻮاﺑﻬﺎ ﺑﺮاي ‪ parent‬ﺷﺪن ﻫـﻢ ﺷـﺎﻧﺲ‬ ‫ﻧﻴﺴﺘﻨﺪ . ﺑﻪ ﻋﺒﺎرت دﻳﮕﺮ ﺟﻮاب ﻫﺎﻳﻲ اﺣﺘﻤﺎل زﻳﺎد و ﺑﺎﻻﺗﺮي ﺑﺮاي ‪ parent‬ﺷﺪن دارﻧﺪ ﻛﻪ ﻣﻘﺪار ﺑﺮازﻧﺪﮔﻲ آﻧﻬﺎ ﺑﺎﻻﺗﺮ ﺑﺎﺷﺪ.‬ ‫ﻣﺎ ﻣﻲ ﺗﻮاﻧﻴﻢ ﺑﺮاي ﻫﺮ ﺟﻮاب ﻳﻚ ﻋﺪد ﺑﻪ ﻋﻨﻮان ﺑﺮازﻧﺪﮔﻲ ﻧﻈﻴﺮ ﻛﻨﻴﻢ ٫ ﻣﺜﻼ ﺑﺮاي ﺟﻮاب ﺑﻮدن 2=‪ x‬ﻋﺪد 4 و ﺟـﻮاب ﺑـﻮدن 0=‪x‬‬ ‫ﻋﺪد 2 را ﻧﺴﺒﺖ دﻫﻴﻢ. )ﺟﺪول 1-3 ( در اﻳﻦ ﺻﻮرت ﻣﺸﺨﺺ اﺳﺖ ﻛﻪ 2=‪ x‬ﺟﻮاب ﺑﻬﺘﺮي ﻧﺴﺒﺖ ﺑﻪ 0 =‪ x‬اﺳـﺖ. ﺣـﺎل ﻣـﻲ ﺗـﻮاﻧﻴﻢ‬ ‫ﺗﺎﺑﻊ اﺣﺘﻤﺎل و اﻧﺘﺨﺎب را ﺑﻪ اﻳﻦ ﮔﻮﻧﻪ ﺗﻌﺮﻳﻒ ﻛﻨﻴﻢ : )ﺟﻤﻌﻴﺖ24 ‪ p‬و اﻋﺪاد ﻧﻈﻴﺮ ﺷﺪه ‪ 43q‬ﻓﺮض ﺷﺪه اﺳﺖ.(‬ ‫اﻳﻦ ﻧﻮع اﻧﺘﺨﺎب ‪ Roulette Wheel Selection‬ﻧﺎﻣﻴﺪه ﻣﻲ ﺷﻮد ﻛﻪ ﺷﻜﻠﻬﺎي 4 – 3 و 5- 3 ﻧﺸﺎن‬ ‫ﻣﻲ دﻫﺪ.‬ ‫83‬ ‫‪New Generation‬‬ ‫‪evaluation‬‬ ‫04‬ ‫‪fitness‬‬ ‫14‬ ‫‪selection‬‬ ‫24‬ ‫‪population‬‬ ‫34‬ ‫‪quality‬‬ ‫93‬
  • 20. ‫4,3. ﻣﺜﺎل ﻋﺪدي‬ ‫ﻓﺮض ﻛﻨﻴﺪ ﺗﺎﺑﻊ 3- ‪ f(x) = -x² + 6x‬را دارﻳﻢ . ﻣﻲ ﺧﻮاﻫﻴﻢ ﺑﺮاي‬ ‫51 ≤ ‪0 ≤ x‬‬ ‫و ‪ x € N‬ﻣﺎﻛﺰﻳﻤﻢ ﺗﺎﺑﻊ را ﺑﻴﺎﺑﻴﻢ.‬ ‫ﻣﺮاﺣﻞ ﺣﻞ ﻣﺴﺎﻟﻪ ﺑﻪ روش اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﺑﻪ ﺷﺮح زﻳﺮ اﺳﺖ :‬ ‫1. ‪encoding‬‬ ‫ﺑﺮاي اﻳﻨﻜﻪ ﻣﺎ ﺟﻮاﺑﻬﺎي ﻣﻤﻜﻦ ﻳﻌﻨﻲ 51 ≤ ‪ 0 ≤ x‬را ﻛﺪﮔﺬاري ﻛﻨﻴﻢ ﻳﻜﻲ از روﺷﻬﺎﻳﻲ ﻛﻪ در ﭘﻴﺶ دارﻳﻢ ﺗﺒﺪﻳﻞ ﻫﺮ ﻋـﺪد ﺑـﻪ ﻳـﻚ‬ ‫ﻋﺪد ﺑﺎﻳﻨﺮي ﻣﺘﻨﺎﻇﺮ اﺳﺖ. ﭼﻮن ﺑﻴﺸﺘﺮﻳﻦ ﺟﻮاب ﻣﻤﻜﻦ ﻣﺎ 51 اﺳﺖ و ﻣﺘﻨﺎﻇﺮ ﺑﺎﻳﻨﺮي آن 1 1 1 1 ﭼﻬﺎر ﺑﻴﺘﻲ اﺳﺖ ﻟـﺬا ﺗﻤـﺎم ﺟـﻮاب‬ ‫ﻫﺎي ﻣﺎ )ﻛﺮوﻣﻮزوم ﻫﺎ( داراي ﻃﻮﻟﻲ ﺑﺮاﺑﺮ 4= ‪ l‬ﻣﻲ ﺑﺎﺷﻨﺪ.‬ ‫2. ‪Evaluation‬‬ ‫ﺗﺎﺑﻌﻲ ﻛﻪ ﻣﻘﺪاري ﺑﺮاي ‪ fitness‬ﺣﺴﺎب ﻣﻲ ﻛﻨﺪ ﻣﺴﺘﻘﻴﻤﺎ از ﺧﻮد ﺗﺎﺑﻊ )‪ f(x‬ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ. ﻳﻌﻨﻲ اﮔﺮ ﺑﻪ ازاي ﻳﻚ ‪ a‬و ‪f(b) b‬‬ ‫: )‪ > f(a‬ﺑﺎﺷﺪ آﻧﮕﺎه ‪ b‬داراي ‪ fitness‬ﺑﻴﺸﺘﺮي اﺳﺖ . ﻳﺎ اﻳﻨﻜﻪ ‪ b‬از ‪ a‬ﺑﻬﺘﺮ اﺳﺖ.‬ ‫3. ‪Selection‬‬ ‫ﻓﺮض ﻛﻨﻴﻢ ﻛﻪ در آن ﺟﻤﻌﻴﺖ اوﻟﻴﻪ ﺑﺎ ‪ m‬ﻓﺮد ﻛﻪ ‪ m < n‬دوﻋﺪد 3 و8 داراي ‪ fitness‬ﺑﻴﺸﺘﺮي ﻧـﺴﺒﺖ ﺑـﻪ ﺟﻤﻌﻴـﺖ ﺧـﻮد‬ ‫ﺑﻮدﻧﺪ و اﺣﺘﻤﺎل اﻧﺘﺨﺎب ﺑﻴﺸﺘﺮي داﺷﺘﻨﺪ. ﺑﻌﺪ از اﻧﺘﺨﺎب اﻳﻦ دو ﻋﺪد ﺑﻪ ﻋﻨﻮان ‪ parent‬اﻟﮕﻮرﻳﺘﻢ وارد ﻣﺮاﺣﻞ ﺗﻮﻟﻴﺪ ﻧـﺴﻞ ﺟﺪﻳـﺪ ﻣـﻲ‬ ‫ﺷﻮد.‬ ‫6 = )3(‪f‬‬ ‫1100 → 3‬ ‫91- = )8(‪f‬‬ ‫0001 → 8‬ ‫4.‬ ‫‪crossover‬‬ ‫ﻓﺮض ﻛﻨﻴﻢ ﻛﻪ ‪ crossover‬ﻋﻤﻞ زﻳﺮ را اﻧﺠﺎم دﻫﺪ.‬ ‫0100‬ ‫1001‬ ‫3 = ‪point‬‬ ‫1100‬ ‫0001‬
  • 21. ‫5. ‪mutation‬‬ ‫و ﻧﻴﺰ ﻋﻤﻠﮕﺮ ‪: mutation‬‬ ‫) 6( = 0 1 1 0‬ ‫2 = ‪point‬‬ ‫)31( = 1 0 1 1‬ ‫0100‬ ‫1001‬ ‫ﺣﺎل ﻛﺮوﻣﻮزوم ﻫﺎي ﻣﺘﻮﻟﺪ ﺷﺪه ﺟﺰو ﻧﺴﻞ ﺟﺪﻳﺪ ﺑﻪ ﺣﺴﺎب ﻣﻲ آﻳﻨﺪ و ﺑﻪ ﺟﻤﻌﻴﺖ اوﻟﻴﻪ اﻓﺰوده ﻣـﻲ ﺷـﻮﻧﺪ وﺟﻮاﺑﻬـﺎي ﺑـﺎ ‪fitness‬‬ ‫ﭘﺎﻳﻴﻦ ﺣﺬف ﻣﻲ ﺷﻮﻧﺪ و اﻟﮕﻮرﻳﺘﻢ دوﺑﺎره ﺑﺎ ‪ n‬ﻓﺮد ﺑﻪ ﻛﺎر ﺧﻮد اداﻣﻪ ﻣﻲ دﻫﺪ.‬ ‫ﻳﻚ ﻧﻜﺘﻪ ﻻزم ﺑﻪ ﺗﺬﻛﺮ اﺳﺖ ﻛﻪ ﻣﻤﻜﻦ اﺳﺖ ﺑﻬﺘﺮﻳﻦ ﺟﻮاب )ﺑﺮاي ﻣﺜﺎل 6 = ‪ ( x‬ﻃﻲ ﻣﺮاﺣـﻞ ﺑﻌـﺪ ﺑـﻪ ﻧﺤـﻮي از ﺑـﻴﻦ ﺑـﺮود. ﺑـﺮاي‬ ‫ﺟﻠﻮﮔﻴﺮي از اﻳﻦ اﻣﺮ ﺑﻌﺪ از ﻫﺮ ﺑﺎر اﻧﺠﺎم اﻟﮕﻮرﻳﺘﻢ ﺑﻬﺘﺮﻳﻦ ﺟﻮاب را در ﺟﺎﻳﻲ ﻛﻨﺎر ﻣﻲ ﮔﺬارﻳﻢ ) ‪ ( far‬ﺗﺎ ﻫﻤﻴﺸﻪ ﺑﻬﺘﺮﻳﻦ ﺟـﻮاب ﺣﺎﺻـﻞ‬ ‫از ﻫﺮ ﺑﺎر اﺟﺮاي اﻟﮕﻮرﻳﺘﻢ را داﺷﺘﻪ ﺑﺎﺷﻴﻢ.‬ ‫ﻣﻌﻴﺎرﻫﺎي ﻣﺨﺘﻠﻔﻲ را ﻣﻲ ﺗﻮان ﺑﺮاي ﺗﻮﻗﻒ اﻟﮕﻮرﻳﺘﻢ در ﻧﻈﺮ ﮔﺮﻓﺖ و ﻣﻌﻤﻮﻻ ﭼﻨﺪ ﻣﻌﻴﺎر ﺑﺮاي ﺗﻮﻗﻒ اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد ﺗـﺎ اﺣﺘﻤﺎﻟﻬـﺎي‬ ‫ﻣﺨﺘﻠﻒ وﻗﻮع ﭘﻴﺸﺎﻣﺪﻫﺎ در ﻃﻲ اﺟﺮاي اﻟﮕﻮرﻳﺘﻢ ﺣﺴﺎب ﺷﻮﻧﺪ. ﻳﻚ ﻣﻌﻴﺎر ﻣﻲ ﺗﻮاﻧﺪ اﻳﻦ ﺑﺎﺷﺪ ﻛﻪ ﺑﻬﺘﺮﻳﻦ ﺟﻮاب را ﺑﻌﺪ از اﺟـﺮاي ﺗﻌـﺪاد‬ ‫ﻣﺸﺨﺼﻲ ﺑﺎر از اﻟﮕﻮرﻳﺘﻢ ﺗﻐﻴﻴﺮ ﻧﺪﻫﺪ. ﻳﺎ ﻣﻌﻴﺎر دﻳﮕـﺮ اﻳﻨﻜـﻪ ﻣﻴـﺎﻧﮕﻴﻦ ‪ fitness‬ﺟﻮاﺑﻬـﺎي ﻣﻮﺟـﻮد در ﺟﻤﻌﻴـﺖ ﺟـﺎري ﻫﻤـﺎن ‪fitness‬‬ ‫ﺑﻬﺘﺮﻳﻦ ﺟﻮاب ﻳﺎ ﺑﺴﻴﺎر ﻧﺰدﻳﻚ ﺑﻪ آن ﺑﺎﺷﺪ.‬ ‫و ﻳﺎ اﻳﻨﻜﻪ ﻣﻲ ﺗﻮاﻧﻴﻢ از ﭘﻴﺶ ﻗﺮارداد ﻛﻨﻴﻢ ﻛﻪ اﻟﮕﻮرﻳﺘﻢ ﺑﻪ ﺗﻌﺪاد ﻣﺸﺨﺼﻲ اﺟـﺮا ﺷـﻮد. ﻣﻌﻤـﻮﻻ روش ﻫـﺎي ﺗﻮﻗـﻒ ﻣﺨﺘﻠـﻒ اﺳـﺖ و‬ ‫ﺑﺴﺘﮕﻲ ﺑﻪ ﭘﻴﭽﻴﺪﮔﻲ و ﭼﮕﻮﻧﮕﻲ ﻣﺴﺎﻟﻪ دارد.‬ ‫در اﻳﻨﺠﺎ ﻣﺎ ﺑﺮاي ﺗﻌﺮﻳﻒ ﺗﺎﺑﻊ ‪ evaluation‬از ﺧﻮد ﺗﺎﺑﻊ اﺳﺘﻔﺎده ﻛﺮدﻳﻢ و ﻟﺰوﻣﻲ ﺑﺮاي ﻧﺴﺒﺖ دﻫﻲ ﻳﻚ ﻣﻘﺪار ﺑـﻪ ﻋﻨـﻮان ‪quality‬‬ ‫ﻧﺒﻮد.‬ ‫اﮔﺮ ﻣﺎ اﻳﻦ ﻣﺮاﺣﻞ را ﺑﻪ ﮔﻮﻧﻪ اي دﻧﺒﺎل ﻛﻨﻴﻢ ﻛﻪ ﺑﻌﺪ از ﻫﺮ ﺑﺎر اﺟﺮا ﺟﻮاب ﻫـﺎي ﺑـﺪ ﺣـﺬف و ﺟﻮاﺑﻬـﺎي ﻧـﺴﻞ ﺟﺪﻳـﺪ ﻛـﻪ اﺣﺘﻤـﺎﻻ‬ ‫‪ fitness‬ﺑﺎﻻﻳﻲ دارﻧﺪ ﺟﺎﻳﮕﺰﻳﻦ آﻧﻬﺎ ﺷﻮﻧﺪ ﺑﻪ ﻣﺮور ﻓﺎﺻﻠﻪ ‪ fitness‬ﺑﻴﻦ ‪ min‬و ‪ Max‬ﻛﻢ ﻣﻲ ﺷﻮد و ﻣﻴﺎﻧﮕﻴﻦ ﺟﻮاب ﻫﺎ ﺑﻪ ﺑﻬﺘﺮﻳﻦ‬ ‫ﺟﻮاب ﻣﻴﻞ ﻣﻲ ﻛﻨﺪ و اﻳﻦ ﻧﺸﺎن ﻣﻲ دﻫﺪ ﻛﻪ ﻣﺎ ﺑﻪ ﻃﻮر ﻛﻠﻲ ﺑﻪ ﺑﻬﺘﺮﻳﻦ ﺟﻮاب ﻧﺰدﻳﻚ‬ ‫ﻣﻲ ﺷﻮﻳﻢ.‬ ‫ﺳﻮاﻟﻲ ﻛﻪ در اﻳﻨﺠﺎ ﻣﻄﺮح ﻣﻲ ﺷﻮد اﻳﻨﺴﺖ ﻛﻪ اﮔﺮ در ﻣﺜﺎل ﻗﺒﻞ ﺑﻪ ﺟﺎي ﻓﻀﺎي ﮔﺴﺴﺘﻪ ﻓﻀﺎي ﭘﻴﻮﺳﺘﻪ ]51 , 0[ ﻣﻄﺮح ﻣـﻲ ﺷـﺪ‬ ‫اﻟﮕﻮرﻳﺘﻢ ﺑﻪ ﭼﻪ ﺷﻜﻠﻲ اﻧﺠﺎم ﻣﻲ ﮔﺮﻓﺖ؟‬
  • 22. ‫در اﻳﻦ ﺣﺎﻟﺖ ﻣﺎ ﻳﻚ ‪ ε‬ﺗﻌﺮﻳﻒ ﻣﻲ ﻛﻨﻴﻢ ﺗﺎ ﻫﺮ ﺑﻴﺖ ﺟﻮاب در ﻣﺮاﺣﻠﻲ ﻣﺜﻞ ‪ mutation‬ﺑﻪ اﻧﺪازه ‪ ε‬ﺗﻐﻴﻴﺮ ﻛﻨﺪ. ﺑﺪﻳﻬﻲ اﺳـﺖ ﻣـﺎ‬ ‫ﻫﺮ ﭼﻘﺪر اﻳﻦ ‪ ε‬را ﻛﻮﭼﻜﺘﺮ ﻓﺮض ﻛﻨﻴﻢ ﻣﻴﺰان ﻣﺤﺎﺳﺒﺎت و ﺗﻜﺮار اﻟﮕﻮرﻳﺘﻢ ﺑﺎﻻ ﻣﻲ رود و ﺑﻪ ﻫﻤﻴﻦ دﻟﻴﻞ زﻣﺎن اﺗﻤﺎم اﻟﮕﻮرﻳﺘﻢ ﺑﺎﻻ ﻣـﻲ‬ ‫رود. ﻋﺎﻣﻞ دﻳﮕﺮي ﻛﻪ در زﻣﺎن ﻣﻮﺛﺮ اﺳﺖ ‪ n‬اوﻟﻴﻪ در ﺟﻤﻌﻴﺖ اوﻟﻴﻪ اﺳﺖ ﻛﻪ ﺑﺎ زﻳﺎد ﻓﺮض ﻛﺮدن ‪ n‬زﻣﺎن اﺗﻤﺎم ﺑﺎﻻ ﻣﻲ رود.‬ ‫ﺣﺎل ﺑﻪ ذﻛﺮ دو ﻧﻜﺘﻪ ﻣﻲ ﭘﺮدازﻳﻢ:‬ ‫1 ﺑﻌﺪ از ﺗﻜﺮار اﻟﮕﻮرﻳﺘﻢ ﺑﻪ ﺗﺪرﻳﺞ ﺗﻔﺎوت ﺑﻴﻦ ‪ fitness‬ﺟﻮاﺑﻬﺎ ﻛﻤﺘﺮ ﻣﻲ ﺷﻮد و در اﻳﻦ ﺻﻮرت ﺗﺎﺑﻊ ‪ selection‬ﻧﻴﺰ ﻛﻢ ﻛـﻢ اﺣﺘﻤـﺎل‬ ‫ﻳﻜﺴﺎﻧﻲ را ﺑﺮاي اﻧﺘﺨﺎب ﺟﻮاﺑﻬﺎي ﻣﻤﻜﻦ ﺗﺨﺼﻴﺺ ﻣﻲ دﻫﺪ. در اﻳﻦ ﺣﺎﻟﺖ اﻟﮕﻮرﻳﺘﻢ ﭘﺎﻳﺎن ﻣﻲ ﻳﺎﺑﺪ.‬ ‫) ﭼﻮن ﺑﻬﺘﺮﻳﻦ ﺟﻮاب ﻫﻢ اﺣﺘﻤﺎل اﻧﺘﺨﺎﺑﻲ ﺑﺮاﺑﺮ دﻳﮕﺮ ﺟﻮاﺑﻬﺎ دارد.(‬ ‫2 . در ﺟﺮﻳﺎن اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ اﺣﺘﻤﺎل ﺗﻮﻟﻴﺪ ‪ Super - Subject‬وﺟﻮد دارد. ﺑﻪ اﻳﻦ ﻣﻌﻨﻲ ﻛﻪ از ﻳﻚ ﺟﻮاب ) ﻛﺮوﻣﻮزوم ( ﺑـﻪ ﺗﻌـﺪاد‬ ‫ﺑﺴﻴﺎر زﻳﺎدي ﺗﻮﻟﻴﺪ ﻣﻲ ﺷﻮد و اﻳﻦ ﺟﻤﻌﻴﺖ را ﺑﻪ ﻣﻴﺰان زﻳﺎدي اﻧﺒﻮه ﻛﺮده و ﻋﻼوه ﺑﺮ اﻳﻦ ﺑﺎﻋﺚ ﻣﻲ ﺷﻮد ﻛﻪ ﺟﻤﻌﻴﺖ ﻣـﺎ از ﺗﻨـﻮع ﺟـﻮاب‬ ‫ﻛﻤﺘﺮي ﻧﺴﺒﺖ ﺑﻪ ﻣﻴﺰان ﺟﻤﻌﻴﺖ ﺑﺮﺧﻮردار ﺑﺎﺷﺪ ﻛﻪ اﻳﻦ در اﻟﮕﻮرﻳﺘﻢ اﻳﺠﺎد ﻣﺸﻜﻞ ﻣﻲ ﻛﻨﺪ.‬ ‫ﺑﺮاي ﺟﻠﻮﮔﻴﺮي از اﻳﻦ ﮔﻮﻧﻪ ﻣﺸﻜﻼت ﭼﻨﺪ اﻳﺪه ﻣﻄﺮح ﻣﻲ ﺷﻮد:‬ ‫) ‪Windowing‬‬ ‫( : ﺑﻪ اﻳﻦ ﻣﻔﻬﻮم اﺳﺖ ﻛﻪ ‪ fitness‬ﺑﺪﺗﺮﻳﻦ ﺟﻮاب را از ‪ fitness‬ﺑﻘﻴﻪ ﺟﻮاﺑﻬﺎ ﻛـﻢ ﻣـﻲ ﻛﻨـﻴﻢ. اﻳـﻦ ﻋﻤـﻞ‬ ‫ﻣﻮﺟﺐ ﻣﻲ ﺷﻮد ﻛﻪ ﺗﻌﺪادي ﺟﻮاب ﺑﺎ ‪ fitness‬ﺻﻔﺮ ﺑﺪﺳﺖ آﻳﻨﺪ و اﻳﻦ ﻳﻌﻨﻲ اﻳﻨﻜﻪ اﺣﺘﻤﺎل اﻧﺘﺨـﺎﺑﻲ ﺑﺮاﺑـﺮ ﺻـﻔﺮ دارﻧـﺪ. و ﻧﻴـﺰ اﺣﺘﻤـﺎل‬ ‫اﻧﺘﺨﺎب ﺑﻬﺘﺮﻳﻦ ﺟﻮاب ﻗﻮت ﻣﻲ ﮔﻴﺮد.‬ ‫) ‪( Exponential‬‬ ‫: ﺑﺮاي ‪ fitness‬ﻫﺮ ﺟﻮاب ﻣﻘﺪار ﺟﺪﻳﺪ رﻳﺸﻪ دوم )1 + ‪ (fitness‬را ﺑﻪ ﻛﺎر ﻣﻲ ﺑﺮﻳﻢ. اﻳﻦ ﻋﻤﻞ ﻣﻮﺟﺐ‬ ‫ﻣﻲ ﺷﻮد ﺗﺎ اﺛﺮ ﻗﻮﻳﺘﺮﻳﻦ ﺟﻮاب ﺗﻌﺪﻳﻞ ﺷﻮد.‬ ‫) ‪( Linear Transformation‬‬ ‫: ﺑﻪ ﻛﺎر ﮔﺮﻓﺘﻦ راﺑﻄﻪ زﻳﺮ ﺑﺮاي ﺑﺪﺳﺖ آوردن ‪ fitness‬ﺟﺪﻳﺪ.‬ ‫‪f2 = a ( f1 ) + b‬‬ ‫اﻳﻦ راﺑﻄﻪ ﻫﻢ اﺛﺮ ﺑﻬﺘﺮﻳﻦ ﺟﻮاب را ﻛﻤﺘﺮ ﻣﻲ ﻛﻨﺪ.‬
  • 23. ‫) ‪Linear Normalization‬‬ ‫( : ﺑﺮاي ﻣﺜﺎل در ﻳﻚ ﺟﻤﻌﻴﺖ ﺷﺎﻣﻞ 01 ﺷﻲ ﺑﺮاي اوﻟﻴﻦ ﻓﺮد ﻋـﺪد 001 و دوﻣـﻴﻦ‬ ‫ﻓﺮد ﻋﺪد 09 و ... ﺑﺮاي 01 اﻣﻴﻦ ﻓﺮد ﻋﺪد 01 را ﻧﺴﺒﺖ ﻣﻲ دﻫﻴﻢ. اﻳﻦ ﻋﻤﻞ ﻣﻮﺟﺐ ﻣﻲ ﺷﻮد ﻛﻪ اﺧﺘﻼف ﺑﻴﻦ اﺣﺘﻤﺎل اﻧﺘﺨﺎب ﻓﻘﻂ ﺑﻪ‬ ‫ﺗﻌﺪاد اﻓﺮاد ﺑﺴﺘﮕﻲ داﺷﺘﻪ ﺑﺎﺷﺪ. در اﻳﻦ روش ﭘﺨﺶ ﺷﺪن ‪ Distribution‬ﻓﻘﻂ ﺑﺮ اﺳﺎس ﺗﻌﺪاد اﺳـﺖ ﻧـﻪ ﺑـﺮ اﺳـﺎس ‪ . fitness‬اﻳـﻦ‬ ‫روش از ﭘﺨﺶ ﺷﺪن ‪ Super - Subject‬ﺟﻠﻮﮔﻴﺮي ﻣﻲ ﻛﻨﺪ.‬ ‫5,3.‬ ‫ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬ ‫6‬ ‫اوﻟﻴﻦ ﺧﺼﻮﺻﻴﺖ ﻣﺜﺒﺖ اﻳﻦ اﻟﮕﻮرﻳﺘﻢ دﺳﺘﻴﺎﺑﻲ ﺑﻪ ﻧﻘﻄﻪ ﺑﻬﻴﻨﻪ ﻛﻠﻲ44 ﺑﻪ ﺟﺎي ﻧﻘﻄﻪ ﺑﻬﻴﻨﻪ ﻣﺤﻠﻲ ﺳﺖ. ﻳﻌﻨـﻲ ﻫﻤﻴـﺸﻪ در ﺣـﺪ ﺑـﺴﻴﺎر‬ ‫ﻣﻄﻠﻮﺑﻲ ﻣﻲﺗﻮان ﺑﻪ ﭘﺎﺳﺦ اﻳﻦ اﻟﮕﻮرﻳﺘﻢ اﻋﺘﻤﺎد ﻛﺮد و اﻳﻨﻜﻪ ﭘﺎﺳﺨﻲ ﻛﻪ ﻣﻲﻳﺎﺑﺪ ﺑﻪ اﺣﺘﻤﺎل زﻳﺎد ﺑﻬﺘﺮﻳﻦ ﭘﺎﺳﺦ ﻣﻤﻜﻦ اﺳﺖ.‬ ‫روشﻫﺎي ﻛﻼﺳﻴﻚ رﻳﺎﺿﻴﺎت داراي دو اﺷﻜﺎل اﺳﺎﺳﻲ ﻫﺴﺘﻨﺪ. اﻏﻠﺐ اﻳﻦ روشﻫﺎ ﻧﻘﻄﻪ ﺑﻬﻴﻨﻪ ﻣﺤﻠﻲ54 را ﺑﻌﻨﻮان ﻧﻘﻄﻪ ﺑﻬﻴﻨﻪ ﻛﻠﻲ در ﻧﻈﺮ‬ ‫ﻣﻲﮔﻴﺮﻧﺪ و ﻧﻴﺰ ﻫﺮ ﻳﻚ از اﻳﻦ روشﻫﺎ ﺗﻨﻬﺎ ﺑﺮاي ﻣﺴﺎﻟﻪ ﺧﺎﺻﻲ ﻛﺎرﺑﺮد دارﻧﺪ. اﻳﻦ دو ﻧﻜﺘﻪ را ﺑﺎ ﻣﺜﺎلﻫﺎي ﺳﺎدهاي روﺷﻦ ﻣﻲﻛﻨﻴﻢ.‬ ‫ﺑﻪ ﺷﻜﻞ زﻳﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ. اﻳﻦ ﻣﻨﺤﻨﻲ داراي دو ﻧﻘﻄﻪ ﻣﺎﻛﺰﻳﻤﻢ ﻣﻲﺑﺎﺷﺪ. ﻛﻪ ﻳﻜـﻲ از آﻧﻬـﺎ ﺗﻨﻬـﺎ ﻣـﺎﻛﺰﻳﻤﻢ ﻣﺤﻠـﻲ ﺳـﺖ. ﺣـﺎل اﮔـﺮ از‬ ‫روشﻫﺎي ﺑﻬﻴﻨﻪﺳﺎزي رﻳﺎﺿﻲ اﺳﺘﻔﺎده ﻛﻨﻴﻢ ﻣﺠﺒﻮرﻳﻢ ﺗﺎ در ﻳﻚ ﺑﺎزه ﺑﺴﻴﺎر ﻛﻮﭼﻚ ﻣﻘﺪار ﻣﺎﻛﺰﻳﻤﻢ ﺗﺎﺑﻊ را ﺑﻴﺎﺑﻴﻢ. ﻣﺜﻼ از ﻧﻘﻄﻪ 1 ﺷـﺮوع‬ ‫ﻛﻨﻴﻢ و ﺗﺎﺑﻊ را ﻣﺎﻛﺰﻳﻤﻢ ﻛﻨﻴﻢ. ﺑﺪﻳﻬﻴﺴﺖ اﮔﺮ از ﻧﻘﻄﻪ 1 ﺷﺮوع ﻛﻨﻴﻢ ﺗﻨﻬﺎ ﺑﻪ ﻣﻘﺪار ﻣﺎﻛﺰﻳﻤﻢ ﻣﺤﻠﻲ دﺳﺖ ﺧﻮاﻫﻴﻢ ﻳﺎﻓـﺖ و اﻟﮕـﻮرﻳﺘﻢ ﻣـﺎ‬ ‫ﭘﺲ از آن ﻣﺘﻮﻗﻒ ﺧﻮاﻫﺪ ﺷﺪ. اﻣﺎ در روشﻫﺎي ﻫﻮﺷﻤﻨﺪ ﺧﺎﺻﻪ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﺑﺪﻟﻴﻞ ﺧﺼﻠﺖ ﺗﺼﺎدﻓﻲ آﻧﻬﺎ ﺣﺘـﻲ اﮔـﺮ ﻫـﻢ از ﻧﻘﻄـﻪ 1‬ ‫ﺷﺮوع ﻛﻨﻴﻢ ﺑﺎز ﻣﻤﻜﻦ اﺳﺖ در ﻣﻴﺎن راه ﻧﻘﻄﻪ ‪ A‬ﺑﻪ ﺻﻮرت ﺗﺼﺎدﻓﻲ اﻧﺘﺨﺎب ﺷﻮد ﻛﻪ در اﻳﻦ ﺻﻮرت ﻣﺎ ﺷﺎﻧﺲ دﺳﺖﻳﺎﺑﻲ ﺑﻪ ﻧﻘﻄﻪ ﺑﻬﻴﻨﻪ‬ ‫ﻛﻠﻲ را ﺧﻮاﻫﻴﻢ داﺷﺖ.‬ ‫در ﻣﻮرد ﻧﻜﺘﻪ دوم ﺑﺎﻳﺪ ﺑﮕﻮﻳﻴﻢ ﻛﻪ روشﻫﺎي رﻳﺎﺿﻲ ﺑﻬﻴﻨﻪﺳﺎزي اﻏﻠﺐ ﻣﻨﺠﺮ ﺑﻪ ﻳﻚ ﻓﺮﻣﻮل ﻳﺎ دﺳﺘﻮراﻟﻌﻤﻞ ﺧﺎص ﺑﺮاي ﺣﻞ ﻫﺮ ﻣﺴﺌﻠﻪ‬ ‫ﻣﻲﺷﻮﻧﺪ. در ﺣﺎﻟﻲ ﻛﻪ روشﻫﺎي ﻫﻮﺷﻤﻨﺪ دﺳﺘﻮراﻟﻌﻤﻞﻫﺎﻳﻲ ﻫﺴﺘﻨﺪ ﻛﻪ ﺑﻪ ﺻﻮرت ﻛﻠﻲ ﻣﻲﺗﻮاﻧﻨﺪ در ﺣﻞ ﻫﺮ ﻣـﺴﺌﻠﻪاي ﺑـﻪ ﻛـﺎر ﮔﺮﻓﺘـﻪ‬ ‫ﺷﻮﻧﺪ.‬ ‫‪Global Optima‬‬ ‫‪Local Optima‬‬ ‫44‬ ‫54‬
  • 24. ‫ﻋﻼوه ﺑﺮ اﻳﻦ اﻳﻦ اﻟﮕﻮرﻳﺘﻢ ﺑﻪ ﻫﻤﻴﻦ ﺷﻜﻞ ﻣﻮﺟﻮد در ﺣﻞ اﻧﻮاع ﻣﺴﺎﺋﻞ ﻣﻲﺗﻮاﻧﺪ ﺑﻪ ﻛﺎر رود و ﻧﻴﺎزي ﺑﻪ ﺗﻐﻴﻴﺮ آن ﻧﻴﺴﺖ. در واﻗـﻊ ﺗﻨﻬـﺎ‬ ‫ﻛﺎري ﻛﻪ در ﻣﻮرد ﻫﺮ ﻣﺴﺎﻟﻪ ﺑﺎﻳﺪ اﻧﺠﺎم دﻫﻴﻢ اﻳﻨﺴﺖ ﻛﻪ ﺟﻮابﻫﺎي ﻣﺨﺘﻠﻒ را ﺑﻪ ﺷﻜﻞ ﻛﺮوﻣﻮزومﻫﺎ ﺑﺎزﻧﻤـﺎﻳﻲ ﻛﻨـﻴﻢ. ﻫـﺮ ﭼﻨـﺪ ﺧـﻮد‬ ‫اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﺑﺮاي ﺣﻞ ﻣﺴﺎﺋﻞ ﺑﻬﻴﻨﻪﺳﺎزي ﮔﺴﺴﺘﻪ ﺑﻪ ﻛﺎر ﻣﻲرود اﻣﺎ روشﻫﺎي ﻣﺸﺎﺑﻬﻲ ﻫﻤﭽﻮن اﺳﺘﺮاﺗﮋي ﺗﻜﺎﻣﻠﻲ و ﻳﺎ اﻟﮕﻮرﻳﺘﻢ آب‬ ‫دادن ﻓﻮﻻد64 وﺟﻮد دارﻧﺪ ﻛﻪ ﻋﻴﻨﺎ در ﻣﻮرد ﻣﺴﺎﺋﻞ ﭘﻴﻮﺳﺘﻪ ﻣﻲﺗﻮاﻧﻨﺪ ﺑﻪ ﻛﺎر روﻧﺪ. ﻧﺤﻮه ﺗﻌﺮﻳﻒ و ﭘﻴـﺎدهﺳـﺎزي اﻳـﻦ اﻟﮕـﻮرﻳﺘﻢ ﻧﻴـﺰ ﺑـﻪ‬ ‫ﮔﻮﻧﻪاﻳﺴﺖ ﻛﻪ آن را ﺑﺴﺎدﮔﻲ ﺟﻬﺖ اﺟﺮا ﺑﺼﻮرت ﻣﻮازي ﻳﺎ ﺑﺮ روي ‪ Multiprocessor‬ﻫﺎ ﻣﻨﺎﺳﺐ ﻣﻲﺳﺎزد.‬ ‫اﻣﺎ ﻣﺸﻜﻞ اﺻﻠﻲ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﻋﻠﻴﺮﻏﻢ ﺳﺎدﮔﻲ ﭘﻴﺎدهﺳﺎزي، ﻫﺰﻳﻨﻪ اﺟﺮاي آﻧﺴﺖ.اﻏﻠﺐ ﺣﻞ ﻳﻚ ﻣﺴﺌﻠﻪ ﻧﻴﺎزﻣﻨﺪ ﺗﻮﻟﻴﺪ ﭼﻨـﺪﻳﻦ ﻫـﺰار‬ ‫ﻧﺴﻞ از ﻛﺮوﻣﻮزمﻫﺎﺳﺖ و اﻳﻦ ﻣﺴﺌﻠﻪ ﻧﻴﺎز ﺑﻪ زﻣﺎن زﻳﺎدي دارد)ﺧﺼﻮﺻﺎ اﮔﺮ ﺗﻌـﺪاد ﺟﻤﻌﻴـﺖ اوﻟﻴـﻪ زﻳـﺎد ﺑﺎﺷـﺪ و ﻧﻴـﺰ ﺗـﺎﺑﻊ ﻫـﺪف ﺗـﺎﺑﻊ‬ ‫ﭘﻴﭽﻴﺪهاي ﺑﺎﺷﺪ(. ﮔﺎه ﭘﻴﺶ ﻣﻲآﻳﺪ ﻛﻪ ﺑﺮاي ﺣﻞ ﻳﻚ ﻣﺴﺌﻠﻪ ﺑﻌﻨﻮان ﻣﺜﺎل ﻳﻚ ﭘﺮدازﻧﺪه ﭘﻨﺘﻴﻮم ﺑﺎﻳﺪ ﺑﻴﺶ از ﻳﻚ ﻫﻔﺘﻪ ﺑﺮﻧﺎﻣﻪ را اﺟﺮا ﻛﻨﺪ.‬ ‫ﻃﺒﻴﻌﻴﺴﺖ ﻛﻪ اﻳﻦ زﻣﺎن زﻳﺎدﻳﺴﺖ ﺑﺮاي ﺣﻞ ﻳﻚ ﻣﺴﺎﻟﻪ و ﻫﻤﻴﻦ اﻣﺮ ﮔﺎﻫﻲ اﺳﺘﻔﺎده از اﻟﮕﻮرﻳﺘﻢ را ﺑﺎ ﻣﺸﻜﻞ ﻣﻮاﺟﻪ ﻣﻲﻛﻨﺪ.‬ ‫‪ُSimulated Annealing‬‬ ‫64‬
  • 25. ‫ﺣﻞ ﻣﺴﺎﻟﻪ ‪ TSP‬ﺑﺎ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬ ‫٧‬ ‫در اﻳﻦ ﺑﺨﺶ ﻣﺎ ﻣﺮاﺣﻠﻲ را ﻛﻪ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﺑﺮاي ‪ TSP‬ﻣﻲ ﺳﺎزد را ﺗﻮﺿﻴﺢ ﻣﻲ دﻫﻴﻢ.‬ ‫1,4.‬ ‫‪Encoding‬‬ ‫ﺑﺮاي ‪ encoding‬ﻣﻲ ﺗﻮاﻧﻴﻢ ﻳﻚ ﻣﺎﺗﺮﻳﺲ ﻣﺠﺎورت ﮔﺮاف اﻳﺠﺎد ﻛﻨﻴﻢ ﻛﻪ ﺷﺎﻣﻞ 1 در ﻣﻜﺎن ‪ i‬و ‪ j‬اﺳﺖ اﮔﺮ ﻳﻚ ﻳﺎل از راس ‪ i‬ﺑﻪ‬ ‫راس ‪ j‬وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ و در ﻏﻴﺮ اﻳﻦ ﺻﻮرت 0 اﺳﺖ. ﺣﺎل ﻣﻲ ﺗﻮاﻧﻴﻢ از اﻳﻦ ﻣﺎﺗﺮﻳﺲ ﻫﻤﺎن ﮔﻮﻧﻪ ﻛﻪ ﻫﺴﺖ اﺳﺘﻔﺎده ﻛﻨﻴﻢ ﻳﺎ ﺑـﻪ اﻳـﻦ‬ ‫ﺻﻮرت ﻛﻪ ﺳﻄﺮﻫﺎي ﻣﺎﺗﺮﻳﺲ را ﺑﻪ ﻫﻢ اﻟﺤﺎق ﻛﻨﻴﻢ و رﺷﺘﻪ اي ﻃﻮﻻﻧﻲ از 0 و 1 ﻫﺎ اﻳﺠﺎد ﻛﻨﻴﻢ وﻟﻲ ﺗﻮﺟﻪ دارﻳﻢ ﻛﻪ اﻳﻦ رﺷﺘﻪ ﻧﻤـﺎﻳﺶ‬ ‫ﺑﺎﻳﻨﺮي ﻋﺪد ﻧﻴﺴﺖ. ﺑﻪ اﻳﻦ ﺻﻮرت اوﻟﻴﻦ ﻣﺘﺪ ‪ encoding‬ﺳﺎﺧﺘﻪ ﻣﻲ ﺷﻮد.‬ ‫ﺑﺮاي ﻣﺜﺎل ﻣﺎﺗﺮﻳﺲ ﻣﻘﺎﺑﻞ :‬ ‫دوري را ﻧﺸﺎن ﻣﻲ دﻫﺪ ﻛﻪ از ﺷﻬﺮ1 ﺑﻪ ﺷﻬﺮ 3 و از ﺷﻬﺮ 3 ﺑﻪ ﺷﻬﺮ 2 و از ﺷﻬﺮ 2 ﺑﻪ ﺷﻬﺮ 1 ﻣﻲ رود. ﻣﺘـﺪ ﺑﻌـﺪي ﻛـﻪ ﻣـﻮرد‬ ‫ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮد ﻣﺘﺪي اﺳﺖ ﻛﻪ ﻳﻚ رﺷﺘﻪ از اﻋﺪاد ﻛﻪ ﻣﻌﺮف ﺷﻤﺎره ﺷﻬﺮ اﺳﺖ را ﻣﻲ ﺳﺎزد. اوﻟﻴﻦ ﺷﻴﻮه ﺳﺎﺧﺖ اﻳﻦ ﻣﺘﺪ ﺑـﻪ اﻳـﻦ‬ ‫ﺻﻮرت اﺳﺖ ﻛﻪ ﺑﺮاي ﻣﺜﺎل رﺷﺘﻪ4321 = ‪v‬‬ ‫اﻳﻦ ﻣﻔﻬﻮم را ﻣﻲ رﺳﺎﻧﺪ ﻛﻪ اﺑﺘﺪا از ﺷﻬﺮ 1 ﺷﺮوع ﻛﺮده ﺳﭙﺲ ﺑﻪ ﺷﻬﺮ 2 ﻣﻲ روﻳﻢ و‬ ‫از آﻧﺠﺎ ﺑﻪ ﺷﻬﺮ 3 و ﺑﻌﺪ ﺑﻪ ﺷﻬﺮ 4 ﺣﺮﻛﺖ ﻣﻲ ﻛﻨﻴﻢ. در ﭘﺎﻳﺎن ﻫﻢ ﺑﻪ ﺷﻬﺮ اول ﺑﺮ ﻣﻲ ﮔـﺮدﻳﻢ. ﺗﻮﺟـﻪ ﻛﻨﻴـﺪ ﻛـﻪ دو رﺷـﺘﻪ 4321 و‬ ‫1432 ﻣﻌﺎدﻟﻨﺪ.‬ ‫ﺷﻴﻮه دوم اﻳﻦ اﺳﺖ ﻛﻪ اﮔﺮ رﺷﺘﻪ 4213 = ‪ v‬را داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﺑﻪ اﻳﻦ ﻣﻌﻨﻲ اﺳﺖ ﻛﻪ دور از ﺷﻬﺮ 1 ﺑﻪ ﺷﻬﺮ 3 و از ﺷﻬﺮ 3 ﺑﻪ ﺷﻬﺮ‬ ‫2 و از ﺷﻬﺮ 2 ﺑﻪ ﺷﻬﺮ 4 و در ﭘﺎﻳﺎن از ﺷﻬﺮ 4 ﺑﻪ ﺷﻬﺮ 2 ﻣﻲ روﻳﻢ. ﻗﺎﺑﻞ ﺗﻮﺟﻪ اﺳﺖ ﻛﻪ ﻫﺮ رﺷﺘﻪ ﻣﻤﻜﻦ در اﻳﻨﺠﺎ ﻳﻚ دور ﻣﺠـﺎز را‬ ‫ﻧﺸﺎن ﻧﻤﻲ دﻫﺪ. ﻣﺜﻼ رﺷﺘﻪ 2143 ﻧﺸﺎن ﻣﻲ دﻫﺪ ﻛﻪ ﻣﺎ از ﺷﻬﺮ 1 ﺑﻪ ﺷﻬﺮ 3 ﻣﻲ روﻳﻢ و ﺑﻪ ﺷﻬﺮ 1 ﺑﺎزﻣﻲ ﮔـﺮدﻳﻢ واز ﺷـﻬﺮ 2 ﺑـﻪ‬ ‫ﺷﻬﺮ 4 ﻣﻲ روﻳﻢ و ﺑﻪ ﺷﻬﺮ 2 ﺑﺎز ﻣﻲ ﮔﺮدﻳﻢ ﻛﻪ ﻳﻚ رﺷﺘﻪ ﺑﻲ رﺑﻂ اﺳﺖ.‬
  • 26. ‫2,4.‬ ‫‪Crossover‬‬ ‫١٫٢٫۴.‬ ‫‪(PMX) Partially Matched Crossover‬‬ ‫اﮔﺮ دو رﺷﺘﻪ زﻳﺮ را داﺷﺘﻪ ﺑﺎﺷﻴﻢ :‬ ‫8|765|4321‬ ‫7|765|1258‬ ‫و ﻳﻚ ‪ crossover‬دو ﻧﻘﻄﻪ اي اﻧﺠﺎم دﻫﻴﻢ ﺧﻮاﻫﻴﻢ داﺷﺖ :‬ ‫8 | 4 6 3 | 4 3 2 1 = 1‪v‬‬ ‫7 | 7 6 5 | 1 2 5 8 = 2‪v‬‬ ‫ﻛﻪ ﺑﻪ ﻃﻮر ﺑﺪﻳﻬﻲ ﻏﻴﺮ ﻣﺠﺎز ﻫﺴﺘﻨﺪ ﭼﻮن 1‪ v‬ﺷﻬﺮ 5 ﻳﺎ 7 را ﺑﺎزدﻳﺪ ﻧﻤﻲ ﻛﻨﺪ و ﺷﻬﺮ ﻫﺎي 3 و 4 را دو ﺑﺎر ﺑﺎزدﻳﺪ ﻣﻲ ﻛﻨﺪ. ﺑﻪ ﻃﻮر‬ ‫ﻣﺸﺎﺑﻪ 2‪ v‬ﺷﻬﺮ ﻫﺎي 3 و 4 را ﻧﻤﻲ ﺑﻴﻨﺪ و ﺷﻬﺮ ﻫﺎي 5 و 7 را دو ﺑﺎر ﻣﻲ ﺑﻴﻨﺪ.‬ ‫‪ PMX‬ﺑﺪون اﺳﺘﻔﺎده از اﺑﺰاري اﻳﻦ ﻣﺸﻜﻞ را ﺑﻪ اﻳﻦ ﮔﻮﻧﻪ ﺣﻞ ﻣﻲ ﻛﻨﺪ ﻛﻪ ﺗﻌﻮﻳﺾ ﻫﺎي 5 ↔ 3 و 6 ↔ 6 و 7 ↔ 4 را‬ ‫اﻧﺠﺎم ﻣﻲ دﻫﺪ ﺳﭙﺲ اﻳﻦ ﺗﻌﻮﻳﺾ ﻫﺎ را ﻋﻴﻨﺎ روي ژن ﻫﺎي ﺧﺎرج از ﻧﻘﺎط ‪ crossover‬ﺗﻜﺮار ﻣﻲ ﻛﻨﺪ و ﺑﻪ اﻳﻦ ﺗﺮﺗﻴﺐ رﺷﺘﻪ ﻫﺎي زﻳﺮ‬ ‫ﺳﺎﺧﺘﻪ ﻣﻲ ﺷﻮد :‬ ‫84637521‬ ‫47651238‬ ‫وﻟﻲ ﻣﺎ در اﻳﻦ روش ﻟﺰوﻣﺎ ﻳﻚ دور ﻣﺠﺎز ﺗﻮﻟﻴﺪ ﻧﻤﻲ ﻛﻨﻴﻢ ﺑﻪ ﻫﻤﻴﻦ دﻟﻴﻞ ﻧﻴﺎز دارﻳﻢ ﺗﺎ ﺑﺎ ﻳﻚ ‪ crossover‬ﺑﻬﺘﺮ راه ﺣﻞ ﺑﻬﺘﺮي ﭘﻴﺪا‬ ‫ﻛﻨﻴﻢ و دورﻫﺎﻳﻲ ﻣﺠﺎز ﺗﻮﻟﻴﺪ ﻛﻨﻴﻢ.‬
  • 27. ‫2,2,4.‬ ‫‪(CX) Cycle Crossover‬‬ ‫ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ اﻳﻦ ﻣﺘﺪ ‪ crossover‬روي اوﻟﻴﻦ ﺷﻴﻮه ‪ encoding‬ﻋﻤﻞ ﻣﻲ ﻛﻨﺪ ﻳﻌﻨﻲ رﺷﺘﻪ 4321 ﺑﻪ اﻳﻦ ﻣﻔﻬﻮم اﺳﺖ‬ ‫ﻛﻪ ﺑﻪ ﺗﺮﺗﻴﺐ از 1 ﺑﻪ 2 و ﺑﻪ 3 و ﺑﻪ 4 ﻣﻲ روﻳﻢ و در آﺧﺮ ﺑﻪ‬ ‫ﺑﺮﻣﻴﮕﺮدﻳﻢ.‬ ‫ﻓﺮض ﻛﻨﻴﺪ دو رﺷﺘﻪ زﻳﺮ را دارﻳﻢ:‬ ‫87654321‬ ‫74631258‬ ‫ﻣﺎ ﺑﺮاي ﺗﻮﻟﻴﺪ ﻳﻚ رﺷﺘﻪ ﺟﺪﻳﺪ 1‪ v‬ﺑﻪ اﻳﻦ ﺷﻜﻞ ﻋﻤﻞ ﻣﻲ ﻛﻨﻴﻢ :‬ ‫اوﻟﻴﻦ ژن را از ﻳﻜﻲ از ‪ parent‬ﻫﺎ اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ:‬ ‫- - - - - - - 1 = 1‪v‬‬ ‫ﺑﺎﻳﺪ ﻫﺮ ﻋﻨﺼﺮ را از ﻳﻜﻲ از ‪ parent‬ﻫﺎ ﺑﺮدارﻳﻢ و آﻧﺮا در ﻣﻮﻗﻌﻴﺘﻲ ﻛﻪ ﻗﺒﻼ ﺑﻮده ﻗﺮار دﻫﻴﻢ. از آﻧﺠﺎﻳﻴﻜﻪ اوﻟﻴﻦ ﻣﻮﻗﻌﻴﺖ ﺗﻮﺳﻂ 1‬ ‫اﺷﻐﺎل ﺷﺪه اﺳﺖ ﻋﺪد 8 از رﺷﺘﻪ دوم ﻧﻤﻲ ﺗﻮاﻧﺪ ﺑﻪ آن ﻣﺤﻞ ﺑﺮود ﭘﺲ ﻣﺠﺒﻮرﻳﻢ 8 را ﻫﻢ از رﺷﺘﻪ اول ﺑﺮدارﻳﻢ:‬ ‫8 - - - - - - 1 = 1‪v‬‬ ‫و ﺑﻪ ﻫﻤﻴﻦ ﺷﻜﻞ 7 و 4 را ﻧﻴﺰ از رﺷﺘﻪ اول ﺑﺮداﺷﺘﻪ و در ﻣﺤﻞ ﺧﻮد ﻗﺮار دﻫﻴﻢ :‬ ‫8 7 - - - 4 - 1 = 1‪v‬‬ ‫ﺣﺎل ﺑﺎ ﭘﺮ ﻛﺮدن ﺑﻘﻴﻪ ﻣﺤﻞ ﻫﺎ ﺑﺎ ﻋﻨﺎﺻﺮ آن ﻣﺤﻠﻬﺎ از رﺷﺘﻪ دوم 1‪ v‬را ﻣﻲ ﺳﺎزﻳﻢ. اﻳﻦ ﻣﺘﺪ ﻫﻤﻴﺸﻪ ﻳﻚ ﻛﺮوﻣﻮزوم ﻣﺠﺎز ﻣﻲ ﺳﺎزد.‬ ‫اﻟﺒﺘﻪ ﻣﻤﻜﻦ اﺳﺖ ﻓﺮزﻧﺪ درﺳﺖ ﺷﺪه ﻫﻤﺎن ‪ parent‬ﺑﺎﺷﺪ وﻟﻲ اﻳﻦ ﻣﺸﻜﻞ ﻧﻴﺴﺖ ﭼﻮن ﻧﺸﺎﻧﮕﺮ اﻳﻨﺴﺖ ﻛﻪ ‪ fitness, parent‬ﺑﺎﻻﻳﻲ‬ ‫دارد و ﺑﺎز ﻫﻢ ﻣﻲ ﺗﻮاﻧﺪ ﻳﻚ اﻧﺘﺨﺎب ﺑﺎﺷﺪ.‬
  • 28. ‫٣٫٢٫۴.‬ ‫‪Order Crossover‬‬ ‫ﺧﻴﻠﻲ ﺑﻪ ‪ PMX‬ﺷﺒﻴﻪ اﺳﺖ. ﻫﻤﺎن دو ﻧﻘﻄﻪ را در ﻧﻈﺮ ﻣﻲ ﮔﻴﺮد وﻟﻲ ﺑﻪ ﺟﺎي اﺻﻼح ﻛﺮوﻣﻮزوﻣﻬﺎ ﺑﺎ ﺗﻌﻮﻳﺾ ﺗﻜﺮارﻫﺎ ﺑﻪ ﻃﻮر ﺳﺎده ﺗﺮي‬ ‫ﺑﻘﻴﻪ ژن ﻫﺎ را ﻣﺮﺗﺐ ﻣﻲ ﻛﻨﺪ ﺗﺎ ﻳﻚ دور ﻣﺠﺎز ﺑﺪﻫﺪ.‬ ‫ﻣﺜﻼ اﮔﺮ دو رﺷﺘﻪ زﻳﺮ را داﺷﺘﻪ ﺑﺎﺷﻴﻢ :‬ ‫84|267|531‬ ‫74|128|365‬ ‫ﺑﺎ ﺗﻌﻮﻳﺾ ﻛﺮدن ژﻧﻬﺎي ﺑﻴﻦ دو ﻧﻘﻄﻪ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ :‬ ‫ - |1 2 8 | - - - = 1‪v‬‬‫- - |2 6 7 | - - - = 2‪v‬‬ ‫ﺳﭙﺲ ﺑﺎ ﺷﺮوع از دوﻣﻴﻦ ﻧﻘﻄﻪ ‪ crossover‬ژﻧﻬﺎ را از ﻛﺮوﻣﻮزوم ‪ parent‬ﺛﺒﺖ ﻣﻲ ﻛﻨﻴﻢ.‬ ‫26753184‬ ‫12836574‬ ‫ﺳﭙﺲ ژن ﻫﺎﻳﻲ را ﻛﻪ ﺑﻴﻦ ﻧﻘﺎط ‪ crossover‬ﺑﻮده اﻧﺪ را ﺣﺬف ﻣﻲ ﻛﻨﻴﻢ. ﻳﻌﻨـﻲ 8 و 2 و 1 را از ﻟﻴـﺴﺖ 1‪ v‬و 7 و 6 و 2 را از‬ ‫ﻟﻴﺴﺖ 2‪ v‬ﺣﺬف ﻣﻲ ﻛﻨﻴﻢ ﺗﺎ رﺷﺘﻪ ﻫﺎي زﻳﺮ ﺑﺪﺳﺖ آﻳﻨﺪ :‬ ‫67534‬ ‫18354‬ ‫و ﺑﺎ ﺟﺎﻳﮕﺰﻳﻨﻲ از دوﻣﻴﻦ ﻧﻘﻄﻪ ‪ crossover‬ﺑﺎ ﻛﺮوﻣﻮزوﻣﻬﺎي ﻓﺮزﻧﺪ رﺷﺘﻪ ﻫﺎي ﻧﻬﺎﻳﻲ زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﻨﺪ:‬ ‫3 4 1 2 8 6 7 5 = 1‪v‬‬ ‫5 4 2 6 7 1 8 3 = 2‪v‬‬
  • 29. ‫۴٫٢٫۴.‬ ‫‪Crossover Matrix‬‬ ‫ﻫﻤﺎن ‪ crossover‬ﻳﻚ ﻳﺎ دو ﻧﻘﻄﻪ اي ﻣﻲ ﺑﺎﺷﺪ.‬ ‫اﮔﺮ ﻣﺎﺗﺮﻳﺲ ﻫﺎي زﻳﺮ را داﺷﺘﻪ ﺑﺎﺷﻴﻢ :‬ ‫ﻧﻘﺎط ‪ crossover‬را ﺑﻌﺪ از اوﻟﻴﻦ ﺳﺘﻮن و ﺑﻌﺪ از دوﻣﻴﻦ ﺳﺘﻮن اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ. ‪ crossover‬ﻛﺮدن ﺳﺘﻮن ﻫﺎ ﻧﺘﻴﺠﻪ ﻣﻲ دﻫﺪ:‬ ‫ﺣﺎﻻ ﻣﺎ ﭼﻨﺪﻳﻦ 1 در ﺑﻌﻀﻲ ﺳﻄﺮﻫﺎ دارﻳﻢ و ﺑﻌﻀﻲ از ﺳﻄﺮﻫﺎ اﺻﻼ 1 ﻧﺪارﻧﺪ. اﻳﻦ را ﺑﻮﺳﻴﻠﻪ اﻧﺘﻘﺎل ﻳﻜﻲ از 1 ﻫﺎ از ﺳﻄﺮي ﻛﻪ‬ ‫ﭼﻨﺪﻳﻦ 1 دارد ﺑﻪ ﺳﻄﺮي ﻛﻪ ﻫﻴﭻ ﻳﻜﻲ ﻧﺪارد درﺳﺖ ﻣﻲ ﻛﻨﻴﻢ. اﻳﻦ اﻧﺘﺨﺎب ﺑﻴﻦ ﺳﻄﺮﻫﺎي ﺷﺎﻣﻞ ﭼﻨﺪ 1 ﺗﺼﺎدﻓﻲ اﺳﺖ.‬
  • 30. ‫ﺣﺎل ﺑﺎ ﻣﻼﺣﻈﻪ ﻣﺎﺗﺮﻳﺲ اول ﻣﻲ ﺑﻴﻨﻴﻢ ﻛﻪ ‪ a ↔ a‬و ‪ . b → c → b‬ﭘﺲ ﻣﺎ دو دور ﻣﺨﺘﻠﻒ اﻳﺠﺎد ﻛﺮده اﻳﻢ وﻟﻲ اﻳﻦ را ﺑﻮﺳﻴﻠﻪ‬ ‫ﺑﺮش و ﻣﺘﺼﻞ ﻛﺮدن درﺳﺖ ﻣﻲ ﻛﻨﻴﻢ.‬ ‫ﻳﺎل ‪ a‬ﺑﻪ ‪ a‬را و ﻫﻤﭽﻨﻴﻦ ﻳﻜﻲ از ﻳﺎﻟﻬﺎي ﺑﻴﻦ ‪ b‬و ‪ c‬را ﻣﻴﺒﺮﻳﻢ و ‪ a‬را ﺑﻪ ‪ b‬و ‪ c‬وﺻﻞ ﻣﻲ ﻛﻨﻴﻢ.‬
  • 31. ‫۵٫٢٫۴.‬ ‫‪(MOX) Modified Order Crossover‬‬ ‫ﺷﺒﻴﻪ ‪ crossover‬ﻳﻚ ﻧﻘﻄﻪ اي اﺳﺖ. ﻳﻚ ﻧﻘﻄﻪ ‪ crossover‬ﺗﺼﺎدﻓﻲ در ‪ parent‬اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ و ﺑـﻪ ﻃـﻮر ﻣﻌﻤـﻮل ژﻧﻬـﺎي‬ ‫ﻗﺒﻞ از ﻧﻘﻄﻪ را ﻫﻤﺎن ﻃﻮر ﻛﻪ ﻫﺴﺘﻨﺪ رﻫﺎ ﻣﻲ ﻛﻨﻴﻢ. ﺳﭙﺲ ژﻧﻬﺎي ﺑﻌﺪ از ﻧﻘﻄﻪ ‪ crossover‬را ﺑـﻪ ﺗﺮﺗﻴﺒـﻲ ﻛـﻪ در دوﻣـﻴﻦ ﻛﺮوﻣـﻮزوم‬ ‫‪ parent‬ﻇﺎﻫﺮ ﺷﺪه اﻧﺪ دوﺑﺎره ﻣﺮﺗﺐ ﻣﻲ ﻛﻨﻴﻢ.‬ ‫اﻛﺮ دو ﻛﺮوﻣﻮزوم زﻳﺮ را داﺷﺘﻪ ﺑﺎﺷﻴﻢ :‬ ‫654|321‬ ‫512|463‬ ‫ﺑﺪﺳﺖ ﺧﻮاﻫﻴﻢ آورد :‬ ‫5 4 6 | 3 2 1 = 1‪v‬‬ ‫5 2 1 | 4 6 3 = 2‪v‬‬ ‫‪ crossover‬ﺗﺎ ﺣﺎﻻ ﺗﻤﺮﻛﺰ روي ﻣﻮﻗﻌﻴﺖ ﺷﻬﺮ در دور را ﺟﺴﺘﺠﻮ ﻛﺮده در ﺣﺎﻟﻴﻜﻪ در واﻗـﻊ ﻳﺎﻟﻬـﺎ ﻣﻬﻤﺘـﺮﻳﻦ ﻗـﺴﻤﺘﻬﺎي ﺳـﻔﺮ‬ ‫ﻓﺮوﺷﻨﺪه دوره ﮔﺮد ﻫﺴﺘﻨﺪ زﻳﺮا آﻧﻬﺎ وزﻧﻬﺎ را ﻣﻌﻴﻦ ﻣﻲ ﻛﻨﻨﺪ ﺑﻨﺎﺑﺮاﻳﻦ ﭼﻴﺰﻳﻜﻪ ﻣﺎ واﻗﻌﺎ ﻣﻲ ﺧـﻮاﻫﻴﻢ اﻳـﻦ اﺳـﺖ ﻛـﻪ ﺑـﺎ ﻳﺎﻟﻬـﺎ ﺑﻴـﺸﺘﺮ از‬ ‫ﻣﻮﻗﻌﻴﺖ ﻫﺮ ﺷﻬﺮ ﺳﺮوﻛﺎر داﺷﺘﻪ ﺑﺎﺷﻴﻢ.‬ ‫)1891( ‪ Grefenstette‬ﻳﻚ روﺗﻴﻦ ‪ crossover‬اﺧﺘﺮاع ﻛﺮده ﻛﻪ ﻫﺮ راس را از ﻳﻜﻲ از آﻧﻬـﺎﻳﻲ ﻛـﻪ ﺑـﺮاي راس ﺟـﺎري در‬ ‫ﻳﻜﻲ از ‪parent‬ﻫﺎ ﻻزم اﺳﺖ ﺑﺮ ﻣﻲ دارد.‬ ‫اﻳﻦ را ﺑﻮﺳﻴﻠﻪ اﻳﺠﺎد ﻳﻚ ﻟﻴﺴﺖ ﻳﺎل ﺑﺮاي ﻫﺮ راس اﻧﺠﺎم ﻣﻲ دﻫﻴﻢ.‬ ‫ﻛﺮوﻣﻮزوﻣﻬﺎي:‬ ‫6 5 4 3 2 1 = 1‪v‬‬ ‫5 1 2 4 6 3 = 2‪v‬‬
  • 32. ‫اﺑﺘﺪا ﻳﻜﻲ از ﻧﺨﺴﺘﻴﻦ راﺳﻬﺎ را از ﻳﻜﻲ از ‪parent‬ﻫﺎ ﻳﻌﻨﻲ 1 ﻳﺎ 3 در اﻳﻦ ﻣﺜﺎل اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ آن را ﻛﻪ ﻛﻤﺘـﺮﻳﻦ ﻋـﺪد از‬ ‫راﺳﻬﺎي ﻻزم را دارد اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ و ﻳﺎ اﮔﺮ آﻧﻬﺎ ﻋﺪد ﻳﻜﺴﺎﻧﻲ دارﻧﺪ ﺗﺼﺎدﻓﻲ ﻳﻜﻲ را اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ.‬ ‫ﺳﭙﺲ ﻣﺸﺎﻫﺪه ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ راﺳﻬﺎﻳﻲ ﺑﺎ راس 1 ﺗﻼﻗﻲ ﻣﻲ ﻛﻨﻨﺪ. ﭼﻮن اﻳﻦ ﻫﻤﺎن راﺳﻲ اﺳﺖ ﻛﻪ اول اﻧﺘﺨﺎب ﻛﺮدﻳﻢ دوﺑﺎره راﺳـﻲ‬ ‫ﺑﺎ ﻛﻤﺘﺮﻳﻦ ﻋﺪد از راﺳﻬﺎي ﻻزم ﻛﻪ ﻗﺒﻼ اﻧﺘﺨﺎب ﻧﺸﺪه اﻧﺪ اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ ﺳﭙﺲ راس 2 را اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ اﻳـﻦ ﻓﺮاﻳﻨـﺪ اﻧﺘﺨـﺎب‬ ‫راﺳﻬﺎي ﻓﺮﺿﻲ را اداﻣﻪ ﻣﻲ دﻫﻴﻢ اﮔﺮ ﺑﻪ ﺣﺎﻟﺘﻲ ﺑﺮﺧﻮرد ﻛﻨﻴﻢ ﻛﻪ ﻧﺘﻮاﻧﻴﻢ راﺳﻲ را ﻛﻪ ﻗﺒﻼ اﻧﺘﺨﺎب ﻧﺸﺪه را اﻧﺘﺨﺎب ﻛﻨﻴﻢ ﻳﻚ ﮔﺮه ﻛـﻪ‬ ‫ﻗﺒﻼ اﻧﺘﺨﺎب ﻧﺸﺪه اﺳﺖ را ﺗﺼﺎدﻓﻲ اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ.‬ ‫اﻳﻦ ﺑﻪ آن ﻣﻌﻨﻲ اﺳﺖ ﻛﻪ ﻣﺎ ﻣﻲ ﺧﻮاﻫﻴﻢ راﺳﻲ را ﺑﺪﺳﺖ آورﻳﻢ ﻛﻪ در راس ﺟﺎري ﻣﺎ در ﻳﻜﻲ از ‪ parent‬ﻫﺎ روي ﻧـﺪاده اﺳـﺖ اﻣـﺎ‬ ‫ﻣﺘﺎﺳﻔﺎﻧﻪ اﻳﻦ اﺟﺘﻨﺎب ﻧﺎﭘﺬﻳﺮ اﺳﺖ ﺑﻨﺎ ﺑﺮاﻳﻦ ﻛﺮوﻣﻮزوم ﻫﺎي ‪ parent‬ﻣﺎ ﻣﻲ ﺗﻮاﻧﻨﺪ ﻓﺮزﻧﺪ ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪ. ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷـﻴﺪ ﻛـﻪ ﻣـﺎ در‬ ‫ﺗﻤﺎم ﻣﺪت در ﺗﻮاﻧﺎﻳﻲ اﻧﺘﺨﺎب راس ﻫﺎﻳﻲ ﻛﻪ در ﻳﻜﻲ از ‪ parent‬ﻫﺎ ﻻزم ﺑﻮدﻧﺪ ﻣﻮﻓﻖ ﺑﻮدﻳﻢ.‬ ‫ﻣﺎ ﻓﻘﻂ ﻳﻚ ﻓﺮزﻧﺪ از اﻳﻦ ‪ crossover‬ﺑﺪﺳﺖ ﻣﻲ آورﻳﻢ ﺗﺎ ﺑﺴﻴﺎري از ‪ crossover‬ﻫﺎ را دوﺑﺎر اﻧﺠﺎم دﻫﻴﻢ ﺗﺎ ﻳﻚ ﻧﺴﻞ ﺟﺪﻳﺪ اﻳﺠﺎد‬ ‫ﻛﻨﻴﻢ.ﻫﻤﭽﻨﻴﻦ ﻋﻤﻠﮕﺮﻫﺎي ‪ crossover‬اي دارﻳﻢ ﻛﻪ از اﻃﻼﻋﺎت ﻣﻜﺸﻔﻪ اي اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﺪ.‬ ‫٣٫۴.‬ ‫‪Mutation‬‬ ‫اﺑﺘﺪا ﻋﻤﻠﮕﺮ دو ﮔﺰﻳﻨﻪ اي )‪ (2 - opt‬را ﻧﺸﺎن ﻣﻲ دﻫﻴﻢ. دو ﻳﺎل )‪ (a , b‬و )‪ (c , d‬را از دورﻣﺎن اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ و ﭼﻚ‬ ‫ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ آﻳﺎ ﻣﻲ ﺗﻮاﻧﻴﻢ اﻳﻦ 4 راس را ﺑﺎ ﻳﻚ روش ﻣﺘﻔﺎوت ﺑﻪ ﻫﻢ وﺻﻞ ﻛﻨﻴﻢ ﺗﺎ ﻛﻤﺘﺮﻳﻦ وزن را ﺑﻪ ﻣﺎ ﺑﺪﻫﺪ ﻳﺎ ﺧﻴـﺮ. ﺑـﺮاي اﻧﺠـﺎم‬ ‫اﻳﻦ ﻛﺎر ﭼﻚ ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ اﮔﺮ‬ ‫‪ Cab + Ccd > Cac + Cdb‬ﺑﺎﺷﺪ ﻳﺎﻟﻬﺎي )‪ (a , b‬و )‪ (c , d‬را ﺑﺎ ﻳﺎﻟﻬـﺎي )‪ (a , c‬و )‪(d , b‬‬ ‫ﻋﻮض ﻛﻨﻴﻢ. ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ ﻓﺮض ﻛﺮده اﻳﻢ ﻛﻪ ‪ a‬و ‪ b‬و ‪ c‬و ‪ d‬ﺑﺎ ﺗﺮﺗﻴﺐ ﻣﺸﺨﺼﻲ در دور ﻇﺎﻫﺮ ﺷﺪه اﻧﺪ ﺣﺘﻲ اﮔـﺮ ‪ b‬و ‪ c‬ﻣﺘـﺼﻞ‬ ‫ﻧﺒﺎﺷﻨﺪ.‬ ‫ﻫﻤﭽﻨﻴﻦ ﻳﻚ ﻋﻤﻠﮕﺮ ﺳﻪ ﮔﺰﻳﻨﻪ اي )‪ (3 - opt‬دارﻳﻢ ﻛﻪ ﺑﻪ ﺟﺎي دو ﻳﺎل ﺳﻪ ﻳﺎل ﺗﺼﺎدﻓﻲ را ﻧﺸﺎن ﻣﻲ دﻫﺪ. اﮔﺮ ﻳﺎﻟﻬـﺎي )‪ (a , b‬و‬ ‫)‪ (c , d‬و )‪ (e , f‬را داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﭼﻚ ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ اﮔﺮ‬ ‫‪ Cab + Ccd + Cef > Cac + Cbe + Cdf‬ﺑﺎﺷـﺪ ﻳﺎﻟﻬـﺎي‬ ‫)‪ (a , b‬و )‪ (c , d‬و )‪ (e , f‬را ﺑﺎ ﻳﺎﻟﻬﺎي )‪ (a , c‬و )‪ (b , e‬و )‪ (d , f‬ﻋﻮض ﻛﻨﻴﻢ.‬ ‫ﻋﻤﻠﮕﺮ )‪ (or - opt‬ﺷﺒﻴﻪ )‪ (2 - opt‬اﺳﺖ.ﻳﻚ ﻣﺠﻤﻮﻋﻪ از راس ﻫﺎي ﻣﺘﺼﻞ را ﺗﺼﺎدﻓﻲ اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ و ﭼﻚ ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ آﻳـﺎ‬ ‫اﻳﻦ رﺷﺘﻪ ﻣﻲ ﺗﻮاﻧﺪ ﺑﻴﻦ دو راس دﻳﮕﺮ اﺿﺎﻓﻪ ﺷﻮد ﺗﺎ وزن ﺗﻘﻠﻴﻞ ﻳﺎﺑﺪ ﻳﺎ ﺧﻴﺮ. ﻣﺎ ﻣﻲ ﺗﻮاﻧﻴﻢ اﻳﻦ را ﺑﻮﺳﻴﻠﻪ ﭘﻴﺪا ﻛﺮدن ﻣﺠﻤﻮع وزن ﻫﺎي‬ ‫ﻳﺎﻟﻬﺎي اﺿﺎﻓﻪ ﺷﺪه و ﻣﺠﻤﻮع وزن ﻫﺎي ﻳﺎﻟﻬﺎي ﺣﺬف ﺷﺪه ﻣﺤﺎﺳﺒﻪ ﻛﻨﻴﻢ. اﮔﺮ وزن ﻳﺎﻟﻬﺎي ﺣﺬف ﺷﺪه ﺑﻴﺸﺘﺮ ﺑـﻮد ﺗﻌـﻮﻳﺾ اﻧﺠـﺎم ﮔﻴـﺮد.‬ ‫ﺳﻪ ﻋﻤﻠﮕﺮ ‪ Mutation‬دﻳﮕﺮ ﻧﻴﺰ وﺟﻮد دارﻧﺪ ﻛﻪ ﻳﻚ ﺷﻬﺮ اﻧﺘﺨﺎﺑﻲ ﺗﺼﺎدﻓﻲ را ﺑﻪ ﻳﻚ ﻣﻜﺎن اﻧﺘﺨـﺎب ﺷـﺪه ﺗـﺼﺎدﻓﻲ اﺿـﺎﻓﻪ ﻣـﻲ ﻛﻨـﺪ.‬ ‫ﻫﻤﭽﻨﻴﻦ ﻣﺎ ﻫﻨﮕﺎﻣﻴﻜﻪ دو ﺷﻬﺮ ﺗﺼﺎدﻓﻲ را اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ و آﻧﻬﺎ را ﺗﻌﻮﻳﺾ ﻣﻲ ﻛﻨﻴﻢ ﻳﻚ ‪ mutaion‬دو ﺟﺎﻧﺒﻪ دارﻳﻢ.‬
  • 33. ‫4,4. ﻣﻘﺎﻳﺴﻪ روﺷﻬﺎي ﻣﺨﺘﻠﻒ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﺑﺮاي ‪TSP‬‬ ‫ﺗﺎ ﺑﻪ ﺣﺎل ﻓﺮﻣﻬﺎي ﻣﺨﺘﻠﻔﻲ از رﻣﺰﮔﺬاري ﻫﺎ ‪ encoding‬و ﻋﻤﻠﮕﺮﻫـﺎي ‪ crossover‬و ‪ mutation‬را در ﺣـﻞ ﻣـﺴﺎﻟﻪ ‪ TSP‬ﺑـﻪ‬ ‫روش اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ دﻳﺪﻳﻢ. اﻳﻦ ﺣﺎﻟﺘﻬﺎ ﻣﻲ ﺗﻮاﻧﻨﺪ ﺑﺎ ﻫﻢ ﺗﺮﻛﻴﺐ ﺷﻮﻧﺪ و ﻣﻨﺠﺮ ﺑﻪ رﺳﻴﺪن ﺑﻪ راه ﺣـﻞ ﻫـﺎي ﻣﺨﺘﻠﻔـﻲ ﺑـﺮاي ‪ TSP‬ﺑـﻪ‬ ‫روش اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﺷﻮﻧﺪ. وﻟﻲ از آﻧﺠﺎﻳﻲ ﻛـﻪ ﻣﺘـﺪﻫﺎي ‪ crossover‬روي ‪ encoding‬ﻫـﺎي ﺧﺎﺻـﻲ ﻋﻤـﻞ ﻣـﻲ ﻛﻨﻨـﺪ در ﻧﺘﻴﺠـﻪ‬ ‫اﻟﮕﻮرﻳﺘﻤﻬﺎي ژﻧﺘﻴﻚ ﺧﻴﻠﻲ ﻣﺘﻔﺎوﺗﻲ ﺑﺮاي ﺟﺴﺘﺠﻮ ﻧﺪارﻳﻢ.‬ ‫ﺣﺎل ﺑﻪ ﺑﺮرﺳﻲ اﻟﮕﻮرﻳﺘﻤﻬﺎي ژﻧﺘﻴﻚ ﻣﺤﺾ ﻳﻌﻨﻲ ﺑﺪون اﺳﺘﻔﺎده از ‪ Heuristic Information‬ﻣﻲ ﭘﺮدازﻳﻢ.‬ ‫ﻓﺮض ﻛﻨﻴﺪ ﻛﻪ ‪ PMX crossover‬را اﻧﺘﺨﺎب ﻛﺮده اﻳﻢ و ﻫﻴﭻ ﻋﻤﻠﮕﺮي را ﺑﺮاي ‪ mutation‬اﺗﺨﺎذ ﻧﻜﺮده اﻳﻢ. ﺑﺎ اﻳـﻦ ﺷـﺮاﻳﻂ در‬ ‫33 ﺷﻬﺮ ﺑﻪ ﺟﻮاﺑﻲ ﻣﻲ رﺳﻴﻢ ﻛﻪ ﻃﻮل آن 01 درﺻﺪ از ﺟﻮاب ﺑﻬﻴﻨﻪ ﺑﻴﺸﺘﺮ اﺳﺖ. و ﺑﺮاي 001 ﺷﻬﺮ اﻳﻦ ﻣﻴﺰان ﺑﻪ 012 درﺻﺪ ﻣﻲ رﺳﺪ.‬ ‫اﮔﺮ در ﻳﻚ ﻣﺴﺎﻟﻪ ﻛﻪ از 03 ﺷﻬﺮ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ اﮔﺮ از ‪ PMX‬اﺳﺘﻔﺎده ﻛﻨﻴﻢ ﺑﻬﺘﺮﻳﻦ ﻃﻮل 894 و اﮔﺮ از ‪Order Crossover‬‬ ‫اﺳﺘﻔﺎده ﻛﻨﻴﻢ اﻳﻦ ﻣﻴﺰان ﺑﻪ 524 ﻛﺎﻫﺶ ﻣﻲ ﻳﺎﺑﺪ. در ﺣﺎﻟﻲ ﻛﻪ ‪ Cycle Crossover‬ﻧﺘﻴﺠﻪ اي ﺑﺮاﺑﺮ 715 ﻣﻲ دﻫـﺪ.از آﻧﺠـﺎﻳﻲ ﻛـﻪ‬ ‫ﻣﻲ داﻧﻴﻢ در اﻳﻦ ﻣﺴﺎﻟﻪ ﺧﺎص) 03 ﺷﻬﺮ( ﺑﻬﺘﺮﻳﻦ ﺟﻮاب ﻃﻮﻟﻲ ﺑﺮاﺑﺮ 024 دارد ﺑﻪ ﻧﻈﺮ ﻣـﻲ رﺳـﺪ ﻛـﻪ ‪ Order Crossover‬ﺟـﻮاﺑﻲ‬ ‫ﺑﻬﺘﺮ از ﺑﻘﻴﻪ ﺑﺮ ﻣﻲ ﮔﺮداﻧﺪ.‬ ‫ﺣﺎل ﺑﻪ ﺑﺮرﺳﻲ ‪ Matrix Crossover‬ﻣﻲ ﭘﺮدازﻳﻢ. اﮔﺮ از ﻳﻚ ‪ crossover‬دو ﻧﻘﻄﻪ اي اﺳﺘﻔﺎده ﻛﻨﻴﻢ ﻣﺸﺎﻫﺪه ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ ﺑﺮاي‬ ‫03 و 05 و 57 و 001 و 813 دورﻫﺎﻳﻲ ﺑﺎ ﻃﻮل 024 و 624 و 535 و 926 و 45124 را اراﺋﻪ ﻣﻲ ﻛﻨﺪ. ﻛﻪ ﻫﻤﻪ اﻳﻦ ﺟﻮاﺑﻬـﺎ‬ ‫ﻛﻤﺘﺮ از 2 درﺻﺪ ﺑﻴﺸﺘﺮ از ﺟﻮاب ﺑﻬﻴﻨﻪ ﻫﺴﺘﻨﺪ. ﭘﺲ اﺣﺘﻤﺎﻻ اﺳﺘﻔﺎده از ﻳﺎﻟﻬﺎ ﺑﺴﻴﺎر اﻣﻴﺪوار ﻛﻨﻨـﺪه ﺗـﺮ از اﺳـﺘﻔﺎده از راﺳـﻬﺎ ﺑـﻪ ﻋﻨـﻮان‬ ‫ﻣﺘﻐﻴﺮ اﺳﺖ.‬ ‫ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ ﺑﻪ ﻫﺮ ﺣﺎل ﻧﻤﺎﻳﺶ ﻣﺎﺗﺮﻳﺲ ﻓﻀﺎي ﺑﻴﺸﺘﺮي را ﺑﺮاي ذﺧﻴـﺮه ﻛـﺮدن ﻧـﺴﺒﺖ ﺑـﻪ ﻧﻤـﺎﻳﺶ ﺑـﻪ ﺻـﻮرت ﻋـﺪد ﺻـﺤﻴﺢ و‬ ‫‪ crossover‬ﺳﺎده ﻣﻲ ﺧﻮاﻫﺪ و در ﺿﻤﻦ ﻣﺤﺎﺳﺒﺎت ‪ crossover‬و ‪ mutation‬در ﻣﺎﺗﺮﻳﺲ ﭘﻴﭽﻴﺪه ﺗﺮ و زﻣﺎﻧﺒﺮ ﺗﺮ اﺳـﺖ. ﻫﻤﭽﻨـﻴﻦ‬ ‫روش دﻳﮕﺮي ﻛﻪ ﺗﺴﺖ ﺷﺪه اﻳﻨﺴﺖ ﻛﻪ ﻣﺎ از ) ‪ ( 2 - opt‬ﺑﺮاي ‪ mutation‬اﺳﺘﻔﺎده ﻛﻨﻴﻢ و از ‪ crossover‬اﺳﺘﻔﺎده ﻧﻜﻨﻴﻢ. اﻳﻦ روش‬ ‫ﻧﻴﺰ ﺟﻮاب ﺧﻮﺑﻲ اراﺋﻪ ﻣﻲ دﻫﺪ وﻟﻲ ﺟﻮاب ﻗﺒﻠﻲ ﺑﻬﺘﺮ از اﻳﻦ روش اﺳﺖ. در ﺿﻤﻦ ﺑﺮاي وﻗﺘﻲ ﻛﻪ ‪ n‬را زﻳﺎد ﻓﺮض ﻣﻲ ﻛﻨـﻴﻢ اﻳـﻦ روش‬ ‫ﺟﻮاﺑﻲ ﻣﻨﺎﺳﺐ اراﺋﻪ ﻧﻤﻲ دﻫﺪ.‬ ‫‪ Heuristic Algorithm‬ﻧﻴﺰ ﺑﻪ ﺟﻮاب ﺧﻮﺑﻲ ﻣﻲ رﺳﺪ.‬ ‫‪ Heuristic Algorithm‬وﻗﺘﻲ ﻛﻪ ﺑـﺎ ‪( 2 – opt )mutation‬‬ ‫ﺗﺮﻛﻴﺐ ﻣﻲ ﺷﻮد ﺑﻬﺘﺮﻳﻦ ﺟﻮاب را در ﻣﻘﺎﻳﺴﻪ ﺑﺎ ﻣﺘﺪﻫﺎﻳﻲ ﻛﻪ ﺗﺎ ﺑﻪ ﺣﺎل ﮔﻔﺘﻴﻢ ﺑﺮﻣﻲ ﮔﺮداﻧﺪ. ﺑﻪ ﻃﻮري ﻛﻪ اﻳﻦ ﺟﻮاب ﺑـﺴﻴﺎر ﻧﺰدﻳـﻚ ﺑـﻪ‬ ‫ﻣﻘﺪار ﺑﻬﺘﺮﻳﻦ ﺟﻮاب اﺳﺖ. اﻟﺒﺘﻪ اﻳﻦ روش ﻓﻀﺎي زﻳﺎدي را اﺷﻐﺎل ﻣﻲ ﻛﻨﺪ و ﻧﻴﺰ وزن ﻫﺮ ﻳﺎل ﺑﺎﻳﺪ در ﺟﺎﻳﻲ ذﺧﻴﺮه ﺷﻮد. در ﻧﺘﻴﺠﻪ‬
  • 34. ‫ﻣﻲ ﺑﻴﻨﻴﻢ ﻛﻪ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ وﻗﺘﻲ ﻛﻪ از ﻧﻤﺎﻳﺶ ﻣﺎﺗﺮﻳﺲ ﺑﺮاي ‪ encoding‬و از ‪ Matrix Crossover‬ﻳﺎ‬ ‫‪ Heuristic Crossover‬اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﺪ ﺑﻬﺘﺮﻳﻦ ﺟﻮاب را ﺑﺮﻣﻲ ﮔﺮداﻧﺪ و ﺑﻬﺘﺮ از دﻳﮕﺮ روﺷـﻬﺎ ﻛـﺎر ﻣـﻲ ﻛﻨـﺪ. در ﻫـﺮ دو روش‬ ‫‪crossover‬ﺑﺎﻻ اﺳﺘﻔﺎده از ‪ ( 2 – opt )mutation‬ﻛﻴﻔﻴﺖ اﻟﮕﻮرﻳﺘﻢ را اﻓﺰاﻳﺶ ﻣﻲ دﻫﺪ.‬ ‫5,4. ﻧﺘﻴﺠﻪ ﮔﻴﺮي‬ ‫ﺑﻪ ﻧﻈﺮ ﻣﻲ رﺳﺪﻛﻪ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ ﻳﻚ ﺟﻮاب ﺧﻮب ﺑﺮاي ‪ TSP‬ﭘﻴﺪا ﻣﻲ ﻛﻨﺪ. در ﺣﺎﻟﻴﻜﻪ ﻛﺎراﻳﻲ اﻟﮕﻮرﻳﺘﻢ ﺑﻪ ﻣﻴﺰان زﻳﺎدي ﺑﻪ ﻧﺤﻮه‬ ‫‪ encode‬ﻛﺮدن و ﻧﻴﺰ ‪ crossover‬و ‪ mutation‬ﺑﺴﺘﮕﻲ دارد. ﺑﻪ ﻧﻈﺮ ﻣـﻲ رﺳـﺪ ﻛـﻪ اﺳـﺘﻔﺎده از ﻧﻤـﺎﻳﺶ ‪ Matrix‬و ‪Heuristic‬‬ ‫‪ Information‬ﺑﻬﺘﺮ از ﺑﻘﻴﻪ روﺷﻬﺎ ﻛﺎر ﻣﻲ ﻛﻨﺪ و ﺟﻮاب ﻗﺎﺑﻞ ﻗﺒﻮﻟﻲ را ﺑﺮﻣﻲ ﮔﺮداﻧﺪ ﻛﻪ ﺑﻪ ﺟﻮاب واﻗﻌﻲ ﺑﺴﻴﺎر ﻧﺰدﻳﻚ اﺳﺖ.‬ ‫اﺣﺘﻤﺎﻻ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ روش ﺑﻬﺘﺮي ﻧﺴﺒﺖ ﺑﻪ دﻳﮕﺮ روﺷﻬﺎ ﺑﺮاي ‪ TSP‬اﺳﺖ وﻟﻲ ﻫﻨﻮز ﺟـﻮاب ﺑﻬﺘـﺮي ﻧـﺴﺒﺖ ﺑـﻪ دﻳﮕـﺮ روﺷـﻬﺎي‬ ‫ﻣﻮﺟﻮد ﭘﻴﺪا ﻧﻜﺮده اﺳﺖ. وﻟﻲ اﻳﻦ را ﻧﻴﺰ ﻣﻲ داﻧﻴﻢ ﻛﻪ ﺑﻬﺘﺮﻳﻦ اﻟﮕﻮرﻳﺘﻤﻬﺎي ﻏﻴﺮ ژﻧﺘﻴﻜﻲ اراﺋﻪ ﺷـﺪه ﺑـﺮاي ‪ TSP‬در ﺣﺎﻟﺘﻬـﺎي ﺧﺎﺻـﻲ از‬ ‫اﻟﮕﻮرﻳﺘﻤﻬﺎي ژﻧﺘﻴﻚ اراﺋـﻪ ﺷـﺪه اﺳـﺖ. ﭘـﺲ ﻣـﺎ اﻣﻴـﺪوارﻳﻢ ﻛـﻪ ﺑـﺎ اراﺋـﻪ روش ﻫـﺎي ﺑﻬﺘـﺮي ﺑـﺮاي ‪ Encoding‬و ‪ Crossover‬و‬ ‫‪ Mutation‬راه ﺣﻠﻬﺎي ﻣﻨﺎﺳﺐ ﺗﺮي ﺑﺮاي ‪ Traveling Salesman Problem‬اراﺋﻪ ﺷﻮد.‬
  • 35. ‫ﻣﻨﺎﺑﻊ‬ 1 Bryant Kylie ,Genetic Algorithms and the Traveling Salesman Problem, 2001 thesis ,Department of Mathematics, Harvey Mudd college 2 Vacic ,Vladimir and M. Sobh, Tarek, Ph.D. : Vehicle Routing Problem with Time Windows Department of Computer Science and Engineering University of Bridgeport, Bridgeport, CT 06604, USA August 2002 3 In – Kim, Byung , Shim, Jae-Ik and Zhang, Min : Comparison of TSP algorithms 4 V. Snyder, Lawrence and S. Daskin, Mark : A Random-Key Genetic Algorithm for the Generalized Traveling Salesman Problem Department of Industrial Engineering and Management Sciences, Northwestern University 5 www.mgtsolution.com/DataLibrary/Articles 6 www.ccwmagazine.com/Issues/Issue10/sepehr/GEN.ASP 7 www.cs.nott.ac.uk/~gxk/courses/g5baim/004ga/GA09.html