There are four parameters that can be set in the Inference Parameters section of the Ask page. Each of these can specify a constraint on inference, limiting search in some way. This is important since some queries will result in enormous or even infinite inference, but practical uses of the system require queries to have predictable, finite behavior.
When trying backward queries, you may sometimes find queries that fail to find expected bindings because the settings of these resource constraints are too low. It's always a good idea to try again with more resources before assuming that an inference mechanism is failing. Clicking on the link that follows Query halted because :, which allows one to inspect the search that the inference engine conducted, may also be helpful in diagnosing queries that fail.
- Number cutoff (answers)
Although the default is to have no cutoff, that is to have "Get Everything" selected, you may wish to allow the system to stop searching after finding a certain number of binding sets. This is done by clicking in the circle to the left of the input field next to "answers" and typing in an integer into that input field. Application programs, using the Cyc Functional Interface ask functions, can be written to ask for a few binding sets, attempt to use them, then ask for more if they need to. Users can access this functionality by pressing the [Continue Last Query] button.
- Time cutoff (seconds)
A maximum time (in seconds) allowed for inference can be specified. Note that the time required for a given inference can vary depending on the machine running the Cyc Server application, so different Cyc Servers may have different behavior given the same time constraints.
The default time cutoff is 30 seconds. This can be modified by typing in a new value and clicking in the circle to the left of the input field next to "seconds". One can specify no time cutoff by selecting "Run forever".
- Depth cutoff (proof steps)
This limits the maximum number of search nodes which can be open at any time. The default is 20 proof steps, or nodes. This can be modified by typing in a new value and clicking in the circle to the left of the input field next to "proof steps". No limit on number of nodes can be specified by selecting "Infinite Depth".