fbpx
วิกิพีเดีย

กลยุทธ์เชิงวิวัฒนาการ


ประวัติ

กลยุทธ์เชิงวิวัฒนาการถูกพัฒนาขึ้นมาโดย อิงโก เรเชนเบิร์ค Ingo Rechenberg และ ฮานส์-พอลล์ ชเวอเฟล Hans-Paul Schwefel ในช่วง 1970s ในตอนแรกนั้นกลยุทธ์เชิงวิวัฒนาการถูกพัฒนามาเพื่อ
แก้ปัญหาการออกแบบทางวิศวกรรม ในเรื่อง การหาค่าเหมาะสมของรูปร่างทางอากาศพลศาสตร์ (aerodynamic shape optimization)

ลักษณะและการหาคำตอบของกลยุทธ์เชิงวิวัฒนาการ

กลยุทธ์เชิงวิวัฒนาการมีลักษณะสำคัญดังนี้

  1. กลยุทธ์เชิงวิวัฒนาการมีการออกแบบตัวแปรจากการเขียนโปรแกรมจริงๆ เนื่องจากเป็นการออกแบบการวิวัฒนาการในระดับของลักษณะที่แสดงออก(Phenotype)ของแต่ละตัว
  2. กลยุทธ์เชิงวิวัฒนาการขึ้นอยู่กับการเลือกที่กำหนดได้และการกลายพันธุ์สำหรับการวิวัฒนาการ
  3. กลยุทธ์เชิงวิวัฒนาการใช้ตัวแปรเชิงกลยุทธ์

กลยุทธ์เชิงวิวัฒนาการนำหลักการของการวิวัฒนาการทางชีวภาพมาใช้ กล่าวคือ กระบวนกาคัดเลือกตามธรรมชาติ และกฎการอยู่รอดของผู้ที่เหมาะสมที่สุด (survival of the fittest) โดยในการทำซ้ำแต่ละครั้งจะมีการคัดเลือกเพื่อตัดคำตอบที่อ่อนแอกว่าออกไป และคำตอบที่เหลือที่มี ค่าความแข็งแรง (fitness value) สูงกว่าจะถูกนำไปทำให้แตกแล้วรวมตัวกับคำตอบอื่นๆ (recombine)
หรืออาจจะมีการเปลี่ยนแปลงค่าของคำตอบต่างๆเล็กน้อย (mutate) ทั้งการรวมตัวกับคำตอบอื่นและการเปลี่ยนแปลงค่าของคำตอบจะถูกทำไปเรื่อยๆ เพื่อสร้างคำตอบที่เหมาะสมระดับสากล (global optimization)ในกลยุทธ์เชิงวิวัฒนาการ ตัวแปรต่างๆจะถูกแทนในรูปแบบที่ มีความยาวคงที่ และ เป็นค่าจริง ในเส้นสมมติ (fixed-length real-valued vector) แต่ละตำแหน่งในเส้นสมมติจะสอดคล้องกับลักษณะของแต่ละตัวแปร


วิธีหลักในการผลิตลูกหลานของตัวแปรในกลยุทธ์เชิงวิวัฒนาการคือ การกลายพันธุ์ของเกาส์ (Gaussian Mutation) เป็นการบวกค่าสุ่มจากการกระจายของเกาส์ (Gaussian Distribution) เข้าไปในแต่ละสมาชิกของเส้นสมมติรุ่นพ่อแม่เพื่อให้ได้เส้นสมมติรุ่นลูกดังภาพ และอีกวิธีที่ถูกใช้คือ การแตกแล้วรวมตัวกันใหม่ของสารพันธุกรรมขั้นกลาง(Intermediate Recombination) ซึ่งคือการนำเส้นสมมติพ่อ เส้นสมมติแม่มาหาค่าเฉลี่ยกัน โดยทำตัวต่อตัว เพื่อสร้างเส้นสมมติรุ่นลูกดังภาพ


Gaussian Mutation


Intermediate Recombination


