Table of Contents
Fetching ...

AlgOS: Algorithm Operating System

Llewyn Salt, Marcus Gallagher

TL;DR

AlgOS addresses reproducibility challenges in stochastic algorithmic research by providing a graph-based, modular framework that can represent algorithmic flows as directed graphs. It combines Abstract Syntax Trees for code structure, a thread-safe Observer-based gating mechanism for I/O control, and a factory-based dependency injection driven by a RegistryMeta to enable easy extension. Hyperparameter optimisation is embedded via Optuna with automated CLI, remote and local execution, and a centralised SQLAlchemy database for logging, alongside plotting utilities for standardised visualisation. The framework aims to standardise algorithm implementations, reduce development overhead, and improve cross-study reproducibility and verification in RL and related domains.

Abstract

Algorithm Operating System (AlgOS) is an unopinionated, extensible, modular framework for algorithmic implementations. AlgOS offers numerous features: integration with Optuna for automated hyperparameter tuning; automated argument parsing for generic command-line interfaces; automated registration of new classes; and a centralised database for logging experiments and studies. These features are designed to reduce the overhead of implementing new algorithms and to standardise the comparison of algorithms. The standardisation of algorithmic implementations is crucial for reproducibility and reliability in research. AlgOS combines Abstract Syntax Trees with a novel implementation of the Observer pattern to control the logical flow of algorithmic segments.

AlgOS: Algorithm Operating System

TL;DR

AlgOS addresses reproducibility challenges in stochastic algorithmic research by providing a graph-based, modular framework that can represent algorithmic flows as directed graphs. It combines Abstract Syntax Trees for code structure, a thread-safe Observer-based gating mechanism for I/O control, and a factory-based dependency injection driven by a RegistryMeta to enable easy extension. Hyperparameter optimisation is embedded via Optuna with automated CLI, remote and local execution, and a centralised SQLAlchemy database for logging, alongside plotting utilities for standardised visualisation. The framework aims to standardise algorithm implementations, reduce development overhead, and improve cross-study reproducibility and verification in RL and related domains.

Abstract

Algorithm Operating System (AlgOS) is an unopinionated, extensible, modular framework for algorithmic implementations. AlgOS offers numerous features: integration with Optuna for automated hyperparameter tuning; automated argument parsing for generic command-line interfaces; automated registration of new classes; and a centralised database for logging experiments and studies. These features are designed to reduce the overhead of implementing new algorithms and to standardise the comparison of algorithms. The standardisation of algorithmic implementations is crucial for reproducibility and reliability in research. AlgOS combines Abstract Syntax Trees with a novel implementation of the Observer pattern to control the logical flow of algorithmic segments.

Paper Structure

This paper contains 3 sections, 6 figures.

Figures (6)

  • Figure 1: Modular Organisation of AlgOS.
  • Figure 2: Toy Example.
  • Figure 3: Component I/O.
  • Figure 4: Database Logging Process.
  • Figure 5: The reward in some reinforcement learning experiments.
  • ...and 1 more figures