123 lines
2.9 KiB
Prolog
123 lines
2.9 KiB
Prolog
/*==============================================================================
|
|
* LPAD and CP-Logic reasoning suite
|
|
* File: params.pl
|
|
* Defines and sets parameters needed by other predicates (main: set).
|
|
* Copyright (c) 2009, Stefano Bragaglia
|
|
*============================================================================*/
|
|
|
|
:- dynamic setting/2.
|
|
|
|
% :- source.
|
|
% :- yap_flag(single_var_warnings, on).
|
|
|
|
|
|
|
|
/* PARAMETER LIST
|
|
* --------------
|
|
* The following list of parameters declares a few constants used along the
|
|
* program.
|
|
* The default value for each parameter can be changed using the following
|
|
* predicate:
|
|
*
|
|
* set(Parameter, Value).
|
|
*/
|
|
|
|
/* epsilon_parsing
|
|
* ---------------
|
|
* This parameter shows the probability's granularity during parsing.
|
|
*
|
|
* Default value: 0.00001
|
|
* Applies to: parsing
|
|
*/
|
|
setting(epsilon_parsing, 0.00001).
|
|
|
|
/* ground_body
|
|
* -----------
|
|
* This parameter tells if both the head and the body of each clause must be
|
|
* ground, or else the head only.
|
|
* In case the body contains variables not present in the head, it represents
|
|
* an existential event.
|
|
*
|
|
* Default value: false
|
|
* Applies to: parsing
|
|
*/
|
|
setting(ground_body, false).
|
|
|
|
/* k
|
|
* -
|
|
* This parameter shows the amount of items of the same type to consider at once.
|
|
*
|
|
* Default value: 64
|
|
* Applies to: bestfirst, bestk, montecarlo
|
|
*/
|
|
setting(k, 64).
|
|
|
|
/* min_error
|
|
* ---------
|
|
* This parameter shows the threshold for the probability interval.
|
|
*
|
|
* Default value: 0.01
|
|
* Applies to: bestfirst, montecarlo
|
|
*/
|
|
setting(min_error, 0.01).
|
|
|
|
/* prob_bound
|
|
* ----------
|
|
* This parameter shows the initial probability bound in a probability bounded
|
|
* method.
|
|
*
|
|
* Default value: 0.01
|
|
* Applies to: deepit
|
|
*/
|
|
setting(prob_bound, 0.001).
|
|
|
|
/* prob_step
|
|
* ---------
|
|
* This parameter shows the probability deepening step in a probability bounded
|
|
* method.
|
|
*
|
|
* Default value: 0.001
|
|
* Applies to: bestfirst, bestk
|
|
*/
|
|
setting(prob_step, 0.001).
|
|
|
|
/* save_dot
|
|
* --------
|
|
* This parameter tells if a .dot file for variables has be created.
|
|
*
|
|
* Default value: false
|
|
* Applies to: bestfirst, bestk, exact
|
|
*/
|
|
setting(save_dot, false).
|
|
|
|
/* timeout
|
|
* -------
|
|
* This parameter shows the time to wait before killing a bdd solving process.
|
|
*
|
|
* Default value: 300
|
|
* Applies to: bestfirst, bestk, exact
|
|
*/
|
|
setting(timeout, 300).
|
|
|
|
|
|
|
|
|
|
|
|
/* PREDICATES
|
|
* ----------
|
|
* The predicates in this section interact with the parameters defined above.
|
|
*/
|
|
|
|
/* set(Parameter, Value)
|
|
* ---------------------
|
|
* This predicate drops any previously saved value for the given parameter and
|
|
* associates it to the new given value.
|
|
*
|
|
* INPUT
|
|
* - Parameter: target parameter for the given new value.
|
|
* - Value: new value to assign to the given parameter.
|
|
*/
|
|
set(Parameter, Value) :-
|
|
retract(setting(Parameter, _)),
|
|
assert(setting(Parameter, Value)).
|