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)).
 |