Merge branch 'master' of ssh://yap.git.sourceforge.net/gitroot/yap/yap-6.3
This commit is contained in:
commit
02a9709431
@ -699,48 +699,48 @@ pfl_init_solver(QueryKeys, AllKeys, Factors, Evidence, State) :-
|
||||
;
|
||||
format("Error: solver '~w' is unknown.", [Solver]), fail
|
||||
),
|
||||
pfl_init_solver(QueryKeys, AllKeys, Factors, Evidence, State, Solver).
|
||||
pfl_init_solver(Solver, QueryKeys, AllKeys, Factors, Evidence, State).
|
||||
|
||||
pfl_init_solver(QueryKeys, AllKeys, Factors, Evidence, State, ve) :- !,
|
||||
pfl_init_solver(ve, QueryKeys, AllKeys, Factors, Evidence, State) :- !,
|
||||
init_ve_ground_solver(QueryKeys, AllKeys, Factors, Evidence, State).
|
||||
|
||||
pfl_init_solver(QueryKeys, AllKeys, Factors, Evidence, State, hve) :- !,
|
||||
pfl_init_solver(hve, QueryKeys, AllKeys, Factors, Evidence, State) :- !,
|
||||
clpbn_horus:set_horus_flag(ground_solver, hve),
|
||||
init_horus_ground_solver(QueryKeys, AllKeys, Factors, Evidence, State).
|
||||
|
||||
pfl_init_solver(QueryKeys, AllKeys, Factors, Evidence, State, bdd) :- !,
|
||||
pfl_init_solver(bdd, QueryKeys, AllKeys, Factors, Evidence, State) :- !,
|
||||
init_bdd_ground_solver(QueryKeys, AllKeys, Factors, Evidence, State).
|
||||
|
||||
pfl_init_solver(QueryKeys, AllKeys, Factors, Evidence, State, bp) :- !,
|
||||
pfl_init_solver(bp, QueryKeys, AllKeys, Factors, Evidence, State) :- !,
|
||||
clpbn_horus:set_horus_flag(ground_solver, bp),
|
||||
init_horus_ground_solver(QueryKeys, AllKeys, Factors, Evidence, State).
|
||||
|
||||
pfl_init_solver(QueryKeys, AllKeys, Factors, Evidence, State, cbp) :- !,
|
||||
pfl_init_solver(cbp, QueryKeys, AllKeys, Factors, Evidence, State) :- !,
|
||||
clpbn_horus:set_horus_flag(ground_solver, cbp),
|
||||
init_horus_ground_solver(QueryKeys, AllKeys, Factors, Evidence, State).
|
||||
|
||||
pfl_init_solver(_, _, _, _, _, Solver) :-
|
||||
pfl_init_solver(Solver, _, _, _, _, _) :-
|
||||
format("Error: solver '~w' can't be used for learning.", [Solver]),
|
||||
fail.
|
||||
|
||||
|
||||
pfl_run_solver(LVs, LPs, State) :-
|
||||
em_solver(Solver),
|
||||
pfl_run_solver(LVs, LPs, State, Solver).
|
||||
pfl_run_solver(Solver, LVs, LPs, State).
|
||||
|
||||
pfl_run_solver(LVs, LPs, State, ve) :- !,
|
||||
pfl_run_solver(ve, LVs, LPs, State) :- !,
|
||||
run_ve_ground_solver(LVs, LPs, State).
|
||||
|
||||
pfl_run_solver(LVs, LPs, State, hve) :- !,
|
||||
pfl_run_solver(hve, LVs, LPs, State) :- !,
|
||||
run_horus_ground_solver(LVs, LPs, State).
|
||||
|
||||
pfl_run_solver(LVs, LPs, State, bdd) :- !,
|
||||
pfl_run_solver(bdd, LVs, LPs, State) :- !,
|
||||
run_bdd_ground_solver(LVs, LPs, State).
|
||||
|
||||
pfl_run_solver(LVs, LPs, State, bp) :- !,
|
||||
pfl_run_solver(bp, LVs, LPs, State) :- !,
|
||||
run_horus_ground_solver(LVs, LPs, State).
|
||||
|
||||
pfl_run_solver(LVs, LPs, State, cbp) :- !,
|
||||
pfl_run_solver(cbp, LVs, LPs, State) :- !,
|
||||
run_horus_ground_solver(LVs, LPs, State).
|
||||
|
||||
pfl_end_solver(State) :-
|
||||
|
@ -950,26 +950,27 @@ LiftedCircuit::createSmoothNode (
|
||||
vector<LogVarTypes>
|
||||
LiftedCircuit::getAllPossibleTypes (unsigned nrLogVars) const
|
||||
{
|
||||
if (nrLogVars == 0) {
|
||||
return {};
|
||||
}
|
||||
if (nrLogVars == 1) {
|
||||
return {{LogVarType::POS_LV},{LogVarType::NEG_LV}};
|
||||
}
|
||||
vector<LogVarTypes> res;
|
||||
Ranges ranges (nrLogVars, 2);
|
||||
Indexer indexer (ranges);
|
||||
while (indexer.valid()) {
|
||||
LogVarTypes types;
|
||||
for (size_t i = 0; i < nrLogVars; i++) {
|
||||
if (indexer[i] == 0) {
|
||||
types.push_back (LogVarType::POS_LV);
|
||||
} else {
|
||||
types.push_back (LogVarType::NEG_LV);
|
||||
if (nrLogVars == 0) {
|
||||
// do nothing
|
||||
} else if (nrLogVars == 1) {
|
||||
res.push_back ({ LogVarType::POS_LV });
|
||||
res.push_back ({ LogVarType::NEG_LV });
|
||||
} else {
|
||||
Ranges ranges (nrLogVars, 2);
|
||||
Indexer indexer (ranges);
|
||||
while (indexer.valid()) {
|
||||
LogVarTypes types;
|
||||
for (size_t i = 0; i < nrLogVars; i++) {
|
||||
if (indexer[i] == 0) {
|
||||
types.push_back (LogVarType::POS_LV);
|
||||
} else {
|
||||
types.push_back (LogVarType::NEG_LV);
|
||||
}
|
||||
}
|
||||
res.push_back (types);
|
||||
++ indexer;
|
||||
}
|
||||
res.push_back (types);
|
||||
++ indexer;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ CRACS \& INESC TEC, Faculty of Sciences, University of Porto
|
||||
\thispagestyle{empty}
|
||||
\vspace{5cm}
|
||||
\begin{center}
|
||||
\large Last revision: January 11, 2013
|
||||
\large Last revision: January 18, 2013
|
||||
\end{center}
|
||||
\newpage
|
||||
|
||||
@ -60,7 +60,7 @@ The package also includes implementations for a set of well-known inference algo
|
||||
%------------------------------------------------------------------------------
|
||||
%------------------------------------------------------------------------------
|
||||
\section{Installation}
|
||||
PFL is included with the \href{http://www.dcc.fc.up.pt/~vsc/Yap/}{YAP} Prolog system. However, there isn't yet a stable release of YAP that includes PFL. So you will need to install a development version of YAP. To to so, you must have installed the \href{http://git-scm.com/}{Git} version control system. The commands to perform a default installation of YAP in your home directory in a Unix-based environment are shown next.
|
||||
PFL is included with the \href{http://www.dcc.fc.up.pt/~vsc/Yap/}{YAP} Prolog system. However, there isn't yet a stable release of YAP that includes PFL and you will need to install a development version. To do so, you must have installed the \href{http://git-scm.com/}{Git} version control system. The commands to perform a default installation of YAP in your home directory in a Unix-based environment are shown next.
|
||||
|
||||
\begin{enumerate}
|
||||
\setlength\itemindent{-0.01cm}
|
||||
@ -433,7 +433,7 @@ Parameter learning is done by calling the \texttt{em/5} predicate. Its arguments
|
||||
|
||||
Where,
|
||||
\begin{itemize}
|
||||
\item \texttt{Data} is a list of samples for the distribution that we want to estimate. Each sample is a list of either observed random variables or unobserved random variables (denoted when its state value is not instantiated).
|
||||
\item \texttt{Data} is a list of samples for the distribution that we want to estimate. Each sample is a list of either observed random variables or unobserved random variables (denoted when its state or value is not instantiated).
|
||||
\item \texttt{MaxError} is the maximum error allowed before stopping the EM loop.
|
||||
\item \texttt{MaxIters} is the maximum number of iterations for the EM loop.
|
||||
\item \texttt{CPTs} is a list with the estimated conditional probability tables.
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit b98ea2bb69599c44bdda52c7f1d3e6e3152b97aa
|
||||
Subproject commit 980a0b9950ca0b52b327234fd2f66e0790f9c4e1
|
Reference in New Issue
Block a user