Partially Observable Monte-Carlo Graph Search
POMC GraphSearch.jl - an offline planning algorithm that performs Monte-Carlo Graph Search for POMDPs and stores policies as finite-state controllers (FSCs).
Overview
This repository contains the Julia implementation accompanying the ICAPS 2025 paper Partially Observable Monte-Carlo Graph Search, introducing POMCGraphSearch.jl, a novel algorithm for decision-making under uncertainty.
The framework addresses planning in partially observable environments by combining Monte Carlo search techniques with graph-based representations enabling efficient reasoning over belief spaces and improving scalability for complex sequential decision-making problems.
POMC GraphSearch.jl details
Robots and AI systems often operate in environments with noisy sensors and uncertain outcomes. Partially Observable Markov Decision Processes (POMDPs) offer a principled framework for such decision-making problems, but solving large and complex POMDPs to produce complete policies remains a major challenge.
To tackle such challenging POMDPs, we introduce a new algorithm called ‘Partially Observable Monte-Carlo Graph Search’ at ICAPS 2025 and release a Julia package POMCGraphSearch.jl which implements a Monte Carlo graph search algorithm that enables to derive complete policies even for complex problems modelled with POMDPs.
This package has been added into the official POMDPs.jl ecosystem as one of the recommended POMDP solvers.
Who it’s for
POMCGraphSearch.jl is for Robotics and AI researchers.
Licence
Open Source, MIT Licence
Programming languages
Python and Julia
Dependencies
- POMDPs.jl – MIT ‘Expat’ Licence
- OrderedCollections.jl – MIT Licence
- Clustering.jl – MIT Licence
- DataFrames.jl – MIT Licence
- CSV.jl – MIT ‘Expat’ Licence
- Random – MIT Licence
- JLD2.jl – MIT ‘Expat’ Licence
Compatible platforms / systems
Linux/Windows/MacOS