Evolucijsko programiranje
Evolucijsko programiranje je jedna od četiri glavne paradigme evolucijskih algoritama. Slično je genetičkom programiranju, ali je struktura programa za optimizaciju fiksna, dok je njegovim numeričkim parametrima dozvoljeno da evoluiraju. Ovo je prvi put koristio Lawrence J. Fogel u SAD-u 1960. godine da bih omogućio simuliranu evoluciju kao proces učenja s ciljem da se generiše vještačka inteligencija. Fogel je koristio i evoluirao konačne automate kao prediktore. Evolutionarno programiranje je trenutno širok dijalekat evolucijskog računanja bez fiksne strukture ili representacije, u suprotnost na neke od ostalih dijalekata. Sve postaje teže razlikovati evolucijsko programiranje sa evolucijskim strategijama. Najveći varijacijski operator evolucijskog programiranja je mutacija; članovi populacije se smatraju kao pripadnici specifične vrste umjesto iste i zato roditelji generišu potomstvo, koristeći (μ + μ) selekciju preživljavanja.