# BDM Use - Introduction

BDM is a library of basic components for Bayesian decision making, hence its direct use is not possible. In order to use BDM the components must be pulled together in order to achieve desired functionality. We expect two kinds of users:

- Experimentators who run prepared scripts with different parameterizations and analyze their results,
- Algorithms designers who are able to understand the logic of BDM and extend its functionality to new applications.

The primary design aim of BDM was to ease development of complex algorithms, hence the target user is the latter. However, running experiments is the first task to learn for both types of users.

## Experiment is fully parameterized before execution

Experiments in BDM can be performed using either standalone applications or function bindings in high-level environment. A typical example of the latter being mex file in Matlab environment.

The main logic behind the experiment is that all necessary information about it are gathered in advance in a configuration file (for standalone applications) or in configuration structure (Matlab). This approach was designed especially for time consuming experiments and Monte-Carlo studies for which it suits the most.

For smaller decision making tasks, interactive use of the experiment can be achieved by showing the full configuration structure (or its selected parts), running the experiment on demand and showing the results.

Semi-interactive experiments can be designed by sequential run of different algorithms. This topic will be covered in advanced documentation.

## Prepared Scenarios

Since some tasks are repeatedly occuring in practical applications of decision making, these tasks has been identified and prepared as standalone applications (or mex files). These taska are implemented in separate toolbox - bdmtoolbox. Binary version of the toolbox is available see instalation.

The predefined scenarios are:

- Data simulation: a task that arise in modelling of real physical experiment. For example, this scenario allows empirical comparison of observed and simulated data.
- Sequential estimation: the previous scenario is extended by on-line estimation of model parameters. It allows to run multiple estimators in parallel allowing their mutual comparison.
- Closed loop: sequantial estimation from previous step is complemneted by adaptive controller (or decision maker) that designs control strategy for the next step.

These scenarios may serve as a starting point for advanced users who can design specific algorithms tailored for given application domain.

A tutorial how to run the scenarios are:

- Howto Use BDM - System, Data, Simulation
- user_guide2