Skip to main content

Explaining Driver Behavior in Sim Racing with Shannon Entropy and LLM Feedback

Table of Contents

Abstract

In some scenarios, motorsport simulators have been used to enable the controlled acquisition of dense telemetry with high similarity to real-world data, reducing cost when assessing driving performance. However, although popular, performance analyses traditionally treat human control as deterministic and overlook the stochasticity of driving behavior. In fact, existing coaching methods which improve driving performance have to deal with two distinct outcomes: a driver who restructures his race control strategy and a driver who merely repeats it faster. This article presents a Behavior-First framework for interpretable driver behavior analysis that separates them. We characterize control signals with two information-theoretic descriptors: Jensen–Shannon divergence, which quantifies distributional distance from a proficiency-matched reference and whose square root satisfies the triangle inequality, and Permutation Entropy to measure the ordinal complexity of the input sequence. A deterministic, physics-informed heuristic layer then identifies kinematic performance gaps and emits structured tokens that a Large Language Model translates into natural-language coaching narratives. We evaluated the framework in an exploratory case study. The three beginners who received generated coaching messages and the single uncoached comparison participant exhibited different lap-time and information-theoretic trajectories. Because the groups were small and non-randomized, these observations describe within-driver evolution and do not estimate a causal coaching effect.

Citation

@article{nunes2026explaining,
  title = {Explaining Driver Behavior in Sim Racing with Shannon Entropy and LLM Feedback},
  author = {Nunes, Tomaz and Medeiros, Morsinaldo and Silva, Marianne and Bittencourt, João Carlos N. and Costa, Daniel G. and Silva, Ivanovitch},
  year = {2026},
  journal = {Entropy},
  volume = {28},
  number = {9},
  pages = {960--960},
  month = {aug},
  doi = {10.3390/e28090960}
}