I am pleased to announce the release of the first version of Figaro, our 
probabilistic programming language. A description of Figaro is below. Figaro is 
available from www.cra.com/figaro<http://www.cra.com/figaro>.

What is Figaro?
Developing a new probabilistic model requires developing a representation for 
the model and a reasoning algorithm that can draw useful conclusions from 
evidence. These can both be challenging tasks. Furthermore, it can be hard to 
integrate a probabilistic model in a larger program.
Figaro is a probabilistic programming language that helps address both these 
issues. Figaro makes it possible to express probabilistic models using the 
power of programming languages, giving the modeler the expressive tools to 
create all sorts of models. Figaro comes with a number of built-in reasoning 
algorithms that can be applied automatically to new models. In addition, Figaro 
models are data structures in the Scala programming language, which is 
interoperable with Java, and can be constructed, manipulated, and used directly 
within any Scala or Java program.
Figaro is extremely expressive. It can represent a wide variety of models, 
including:

*         directed and undirected models

*         models in which conditions and constraints are expressed by arbitrary 
Scala functions

*         models involving inter-related objects

*         open universe models in which we don't know what or how many objects 
exist

*         models involving discrete and continuous elements

*         models in which the elements are rich data structures such as  trees
Figaro provides a rich library of constructs to build these models, and 
provides ways to extend this library to create your own model elements.
Figaro's library of reasoning algorithms is also extensible. Current built-in 
algorithms include:

*         Exact inference using variable elimination

*         Importance sampling

*         Metropolis-Hastings, with an expressive language to define proposal 
distributions

*         Support computation

*         Most probable explanation (MPE) using variable elimination
Figaro provides both regular and anytime versions of some of these algorithms. 
In addition to the built-in algorithms, Figaro provides a number of tools for 
creating your own reasoning algorithms.
Figaro can also represent dynamic models and provides a particle filtering 
algorithm for such models.


+ + + + + + + + + + + + + + + + + +
Avi Pfeffer, PhD
Principal Scientist
Decision Management Systems
Government Services
Charles River Analytics Inc.
617.491.3474 x513
www.cra.com





THIS MESSAGE IS INTENDED FOR THE USE OF THE PERSON TO WHOM IT IS ADDRESSED. IT 
MAY CONTAIN INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND EXEMPT FROM 
DISCLOSURE UNDER APPLICABLE LAW. If you are not the intended recipient, your 
use of this message for any purpose is strictly prohibited. If you have 
received this communication in error, please delete the message and notify the 
sender so that we may correct our records.



_______________________________________________
uai mailing list
uai@ENGR.ORST.EDU
https://secure.engr.oregonstate.edu/mailman/listinfo/uai

Reply via email to