next up previous contents
Next: Trace-Category and Hyper-trace-category Up: Tracing of Specific Stages Previous: Tracing of Specific Stages

     
Trace-determine

The determination stage checks that no ANY constraint is left unsatisfied at the end of the unification stage, and that all TEST constraints are satisfied. In addition, it checks that no further CSET traversal is required to restore after frozen constraints have been thawed or forced.

When trace-determine is on, these checks generate tracing messages. The specific messages are:

          

FAIL: Found an ANY at level <path> Current Sentence: ....

TEST succeeds: <expr> at level <path>

Fail in testing <expr> at level <path>

The current sentence is only printed when FUF is called from the toplevel function uni whose function is to print a sentence. In other uses of FUF, the current function is not generated. This message is of level 30 (highest level).

In addition, each time the determination stage is reached, a line of statistics on backtracking is printed, of the form:

          

[Used 119 backtracking points - 26 wrong branches - 15 undos]

Three pieces of information are provided:

1.
The total number of backtracking points used so far. This can be interpreted as the number of ``questions'' FUF asked to the grammar, or how many times a branch had to be chosen in an alt construct.

2.
The number of ``wrong branches'' - that is, how many times FUF picked up a branch and started unification to finally undo this branch upon backtracking. This can be interpreted as the number of ``wrong guesses'' made by FUF.

3.
The number of ``undos'' - that is, how many features were added to the total FD while traversing ``wrong guesses'' and were later removed from the total FD upon backtracking. This gives an indication of how ``deep'' FUF went into wrong branches before realizing that they led to failure.

When, because of the interaction between wait and the constituent traversal (cf Section [*]) a new cycle of unification must be started after determination, a new line of statistics will be printed.   These lines of statistics are NOT printed if the keyword parameter non-interactive is set to true when calling the top-level functions of FUF (for example, as in (uni fd1 :non-interactive t)).  

These statistic lines are printed indicate whenever a unification cycle ends and a determination cycle starts. They therefore provide important information on how unification is proceeding.


next up previous contents
Next: Trace-Category and Hyper-trace-category Up: Tracing of Specific Stages Previous: Tracing of Specific Stages
Michael Elhadad - elhadad@cs.bgu.ac.il