The commands, given syntactically in the
grammar, have the following interpretations:
- "ErrFile"
- Set the destination file for any error message
outputs to the specified filename. If the file cannot be opened, this
can be considered to be a RECOVERABLE or UNRECOVERABLE ERROR.
PuzzleMuncher MUST be able to correctly handle the case in
which this file name is the same as "OutFile" or "LogFile". If an
ErrFile is specified, and then a different ErrFile
is given later, the first file is flushed and closed and then the new
file is opened. If the new file is identical to the old, the new data
should be appended to the old data -- no data should be lost
by this operation.
Default value: Standard error.
- "LogFile"
- Set the destination file for the performance
statistics output to the specified filename. If the file cannot be
opened, this can be considered to be a RECOVERABLE or UNRECOVERABLE
ERROR. PuzzleMuncher MUST be able to correctly handle the
case in which this file name is the same as "OutFile" or "ErrFile".
If a LogFile is specified, and then a different
LogFile is given later, the first file is flushed and closed
and then the new file is opened. If the new file is identical to the
old, the new data should be appended to the old data -- no
data should be lost by this operation. Default value:
Standard output.
- "OutFile"
- Set the destination file for puzzle results
output to the specified filename. If the file cannot be opened, this
can be considered to be a RECOVERABLE or UNRECOVERABLE
ERROR. PuzzleMuncher MUST be able to correctly handle the
case in which this file name is the same as "LogFile" or "ErrFile".
If an OutFile is specified, and then a different
OutFile is given later, the first file is flushed and closed
and then the new file is opened. If the new file is identical to the
old, the new data should be appended to the old data -- no
data should be lost by this operation. Default value:
Standard output.
- "Run"
- Perform a search on the most recently defined
PUZZLE and provide any output required by current
RESULTS and STATS. If any of the
bounds specified by SEARCH-CTRL are hit, the search
MUST terminate and report no solution found, along with the reason for
search termination. In this case, the RESULTS need
not be reported (other than no solution found), but any requested
STATS MUST be.
- "Reset"
- Reset all RESULTS,
STATS, and SEARCH-CTRL settings to
their default values. Note that this does not reset any of the output
files; those remain until explicitly overridden or until the program
terminates.
- "SolnPathLen"
- Report the number of MOVEs in the
solution path (i.e., the number of MOVEs required to transform the
START STATE to the GOAL STATE).
- "StatePath"
- Report the complete sequence of STATEs
encountered on the solution path, including the START and GOAL
STATEs. The output format for each state is specified under each
puzzle in Section 3.1.
- "MoveSeq"
- Report the actual MOVEs taken along the
solution path. The output format for each move is specified under
each puzzle in Section 3.1. Note that this is distinct
from SolnPathLen which only reports the
number of moves along the solution path.
- "NodesOpened"
- Report the total number of nodes opened
during the search.
- "OpenListMaxLen"
- Report the maximum number of nodes
on the OPEN LIST at any point during the search.
- "NodesClosed"
- Report the total number of nodes on the
CLOSED LIST at the end of the search.
- "NumReopened"
- Report the number of nodes moved from
the CLOSED LIST to the OPEN LIST during the search.
- "OpenClosedRatio"
- Report the maximum and minimum
ratios of the size of the OPEN LIST to the size of the CLOSED LIST
during any point in the search. (For the purposes of this report, you
can consider
and
.)
- "OpenListBound"
- Specifies the maximum number of
elements that may be in the OPEN LIST. If this bound is exceeded,
terminate the search. Default value:
java.lang.Integer.MAX_VALUE.
- "TotalNodesBound"
- Specifies the maximum number of
nodes that can be in the search at one time (total of OPEN LIST and
CLOSED LIST). If this bound is exceeded, terminate the search.
Default value: java.lang.Integer.MAX_VALUE.
- "TimeBound"
- Maximum running time of the search, given
in milliseconds (wall clock time, as reported by
java.lang.System.currentTimeMillis()). If this bound is
exceeded, terminate the search. Default value:
java.lang.Long.MAX_VALUE.
- HNAME
- This argument to a puzzle description specifies
the heuristic that will be used to solve this puzzle during the
current search iteration.
By default, no RESULTS or STATS
are generated -- all outputs must be explicitly specified.
All RESULTS,
STATS, and SEARCH-CTRL settings
are durable -- after being set, they remain in that state across
multiple searches, until another value is assigned, a "Reset"
is issued, or the search program terminates.
When the end of the input specification file is reached and all
commands in the file have been completed, the program terminates.
At termination, the program MUST flush and close all open files.
Terran Lane
2004-03-24