  In recent years, many design automation methods have been developed to
routinely create approximate implementations of circuits and programs that show
excellent trade-offs between the quality of output and required resources. This
paper deals with evolutionary approximation as one of the popular approximation
methods. The paper provides the first survey of evolutionary algorithm
(EA)-based approaches applied in the context of approximate computing. The
survey reveals that EAs are primarily applied as multi-objective optimizers. We
propose to divide these approaches into two main classes: (i) parameter
optimization in which the EA optimizes a vector of system parameters, and (ii)
synthesis and optimization in which EA is responsible for determining the
architecture and parameters of the resulting system. The evolutionary
approximation has been applied at all levels of design abstraction and in many
different applications. The neural architecture search enabling the automated
hardware-aware design of approximate deep neural networks was identified as a
newly emerging topic in this area.
