We first consider the problem of searching for an admissible solution, we will then consider the
problem of searching for a solution of minimum cost.
We assume that the admissible solutions for an instance I belong to a subset of elements SI
that is easy to enumerate and that it is possible to test efficiently if an elements s ∈ SI is an
admissible solution for I. In other words, we make the following assumptions:
(1) for every I, AdmI ⊆ SI ;
(2) there exists an efficient algorithm enumerateSI that, on input instance I, enumerates
SI ;
(3) there exists an efficient algorithm isAdmissible that, for every S ∈ SI , decides whether
S is an admissible solution for I;
and describe the following meta-algorithm