กลับไปหน้าบทความ

อ่าน 6 นาที

การผสมข้ามพันธุ์ (อัลกอริธึมวิวัฒนาการ)

ใน อัลกอริทึมเชิงวิวัฒนาการ และ การคำนวณเชิงวิวัฒนาการ การผสมข้ามสายพันธุ์ (Crossover ) หรือที่เรียกว่า การรวมตัว ใหม่ (Recombination ) เป็นตัว ดำเนินการทางพันธุกรรม...

การผสมข้ามพันธุ์ (อัลกอริธึมวิวัฒนาการ)

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

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

รายการตัวดำเนินการที่แสดงด้านล่างนี้ไม่ได้ครอบคลุมทั้งหมด และใช้เป็นเพียงตัวอย่างประกอบของตัวดำเนินการทางพันธุกรรมแบบไดอะดิกประเภทนี้เท่านั้น สามารถดูตัวดำเนินการเพิ่มเติมและรายละเอียดเพิ่มเติมได้ในเอกสารอ้างอิง[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]

ครอสโอเวอร์สำหรับอาร์เรย์ไบนารี

อัลกอริทึมทางพันธุกรรมแบบดั้งเดิมจะจัดเก็บข้อมูลทางพันธุกรรมไว้ในโครโมโซมซึ่งแสดงด้วยอาร์เรย์บิตวิธีการครอสโอเวอร์สำหรับอาร์เรย์บิตเป็นที่นิยมและเป็นตัวอย่างที่แสดงให้เห็นถึงการรวมตัวทางพันธุกรรม

จุดตัดหนึ่งจุด

จุดหนึ่งบนโครโมโซมของพ่อและแม่จะถูกสุ่มเลือก และกำหนดให้เป็น 'จุดไขว้' ส่วนที่อยู่ทางด้านขวาของจุดนั้นจะถูกสลับระหว่างโครโมโซมของพ่อและแม่ ส่งผลให้ได้ลูกสองคน โดยแต่ละคนจะมีข้อมูลทางพันธุกรรมบางส่วนจากทั้งพ่อและแม่

จุดตัดสองจุดและจุด k

ในการผสมข้ามแบบสองจุด จุดผสมข้ามสองจุดจะถูกเลือกแบบสุ่มจากโครโมโซมของพ่อแม่ ส่วนระหว่างสองจุดนั้นจะถูกแลกเปลี่ยนกันระหว่างสิ่งมีชีวิตที่เป็นพ่อแม่

TwoPointCrossover.svg

การผสมข้ามแบบสองจุดเทียบเท่ากับการผสมข้ามแบบจุดเดียวสองครั้งโดยใช้จุดผสมข้ามที่แตกต่างกัน กลยุทธ์นี้สามารถขยายไปสู่การผสมข้ามแบบ k จุดสำหรับจำนวนเต็มบวก k ใดๆ โดยเลือกจุดผสมข้าม k จุด

การไขว้แบบสม่ำเสมอ

ในการผสมแบบสม่ำเสมอ โดยทั่วไปแล้ว แต่ละบิตจะถูกเลือกจากพ่อแม่ทั้งสองฝ่ายด้วยความน่าจะเป็นเท่ากัน[ 6 ]บางครั้งมีการใช้อัตราส่วนการผสมอื่นๆ ซึ่งส่งผลให้ลูกหลานได้รับข้อมูลทางพันธุกรรมจากพ่อแม่ฝ่ายหนึ่งมากกว่าอีกฝ่ายหนึ่ง ในการผสมแบบสม่ำเสมอ เราไม่ได้แบ่งโครโมโซมออกเป็นส่วนๆ แต่เราจะพิจารณาแต่ละยีนแยกกัน ในกรณีนี้ เราจะโยนเหรียญสำหรับแต่ละโครโมโซมเพื่อตัดสินใจว่าจะรวมไว้ในลูกหลานหรือไม่

การผสมข้ามสำหรับจีโนมค่าจำนวนเต็มหรือค่าจริง

ตัวอย่างของการเกิดการรวมตัวใหม่แบบไม่ต่อเนื่องในกรณีสามมิติ ลูกหลานที่เป็นไปได้สองตัวอยู่บนมุมของทรงสี่เหลี่ยมลูกบาศก์ที่ทำเครื่องหมายสีน้ำเงินไว้

