
Programmable engine for Bayesian inference, learning, and structural modeling, supporting integration into custom applications.
Vendor
BayesFusion
Company Website
SMILE (Structural Modeling, Inference, and Learning Engine) is a cross-platform software library for building, learning, and performing inference with probabilistic graphical models, such as Bayesian networks, influence diagrams, and dynamic Bayesian networks. Written in C++ with wrappers for Java, .NET, and Python, SMILE is designed for integration into custom applications, enabling developers to embed advanced probabilistic reasoning and decision analysis capabilities. The library supports both discrete and continuous variables, offers a range of inference and learning algorithms, and is optimized for performance on platforms from cloud servers to embedded systems. SMILE is widely used in research, diagnostics, risk assessment, and real-time decision support.
Key Features
Comprehensive API for Probabilistic Modeling Provides a rich set of functions for model creation, learning, and inference.
- Native C++ API with wrappers for Java, .NET, and Python.
- Supports Bayesian networks, influence diagrams, and dynamic Bayesian networks.
Advanced Inference and Learning Algorithms Implements exact and approximate inference, as well as parameter and structure learning.
- Handles discrete and continuous variables, including metalog distributions.
- Supports diagnosis, value of information, and utility calculations.
Cross-Platform and Embedded Support Runs on a wide range of platforms, including desktops, servers, and microcontrollers.
- Can be compiled for Windows, Linux, macOS, and embedded devices (e.g., ESP32).
- Efficient memory and CPU usage for real-time applications.
Extensible and Interoperable Integrates with other BayesFusion tools and third-party applications.
- Compatible with GeNIe models and other Bayesian network formats.
- Supports batch processing and external data integration.
Recent Enhancements (SMILE 2.x) Includes new features for modeling and prototyping.
- Metalog distributions in continuous nodes.
- Discrete nodes with numeric intervals or point values.
- Qualitative De Morgan nodes and diagnosis API.
- Modern C++11 support and improved prototyping methods.
Benefits
Customizable Integration Embeds probabilistic reasoning into any application.
- Flexible API for custom workflows and user interfaces.
- Enables domain-specific decision support and diagnostics.
Performance and Scalability Optimized for speed and low resource usage.
- Suitable for real-time and embedded applications.
- Scales from small devices to enterprise systems.
Research and Commercial Use Widely adopted in academia and industry.
- Free for academic use, with commercial licensing available.
- Supports advanced research and commercial product development.