..
This work is licensed under the Creative Commons Attribution-
NonCommercial-ShareAlike 3.0 Unported License. To view a copy of this
license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a
letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View,
California, 94041, USA.
.. _expdesign_guide:
.. currentmodule:: qinfer.expdesign
Online Experiment Design
========================
Fully Adaptive Optimization
---------------------------
The information gathered by updates of a posterior distribution, such as the
updates generated by the SMC approximation, can be used to inform the choice
of future experiments. The :class:`ExperimentDesigner` encapsulates and
automates this process by designing experiments that minimize an objective
function
.. math::
O(\vec{e}) = r(\vec{e}) + k C(\vec{e}),
where :math:`r(\vec{e})` is the Bayes risk (see [GFWC12]_), :math:`C(\vec{e})`
is a cost function describing the cost associated with each experiment and where
:math:`k` is a parameter describing how much we are willing to pay for
reductions in risk. In QInfer, the cost function is specified as the
:meth:`~qinfer.abstract_model.Simulatable.experiment_cost` method of
the :class:`~qinfer.abstract_model.Simulatable` class under study.
Heuristics
----------
As opposed to fully optimizing the utility of an experiment, it can be
substantially less expensive to use a *heuristic* function of prior information
to select experiments without explicit simulation. As an example, in [WGFC13a]_,
the *particle guess heuristic* (PGH) was used to design quantum Hamiltonian
learning experiments without incurring additional simulation costs.
**QInfer** exposes these heuristics though subclasses of :class:`Heuristic`,
such as :class:`PGH`, which create experiment parameter arrays given the
prior information exposed by an :class:`~qinfer.smc.SMCUpdater` instance.