บทความนี้ต้องการข้อความอธิบายความสำคัญที่กระชับ และ |
ประวัติ
กลยุทธ์เชิงวิวัฒนาการถูกพัฒนาขึ้นมาโดย อิงโก เรเชนเบิร์ค และ ฮานส์-พอลล์ ชเวอเฟล ในช่วง 1970s ในตอนแรกนั้นกลยุทธ์เชิงวิวัฒนาการถูกพัฒนามาเพื่อ
แก้ปัญหาการออกแบบทางวิศวกรรม ในเรื่อง การหาค่าเหมาะสมของรูปร่างทางอากาศพลศาสตร์ ( shape )
ลักษณะและการหาคำตอบของกลยุทธ์เชิงวิวัฒนาการ
กลยุทธ์เชิงวิวัฒนาการมีลักษณะสำคัญดังนี้
- กลยุทธ์เชิงวิวัฒนาการมีการออกแบบตัวแปรจากการเขียนโปรแกรมจริงๆ เนื่องจากเป็นการออกแบบการวิวัฒนาการในระดับของลักษณะที่แสดงออก(Phenotype)ของแต่ละตัว
- กลยุทธ์เชิงวิวัฒนาการขึ้นอยู่กับการเลือกที่กำหนดได้และการกลายพันธุ์สำหรับการวิวัฒนาการ
- กลยุทธ์เชิงวิวัฒนาการใช้ตัวแปรเชิงกลยุทธ์
กลยุทธ์เชิงวิวัฒนาการนำหลักการของการวิวัฒนาการทางชีวภาพมาใช้ กล่าวคือ กระบวนกาคัดเลือกตามธรรมชาติ และกฎการอยู่รอดของผู้ที่เหมาะสมที่สุด () โดยในการทำซ้ำแต่ละครั้งจะมีการคัดเลือกเพื่อตัดคำตอบที่อ่อนแอกว่าออกไป และคำตอบที่เหลือที่มี ค่าความแข็งแรง (fitness value) สูงกว่าจะถูกนำไปทำให้แตกแล้วรวมตัวกับคำตอบอื่นๆ ()
หรืออาจจะมีการเปลี่ยนแปลงค่าของคำตอบต่างๆเล็กน้อย (mutate) ทั้งการรวมตัวกับคำตอบอื่นและการเปลี่ยนแปลงค่าของคำตอบจะถูกทำไปเรื่อยๆ เพื่อสร้างคำตอบที่เหมาะสมระดับสากล ()ในกลยุทธ์เชิงวิวัฒนาการ ตัวแปรต่างๆจะถูกแทนในรูปแบบที่ มีความยาวคงที่ และ เป็นค่าจริง ในเส้นสมมติ (fixed-length real-valued vector) แต่ละตำแหน่งในเส้นสมมติจะสอดคล้องกับลักษณะของแต่ละตัวแปร
วิธีหลักในการผลิตลูกหลานของตัวแปรในกลยุทธ์เชิงวิวัฒนาการคือ การกลายพันธุ์ของเกาส์ () เป็นการบวกค่าสุ่มจาก (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บอกถึง จำนวนของพ่อแม่ที่จะถูกรวมตัวใหม่ และ λบอกถึงจำนวนลูกหลาน กระบวนการเลือกสรร จะเกิดกับลูกหลาน (เครื่องหมาย,) หรือเกิดกับทั้งรุ่นพ่อแม่และรุ่นลูกหลาน (เครื่องหมาย+)
ตัวอย่างปัญหาที่แก้ได้โดยกลยุทธ์เชิงวิวัฒนาการ
ปัญหาการเดินทางของพนักงานขาย () พนักงานขายต้องการเดินทางไปยังเมือง 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 ที่ เวย์แบ็กแมชชีน
อ้างอิง
- . คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2018-04-22. สืบค้นเมื่อ 2011-09-29.
- http://ls11-www.cs.uni-dortmund.de/people/schwefel/cvE.html
- . คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2011-09-14. สืบค้นเมื่อ 2011-09-29.
- . คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2011-09-27. สืบค้นเมื่อ 2011-09-29.
- . คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2011-09-27. สืบค้นเมื่อ 2011-09-29.
แหล่งข้อมูลอื่น
- Evolutionary Strategies Paper
- The CMA Evolution Strategy 2012-03-03 ที่ เวย์แบ็กแมชชีน
- Tutorial 3: Build a Floating-Point Evolution Strategies Problem 2011-10-06 ที่ เวย์แบ็กแมชชีน
wikipedia, แบบไทย, วิกิพีเดีย, วิกิ หนังสือ, หนังสือ, ห้องสมุด, บทความ, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม, มือถือ, โทรศัพท์, Android, iOS, Apple, โทรศัพท์โมบิล, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, Sonya, MI, PC, พีซี, web, เว็บ, คอมพิวเตอร์
bthkhwamnitxngkarkhxkhwamxthibaykhwamsakhythikrachb aelasrupenuxhaiwyxhnaaerkkhxngbthkhwamprawtiklyuththechingwiwthnakarthukphthnakhunmaody xingok erechnebirkh aela hans phxll chewxefl inchwng 1970s intxnaerknnklyuththechingwiwthnakarthukphthnamaephux aekpyhakarxxkaebbthangwiswkrrm ineruxng karhakhaehmaasmkhxngruprangthangxakasphlsastr shape lksnaaelakarhakhatxbkhxngklyuththechingwiwthnakarklyuththechingwiwthnakarmilksnasakhydngni klyuththechingwiwthnakarmikarxxkaebbtwaeprcakkarekhiynopraekrmcring enuxngcakepnkarxxkaebbkarwiwthnakarinradbkhxnglksnathiaesdngxxk Phenotype khxngaetlatw klyuththechingwiwthnakarkhunxyukbkareluxkthikahndidaelakarklayphnthusahrbkarwiwthnakar klyuththechingwiwthnakarichtwaeprechingklyuthth klyuththechingwiwthnakarnahlkkarkhxngkarwiwthnakarthangchiwphaphmaich klawkhux krabwnkakhdeluxktamthrrmchati aelakdkarxyurxdkhxngphuthiehmaasmthisud odyinkarthasaaetlakhrngcamikarkhdeluxkephuxtdkhatxbthixxnaexkwaxxkip aelakhatxbthiehluxthimi khakhwamaekhngaerng fitness value sungkwacathuknaipthaihaetkaelwrwmtwkbkhatxbxun hruxxaccamikarepliynaeplngkhakhxngkhatxbtangelknxy mutate thngkarrwmtwkbkhatxbxunaelakarepliynaeplngkhakhxngkhatxbcathukthaiperuxy ephuxsrangkhatxbthiehmaasmradbsakl inklyuththechingwiwthnakar twaeprtangcathukaethninrupaebbthi mikhwamyawkhngthi aela epnkhacring inesnsmmti fixed length real valued vector aetlataaehnnginesnsmmticasxdkhlxngkblksnakhxngaetlatwaepr withihlkinkarphlitlukhlankhxngtwaeprinklyuththechingwiwthnakarkhux karklayphnthukhxngekas epnkarbwkkhasumcak Gaussian Distribution ekhaipinaetlasmachikkhxngesnsmmtirunphxaemephuxihidesnsmmtirunlukdngphaph aelaxikwithithithukichkhux karaetkaelwrwmtwknihmkhxngsarphnthukrrmkhnklang Intermediate Recombination sungkhuxkarnaesnsmmtiphx esnsmmtiaemmahakhaechliykn odythatwtxtw ephuxsrangesnsmmtirunlukdngphaph Gaussian Mutation Intermediate Recombination inkareluxkkhxngklyuththechingwiwthnakarnnmikhxcakdnxykwakhntxnwithiechingphnthukrrm Genetic Algorithm aelakaropraekrmechingphnthukrrm Genetic Programming ephraa lksnakhxngkaraethntwaeprepnesnsmmtinnsamarthsamarthhakhaechliyephuxhaesnsmmtirunlukidngay odypkti phxaem N twcalukeluxkxyangsumaebbethaethiymkn imkhunxyukbkhakhxngphxaemaetlatw aelalukhlanmakkwa N twcathukphlitcakkaraetkaelwrwmtwknihmkhxngsarphnthukrrmphxaem aelwcamikareluxkphurxdchiwit N twodymiwithiinkareluxkthithukkahndiw odyphurxdchiwitsamarththukeluxkidcaklukhlanthidithisudN tw hrux caeluxkcakthngphxaemaelalukhlanthidithisud N twkidrhsethiymkhxngklyuththechingwiwthnakarInput 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 sngkhakhatxbthidithisudxxkipsykrnkhxngklyuththechingwiwthnakarsykrn 1 1 ES 1 l ES 1 l ES µ p l bxkthunglksnakhxngklyuththechingwiwthnakardwyradbkhxngkareliynaebbkarwiwthnakarthangchiwphaphthiephimmakkhun µ bxkthungcanwnthnghmdkhxngphxaem pbxkthung canwnkhxngphxaemthicathukrwmtwihm aela lbxkthungcanwnlukhlan krabwnkareluxksrr caekidkblukhlan ekhruxnghmay hruxekidkbthngrunphxaemaelarunlukhlan ekhruxnghmay twxyangpyhathiaekidodyklyuththechingwiwthnakarpyhakaredinthangkhxngphnkngankhay phnkngankhaytxngkaredinthangipyngemuxng N emuxngodyihmirayathangsnthisud aelathukemuxngtxngthukedinthangphanephiyngkhrngediyw aelaintxncbkhxngkaredinthangphnkngankhaytxngklbmayngemuxngaerkthieraxxkedinthang odyintwxyangnicaepnpyhakaredinthangkhxngphnkngankhaythismmatr klawkhux rayathangrahwangemuxng 2 emuxngnnimkhunxyukbthisthang karaekpyhakaredinthangkhxngphnkngankhaydwyklyuththechingwiwthnakar mncaepnthieracatxngmnicwa khwamsmphnthrahwangehtuaelaphlxyangrunaerng strong causality nnepncring klawkhux karepliynaeplngelknxyinesnthangkaredinthangnnsngphlkrathbelknxytxrayathanginkaredinthang krabwnkarklayphnthu 4 aebbthukichdngni 1 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 emuxngthimirayathangiklthisudyxmtxngthukeluxkxyangaennxn smkarphllphthkhxngpyhakaredinthangkhxngphnkngankhay F i 1n 1di i 1 dn 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 rayathangrahwangemuxngaerkkbemuxngsudthaykhxngkaredinthangduephimEvolutionary Strategy book 2011 08 28 thi ewyaebkaemchchinxangxing khlngkhxmulekaekbcakaehlngedimemux 2018 04 22 subkhnemux 2011 09 29 http ls11 www cs uni dortmund de people schwefel cvE html khlngkhxmulekaekbcakaehlngedimemux 2011 09 14 subkhnemux 2011 09 29 khlngkhxmulekaekbcakaehlngedimemux 2011 09 27 subkhnemux 2011 09 29 khlngkhxmulekaekbcakaehlngedimemux 2011 09 27 subkhnemux 2011 09 29 aehlngkhxmulxunEvolutionary Strategies Paper The CMA Evolution Strategy 2012 03 03 thi ewyaebkaemchchin Tutorial 3 Build a Floating Point Evolution Strategies Problem 2011 10 06 thi ewyaebkaemchchin