1. A process for solving a problem using a population of programs, wherein each of said programs is an arrangement of functions and terminals that include at least either an incorporation function or an emission function, said process comprising the steps of: activating each program by presenting each of said programs with at least one combination of environmental conditions, if said each program includes an incorporation function then said program searching said population for a part of one of said programs and then incorporating the portion of said one program associated with said part into said each program, if said program includes an emission function then said program searching said population for a part and then said each program producing at least one emission, and if said each program responds effectively to said at least one combination then said at least one emission the population and if said each program fails to respond effectively then said at least one emission not entering the population; generating a solution to the problem by continuing the step of activating until one of said programs responds effectively to a specified number of combinations of environmental conditions.