algorithms history and future 6906957