Charles River Analytics, a developer of intelligent systems solutions, announces the release of Figaro 3.0, a probabilistic programming language that enables developers to create tools that help people make better decisions in the face of uncertainty. Figaro supports the development of rich probabilistic models and provides reasoning algorithms to draw useful conclusions from the available “noisy” evidence.
“Reasoning under uncertainty requires taking what you know and inferring what you don’t know,” explained Dr. Avi Pfeffer, Principal Scientist at Charles River. “A well-established approach for reasoning under uncertainty is probabilistic reasoning. Typically, we create a probabilistic model over all the variables we’re interested in, observe the values of some of these variables, and query the model for values of other variables of interest. There are a huge number and variety of approaches to doing this, and new approaches are being developed constantly. Figaro is designed help build and reason with the wide range of probabilistic models.”
Dr. Pfeffer continued,“Developing a new probabilistic model normally requires developing a representation for the model and a reasoning algorithm that can draw useful conclusions from the evidence. In many cases, an additional algorithm is used to learn aspects of the model from the data. These can be challenging tasks, making probabilistic reasoning require significant effort and expertise. Furthermore, most probabilistic reasoning tools are standalone and difficult to integrate into larger programs.” Dr. Pfeffer added,“Figaro supports a new kind of model-development process by simplifying the challenging task of creating probabilistic models that determine a situation’s unknown facts from its known facts. It does this by combining the expressive power of functional programming with the ease of use of object-oriented programming."
Figaro helps address the issues of model development, reasoning algorithm development, and integration into useful applications. It provides a rich library of model templates and provides ways to extend this library to create custom templates. It also comes with a library of extensible built-in reasoning algorithms that further simplify model development and that can be applied automatically to new models. Users can create their own reasoning algorithms through Figaro’s tools. Figaro provides both regular and anytime reasoning algorithms so users can get answers when they need them and do not have to wait for a long reasoning process to complete. Because Figaro models are data structures in the Scala programming language, which is interoperable with Java, models can be constructed, manipulated, and used directly within any Scala or Java application program. View a list of models and algorithms here.
Figaro 3.0 includes a number of new features, including:
• A collections library;
• New algorithms;
• Improvements to existing algorithms;
• Features to make programming easier;
• New element classes in the library.
Figaro (cra.com/figaro) is free and is released under an open-source license.
About Charles River Analytics
Since 1983, Charles River Analytics (cra.com) has been applying computational intelligence technologies to develop mission-relevant tools and solutions to transform our customers' data into knowledge that drives accurate assessment and robust decision-making. Charles River continues to grow its technology, customer base, and strategic alliances through research and development programs for the DoD and the Intelligence Community, addressing a broad spectrum of mission areas and functional domains, including: sensor and image processing, situation assessment and decision aiding, human systems integration, and cyber analytics. These efforts have resulted in a series of successful products that support continued growth in our core R&D contracting business, as well as the commercial sector. Charles River became an employee-owned company in 2012, to set the stage for the next-generation of innovation, service, and growth.