Skip to main content

Mathematics

Applications de la théorie de la viabilité en intelligence artificielle

Lieu
Inria Sophia Antipolis
Date
07-10-2025
Langue de la conférence
Niveau de difficulté
Description

Comment les algorithmes de viabilité peuvent aider à concevoir des IA respectant des contraintes de sécurité et d’éthique.

Intervenant(s)
Dr. Élodie Garnier (Inria), Contenu à venir !

Théorie mathématique de la viabilité en anglais

Université des Antilles, Pôle Martinique
01-08-2025
20
Niveau de difficulté
Présentation de l'atelier

Cet atelier propose une introduction appliquée à la théorie de la viabilité, notamment dans le cadre des écosystèmes soumis à des contraintes environnementales. Les participants exploreront comment formaliser des politiques durables de gestion à l’aide d’algorithmes de viabilité, et comment modéliser la résilience d’un système via des cas concrets comme l’eutrophisation d’un lac ou la gestion d'une population.

Objectifs de l'atelier
  • Comprendre les bases mathématiques de la viabilité dynamique.
  • Utiliser des modèles simples pour représenter des contraintes écologiques.
  • Manipuler un simulateur interactif pour visualiser les trajectoires viables.
  • Favoriser les échanges entre chercheurs, étudiants et praticiens.
Programme

LUNDI 27 avril

LUNDI 27 AVRIL

8h15 - Rendez-vous de l’ensemble des participants devant la Bibliothèque Universitaire

 

SESSION 1 : POSER UN PROBLEME EN VIABILITE

Animateur : Bates – De Lapparent - Lavallée - Désilles

8h30 - 8h50 La viabilité mathématique en question ? (Samuel Bates)

8h50 - 9h50 Concept et illustration du noyau de viabilité (François Lavallée)

Pause & discussion

10h00-11h15 Formuler mathématiquement un problème de viabilité (François Lavallée)

11h15-12h00 Cas de résolution analytique de la viabilité (François Lavallée)

Déjeuner

13h30-14h15 Cas de résolution numérique de la viabilité (François Lavallée)

14h15-15h00 Cas de résolution de viabilité avec cible terminale (François Lavallée)

Pause & discussion

15h15-16h00 Cas de résolution de viabilité en situation de risque (François Lavallée)

16h00-16h45 Cas de résolution de viabilité en situation d’incertitude (François Lavallée)

Pause & discussion

17h00-17h45 Cas de résolution de viabilité multi-agent (Alice De Lapparent)

 

MARDI 28 AVRIL

SESSION 2 : L’INFORMATIQUE DE LA VIABILITE

Animateur : Désilles - Lavallée

 

8h00-9h00 Préparation à l’informatique de la viabilité (Anya Désilles)

9h00-10h30 Présentation du logiciel Viablab (Anya Désilles)

Pause & discussion

10h45-11h15 Enjeux informatiques sur les noyaux de viabilité (Anya Désilles)

11h15-12h00 Enjeux informatiques sur les trajectoires de viabilité (Anya Désilles)

Déjeuner

13h30-15h30 Atelier de manipulation du Logiciel autour d’un cas d’étude (1/2) (François Lavallée & Anya Désilles)

Pause & discussion

15h45-17h45 Atelier de manipulation du Logiciel autour d’un cas d’étude (2/2) (François Lavallée & Anya Désilles)


MERCREDI 29 AVRIL

SESSION 3 : ATELIERS THEMATIQUES D’APPLICATION

Animateurs Désilles - Gloglo

 

8h00-10h00 Atelier autour de AgroViablab : Illustration vers une montée en
complexité (Anya Désilles)

Pause & discussion

10h15-12h15 Brainstorming autour d’AgroViablab (collectif)

Déjeuner

13h45-15h45 Atelier d’application sur un système monétaire : Illustration vers une simplification de complexité (Beringer Gloglo)

15h45-17h45 Brainstorming sur les applications (collectif)


18h00-19h00 Séminaire sur la viabilité en économie monétaire (en marge de l’école chercheur à destination des étudiants de Master d’économie) (Beringer Gloglo, Samuel Bates)

 

JEUDI 30 AVRIL



 

SESSION 4 : MODELISATION EN VIABILITE

8h00-09h00 Brainstroming autour d’un 1er sujet de modélisation (collectif)

9h00-10h00 Brainstroming autour d’un 2e sujet de modélisation (collectif)

Pause & discussion

10h15-11h15 Brainstroming autour d’un 3e sujet de modélisation (collectif)

11h15-12h00 Retour d’expériences



 