ในการเลือกของกลยุทธ์เชิงวิวัฒนาการนั้นมีข้อจำกัดน้อยกว่าขั้นตอนวิธีเชิงพันธุกรรม (Genetic -Algorithm) และการโปรแกรมเชิงพันธุกรรม (Genetic Programming) เพราะ ลักษณะของการแทนตัวแปรเป็นเส้นสมมตินั้นสามารถสามารถหาค่าเฉลี่ยเพื่อหาเส้นสมมติรุ่นลูกได้ง่าย โดยปกติ พ่อแม่ N ตัวจะลูกเลือกอย่างสุ่มแบบเท่าเทียมกัน ไม่ขึ้นอยู่กับค่าของพ่อแม่แต่ละตัว และลูกหลานมากกว่า N ตัวจะถูกผลิตจากการแตกแล้วรวมตัวกันใหม่ของสารพันธุกรรมพ่อแม่ แล้วจะมีการเลือกผู้รอดชีวิต N ตัวโดยมีวิธีในการเลือกที่ถูกกำหนดไว้ โดยผู้รอดชีวิตสามารถถูกเลือกได้จากลูกหลานที่ดีที่สุดN ตัว หรือ จะเลือกจากทั้งพ่อแม่และลูกหลานที่ดีที่สุด N ตัวก็ได้

รหัสเทียมของกลยุทธ์เชิงวิวัฒนาการ

Input: μ,λ,ProblemSize   //จำนวนพ่อแม่,จำนวนลูก,ขนาดปัญหา Output: S[best]    //คำตอบที่ดีที่สุดของปัญหา Population <= InitialPopulation(μ,ProblemSize) S[best] <= GetBest(Population,1) While(NotStopCondition()) children <= empty set for(i=0 to λ)    //วนแก้ปัญหาตามจำนวนลูก Parent[i] <= GetParent(Population,i) S[i] <= empty set S[iProblem] <= Mutate(P[iProblem],P[iStrategy]) //เกิดการกลายพันธุ์ของปัญหา S[iStrategy] <= Mutate(P[iStrategy]) //เกิดการกลายพันธุ์ของกลยุทธ์ Children <= S[i]   //ได้ลูกจากการกลายพันธุ์ของรุ่นพ่อแม่ EvaluatePopulation(Children) S[best] <= GetBest(Children+S[best],1) Population <= SelectBest(Population,Children,μ) return S[best]    //ส่งค่าคำตอบที่ดีที่สุดออกไป 

สัญกรณ์ของกลยุทธ์เชิงวิวัฒนาการ

สัญกรณ์ (1+1)-ES, (1+λ)-ES, (1,λ)-ES, (µ/p,λ)- บอกถึงลักษณะของกลยุทธ์เชิงวิวัฒนาการด้วยระดับของการเลียนแบบการวิวัฒนาการทางชีวภาพที่เพิ่มมากขึ้น µ บอกถึงจำนวนทั้งหมดของพ่อแม่
pบอกถึง จำนวนของพ่อแม่ที่จะถูกรวมตัวใหม่ และ λบอกถึงจำนวนลูกหลาน กระบวนการเลือกสรร จะเกิดกับลูกหลาน (เครื่องหมาย,) หรือเกิดกับทั้งรุ่นพ่อแม่และรุ่นลูกหลาน (เครื่องหมาย+)

ตัวอย่างปัญหาที่แก้ได้โดยกลยุทธ์เชิงวิวัฒนาการ

ปัญหาการเดินทางของพนักงานขาย (The Travelling Salesman Problem) พนักงานขายต้องการเดินทางไปยังเมือง N เมืองโดยให้มีระยะทางสั้นที่สุด และทุกๆเมืองต้องถูกเดินทางผ่านเพียงครั้งเดียว และในตอนจบของการเดินทางพนักงานขายต้องกลับมายังเมืองแรกที่เราออกเดินทาง โดยในตัวอย่างนี้จะเป็นปัญหาการเดินทางของพนักงานขายที่สมมาตร กล่าวคือ ระยะทางระหว่างเมือง 2 เมืองนั้นไม่ขึ้นอยู่กับทิศทาง

