Algoritme
Algoritme bisa diklasifikasikan berdasarkan jumlah waktu yang dibutuhkan untuk selesai dibandingkan dengan ukuran inputnya. Ada berbagai varietas: beberapa algoritme selesai dalam waktu linear relatif terhadap ukuran input, beberapa selesai dalam jumlah waktu yang eksponensial atau lebih buruh, dan beberapa berhenti. Sebagai tambahan, beberapa masalah bisa memiliki berbagai algoritme dengan kompleksitas yang berbeda, sementara permasalahan yang lain bisa saja tidak memiliki algoritme atau tidak diketahui algoritmanya yang efisien. Ada juga pemetaan dari beberapa algoritme terhadap permasalahan lain. Karena itu, lebih cocok untuk mengklasifikasikan permasalahan itu sendiri bukannya algoritme menjadi kelas-kelas yang sama berdasarkan kompleksitas dari kemungkinan algoritme terbaik baginya.
Komputasi evolusioner
Pemrograman evolusioner diperkenalkan oleh Lawrence J. Fogel di Amerika Serikat, sementara John Henry Holland menyebut metodenya sebagai algoritme genetika. Di Jerman Ingo Rechenberg dan Hans-Paul Schwefel memperkenalkan strategi evolusi. Area ini dikembangkan secara terpisah selama sekitar 15 tahun. Dari awal tahun sembilan puluhan, mereka disatukan sebagai perwakilan yang berbeda ("dialek") dari satu teknologi, yang disebut komputasi evolusioner. Juga di awal tahun sembilan puluhan, arus keempat mengikuti gagasan umum telah muncul - pemrograman genetik. Sejak tahun 1990an, algoritme yang terinspirasi alam menjadi bagian perhitungan evolusioner yang semakin penting.