In
computer science,
evolutionary computation is a subfield of
artificial intelligence (more particularly
computational intelligence) that can be defined by the type of algorithms it is concerned with. These algorithms, called
evolutionary algorithms, are based on adopting Darwinian principles, hence the name. Technically they belong to the family of
trial and error problem solvers and can be considered
global optimization methods with a
metaheuristic or
stochastic optimization character, distinguished by the use of a population of candidate solutions (rather than just iterating over one point in the search space). They are mostly applied for black box problems (no derivatives known), often in the context of expensive optimization.