Déjeuner & clôture hors les murs (13h00-17h00 : Saint-Pierre)

Description localisation

L'atelier aura lieu à l'Université des Antilles, Pôle Martinique

14.620041056675, -61.0940054

Intervenant(s)
M. Samuel Bates, Contenu à venir !
De Lapparent Alice
François Lavallée
Anya Désilles
Béringer Gloglo
Liste des participants
Science économique

- Pablo Andres-Domenech
- Valérie Angeon
- Samuel Bates
- Abdoul Cisse
- Issaka Dialga
- Beringer Gloglo
- Thaly Janloup
- Eric Kamwa
- Kevin Spinassou

Mathématique

- Severine Andouze/Bernard
- James Larrouy
- François Lavallée
- Loïc Louison
- Paul Silvere Nuiro

Géographie

- Etienne Delay
- Pastel Audrey

Agronomie

- Alice De-Lapparent

Informatique

- Anya Désilles

Julia Sets

Niveau de difficulté
Domaine
Problèmes mathématiques
Contenu

Let us consider complex quadratic polynomials that can be expressed as 

$$\phi_c(z)=z^2+c.$$

The filled Julia set gathers $z$ such that the sequence of their iterates by $\phi_c$ is bounded. 

Fix some $R>0$ large enough that $R^2-R\geq |c|$, the filled Julia set for this system is the subset of the complex plane given by

$$K(\phi_c)=\{z\in C\; :\; \forall n \in N, \;|\phi_c^n(z)|\leq R\},$$ 

where $\phi_c^n(z)$ is the nth iterate of $\phi_c(z)$. The Julia set $J(\phi_c)$ of this function is the boundary of $K(\phi_c)$.

In 1982, a deep theorem by Adrien Douady and Hubbard states that Julia sets are path-connected if and only if the sequence of the iterates of $0$ is bounded. 

Moreover, $K(\phi_c)$ and $J(\phi_c)$ are either path-connected (there is a path within the set that connects any two given points in the set) or path-disconnected (for any two given points in the set, it is impossible to find a path within the set that connects the pair). The set of complex numbers $c$ that can form a path-connected Julia set is called the Mandelbrot set. It is defined in the complex plane as the complex numbers $c$ for which the function $\phi_c$ does not diverge to infinity when iterated starting at $z=0$.

The set Mandelbrot set is bounded, included in $B(0,2)$. Different components of the Mandelbrot set correspond to different dynamical behaviors of the corresponding filled Julia sets.

 

From

Aubin, J.-P., Bayen, A., & Saint-Pierre, P. Viability Theory: New Directions. Springer. 2011.

  • Obviously, the subset $K_c:=Viab_{\phi_c}(B(0,2))$ is the filled Julia set for the function $\phi_c$ whenever $|c|\leq 2$ (which is true when $c$ belongs to the Mandelbrot set) and its boundary $J_u:=\partial K_c$ is the Julia set.

We can approximate these Julia sets thanks to the Viability Algorithm.

Dynamics Constraints Target Viability Concept

Discrete Time

Continous 2-dimensional space

$\phi(x,y):=(x^2-y^2+a,2xy+b)$

Parameters : $a$, $b$ 

B(0,2) None Viability Kernel

Two famous Julia sets : 

  • Douady Rabbit when $c$ is a complex root of $c^3+2c^2+c+$,  $c\approx -0.123 \pm 0.745i $ which implies that the orbit of 0 is periodic with period 3. Douady Rabbit is then connected. See below an approximation obtained by the ViabLab software :

 

You can see below an approximation of the filled Julia and the Julia set for $c=???$ obtained using the VIABLAB software:.

 

Commentaires

To compute apporximations of these viability kernels, simply place the .cpp file in ViabLab's /source directory and the .json file in the /INPUT directory.
Then, run ViabLab ; the output files will be placed in the /OUTPUT directory.
To visualize the viability kernel and its boundary, place the .py file in the /OUTPUT directory and run it.

For assistance, consult the training materials.

Collective management of an eutrophication problem

Niveau de difficulté
Contenu

Introduction $k$

Le problème d'eutrophisation du lac décrit comme le problème de viabilité du lac et des exploitations riveraines est traité à un niveau global et suppose un décideur unique. Dans le présent exemple les parties prenantes sont réunies dans un comité, et les membres du comité (appelés individus dans la suite) ne sont pas nécessairement d'accord sur la dynamique du lac. Cet exemple illustre les cas où la gestion est collective et où il n'y a pas de consensus sur la dynamique. Ce problème est un problème de viabilité garantie.

Ce problème est décrit en détail dans :

