home / skills / plurigrid / asi / 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-carloReview the files below or copy the command above to add this skill to your agents.
---
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.
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.
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.
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.