การแก้ปัญหาการเดินทางของพนักงานขายด้วยกลยุทธ์เชิงวิวัฒนาการ มันจำเป็นที่เราจะต้องมั่นใจว่า ความสัมพันธ์ระหว่างเหตุและผลอย่างรุนแรง (strong causality)นั้นเป็นจริง กล่าวคือ การเปลี่ยนแปลงเล็กน้อยในเส้นทางการเดินทางนั้นส่งผลกระทบเล็กน้อยต่อระยะทางในการเดินทาง กระบวนการกลายพันธุ์ 4 แบบถูกใช้ดังนี้

1. การสลับบางส่วนของเส้นทางการเดินทาง (Inversion aka Lin-2-Opt)

2. การแทรกเมืองลงไปในจุดอื่นของเส้นทางการเดินทาง (Insertion aka Or-Opt)

3. การแลกเปลี่ยนซึ่งกันและกันของเมือง 2 เมือง (Reciprocal exchange aka 2-Exchange)

4. การเลื่อนกลุ่มของเส้นทางการเดินทาง (Displacement aka Shifting)

ดังภาพตัวอย่าง

การที่แต่ละกระบวนการกลายพันธุ์ถูกใช้กับส่วนใดๆของเส้นทางการเดินทาง มันอาจจะเป็นไปได้ว่าความสัมพันธ์ระหว่างเหตุและผลอย่างรุนแรงอาจจะไม่เป็นจริง ฉะนั้นระยะทางระหว่างแต่ละเมืองกับเมืองใดๆต้องถูกพิจารณาในทุกๆครั้งที่ใช้กระบวนการกลายพันธุ์ ตัวอย่างเช่น ในการทำการสลับบางส่วนของเส้นทางการเดินทาง เฉพาะบางส่วนของเส้นทางการเดินทางระหว่างเมืองที่ติดกันเท่านั่นที่ถูกสลับ ยิ่งไปกว่านั้นกระบวนการกลายพันธุ์มีการกำหนดการรวมตัวใหม่ที่เฉพาะ เจาะจงด้วย ทำให้กระบวนการรวมตัวใหม่ในปัญหานี้แตกต่างจากการรวมตัวใหม่ของกลยุทธ์เชิงวิวัฒนาการทั่วๆไป เพราะเราต้องพิจารณาว่าการรวมตัวใหม่ต้องให้ผลลัพธ์ของเส้นทางการเดินทางที่สามารถเป็นคำตอบได้เท่านั้น ดังนั้นกระบวนการกลายพันธุ์นี้ไม่ได้มีลักษณะแบบสุ่ม แต่มีลักษณะที่กำหนดไว้แล้ว พ่อแม่ 1 ตัวจาก R ตัวที่จะนำไปรวมตัวใหม่ถูกเลือกจากพ่อแม่เริ่มต้นแบบสุ่ม ในเส้นทางการเดินทางของพ่อแม่เริ่มต้นนี้จะมี 1เมืองถูกเลือกขึ้นมาแบบสุ่มและถูกกำหนดเป็นเมืองแรกในเส้นทางการเดินทางของตัวลูกหลาน (สมมติเรียกว่าเมือง A) สำหรับพ่อแม่แต่ละตัวใน R ตัว เมืองที่อยู่ติดซ้ายขวากับเมือง A จะถูกพิจารณา เมืองที่มีระยะทางที่ใกล้ที่สุดจะถูกเลือกจากความน่าจะเป็น 2*R และเมืองนั้นจะกลายเป็นเมืองที่ 2 ในเส้นทางการเดินทาง (เมือง B) และกระบวนการเดียวกันจะถูกกระทำกับเมืองที่อยู่ติดเมือง B เพื่อสร้างเมือง C และทำต่อไปเรื่อยๆจนจบการเดินทาง ถ้าในทุกๆครั้งของการเลือกมีความน่าจะเป็นเท่ากับ 2*R เมืองที่มีระยะทางใกล้ที่สุดย่อมต้องถูกเลือกอย่างแน่นอน

สมการผลลัพธ์ของปัญหาการเดินทางของพนักงานขาย

 

