Expressive Reward Synthesis with the Runtime Monitoring Language

Daniel Donnelly, Angelo Ferrando, Francesco Belardinelli
10/17/2025
cs.LGcs.AIcs.FL

No confident code implementation found for this paper.

Abstract

A key challenge in reinforcement learning (RL) is reward (mis)specification, whereby imprecisely defined reward functions can result in unintended, possibly harmful, behaviours. Indeed, reward functions in RL are typically treated as black-box mappings from state-action pairs to scalar values. While effective in many settings, this approach provides no information about why rewards are given, which can hinder learning and interpretability. Reward Machines address this issue by representing reward functions as finite state automata, enabling the specification of structured, non-Markovian reward functions. However, their expressivity is typically bounded by regular languages, leaving them unable to capture more complex behaviours such as counting or parametrised conditions. In this work, we build on the Runtime Monitoring Language (RML) to develop a novel class of language-based Reward Machines. By leveraging the built-in memory of RML, our approach can specify reward functions for non-regular, non-Markovian tasks. We demonstrate the expressiveness of our approach through experiments, highlighting additional advantages in flexible event-handling and task specification over existing Reward Machine-based methods.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{donnelly2025expressive,
  title  = {Expressive Reward Synthesis with the Runtime Monitoring Language},
  author = {Daniel Donnelly and Angelo Ferrando and Francesco Belardinelli},
  year   = {2025},
  eprint = {2510.16185},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2510.16185v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2510.16185.svg)](https://codeofpaper.com/paper/2510.16185)

Discussion