forgetful algorithms