di,(i+1) ระยะทางระหว่างเมืองที่ i และเมืองที่ i+1 ของการเดินทาง และ dn,1 คือ ระยะทางระหว่างเมืองแรกกับเมืองสุดท้ายของการเดินทาง

ดูเพิ่ม

Evolutionary Strategy book 2011-08-28 ที่ เวย์แบ็กแมชชีน

อ้างอิง

  1. http://www.bionik.tu-berlin.de/institut/xn2rechenb.html
  2. http://ls11-www.cs.uni-dortmund.de/people/schwefel/cvE.html
  3. . คลังข้อมูลเก่า เก็บจาก แหล่งเดิม เมื่อ 2011-09-14. สืบค้นเมื่อ 2011-09-29.
  4. http://www.bionik.tu-berlin.de/institut/xs2evost.html
  5. . คลังข้อมูลเก่า เก็บจาก แหล่งเดิม เมื่อ 2011-09-27. สืบค้นเมื่อ 2011-09-29.

แหล่งข้อมูลอื่น

กลย, ทธ, เช, งว, ฒนาการ, บทความน, องการข, อความอธ, บายความสำค, ญท, กระช, และสร, ปเน, อหาไว, อหน, าแรกของบทความเน, อหา, ประว, กษณะและการหาคำตอบของ, รห, สเท, ยมของ, ญกรณ, ของ, วอย, างป, ญหาท, แก, ได, โดย, เพ, างอ, แหล, งข, อม, ลอ, นประว, แก, ไขถ, กพ, ฒนาข, นมาโด. bthkhwamnitxngkarkhxkhwamxthibaykhwamsakhythikrachb aelasrupenuxhaiwyxhnaaerkkhxngbthkhwamenuxha 1 prawti 2 lksnaaelakarhakhatxbkhxngklyuththechingwiwthnakar 3 rhsethiymkhxngklyuththechingwiwthnakar 4 sykrnkhxngklyuththechingwiwthnakar 5 twxyangpyhathiaekidodyklyuththechingwiwthnakar 6 duephim 7 xangxing 8 aehlngkhxmulxunprawti aekikhklyuththechingwiwthnakarthukphthnakhunmaody xingok erechnebirkh 1 Ingo Rechenberg aela hans phxll chewxefl 2 Hans Paul Schwefel inchwng 1970s intxnaerknnklyuththechingwiwthnakarthukphthnamaephux aekpyhakarxxkaebbthangwiswkrrm ineruxng karhakhaehmaasmkhxngruprangthangxakasphlsastr aerodynamic shape optimization lksnaaelakarhakhatxbkhxngklyuththechingwiwthnakar aekikhklyuththechingwiwthnakarmilksnasakhydngni 3 klyuththechingwiwthnakarmikarxxkaebbtwaeprcakkarekhiynopraekrmcring enuxngcakepnkarxxkaebbkarwiwthnakarinradbkhxnglksnathiaesdngxxk Phenotype khxngaetlatw klyuththechingwiwthnakarkhunxyukbkareluxkthikahndidaelakarklayphnthusahrbkarwiwthnakar klyuththechingwiwthnakarichtwaeprechingklyuththklyuththechingwiwthnakarnahlkkarkhxngkarwiwthnakarthangchiwphaphmaich klawkhux krabwnkakhdeluxktamthrrmchati aelakdkarxyurxdkhxngphuthiehmaasmthisud survival of the fittest odyinkarthasaaetlakhrngcamikarkhdeluxkephuxtdkhatxbthixxnaexkwaxxkip aelakhatxbthiehluxthimi khakhwamaekhngaerng fitness value sungkwacathuknaipthaihaetkaelwrwmtwkbkhatxbxun recombine hruxxaccamikarepliynaeplngkhakhxngkhatxbtangelknxy mutate thngkarrwmtwkbkhatxbxunaelakarepliynaeplngkhakhxngkhatxbcathukthaiperuxy ephuxsrangkhatxbthiehmaasmradbsakl global optimization inklyuththechingwiwthnakar twaeprtangcathukaethninrupaebbthi mikhwamyawkhngthi aela epnkhacring inesnsmmti fixed length real valued vector aetlataaehnnginesnsmmticasxdkhlxngkblksnakhxngaetlatwaeprwithihlkinkarphlitlukhlankhxngtwaeprinklyuththechingwiwthnakarkhux karklayphnthukhxngekas Gaussian Mutation epnkarbwkkhasumcakkarkracaykhxngekas Gaussian Distribution ekhaipinaetlasmachikkhxngesnsmmtirunphxaemephuxihidesnsmmtirunlukdngphaph aelaxikwithithithukichkhux karaetkaelwrwmtwknihmkhxngsarphnthukrrmkhnklang Intermediate Recombination sungkhuxkarnaesnsmmtiphx esnsmmtiaemmahakhaechliykn odythatwtxtw ephuxsrangesnsmmtirunlukdngphaph Gaussian Mutation Intermediate Recombinationinkareluxkkhxngklyuththechingwiwthnakarnnmikhxcakdnxykwakhntxnwithiechingphnthukrrm Genetic Algorithm aelakaropraekrmechingphnthukrrm Genetic Programming ephraa lksnakhxngkaraethntwaeprepnesnsmmtinnsamarthsamarthhakhaechliyephuxhaesnsmmtirunlukidngay odypkti phxaem N twcalukeluxkxyangsumaebbethaethiymkn imkhunxyukbkhakhxngphxaemaetlatw aelalukhlanmakkwa N twcathukphlitcakkaraetkaelwrwmtwknihmkhxngsarphnthukrrmphxaem aelwcamikareluxkphurxdchiwit N twodymiwithiinkareluxkthithukkahndiw odyphurxdchiwitsamarththukeluxkidcaklukhlanthidithisudN tw hrux caeluxkcakthngphxaemaelalukhlanthidithisud N twkidrhsethiymkhxngklyuththechingwiwthnakar aekikhInput m l ProblemSize canwnphxaem canwnluk khnadpyha Output S best khatxbthidithisudkhxngpyha Population lt InitialPopulation m ProblemSize S best lt GetBest Population 1 While NotStopCondition children lt empty set for i 0 to l wnaekpyhatamcanwnluk Parent i lt GetParent Population i S i lt empty set S iProblem lt Mutate P iProblem P iStrategy ekidkarklayphnthukhxngpyha S iStrategy lt Mutate P iStrategy ekidkarklayphnthukhxngklyuthth Children lt S i idlukcakkarklayphnthukhxngrunphxaem EvaluatePopulation Children S best lt GetBest Children S best 1 Population lt SelectBest Population Children m return S best sngkhakhatxbthidithisudxxkipsykrnkhxngklyuththechingwiwthnakar aekikhsykrn 1 1 ES 1 l ES 1 l ES µ p l 4 bxkthunglksnakhxngklyuththechingwiwthnakardwyradbkhxngkareliynaebbkarwiwthnakarthangchiwphaphthiephimmakkhun µ bxkthungcanwnthnghmdkhxngphxaem pbxkthung canwnkhxngphxaemthicathukrwmtwihm aela lbxkthungcanwnlukhlan krabwnkareluxksrr caekidkblukhlan ekhruxnghmay hruxekidkbthngrunphxaemaelarunlukhlan ekhruxnghmay twxyangpyhathiaekidodyklyuththechingwiwthnakar aekikhpyhakaredinthangkhxngphnkngankhay The Travelling Salesman Problem phnkngankhaytxngkaredinthangipyngemuxng N emuxngodyihmirayathangsnthisud aelathukemuxngtxngthukedinthangphanephiyngkhrngediyw aelaintxncbkhxngkaredinthangphnkngankhaytxngklbmayngemuxngaerkthieraxxkedinthang odyintwxyangnicaepnpyhakaredinthangkhxngphnkngankhaythismmatr klawkhux rayathangrahwangemuxng 2 emuxngnnimkhunxyukbthisthangkaraekpyhakaredinthangkhxngphnkngankhaydwyklyuththechingwiwthnakar 5 mncaepnthieracatxngmnicwa khwamsmphnthrahwangehtuaelaphlxyangrunaerng strong causality nnepncring klawkhux karepliynaeplngelknxyinesnthangkaredinthangnnsngphlkrathbelknxytxrayathanginkaredinthang krabwnkarklayphnthu 4 aebbthukichdngni1 karslbbangswnkhxngesnthangkaredinthang Inversion aka Lin 2 Opt 2 karaethrkemuxnglngipincudxunkhxngesnthangkaredinthang Insertion aka Or Opt 3 karaelkepliynsungknaelaknkhxngemuxng 2 emuxng Reciprocal exchange aka 2 Exchange 4 kareluxnklumkhxngesnthangkaredinthang Displacement aka Shifting dngphaphtwxyang karthiaetlakrabwnkarklayphnthuthukichkbswnidkhxngesnthangkaredinthang mnxaccaepnipidwakhwamsmphnthrahwangehtuaelaphlxyangrunaerngxaccaimepncring channrayathangrahwangaetlaemuxngkbemuxngidtxngthukphicarnainthukkhrngthiichkrabwnkarklayphnthu twxyangechn inkarthakarslbbangswnkhxngesnthangkaredinthang echphaabangswnkhxngesnthangkaredinthangrahwangemuxngthitidknethannthithukslb yingipkwannkrabwnkarklayphnthumikarkahndkarrwmtwihmthiechphaa ecaacngdwy thaihkrabwnkarrwmtwihminpyhaniaetktangcakkarrwmtwihmkhxngklyuththechingwiwthnakarthwip ephraaeratxngphicarnawakarrwmtwihmtxngihphllphthkhxngesnthangkaredinthangthisamarthepnkhatxbidethann dngnnkrabwnkarklayphnthuniimidmilksnaaebbsum aetmilksnathikahndiwaelw phxaem 1 twcak R twthicanaiprwmtwihmthukeluxkcakphxaemerimtnaebbsum inesnthangkaredinthangkhxngphxaemerimtnnicami 1emuxngthukeluxkkhunmaaebbsumaelathukkahndepnemuxngaerkinesnthangkaredinthangkhxngtwlukhlan smmtieriykwaemuxng A sahrbphxaemaetlatwin R tw emuxngthixyutidsaykhwakbemuxng A cathukphicarna emuxngthimirayathangthiiklthisudcathukeluxkcakkhwamnacaepn 2 R aelaemuxngnncaklayepnemuxngthi 2 inesnthangkaredinthang emuxng B aelakrabwnkarediywkncathukkrathakbemuxngthixyutidemuxng B ephuxsrangemuxng C aelathatxiperuxycncbkaredinthang thainthukkhrngkhxngkareluxkmikhwamnacaepnethakb 2 R emuxngthimirayathangiklthisudyxmtxngthukeluxkxyangaennxnsmkarphllphthkhxngpyhakaredinthangkhxngphnkngankhay F i 1 n 1 d i i 1 d n 1 displaystyle F sum i 1 n 1 d i i 1 d n 1 dd di i 1 rayathangrahwangemuxngthi i aelaemuxngthi i 1 khxngkaredinthang aela dn 1 khux rayathangrahwangemuxngaerkkbemuxngsudthaykhxngkaredinthangduephim aekikhEvolutionary Strategy book Archived 2011 08 28 thi ewyaebkaemchchinxangxing aekikh http www bionik tu berlin de institut xn2rechenb html http ls11 www cs uni dortmund de people schwefel cvE html saenathiekbthawr khlngkhxmuleka ekbcak aehlngedim emux 2011 09 14 subkhnemux 2011 09 29 http www bionik tu berlin de institut xs2evost html saenathiekbthawr khlngkhxmuleka ekbcak aehlngedim emux 2011 09 27 subkhnemux 2011 09 29 aehlngkhxmulxun aekikhEvolutionary Strategies Paper The CMA Evolution Strategy Archived 2012 03 03 thi ewyaebkaemchchin Tutorial 3 Build a Floating Point Evolution Strategies Problem Archived 2011 10 06 thi ewyaebkaemchchinekhathungcak https th wikipedia org w index php title klyuththechingwiwthnakar amp oldid 9613155, wikipedia, วิกิ หนังสือ, หนังสือ, ห้องสมุด,

บทความ

, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม