home / skills / plurigrid / asi / gay-monte-carlo

gay-monte-carlo skill

/skills/gay-monte-carlo

This skill enables uncertainty propagation with colored distributions using Gay.jl and Enzyme.jl for gamut-aware Monte Carlo analysis.

npx playbooks add skill plurigrid/asi --skill gay-monte-carlo

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
2.7 KB
---
name: gay-monte-carlo
description: Gay Monte Carlo Measurements
version: 1.0.0
---

# Gay Monte Carlo Measurements

---
name: gay-monte-carlo
description: Monte Carlo uncertainty propagation with Gay.jl deterministic coloring and Enzyme.jl autodiff for gamut-aware probability distributions.
trit: 1
color: "#77DEB1"
---

## Overview

**GayMonteCarloMeasurements.jl** extends MonteCarloMeasurements.jl with Gay.jl chromatic identity for deterministic color-coded uncertainty propagation.

## Core Concepts

### Particles as Colored Distributions

```julia
using MonteCarloMeasurements
using Gay

# Construct uncertain parameters with color tracking
gay_seed!(0xcd0a0fde6e0a8820)
a = π ± 0.1  # Particles{Float64,2000}

# Propagate through nonlinear functions
sin(a)  # → Particles with full distribution
```

### Enzyme Gamut Learning

```julia
using Enzyme

# Learnable colorspace parameters
params = OkhslParameters()

function loss(params, seed, target_gamut=:srgb_boundary)
    color = forward_color(params, projection, seed)
    gamut_penalty = out_of_gamut_distance(color, target_gamut)
    bandwidth_reward = color_distinctiveness(color)
    return gamut_penalty - 0.1 * bandwidth_reward
end

∂params = Enzyme.gradient(Reverse, loss, params, seed)
```

## Features

- **Nonlinear uncertainty propagation** - Handles x², sign(x), integration
- **Correlated quantities** - Multivariate particles
- **Distribution fitting** - `fit(Gamma, p)` for any Particles
- **Visualization** - `plot(p)` shows histogram, `density(p)` shows KDE
- **SPI verification** - Fingerprint matching across network

## GF(3) Integration

| Trit | Role | Operation |
|------|------|-----------|
| +1 | PLUS | Generative sampling |
| 0 | ERGODIC | Distribution transport |
| -1 | MINUS | Constraint verification |

## Self-Avoiding Walk

```
next_color() → visited check
     │
     ├─ fresh → XOR into fingerprint
     │
     └─ collision → triadic fork
```

## Repository

- **Source**: bmorphism/GayMonteCarloMeasurements.jl
- **Seed**: `0xcd0a0fde6e0a8820`
- **Index**: 103/1055

## Related Skills

- `gay-julia` - Core Gay.jl integration
- `spi-parallel-verify` - Fingerprint verification
- `fokker-planck-analyzer` - Equilibrium analysis

## SDF Interleaving

This skill connects to **Software Design for Flexibility** (Hanson & Sussman, 2021):

### Primary Chapter: 4. Pattern Matching

**Concepts**: unification, match, segment variables, pattern

### GF(3) Balanced Triad

```
gay-monte-carlo (○) + SDF.Ch4 (+) + [balancer] (−) = 0
```

**Skill Trit**: 0 (ERGODIC - coordination)

### Secondary Chapters

- Ch7: Propagators

### Connection Pattern

Pattern matching extracts structure. This skill recognizes and transforms patterns.

Overview

This skill performs Monte Carlo uncertainty propagation with deterministic color tracking and autodiff-enabled gamut learning. It merges particle-based distributions with a chromatic identity system to produce gamut-aware probability outputs and diagnostics. The result is a tool for nonlinear propagation, correlated quantities, and color-space constrained optimization.

How this skill works

The skill wraps particle-based Monte Carlo distributions and attaches deterministic color metadata to each particle so that uncertainty propagation carries color identity through arbitrary functions. It uses automatic differentiation to compute gradients of color-space objectives and a learned color parameters set to push results toward a target gamut. Visualizations and distribution fitting utilities summarize the propagated distributions and highlight out-of-gamut regions.

When to use it

  • You need accurate nonlinear uncertainty propagation (e.g., sin, sign, x^2)
  • You work with correlated multivariate uncertain parameters and need joint distribution samples
  • You must enforce or optimize color/gamut constraints on probabilistic outputs
  • You want deterministic, repeatable sampling with fingerprint verification across systems
  • You need distribution fitting or KDE/histogram visualizations for particle results

Best practices

  • Seed the deterministic sampler to guarantee reproducible particles and fingerprint stability
  • Use correlated particle sets for multivariate propagation to preserve dependencies
  • Fit parametric distributions only after verifying sample diagnostics (KDE vs histogram)
  • Use autodiff gradients to tune color-space parameters rather than ad hoc heuristics
  • Monitor out-of-gamut penalties and bandwidth distinctiveness together to avoid trivial solutions

Example use cases

  • Propagate measurement uncertainty through a nonlinear color rendering pipeline while keeping results within an sRGB boundary
  • Optimize color parameters so a stochastic rendering maximizes distinctiveness without leaving a target gamut
  • Verify distributed computations by comparing deterministic fingerprints after self-avoiding-walk color assignment
  • Fit a Gamma or other parametric distribution to particle results for downstream probabilistic modeling
  • Analyze equilibrium transport or Fokker–Planck-like behavior with particle ensembles and chromatic labels

FAQ

How is determinism ensured for Monte Carlo samples?

The system uses a seeded deterministic particle generator so identical seeds produce identical particle ensembles and fingerprints.

Can I enforce a specific gamut such as sRGB?

Yes. The skill includes gamut-penalty objectives and gradient-based optimization to push learned color parameters toward a specified target gamut.