Combler le fossé entre l'algorithmique spatiale haut-niveau et bas-niveau
Auteur / Autrice : | Tien Thao Nguyen |
Direction : | Pierre Valarcher, Luidnel Maignan |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 15/12/2021 |
Etablissement(s) : | Paris Est |
Ecole(s) doctorale(s) : | École doctorale Mathématiques, Sciences et Technologies de l'Information et de la Communication (Champs-sur-Marne, Seine-et-Marne ; 2010-....) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire d'algorithmique, complexité et logique (Créteil) - Laboratoire d'Algorithmique Complexité et Logique / LACL |
Jury : | Président / Présidente : Christine Eisenbeis |
Examinateurs / Examinatrices : Pierre Valarcher, Luidnel Maignan, Jean-Louis Giavitto, Jérôme Durand-Lose, Véronique Terrier | |
Rapporteur / Rapporteuse : Jean-Louis Giavitto, Jérôme Durand-Lose |
Mots clés
Mots clés contrôlés
Résumé
En informatique, il existe une dichotomie entre les calculs séquentiels et les calculs parallèles, chacun d'eux étant abstrait de diverses manières selon le but recherché. Nous nous intéressons aux calculs parallèles tels que capturés par le modèle des automates cellulaires (CA en abrégé) introduit par John von Neumann dans les années 40. Nous nous concentrons sur les outils théoriques et pratiques nécessaires pour concevoir une CA particulière comme solution à un problème algorithmique parallèle donné. Des exemples de tels problèmes sont le problème de synchronisation des fusiliers et les problèmes de génération de séquences en temps réel. Dans la programmation informatique ordinaire, un programmeur pense généralement à un problème, propose un algorithme abstrait, l'implémente dans un langage de programmation de haut niveau qui est transformé par un compilateur en code assembleur de bas niveau. Le langage de programmation de haut niveau est censé permettre au programmeur d'exprimer son idée aussi directement ou clairement que possible, et le compilateur optimise généralement le code assembleur produit d'une manière ou d'une autre. Considérant les tables de transition CA comme un code assembleur exécutable de bas niveau, deux approches principales ont été imaginées pour fournir une description formelle de haut niveau de ``l'algorithme cellulaire'' : les machines à signaux introduites par Jérôme Durand-Lose en 2003 et les champs cellulaires introduit lors de la thèse de doctorat de Luidnel Maignan. Une première description approximative du but de cette thèse est de permettre la réduction automatique du nombre d'état et/ou du nombre de transition d'un automate cellulaire déjà donné, cette réduction automatique étant pensée comme l'étape d'optimisation du ``processus de compilation'' de l'approche du champ cellulaire en particulier.