Evolutionary Computation

Search for glossary terms (regular expression allowed)


Term Definition
Evolutionary Computation

Using evolutionary algorithms to optimize solutions to complex problems

Here's the information about Evolutionary Computation (EC) in the AI world:

Meaning and Significance:

Evolutionary Computation is a family of optimization algorithms inspired by the principles of natural selection and evolution. It harnesses the power of competition, mutation, and selection to iteratively explore a search space and find solutions that optimize a specific objective function.

How it works:

  1. Population initialization: Start with a set of randomly generated candidate solutions, representing individuals in the population.
  2. Evaluation: Evaluate each individual's fitness based on the objective function.
  3. Selection: Choose individuals with higher fitness scores to be parents for the next generation.
  4. Reproduction: Apply genetic operators like crossover and mutation to create new offspring solutions, inheriting and potentially improving upon the parents' features.
  5. Iteration: Repeat steps 2-4 until a satisfactory solution is found or a termination criterion is met.


  • Global optimization: Can effectively find good solutions even in complex problems with many local optima.
  • Robustness to noise: Less sensitive to noise and errors in the evaluation function compared to some other optimization methods.
  • Parallelization: Can be easily parallelized to leverage multiple processors or computing resources.


  • Computational cost: Can be computationally expensive for large and complex problems.
  • No guarantee of optimality: May not always find the absolute best solution, but often finds good solutions quickly.
  • Parameter tuning: Requires careful tuning of parameters to achieve optimal performance.


  • Machine learning: Optimizing hyperparameters of machine learning models.
  • Optimization problems: Solving various optimization problems in engineering, finance, and other fields.
  • Robot control: Evolving control strategies for robots in complex environments.
  • Data mining: Discovering patterns and relationships in large datasets.