Comprendre les origines causales et les principes mécaniques du comportement d'un système évolutif est l'un des plus grands challenges de notre temps. Par exemple, le pliage d'une protéine pour devenir une partie fonctionnelle du corps, or comment un médicament peut aider contre une maladie. Un système causal est décrit par un modèle algorithmique évoluant dans le temps. La longueur du plus court modèle informatique est appelé le contenu en information algorithmique du système. C'est la quantité de code informatique requise pour reproduire l'objet lui-même. Plus la description est courte, plus il est probable que le système est généré causalement. Plus la description est longue, moins il est probable qu'il soit généré causalement. Un système dynamique peut être représenté par un réseau d'éléments en interaction, comme des cellules ou gènes activant ou désactivant d'autres gènes. Il nous faut déterminer les premiers principes menant un système, tel que le réseau génétique représentant une cellule ou les cause qu'a une cellule de se comporter d'une manière ou d'une autre. Notre approche consiste à trouver un jeu de modèles algorithmiques qui peuvent expliquer la structure du système. Quand le système est un processus aléatoire, donc non généré causalement, il ne peut être représenté que par un modèle descriptif long. Cependant, des systèmes riches en contenu causal peuvent être représentés par des modèles courts car leur mécanisme de génération évolue dans chaque état observable du système. Pour déterminer le contenu causal d'un système en évolution, nous réalisons des perturbations. Dans un réseau, une perturbation peut être de supprimer un nœud ou un lien. Nous examinons les effets de cette perturbation, et évaluons à quel point le système est plus ou moins aléatoire. Dans un système aléatoire, par exemple, un changement n'aura pas d'impact majeur, car aucune partie du système ne pouvant expliquer un autre, et la perturbation passe inaperçue. Ces systèmes ne peuvent donc très certainement pas être reprogrammés. Mais, dans les systèmes non-aléatoires générés causalement quelques changements les rendront méconnaissables, les interventions causales dans ces systèmes les rendent reprogrammables. De plus, si on enlève un élément et que le système s'éloigne encore plus de l'aléatoire, on peut conclure que l'élément ne fait pas partie du contenu algorithmique, et qu'il ne fait probablement pas partie du mécanisme de génération du réseau. Il est donc probable qu'il soit du bruit ou une partie d'une autre système. Alternativement, si on enlève un élément et que le système se rapproche de l'aléatoire cela veut dire que l'élément fait partie du modèle causal qui explique l'évolution des autres parties du système. Mais, si on enlève un élément et que le système ne s'approche ni de l'aléatoire, ni de la simplicité, l'élément supprimé est non-essentiel pour expliquer le système et est probablement un élément produit par le cours normal de son évolution. Concernant la régulation des gènes, nous appliquons ce concept et évaluons la contribution de chaque gène et de chaque interaction de gène au réseau original, en classant les éléments par contribution causale.