SOLVING NP SEARCH PROBLEMS