สำหรับตัวดำเนินการครอสโอเวอร์ที่นำเสนอข้างต้น และสำหรับตัวดำเนินการครอสโอเวอร์อื่นๆ ส่วนใหญ่สำหรับสตริงบิตนั้น ก็สามารถนำไปประยุกต์ใช้กับจีโนมค่าจำนวนเต็มหรือค่าจริงได้เช่นกัน โดยที่แต่ละยีนประกอบด้วยจำนวนเต็มหรือค่าจริง แทนที่จะคัดลอกบิตแต่ละตัว ก็จะคัดลอกจำนวนเต็มหรือค่าจริงเข้าไปในจีโนมลูก ลูกหลานจะอยู่บนมุมที่เหลือของไฮเปอร์บอดี้ที่เกิดจากพ่อแม่ทั้งสองดังตัวอย่างในภาพประกอบสำหรับกรณีสามมิติ

การรวมตัวใหม่แบบไม่ต่อเนื่อง

หากใช้กฎของการผสมข้ามแบบสม่ำเสมอสำหรับสตริงบิตในระหว่างการสร้างลูกหลาน จะเรียกว่าการรวมตัวแบบไม่ต่อเนื่อง[ 7 ]

การรวมตัวใหม่ระดับกลาง

ในกรณีสองมิติ ลูกหลานสองตัวที่เกิดจากการรวมตัวใหม่แบบไม่ต่อเนื่องจะอยู่บนมุมที่ทำเครื่องหมายสีน้ำเงิน ในขณะที่พื้นที่สีเทาทั้งหมดเป็นพื้นที่สำหรับลูกหลานที่เกิดจากการรวมตัวใหม่แบบปานกลาง

ในตัวดำเนินการการรวมตัวนี้ ค่าอัลลีลของจีโนมลูกจะถูกสร้างขึ้นโดยการผสมอัลลีลของจีโนมพ่อแม่ทั้งสองและ: [ 7 ] [ 8 ]

กระจายอย่างเท่าเทียมกันแบบสุ่มต่อยีน

การเลือกช่วงเวลาส่งผลให้ นอกจากภายในไฮเปอร์บอดี้ที่ครอบคลุมโดยค่าอัลลีลของยีนพ่อแม่แล้ว ยังมีสภาพแวดล้อมบางอย่างสำหรับช่วงค่าของลูกหลานที่ต้องพิจารณาด้วยแนะนำให้ใช้ค่าเพื่อต่อต้านแนวโน้มที่จะลดค่าอัลลีลที่มีอยู่[ 9 ]

รูปที่อยู่ติดกันแสดงช่วงของอัลลีลใหม่ที่เป็นไปได้ของพ่อแม่ตัวอย่างทั้งสองและในการรวมตัวใหม่ระดับกลางสำหรับกรณีสองมิติ ลูกหลานของการรวมตัวใหม่แบบไม่ต่อเนื่องก็ถูกพล็อตไว้ด้วย การรวมตัวใหม่ระดับกลางเป็นไปตามการคำนวณทางคณิตศาสตร์ของค่าอัลลีลของจีโนมลูกที่จำเป็นโดยทฤษฎีตัวอักษรเสมือน[ 10 ] [ 11 ]การรวมตัวใหม่แบบไม่ต่อเนื่องและระดับกลางถูกใช้เป็นมาตรฐานในกลยุทธ์วิวัฒนาการ[ 12 ]

ครอสโอเวอร์สำหรับการเรียงสับเปลี่ยน

สำหรับงานเชิงการจัดเรียงมัก ใช้ การเรียงสับเปลี่ยนที่ออกแบบมาโดยเฉพาะสำหรับจีโนมซึ่งเป็นการเรียงสับเปลี่ยนของเซต อยู่แล้ว เซตพื้นฐานมักเป็นเซตย่อยของหรือหากใช้การผสมข้ามแบบ 1 จุด หรือ n จุด หรือแบบสม่ำเสมอสำหรับจีโนมจำนวนเต็ม จีโนมลูกอาจมีค่าบางค่าซ้ำกัน และบางค่าอาจหายไป ซึ่งสามารถแก้ไขได้ด้วยการซ่อมแซมทางพันธุกรรมเช่น โดยการแทนที่ยีนที่ซ้ำซ้อนด้วยยีนที่หายไปจากจีโนมลูกอีกตัวหนึ่งโดยยึดตำแหน่งให้ถูกต้อง