Alvarez, I., Zaleski, L., Briot, J.-P., Irving, M. de A. (2023). Collective management of environmental commons with multiple usages: A guaranteed viability approach. Ecological Modelling, 475, Article 110186

Version auteur disponible ici

 

Les caractéristiques 

Les caractéristiques du problème modélisé sont les suivantes :  

  1.  $N$ individus utilisent les même variables pour décrire le système. Dans cet exemple du lac, ce sont les mêmes variables $L$ (apports de phosphore) et $P$ (concentration totale de phosphore) que dans le cas du décideur unique.
  2. Les contrôles admissibles retenus dans les modèles sont communs à tous les individus. On garde donc la même variable de contrôle et les mêmes bornes : $u\in U=[u_{min},u_{max}]$.
  3. Tous les individus $i$ peuvent définir un ensemble d'états souhaitables $K_i$ dont l'intersection est non vide. On garde donc un ensemble de contraintes similaires au cas du décideur unique :  $x=\left(L(t),P(t)\right) \in K=[L_{min}, +\infty[ \times [0,P_{max}]$
  4. La dynamique du système est modélisée pour chaque individu par un ensemble d'équations (ou d'inclusion différentielles) $S_i$
  5. L'objectif de chaque individu est de maintenir le système modélisé par leur dynamique $S_i$ dans leur ensemble d'états souhaitables $K_i$
  6. Les individus acceptent de partager leurs informations personnelles avec un tiers de confiance.

    Dans cet exemple, on considère $N=4$ individus. Trois d'entre eux ($i\in\{1,2,3\}$) adoptent la dynamique classique, mais avec des paramètres différents :

    \begin{equation}
    (P_i \text{ modèle 1})\left\{
    \begin{array}{l}
    \frac{dL}{dt}=u\in U=\left[ u_{min},u_{max}\right] \\
    \frac{dP}{dt}=-b_i P(t) + L(t) +r_i\frac{P(t)^{q_i}}{m_i^{q_i} + P(t)^{q_i}} \\
    \left(L(t),P(t)\right) \in K=[L_{min}, +\infty[ \times [0,P_{max}]
    \end{array}
    \right.
    \end{equation}

    Un individu ($i=4$) considère que le processus de relargage peut se produire différemment, et utilise une formule différente pour la pseudo-sygmoïde :

    \begin{equation}
    (S' \text{ modèle 0}) \quad \frac{dP}{dt}=-b_i P(t) + L(t) + r_i \frac{P(t)}{P(t) + m_i e^{(-\lambda_i(P(t)-m_i)) }}
    \end{equation}

    Les valeurs numériques pour les calculs sont les suivantes : $u_{min}=-u_{max}/2$ ; $u_{max}\approx 3,15\; \mu g.l^{-1}.\text{an}^{-1}$, $L_{min}\approx6,94 \; \mu g.l^{-1}$,  $P_{max}=24.76 \; \mu g.l^{-1}$, 

Le  tableau suivant rassemble les valeurs des paramètres pour chaque individu (b,r,m sont en $\mu g.l^{-1}$).

Paramètres $b_i$   $r_i$   $m_i$   Modèle   $q_i$   $\lambda_i$
  perte   taux   valeur de P   choix du   pente du   pente du
      max.   pour $r_i/2$   modèle   modèle 1   modèle 0
Individu 1 2,2676   101,96   26,90   1   2,222   -
Individu 2 2,2676   101,96   26,90   1   [2,2;2,3]   -
Individu 3 [2,2;2,3]   101,96   26,90   1   2,222   -
Individu 4 2,2676   101,96   26,90   0   -   [1/19;1/16]

Les incertitudes sont traitées comme des variables prenant leur valeur dans des ensembles. Le problème est un problème de viabilité garantie, dans lequel le vecteur $v$ des "tyches" regroupent les paramètres incertains : $v_1$ représente le paramètre $b_i$, $v_2$ : $\alpha_i$, $v_3$ : $q_i$ et $v_4$ représente $\lambda_i$. La dynamique du modèle avec incertitudes devient :

\begin{equation}
f_v(x=(L,P),u,v)=\left( 
\begin{array}{l}
u\\
- v_1 P + L +  r \left( (1-v_2) \frac{P^{v_3}}{m^{v_3} + P^{v_3}} + v_2 \frac{P}{P + m e^{(-v_4(P-m)) }}\right)  \;
\end{array}
\right)
\end{equation}

 

Problèmes

Le problème de viabilité garantie qui doit être résolu est le suivant :

\begin{equation}
(P_v)\left\{
\begin{array}{lcl}
(L,P)'(t)&=&f_B((L,P)(t),u(t),v(t))\\
u(t)&\in& U=\left[ u_{min},u_{max}\right] \\
v(t)&\in & V=[2.2,2.3]\times[0,1]\times[2.2,2.3]\times[1/19,1/18]\\
(L,P)(t) &\in& K \; 
\end{array}
\right.
\end{equation}

Le noyau garanti peut être approximé avec ViabLab (version 2.2). Le code correspondant est ici : https://forgemia.inra.fr/isabelle.alvarez/emlake



 

 

 

Lake eutrophication and riparian holdings

Niveau de difficulté
Contenu

Introduction

The accumulation of nutrients (such as phosphorus or nitrogen) in the water of a lake can lead to a change of state that results in the proliferation of algae, the degradation of water quality and biodiversity, and possibly bacterial blooms: this is eutrophication. The problem of the lake and its riparian holdings is to determine whether it is possible to reconcile the practice of an activity which provides nutrients and the conservation of the lake in a desirable state (oligotrophic, as opposed to eutrophic).

This problem is described in detail in:

S. Martin. The cost of restoration as a way of defining resilience: a viability approach applied to a model of lake eutrophication. Ecol. Soc.   http://www.ecologyandsociety.org/vol9/iss2/art8

Nutrients inputs $L$ must be above a minimal threshold $L_{min}$, to take into account the needs of the holdings' activities; And the concentration of total Phosphorus $P$ must remain  below a threshold  $P_{max}$, to keep the lake in an oligotrophic state. These desirable states form the constraints set $K=[L_{min}, +\infty[ \times [0,P_{max}]$.

The evolution of the concentration of total phosphorus in the lake is modeled by a pseudo-sygmoid:

$$\frac {dP} {dt}=-bP(t)+L(t)+r\frac {P(t)^{q}} {m^{q} + P(t)^{q}} \qquad$$

It is assumed that the evolution of phosphorus inputs can be controlled (by decontamination units, the establishment of wetlands, changes in agricultural or industrial practices, etc.), and we model these controls by a single quantity $u\in U=[u_min,u_max]$. The dynamics of the inputs are modeled by:

$$\frac {dL} {dt}=u \in [- u_{min}, u_{max}] \qquad$$

The viabillity problem is then defined by:

\begin{equation}
(P)\left\{
\begin{array}{l}
\frac{dL}{dt}=u\in U=\left[ u_{min},u_{max}\right] \\
\frac{dP}{dt}=-b P(t) + L(t) +r\frac{P(t)^{q}}{m^{q} + P(t)^{q}} \\
\left(L(t),P(t)\right) \in K=[L_{min}, +\infty[ \times [0,P_{max}]
\end{array}
\right.
\end{equation}
 

Exemple

The viabillity kernel can be obtained by calculating an integral curve, starting from the intersection between the boundary of the constraint set and the upper stable curve of equilibrium (see page 7 in https://arxiv.org/pdf/2107.02684 ) and following the backward dynamics. Next figure shows the result for the following parameters:  $b=1.95$ an$^{-1}$ ; $q=1.9$ ; $m=19.44\  \mu gl^{-1}$; $r=72.22\  \mu gl^{-1}$ an$^{-1}$; $L_{min}=1.25\  \mu gl^{-1}$ ; $P_{max}=17.39\  \mu gl^{-1}$ ;   $|u_{min}|=u_{max}=3.15$.

Viability kernel for lake eutrophication problem with integral curve
Viability kernel of the eutrophication lake problem. In light blue the viabillity kernel. The dotted marine line shows the equilibrium curve of the system. In violet the integral curve with $u=u_{min}$.


An approximation can be calculated directly with viability kernel calculation software such as ViabLab.

File .json (to be placed in the following repertory: VIABLAB/INPUT): Lac_params.json

File .h (to be placed in the following repertory: VIABLAB/source/data : data_Lac.h

These files correspond to the parameters: $b=0.8$ year$^{-1}$ ; $q=8$ ; $m=1\  \mu gl^{-1}$; $r=1\  \mu gl^{-1}$ year$^{-1}$; $L_{min}=0.1\  \mu gl^{-1}$ ; $P_{max}=1.4\  \mu gl^{-1}$ ;   $|u_{min}|=u_{max}=0.09$.

 

The control is discretized onto 3 values ​​due to the specific characteristics of the problem.

The discretization is performed on 5000 points per axis. The approximation calculated by ViabLab is shown in the following figure. The constraint thresholds are shown in red. It can be seen that the kernel approximation is well performed from the outside.