Natural Algorithms by Joshua Arulanandham