.. _method-approximate_control_variate-search_model_graphs-kl_recursion:

""""""""""""
kl_recursion
""""""""""""


Model graph enumeration that follows the ACV-KL partitioning scheme


.. toctree::
   :hidden:
   :maxdepth: 1



**Specification**

- *Alias:* None

- *Arguments:* None


**Description**



The ``kl_recursion`` approach (known as ACV-KL in :cite:p:`GORODETSKY2020109257`)
enumerates a set of free parameters, K and L, that partition a
sequence of control variate targets within the directed acyclic graph
(DAG) of control variate pairings.  Within a set of approximation
models of size M, the K highest-fidelity approximations target the
root node (the truth model) whereas the other M-K lowest fidelity
approximations all target node L.  The DAGs associated with different
values for K and L are enumerated and the one with the best
performance (lowest estimator variance for a prescribed budget or
lowest cost for a prescribed accuracy) is selected for final
post-processing.

As described in :cite:p:`Bomarito2022`, the ``kl_recursion`` approach
defines a subset of ordered DAGs that are contained within the unordered
subset of DAGs defined by ``partial_recursion`` ``depth_limit`` = 2.
As such, it explores a reduced number of alternatives which may be
appropriate for larger model ensembles.




**Examples**



.. code-block::

    method,
    	model_pointer = 'ENSEMBLE'
    	approximate_control_variate acv_mf
    	  pilot_samples = 25 seed = 8674132
    	  search_model_graphs kl_recursion
    	  max_function_evaluations = 500




**Theory**


Refer to :cite:p:`GORODETSKY2020109257` for additional details.


