#game-theory #poker #cards #card-game #cfr #regret-minimization

bin+lib little-sorry

Library to help with coding regret minimization

6 releases (1 stable)

new 1.0.0 Mar 6, 2025
0.5.0 Nov 30, 2024
0.4.1 Jun 28, 2024
0.4.0 Feb 20, 2024
0.1.0 Nov 27, 2019

#111 in Games

Download history 93/week @ 2024-11-24 49/week @ 2024-12-01 17/week @ 2024-12-08 1/week @ 2024-12-15 13/week @ 2025-02-16 3/week @ 2025-02-23 121/week @ 2025-03-02

137 downloads per month

Apache-2.0

16KB
213 lines

Little Sorry

A Rust library for exploring regret minimization algorithms, with a focus on game theory applications.

Features

  • Regret matching implementation
  • Rock Paper Scissors (RPS) example game
  • Highly performant using ndarray for numerical operations
  • Thread-safe with no unsafe code (except for carefully bounded enum conversions)

Getting Started

Add this to your Cargo.toml:

[dependencies]
little-sorry = "0.5.0"

How It Works

The library implements regret minimization algorithms, which are used in game theory to find optimal strategies in imperfect-information games. The core algorithm tracks:

  1. Action probabilities for each possible move
  2. Cumulative regret for not taking alternative actions
  3. Strategy updates based on regret matching

The RPS example demonstrates these concepts in a simple zero-sum game setting.

Building and Testing

# Run all tests
cargo test

# Run benchmarks
cargo bench

# Build in release mode
cargo build --release

License

Licensed under the Apache License, Version 2.0.

Dependencies

~4MB
~74K SLoC