Los algoritmos de computación evolutiva son algoritmos de optimización, los cuáles están inspirados en la evolución biológica para encontrar soluciones óptimas a problemas complejos, dónde los algoritmos genéticos son una variante que utilizan una población de soluciones, un proceso de selección y uno de reproducción para iterativamente mejorar las soluciones.

En un algoritmo genético se comienza generando una población inicial de soluciones aleatorias denominadas "individuos", dónde cada individuo se representa por un conjunto de "genes" entendidos como variables que representan una parte de la solución. Luego se evalúa cada individuo mediante una función de aptitud que mide la calidad de la solución que representa.

Ejemplo de un proceso de selección para elegir los mejores individuos de una población actual basándose en su aptitud: "Los individuos seleccionados se reproducen mediante operadores genéticos como la cruza y la mutación para crear una nueva generación de soluciones, cuya generación reemplaza a la población anterior y se evalúa nuevamente cada individuo, repitiendo este proceso hasta que se alcance un criterio de parada como bien puede ser un número máximo de generaciones o una aptitud mínima deseada".

Diferencias entre los algoritmos de computación evolutiva como los algoritmos genéticos y otros métodos de machine learning como las redes neuronales: "Los algoritmos genéticos no utilizan un proceso de aprendizaje basado en ejemplos, sino que generan soluciones a través de la evolución de una población, mientras que los algoritmos de aprendizaje son basados en ejemplos como las redes neuronales, que ajustan los parámetros de un modelo utilizando un conjunto de datos de entrenamiento para minimizar una función de pérdida, por otro lado los algoritmos evolutivos optimizan directamente la función objetivo utilizando una población de soluciones candidatas, por lo que los algoritmos evolutivos son particularmente útiles cuando no se dispone de un conjunto de entrenamiento adecuado o cuando el espacio de soluciones es demasiado grande para ser explorado de manera exhaustiva.
อัลกอริธึมการคำนวณเชิงวิวัฒนาการเป็นอัลกอริธึมการปรับให้เหมาะสม ซึ่งได้รับแรงบันดาลใจจากวิวัฒนาการทางชีววิทยาเพื่อค้นหาวิธีแก้ปัญหาที่เหมาะสมที่สุดสำหรับปัญหาที่ซับซ้อน โดยที่อัลกอริธึมทางพันธุกรรมเป็นตัวแปรที่ใช้ประชากรของสารละลาย กระบวนการคัดเลือก และกระบวนการทำซ้ำเพื่อปรับปรุงวิธีแก้ปัญหาซ้ำ ๆ ในอัลกอริธึมทางพันธุกรรม เราเริ่มต้นด้วยการสร้างประชากรเริ่มต้นของสารละลายสุ่มที่เรียกว่า "บุคคล" โดยที่แต่ละคนจะถูกแทนด้วยชุดของ "ยีน" ที่เข้าใจว่าเป็นตัวแปรที่แสดงถึงส่วนหนึ่งของสารละลาย จากนั้นแต่ละคนจะได้รับการประเมินโดยใช้ฟังก์ชันฟิตเนสที่วัดคุณภาพของโซลูชันที่เป็นตัวแทน ตัวอย่างกระบวนการคัดเลือกเพื่อเลือกบุคคลที่ดีที่สุดจากประชากรในปัจจุบันโดยพิจารณาจากความเหมาะสม: "บุคคลที่เลือกจะถูกทำซ้ำโดยใช้ตัวดำเนินการทางพันธุกรรม เช่น การผสมพันธุ์และการกลายพันธุ์ เพื่อสร้างวิธีแก้ปัญหารุ่นใหม่ ซึ่งรุ่นจะเข้ามาแทนที่ประชากรก่อนหน้า และแต่ละบุคคลคือ ประเมินอีกครั้ง โดยทำซ้ำขั้นตอนนี้จนกว่าจะถึงเกณฑ์การหยุด เช่น จำนวนเจเนอเรชั่นสูงสุดหรือสมรรถภาพขั้นต่ำที่ต้องการ” ความแตกต่างระหว่างอัลกอริธึมการคำนวณเชิงวิวัฒนาการ เช่น อัลกอริธึมทางพันธุกรรม และวิธีการเรียนรู้ของเครื่องจักรอื่นๆ เช่น โครงข่ายประสาทเทียม: "อัลกอริธึมทางพันธุกรรมไม่ได้ใช้กระบวนการเรียนรู้ตามตัวอย่าง แต่สร้างวิธีแก้ปัญหาผ่านวิวัฒนาการของประชากร ในขณะที่อัลกอริธึมการเรียนรู้นั้นมีพื้นฐานอยู่บน ตัวอย่าง เช่น โครงข่ายประสาทเทียม ซึ่งปรับพารามิเตอร์ของแบบจำลองโดยใช้ชุดข้อมูลการฝึกอบรมเพื่อลดฟังก์ชันการสูญเสียให้เหลือน้อยที่สุด ในทางกลับกัน อัลกอริธึมเชิงวิวัฒนาการจะปรับฟังก์ชันวัตถุประสงค์ให้เหมาะสมโดยตรงโดยใช้ประชากรของโซลูชันที่เป็นตัวเลือก ดังนั้นอัลกอริธึมเชิงวิวัฒนาการจึงมีประโยชน์อย่างยิ่งเมื่อ ไม่มีชุดการฝึกอบรมที่เพียงพอ หรือเมื่อพื้นที่การแก้ปัญหามีขนาดใหญ่เกินกว่าจะสำรวจได้อย่างละเอียดถี่ถ้วน
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence