One armed bandit Two armed bandit problem Simple local search + a population init P = {X_1, X_2, X_3, ...X_n} // population compute fitness of P while (best(P) is not goodenough) { parent = select(P) // selection (k armed bandit) child = mutate(parent) // reproduction and variation if (fitness(child) > worst(P)) worst(P) <- child // selection (compete) } new innovation --> sweep the population enemy: population converges! friend: diversity STEADY STATE GENETIC ALGORITHM init P = {X_1, X_2, X_3, ...X_n} // population compute fitness of P while (best(P) is not goodenough) { with (xoverprob) { (parent1, parent2) = select(P) // selection (k armed bandit) child = crossover(parent1, parent2) // needs to be smart child = mutate(child) } else { parent = select(P) // selection (k armed bandit) child = mutate(parent) } insert(P, child) }