small fixes
This commit is contained in:
@@ -833,7 +833,7 @@ gradient_descent :-
|
||||
forall(tunable_fact(FactID,GroundTruth),
|
||||
(XZ is 0.5, X[FactID] <== XZ,set_fact_probability(FactID,XZ))),
|
||||
problog_flag(sigmoid_slope,Slope),
|
||||
%%% lbfgs_set_parameter(min_step, 2e-40, Solver),
|
||||
lbfgs_set_parameter(min_step, Solver, 0.0),
|
||||
lbfgs_run(Solver,BestF),
|
||||
format('~2nOptimization done~nWe found a minimum ~4f.~n',[BestF]),
|
||||
forall(tunable_fact(FactID,GroundTruth), set_tunable(FactID,X)),
|
||||
|
@@ -811,7 +811,7 @@ static YAP_Bool p_cudd_print_with_names(void) {
|
||||
DdManager *manager = (DdManager *)YAP_IntOfTerm(YAP_ARG1);
|
||||
DdNode *n0 = (DdNode *)YAP_IntOfTerm(YAP_ARG2);
|
||||
const char *s = YAP_AtomName(YAP_AtomOfTerm(YAP_ARG3));
|
||||
char **namesp;
|
||||
char ** namesp;
|
||||
YAP_Term names = YAP_ARG4;
|
||||
FILE *f;
|
||||
YAP_Int len;
|
||||
@@ -850,14 +850,14 @@ static YAP_Bool p_cudd_print_with_names(void) {
|
||||
names = YAP_TailOfTerm(names);
|
||||
namesp[i++] = f;
|
||||
}
|
||||
Cudd_DumpDot(manager, 1, &n0, namesp, NULL, f);
|
||||
Cudd_DumpDot(manager, 1, &n0, (const char * const*)namesp, NULL, f);
|
||||
if (f != stdout && f != stderr)
|
||||
fclose(f);
|
||||
while (i > 0) {
|
||||
i--;
|
||||
free((void *)namesp[i]);
|
||||
}
|
||||
free(namesp);
|
||||
free((void *)namesp);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@@ -376,7 +376,7 @@ int simpleBDDtoDot(DdManager *manager, DdNode *bdd, char *filename) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
int simpleNamedBDDtoDot(DdManager *manager, const namedvars varmap, DdNode *bdd, char *filename) {
|
||||
int simpleNamedBDDtoDot(DdManager *manager, namedvars varmap, DdNode *bdd, char *filename) {
|
||||
DdNode *f[1];
|
||||
int ret;
|
||||
FILE *fd;
|
||||
|
@@ -1293,7 +1293,8 @@ gradientpair CalcGradient(extmanager MyManager, DdNode *Current, int TargetVar,
|
||||
char *TargetPattern, int type) {
|
||||
DdNode *h, *l;
|
||||
hisnode *Found;
|
||||
const char *curnode = NULL, *dynvalue;
|
||||
const char *curnode = NULL;
|
||||
char *dynvalue;
|
||||
gradientpair lowvalue, highvalue, tvalue;
|
||||
double this_probability;
|
||||
double *gradient;
|
||||
|
@@ -298,7 +298,7 @@ table is used to store nodeB for which the probability has alread been computed
|
||||
so that it is not recomputed
|
||||
*/
|
||||
{
|
||||
int index, mVarIndex, comp, pos;
|
||||
int index, mVarIndex, comp;
|
||||
variable v;
|
||||
double res;
|
||||
double p, pt, pf, BChild0, BChild1;
|
||||
@@ -333,7 +333,7 @@ so that it is not recomputed
|
||||
BChild1 = pt * p;
|
||||
mVarIndex = bVar2mVar_ex[ex][index];
|
||||
v = vars_ex[ex][mVarIndex];
|
||||
pos = index - v.firstBoolVar;
|
||||
index - v.firstBoolVar;
|
||||
res = BChild0 + BChild1;
|
||||
add_node(table, nodekey, res);
|
||||
return res;
|
||||
@@ -345,7 +345,6 @@ static YAP_Bool add_var(void) {
|
||||
YAP_Term arg1, arg2, arg3, arg4, out, probTerm, probTerm_temp;
|
||||
variable *v;
|
||||
int i;
|
||||
DdNode *node;
|
||||
double p, p0;
|
||||
|
||||
arg1 = YAP_ARG1;
|
||||
@@ -367,7 +366,7 @@ static YAP_Bool add_var(void) {
|
||||
probTerm = arg2;
|
||||
p0 = 1;
|
||||
for (i = 0; i < v->nVal - 1; i++) {
|
||||
node = Cudd_bddIthVar(mgr_ex[ex], boolVars_ex[ex] + i);
|
||||
//node = Cudd_bddIthVar(mgr_ex[ex], boolVars_ex[ex] + i);
|
||||
p = YAP_FloatOfTerm(YAP_HeadOfTerm(probTerm));
|
||||
bVar2mVar_ex[ex][boolVars_ex[ex] + i] = nVars_ex[ex] - 1;
|
||||
probs_ex[ex][boolVars_ex[ex] + i] = p / p0;
|
||||
|
@@ -350,6 +350,12 @@ static YAP_Bool lbfgs_release(void) {
|
||||
/* return FALSE; */
|
||||
}
|
||||
|
||||
static lbfgs_parameter_t * get_params(YAP_Term t) {
|
||||
YAP_Int ar = YAP_ArityOfFunctor(YAP_FunctorOfTerm(t));
|
||||
YAP_Term arg = YAP_ArgOfTerm(ar, t);
|
||||
return (lbfgs_parameter_t *)YAP_IntOfTerm(arg);
|
||||
}
|
||||
|
||||
/** @pred lbfgs_set_parameter(+Name,+Value,+Parameters)
|
||||
Set the parameter Name to Value. Only possible while the lbfgs
|
||||
is not running.
|
||||
@@ -357,7 +363,7 @@ is not running.
|
||||
static YAP_Bool lbfgs_set_parameter(void) {
|
||||
YAP_Term t1 = YAP_ARG1;
|
||||
YAP_Term t2 = YAP_ARG2;
|
||||
lbfgs_parameter_t *param = (lbfgs_parameter_t *)YAP_IntOfTerm(YAP_ARG3);
|
||||
lbfgs_parameter_t *param = get_params(YAP_ARG3);
|
||||
/* if (lbfgs_status != LBFGS_STATUS_NONE && lbfgs_status !=
|
||||
* LBFGS_STATUS_INITIALIZED){ */
|
||||
/* printf("ERROR: Lbfgs is running right now. Please wait till it is
|
||||
@@ -510,6 +516,7 @@ static YAP_Bool lbfgs_set_parameter(void) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
/** @pred lbfgs_get_parameter(+Name,-Value)</h3>
|
||||
Get the current Value for Name
|
||||
*/
|
||||
@@ -517,7 +524,7 @@ Get the current Value for Name
|
||||
static YAP_Bool lbfgs_get_parameter(void) {
|
||||
YAP_Term t1 = YAP_ARG1;
|
||||
YAP_Term t2 = YAP_ARG2;
|
||||
lbfgs_parameter_t *param = (lbfgs_parameter_t *)YAP_IntOfTerm(YAP_ARG3);
|
||||
lbfgs_parameter_t *param = get_params(YAP_ARG3);
|
||||
|
||||
if (!YAP_IsAtomTerm(t1)) {
|
||||
return FALSE;
|
||||
|
Reference in New Issue
Block a user