Header logo is

Non-Equilibrium Relations for Bounded Rational Decision-Making in Changing Environments




Living organisms from single cells to humans need to adapt continuously to respond to changes in their environment. The process of behavioural adaptation can be thought of as improving decision-making performance according to some utility function. Here, we consider an abstract model of organisms as decision-makers with limited information-processing resources that trade off between maximization of utility and computational costs measured by a relative entropy, in a similar fashion to thermodynamic systems undergoing isothermal transformations. Such systems minimize the free energy to reach equilibrium states that balance internal energy and entropic cost. When there is a fast change in the environment, these systems evolve in a non-equilibrium fashion because they are unable to follow the path of equilibrium distributions. Here, we apply concepts from non-equilibrium thermodynamics to characterize decision-makers that adapt to changing environments under the assumption that the temporal evolution of the utility function is externally driven and does not depend on the decision-maker’s action. This allows one to quantify performance loss due to imperfect adaptation in a general manner and, additionally, to find relations for decision-making similar to Crooks’ fluctuation theorem and Jarzynski’s equality. We provide simulations of several exemplary decision and inference problems in the discrete and continuous domains to illustrate the new relations.

Author(s): Grau-Moya, J and Krüger, M and Braun, DA
Journal: Entropy
Volume: 20
Number (issue): 1:1
Pages: 1-28
Year: 2018
Month: January

Department(s): Empirical Inference
Bibtex Type: Article (article)

DOI: 10.3390/e20010001


  title = {Non-Equilibrium Relations for Bounded Rational Decision-Making in Changing Environments},
  author = {Grau-Moya, J and Kr{\"u}ger, M and Braun, DA},
  journal = {Entropy},
  volume = {20},
  number = {1:1},
  pages = {1-28},
  month = jan,
  year = {2018},
  month_numeric = {1}