123 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
		
		
			
		
	
	
			123 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
|   | /*============================================================================== | ||
|  |  *	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)). |