Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install hiyenwong-ai-collection-collection-skills-ising-machine-inertia-parallel-probabilisticgit clone https://github.com/hiyenwong/ai_collection.gitcp ai_collection/SKILL.MD ~/.claude/skills/hiyenwong-ai-collection-collection-skills-ising-machine-inertia-parallel-probabilistic/SKILL.md---
name: ising-machine-inertia-parallel-probabilistic
description: "Fully parallel densely connected probabilistic Ising machine with inertia for real-time applications. Uses p-bits with inertia term enabling synchronous fully parallel updates. Validated on algorithmic simulation, FPGA emulation, and hardware experiments. Activation: ising machine, p-bit, probabilistic computing, fpga, neuromorphic hardware, boltzmann machine."
---
# Fully Parallel Densely Connected Probabilistic Ising Machine with Inertia
> Novel Ising machine architecture using p-bits with inertia terms that enables fully parallel synchronous updates without sequential sampling artifacts, validated across simulation, FPGA, and hardware.
## Metadata
- **Source**: arXiv:2604.17109
- **Authors**: Ruomin Zhu, Abhi K. Singh, et al.
- **Published**: 2026-04
## Core Methodology
### Key Innovation
Introduces an inertia term into probabilistic bit (p-bit) dynamics, enabling fully parallel synchronous updates in densely connected Ising machines. Traditional approaches require sequential Gibbs sampling; this method achieves real-time performance with parallel hardware.
### Technical Framework
1. **p-bit model**: Probabilistic binary units that fluctuate between 0 and 1 based on input
2. **Inertia mechanism**: Adds momentum-like term to p-bit update equation, preventing oscillations in parallel mode
3. **Dense connectivity**: Supports arbitrary coupling matrices without sparse graph restrictions
4. **Synchronous update**: All p-bits update simultaneously using current state + inertia
### Mathematical Formulation
- p-bit output: `m_i = tanh(I_i / T)` where I_i includes weighted sum of neighbors + inertia
- Inertia: `v_i(t) = α * v_i(t-1) + (1-α) * m_i(t)`
- Total input: `I_i = Σ_j J_ij * m_j + h_i + β * v_i`
- Parameters α (inertia coefficient) and β (inertia weight) control dynamics
## Implementation Guide
### Prerequisites
- FPGA development board (e.g., Xilinx/Intel)
- Python with NumPy for simulation
- Optional: Custom p-bit hardware
### Step-by-Step
1. Define Ising problem as coupling matrix J and field vector h
2. Initialize p-bit states randomly
3. For each timestep:
- Compute total input with inertia term
- Update all p-bits synchronously
- Record energy and solution quality
4. Extract best solution from trajectory
### Code Example
```python
import numpy as np
def ising_machine_inertia(J, h, n_steps=1000, alpha=0.3, beta=0.5, T=1.0):
N = len(h)
m = np.random.choice([-1, 1], size=N).astype(float)
v = np.zeros(N)
best_energy = float('inf')
best_state = m.copy()
for t in range(n_steps):
I = J @ m + h + beta * v # weighted sum + field + inertia
m_new = np.tanh(I / T)
v = alpha * v + (1 - alpha) * m_new # update inertia
m = m_new
# Evaluate energy
energy = -0.5 * m @ J @ m - h @ m
if energy < best_energy:
best_energy = energy
best_state = np.sign(m)
return best_state, best_energy
```
## Applications
- Combinatorial optimization (MAX-CUT, graph coloring)
- Real-time constraint satisfaction
- Probabilistic inference in graphical models
- Boltzmann machine sampling acceleration
- Neuromorphic computing hardware design
## Pitfalls
- Inertia parameters (α, β) require tuning per problem class
- Dense connectivity limits FPGA scalability for very large problems
- Temperature T affects convergence speed vs. solution quality trade-off
## Related Skills
- quantum-annealing-optimization
- neuromorphic-hardware-design
- boltzmann-machine-sampling