เพื่อหลีกเลี่ยงการสร้างลูกหลานที่ไม่ถูกต้อง ได้มีการพัฒนาตัวดำเนินการครอสโอเวอร์พิเศษสำหรับการเรียงสับเปลี่ยน[ 13 ]ซึ่งตรงตามข้อกำหนดพื้นฐานของตัวดำเนินการดังกล่าวสำหรับการเรียงสับเปลี่ยน กล่าวคือ องค์ประกอบทั้งหมดของการเรียงสับเปลี่ยนเริ่มต้นก็มีอยู่ในการเรียงสับเปลี่ยนใหม่ด้วย และมีการเปลี่ยนแปลงเฉพาะลำดับเท่านั้น สามารถแยกแยะได้ระหว่างงานเชิงคอมบินาทอริก ซึ่งลำดับทั้งหมดเป็นที่ยอมรับ และงานที่มีข้อจำกัดในรูปแบบของลำดับบางส่วนที่ไม่สามารถยอมรับได้ ตัวอย่างที่รู้จักกันดีของงานประเภทแรกคือปัญหาพนักงานขายเดินทาง (TSP) ซึ่งเป้าหมายคือการเยี่ยมชมชุดของเมืองเพียงครั้งเดียวในเส้นทางที่สั้นที่สุด ตัวอย่างของงานประเภทที่มีข้อจำกัดคือการจัดตารางเวลาของเวิร์กโฟลว์ หลายรายการ เวิร์กโฟลว์เกี่ยวข้องกับข้อจำกัดลำดับในขั้นตอนการทำงานแต่ละขั้นตอน ตัวอย่างเช่น ไม่สามารถตัดเกลียวได้จนกว่าจะเจาะรูที่เกี่ยวข้องในชิ้นงาน ปัญหาดังกล่าวเรียกว่า การเรียงสับเปลี่ยน ตาม ลำดับ

ต่อไปนี้ จะนำเสนอตัวดำเนินการครอสโอเวอร์สองตัวเป็นตัวอย่าง ได้แก่ ครอสโอเวอร์แบบแมปบางส่วน (PMX) ซึ่งได้รับแรงบันดาลใจจากปัญหา TSP และครอสโอเวอร์แบบเรียงลำดับ (OX1) ซึ่งออกแบบมาสำหรับการเรียงสับเปลี่ยนตามลำดับ ในแต่ละกรณี สามารถสร้างลูกหลานตัวที่สองได้โดยการสลับโครโมโซมของพ่อแม่

จุดตัดที่แมปไว้บางส่วน (PMX)

ตัวดำเนินการ PMX ได้รับการออกแบบให้เป็นตัวดำเนินการการรวมใหม่สำหรับปัญหาประเภท TSP [ 14 ] [ 15 ]คำอธิบายของขั้นตอนแสดงให้เห็นโดยตัวอย่าง:

ขั้นตอน  ตัวอย่าง  ตัวอย่างโครโมโซม

    ให้มีการเรียงสับเปลี่ยนสองแบบของเซตเดียวกัน  และ

สุ่มเลือกจุดตัดสองจุดที่ก่อให้เกิดส่วนของยีนใน.   ตรงนี้คือตำแหน่งยีนที่ 4 ถึง 6 

ส่วนที่เลือกจะถูกคัดลอกไปยังโครโมโซมของลูกในตำแหน่งเดียวกัน   ตำแหน่งงานว่างจะแสดงด้วยเครื่องหมายคำถาม 

มองหายีนที่ยังไม่ถูกคัดลอกในส่วนที่สอดคล้องกัน โดยเริ่มจากจุดไขว้แรก สำหรับแต่ละยีนที่พบ (เรียกว่า) ให้ตรวจสอบในลูกหลานว่าองค์ประกอบใด (เรียกว่า) ถูกคัดลอกมาแทนที่จากคัดลอก ไปยังตำแหน่งที่ อยู่ในในถ้าตำแหน่งนั้นยังว่างอยู่ มิเช่นนั้น ให้ดำเนินการต่อในขั้นตอนถัดไป   ยีนนี้เป็นยีนแรกที่ไม่ถูกคัดลอกในส่วนที่เกี่ยวข้องของ: ยีนนี้ถูกคัดลอกมาจากในตำแหน่งของมันใน 
  ตำแหน่งของin คือตำแหน่งขวาสุด และจะถูกวางไว้ที่นั่นใน. 

ถ้าตำแหน่งที่in ครอบครองอยู่นั้น มีองค์ประกอบในลูกหลาน ครอบครองอยู่แล้ว จะนำองค์ประกอบนั้นไปใส่ในตำแหน่งที่in ครอบครอง อยู่   ยีนถัดไปคือและยีนนี้ได้ถูกคัดลอกไปยังโครโมโซมของลูกแล้ว ดังนั้น ยีนถัดไปที่จะต้องจัดการคือตำแหน่งของมันในลูกหลานจะเป็นตำแหน่งของในอย่างไรก็ตาม ตำแหน่งนี้ถูกครอบครองโดยยีน แล้วดังนั้นจึงถูกคัดลอกไปยังตำแหน่งของใน 

