À propos du projet

Markovian est un package Haskell expérimental axé sur les noyaux stochastiques finis, les processus de récompense de Markov (MRP), les processus de décision de Markov (MDP), les politiques et les interpréteurs bornés. Le package fournit une évaluation exacte du rendement attendu à horizon fini avec des paramètres explicites de modèle, de politique, d'horizon et d'actualisation. Il inclut l'itération de valeur actualisée exacte avec des bornes de résidu, d'erreur de valeur et de politique gloutonne, ainsi que l'itération de politique déterministe exacte. Le package prend en charge l'inférence bayésienne avec des croyances finies exactes canoniques, la prédiction post-transition et le conditionnement. Il implémente des représentations de circuits avec une syntaxe de circuit stochastique indexée par pureté, un partage explicite et un choix convexe exact. Pour la modélisation de systèmes, il propose des hypergraphes typés finis, des cospans structurés et des cellules de systèmes ouverts commutantes. Markovian inclut des implémentations pour les jeux ouverts finis avec une énumération exacte de l'équilibre contextuel pur. Le package est organisé en modules distincts : la bibliothèque racine dépend uniquement de 'base' et expose une sémantique exacte finie, tandis que des packages optionnels gèrent les opérations numériques, l'échantillonnage, l'apprentissage, les représentations exactes denses et les benchmarks. Des packages optionnels supplémentaires fournissent des capacités pour les processus continus, l'autodiff, les opérations tensorielles, l'accélération GPU et l'intégration de réseaux neuronaux, le tout avec des portées explicitement bornées. Le package inclut des benchmarks de contrôle d'inventaire et des preuves de propriétés mathématiques et d'implémentations spécifiques.