• Introduction
  • Licensing
  • What's new in SMILE 2
  • Compiler and linker options
    • Visual C++
    • gcc and clang
  • Hello, SMILE!
    • Success/Forecast model
    • The program
    • hello.cpp
    • VentureBN.xdsl
  • Using SMILE
    • Main header file
    • Error handling
    • Multithreading
    • Unicode support
    • Naming conventions and identifiers
    • Arrays
    • Networks, nodes and arcs
      • Network
      • Nodes
      • Arcs
    • Anatomy of a node
      • Multidimensional arrays
      • Node definition
      • Node value & evidence
      • Other node attributes
    • Discrete Bayesian networks
      • CPT nodes
      • Canonical nodes
        • Noisy-MAX
        • Noisy-Adder
      • Discrete deterministic nodes
      • Discrete nodes and numeric domains
        • Outcome intervals
        • Outcome point values
    • Qualitative models
    • Influence diagrams
    • Dynamic Bayesian networks
      • Unrolling
      • Temporal definitions
      • Temporal evidence
      • Temporal beliefs
    • Continuous models
      • Equation-based nodes
      • Continuous inference
    • Hybrid models
    • Input and output
    • Inference
    • User properties
    • Cases
    • Diagnosis
      • Diagnostic roles
      • Observation cost
      • Diagnostic session
      • Distance and entropy-based measures
    • Sensitivity analysis
    • Datasets
      • Text file I/O
      • Discrete and continuous variables
      • Generating data from a network
      • Discretization
    • Learning
      • Learning network structure
      • Learning network parameters
      • Validation
  • Tutorials
    • main.cpp
    • Tutorial 1: Creating a Bayesian Network
      • tutorial1.cpp
    • Tutorial 2: Inference with a Bayesian Network
      • tutorial2.cpp
    • Tutorial 3: Exploring the contents of a model
      • tutorial3.cpp
    • Tutorial 4: Creating an Influence Diagram
      • tutorial4.cpp
    • Tutorial 5: Inference in an Influence Diagram
      • tutorial5.cpp
    • Tutorial 6: A dynamic model
      • tutorial6.cpp
    • Tutorial 7: A continuous model
      • tutorial7.cpp
    • Tutorial 8: Hybrid model
      • tutorial8.cpp
    • Tutorial 9: Structure learning
      • tutorial9.cpp
  • Reference Manual
    • Node types
    • Error codes
    • Arrays and matrices
      • DSL_stringArray
      • DSL_idArray
      • DSL_numArray
      • DSL_intArray
      • DSL_doubleArray
      • DSL_Dmatrix
    • DSL_network
    • DSL_node
    • Node definitions
      • DSL_nodeDef
      • DSL_discDef
      • DSL_cpt
      • DSL_truthTable
      • DSL_lazyDef
      • DSL_qualDef
      • DSL_demorgan
      • DSL_ciDef
      • DSL_noisyMAX
      • DSL_noisyAdder
      • DSL_decision
      • DSL_utility
      • DSL_mau
      • DSL_equation
    • Node values
      • DSL_nodeVal
      • DSL_discVal
      • DSL_beliefVector
      • DSL_policyValues
      • DSL_expectedUtility
      • DSL_mauExpectedUtility
      • DSL_equationEvaluation
    • DSL_userProperties
    • DSL_generalEquation
    • DSL_instanceCounts
    • DSL_dataset
    • DSL_dataGenerator
    • DSL_validator
    • DSL_progress
    • DSL_diagSession
    • DSL_sensitivity
    • Learning
      • DSL_em
      • DSL_bs
      • DSL_pc
      • DSL_tan
      • DSL_abn
      • DSL_nb
      • DSL_bkgndKnowledge
      • DSL_bsEvaluator
      • DSL_pattern
    • Equations
      • Operators
      • Random Number Generators
      • Statistical Functions
      • Arithmetic Functions
      • Combinatoric Functions
      • Trigonometric Functions
      • Hyperbolic Functions
      • Logical/Conditional functions
      • Custom Functions
    • Global functions
  • Appendix M: Matlab and SMILE
    • matsmile.cpp
  • Acknowledgments