หลังจากประมวลผลยีนจากส่วนที่เลือกไว้ในจีโนมต้นกำเนิดแล้ว ตำแหน่งที่เหลือในจีโนมลูกหลานจะถูกเติมด้วยยีนจากจีโนมต้นกำเนิดที่ยังไม่ได้คัดลอก โดยเรียงตามลำดับการปรากฏ ซึ่งจะทำให้ได้จีโนมลูกหลานที่สมบูรณ์   ยีนที่ถูกคัดลอกมาจากคือและ 

ลำดับการไขว้ (OX1)

ลำดับการไขว้กลับไปถึง Davis [ 1 ]ในรูปแบบดั้งเดิมและนำเสนอในเวอร์ชันทั่วไปเล็กน้อยที่มีจุดไขว้มากกว่าสองจุด โดยจะถ่ายทอดข้อมูลเกี่ยวกับลำดับสัมพัทธ์จากพ่อแม่ตัวที่สองไปยังลูกหลาน ก่อนอื่น จำนวนและตำแหน่งของจุดไขว้จะถูกกำหนดแบบสุ่ม จากนั้นลำดับยีนที่ได้จะถูกประมวลผลตามที่อธิบายไว้ด้านล่าง:

ขั้นตอน  ตัวอย่าง  ตัวอย่างโครโมโซม

    ให้มีการเรียงสับเปลี่ยนสองแบบของเซตเดียวกัน  และ

สุ่มเลือกส่วนของยีนใน.   นี่คือสองส่วนจากตำแหน่งยีนที่ 1 ถึง 2 และจาก 6 ถึง 8 

ในฐานะการเรียงสับเปลี่ยนของลูก การเรียงสับเปลี่ยนจะถูกสร้างขึ้นโดยมีส่วนของยีนที่เลือกไว้ในตำแหน่งเดียวกัน   ตำแหน่งงานว่างจะแสดงด้วยเครื่องหมายคำถาม 

ยีนที่ขาดหายไปที่เหลือก็ถูกถ่ายโอนเช่นกัน แต่เรียงตามลำดับที่ปรากฏในไฟล์   ยีนที่หายไปในตัวอย่างนี้คือ: 


ผลลัพธ์ที่ได้คือจีโนมของเด็กที่สมบูรณ์   ยีนที่ถูกถ่ายโอนจะถูกขีดเส้นใต้: 

นอกจากนี้ การสลับลำดับยังเหมาะอย่างยิ่งสำหรับการกำหนดตารางเวลาเวิร์กโฟลว์หลายรายการ เมื่อใช้ร่วมกับการสลับแบบ 1 จุดและ n จุด[ 16 ]

ตัวดำเนินการครอสโอเวอร์เพิ่มเติมสำหรับการเรียงสับเปลี่ยน

เมื่อเวลาผ่านไป มีการเสนอตัวดำเนินการครอสโอเวอร์จำนวนมากสำหรับการเรียงสับเปลี่ยน ดังนั้นรายการต่อไปนี้จึงเป็นเพียงการเลือกเล็กน้อย สำหรับข้อมูลเพิ่มเติม ผู้อ่านสามารถอ้างอิงถึงเอกสารอ้างอิงได้[ 1 ] [ 5 ] [ 15 ] [ 13 ]

  1. วงจรครอสโอเวอร์ (CX) [ 17 ] [ 15 ]
  2. ครอสโอเวอร์ตามลำดับ (OX2) [ 5 ] [ 18 ]
  3. ครอสโอเวอร์ตามตำแหน่ง (POS) [ 5 ] [ 18 ]
  4. การรวมขอบใหม่[ 19 ] [ 15 ]
  5. การรวมเสียงโหวต (VR) [ 13 ]
  6. การไขว้ตำแหน่งสลับกัน (AP) [ 13 ]
  7. การข้ามสารกันบูดสูงสุด (MPX) [ 5 ] [ 20 ]
  8. การรวมครอสโอเวอร์ (MX) [ 5 ] [ 21 ]
  9. ตัวดำเนินการครอสโอเวอร์เชิงสร้างสรรค์แบบลำดับ (SCX) [ 22 ]

