The development of algorithms is both an art and a science.