ایده مشترک اساسی در پشت همه ی تکنیکهای تکاملی یکسان است: با توجه به جمعیتی از اعضا، فشار محیطی باعث انتخاب طبیعی (بقای بهترینها[1]) میشود و در نتیجه برازش جمعیت در حال افزایش است. دیدن چنین فرآیندی به عنوان بهینهسازی آسان است. با توجه به اینکه یک تابع هدف[2] باید حداکثر شود، میتوانیم بهطور تصادفی مجموعهای از راهحلهای کاندید ایجاد کنیم و از تابع هدف بهعنوان معیار برازش انتزاعی[3] استفاده کنیم (هر چه بالاتر، بهتر). بر اساس این برازش، برخی از نامزدهای بهتر برای کاشت نسل بعدی با اعمال نوترکیبی و/یا جهش انتخاب میشوند. نوترکیب برای دو نامزد منتخب، به اصطلاح والدین، اعمال میشود و منجر به یک یا دو نامزد جدید، فرزندان میشود. جهش برای یک نامزد اعمال میشود و منجر به یک نامزد جدید میشود. اعمال نوترکیبی و جهش منجر به مجموعهای از نامزدهای جدید، یعنی فرزندان میشود. این فرزندان بر اساس برازش خود با نامزدهای قدیمی برای جایگاهی در نسل بعدی رقابت میکنند. این فرآیند را میتوان تا زمانی که راهحلی پیدا شود یا به محدودیت زمانی تعیین شده قبلی برسد، تکرار شود. اجازه دهید توجه داشته باشیم که بسیاری از اجزای چنین فرآیند تکاملی تصادفی[4] هستند.
به عقیده داروین، نوظهوری[5] گونههای جدید، سازگار با محیط خود، نتیجه تعامل بین بقای برازشترین مکانیسم[6] و تغییرات غیرجهتدار[7] است. عملگرهای تغییرات باید تصادفی باشند، انتخابی که بر اساس آن قطعات اطلاعات در طول نوترکیب رد و بدل میشود و همچنین تغییرات در یک راهحل کاندید در طول جهش، تصادفی هستند. از طرف دیگر، عملگرهای انتخاب میتوانند قطعی یا تصادفی باشند. در مورد دوم، اعضا برازش شانس بیشتری برای انتخاب شدن نسبت به اعضا با برازش کمتر[8] دارند، اما معمولاً حتی اعضا ضعیف نیز شانس این را دارند که والدین شوند یا زنده بمانند. طرح کلی یک الگوریتم تکاملی را میتوان به صورت زیر ارائه کرد.
Initialize population with random
individuals (candidate solutions)
Evaluate (compute fitness of) all
individuals
WHILE not stop DO
Select genitors from parent population
Create offspring using
variation operators on genitors
Evaluate newborn offspring
Replace some parents by some offspring
OD
توجه داشته باشیم که این طرح در دسته الگوریتمهای تولید و آزمایش قرار میگیرد که به نام الگوریتمهای آزمون و خطا نیز شناخته میشود. تابع برازش نشان دهنده یک تخمین اکتشافی از کیفیت راه حل است و فرآیند جستجو توسط عملگرهای تغییر (بازترکیب و جهش ایجاد راهحلهای نامزد جدید) و عملگرهای انتخاب هدایت میشود. الگوریتمهای تکاملی (EAs) در خانواده روشهای تولید-آزمایش با مبتنی بودن جمعیت، یعنی پردازش مجموعه کاملی از راهحلهای کاندید و با استفاده از ترکیب مجدد برای ترکیب اطلاعات دو راهحل کاندید، متمایز میشوند.
«گویشهای» محاسبات تکاملی مذکور از خطوط کلی بالا پیروی میکنند و تنها در جزئیات فنی متفاوت هستند.