You are on page 1of 49

‫اﻟﺨﻮارزﻣﻴﺎت اﻟﻮراﺛﻴﺔ‬

‫‪GENETIC ALGORITHMS‬‬

‫د‪ .‬ﻋﺎدل ﻋـﺒـﺪاﻟﻨﻮر‬


‫ﻗﺴﻢ اﻟﻬﻨﺪﺳﺔ اﻟﻜﻬﺮﺑﺎﺋﻴﺔ‬
‫ﺟﺎﻣﻌﺔ اﻟﻤﻠﻚ ﺳﻌﻮد‬

‫‪1‬‬ ‫‪ABA‬‬
‫ﻣﻘﺪﻣﺔ‬
‫ﺗﻨﺤﺼﺮ ﺗﻄﺒﻴﻘﺎت هﺬا اﻟﻔﺮع ﻓﻲ ﻣﺸﻜﻼت اﻻﺳﺘﻘﺼﺎء )‪(search‬‬ ‫„‬
‫وﺗﻮﺧﻲ اﻷﻣﺜﻠﻴﺔ)‪.(optimization‬‬
‫ﻼ ﻟﻮ أراد ﻣﻨﺪوب إﺣﺪى اﻟﺸﺮآﺎت زﻳﺎرة ﻋﺸﺮﻳﻦ ﻣﺪﻳﻨﺔ‬ ‫ﻓﻤﺜ ً‬ ‫„‬
‫ﻣﺨﺘﻠﻔﺔ ﺑﺎﺳﺘﻌﻤﺎل اﻟﺴﻴﺎرة ﻣﻊ ﻣﺮاﻋﺎة ﺗﻘﻠﻴﻞ وﻗﺖ اﻟﺘﻨﻘﻞ وﻋﺪد‬
‫اﻟﻜﻴﻠﻮﻣﺘﺮات اﻟﻤﻘﻄﻮﻋﺔ ﻓﺈﻧﻪ ﺳﻴﺠﺪ ﻧﻔﺴﻪ أﻣﺎم إﺷﻜﺎﻟﻴﺔ رﻳﺎﺿﻴﺔ‬
‫ﻣﻌﻘﺪة‪.‬‬
‫وهﺬﻩ إﺷﻜﺎﻟﻴﺔ آﻼﺳﻴﻜﻴﺔ ﺗﻌﺮف ﺑﺎﺳـﻢ "ﻣﺸﻜﻠـﺔ اﻟﺒـﺎﺋـﻊ‬ ‫„‬
‫اﻟﻤﺘﺠـﻮل"‪ .‬ﻟﻜﻦ ﺣﻞ هﺬﻩ اﻟﻤﺸﻜﻠﺔ وﻣﺸﻜﻼت أﺧﺮى ﻣﻤﺎﺛﻠﺔ أو‬
‫ﻼ ﺑﺎﺳﺘﻌﻤﺎل اﻟﺨﻮارزﻣﻴﺎت اﻟﻮراﺛﻴﺔ‪.‬‬
‫ﺣﺘﻰ أآﺜﺮ ﺗﻌﻘﻴﺪًا ﻳﻜﻮن ﺳﻬ ً‬
‫‪2‬‬ ‫‪ABA‬‬
‫ﺗﻌﺘﻤﺪ ﻓﻠﺴﻔﺔ اﻟﺨﻮارزﻣﻴﺎت اﻟﻮراﺛﻴﺔ ﻋﻠﻰ ﺗﻮﻟﻴﺪ ﻋﺪد‬ ‫„‬
‫آﺒﻴﺮ ﻣﻦ اﻟﺤﻠﻮل اﻟﻤﻤﻜﻨﺔ ﻟﻤﺸﻜﻠﺔ ﻣﻌﻴﻨﺔ‪.‬‬
‫ﺑﻌﺪ ذﻟﻚ‪ ،‬ﻳﻘﻊ ﺗﻘﻴﻴﻢ آﻞ ﺣﻞ ﻣﻦ هﺬﻩ اﻟﺤﻠﻮل‪ .‬وﺗﻜﻮن‬ ‫„‬
‫ﻟﻠﺤﻠﻮل اﻷﻓﻀﻞ ﻓﺮص أآﺒﺮ ﻟﺘﻮﻟﻴﺪ ﺣﻠﻮل أﺧﺮى ﻓﻲ‬
‫ﺣﻴﻦ ﺗﻘﻞ ﻓﺮص ﺗﻮاﻟﺪ اﻟﺤﻠﻮل اﻟﺴﻴﺌﺔ‪.‬‬
‫وﺑﺘﻜﺮار هﺬﻩ اﻟﻌﻤﻠﻴﺔ ﺗﺘﻄﻮر ﻧﻮﻋﻴﺔ اﻟﺤﻠﻮل‬ ‫„‬
‫اﻟﻤﻄﺮوﺣﺔ وﺗﺼﻞ أو ﺗﻘﺘﺮب ﻣﻦ اﻟﺤﻞ اﻷﻣﺜﻞ‪.‬‬
‫ﻓﺎﻟﺨﻮارزﻣﻴﺎت اﻟﻮراﺛﻴﺔ‪ ،‬إذا ﻣﺎ ﻃُﺒﻘﺖ ﺑﺎﻟﺸﻜﻞ‬ ‫„‬
‫اﻟﺼﺤﻴﺢ‪ ،‬ﺗﻜﻮن ﻓﻌﺎﻟﺔ ﺟﺪًا ﻓﻲ ﺣﻞ ﻣﺸﻜﻼت ﻣﻌﻘﺪة‬
‫ﻏﺎﻟﺒ ًﺎ ﻣﺎ ﺗﻌﺠﺰ اﻟﻄﺮق اﻷﺧﺮى ﻋﻦ ﺣﻠﻬﺎ‪.‬‬

‫‪3‬‬ ‫‪ABA‬‬
‫ﻧﻈﺮة ﻋﺎﻣﺔ‬
‫ﻣﻦ اﻟﻤﻤﻜﻦ ﻣﺤﺎآﺎة ﻧﻈﺮﻳﺔ اﻟﺘﻄﻮر ﺑﻄﺮق ﻋﺪﻳﺪة‪ .‬وﻟﻜﻦ هﻨﺎ‬ ‫„‬
‫ﺳﻨﺘﻄﺮق ﻟﻠﻄﺮﻳﻘﺔ اﻟﺘﻲ وﺿﻌﻬﺎ هﻮﻻﻧﺪ واﻟﺘﻲ أﺻﺒﺤﺖ ﻣﺘﺪاوﻟﺔ‬
‫ﻣﻨﺬ اﻟﺴﺒﻌﻴﻨﺎت إﻟﻰ ﻳﻮﻣﻨﺎ هﺬا‬
‫أهﻢ ﻣﺎ ﻓﻲ هﺬﻩ اﻟﻄﺮﻳﻘﺔ هﻮ اﻟﺮﺑﻂ ﺑﻴﻦ اﻟﻤﺸﻜﻠﺔ اﻟﻤﺮاد ﺣﻠـﻬﺎ‬ ‫„‬
‫واﻟﺨﻮارزﻣﻴـﺎت اﻟﻮراﺛﻴـﺔ‪ .‬وﻳﺘـﻢ هـﺬا اﻟﺮﺑـﻂ ﻋـﻦ ﻃـﺮﻳـﻖ‬
‫ﻋﻨﺼـﺮﻳﻦ أﺳﺎﺳﻴﻴـﻦ وهﻤـﺎ‪:‬‬
‫‹ اﻟﺘﺮﻣﻴــﺰ )‪(encoding‬‬
‫‹ داﻟــﺔ اﻟﺘﻘﻴﻴـﻢ )‪(evaluation function‬‬

‫‪4‬‬ ‫‪ABA‬‬
‫ﻗﺪ ﻳﺨﺘﻠﻒ اﻟﺘﺮﻣﻴﺰ ﻣﻦ ﻣﺸﻜﻠﺔ إﻟﻰ أﺧﺮى وﻟﻜﻦ اﻟﺸﺎﺋﻊ هﻮ‬ ‫„‬
‫اﺳﺘﻌﻤﺎل ﺳﻠﺴﻠﺔ ﻣﻦ اﻷرﻗﺎم اﻟﺜﻨﺎﺋﻴﺔ )‪.(binary numbers‬‬
‫ﻼ إذا آﺎﻧﺖ اﻟﺤﻠﻮل اﻟﻤﻨﺘﻈﺮة ﻟﻤﺸﻜﻠﺔ ﻣﻌﻴﻨﺔ أرﻗﺎﻣ ًﺎ‬
‫ﻓﻤﺜ ً‬ ‫„‬
‫ﺻﺤﻴﺤﺔ وﺗﻘﻊ ﺑﻴﻦ اﻟﺼﻔﺮ واﻟﺨﻤﺴﺔ ﻋﺸﺮ ﻓﻴﻤﻜﻦ ﺗﺮﻣﻴﺰهﺎ‬
‫ﺑﺎﺳﺘﻌﻤﺎل أرﻗﺎم ﺛﻨﺎﺋﻴﺔ ﻣﺜﻞ ‪ ،1110 ،1010 ،0000‬إﻟﻰ ﻏﻴﺮ‬
‫ذﻟﻚ‪.‬‬
‫ﺑﻨﻔﺲ اﻟﻄﺮﻳﻘﺔ ﻳﻤﻜﻦ ﺗﺮﻣﻴﺰ أرﻗﺎﻣ ًﺎ ﻏﻴﺮ ﺻﺤﻴﺤﺔ ﻣﻮﺟﺒﺔ أو‬ ‫„‬
‫ﺳﺎﻟﺒﺔ‪ .‬وﺗﺴﻤﻰ هﺬﻩ اﻷرﻗﺎم ﺟﻴﻨﺎت أو آﺮوﻣﻮﺳﻮﻣﺎت‪.‬‬

‫‪5‬‬ ‫‪ABA‬‬
‫أﻣﺎ داﻟﺔ اﻟﺘﻘﻴﻴﻢ ﻓﻬﻲ ﻣﻬﻤﺔ ﺟﺪًا وهﻲ اﻟﺮاﺑﻂ اﻷﺳﺎﺳﻲ ﺑﻴﻦ‬ ‫„‬
‫اﻟﻤﺸﻜﻠﺔ واﻟﺨﻮارزﻣﻴﺎت‪.‬‬
‫ﻓﺘﺄﺧﺬ هﺬﻩ اﻟﺪاﻟﺔ آﻞ آﺮوﻣﻮﺳﻮم ﻋﻠﻰ ﺣﺪﻩ وﺗﻘﻴّﻢ ﻣﺪى أداﺋﻪ‬ ‫„‬
‫ﻓﻲ ﺣﻞ اﻟﻤﺸﻜﻠﺔ ﺑﺈﻋﻄﺎء ﻗﻴﻤﺔ ﻣﻌﻴﻨﺔ‪.‬‬
‫وآﻠﻤـﺎ آﺎﻧﺖ هﺬﻩ اﻟﻘﻴﻤﺔ أآﺒﺮ آﻠﻤﺎ آﺎن اﻟﻜﺮوﻣﻮﺳﻮم أآﺜﺮ‬ ‫„‬
‫آﻔﺎءة‪.‬‬
‫ﻋﺎدة ﻣﺎ ﺗﺴﻤﻰ هﺬﻩ اﻟﺪاﻟﺔ "داﻟﺔ اﻟﻠﻴﺎﻗﺔ"‬ ‫„‬
‫)‪.(fitness function‬‬

‫‪6‬‬ ‫‪ABA‬‬
‫وﺑﺎﻟﺘﺎﻟﻲ ﻓﺈن اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت اﻟﺘﻲ ﻟﻬﺎ ﻟﻴﺎﻗﺔ ﻋﺎﻟﻴﺔ ﺗﻜﻮن ﻟﻬﺎ‬ ‫„‬
‫ﺣﻈﻮظ أوﻓﺮ ﻓﻲ اﻟﺒﻘﺎء ﻷﻧﻬﺎ أآﺜﺮ ﻓﺎﺋﺪة ﻟﺤﻞ اﻟﻤﺸﻜﻠﺔ‪.‬‬
‫وﺑﺘﻜﺮار هﺬﻩ اﻟﺨﻄﻮات ﺗﺰداد ﻟﻴﺎﻗﺔ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت‪.‬‬ ‫„‬

‫ﺑﻌﺪ اﻧﺘﻬﺎء ﻋﻤﻠﻴﺎت اﻟﺨﻮارزﻣﻴﺎت ﺗﺼﻞ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت إﻟﻰ‬ ‫„‬


‫أﻋﻠﻰ ﻣﺴﺘﻮى ﻣﻦ اﻟﻠﻴﺎﻗﺔ ﻣﻤﺎ ﻳﻌﻜﺲ ﺣﻠﻮ ًﻻ ﺟﻴﺪة ﻟﻠﻤﺸﻜﻠﺔ‬
‫اﻟﻤﺮاد ﺣﻠﻬﺎ‪.‬‬

‫‪7‬‬ ‫‪ABA‬‬
‫ﺍﳋﻄﻮﺓ ﺍﻷﻭﱃ‬ ‫ﺇﻋﺪﺍﺩ ﺍﻟﺘﺠﻤﻊ ﺍﻟﺴﻜﺎﱐ ﺍﳌﺒﺪﺋﻲ ﻟﻠﺠﻴﻨﺎﺕ‬
‫‪INITIAL POPULATION‬‬

‫ﺍﳋﻄﻮﺓ ﺍﻟﺜﺎﻧﻴﺔ‬ ‫ﺗﻘﻴﻴﻢ ﻟﻴﺎﻗﺔ ﻛﻞ ﻛﺮﻭﻣﻮﺳﻮﻡ ﻋﻠﻰ ﺣﺪﻩ‬


‫‪EVALUATE FITNESS‬‬

‫ﺍﳋﻄﻮﺓ ﺍﻟﺜﺎﻟﺜﺔ‬ ‫ﺗﻮﻟﻴﺪ ﻛﺮﻭﻣﻮﺳﻮﻣﺎﺕ ﺟﺪﻳﺪﺓ‬


‫‪REPRODUCTION‬‬ ‫اﻟﺨﻄﻮات اﻟﻌﺎﻣﺔ‬
‫ﻟﻠﺨﻮارزﻣﻴﺎت‬
‫ﺍﳋﻄﻮﺓ ﺍﻟﺮﺍﺑﻌﺔ‬ ‫ﺣﺬﻑ ﻋﺪﺩﺍ ﻣﻦ ﺍﻟﻜﺮﻭﻣﻮﺳﻮﻣﺎﺕ ﺍﻟﻀﻌﻴﻔﺔ ﻓﺴﺢ‬ ‫اﻟﻮراﺛﻴﺔ‬
‫ﺍ‪‬ﺎﻝ ﺃﻣﺎﻡ ﺍﻟﻜﺮﻭﻣﻮﺳﻮﻣﺎﺕ ﺍﳉﺪﻳﺪﺓ‬

‫ﺍﳋﻄﻮﺓ ﺍﳋﺎﻣﺴﺔ‬ ‫ﺗﻘﻴﻴﻢ ﺍﻟﻜﺮﻭﻣﻮﺳﻮﻣﺎﺕ ﺍﳉﺪﻳﺪﺓ‬


‫ﻭﺿﻤﻬـﺎ ﻟﻠﺘﺠﻤﻊ ﺍﻟﺴﻜﺎﱐ‬

‫ﺍﳋﻄﻮﺓ ﺍﻟﺴﺎﺩﺳﺔ‬ ‫ﻧﻌﻢ‬


‫ﻫﻞ ﻫﻨﺎﻙ ﺭﻏﺒﺔ ﰲ ﺗﻜﺮﺍﺭ ﺍﻟﻌﻤﻠﻴﺔ‬

‫ﻻ‬

‫ﺍﻟﻨﻬـﺎﻳـﺔ‬
‫‪8‬‬ ‫‪ABA‬‬
‫ﺗﻘﻴﻴﻢ اﻟﻠﻴﺎﻗﺔ‬
‫)‪(Fitness Evaluation‬‬
‫ﻳﺘﻢ ﺗﻘﻴﻴﻢ اﻟﻠﻴﺎﻗﺔ ﻋﻦ ﻃﺮﻳﻖ داﻟﺔ رﻳﺎﺿﻴﺔ )‪(function‬‬ ‫„‬
‫وﻳﺤﺘﺎج اﻟﺘﻘﻴﻴﻢ إﻟﻰ ﺛﻼﺛﺔ ﻣﺮاﺣﻞ‪.‬‬
‫ﻓﻲ اﻟﻤﺮﺣﻠﺔ اﻷوﻟﻰ ﻳﺘﻢ ﻓﻚ ﺗﺮﻣﻴﺰ اﻟﻜﺮوﻣﻮﺳﻮم‬ ‫„‬
‫)‪. (decoding‬‬
‫وﻓﻲ اﻟﻤﺮﺣﻠﺔ اﻟﺜﺎﻧﻴﺔ ﻳﻘﻊ ﺗﺤﻮﻳﻞ اﻷرﻗﺎم اﻟﺜﻨﺎﺋﻴﺔ إﻟﻰ أرﻗﺎم‬ ‫„‬
‫ﻋﺸﺮﻳﺔ ﺑﻴﻦ ﺣﺪﻳﻦ ﻣﻌﻴﻨﻴﻦ‪.‬‬
‫أﻣﺎ اﻟﻤﺮﺣﻠﺔ اﻷﺧﻴﺮة ﻓﻤﻬﻤﺘﻬﺎ ﺗﻘﻴﻴﻢ هﺬﻩ اﻷرﻗﺎم اﻟﻌﺸﺮﻳﺔ‬ ‫„‬
‫ﻹﻋﻄﺎء ﻗﻴﻤﺔ ﺗﻌﻜﺲ ﻟﻴﺎﻗﺔ اﻟﻜﺮوﻣﻮﺳﻮم‪.‬‬

‫‪9‬‬ ‫‪ABA‬‬
‫ﻟﻨﻔﺘﺮض أﻧﻨﺎ ﻧﺮﻳﺪ اﻟﺒﺤﺚ ﻋﻦ اﻟﻘﻴﻤﺔ اﻟﻘﺼﻮى ﻟﻠﺪاﻟﺔ‬ ‫„‬
‫اﻟﺒﺴﻴﻄﺔ‪:‬‬
‫‪1+ x2‬‬
‫= )‪f (x,y‬‬
‫‪1 + y2‬‬
‫ﻋﻠﻰ أن ﺗﻜﻮن ﻗﻴﻤﺔ اﻟـ ‪ x‬واﻟـ ‪ y‬ﻣﺎ ﺑﻴﻦ ‪ 5‬و‪-5‬‬
‫„ ﻟﻨﺄﺧﺬ ‪ ،‬ﻋﺸﻮاﺋﻴﺎً‪ ،‬اﺛﻨﻴﻦ ﻣﻦ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت وﻧﺴﺘﻌﺮض‬
‫اﻟﻤﺮاﺣﻞ اﻷﺳﺎﺳﻴﺔ ﻟﻠﺘﻘﻴﻴﻢ‬
‫ اﻟﻜﺮوﻣﻮﺳﻮم اﻷول‪10110110:‬‬
‫ اﻟﻜﺮوﻣﻮﺳﻮم اﻟﺜﺎﻧﻲ‪01010000:‬‬

‫‪10‬‬ ‫‪ABA‬‬
‫ﻋﻨﺪﻣﺎ ﻧﻔﻚ ﺗﺮﻣﻴﺰ هﺬﻳﻦ اﻟﻜﺮوﻣﻮﺳﻮﻣﻴﻦ وﻧﺤﻮﻟﻬﻤﺎ إﻟﻰ أرﻗﺎم‬ ‫„‬
‫ﻋﺸﺮﻳﺔ ﺳﻨﺤﺼﻞ ﻋﻠﻰ‪:‬‬
‫اﻟﻜﺮوﻣﻮﺳﻮم اﻷول ‪x1= 1011 = 11, y1 = 0110 = 6‬‬ ‫„‬

‫اﻟﻜﺮوﻣﻮﺳﻮم اﻟﺜﺎﻧﻲ‪x2= 0101 = 5, y2 = 0000 = 0 :‬‬ ‫„‬

‫ﺑﻤﺎ أن أآﺒﺮ رﻗﻢ ﻓﻲ هﺬا اﻟﺘﺮﻣﻴﺰ هﻮ ‪ 1111 = 15‬وأﺻﻐﺮ رﻗﻢ‬ ‫„‬


‫هﻮ ‪ 0=0000‬وﺑﻤﺎ أﻧﻨﺎ )وﺣﺴﺐ اﻟﻤﺴﺄﻟﺔ اﻟﻤﻄﺮوﺣﺔ( ﻧﺤﺘﺎج‬
‫إﻟﻰ أرﻗﺎم ﺗﻘﻊ ﺑﻴﻦ ‪ +5‬و ‪ -5‬ﻓﻌﻠﻴﻨﺎ اﺳﺘﻌﻤﺎل اﻟﺘﺤﻮﻳﻞ اﻟﺘﺎﻟﻲ‪:‬‬
‫‪g (z) = (10z/15) -5‬‬ ‫„‬

‫‪11‬‬ ‫‪ABA‬‬
‫هﺬا اﻟﺘﺤﻮﻳﻞ ﻳﺠﻌﻞ آﻞ اﻷرﻗﺎم اﻟﻮاﻗﻌﺔ ﺑﻴﻦ ﺻﻔﺮ و‪ 15‬ﺗﻘﻊ ﺑﻴﻦ‬ ‫„‬
‫‪ +5‬و ‪ -5‬وهﻮ ﻣﺎ ﻧﺤﺘﺎﺟﻪ‪.‬‬
‫ﺑﻬﺬا ﺗﺼﺒﺢ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت آﺎﻵﺗﻲ‪:‬‬ ‫„‬

‫× ‪x1 = 10‬‬ ‫‪11‬‬


‫‪- 5 = 2 .3 3‬‬ ‫اﻟﻜﺮوﻣﻮﺳﻮم اﻷول ‪:‬‬
‫‪15‬‬
‫× ‪y1 = 10‬‬ ‫‪6‬‬
‫‪-5 = - 1 .0‬‬
‫‪15‬‬
‫× ‪x2 = 10‬‬ ‫‪5‬‬
‫‪- 5 = -1 .6 7‬‬ ‫اﻟﻜﺮوﻣﻮﺳﻮم اﻟﺜﺎﻧﻲ ‪:‬‬
‫‪15‬‬
‫× ‪y2 = 10‬‬ ‫‪0‬‬
‫‪-5 = - 5‬‬
‫‪15‬‬

‫‪12‬‬ ‫‪ABA‬‬
‫ﺑﻌﺪ هﺬا اﻟﺘﺤﻮﻳﻞ ﻟﻢ ﻳﺒﻖ إﻻ ﺗﻘﻴﻴﻢ اﻟﻠﻴﺎﻗﺔ‬ ‫„‬

‫‪1+ x2‬‬ ‫ﺍﻟﻜﺮﻭﻣﻮﺳﻮﻡ ﺍﻷﻭﻝ‪:‬‬


‫‪1‬‬ ‫‪1 + (2.33) 2‬‬
‫=)‪f(x1,y1‬‬ ‫=‬
‫‪2‬‬
‫)‪1 + y 2 1 + (−1.00‬‬
‫‪1‬‬
‫‪= 3.214‬‬

‫‪1 + x 2 1 + (−1.67)2‬‬ ‫ﺍﻟﻜﺮﻭﻣﻮﺳﻮﻡ ﺍﻟﺜﺎﱐ‪:‬‬


‫=)‪f(x2,y2‬‬ ‫= ‪2‬‬
‫‪1+ y2‬‬ ‫‪1 + (−5) 2‬‬
‫‪2‬‬
‫‪= 0.146‬‬

‫وﻣﻦ هﺬﻩ اﻟﻨﺘﺎﺋﺞ ﻳﻤﻜﻨﻨﺎ أن ﻧﺴﺘﺨﻠﺺ أن اﻟﻜﺮوﻣﻮﺳﻮم اﻷول‬ ‫„‬


‫أآﺜﺮ ﻟﻴﺎﻗﺔ وأﻗﺮب ﻟﻠﺤﻞ اﻷﻣﺜﻞ‪.‬‬

‫‪13‬‬ ‫‪ABA‬‬
‫ﺗﺠﺪر اﻹﺷﺎرة هﻨﺎ إﻟﻰ أن اﻟﺨﻮارزﻣﻴﺎت اﻟﻮراﺛﻴﺔ ﻻ ﺗﺮﺗﺒﻂ‬ ‫„‬
‫ﺑﺎﻟﻤﺸﻜﻠﺔ اﻟﻤﺮاد ﺣﻠﻬﺎ إﻻ ﻋﻦ ﻃﺮﻳﻖ داﻟﺔ اﻟﺘﻘﻴﻴﻢ‪.‬‬
‫وﻟﻬﺬا ﻳﻤﻜﻦ اﺳﺘﻌﻤﺎل ﺑﺮﻧﺎﻣﺞ اﻟﺨﻮارزﻣﻴﺎت اﻟﻮراﺛﻴﺔ ﻓﻲ ﺣﻞ‬ ‫„‬
‫ﻋﺪد آﺒﻴﺮ ﻣﻦ اﻟﻤﺴﺎﺋﻞ دون إﻋﺎدة آﺘﺎﺑﺘﻪ أو ﺗﻐﻴﻴﺮ أي ﻣﻦ‬
‫أﺟﺰاﺋﻪ ﺑﺎﺳﺘﺜﻨﺎء داﻟﺔ اﻟﺘﻘﻴﻴﻢ‪.‬‬
‫آﺬﻟﻚ‪ ،‬ﻧﻼﺣﻆ هﻨﺎ أﻧﻨﺎ اﺳﺘﻌﻤﻠﻨﺎ أرﺑﻌﺔ ِﺑﺘّﺎت ﻟﺘﻤﺜﻴﻞ اﻷرﻗﺎم ﻟﻜﻦ‬ ‫„‬
‫ﻓﻲ ﺣﺎﻟﺔ اﻷرﻗﺎم اﻟﻜﺒﻴﺮة ﻳﺠﺐ اﺳﺘﻌﻤﺎل ﻋﺪدًا أآﺒﺮ ﻣﻦ اﻟ ِﺒﺘّﺎت‪.‬‬

‫‪14‬‬ ‫‪ABA‬‬
‫اﻟﺘﺠﻤﻊ اﻟﺴﻜﺎﻧﻲ ﻟﻠﻜﺮوﻣﻮﺳﻮﻣﺎت‬
‫)‪(Population‬‬
‫ﻧﻘﻄﺔ اﻟﺒﺪاﻳﺔ ﺗﻜﻮن داﺋﻤ ًﺎ ﺑﺈﻋﺪاد اﻟﺘﺠﻤﻊ اﻟﺴﻜﺎﻧﻲ اﻟﻤﺒﺪﺋﻲ‬ ‫„‬
‫وذﻟﻚ ﺑﺘﻮﻟﻴﺪ ﻋﺪد آﺒﻴﺮ ﻣﻦ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت ﺑﻄﺮﻳﻘﺔ ﻋﺸﻮاﺋﻴﺔ‪.‬‬
‫ﻼ ‪ 100‬آﺮوﻣﻮﺳﻮم‪.‬‬ ‫آﺄن ﻧﻮﻟّﺪ ﻣﺜ ً‬
‫ﺗُﻌﻄﻰ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت اﻟﺘﻲ ﻟﻬﺎ ﻟﻴﺎﻗﺔ أآﺒﺮ ﻓﺮﺻﺔ ﻟﻠﺘﺰاوج‬ ‫„‬
‫واﻟﺘﻮاﻟﺪ واﻟﺒﻘﺎء وﺑﻬﺬا ﻳﺘﻢ اﻟﺤﺼﻮل ﻋﻠﻰ ‪ 100‬آﺮوﻣﻮﺳﻮم‬
‫ﺟﺪﻳﺪ واﻻﺳﺘﻐﻨﺎء ﻋﻦ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت اﻟﻘﺪﻳﻤﺔ‪ .‬وﻧﻜﻮن ﺑﺬﻟﻚ‬
‫ﻼ ﺟﺪﻳﺪًا )‪ (Generation‬أآﺜﺮ ﻟﻴﺎﻗﺔ ﻣﻦ اﻟﺠﻴﻞ‬ ‫ﻗﺪ آﻮﻧّﺎ ﺟﻴ ً‬
‫اﻟﺬي ﺳﺒﻘﻪ‪.‬‬
‫وﻣﻊ ﻣﺮور اﻷﺟﻴﺎل ﺗﺼﻞ ﻟﻴﺎﻗﺔ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت إﻟﻰ ﻣﺴﺘﻮى‬ ‫„‬
‫ﻣﺮﺗﻔﻊ‬
‫‪15‬‬ ‫‪ABA‬‬
‫ﺗﻮاﻟﺪ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت‬
‫)‪(Reproduction‬‬
‫ﺗﻤـ ّﺮ ﻋﻤﻠﻴـﺔ ﺗﻮاﻟـﺪ اﻟﻜﺮوﻣﻮﺳﻮﻣـﺎت ﺑﺜﻼث ﻣﺮاﺣـﻞ ﻣﻬﻤـﺔ‬ ‫„‬
‫وهـﻲ‪:‬‬

‫اﻧﺘﻘـﺎء اﻟﻮاﻟﺪﻳﻦ )‪،(Parent Selection‬‬ ‫‬

‫اﻟﻌﺒﻮر اﻟﻜﺮوﻣﻮﺳﻮﻣﻲ أو اﻻﻧﺘﻘﺎل )‪،(Crossover‬‬ ‫‬

‫وأﺧﻴﺮًا اﻟﺘﻐﻴﺮ اﻟﻤﻔﺎﺟﺊ أو اﻟﻄﻔﺮة )‪.(Mutation‬‬ ‫‬

‫‪16‬‬ ‫‪ABA‬‬
‫ﻗﺒﻞ ﺷﺮح هﺬﻩ اﻟﻤﺮاﺣﻞ‪ ،‬ﺗﺠﺪر اﻹﺷﺎرة إﻟﻰ أن اﻟﻄﺮﻳﻘﺔ اﻟﺘﻲ‬ ‫„‬
‫ﺗﺘﻮاﻟﺪ ﺑﻬﺎ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت هﻲ ﻧﻘﻄﺔ ﻗﻮة اﻟﺨﻮارزﻣﻴﺎت‬
‫اﻟﻮراﺛﻴﺔ‬
‫ﻷﻧﻬﺎ ﺗﺼﻞ ﺑﻌﻤﻠﻴﺔ اﻻﺳﺘﻘﺼﺎء إﻟﻰ ﺣﻠﻮل ﺷﻤﻮﻟﻴـﺔ‬ ‫„‬
‫)‪(global solutions‬‬
‫وﻻ ﺗﻌْﻠﻖ ﻓﻲ اﻟﺤﻠـﻮل اﻟﻤﻮﺿﻌﻴـﺔ )‪(local solutions‬‬ ‫„‬
‫آﻤﺎ هﻮ اﻟﺸﺄن ﻓﻲ ﻣﻌﻈﻢ ﻃﺮق اﻻﺳﺘﻘﺼﺎء اﻟﻤﻌﺮوﻓﺔ‪.‬‬

‫‪17‬‬ ‫‪ABA‬‬
‫ﺗﺒﺪأ ﻋﻤﻠﻴﺔ اﻟﺘﻮاﻟﺪ ﺑﺎﺧﺘﻴﺎر اﻟﻮاﻟﺪﻳﻦ واﻟﻤﻘﻴﺎس اﻟﻮﺣﻴﺪ ﻓﻲ هﺬا‬ ‫„‬
‫اﻻﺧﺘﻴﺎر هﻮ اﻟﻠﻴﺎﻗﺔ‪.‬‬
‫ورﻏﻢ أن ﻋﻤﻠﻴﺔ اﻻﻧﺘﻘﺎء‪ ،‬آﻐﻴﺮهﺎ ﻣﻦ اﻟﻌﻤﻠﻴﺎت ‪ ،‬ﺗﺘﻢ ﻋﺸﻮاﺋﻴ ًﺎ‬ ‫„‬
‫إﻻ أن ﻓﺮص اﻧﺘﻘﺎء آﺮوﻣﻮﺳﻮم ﻣﻌﻴﻦ ﻣﺮﺗﺒﻄﺔ ارﺗﺒﺎﻃ ًﺎ وﺛﻴﻘ ًﺎ‬
‫ﺑﻠﻴﺎﻗﺘﻪ‪.‬‬
‫ﻓﺄآﺜﺮ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت ﻟﻴﺎﻗﺔ ﻣﺮﺷﺢ ﻟﻺﻧﺘﻘﺎء ﻣﺮات ﻋﺪﻳﺪة ﻓﻲ‬ ‫„‬
‫ﺣﻴﻦ أن اﻟﻜﺮوﻣﻮﺳﻮم اﻟﻀﻌﻴﻒ ﻗﺪ ﻻ ﻳُﻨﺘﻘﻰ إﻃﻼﻗ ًﺎ‪.‬‬

‫‪18‬‬ ‫‪ABA‬‬
‫اﻟﻌﻤﻠﻴﺔ اﻟﺜﺎﻧﻴﺔ ‪:‬اﻟﻌﺒﻮر اﻟﻜﺮوﻣﻮﺳﻮﻣﻲ‬

‫هﻲ اﻟﺘﻲ ﺗﺠﺴﻢ ﻋﻤﻠﻴﺔ اﻟﺘﻮاﻟﺪ‪.‬‬ ‫„‬

‫ﻓﺒﻌﺪ اﺧﺘﻴﺎر اﻟﻮاﻟﺪﻳﻦ )ﻳﻤﺜﻼن ﺳﻠﺴﻠﺘﻴﻦ ﻣﻦ اﻷرﻗﺎم اﻟﺜﻨﺎﺋﻴﺔ(‬ ‫„‬


‫ﻳﻘﻊ ﺗﺒﺎدل ﺟﺰء ﻣﻦ اﻟﺴﻠﺴﻠﺔ‪.‬‬
‫ﺗﻜﻮن ﻧﻘﻄﺔ اﻟﺘﺒﺎدل ﻋﺸﻮاﺋﻴﺔ ﺗﻤﺎﻣ ًﺎ‪ .‬آﺄن ﻳﺄﺧﺬ اﻟﻜﺮوﻣﻮﺳﻮم‬ ‫„‬
‫اﻷول ﺁﺧﺮ ﺛﻼث ﺑﺘﺎت ﻣﻦ اﻟﻜﺮوﻣﻮﺳﻮم اﻟﺜﺎﻧﻲ وﻳﻌﻄﻴﻪ ﺁﺧﺮ‬
‫ﺛﻼث ﺑﺘﺎت ﻣﻦ ﺳﻠﺴﻠﺘﻪ‪.‬‬
‫وﻻ ﺗﺘﻢ هﺬﻩ اﻟﻌﻤﻠﻴﺔ ﻣﻊ آﻞ واﻟﺪﻳﻦ‪ ،‬وﻟﻜﻨﻬﺎ ﺗﺘﻢ ﺑﻨﺴﺒﺔ ﻣﺤﺪدة‬ ‫„‬
‫ﻳﺨﺘﺎرهﺎ واﺿﻊ اﻟﺒﺮﻧﺎﻣﺞ آﺄن ﺗﻄﺒﻖ ﻋﻠﻰ ‪ % 50‬ﻣﻦ اﻟﺤﺎﻻت‬
‫وﻻ ﺗﻄﺒﻖ ﻋﻠﻰ اﻟﺒﻘﻴﺔ‪.‬‬

‫‪19‬‬ ‫‪ABA‬‬
‫اﻟﻌﻤﻠﻴﺔ اﻟﺜﺎﻟﺜﺔ‪ :‬اﻟﻄﻔﺮة‬
‫ﻳﻤ ّﺮ اﻟﻜﺮوﻣﻮﺳﻮم اﻟﺠﺪﻳﺪ ﺑﺘﻐﻴﺮ ﻣﻔﺎﺟﺊ ﻋﺸﻮاﺋﻲ ﻓﺘﺘﻐﻴﺮ إﺣﺪى‬ ‫„‬
‫ِﺑﺘّﺎﺗﻪ ﻣﻦ ﺻﻔﺮ إﻟﻰ واﺣﺪ أو اﻟﻌﻜﺲ‬
‫وهﺬﻩ اﻟﻌﻤﻠﻴﺔ ﻣﻬﻤﺔ ﻷﻧﻬﺎ ﺗﻀﻴﻒ ﺑﻌﺾ اﻟﺨﺼﺎﺋﺺ اﻟﺠﺪﻳﺪة‬ ‫„‬
‫اﻟﺘﻲ ﻗﺪ ﻻ ﺗﻮﺟﺪ ﻓﻲ اﻟﻮاﻟﺪﻳـﻦ‬
‫ﻼ ‪(% 1‬‬‫ﻟﻜﻨﻬـﺎ ﻻ ﺗﺤـﺪث إﻻ ﺑﻨﺴﺒـﺔ ﺻﻐﻴـﺮة ﺟـﺪًا )ﻣﺜ ً‬ ‫„‬

‫‪20‬‬ ‫‪ABA‬‬
‫ﺗﻔﺎﺻﻴﻞ اﻟﺨﻮارزﻣﻴﺎت اﻟﻮراﺛﻴﺔ‬

‫‪GA‬‬
‫‪GA‬‬

‫‪GA‬‬

‫‪21‬‬ ‫‪ABA‬‬
‫اﻧﺘﻘﺎء اﻟﻮَاﻟﺪﻳﻦ‬
‫)‪(Parents Selection‬‬
‫إن اﻟﻬﺪف ﻣﻦ ﻋﻤﻠﻴﺔ اﻧﺘﻘﺎء اﻟﻮاﻟﺪﻳﻦ هﻮ إﻋﻄﺎء‬ ‫„‬
‫اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت "اﻟﺠﻴﺪة" ﻓﺮﺻﺔ أآﺒﺮ ﻟﻠﺘﻮاﻟﺪ‬
‫وﺑﺎﻟﻤﻘﺎﺑﻞ‪ ،‬ﺗﻘﻠﻴﻞ ﻓﺮص اﻟﺘﻮاﻟﺪ أﻣﺎم اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت ﺿﻌﻴﻔﺔ‬ ‫„‬
‫اﻟﻠﻴﺎﻗﺔ‬
‫ﻟﻠﻘﻴﺎم ﺑﻬﺬﻩ اﻟﻌﻤﻠﻴﺔ ﺗﻮﺟﺪ ﻃﺮق ﻋﺪﻳﺪة‪ ،‬ﻟﻜﻦ أهﻤﻬﺎ وأآﺜﺮهﺎ‬ ‫„‬
‫اﺳﺘﻌﻤﺎ ًﻻ هﻲ اﻟﻄﺮﻳﻘﺔ اﻟﻤﺴﻤﺎة ﺑﺎﻟﻌﺠﻠﺔ اﻟﺪﱡﺣﺮوﺟﻴﺔ‬
‫)‪ (roulette wheel‬وهﻲ ﻣﻔﺼﻠﺔ آﺎﻵﺗﻲ‪:‬‬

‫‪22‬‬ ‫‪ABA‬‬
‫ﺗُﺠﻤﻊ ﻗﻴﻢ ﻟﻴﺎﻗﺔ آﻞ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت اﻟﻤﻮﺟﻮدة وﻧﺤﺼﻞ ﻋﻠﻰ‬ ‫„‬
‫اﻟﻠﻴﺎﻗﺔ اﻹﺟﻤﺎﻟﻴﺔ‬
‫ُﻳ َﻮﻟّـﺪ رﻗﻢ ﻋﺸﻮاﺋﻲ ﺷﺮﻳﻄﺔ أن ﻳﻘﻊ ﺑﻴﻦ اﻟﺼﻔﺮ وﻗﻴﻤﺔ اﻟﻠﻴﺎﻗﺔ‬ ‫„‬
‫اﻹﺟﻤﺎﻟﻴﺔ‬
‫ﻳﺘﻢ اﻧﺘﻘﺎء اﻟﻜﺮوﻣﻮﺳﻮم اﻟﺬي إذا ﻣﺎ ﺟُﻤﻌﺖ ﻟﻴﺎﻗﺘﻪ ﻣﻊ ﻟﻴﺎﻗﺔ‬ ‫„‬
‫اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت اﻟﺘﻲ ﺗﺴﺒﻘﻪ ﺳﺎوت أو ﺗﻌﺪت ﻗﻴﻤﺔ اﻟﺮﻗﻢ‬
‫اﻟﻌﺸﻮاﺋﻲ اﻟﻤ َﻮﻟّﺪ‬

‫‪23‬‬ ‫‪ABA‬‬
‫ﻟﺘﻮﺿﻴﺢ هﺬﻩ اﻟﺨﻄﻮات‪ ،‬ﻧﻔﺘﺮض أﻧﻨﺎ ﻧﻮد اﻟﻘﻴﺎم ﺑﻌﻤﻠﻴﺔ‬ ‫„‬
‫اﻻﻧﺘﻘﺎء ﻣﻦ ﺗﺠﻤﻊ ﺳﻜﺎﻧﻲ ﻳﻀﻢ ‪ 10‬آﺮوﻣﻮﺳﻮﻣﺎت ﺑﻌﺪ ﺗﻘﻴﻴﻢ‬
‫ﻟﻴﺎﻗﺘﻬﺎ‪.‬‬
‫‪10‬‬ ‫‪9‬‬ ‫‪8‬‬ ‫‪7‬‬ ‫‪6‬‬ ‫‪5‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫ﻛﺮﻭﻣﻮﺳﻮﻡ‬
‫‪6‬‬ ‫‪4‬‬ ‫‪9‬‬ ‫‪6 11 10‬‬ ‫‪2 15‬‬ ‫‪1‬‬ ‫‪7‬‬ ‫ﺍﻟﻠﻴﺎﻗﺔ‬
‫‪71 65 61 52 46 35 25 23‬‬ ‫‪8‬‬ ‫‪7‬‬ ‫ﺍ‪‬ﻤﻮﻉ ﺍﳉﺎﺭﻱ‬

‫‪37 17 61 5 26 11 49‬‬ ‫ﺍﻟﺮﻗﻢ ﺍﻟﻌﺸﻮﺍﺋﻲ‬


‫‪6 3 8 1 5 3 7‬‬ ‫ﺍﻟﻜﺮﻭﻣﻮﺳﻮﻡ ﺍﳌﻨﺘﻘﻰ‬

‫‪24‬‬ ‫‪ABA‬‬
‫ﻧﺴﺒﺔ اﻟﻠﻴﺎﻗﺔ ‪%‬‬

‫‪14%‬‬ ‫‪3%‬‬
‫‪21%‬‬

‫‪15%‬‬
‫‪2%‬‬
‫‪10%‬‬
‫‪8%‬‬

‫‪13%‬‬ ‫‪8%‬‬
‫‪6%‬‬

‫ﻓﻜﻤـﺎ هـﻮ ﻣﻮﺿـﺢ ﻓﻲ اﻟﺸﻜـﻞ ‪ ،‬إذا ﻣﺎ أدرﻧـﺎ هـﺬﻩ اﻟﻤﺴﺎﺣـﺔ‬ ‫„‬


‫ﻋﻠﻰ ﻏـﺮار ﻋﺠﻠﺔ اﻟﺤﻆ )‪ (Wheel of Fortune‬ﻓﺤﻈﻮظ‬
‫اﻟﻤﺴﺎﺣﺎت اﻷآﺒﺮ ﻣﻦ اﻟﻄﺒﻴﻌﻲ أن ﺗﻜـﻮن أوﻓـﺮ ﻣﻦ ﻏﻴﺮهﺎ‬

‫‪25‬‬ ‫‪ABA‬‬
‫اﻟﻌﺒﻮر اﻟﻜﺮوﻣﻮﺳﻮﻣﻲ‬
‫)‪(Crossover‬‬
‫ﺗﺘﻢ هﺬﻩ اﻟﻌﻤﻠﻴﺔ ﻋﻠﻰ ﻧﺴﺒﺔ ﻣﻌﻴﻨﺔ ﻣﻦ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت‬ ‫„‬
‫)ﻣﺜﻞ ‪ 50‬أو ‪(% 60‬‬
‫ﺑﻌﺪ أن ﻳﺘﻢ ﺗﺤﺪﻳﺪ ﻧﻘﻄﺔ اﻟﺘﺒﺎدل ﻋﺸﻮاﺋﻴ ًﺎ ﻳﺘﺒﺎدل اﻟﻮاﻟﺪان ﺟﺰءًا ﻣﻦ‬ ‫„‬
‫ﺳﻠﺴﻠﺔ أرﻗﺎﻣﻬﻤﺎ اﻟﺜﻨﺎﺋﻴﺔ اﻟﻮاﻗﻊ ﺑﻌﺪ ﻧﻘﻄﺔ اﻟﻌﺒﻮر اﻟﻜﺮوﻣﻮﺳﻮﻣﻲ‬
‫اﻟﻤﻮﻟﻮد اﻷول‪00001111 :‬‬ ‫اﻟﻮاﻟﺪ اﻷول‪00000000 :‬‬
‫اﻟﻤﻮﻟﻮد اﻟﺜﺎﻧﻲ ‪11110000 :‬‬ ‫اﻟﻮاﻟﺪ اﻟﺜﺎﻧﻲ ‪11111111 :‬‬

‫اﻟﻤﻮﻟﻮد اﻟﺜﺎﻟﺚ‪01010111 :‬‬ ‫اﻟﻮاﻟﺪ اﻟﺜﺎﻟﺚ‪01010111 :‬‬


‫اﻟﻤﻮﻟﻮد اﻟﺮاﺑﻊ ‪10000111 :‬‬ ‫اﻟﻮاﻟﺪ اﻟﺮاﺑﻊ‪10000111 :‬‬

‫‪26‬‬ ‫‪ABA‬‬
‫اﻟﻄﻔﺮة )‪(Mutation‬‬
‫ﺗﺄﺗﻲ ﻋﻤﻠﻴﺔ اﻟﻄﻔﺮة أو اﻟﺘﻐﻴﺮ اﻟﻤﻔﺎﺟﺊ ﻣﺒﺎﺷﺮة ﺑﻌﺪ ﻋﻤﻠﻴﺔ اﻟﻌﺒﻮر‬ ‫„‬
‫اﻟﻜﺮوﻣﻮﺳﻮﻣﻲ‬
‫ﺗﻄﺒﻖ هﺬﻩ اﻟﻌﻤﻠﻴﺔ ﻋﻠﻰ ﻧﺴﺒﺔ ﺿﺌﻴﻠـﺔ ﺟﺪًا ﻣﻦ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت‬ ‫„‬
‫اﻟﻤﻮﻟـﺪة )ﻓﻲ ﺣـﺪود ‪(% 1‬‬
‫اﻟﻜﺮوﻣﻮﺳﻮم اﻟﺠﺪﻳﺪ‬ ‫اﻷرﻗﺎم اﻟﻌﺸﻮاﺋﻴﺔ‬ ‫اﻟﻜﺮوﻣﻮﺳﻮم اﻟﻘﺪﻳﻢ‬
‫‪0111‬‬ ‫‪0.321 0.800 0.320 0.003‬‬ ‫‪0110‬‬
‫‪1100‬‬ ‫‪0.990 0.120 0.001 0.600‬‬ ‫‪1110‬‬
‫‪1111‬‬ ‫‪0.888 0.921 0.333 0.412‬‬ ‫‪1111‬‬

‫‪27‬‬ ‫‪ABA‬‬
‫ﻣﺜﺎل إﻳﻀﺎﺣﻲ ﻟﻠﺨﻮارزﻣﻴﺎت اﻟﻮراﺛﻴﺔ‬
‫ﻳﻮ ّد أﺣﺪ اﻟﺘﺠﺎر اﺳﺘﻌﻤﺎل ﺷﺎﺣﻨﺔ ﺗﺒﻠﻎ ﺳﻌﺔ ﺣﻤﻮﻟﺘﻬﺎ اﻟﻘﺼﻮى‬ ‫„‬
‫‪ 11000‬آﻎ وذﻟﻚ ﻟﻨﻘﻞ ﻋﺪ ٍد ﻣﻦ‪:‬‬
‫ اﻟﺴﻴﺎرات‬
‫ واﻟﺜﻼﺟﺎت‬
‫ وأﺣﻮاض ﻣﻄﺒـﺦ‬

‫اﻟﻮزن )آﻎ(‬ ‫اﻟﻘﻴﻤﺔ )ﻳﻮرو(‬


‫‪4000‬‬ ‫‪3000‬‬ ‫اﻟﺴﻴﺎرة‬
‫‪400‬‬ ‫‪280‬‬ ‫اﻟﺜﻼﺟﺔ‬
‫‪100‬‬ ‫‪50‬‬ ‫ﺣﻮض اﻟﻤﻄﺒﺦ‬

‫‪28‬‬ ‫‪ABA‬‬
‫ﺗﺘﻤﺜﻞ اﻟﻤﺸﻜﻠﺔ ﻓﻲ إﻳﺠﺎد اﻟﻌﺪد اﻟﺬي ﻳﺠﺐ ﻧﻘﻠﻪ ﻣﻦ آﻞ ﺻﻨﻒ‬ ‫„‬
‫ﺣﺘﻰ‪:‬‬
‫‹ ﻧﺤﺼﻞ ﻋﻠﻰ أآﺒﺮ ﻗﻴﻤﺔ ﻣﺎﻟﻴﺔ‬
‫‹ دون أن ﻳﺘﻌﺪى اﻟﻮزن اﻹﺟﻤﺎﻟﻲ ﺳﻌﺔ اﻟﺤﻤﻮﻟﺔ اﻟﻘﺼﻮى‬
‫‹ ﻣﻊ ﻣﺮاﻋﺎة أن ﺗﻜﻮن هﺬﻩ اﻷﻋﺪاد ﺻﺤﻴﺤﺔ دون آﺴﻮر ﻷﻧﻪ‬
‫ﻼ‪.‬‬
‫ﻟﻴﺲ ﻣﻦ اﻟﻤﻌﻘﻮل أن ﻧﻨﻘﻞ ﺳﻴﺎرﺗﺎن وﻧﺼﻒ ﻣﺜ ً‬

‫‪29‬‬ ‫‪ABA‬‬
‫ﻟﻨﻔﺘﺮض‪:‬‬ ‫„‬

‫ اﻟﺘﻌﺪاد اﻟﺴﻜﺎﻧﻲ ﻟﻠﻜﺮوﻣﻮﺳﻮﻣﺎت = ‪50‬‬


‫ ﻋﺪد اﻷﺟﻴﺎل )ﻋﺪد اﻟﺘﻜﺮار( = ‪30‬‬
‫ ﻧﺴﺒﺔ اﻟﻌﺒﻮر اﻟﻜﺮوﻣﻮﺳﻮﻣﻲ= ‪% 60‬‬
‫ ﻧﺴﺒﺔ اﻟﻄﻔﺮة= ‪% 5‬‬
‫ ﻋﺪد اﻟ ِﺒﺘّﺎت ﻟﻜﻞ آﺮوﻣﻮﺳﻮم= ‪4‬‬

‫ﻟﻴﺲ هﻨﺎك ﻗﺎﻧﻮن واﺿﺢ ﻟﺘﺤﺪﻳﺪ هﺬﻩ اﻟﻘﻴﻢ آﻤﺎ أﻧﻬﺎ ﻻ ﺗﺤﺘﺎج‬ ‫„‬
‫إﻟﻰ دراﺳﺔ ﻋﻤﻴﻘﺔ ﻻﺧﺘﻴﺎرهﺎ‪.‬‬
‫ﻓﺒﺈﻣﻜﺎﻧﻨﺎ اﺧﺘﻴﺎر ﻗﻴﻢ أﺧﺮى ﺣﺴﺐ اﻟﺨﻄﻮط اﻟﻌﺮﻳﻀﺔ واﻟﺘﻲ‬ ‫„‬
‫ﺳﺒﻖ ذآﺮهﺎ دون أن ﻧﺆﺛﺮ آﺜﻴﺮًا ﻋﻠﻰ ﻧﺘﺎﺋـﺞ اﻟﺨﻮارزﻣﻴـﺎت‬

‫‪30‬‬ ‫‪ABA‬‬
‫ﻼ إﻟﻰ دراﺳـﺔ ﻣﺘﺄﻧﻴـﺔ هﻲ داﻟـﺔ اﻟﺘﻘﻴﻴﻢ‬
‫ﻣﺎ ﻳﺤﺘـﺎج ﻓﻌ ً‬ ‫„‬
‫)‪(Fitness Function‬‬
‫إن اﺧﺘﻴﺎر هﺬﻩ اﻟﺪاﻟﺔ ﻣﺮﺗﺒﻂ ارﺗﺒﺎﻃ ًﺎ وﺛﻴﻘ ًﺎ ﺟﺪًا ﺑﻔﻌﺎﻟﻴﺔ‬ ‫„‬
‫اﻟﺨﻮارزﻣﻴﺎت اﻟﺘﻲ ﻻ ﺗﻌﺮف ﺷﻴﺌ ًﺎ ﻋﻦ ﻃﺒﻴﻌﺔ اﻟﻤﺴﺄﻟﺔ إﻻ ﻋﻦ‬
‫ﻃﺮﻳﻖ داﻟﺔ اﻟﺘﻘﻴﻴﻢ‬
‫وﺑﺎﻟﺘﺎﻟﻲ‪ ،‬ﻳﺠﺐ أن ﺗﻌﻜﺲ هﺬﻩ اﻟﺪاﻟﺔ وﺑﻜﻞ دﻗﺔ ﻃﺒﻴﻌﺔ اﻟﻤﺴﺄﻟﺔ‬ ‫„‬
‫وﻣﺎ ﺗﺘﻄﻠﺒﻪ ﻣﻦ ﺿﻮاﺑﻂ‬

‫‪31‬‬ ‫‪ABA‬‬
‫ﻗﺒﻞ ﻋـﺮض اﻟﺪاﻟـﺔ اﻟﺘﻲ ﺗﻢ اﺧﺘﻴﺎرهﺎ ﻟﻨﻌﺮّف ﺑﻌﺾ اﻟﻤﺘﻐﻴﺮات‬ ‫„‬
‫واﻟﺜﻮاﺑﺖ وهﻲ‪:‬‬

‫‪ = Pr‬ﺳﻌﺮ اﻟﺜﻼﺟﺔ = ‪280‬‬ ‫‪ = Pa‬ﺳﻌﺮ اﻟﺴﻴﺎرة = ‪3000‬‬


‫‪ = Wa‬وزن اﻟﺴﻴﺎرة = ‪4000‬‬ ‫‪ = Pk‬ﺳﻌﺮ اﻟﺤﻮض = ‪50‬‬
‫‪ = Wk‬وزن اﻟﺤﻮض = ‪100‬‬ ‫‪ = Wr‬وزن اﻟﺜﻼﺟﺔ = ‪400‬‬
‫‪ = na‬ﻋﺪد اﻟﺴﻴﺎرات‬ ‫‪ = maxw‬اﻟﺤﻤﻮﻟﺔ = ‪11000‬‬
‫‪ = nk‬ﻋﺪد اﻷﺣﻮاض‬ ‫‪ = nr‬ﻋﺪد اﻟﺜﻼﺟﺎت‬

‫‪32‬‬ ‫‪ABA‬‬
‫إن اﻟﻘﻴﻢ اﻟﺜﻼﺛﺔ اﻷﺧﻴﺮة )‪ (na, nr, nk‬هﻲ ﻣﺎ ﻧﺴﻌﻰ ﻹﻳﺠﺎدﻩ‬ ‫„‬

‫ﺣﻴﻨﻤﺎ ﺗﻮﻓﺮت هﺬﻩ اﻟﻘﻴﻢ ﻳﻤﻜﻨﻨﺎ ﺣﺴﺎب اﻟﻘﻴﻤﺔ اﻟﻤﺎﻟﻴﺔ ﻟﻠﻤﻮاد‬ ‫„‬
‫اﻟﻤﺸﺤﻮﻧﺔ ﺣﺴﺐ اﻟﻤﻌﺎدﻟﺔ اﻟﺘﺎﻟﻴﺔ‪:‬‬
‫)‪Value = (na) (Pa) + (nr) (Pr) + (nk) (Pk‬‬

‫آﻤﺎ ﻳﻤﻜﻨﻨﺎ ﺣﺴﺎب اﻟﻮزن اﻹﺟﻤﺎﻟﻲ ﺣﺴﺐ اﻟﻤﻌﺎدﻟﺔ اﻟﺘﺎﻟﻴﺔ‪:‬‬ ‫„‬

‫)‪Weight = (na) (Wa) + (nr) (Wr) + (nk) (Wk‬‬

‫‪33‬‬ ‫‪ABA‬‬
‫ﻣﻦ هﻨﺎ‪ ،‬ﻳﺼﺒﺢ اﻟﻬﺪف هﻮ اﻟﺒﺤﺚ ﻋﻦ ﻗﻴﻢ اﻟـ ‪na, nr, nk‬‬ ‫„‬
‫اﻟﺘﻲ ﺗﻌﻄﻴﻨﺎ أآﺒﺮ ﻗﻴﻤﺔ ﻣﺎﻟﻴﺔ ﻣﻤﻜﻨـﺔ واﻟﺘﻲ ﺳﻤﻴﻨﺎهـﺎ ‪Value‬‬
‫ﺷﺮﻳﻄـﺔ أﻻ ﻳﺘﻌـﺪى اﻟﻮزن اﻹﺟﻤﺎﻟﻲ)‪ (Weight‬اﻟﺤﻤﻮﻟـﺔ‬ ‫„‬
‫اﻟﻘﺼﻮى ‪ maxw‬واﻟﻤﺤﺪدة ﺑـ ‪11000‬‬
‫ﺣﺴﺐ هﺬﻩ اﻟﻤﻌﻄﻴﺎت‪ ،‬هﻨﺎك ﻋﺪد آﺒﻴﺮ ﻣﻦ داﻻت اﻟﺘﻘﻴﻴﻢ اﻟﺘﻲ‬ ‫„‬
‫ﺗﻔﻲ ﺑﻬﺬا اﻟﻐﺮض ورﺑﻤﺎ أﺑﺴﻄﻬﺎ وﻟﻴﺲ ﺑﺎﻟﻀﺮورة أﺣﺴﻨﻬﺎ‬
‫هﻲ اﻟﺪاﻟﺔ اﻟﺘﺎﻟﻴﺔ‪:‬‬

‫‪34‬‬ ‫‪ABA‬‬
‫‪Value‬‬
‫‪=Fitness‬‬
‫‪1 + (max w‬‬ ‫‪− Weight)2‬‬

‫وﺑﻬﺬا‪ ،‬ﺗﺼﻞ ﻗﻴﻤﺔ اﻟﻠﻴﺎﻗﺔ )‪ (Fitness‬أﻋﻠﻰ ﻣﺴﺘﻮﻳﺎﺗﻬﺎ ﻋﻨﺪﻣﺎ‬ ‫„‬


‫ﻧﺤﺼﻞ)آﻤﺎ هﻮ اﻟﻤﻄﻠﻮب( ﻋﻠﻰ‪:‬‬

‫‹ أﻋﻠﻰ ﻗﻴﻤﺔ ﻟﻠﻤﺘﻐﻴـﺮ )‪(Value‬‬


‫‹ وأﻗﺮب وزن إﺟﻤـﺎﻟـﻲ )‪ (Weight‬ﻣﻦ اﻟﺤﻤﻮﻟـﺔ اﻟﻘﺼﻮى‬

‫‪35‬‬ ‫‪ABA‬‬
‫ﺗﺮﻣﻴﺰ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت‬
‫أوﻻً‪ ،‬اﺧﺘﺮﻧﺎ أن ﺗﺘﻜﻮن اﻟﺤﻠﻮل ﻣﻦ أرﺑﻌﺔ ﺑﺘﺎت ﻓﻘﻂ ﺑﺤﻴﺚ‬ ‫„‬
‫ﻳﻜﻮن اﻟﺤ ّﺪ اﻷﻗﺼﻰ ﻟﻌﺪد اﻟﺴﻴﺎرات أو اﻟﺜﻼﺟﺎت أو اﻷﺣﻮاض‬
‫هﻮ ‪ 1111‬أي ‪15‬‬
‫ﺑﺎﺧﺘﻴﺎر ‪ِ 4‬ﺑﺘّﺎت ﻟﻜﻞ ﻣﺘﻐﻴﺮ‪ ،‬ﻳﻜﻮن اﻟﻜﺮوﻣﻮﺳﻮم‬ ‫„‬
‫‪ 101100101001‬ﻋﺒﺎرة ﻋﻦ ﺗﺮﻣﻴﺰ ﻟﻠﺤﻞ اﻟﺘﺎﻟﻲ‪:‬‬
‫‹ ‪na = 1011 = 11‬‬
‫‹ ‪nr = 0010 = 2‬‬
‫‹ ‪nk = 1001 = 9‬‬

‫‪36‬‬ ‫‪ABA‬‬
‫ﺑﺘﻮﻟﻴﺪ ﺗﺠﻤ ٍﻊ ﺳﻜﺎﻧﻲ ﻳﻀﻢ ‪ 50‬آﻮرﻣﻮﺳﻮﻣﺎ آﻤﺎ اﺧﺘﺮﻧﺎ ﻟﻬﺬﻩ‬ ‫„‬
‫اﻟﻤﺴﺄﻟﺔ‪:‬‬
‫ ﻧﻘﻴّﻢ ﻟﻴﺎﻗﺔ آﻞ ﻣﻨﻬﺎ ﺛﻢ‬
‫ ﻧﻘﻮم ﺑﻌﻤﻠﻴﺔ اﺧﺘﻴﺎر اﻟﻮاﻟﺪﻳﻦ‬
‫ ﻓﻌﻤﻠﻴﺔ اﻟﻌﺒﻮر اﻟﻜﺮوﻣﻮﺳﻮﻣﻲ‬
‫ ﺛﻢ اﻟﻄﻔﺮة‬
‫ وﻧﻨﺘﻬﻲ ﺑﺘﻮﻟﻴﺪ ﺟﻴﻞ ﺟﺪﻳﺪ‬
‫ﺑﻌﺪ ذﻟﻚ ﻳﺘﻢ ﺗﻘﻴﻴﻢ اﻟﻠﻴﺎﻗﺔ ﻣﺠﺪدًا وﺗﺘﻜﺮر هﺬﻩ اﻟﻌﻤﻠﻴﺎت ﻟﻤﺪة‬ ‫„‬
‫ﻼ وهﻮ ﻋﺪد اﻷﺟﻴﺎل اﻟﺘﻲ ﺗﻢ ﺗﺤﺪﻳﺪﻩ ﺁﻧﻔ ًﺎ‬‫‪ 30‬ﺟﻴ ً‬
‫ﻋﻨﺪ اﻧﺘﻬﺎء اﻟﺨﻮارزﻣﻴﺎت اﻟﻮراﺛﻴﺔ ﻣﻦ آﻞ هﺬﻩ اﻟﻌﻤﻠﻴﺎت‬ ‫„‬
‫ﻧﺤﺼﻞ ﻋﻠﻰ ﻟﻴﺎﻗﺔ آﻞ ﺟﻴﻞ واﻟﺤ ّﻞ اﻷﻣﺜﻞ ﻟﻬﺬﻩ اﻟﻤﺴﺄﻟﺔ‬

‫‪37‬‬ ‫‪ABA‬‬
‫ﻟﻴﺎﻗﺔ اﻷﺟﻴﺎل‬
‫ﻣﻦ اﻟﺮاﺑﻊ إﻟﻰ‬ ‫اﻟﺠﻴﻞ اﻷول اﻟﺜﺎﻧﻲ اﻟﺜﺎﻟﺚ‬
‫اﻟﺜﻼﺛﻴﻦ‬
‫‪8060‬‬ ‫‪0.2‬‬ ‫‪0.2‬‬ ‫‪0‬‬ ‫اﻟﻠﻴﺎﻗﺔ‬

‫اﻟﺤﻞ اﻻﻣﺜﻞ‬
‫اﻟﻮزن‬ ‫اﻟﻘﻴﻤﺔ‬ ‫ﻋﺪد‬ ‫ﻋﺪد‬ ‫ﻋﺪد‬
‫اﻷﺣﻮاض اﻹﺟﻤﺎﻟﻴﺔ اﻹﺟﻤﺎﻟﻲ‬ ‫اﻟﺴﻴﺎرات اﻟﺜﻼﺟﺎت‬
‫‪11000‬‬ ‫‪8060‬‬ ‫‪2‬‬ ‫‪7‬‬ ‫‪2‬‬

‫‪38‬‬ ‫‪ABA‬‬
‫اﻟﺠﺪﻳﺮ ﺑﺎﻟﺬآﺮ هﻨﺎ‪ ،‬أﻧﻪ آﻠﻤﺎ ازدادت اﻟﻤﺴﺄﻟﺔ ﺻﻌﻮﺑﺔ وﺗﻌﻘﻴﺪًا‬ ‫„‬
‫آﻠﻤﺎ زاد اﻹﺣﺴﺎس ﺑﺄهﻤﻴﺔ وﻓﻌﺎﻟﻴﺔ اﻟﺨﻮارزﻣﻴﺎت اﻟﻮراﺛﻴﺔ‪.‬‬
‫إﺿﺎﻓﺔ إﻟﻰ ذﻟﻚ ﻧﺸﻴﺮ إﻟﻰ أن اﻟﺒﺮﻧﺎﻣﺞ اﻟﺬي آُﺘﺐ ﻟﺤﻞ هﺬﻩ‬ ‫„‬
‫اﻟﻤﺴﺄﻟﺔ ﻳﻤﻜﻦ اﺳﺘﻌﻤﺎﻟﻪ ﻟﺤﻞ أي ﻣﺸﻜﻠﺔ أﺧﺮى ﻓﻘﻂ ﺑﺘﻐﻴﻴﺮ‬
‫داﻟﺔ اﻟﺘﻘﻴﻴﻢ ورﺑﻤﺎ ﻋﺪد اﻟﺒﺘّﺎت )إذا آﺎﻧﺖ هﻨﺎك ﺣﺎﺟﺔ( ﺷﺮﻳﻄﺔ‬
‫أن ﻳﻜﻮن ﻋﺪد اﻟﻤﺘﻐﻴﺮات ﺛﻼﺛﺔ‪.‬‬
‫أﻣﺎ ﻓﻲ ﺣﺎﻟﺔ اﺧﺘﻼف ﻋﺪد اﻟﻤﺘﻐﻴﺮات ﻓﻴﺠﺐ اﻟﻘﻴﺎم ﺑﺒﻌﺾ‬ ‫„‬
‫اﻟﺘﻐﻴﻴﺮات اﻟﻄﻔﻴﻔﺔ ﻟﻀﻤﺎن ﺗﺸﻐﻴﻞ اﻟﺒﺮﻧﺎﻣﺞ ﺑﺸﻜﻞ ﺻﺤﻴﺢ‪.‬‬

‫‪39‬‬ ‫‪ABA‬‬
‫ﺗﺤﺴﻴﻨﺎت إﺿﺎﻓﻴﺔ‬
‫ﻋﻠﻰ اﻟﺨﻮارزﻣﻴﺎت اﻟﻮراﺛﻴﺔ‬

‫‪GA‬‬

‫‪40‬‬ ‫‪ABA‬‬
‫ﻣﻌﺎﻳﺮة داﻟﺔ اﻟﺘﻘﻴﻴﻢ‬
‫ﺗﻌﺘﺒﺮ داﻟﺔ اﻟﺘﻘﻴﻴﻢ‪ ،‬وآﻤﺎ أآﺪﻧﺎ ﺳﺎﺑﻘﺎً‪ ،‬ﻣﻦ أهﻢ ﻋﻤﻠﻴﺎت‬ ‫„‬
‫اﻟﺨﻮارزﻣﻴﺎت اﻟﻮراﺛﻴﺔ‪ .‬وﺳﻮء اﺧﺘﻴﺎر هﺬﻩ اﻟﺪاﻟﺔ ﻳﺆﺛﺮ ﺳﻠﺒ ًﺎ‬
‫ﻋﻠﻰ أداء ﻋﻤﻠﻴﺔ اﻻﺳﺘﻘﺼﺎء‬
‫إن ﻟﻴﺎﻗﺔ اﻟﻜﺮوﻣﻮﺳﻮم ﻣﻘﺎرﻧﺔ ﺑﺎﻟﻤﻌﺪل اﻟﻌﺎم ﻟﻠﻴﺎﻗﺔ اﻟﺠﻴﻞ هﻲ‬ ‫„‬
‫اﻟﺘﻲ ﺗﺤﺪد ﻓﺮﺻﺔ اﻻﻧﺘﻘﺎء‬
‫وﺑﺎﻟﺘﺎﻟﻲ إذا آﺎﻧﺖ ﻟﻴﺎﻗﺔ آﺮوﻣﻮﺳﻮم ﻣّﺎ ﺛﻼﺛﺔ أﺿﻌﺎف ﻣﻌﺪل‬ ‫„‬
‫اﻟﻠﻴﺎﻗﺔ ﻓﺈن هﺬا اﻟﻜﺮوﻣﻮﺳﻮم ﻗﺪ ﻳﻔﺮز ﺛﻼﺛﺔ ﻧﺴﺦ ﻓﻲ اﻟﺠﻴﻞ‬
‫اﻟﺘﺎﻟﻲ‬

‫‪41‬‬ ‫‪ABA‬‬
‫أﻣّﺎ إذا آﺎﻧﺖ ﺟﻤﻴﻊ اﻟﻠﻴﺎﻗﺎت ﻣﺘﻘﺎرﺑﺔ )ﻧﺘﻴﺠﺔ ﺳﻮء اﺧﺘﻴﺎر داﻟﺔ‬ ‫„‬
‫اﻟﺘﻘﻴﻴﻢ( ﻓﺴﺘﺼﺒﺢ ﻋﻤﻠﻴﺔ اﻻﻧﺘﻘﺎء ﺑﺪون ﻓﻌﺎﻟﻴﺔ‬
‫آﻤﺜﺎل ﻋﻠﻰ ذﻟﻚ‪ ،‬ﻳﺤﺘﻮي اﻟﺠﺪول ﻋﻠﻰ ﻗﻴﻢ ﻟﻴﺎﻗﺔ ﺧﻤﺴﺔ‬ ‫„‬
‫آﺮوﻣﻮﺳﻮﻣﺎت آﻠﻬﺎ ﻗﺮﻳﺒﺔ ﺟﺪًا ﻣﻦ ﻣﻌﺪل اﻟﻠﻴﺎﻗﺔ وﺑﺎﻟﺘﺎﻟﻲ آﻠﻬﺎ‬
‫ﻣﺘﻘﺎرﺑﺔ ﻣﻤﺎ ﻳﺤﺪ ﻣﻦ ﻓﻌﺎﻟﻴﺔ اﻻﻧﺘﻘﺎء‬

‫‪5‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫ﺍﻟﻜﺮﻭﻣﻮﺳﻮﻡ‬


‫‪100.075 100.215 100.991 100.007 100.320‬‬ ‫ﺍﻟﻠﻴﺎﻗﺔ‬

‫‪42‬‬ ‫‪ABA‬‬
‫ﻟﺤﻞ هﺬﻩ اﻟﻤﺸﻜﻠﺔ‪ ،‬ﻳﻤﻜﻦ اﻻﻟﺘﺠﺎء إﻟﻰ ﻣﻌﺎﻳﺮة داﻟﺔ اﻟﺘﻘﻴﻴﻢ‬ ‫„‬
‫)‪(Normalization‬‬
‫ﻓﻠﻮ ﺧﺼﻤﻨﺎ ‪ 100‬ﻣﻦ ﻗﻴﻤﺔ اﻟﻠﻴﺎﻗﺔ اﻟﻤﺪرﺟﺔ ﻓﻲ اﻟﺠﺪول اﻟﺴﺎﺑﻖ‬ ‫„‬
‫ﻧﻼﺣﻆ أن ﻋﻤﻠﻴﺔ اﻻﻧﺘﻘﺎء ﺗﺘﻢ ﻓﻲ ﻇﺮوف أﻓﻀﻞ ﺑﻜﺜﻴﺮ وﺗﻌﻜﺲ‬
‫ﻟﻴﺎﻗﺔ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت ﺑﺸﻜﻞ أﺻﺢ‬

‫‪43‬‬ ‫‪ABA‬‬
‫ﺍﳌﻌﺪﻝ‬ ‫‪5‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫ﺍﻟﻜﺮﻭﻣﻮﺳﻮﻡ‬

‫‪100.3216 100.075 100.215 100.991 100.007 100.320‬‬ ‫ﺍﻟﻠﻴﺎﻗﺔ ﺍﻷﺻﻠﻴﺔ‬

‫ﻣﻌﺎﻳﺮﺓ ﺍﻟﻠﻴﺎﻗﺔ ﲞﺼﻢ‬


‫‪0.3216‬‬ ‫‪0.075‬‬ ‫‪0.215‬‬ ‫‪0.991‬‬ ‫‪0.007‬‬ ‫‪0.320‬‬
‫‪100‬‬

‫‪1.0‬‬ ‫‪0.9975‬‬ ‫‪0.9989‬‬ ‫‪1.0067‬‬ ‫‪0.9969‬‬ ‫‪0.9999‬‬ ‫ﻧﺴﺒﺔ ﺍﻟﻠﻴﺎﻗﺔ ﺍﻷﺻﻠﻴﺔ‬

‫ﻧﺴﺒﺔ ﺍﻟﻠﻴﺎﻗﺔ ﺑﻌﺪ‬


‫‪1.0‬‬ ‫‪0.2332‬‬ ‫‪0.6685‬‬ ‫‪3.0815‬‬ ‫‪0.0218‬‬ ‫‪0.9950‬‬
‫ﺍﳌﻌﺎﻳﺮﺓ‬

‫‪44‬‬ ‫‪ABA‬‬
‫ﻋﻮﺿ ًﺎ ﻋﻦ ﺧﺼﻢ ‪ 100‬ﻣﻦ ﻗﻴﻤﺔ اﻟﻠﻴﺎﻗﺔ ﻓﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ آﺎن ﻣﻦ‬ ‫„‬
‫اﻟﻤﻤﻜﻦ ﺗﺮﺗﻴﺐ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت ﻣﻦ اﻷﺣﺴﻦ إﻟﻰ اﻷﺳﻮأ ﺛﻢ‬
‫إﻋﻄﺎءهﺎ ﻟﻴﺎﻗﺔ ﺟﺪﻳﺪة آﺄن ﻧﻌﻄﻲ ‪ 10‬ﻷﺣﺴﻨﻬﺎ ﺛﻢ ‪ 8‬ﻟﻠﺜﺎﻧﻲ و‪6‬‬
‫ﻟﻠﺜﺎﻟﺚ و‪ 4‬ﻟﻠﺮاﺑﻊ وأﺧﻴﺮًا ‪ 2‬ﻷﺳﻮﺋﻬﺎ‪ .‬أو أي ﻃﺮﻳﻘﺔ ﺗﻌﻴﻴﺮ أﺧﺮى‬
‫ﻧﺮاهﺎ ﻣﻨﺎﺳﺒﺔ‬
‫اﻟﻤﻬﻢ ﻓﻲ آﻞ هﺬا هﻮ أن ﻧﺮاﻋﻲ ﻋﺎﻣﻠﻴﻦ أﺳﺎﺳﻴﻴﻦ‪:‬‬ ‫„‬

‫اﻷول هﻮ أن ﻻ ﺗﻜﻮن آﻞ اﻟﻠﻴﺎﻗﺎت ﻣﺘﻘﺎرﺑﺔ ﻣﻦ اﻟﻤﻌﺪل اﻟﻌﺎم‬ ‫‬

‫ واﻟﺜﺎﻧﻲ هﻮ أن ﻻ ﻳﻄﻐﻰ آﺮوﻣﻮﺳﻮم وﺣﻴﺪ ﻋﻠﻰ آﻞ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت‬


‫اﻷﺧﺮى وﻳﺤﺮﻣﻬﺎ ﺗﻤﺎﻣ ًﺎ ﻣﻦ اﻻﺳﺘﻤﺮار‬

‫‪45‬‬ ‫‪ABA‬‬
‫اﻟﻨﺨﺒﻮﻳﺔ )‪(Elitism‬‬
‫ﻋﻨﺪ ﺗﻄﺒﻴﻖ اﻟﺨﻮارزﻣﻴﺎت اﻟﻮراﺛﻴﺔ ﺑﺸﻜﻠﻬﺎ اﻟﻜﻼﺳﻴﻜﻲ ﻗﺪ ﻳﻜﻮن‬ ‫„‬
‫ﻣﻦ اﻟﻮارد أن ﺗﻌﺠﺰ ﺑﻌﺾ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت اﻟﺠﻴﺪة ﻋﻦ‬
‫اﻻﺳﺘﻤﺮار ﻧﻈﺮًا ﻟﻌﺸﻮاﺋﻴﺔ اﻟﻜﺜﻴﺮ ﻣﻦ اﻟﻌﻤﻠﻴﺎت‬
‫رﻏﻢ ﻧﺪرة هﺬﻩ اﻟﺤﺎﻟﺔ‪ ،‬ﺑﺈﻣﻜﺎﻧﻨـﺎ ﺿﻤـﺎن اﺳﺘﻤﺮارﻳـﺔ‬ ‫„‬
‫اﻟﻜﺮوﻣﻮﺳﻮﻣـﺎت اﻟﺠﻴـﺪة ﺑﺎﺳﺘﻌﻤـﺎل ﻃﺮﻳﻘﺔ اﻟﻨﺨﺒﻮﻳﺔ‬

‫‪46‬‬ ‫‪ABA‬‬
‫ﻓﻲ هﺬﻩ اﻟﻄﺮﻳﻘﺔ ‪ ،‬ﻳﺘﻢ ﻧﻘﻞ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت اﻟﺠﻴﺪة ﻣﺒﺎﺷﺮة‬ ‫„‬
‫إﻟﻰ اﻟﺠﻴـﻞ اﻟﺘﺎﻟﻲ دون أن ﻧﻄﺒـﻖ ﻋﻠﻴﻬـﺎ أي ﻣﻦ ﻋﻤﻠﻴـﺎت‬
‫اﻟﺨﻮارزﻣﻴﺎت اﻟﻮراﺛﻴﺔ ﻓﻲ ﺣﻴﻦ ﺗﻤ ّﺮ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت اﻷﺧﺮى‬
‫ﺑﻜﻞ اﻟﻌﻤﻠﻴﺎت‬
‫ﻣﻦ إﻳﺠﺎﺑﻴﺎت هﺬﻩ اﻟﻄﺮﻳﻘﺔ هﻲ اﻟﺰﻳﺎدة ﻓﻲ ﻓﻌﺎﻟﻴﺔ وﺳﺮﻋﺔ‬ ‫„‬
‫اﻟﺨﻮارزﻣﻴﺎت‪ ،‬ﻟﻜﻨﻬﺎ ﺑﺎﻟﻤﻘﺎﺑﻞ ﺗﺰﻳﺪ ﻣﻦ إﻣﻜﺎﻧﻴﺔ ﻃﻐﻴﺎن‬
‫آﺮوﻣﻮﺳﻮم واﺣﺪ ﻋﻠﻰ ﺑﻘﻴﺔ اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت‬

‫‪47‬‬ ‫‪ABA‬‬
‫اﻟﺘﻮاﻟﺪ دون ﻧﺴﺦ ﻣﺘﻄﺎﺑﻘﺔ‬
‫ﻋﻨﺪ اﻟﻤﺮور ﻣﻦ ﺟﻴﻞ ﻵﺧـﺮ‪ ،‬ﺗﺘﻮاﻟـﺪ اﻟﻜﺮوﻣﻮﺳﻮﻣـﺎت وﺗﻔـﺮز‬ ‫„‬
‫ﻧﺴﺨـ ًﺎ ﻣﺘﻄﺎﺑﻘـﺔ )‪ (Duplicates‬ﺧﺼﻮﺻ ًﺎ ﻓﻲ اﻷﺟﻴﺎل‬
‫اﻟﻤﺘﺄﺧﺮة وﻳﻘﻠﻞ هﺬا ﻣﻦ ﺑﺮوز آﺮوﻣﻮﺳﻮﻣﺎت ﺟﺪﻳﺪة ﻗﺪ ﺗﻜﻮن‬
‫ذات ﻓﺎﺋﺪة‬
‫ﻟﻠﺘﺨﻠﺺ ﻣﻦ هﺬﻩ اﻟﻈﺎهﺮة‪ ،‬ﻳﻤﻜﻦ أن ﻧﺘﺨﻠﺺ ﻣﻦ ﺗﻜﺮار‬ ‫„‬
‫اﻟﻜﺮوﻣﻮﺳﻮﻣﺎت وﻧﺘﺄآﺪ ﻣﻦ وﺟﻮد ﻧﺴﺨﺔ واﺣﺪة ﻓﻘﻂ ﻣﻦ آﻞ‬
‫آﺮوﻣﻮﺳﻮم‬
‫ورﻏﻢ ﻣﺎ ﺗﻀﻴﻔﻪ هﺬﻩ اﻟﻌﻤﻠﻴﺔ ﻣﻦ ﺟﻬﺪ ﻓﻲ ﺑﺮﻣﺠﺔ‬ ‫„‬
‫اﻟﺨﻮارزﻣﻴﺎت اﻟﻮراﺛﻴﺔ إﻻ أن ﻓﺎﺋﺪﺗﻬﺎ ﺗﺴﺘﺤﻖ هﺬا اﻟﻤﺠﻬﻮد‬
‫اﻟﺰاﺋﺪ ﺧﺼﻮﺻ ًﺎ ﻓﻲ ﻣﺸﻜﻼت اﻻﺳﺘﻘﺼﺎء اﻟﻬﺎﻣﺔ‬
‫‪48‬‬ ‫‪ABA‬‬
49 ABA

You might also like