Game Theory for Real-Time Synthesis: Decision, Approximation, and Randomness
Théorie des jeux pour la synthèse temps-réel: décision, approximation et aléatoire
Résumé
Software systems are ubiquitous, and their reliability is often crucial, especially for the
ones operating in embedded hardware, where the energetic sobriety moreover matters.
To bring reliable guarantees, formal methods have been used for many years, with great
success, among them automata based techniques and the renowned model checking
approach. Instead of manually building a model, and verify it afterwards, another
paradigm consists in automatically synthesising such correct by construction software,
using game theory. Two players, the controller and an environment, are fighting one
against the other in a zero-sum game played on a graph of all possible configurations of
the system. Energy, or other quantitative metrics of interest, are then modelled by the
addition of weights in the games. While some results have been obtained in the presence
of non-negative weights only, my objective has been to incorporate negative weights in
the picture, to model richer quantitative behaviours. This manuscript aims at studying
a combination of reachability objective with the total-payoff metrics, i.e. shortest-path
games where one player wants to reach a target of the graph while minimising the
cumulated weight. Our study starts with the case of finite graph games, with the search
for efficient algorithms to compute optimal values and strategies. We then continue by
adding clocks and time constraints in the games, in order to design efficient programs
satisfying some real-time specifications. This leads to a notoriously difficult class of
games where undecidability emerges very quickly. Our work consists into the search for
fragments with decidable results, either by limiting the number of clocks, or the cyclic
behaviours in the game. A last chapter also studies the use of stochasticity in strategies
in order to limit the amount of memory needed for players to play optimally.
Les systèmes logiciels sont omniprésents et leur fiabilité est souvent cruciale, en parti-
culier pour ceux qui fonctionnent dans du matériel embarqué, où la sobriété énergétique
est aussi un paramètre crucial. Pour apporter des garanties sûres, les méthodes formelles
sont utilisées depuis de nombreuses années, avec beaucoup de succès, avec entre autres
des techniques basées sur les automates et le célèbre model checking. Au lieu de créer
manuellement un logiciel, son modèle et de vérifier celui-ci dans un deuxième temps, un
autre paradigme consiste à synthétiser automatiquement un logiciel correct par construc-
tion, en utilisant la théorie des jeux. Deux joueurs, le contrôleur et un environnement,
s’affrontent dans un jeu à somme nulle joué sur un graphe de toutes les configurations du
système. L’énergie, ou d’autres mesures quantitatives selon le problème envisagé, sont
ensuite modélisées par l’ajout de poids dans les jeux. Certains résultats préliminaires
avaient été obtenus en présence de pondérations positives uniquement, mon objectif a été
d’autoriser l’usage de poids négatifs permettant de modéliser des données quantitatives
plus riches. Ce manuscrit résume mes contributions dans l’étude d’une combinaison d’un
objectif d’accessibilité avec une métrique de gain total : on s’intéresse donc à des jeux de
plus court chemin où un joueur veut atteindre une cible du graphe tout en minimisant
le poids accumulé. Notre étude commence par le cas des jeux sur graphes finis, avec la
recherche d’algorithmes efficaces pour calculer les valeurs et stratégies optimales. Nous
continuons ensuite en ajoutant des horloges et des contraintes de temps dans les jeux,
afin de concevoir des programmes efficaces satisfaisant certaines spécifications temps-réel.
Cela conduit à une classe de jeux notoirement difficiles où l’indécidabilité émerge très
rapidement. Notre travail consiste en la recherche de fragments possédant des résultats
décidables, soit en limitant le nombre d’horloges, soit les comportements cycliques du jeu.
Un dernier chapitre étudie également l’utilisation de randomisation dans les stratégies
afin de limiter la quantité de mémoire nécessaire pour que les joueurs jouent de manière
optimale.
Origine | Fichiers produits par l'(les) auteur(s) |
---|