Download as pdf or txt
Download as pdf or txt
You are on page 1of 25

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

‫ﻮ ﻢ‬
Genetic Algorithm

Dr. Mostafa Zandieh


Shahid Beheshti University

1
2
‫‪GA‬‬ ‫ﭘﻴﺸﻴﻨﻪ‬
‫‪ ‬اﻳﺪه اﺻﻠﻲ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ )‪ (GA‬ﻣﺒﺘﻨﻲ ﺑﺮ ﻧﻈﺮﻳﻪ ﺗﻜﺎﻣﻠﻲ داروﻳﻦ‪ (1859) 1‬اﺳﺖ‪.‬‬

‫‪ ‬ﻧﻈﺮﻳﻪ ﺗﻜﺎﻣﻠﻲ داروﻳﻦ‪:‬‬


‫آن دﺳﺘﻪ از ﺻﻔﺎت ﻃﺒﻴﻌﻲ ﻛﻪ ﺑﺎ ﻃﺒﻴﻌﺖ ﺳﺎزﮔﺎري ﺑﻴﺸﺘﺮي دارﻧﺪ‪ .‬ﺷﺎﻧﺲ ﺑﻘﺎي ﺑﻴﺸﺘﺮي دارﻧﺪ‪.‬‬ ‫‪‬‬

‫ﻧﻈﺮﻳﻪ ﺗﻜﺎﻣﻠﻲ داروﻳﻦ ﺑﺼﻮرت ﺗﺤﻠﻴﻠﻲ اﺛﺒﺎت ﻧﺸﺪه اﺳﺖ اﻣﺎ از ﻧﻈﺮ ﺗﺠﺮﺑﻲ ﺗﺎﺋﻴﺪ ﺷﺪه اﺳﺖ‪.‬‬ ‫‪‬‬

‫‪ ‬ﺑﻌﺒﺎرﺗﻲ اﻓﺮاد ﻳﻚ ﺟﺎﻣﻌﻪ )اﻧﺴﺎﻧﻲ‪/‬ﺣﻴﻮاﻧﻲ‪ (.../‬از ﻃﺮﻳﻖ ﺟﻔﺘﮕﻴﺮي ﻧﺴﻞ ﺟﺪﻳﺪي اﻳﺠﺎد ﻣﻲ ﻛﻨﻨﺪ‪.‬‬
‫دارﻧﺪ‪.‬‬
‫ﺳﺎزﮔﺎري ﺑﻴﺸﺘﺮي ﺎﺑﺎ ﻃﻃﺒﻴﻌﺖ ا‬
‫ﻧﺴﻞ ﺟﺪﻳﺪ‪ ،‬ﺎ ﮔﺎ‬
‫اﻓﺮاد ﻞ‬
‫ﻣﻮارد اﻓ ا‬
‫اﻏﻠﺐ ا‬
‫در اﻏﻠ‬ ‫‪‬‬

‫در ﻣﻮارد اﺳﺘﺜﻨﺎﻳﻲ ﻣﻤﻜﻦ ﺟﻬﺸﻬﺎﻳﻲ‪ 2‬در ﺧﺼﻮﺻﻴﺎت ﻳﻚ ﻓﺮد رخ ﻣﻲ دﻫﺪ‪.‬‬ ‫‪‬‬
‫‪ ‬اﻏﻠﺐ اﻓﺮاد ﺟﻬﺶ ﻳﺎﻓﺘﻪ ﺑﺎ ﻃﺒﻴﻌﺖ ﻧﺎﺳﺎزﮔﺎرﻧﺪ‪.‬‬
‫‪ ‬در ﻣﻮارد ﻧﺎدر ﺳﺎزﮔﺎري ﺑﺴﻴﺎر ﺑﺎﻻﻳﻲ دارﻧﺪ‪.‬‬
‫‪1- Darwin’s Evolutionary Theory‬‬ ‫‪2- Mutation‬‬

‫‪3‬‬
‫‪GA‬‬ ‫ﭘﻴﺸﻴﻨﻪ‬
‫‪ ‬ﺑﻄﻮر ﺧﻼﺻﻪ در ﻫﺮ ﻧﺴﻞ‪ ،‬ﺷﺎﻧﺲ اﻧﺘﻘﺎل ﺧﺼﻮﺻﻴﺎت ﮔﻮﻧﻪ ﻫﺎي ﺑﻬﺘﺮ ﺑﻪ ﻧﺴﻞ ﺑﻌﺪ ﺑﻴﺸﺘﺮ اﺳﺖ و‬
‫ﮔﻮﻧﻪ ﻫﺎي ﺑﺎ ﺧﺼﻮﺻﻴﺎت ﺑﺪ ﺑﺘﺪرﻳﺞ از ﺑﻴﻦ ﻣﻲ روﻧﺪ‪.‬‬
‫در ﻧﺘﻴﺠﻪ ﺑﺎ ﮔﺬﺷﺖ زﻣﺎن ﺧﺼﻮﺻﻴﺎت ﮔﻮﻧﻪ ﻫﺎ ﺗﻜﺎﻣﻞ ﻣﻲ ﻳﺎﺑﻨﺪ‪.‬‬ ‫‪‬‬

‫اﻳﻦ ﻓﺮآﻳﻨﺪ ﺗﻜﺎﻣﻠﻲ‪ ،‬ﻳﻚ ﻓﺮآﻳﻨﺪ ﺗﺼﺎدﻓﻲ و ﻫﻤﮕﺮا اﺳﺖ‪.‬‬ ‫‪‬‬

‫‪ ‬در واﻗﻊ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‪ ،‬ﺷﺒﻴﻪ ﺳﺎزي اﻳﻦ ﻓﺮآﻳﻨﺪ ﺗﻜﺎﻣﻞ ﺑﻴﻮﻟﻮژﻳﻜﻲ‪ 1‬ﺑﺮاي ﺑﻬﻴﻨﻪ ﺳﺎزي‬
‫ﮔﻠﺪﺑﺮگ )‪.((1970‬‬
‫اﺳﺖ)ﻫﻠﻨﺪ‪ ،‬دﻳﺠﻮﻧﮓ و ﮔﻠﺪﺑ گ‬
‫اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ در ﻃﺒﻘﻪ روﺷﻬﺎي ﺟﺴﺘﺠﻮي ﺗﺼﺎدﻓﻲ ﻫﺪاﻳﺖ ﺷﺪه‪ 2‬ﻗﺮار دارد‪.‬‬ ‫‪‬‬

‫اﻳﻦ اﻟﮕﻮرﻳﺘﻢ ﺑﺨﺼﻮص ﺑﺮاي ﺑﻬﻴﻨﻪ ﺳﺎزي ﻣﺴﺎﺋﻞ ﭘﻴﭽﻴﺪه ﺑﺎ ﻓﻀﺎي ﺟﺴﺘﺠﻮي ﻧﺎﺷﻨﺎﺧﺘﻪ ﻣﻨﺎﺳﺐ اﺳﺖ‪.‬‬ ‫‪‬‬

‫‪1- Biological Evolutionary Process‬‬ ‫‪2- Guided Random Search Technique‬‬

‫ﻃﺒﻘﻪ ﺑﻨﺪي روﺷﻬﺎي ﺟﺴﺘﺠﻮ‬


‫‪Search Techniques‬‬

‫‪Calculus Base‬‬ ‫‪Guided random search‬‬ ‫‪Enumerative‬‬


‫‪Techniques‬‬ ‫‪Techniques‬‬ ‫‪Techniques‬‬

‫‪Fibonacci‬‬ ‫‪Sort‬‬ ‫‪DP‬‬ ‫‪DFS‬‬ ‫‪BFS‬‬

‫‪Hill Climbing‬‬
‫‪Cli bi‬‬ ‫‪T b S‬‬
‫‪Tabu‬‬ ‫‪Search‬‬
‫‪h‬‬ ‫‪Simulated‬‬ ‫‪Evolutionary‬‬
‫‪Annealing‬‬ ‫‪Algorithms‬‬

‫‪Genetic‬‬ ‫‪Genetic‬‬
‫‪Programming‬‬ ‫‪Algorithms‬‬

‫‪4‬‬
‫اﺟﺰاي ﻳﻚ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬
‫ﺟﻮاب‪1‬‬ ‫‪ ‬روﺷﻲ ﺑﺮاي ﻧﻤﺎﻳﺶ‬
‫ﻛﺪﮔﺬاري ﺟﻮاﺑﻬﺎ در ﻗﺎﻟﺐ ﻳﻚ رﺷﺘﻪ )ﺑﺮدار‪ /‬ﻣﺎﺗﺮﻳﺲ( ﺑﻪ ﻋﻨﻮان ﻛﺮوﻣﻮزوم‪ 2‬ﺷﻨﺎﺧﺘﻪ ﻣﻲ ﺷﻮد‪.‬‬ ‫‪‬‬

‫ﻣﺠﻤﻮﻋﻪ اي از اﻳﻦ ﻛﺮوﻣﻮزوﻣﻬﺎ در ﻫﺮ ﻧﺴﻞ اﻟﮕﻮرﻳﺘﻢ را ﻳﻚ ﺟﻤﻌﻴﺖ ﻣﻲ ﻧﺎﻣﻨﺪ‪.‬‬ ‫‪‬‬

‫‪ ‬ﺗﺎﺑﻌﻲ ﺑﺮاي ارزﻳﺎﺑﻲ ﺟﻮاﺑﻬﺎ‬


‫ﻣﻴﺰان ﺳﺎزﮔﺎري ﻛﺮوﻣﻮزوﻣﻬﺎ ﺑﺎ ﻣﺤﻴﻂ ﺗﻮﺳﻂ ﺗﺎﺑﻊ ﺑﺮازﻧﺪﮔﻲ‪ 3‬ارزﻳﺎﺑﻲ ﻣﻲ ﺷﻮد‪.‬‬ ‫‪‬‬

‫ﻣﺤﺎﺳﺒﻪ ﻣﻲ ﻛﻨﻨﺪ‪.‬‬
‫ﺳﺎزي ﺎ ﻪ‬
‫ﺑﻬﻴﻨﻪ ﺎزي‬
‫ﻣﺴﺎﻟﻪ ﻨﻪ‬
‫ﺑﻪ ﺗﺎﺗﺎﺑﻊ ﻫﺪف ﺎﻟﻪ‬
‫ﺗﻮﺟﻪ ﻪ‬
‫را ﺎﺑﺎ ﺗ ﻪ‬
‫ﺑﺮازﻧﺪﮔﻲ ا‬
‫ﺗﺎﺗﺎﺑﻊ ازﻧﺪﮔ‬ ‫‪‬‬
‫اﻧﺘﺨﺎب‪4‬‬ ‫‪ ‬اﺳﺘﺮاﺗﮋي‬
‫در ﻫﺮ ﻧﺴﻞ ﺑﻪ ﻛﺮوﻣﻮزوﻣﻬﺎي ﺑﺮﺗﺮ‪ ،‬ﺑﺎﻳﺪ ﺷﺎﻧﺲ ﺑﻴﺸﺘﺮي ﺑﺮاي زاد و وﻟﺪ داده ﺷﻮد‪.‬‬ ‫‪‬‬

‫‪1- Representation Scheme 2- Chromosome 3- Fitness Function 4- Selection Strategy‬‬

‫اﺟﺰاي ﻳﻚ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬


‫اﺳﺘﺮاﺗﮋي اﻧﺘﺨﺎب ﻣﻨﺎﺳﺐ ﻣﻲ ﺗﻮاﻧﺪ ﺗﻤﺮﻛﺰدﻫﻲ‪ 1‬و ﺗﻨﻮع ﺑﺨﺸﻲ‪ 2‬را در ﻫﺮ ﻧﺴﻞ از ﺟﻮاﺑﻬﺎ ﺗﺎﻣﻴﻦ ﻛﻨﺪ‪.‬‬ ‫‪‬‬

‫‪ ‬ﻋﻤﻠﮕﺮﻫﺎي ژﻧﺘﻴﻜﻲ‬
‫ﻓﺮآﻳﻨﺪ زاد و وﻟﺪ و اﻳﺠﺎد ﻧﺴﻞ ﺟﺪﻳﺪ ﺟﻮاﺑﻬﺎ ﺑﺎ اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮﻫﺎي ژﻧﺘﻴﻜﻲ ﺳﻪ ﮔﺎﻧﻪ )ﺗﻘﺎﻃﻊ‪،3‬‬ ‫‪‬‬
‫و ﻛﭙﻲ( اﻧﺠﺎم ﻣﻲ ﺷﻮد‪.‬‬ ‫ﺟﻬﺶ‪4‬‬

‫ﭘﺎراﻣﺘﺮ‪5‬‬ ‫‪ ‬ﺗﻨﻈﻴﻢ‬
‫ﭘﺎراﻣﺘﺮﻫﺎي اﻟﮕﻮرﻳﺘﻢ دارد‪.‬‬
‫ﻣﻘﺎدﻳﺮ ﭘﺎراﻣﺘ ﻫﺎي‬
‫ﺗﺮﻛﻴﺐ ﻣﻘﺎدﻳ‬
‫ﺑﺴﺘﮕﻲ ﺑﻪ ﺗ ﻛﻴﺐ‬
‫ﻋﻤﻠﻜﺮد اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‪ ،‬ﺑﺴﺘﮕ‬
‫ﻋﻤﻠﻜ د‬ ‫‪‬‬

‫ﺗﺮﻛﻴﺐ ﻣﻘﺎدﻳﺮ ﭘﺎراﻣﺘﺮﻫﺎ روي ﭘﺎﻳﺪاري اﻟﮕﻮرﻳﺘﻢ‪ ،‬ﻛﻴﻔﻴﺖ ﺟﻮاب و زﻣﺎن ﺣﻞ ﺗﺎﺛﻴﺮﮔﺬار اﺳﺖ‪.‬‬ ‫‪‬‬

‫ﭘﺎراﻣﺘﺮﻫﺎي اﻟﮕﻮرﻳﺘﻢ را ﺑﺎ اﺳﺘﻔﺎده از روﺷﻬﺎي ﻃﺮاﺣﻲ آزﻣﺎﻳﺸﺎت ﺗﻨﻈﻴﻢ ﻣﻲ ﻛﻨﻨﺪ‪.‬‬ ‫‪‬‬

‫‪1- Intensification 2- Diversification‬‬ ‫‪3- Crossover‬‬ ‫‪4- Mutation 5- Parameter Tuning‬‬

‫‪5‬‬
‫ﻣﻌﺎدل‪1‬‬ ‫اﻟﻔﺎظ‬
‫ژﻧﺘﻴﻚ‬
‫اﻟﮕﻮرﻳﺘﻢ ژ ﻴ‬
‫ﻮرﻳ ﻢ‬ ‫ﻃﺒﻴﻌﺖ‬
‫ﺒﻴ‬
‫ﻣﺴﺎﻟﻪ ﺑﻬﻴﻨﻪ ﺳﺎزي‬ ‫ﻣﺤﻴﻂ‬
‫ﺟﻮاﺑﻬﺎي ﻣﻮﺟﻪ‬ ‫اﻓﺮادي ﻛﻪ درﻣﺤﻴﻂ زﻧﺪﮔﻲ ﻣﻲ ﻛﻨﻨﺪ‬
‫ﻛﻴﻔﻴﺖ‪ /‬ﺑﺮازﻧﺪﮔﻲ ﺟﻮاب‬ ‫درﺟﻪ ﺳﺎزﮔﺎري ﻫﺮ ﻓﺮد ﺑﺎ ﻣﺤﻴﻂ اﻃﺮاف‬
‫ﻣﺠﻤﻮﻋﻪ اي از ﺟﻮاﺑﻬﺎي ﻣﻮﺟﻪ‬ ‫ﺟﻤﻌﻴﺘﻲ از اﻓﺮاد‬
‫ژﻧﺘﻴﻜﻲ‬
‫ﻋﻤﻠﮕﺮﻫﺎي ژﻧﺘ ﻜ‬
‫ﺗﻜﺎﻣﻞ ﻋ ﻠﮕ ﻫﺎي‬
‫ﻓﺮآﻳﻨﺪ ﺗﻜﺎ ﻞ‬
‫ﺟﻬﺶ ددر ﻓ آ ﻨﺪ‬
‫ﺗﺮﻛﻴﺐ و ﺶ‬
‫اﻧﺘﺨﺎب‪ ،‬ﺗ ﻛ‬
‫اﻧﺘﺨﺎ‬
‫ﺑﻜﺎرﮔﻴﺮي ﻋﻤﻠﮕﺮﻫﺎي ژﻧﺘﻴﻜﻲ ﺑﻄﻮر ﻣﻜﺮر‬ ‫ﺗﻜﺎﻣﻞ ﺟﻤﻌﻴﺖ در راﺳﺘﺎي ﺳﺎزﮔﺎري‬
‫روي ﻣﺠﻤﻮﻋﻪ اي از ﺟﻮاﺑﻬﺎي ﻣﻮﺟﻪ‬ ‫ﺑﻴﺸﺘﺮ ﺑﺎ ﻣﺤﻴﻂ‬

‫‪1- Metaphor‬‬

‫ﺳﺎﺧﺘﺎر ﻋﻤﻮﻣﻲ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬


‫‪Generation 0‬‬
‫‪Encoding‬‬ ‫‪Roulette Wheel‬‬
‫‪Initial‬‬ ‫‪1100101010‬‬ ‫‪Fitness‬‬ ‫‪Purely‬‬
‫‪y Random‬‬
‫‪Selection‬‬
‫‪solutions‬‬
‫‪l ti‬‬ ‫‪1011101110‬‬ ‫‪E l‬‬
‫‪Evaluation‬‬
‫‪i‬‬
‫‪Elitism‬‬
‫‪…………..‬‬
‫‪0011011001‬‬ ‫‪1100101010‬‬

‫‪Start‬‬ ‫‪1100110001‬‬ ‫‪1011101110‬‬


‫‪Crossover‬‬
‫‪1100101110‬‬
‫‪1011101010‬‬
‫‪Next Generation‬‬
‫‪No‬‬ ‫‪1100101110‬‬
‫‪0011011001‬‬
‫‪1011101010‬‬ ‫‪Mutation‬‬
‫‪Termination‬‬ ‫‪Fitness‬‬ ‫‪0011001001‬‬
‫‪…………..‬‬
‫?‪Condition‬‬ ‫‪Evaluation‬‬
‫‪0011001001‬‬

‫‪Yes‬‬ ‫‪0011011001‬‬ ‫‪0011011001‬‬

‫‪Offspring‬‬ ‫‪Copy‬‬
‫‪Best solution‬‬ ‫‪End‬‬ ‫‪0011011001‬‬
‫‪Decoding‬‬

‫‪6‬‬
‫ﺷﺒﻪ ﻛﺪ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬
[Initialization]
[Initialize Parameters] (PopSize, Numgen, Pc, Pm, StopCriteria,..)
[Initialize Population] Generate PopSize chromosomes, randomly.
[Evaluation] Evaluate the fitness of each chromosome.
[New Generation]
Repeat
[Selection] Select Parents based on selection strategy.
[Crossover]Produce (PopSize * Pc) of offspring with Crossover.
[Mutation] Produce (PopSize * Pm) of offspring with Mutation.
[Reproduction] Copy remaining chromosomes based on elitism.
[Replacing] Place new offspring in the new population.
[Evaluation] Evaluate the fitness of each chromosome.
Until StopCriteria is met
[End] Return the best solution in final population.

‫روش ﻧﻤﺎﻳﺶ ﺟﻮاب‬


.‫ )ﻓﻀﺎي رﻣﺰ ﻳﺎ ﻛﺮوﻣﻮزوم( ﻋﻤﻞ ﻣﻲ ﻛﻨﻨﺪ‬1‫ ﻋﻤﻠﮕﺮﻫﺎي ژﻧﺘﻴﻚ روي ﻓﻀﺎي ژﺗﻮﺗﻴﭗ‬

.‫ )ﻓﻀﺎي ﺟﻮاب( اﻧﺠﺎم ﻣﻲ ﺷﻮد‬2‫ از ﻃﺮﻓﻲ ارزﻳﺎﺑﻲ و اﻧﺘﺨﺎب روي ﻓﻀﺎي ﻓﻨﻮﺗﻴﭗ‬

‫ﻓﻀﺎي ژﻧﻮﺗﻴﭗ‬
‫ﻓﻀﺎي ﻓﻨﻮﺗﻴﭗ‬
3‫رﻣﺰﮔﺬاري‬
‫ﺰﮔﺬا‬
R0c01cd

4‫رﻣﺰﮔﺸﺎﻳﻲ‬
B0c01cd

G0c01cd

1- Phenotype Space 2- Genotype Space 3- Encoding 4- Decoding

7
‫ﻧﻜﺎﺗﻲ درﺑﺎره ﻧﮕﺎﺷﺖ ﺑﻴﻦ ﻓﻨﻮﺗﻴﭗ و ژﻧﻮﺗﻴﭗ‬
‫‪ ‬ﻣﻮﺟﻪ ﺑﻮدن‪ 1‬ﻛﺮوﻣﻮزوم‬
‫واﻗﻊ ﺷﺪه ااﺳﺖ ﺎﻳﺎ ؟‬
‫ﻧﻪ؟‬ ‫رﻣﺰﮔﺸﺎﻳﻲ ﺷﺪه در ﺎﻧﺎﺣﻴﻪ ﻣﻮﺟﻪ ا‬
‫ﻛﻛﺮوﻣﻮزوم ﮔ ﺎ‬ ‫‪‬‬
‫ﻛﺮوﻣﻮزوم‬ ‫ﺑﻮدن‪2‬‬ ‫‪ ‬ﻗﺎﻧﻮﻧﻲ‬
‫ﻛﺮوﻣﻮزوم ﺑﻴﺎﻧﮕﺮ ﻳﻚ ﺟﻮاب ﺑﺮاي ﻣﺴﺎﻟﻪ داده ﺷﺪه اﺳﺖ ﻳﺎ ﻧﻪ؟‬ ‫‪‬‬
‫ﻛﺮوﻣﻮزوم‬ ‫ﺑﻮدن‪3‬‬ ‫‪ ‬ﻣﻨﺤﺼﺮ ﺑﻔﺮد‬
‫ﺑﻴﻦ ﻓﻀﺎي ﻓﻨﻮﺗﻴﭗ و ﻓﻀﺎي ژﻧﻮﺗﻴﭗ‪ ،‬راﺑﻄﻪ ﻳﻚ‪-‬ﺑﻪ‪-‬ﻳﻚ وﺟﻮد دارد ﻳﺎ ﻧﻪ؟‬ ‫‪‬‬

‫ﻏﻴﺮﻗﺎﻧﻮﻧﻲ‬
‫ﻏ ﻗﺎﻧﻮﻧ‬
‫ﻓﻀﺎي ﻓﻨﻮﺗﻴﭗ‬
‫ﻓﻀﺎي ژﻧﻮﺗﻴﭗ‬ ‫ﻧﺎﻣﻮﺟﻪ‬
‫ﻓﻀﺎي ﻣﻮﺟﻪ‬

‫ﻣﻮﺟﻪ‬
‫‪1- Feasibility‬‬ ‫‪2- Legality‬‬ ‫‪3- Uniqueness‬‬

‫ﻧﺎﻣﻮﺟﻪ ﺑﻮدن ﺟﻮاب‬


‫‪ ‬ﻧﺎﻣﻮﺟﻪ ﺑﻮدن‪ 1‬ﺟﻮاب ﻧﺎﺷﻲ از ﻧﻘﺾ ﻣﺤﺪودﻳﺘﻬﺎي ﻣﺴﺎﻟﻪ ﺑﻬﻴﻨﻪ ﺳﺎزي اﺳﺖ‪.‬‬
‫روﺷﻬﺎي ﻣﺨﺘﻠﻔﻲ ﺑﺮاي ﻟﺤﺎظ ﻧﻤﻮدن ﻣﺤﺪودﻳﺘﻬﺎي‪ 2‬ﻣﺴﺎﻟﻪ ﺑﻬﻴﻨﻪ ﺳﺎزي وﺟﻮد دارد‪.‬‬ ‫‪‬‬

‫ﺑﺮاي ﻣﺴﺎﺋﻞ ﺑﻬﻴﻨﻪ ﺳﺎزي ﺑﺎ ﻣﺤﺪودﻳﺘﻬﺎي ﺑﻔﺮم ﻣﺴﺎوي ﻳﺎ ﻧﺎﻣﺴﺎوي ﻣﻲ ﺗﻮان روش ﺟﺮﻳﻤﻪ دﻫﻲ‪ 3‬را‬ ‫‪‬‬
‫ﺑﺮاي ﺟﻮاﺑﻬﺎي ﻧﺎﻣﻮﺟﻪ ﺑﻜﺎر ﮔﺮﻓﺖ‪.‬‬

‫ﻣﻌﻤﻮﻻ ﺑﺎ روش ﺟﺮﻳﻤﻪ دﻫﻲ‪ ،‬ﺟﻮاﺑﻬﺎ ﺑﻪ ﺳﻤﺖ ﻣﺮز ﺑﻴﻦ ﻓﻀﺎي ﻣﻮﺟﻪ و ﻧﺎﻣﻮﺟﻪ ﻫﺪاﻳﺖ ﻣﻲ ﺷﻮﻧﺪ‪.‬‬ ‫‪‬‬

‫‪1- Infeasibility‬‬ ‫‪2- Constraint Handling‬‬ ‫‪3- Penalty method‬‬

‫‪8‬‬
‫ﻏﻴﺮﻗﺎﻧﻮﻧﻲ ﺑﻮدن ﺟﻮاب‬
‫‪ ‬ﻏﻴﺮﻗﺎﻧﻮﻧﻲ ﺑﻮدن‪ 1‬ﺟﻮاب ﻧﺎﺷﻲ از ﻃﺒﻴﻌﺖ روش رﻣﺰﮔﺬاري اﺳﺖ‪.‬‬
‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ روﺷﻬﺎي رﻣﺰﮔﺬاري واﺑﺴﺘﻪ ﺑﻪ ﻣﺴﺎﻟﻪ اﺳﺖ‪ ،‬از ﻃﺮﻓﻲ ﻋﻤﻠﮕﺮﻫﺎي ژﻧﺘﻴﻜﻲ ﻋﻤﻮﻣﻲ‬ ‫‪‬‬
‫ﻣﻴﺒﺎﺷﻨﺪ ﻟﺬا در اﻛﺜﺮ ﻣﻮاﻗﻊ ﭘﺲ از ﺑﻜﺎرﮔﻴﺮي ﻋﻤﻠﮕﺮﻫﺎ ﺟﻮاب از ﻓﺮم ﻗﺎﻧﻮﻧﻲ ﺧﺎرج ﻣﻲ ﺷﻮد‪.‬‬

‫در اﻳﻦ ﻣﻮارد ﻣﻲ ﺗﻮان ﺑﺎ ﺑﻜﺎرﮔﻴﺮي اﺳﺘﺮاﺗﮋي ﺗﻌﻤﻴﺮ‪ 2‬ﺟﻮاﺑﻬﺎي ﻏﻴﺮﻗﺎﻧﻮﻧﻲ را اﺻﻼح ﻛﺮد‪.‬‬ ‫‪‬‬

‫‪1- Illegality‬‬ ‫‪2- Repairing Strategy‬‬

‫ﺑﺮﺧﻲ ﻣﻼﺣﻈﺎت دﻳﮕﺮ در ﻣﻮرد روش ﻧﻤﺎﻳﺶ ﺟﻮاب‬

‫‪ ‬روش رﻣﺰﮔﺬاري روي ﻋﻤﻠﻜﺮد‪ 1‬اﻟﮕﻮرﻳﺘﻢ ﺗﺎﺛﻴﺮﮔﺬار اﺳﺖ‪.‬‬


‫ﻛﻴﻔﻴﺖ ﺟﻮاﺑﻬﺎي اﻟﮕﻮرﻳﺘﻢ )اﺛﺮﺑﺨﺸﻲ(‬ ‫‪‬‬

‫وﺳﻌﺖ ﻧﺎﺣﻴﻪ ﺟﺴﺘﺠﻮ‪.‬‬ ‫‪‬‬


‫ﻣﻨﻄﻘﻲ ﻧﻤﻮدن روش ﺟﺴﺘﺠﻮ )ﻣﺘﻨﺎﺳﺐ ﺳﺎزي ﭼﮕﺎﻟﻲ ﺟﺴﺘﺠﻮ ﺑﺎ ﻫﺪف ﺑﻬﻴﻨﻪ ﺳﺎزي(‪.‬‬ ‫‪‬‬

‫ﻛﺎﻫﺶ زﻣﺎن ﻣﺤﺎﺳﺒﺎﺗﻲ )ﻛﺎراﻳﻲ(‪.‬‬ ‫‪‬‬

‫روﺷﻲ ﻛﻪ ﻣﺤﺪودﻳﺘﻬﺎ را ﻟﺤﺎظ ﻧﻤﺎﻳﺪ‪.‬‬


‫اﺳﺘﻔﺎده از روﺷ‬ ‫‪‬‬

‫اﺳﺘﻔﺎده از روﺷﻲ ﻛﻪ ﭘﺲ از ﺑﻜﺎرﮔﻴﺮي ﻋﻤﻠﮕﺮﻫﺎي ژﻧﺘﻴﻜﻲ ﻧﻴﺎز ﺑﻪ ﺗﻌﻤﻴﺮ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬ ‫‪‬‬

‫‪1- Performance‬‬

‫‪9‬‬
‫روﺷﻬﺎي ﻣﺨﺘﻠﻒ رﻣﺰﮔﺬاري‬
‫‪ ‬روش رﻣﺰﮔﺬاري ﭼﻨﺪ وﺿﻌﻴﺘﻲ‬

‫‪0, 1‬‬ ‫وﺿﻌﻴﺘﻲ‪1‬‬ ‫دو‬ ‫‪‬‬

‫‪0, 1, 2‬‬ ‫وﺿﻌﻴﺘﻲ‪2‬‬ ‫ﺳﻪ‬ ‫‪‬‬

‫‪0, 1, 2, 3‬‬ ‫وﺿﻌﻴﺘﻲ‪3‬‬ ‫ﭼﻬﺎر‬ ‫‪‬‬


‫‪....‬‬ ‫‪‬‬

‫‪0, 1,..., 9, A, B,..., F ‬‬ ‫وﺿﻌﻴﺘﻲ‪4‬‬ ‫ﺷﺎﻧﺰده‬ ‫‪‬‬

‫‪ ‬روش رﻣﺰﮔﺬاري ﭼﻨﺪ وﺿﻌﻴﺘﻲ ﻣﺘﻨﻲ‬


‫‪ A, B‬‬
‫‪ A, B,..., Z ‬‬
‫‪( Back ), ( Riht ), ( Forward ), ( Left )‬‬
‫‪1- Binary‬‬ ‫‪2- Ternary‬‬ ‫‪3- Quarternary‬‬ ‫‪2- Hexa-Decimal‬‬

‫‪1,..., 9, 10, 11,12,...‬‬ ‫‪ ‬روش رﻣﺰﮔﺬاري ﺑﺎ ﻋﺪد ﺻﺤﻴﺢ )ﺗﺮﺗﻴﺒﻲ‪(1‬‬

‫‪1.12,..., 2.46, 3.01, 2.19,...‬‬ ‫‪‬‬


‫ﺣﻘﻴﻘﻲ‪2‬‬ ‫روش رﻣﺰﮔﺬاري ﺑﺎ ﻋﺪد‬
‫درﺧﺘﻲ‪3‬‬ ‫‪ ‬روش رﻣﺰﮔﺬاري‬

‫‪1- Permutation‬‬ ‫‪2- Real‬‬ ‫‪3- Tree‬‬

‫‪10‬‬
‫ﮔﺮد‪1‬‬ ‫ﻣﺜﺎل‪ :‬ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره‬
‫ﺑﺎﻳﻨﺮي‪1‬‬ ‫‪ ‬روش اول‪:‬‬
‫ﻫﺮ ﺟﻮاب ﺑﺎ ﻳﻚ ﻣﺎﺗﺮﻳﺲ رﻣﺰﮔﺬاري ﻣﻲ ﺷﻮد‪.‬‬ ‫‪‬‬

‫ﺑﻪ راﺣﺘﻲ ﺟﻮاب از ﻓﺮم ﻗﺎﻧﻮﻧﻲ ﺧﺎرج ﻣﻲ ﺷﻮد‪.‬‬ ‫‪‬‬

‫ژﻧﻮﺗﻴﭗ‬ ‫ﻓﻨﻮﺗﻴﭗ‬
‫‪1 2 3 4 5‬‬ ‫‪2‬‬ ‫‪4‬‬
‫‪1 0 1 0‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪2 0 0 0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬
‫‪3 1 0 0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪5‬‬
‫‪4 0 0 0‬‬ ‫‪0‬‬ ‫‪1‬‬
‫‪5 0 0 1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪3‬‬

‫‪1- Binary‬‬

‫ﻣﺜﺎل‪ :‬ﻣﺴﺎﻟﻪ ﻓﺮوﺷﻨﺪه دوره ﮔﺮد‬


‫ﺗﺮﺗﻴﺒﻲ‪1‬‬ ‫‪ ‬روش دوم‪:‬‬
‫ﻫﺮ ﺟﻮاب ﺑﺎ ﻳﻚ ﺟﺎﻳﮕﺸﺖ از ﺷﻤﺎره ﺷﻬﺮﻫﺎ رﻣﺰﮔﺬاري ﻣﻲ ﺷﻮد‪.‬‬ ‫‪‬‬

‫ﺑﻪ ازاي ﻫﺮ ﺟﻮاب در ﻓﻀﺎي ﻓﻨﻮﺗﻴﭗ‪ ،‬ﭼﻨﺪ رﻣﺰ ﺗﺮﺗﻴﺒﻲ ﻣﺘﻔﺎوت در ﻓﻀﺎي ژﻧﻮﺗﻴﭗ وﺟﻮد دارد‪.‬‬ ‫‪‬‬

‫ژﻧﻮﺗﻴﭗ‬ ‫ﻓﻨﻮﺗﻴﭗ‬

‫‪1 2 4 5 3‬‬ ‫‪2‬‬ ‫‪4‬‬


‫‪2 4 5 3 1‬‬
‫‪4 5 3 1 2‬‬ ‫‪1‬‬
‫‪5‬‬
‫‪5 3 1 2 4‬‬
‫‪3 1 2 4 5‬‬ ‫‪3‬‬

‫‪1- Permutation‬‬

‫‪11‬‬
‫ﻣﺜﺎل‪ :‬ﻣﺴﺎﻟﻪ ﻣﻜﺎﻧﻴﺎﺑﻲ اﻳﺴﺘﮕﺎﻫﻬﺎي آﺗﺶ ﻧﺸﺎﻧﻲ‬
‫ژﻧﻮﺗﻴﭗ‬ ‫ﻓﻨﻮﺗﻴﭗ‬
‫‪1 0 1 0 1 0 0 0 1‬‬
‫‪1 2 3 4 5 6 7 8 9‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬

‫‪7‬‬
‫‪6‬‬
‫‪5‬‬ ‫‪8‬‬
‫‪9‬‬

‫ﭘﺸﺘﻲ‪1‬‬ ‫ﻣﺜﺎل‪ :‬ﻣﺴﺎﻟﻪ ﻛﻮﻟﻪ‬


‫ژﻧﻮﺗﻴﭗ‬ ‫ﻓﻨﻮﺗﻴﭗ‬
‫‪1 0 1 0 1 0 1‬‬ ‫‪6‬‬
‫‪1‬‬ ‫‪2‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪7‬‬
‫‪3‬‬
‫‪1 2 3 4 5 6 7‬‬

‫‪1- Knapsack Problem‬‬

‫‪12‬‬
‫ﻣﻮازي‪1‬‬ ‫ﻣﺜﺎل‪ :‬ﻣﺴﺎﻟﻪ زﻣﺎﻧﺒﻨﺪي ﻣﺎﺷﻴﻨﻬﺎي‬
‫‪ ‬روش اول‪ :‬ﺗﺮﺗﻴﺒﻲ‬
‫ﻫﺮ ﺟﻮاب ﺑﺎ ﻳﻚ ﺑﺮدار از اﻋﺪاد ﺣﻘﻴﻘﻲ رﻣﺰﮔﺬاري ﻣﻲ ﺷﻮد‪.‬‬ ‫‪‬‬

‫ژﻧﻮﺗﻴﭗ‬ ‫ﻓﻨﻮﺗﻴﭗ‬

‫‪M1‬‬
‫‪1‬‬ ‫‪3‬‬ ‫*‬ ‫‪4‬‬ ‫‪6‬‬ ‫*‬ ‫‪5‬‬ ‫‪2‬‬
‫‪J1‬‬
‫‪..‬‬ ‫‪M2‬‬
‫‪J6‬‬
‫‪M3‬‬

‫‪1- Parallel Scheduling Problem‬‬

‫ﻣﺜﺎل‪ :‬ﻣﺴﺎﻟﻪ زﻣﺎﻧﺒﻨﺪي ﻣﺎﺷﻴﻨﻬﺎي ﻣﻮازي‬


‫ﺗﺼﺎدﻓﻲ‪1‬‬ ‫‪ ‬روش دوم‪ :‬ﻛﻠﻴﺪ‬
‫ﻫﺮ ﺟﻮاب ﺑﺎ ﻳﻚ ﺑﺮدار از اﻋﺪاد ﺣﻘﻴﻘﻲ رﻣﺰﮔﺬاري ﻣﻲ ﺷﻮد‪.‬‬ ‫‪‬‬

‫ژﻧﻮﺗﻴﭗ‬ ‫ﻓﻨﻮﺗﻴﭗ‬

‫‪M1‬‬
‫‪1.34‬‬ ‫‪3.05‬‬ ‫‪2.79‬‬ ‫‪2.83‬‬ ‫‪1.11‬‬ ‫‪3.92‬‬
‫‪J1‬‬
‫‪..‬‬ ‫‪M2‬‬
‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬
‫‪J6‬‬
‫‪M3‬‬

‫‪1- Random Key‬‬

‫‪13‬‬
‫وزﻳﺮ‪1‬‬ ‫ﻣﺜﺎل ‪ :‬ﻣﺴﺎﻟﻪ ‪n‬‬
‫‪ ‬ﻣﻴﺨﻮاﻫﻴﻢ ‪ n‬وزﻳﺮ را در ﻳﻚ ﺻﻔﺤﻪ ﺷﻄﺮﻧﺞ ‪ n n‬ﺑﮕﻮﻧﻪ اي ﺑﭽﻴﻨﻴﻢ ﻛﻪ ﻫﻴﭻ دو وزﻳﺮي ﻧﺘﻮاﻧﻨﺪ ﻳﻜﺪﻳﮕﺮ‬
‫را ﺑﺰﻧﻨﺪ‪.‬‬

‫‪ ‬ﻣﺴﺎﻟﻪ ‪ n‬وزﻳﺮ را ﻣﻲ ﺗﻮان ﺑﺼﻮرت ﻳﻚ ﻣﺴﺎﻟﻪ ﺟﺎﻳﮕﺸﺘﻲ )‪ (Permutation‬ﻧﻤﺎﻳﺶ داد‪.‬‬

‫‪ ‬ﻓﺮض ﻛﻨﻴﺪ ﻛﻪ وزﻳﺮﻫﺎ ﺗﻮﺳﻂ ﺣﺮف ‪ i‬ﺷﻤﺎره ﮔﺬاري ﺷﺪه ﺑﺎﺷﻨﺪ‪.‬‬

‫‪ ‬ﻫﻤﭽﻨﻴﻦ ﻓﺮض ﻛﻨﻴﺪ ﻛﻪ وزﻳﺮ ‪ i‬در ردﻳﻒ ‪ i‬ﻗﺮار ﮔﺮﻓﺘﻪ ﺑﺎﺷﺪ‪.‬‬

‫ﺟﻮاب‬ ‫ﮔﺮﻓﺘﻪ را ﺑﺎ )‪ (i‬ﻧﻤﺎﻳﺶ دﻫ‬


‫دﻫﻴﻢ‪ .‬آﻧﮕﺎه ﻳﻚ ﺟ اب‬ ‫وزﻳﺮ ردﻳﻒ ‪ i‬در آن ﻗ ار‬
‫ﻗﺮار ﮔ ﻓﺘﻪ‬ ‫ﺳﺘﻮﻧﻲ ﻛﻪ وزﻳ‬
‫ﻛﻨﻴﺪ ﺷﻤﺎره ﺘ ﻧ‬ ‫‪ ‬ﻓ ض‬
‫ﻓﺮض ﻛﻨ ﺪ‬
‫ﺑﺼﻮرت })‪  = {(1),(2),…(n‬ﻗﺎﺑﻞ ﻧﻤﺎﻳﺶ اﺳﺖ‪.‬‬

‫‪1- n-Queen‬‬

‫ﻣﺜﺎل ‪ :‬ﻣﺴﺎﻟﻪ ‪ n‬وزﻳﺮ‬


‫ژﻧﻮﺗﻴﭗ‬ ‫ﻓﻨﻮﺗﻴﭗ‬

‫‪4 5 3 6 7 1 2‬‬ ‫‪1 2 3 4 5 6 7‬‬


‫‪1‬‬ ‫‪Q‬‬
‫‪2‬‬ ‫‪Q‬‬
‫‪3‬‬ ‫‪Q‬‬
‫‪4‬‬ ‫‪Q‬‬
‫‪5‬‬ ‫‪Q‬‬
‫‪6 Q‬‬
‫‪7‬‬ ‫‪Q‬‬
‫‪ = 4‬ﺗﻌﺪاد ﺑﺮﺧﻮردﻫﺎ‬

‫‪14‬‬
‫ﺑﺮازﻧﺪﮔﻲ‪1‬‬ ‫ﺗﺎﺑﻊ‬
‫‪ ‬ﮔﺎﻫﺎ ﺑﻪ آن ﺗﺎﺑﻊ ارزﻳﺎﺑﻲ‪ 2‬ﻧﻴﺰ ﮔﻔﺘﻪ ﻣﻲ ﺷﻮد‪.‬‬

‫‪ ‬ﻣﻴﺰان ﻣﻄﻠﻮﺑﻴﺖ ﻳﻚ ﺟﻮاب‪ /‬ﻛﺮوﻛﻮزوم را ﺑﺮ اﺳﺎس اﻳﻦ ﺗﺎﺑﻊ ﻣﺤﺎﺳﺒﻪ ﻣﻲ ﻛﻨﻨﺪ‪.‬‬

‫‪ ‬در ﻣﺴﺎﺋﻞ ﺑﻴﺸﻴﻨﻪ ﺳﺎزي‪ ،‬ﻣﻘﺪار ﺑﺮازﻧﺪﮔﻲ ﻣﺘﻨﺎﺳﺐ ﺑﺎ ﻣﻘﺪار ﺗﺎﺑﻊ ﻫﺪف اﺳﺖ‪.‬‬
‫) ‪fit (i )  of (i )  fit (i )  k . of (i‬‬
‫‪ ‬در ﻣﺴﺎﺋﻞ ﻛﻤﻴﻨﻪ ﺳﺎزي‪:‬‬

‫ﻣﻘﺪار ﺑﺮازﻧﺪﮔﻲ ﻣﺘﻨﺎﺳﺐ ﺑﺎ ﻋﻜﺲ ﻣﻘﺪار ﺗﺎﺑﻊ ﻫﺪف اﺳﺖ‪.‬‬ ‫‪‬‬


‫‪1‬‬ ‫‪k‬‬
‫‪fit (i ) ‬‬ ‫‪ fit (i) ‬‬
‫) ‪of (i‬‬ ‫) ‪of (i‬‬
‫ﻣﻘﺪار ﺑﺮازﻧﺪﮔﻲ ﻣﺘﻨﺎﺳﺐ ﺑﺎ ﻫﺰﻳﻨﻪ ي ﻓﺮﺻﺖ از دﺳﺖ رﻓﺘﻪ اﺳﺖ‪.‬‬ ‫‪‬‬
‫‪fit (i )   M  of (i)   fit (i)  k.  M  of (i) ‬‬

‫‪1- Fitness Function‬‬ ‫‪2- Evaluation Function‬‬

‫اﻧﺘﺨﺎب‪1‬‬ ‫اﺳﺘﺮاﺗﮋﻳﻬﺎي‬
‫‪ ‬اﻧﺘﺨﺎب ﺑﺮ اﺳﺎس ﭼﺮخ روﻟﺖ‪.2‬‬

‫‪ ‬اﻧﺘﺨﺎب ﻛﺎﻣﻼ ﺗﺼﺎدﻓﻲ‪.3‬‬

‫‪ ‬اﻧﺘﺨﺎب ﺑﺮ اﺳﺎس ﺑﻬﺘﺮﻳﻨﻬﺎ‪.4‬‬

‫‪ ‬اﻧﺘﺨﺎب ﺑﺮ اﺳﺎس ﻣﺴﺎﺑﻘﻪ‪.5‬‬

‫‪ ‬اﻧﺘﺨﺎب ﺑﺮ اﺳﺎس ﺗﺎﺑﻊ اﺣﺘﻤﺎل ﺑﻮﻟﺘﺰﻣﺎن‪.6‬‬

‫ﭘﺎﻳﺪار‪.(8‬‬ ‫اﻋﻀﺎء‪) 7‬ا ﺎ‬


‫اﻧﺘﺨﺎب ﺎ ا‬ ‫ﺣﺬف درﺻﺪي ااز ﺑﺪﺗﺮﻳﻦ ا ﺎ‬
‫اﺳﺎس ﺬف‬ ‫‪ ‬ا ﺎ‬
‫اﻧﺘﺨﺎب ﺑﺮ ا ﺎ‬
‫‪ ‬اﻧﺘﺨﺎب ﺑﺮ اﺳﺎس رﺗﺒﻪ‪.9‬‬

‫‪1- Selection Strategy 2- Roulette Wheel‬‬ ‫‪3- Purely Random‬‬ ‫‪4- Elite‬‬ ‫‪5- Tournament‬‬
‫‪6- Boltzmann‬‬ ‫‪7- Truncation‬‬ ‫‪8- Steady State‬‬ ‫‪9- Ranked-Based‬‬

‫‪15‬‬
‫اﻧﺘﺨﺎب ﺑﺮ اﺳﺎس ﭼﺮخ روﻟﺖ‬
‫‪ ‬اﻳﺪه ي اﺻﻠﻲ‪ :‬ﺗﺨﺼﻴﺺ ﺷﺎﻧﺲ اﻧﺘﺨﺎب ﺑﺮاي ﻫﺮ ﺟﻮاب‪ ،‬ﻣﺘﻨﺎﺳﺐ ﺑﺎ ﻣﻴﺰان ﺑﺮازﻧﺪﮔﻲ آن ﺟﻮاب‬
‫) ‪fit (i‬‬
‫‪p(i )  popsize‬‬
‫‪‬‬‫‪i 1‬‬
‫) ‪fit (i‬‬
‫‪ ‬روش‪:‬‬

‫ﻣﺤﺎﺳﺒﻪ ي ﻣﻘﺪار ﺑﺮازﻧﺪﮔﻲ ﻫﺮ ﺟﻮاب ‪ fit (1), fit (2),..., fit ( popsize)‬‬ ‫‪‬‬

‫ﻣﺤﺎﺳﺒﻪ ي اﺣﺘﻤﺎل اﻧﺘﺨﺎب ﻫﺮ ﺟﻮاب ‪ p(1), p(2),..., p( popsize)‬‬ ‫‪‬‬

‫‪ cpp((1),), cpp(2),...,‬‬ ‫ﺑﺮاي ﻫﺮﺮ ﺟﻮاب ‪p p )  1‬‬


‫‪( ), , cpp( popsize‬‬ ‫ﻲﺮ‬‫ﻣﺤﺎﺳﺒﻪ ي اﺣﺘﻤﺎل ﺗﺠﻤﻌﻲ‬ ‫‪‬‬
‫ﺗﻮﻟﻴﺪ ﻳﻚ ﻋﺪد ﺗﺼﺎدﻓﻲ از ﺗﻮزﻳﻊ ﻳﻜﻨﻮاﺧﺖ ‪R  U  0, 1‬‬ ‫‪‬‬
‫اﻧﺘﺨﺎب ﺟﻮاب ﺑﺮاﺳﺎس ﻗﺎﻋﺪه ي زﻳﺮ‪:‬‬ ‫‪‬‬
‫)‪R  cp(1)  Chrom(1), ..... , cp(i  1)  R  cp(i)  Chrom(i‬‬

‫‪Population‬‬ ‫‪Fitness‬‬ ‫‪Probability‬‬ ‫‪Cumulative‬‬ ‫)‪Ind(5‬‬ ‫)‪Ind(1‬‬


‫‪Probability‬‬
‫‪, 0.1‬‬ ‫‪, 0.14‬‬
‫)‪Ind(1‬‬ ‫‪15‬‬ ‫‪0.14‬‬ ‫‪0.14‬‬

‫)‪Ind(2‬‬ ‫‪27‬‬ ‫‪0.24‬‬ ‫‪0.38‬‬


‫)‪Ind(2‬‬
‫)‪Ind(3‬‬ ‫‪6‬‬ ‫‪0.05‬‬ ‫‪0.43‬‬ ‫)‪Ind(4‬‬ ‫‪, 0.24‬‬
‫‪, 0.47‬‬
‫)‪Ind(4‬‬ ‫‪52‬‬ ‫‪0.47‬‬ ‫‪0.90‬‬
‫)‪Ind(3‬‬
‫)‪Ind(5‬‬ ‫‪11‬‬ ‫‪0.10‬‬ ‫‪1.00‬‬
‫‪, 0.05‬‬

‫)‪R  0.13  cp(1)  0.14  Ind (1‬‬


‫)‪cp(3)  0.43  R  0.71  cp(4)  0.90  Ind (4‬‬

‫‪16‬‬
Mutation

• Inversion

1 2 3 4 5 6 7 8 9

1 2 6 5 4 3 7 8 9
• Swap
1 2 3 4 5 6 7 8 9

8 2 3 4 5 6 7 1 9
• Displacement

1 2 3 4 5 6 7 8 9

1 2 3 4 5 7 9 8 6

Crossover

• Partially Mapped (PMX)

1 2 3 4 5 6 7 8 9

4 5 2 1 8 7 6 9 3

x x x 1 8 7 6 x x

x x x 4 5 6 7 x x

x 2 3 1 8 7 6 x 9 4 2 3 1 8 7 6 5 9

x x 2 4 5 6 7 9 3 1 8 2 4 5 6 7 9 3

17
Crossover

• Order (OX)

1 2 3 4 5 6 7 8 9

4 5 2 1 8 7 6 9 3

2 1 8 4 5 6 7 9 3

2 3 4 1 8 7 6 5 9

Crossover

• Clever

1 2 3 4 5 6 7 8 9

4 5 2 1 8 7 6 9 3

4 5 6 7 2 1 8 9 3

1 8 7 6 2 3 4 5 9

18
‫ﺷﺮط ﺗﻮﻗﻒ‪GA 1‬‬
‫‪ ‬رﺳﻴﺪن ﺑﻪ ﻳﻚ ﻣﻘﺪار ﺗﻼش ﻣﺤﺎﺳﺒﺎﺗﻲ ﺧﺎص‪.‬‬
‫ﺣﺪاﻛﺜﺮ ﻣﻘﺪار از ﭘﻴﺶ ﺗﻌﻴﻴﻦ ﺷﺪه اي ﺑﺮاي ﺗﻌﺪاد ﻧﺴﻠﻬﺎ )‪.(Maxgen‬‬ ‫‪‬‬

‫ﺣﺪاﻛﺜﺮ ﻣﻘﺪار از ﭘﻴﺶ ﺗﻌﻴﻴﻦ ﺷﺪه اي ﺑﺮاي زﻣﺎن ﻣﺤﺎﺳﺒﺎﺗﻲ )‪.(MaxCompt‬‬ ‫‪‬‬

‫‪ ‬ﺑﻬﺒﻮد ﻧﺎﭼﻴﺰ ﻳﺎ ﻋﺪم ﺑﻬﺒﻮد در ﺗﺎﺑﻊ ﻫﺪف‪.2‬‬


‫ﻣﻘﺎﻳﺴﻪ ﺗﻌﺪاد ﻧﺴﻠﻬﺎﻳﻲ ﻛﻪ ﺑﻬﺘﺮﻳﻦ ﺟﻮاب ﺛﺎﺑﺖ ﻣﺎﻧﺪه ﺑﺎ ﻳﻚ ﻣﻘﺪار از ﭘﻴﺶ ﺗﻌﻴﻴﻦ ﺷﺪه‪.‬‬ ‫‪‬‬

‫ﻣﻘﺎﻳﺴﻪ ﺗﻔﺎوت ﻣﻴﺎﻧﮕﻴﻦ ﺑﺮازﻧﺪﮔﻲ ﺟﻮاﺑﻬﺎي دو ﻧﺴﻞ ﻣﺘﻮاﻟﻲ ﺑﺎ ﻳﻚ ﻣﻘﺪار از ﭘﻴﺶ ﺗﻌﻴﻴﻦ ﺷﺪه‪.‬‬ ‫‪‬‬

‫ﻣﻘﺎﻳﺴﻪ وارﻳﺎﻧﺲ ﺑﺮازﻧﺪﮔﻲ ﺟﻮاﺑﻬﺎي ﻳﻚ ﻧﺴﻞ ﺑﺎ ﻳﻚ ﻣﻘﺪار از ﭘﻴﺶ ﺗﻌﻴﻴﻦ ﺷﺪه‪.‬‬ ‫‪‬‬

‫ﻣﺤﺎﺳﺒﻪ ﻧﺴﺒﺖ ﺑﺮازﻧﺪﮔﻲ ﺑﻬﺘﺮﻳﻦ ﺟﻮاب ﺑﻪ ﻣﻴﺎﻧﮕﻴﻦ ﺑﺮازﻧﺪﮔﻲ ﺟﻮاﺑﻬﺎي ﻳﻚ ﻧﺴﻞ و ﻣﻘﺎﻳﺴﻪ ﺑﺎ ﻳﻚ ﻣﻘﺪار‬ ‫‪‬‬

‫آﺳﺘﺎﻧﻪ از ﻗﺒﻞ ﺗﻌﻴﻴﻦ ﺷﺪه‪.‬‬

‫)‪1- Stopping Criteria (Termination Condition‬‬ ‫‪2- Stagnation‬‬

‫‪ ‬رﺳﻴﺪن ﺑﻪ ﻳﻚ ﺟﻮاب ﻗﺎﻧﻊ ﻛﻨﻨﺪه از ﻟﺤﺎظ ﺗﺎﺑﻊ ﻫﺪف‪.‬‬

‫‪19‬‬
‫ﺗﻮزﻳﻊ ﺟﻮاﺑﻬﺎ در ﻓﺮآﻳﻨﺪ ﺗﻜﺎﻣﻠﻲ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ‬

‫ﺗﻮزﻳﻊ ﺟﻮاﺑﻬﺎ در ﻓﻀﺎي ﺟﺴﺘﺠﻮ در ﻧﺴﻠﻬﺎي اوﻟﻴﻪ‬

‫ﺗﻮزﻳﻊ ﺟﻮاﺑﻬﺎ در ﻓﻀﺎي ﺟﺴﺘﺠﻮ در ﻧﺴﻠﻬﺎي ﭘﺎﻳﺎﻧﻲ‬

‫ﻫﻤﮕﺮاﻳﻲ‪1‬‬ ‫ﻧﻤﻮدار‬

‫‪1- Convergence Diagram‬‬

‫‪20‬‬
Fitness
0 10 20 30 40 50 60 70 80 90

0
50
100
150
200
Generations

21
‫ﻣﺜﺎل‪ :‬داده ﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻣﺴﺎﻟﻪ ‪ TSP‬ﺑﺎ ‪n=30‬‬
‫‪No.‬‬ ‫‪x‬‬ ‫‪y‬‬ ‫‪No.‬‬ ‫‪x‬‬ ‫‪y‬‬ ‫‪No.‬‬ ‫‪x‬‬ ‫‪y‬‬
‫‪1‬‬ ‫‪82‬‬ ‫‪7‬‬ ‫‪11‬‬ ‫‪58‬‬ ‫‪69‬‬ ‫‪21‬‬ ‫‪4‬‬ ‫‪50‬‬

‫‪2‬‬ ‫‪91‬‬ ‫‪38‬‬ ‫‪12‬‬ ‫‪54‬‬ ‫‪62‬‬ ‫‪22‬‬ ‫‪13‬‬ ‫‪40‬‬

‫‪3‬‬ ‫‪83‬‬ ‫‪46‬‬ ‫‪13‬‬ ‫‪54‬‬ ‫‪67‬‬ ‫‪23‬‬ ‫‪18‬‬ ‫‪40‬‬

‫‪4‬‬ ‫‪71‬‬ ‫‪44‬‬ ‫‪14‬‬ ‫‪37‬‬ ‫‪84‬‬ ‫‪24‬‬ ‫‪24‬‬ ‫‪42‬‬

‫‪5‬‬ ‫‪64‬‬ ‫‪60‬‬ ‫‪15‬‬ ‫‪41‬‬ ‫‪94‬‬ ‫‪25‬‬ ‫‪25‬‬ ‫‪38‬‬

‫‪6‬‬ ‫‪68‬‬ ‫‪58‬‬ ‫‪16‬‬ ‫‪2‬‬ ‫‪99‬‬ ‫‪26‬‬ ‫‪41‬‬ ‫‪26‬‬

‫‪7‬‬ ‫‪83‬‬ ‫‪69‬‬ ‫‪17‬‬ ‫‪7‬‬ ‫‪64‬‬ ‫‪27‬‬ ‫‪45‬‬ ‫‪21‬‬

‫‪8‬‬ ‫‪87‬‬ ‫‪76‬‬ ‫‪18‬‬ ‫‪22‬‬ ‫‪60‬‬ ‫‪28‬‬ ‫‪44‬‬ ‫‪35‬‬

‫‪9‬‬ ‫‪74‬‬ ‫‪78‬‬ ‫‪19‬‬ ‫‪25‬‬ ‫‪62‬‬ ‫‪29‬‬ ‫‪58‬‬ ‫‪35‬‬

‫‪10‬‬ ‫‪71‬‬ ‫‪71‬‬ ‫‪20‬‬ ‫‪18‬‬ ‫‪54‬‬ ‫‪30‬‬ ‫‪62‬‬ ‫‪32‬‬

‫‪22‬‬
‫ﻣﻮﻗﻌﻴﺖ ﺷﻬﺮﻫﺎي ﻣﺴﺎﻟﻪ ‪ TSP‬ﺑﺎ ‪n=30‬‬
‫‪120‬‬

‫‪100‬‬

‫‪80‬‬
‫‪y‬‬

‫‪60‬‬

‫‪40‬‬

‫‪20‬‬

‫‪0‬‬
‫‪0‬‬ ‫‪10‬‬ ‫‪20‬‬ ‫‪30‬‬ ‫‪40‬‬ ‫‪50‬‬ ‫‪60‬‬ ‫‪70‬‬ ‫‪80‬‬ ‫‪90‬‬ ‫‪100‬‬

‫‪x‬‬

‫‪Distance=941‬‬ ‫ﻳﻚ ﺟﻮاب ﻣﻮﺟﻪ ﻣﺴﺎﻟﻪ ‪TSP‬‬

‫‪120‬‬

‫‪100‬‬

‫‪80‬‬
‫‪y‬‬

‫‪60‬‬

‫‪40‬‬

‫‪20‬‬

‫‪0‬‬
‫‪0‬‬ ‫‪10‬‬ ‫‪20‬‬ ‫‪30‬‬ ‫‪40‬‬ ‫‪50‬‬ ‫‪60‬‬ ‫‪70‬‬ ‫‪80‬‬ ‫‪90‬‬ ‫‪100‬‬
‫‪x‬‬

‫‪23‬‬
‫‪Distance=652‬‬ ‫ﻳﻚ ﺟﻮاب ﻣﻮﺟﻪ ﻣﺴﺎﻟﻪ ‪TSP‬‬

‫‪120‬‬

‫‪100‬‬

‫‪80‬‬
‫‪y‬‬

‫‪60‬‬

‫‪40‬‬

‫‪20‬‬

‫‪0‬‬
‫‪0‬‬ ‫‪10‬‬ ‫‪20‬‬ ‫‪30‬‬ ‫‪40‬‬ ‫‪50‬‬ ‫‪60‬‬ ‫‪70‬‬ ‫‪80‬‬ ‫‪90‬‬ ‫‪100‬‬
‫‪x‬‬

‫‪Distance=420‬‬ ‫ﺟﻮاب ﺑﻬﻴﻨﻪ ﻣﺴﺎﻟﻪ ‪TSP‬‬

‫‪120‬‬

‫‪100‬‬

‫‪80‬‬
‫‪y‬‬

‫‪60‬‬

‫‪40‬‬

‫‪20‬‬

‫‪0‬‬
‫‪0‬‬ ‫‪10‬‬ ‫‪20‬‬ ‫‪30‬‬ ‫‪40‬‬ ‫‪50‬‬ ‫‪60‬‬ ‫‪70‬‬ ‫‪80‬‬ ‫‪90‬‬ ‫‪100‬‬

‫‪x‬‬

‫‪24‬‬
TSP ‫ﻧﻤﻮدار ﻫﻤﮕﺮاﻳﻲ اﻟﮕﻮرﻳﺘﻢ ژﻧﺘﻴﻚ در ﻣﺴﺎﻟﻪ‬

1600

1400
Best
1200
Worst

1000 Average
Distance

800

600

400

200
1 6 11 16 21 26 31
Generations

25

You might also like