Software

Various pieces of software that I, or members of my group, have written. Most are available for non-commercial use. Refer to the specific license information in each package for individual terms of use.

SBNet
A simple tool for learning the structure of discrete dynamic Bayesian networks (dDBNs). Used in our work on the analysis of neuroimaging data.
RENCO
REgulatory Network generator with COmbinatorial control (RENCO), is a software tool for automatic generation of differential equations describing pre-transcriptional combinatorics in artificial gene or protein regulatory networks.
MetaGraph Scoring
Code for approximating the (BDe) score of discrete Bayesian networks via regression on a hypercube topology imposed on the space of graphs.
Cart-Pole Demo
A Java implementation of the classic "cart pole" reinforcement learning problem (learning to control the inverted pendulum). This file includes both Java source and compiled .class files. The jar file is executable under Java 6 or later (java -jar cart_pole_demo.jar) Creative
Commons License
Small MDPs in Matlab
Matlab code for reinforcement learning and planning in very small, gridworld-style maze navigation problems. This software does not provide general-purpose MDP facilities; it is intended for working with small mazes and navigational problems and largely for prototyping purposes.
Java MDP toolbox
A set of Java utilities for manipulating and planning in large, general purpose MDPs. Includes support for atomic and factored state spaces; sparse, dynamic Bayes network (DBN), or decision tree transition functions; simulation and sampling; solution of small models via value or policy iteration; policy evaluation for small models; and hooks to support partially observable MDPs (POMDPs). Currently, there is no support for learning, but the infrastructure should support it relatively straightforwardly. Requires the OR Objects v. 1.2.4 or better from OpsResearch.com (for support of sparse matrices and fundamental linear algebra operations) and the libtdl Java support library.
LibTDL
A small set of miscellaneous Java support functions. I haven't looked at this since about Java version 1.3 or 1.4 -- no guarantees on compatibility with modern Javas.
(t)csh script parser
Basic parser for the (grungy and unpleasant to parse) tcsh language. Requires PCCTS (ancestor of ANTLR) to compile. Ugh.
Anomaly scanner
The instance-based anomaly detection scanner described in my dissertation. (The HMM learner was implemented using off-the-shelf HMM software.)