Textbook vs Practice
The Beauty and The Beast
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 );
}
  IDA*() {
 /* Compute the best possible lower bound */
 lb = ComputeLowerBound();
 lb += UsePatterns();
 lb += UseDeadlockTable();
 lb += UseOverestimate( CntrlOverestimate() );
 lb += ReadTransTable();
 if( cutoff ) return( no );

 /* Preprocess */
 PatternSearch( CntrlPatternSearch() );
 lb += UsePatterns();
 if( cutoff ) return( no );

 /* Generate searchable moves */
 movelist = GenerateMoves();
 RemoveDeadMoves( movelist );
 IdentifyMacros( movelist );
 OrderMoves( movelist );

 for( each move ) {
   if( Irrelevant( move, CntrlIrrelevant() )) next;
   done = IDA*();
   if( done == yes ) return( yes );
   if( GoalCut() ) break;

   UpdateLowerBound();
   if( cutoff ) return( no );
 }
 SaveTransTable( CntrlTransTable() );
 return( no );
}

GPW'99, October 16, 1999. Pushing the Limits: New Developments in Single-Agent Search previous up next