Skip to content

Latest commit

 

History

History
39 lines (24 loc) · 1.18 KB

tse_complexity.rst

File metadata and controls

39 lines (24 loc) · 1.18 KB
.. py:module:: dit.multivariate.tse_complexity

TSE Complexity

The Tononi-Sporns-Edelmans (TSE) complexity :cite:`Tononi1994` is a complexity measure for distributions. It is designed so that it maximized by distributions where small subsets of random variables are loosely coupled but the overall distribution is tightly coupled.

\TSE{X | Z} = \sum_{k=1}^{|X|} \left( {N \choose k}^{-1} \sum_{\substack{y \subseteq X \\ |y| = k}} \left( \H{y | Z} \right) - \frac{k}{|X|}\H{X | Z} \right)

Two distributions which might be considered tightly coupled are the "giant bit" and the "parity" distributions:

.. ipython::

   In [54]: from dit.multivariate import tse_complexity

   In [55]: from dit.example_dists import Xor

   In [56]: d1 = Xor()

   @doctest float
   In [57]: tse_complexity(d1)
   Out[57]: 1.0

   In [58]: d2 = dit.Distribution(['000', '111'], [1/2, 1/2])

   @doctest float
   In [59]: tse_complexity(d2)
   Out[59]: 1.0

The TSE Complexity assigns them both a value of 1.0 bits, which is the maximal value the TSE takes over trivariate, binary alphabet distributions.

API

.. autofunction:: tse_complexity