แนวทางปกติในการแก้ปัญหาที่คล้ายกับ TSP โดยใช้อัลกอริธึมทางพันธุกรรมหรือโดยทั่วไปแล้วอัลกอริธึมวิวัฒนาการที่นำเสนอไว้ก่อนหน้านี้ คือการซ่อมแซมลูกหลานที่ผิดกฎหมายหรือปรับตัวดำเนินการให้เหมาะสมเพื่อไม่ให้เกิดลูกหลานที่ผิดกฎหมายตั้งแต่แรก อีกทางเลือกหนึ่ง Riazi แนะนำให้ใช้การแสดงโครโมโซมคู่ซึ่งช่วยหลีกเลี่ยงลูกหลานที่ผิดกฎหมาย[ 23 ]

ดูเพิ่มเติม

บรรณานุกรม

  • จอห์น ฮอลแลนด์ (1975). การปรับตัวในระบบธรรมชาติและระบบประดิษฐ์วิทยานิพนธ์ปริญญาเอกสำนักพิมพ์มหาวิทยาลัยมิชิแกนแอนอาร์เบอร์ รัฐมิชิแกนISBN 0-262-58111-6.
  • Schwefel, Hans-Paul (1995). วิวัฒนาการและการแสวงหาสิ่งที่ดีที่สุด . นิวยอร์ก: John Wiley & Sons. ISBN 0-471-57148-2.
  • เดวิส, ลอว์เรนซ์ (1991). คู่มืออัลกอริทึมทางพันธุกรรม . นิวยอร์ก: แวน นอสแตรนด์ ไรน์โฮลด์. ISBN 0-442-00173-8. OCLC  23081440 .
  • Eiben, AE; Smith, JE (2015). บทนำสู่การคำนวณเชิงวิวัฒนาการชุดการคำนวณทางธรรมชาติ เบอร์ลิน, ไฮเดลเบิร์ก: Springer. doi : 10.1007/978-3-662-44874-8 . ISBN 978-3-662-44873-1. S2CID  20912932 .
  • Yu, Xinjie; Gen, Mitsuo (2010). บทนำสู่ขั้นตอนวิธีเชิงวิวัฒนาการ วิศวกรรมการตัดสินใจ ลอนดอน: Springer. doi : 10.1007/978-1-84996-129-5 . ISBN 978-1-84996-128-8.
  • Bäck, Thomas; Fogel, David B.; Michalewicz, Zbigniew, บรรณาธิการ (1999). การคำนวณเชิงวิวัฒนาการ เล่ม 1 อัลกอริทึมและตัวดำเนินการพื้นฐานบริสตอล: สำนักพิมพ์สถาบันฟิสิกส์ISBN 0-585-30560-9. OCLC  45730387 .
  • กลุ่มข่าว: comp.ai.genetic FAQ - ดูหัวข้อเกี่ยวกับการไขว้กัน (หรือที่เรียกว่าการรวมตัวใหม่)
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Crossover_(evolutionary_algorithm)&oldid=1360643735 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การผสมข้ามพันธุ์ (อัลกอริธึมวิวัฒนาการ)

ใน อัลกอริทึมเชิงวิวัฒนาการ และ การคำนวณเชิงวิวัฒนาการ การผสมข้ามสายพันธุ์ (Crossover ) หรือที่เรียกว่า การรวมตัว ใหม่ (Recombination ) เป็นตัว ดำเนินการทางพันธุกรรม...

ครอสโอเวอร์สำหรับอาร์เรย์ไบนารี

อัลกอริทึมทางพันธุกรรมแบบดั้งเดิมจะจัดเก็บข้อมูลทางพันธุกรรมไว้ใน โครโมโซม ซึ่งแสดงด้วย อาร์เรย์บิต วิธีการครอสโอเวอร์สำหรับอาร์เรย์บิตเป็นที่นิยมและเป็นตัวอย่างที่แสดงให้เห็นถึง การรวมตัวทาง พันธุกรรม

จุดตัดหนึ่งจุด

จุดหนึ่งบนโครโมโซมของพ่อและแม่จะถูกสุ่มเลือก และกำหนดให้เป็น 'จุดไขว้' ส่วนที่อยู่ทางด้านขวาของจุดนั้นจะถูกสลับระหว่างโครโมโซมของพ่อและแม่ ส่งผลให้ได้ลูกสองคน โดยแต่ละคนจะมีข้อมูลทางพันธุกรรมบางส่วนจากทั้งพ่อและแม่

จุดตัดสองจุดและจุด k

ในการผสมข้ามแบบสองจุด จุดผสมข้ามสองจุดจะถูกเลือกแบบสุ่มจากโครโมโซมของพ่อแม่ ส่วนระหว่างสองจุดนั้นจะถูกแลกเปลี่ยนกันระหว่างสิ่งมีชีวิตที่เป็นพ่อแม่