Most of us live our lives like a greedy search - that is, we make improvements every day when we can, but we try to only move towards short-term better lives. This is all well and good, but "life quality" is not a linear function, so there are severe local maxima where you get stuck; that is, you get to a spot in your life where it's pretty good, but not great, but then you can't make any changes, because any change would make your life worse; you don't want to give up a lot in order to make a big improvement. This happens in everything (jobs, friends, lovers, houses) - you get something pretty good, and you don't want to give it up because to be without for a while as you search for something better is just too unbearable. If you want to reach real maxima, you have to do the same things you do in computer science to improve the greedy search - 1) Simulated Annealing type searches - basically this means randomly trying some completely different things from time to time; as you try them, you pick the one that looks most promising; over time, you reduce the randomness; so, initially you're trying things that are just totally different, then over time your search should converge and you try things that are pretty close to the maximum you've found. 2) Genetic algorithms - you can treat all the other people in the world as other genotypes that are exploring this search space; then, the driver algorithm can examine the people with the highest quality of life; you then try to "cross" some of their properties and try again; often that cross has also already been tried for you, so you don't have to try them all yourself; basically this turns into following the example of people you think have succeeded in searching the space, and perhaps combining a few.