fyp algorithm