IDA*() { /* Compute lower bound */ lb = ComputeLowerBound(); if( cutoff ) return( no ); /* Generate moves */ movelist = GenerateMoves(); for( each move ) { done = IDA*(); if( done == yes ) return( yes ); } return( no ); }