In artificial intelligence, genetic programming is a technique of evolving programs over generations, starting from a population of unfit programs, towards a goal that is fit for a specific task. A process analogous to natural genetic processes is used.