Skip to content

skindev/xadd-inference-1

 
 

Repository files navigation

xadd-inference -- Implementation of Extended ADDs (XADDs) and 
                  XADD-based inference algorithms.

Copyright (C) 2010, Scott Sanner (ssanner [@] gmail.com)
                    Karina Valdivia Delgado (karinaval [@] gmail.com)

License: MPL 1.1 (with exceptions for 3rd party software & data)

		 The Java interface to LPSolve
		 
		   http:https://lpsolve.sourceforge.net/5.5/
		   
		 is included for the user's convenience.  LPSolve 
		 uses an LGPL license:
		  
		   http:https://lpsolve.sourceforge.net/5.5/LGPL.htm

		 Also includes a 2D Java plotting package in PlotPackage.jar available here:
		 
		   http:https://homepage.mac.com/jhuwaldt/java/Packages/Plot/PlotPackage.html
		   

Basic Installation and Invocation
=================================

xadd-inference/ provides the following subdirectories:

    src   All source code (.java files)
    bin   All binaries (.class files)
    lib   All 3rd party libraries (.jar files)
    files All supplementary files 

Always ensure that all .jar files in lib/ are included in your
CLASSPATH for both Java compilation and at Java runtime.  

We highly recommend that you use Eclipse for Java development:

    http:https://www.eclipse.org/downloads/

In Eclipse the CLASSPATH libraries can be set via 

    Project -> Properties -> Java Build Path -> Libraries Tab

For running this code from a terminal, we provide two scripts

    run     For Windows/Cygwin and UNIX/Linux systems
    run.bat For the Windows CMD prompt

You can pass up to 10 arguments to these scripts as required.


Using the XADD-based Continuous MDP Solver
============================================================

**LPSolve and GraphViz should be installed on your system.  See 
below for instructions on installing each.

For an example to start with, try running
  
  ./run camdp.CAMDP src/camdp/ex/discact/knapsackM.cmdp 2 false false
  
which runs value iteration on the problem

  src/camdp/ex/discact/knapsackM.cmdp

for two iterations.  Numerous other CMDP examples including those  
with continuous actions can be found in 

  src/camdp/ex/


Installing LPSolve
==================

LPSolve requires binaries appropriate for the user's system, 
e.g., Windows requires lpsolve55j.dll.  To obtain these binaries, 
please consult:
		 
  http:https://lpsolve.sourceforge.net/5.5/distribution.htm
  http:https://sourceforge.net/projects/lpsolve/files/lpsolve/5.5.2.0/

To verify it is installed correctly, run

  lpsolve.LP

and ensure that there are no errors (LPSolve provides verbose
output about it's solution, but these are not errors).

NOTE: Windows users simply need to copy 3 files "lp_solve.exe", 
      "lpsolve55.dll" and "lpsolve55j.dll" to C:\Windows


GraphViz Visualization
======================

To enable Java Graphviz visualization:

- Download and install GraphViz v2.28 on your system:
 
    http:https://www.graphviz.org/
  
  Historical versions (2.28) are located here:
  
    http:https://www.graphviz.org/pub/graphviz/stable/

- Make sure "dot" and "neato" (including ".exe" if running on Windows)
  are in your PATH, i.e., you can execute them from any home directory

Run graph.Graph.main() and verify that a cleanly formatted Java window
displaying a graph appears.  If so then other code which uses the
Graph class should run properly.

About

xadd-inference fork

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PostScript 52.5%
  • Java 43.6%
  • TeX 2.4%
  • MATLAB 0.6%
  • Shell 0.3%
  • OpenEdge ABL 0.2%
  • Other 0.4%