| AITEC Contract Research Projects in FY1996 : Software |
This program provides a predicate-logic version of fast
cost-based hypothetical reasoning based on the Networked Bubble
Propagation (NBP) method. (More precisely, this program can deal with
range-restricted function-free Horn clauses.) While the computation
time for cost-based hypothetical reasoning grows exponentially in
general with respect to problem size, this program can compute a good
near-optimal solution in low-order polynomial time.
The NBP method, originally developed based on a
pivot-and-compliment method, is an efficient approximate solution
method for 0-1 integer programming. By replacing pivoting and other
operations in the pivot-and-compliment method with network-based
operations and by using the knowledge network structure, the NBP
method achieves high inference efficiency. The NBP method's
propositional-logic version achieves approximately 1.5-order of
polynomial time with respect to the number of possible element
hypotheses.
Although an extended NBP method for handling predicate-logic
knowledge was developed before, this predicate-logic version, NBP2a,
is implemented with a different and rather simple approach. This
program uses the QSQR method, an efficient deductive database method,
in an iterative deepening manner to produce a series of sub-problems of
propositional-logic hypothetical reasoning, which can be solved
efficiently through the NBP method of propositional-logic version.
Standard C compiler and a X-window software tool (for compiling nbp1b.c to produce nbp). Sicstus Prolog (for qsqr.plg). Pearl Interpreter.
nbp1b.c: A propositional-logic version of the NBP method written in C for
cost-based hypothetical reasoning. [73KB]
{nbp: An executable program produced by compiling nbp1b.c with a C
compiler and an X-window software tool as follows;
gcc nbp1b.c -1X11 -lm -0 nbp }
qsqr.plg: A Sicstus Prolog program for transforming a predicate-logic
hypothetical reasoning problem into a series of propositional-logic
sub-problems in an iterative deepening manner. [3.5KB]
runqsqr: A Pearl program to perform smooth data exchange between
qsqr.plg and nbp (a propositional-logic version of NBP method).
[5.6KB]
Sicstus Prolog is required for executing qsqr.plg. A Pearl interpreter is
required for runqsqr.
www-admin@icot.or.jp