An algorithm which uses the past results to find the new results is