In Tic-Tac-Toe Model, we ran ODE simulations with mass-action kinetics to evaluate board positions. The scores for the empty board came back as floats:
Center (1,1): 1.27
Corners: 0.95
Edges: 0.63
These values emerged from the net topology alone — no hand-coded heuristics, no game tree search, no training data. The ranking (center > corners > edges) matches every game AI textbook.
But the values are suspiciously proportional. Divide each by the smallest:
1.27 : 0.95 : 0.63 ≈ 4 : 3 : 2
The ODE is tracking three integers. Not computing them exactly — the ratios are approximate, within a few percent — but recovering the same ranking and grouping that the integers predict.
The key technique: set every transition's rate constant to 1.0 and run the ODE. With uniform rates, mass-action dynamics have no bias from tuning — the only signal is topology. Whatever structure the net has gets expressed as differential flow toward terminal states.
For tic-tac-toe, the terminal states are win transitions — sinks in the net. Every move transition feeds tokens toward pattern collectors, and pattern collectors feed tokens into WinX or WinO. With all rates equal, the steady-state token accumulation in the win places reflects how many paths feed each position into a win.
The integers behind the ODE are the incidence degrees — the number of arcs from each position's history place to downstream win transitions:
3 2 3
2 4 2
3 2 3
The center participates in 4 win patterns (row + column + 2 diagonals). Corners participate in 3 (row + column + 1 diagonal). Edges participate in 2 (row + column). These are exact — they're arc counts in the graph, not simulation results.
The incidence degree formula generalizes to any N×N board. Each position at (i, j) gets:
So the only possible degrees are {4, 3, 2}, and degree 4 only occurs at the center of odd-sized boards. Running the ODE with uniform rates from 3×3 to 7×7 confirms that the same predictive behavior holds at every scale:
N=3: degree 4 ratio 1.960 (expected 2.000, err -2.0%)
degree 3 ratio 1.445 (expected 1.500, err -3.6%)
N=5: degree 4 ratio 1.615 (expected 2.000, err -19.2%)
degree 3 ratio 1.279 (expected 1.500, err -14.7%)
N=7: degree 4 ratio 1.734 (expected 2.000, err -13.3%)
degree 3 ratio 1.355 (expected 1.500, err -9.7%)
The ODE ratios approximate the integer ratios closely for small boards and less closely for larger ones, because more positions compete for flow through shared win transitions. But three properties hold at every size tested:
The incidence degree is an exact predictor of ODE ranking. The ranking is what matters for move selection — and it never breaks.
This is where the technique becomes practical. For tic-tac-toe, we already know the model — we built it. But for models extracted from event logs via process mining, or for complex models where the strategic structure isn't obvious, the uniform-rate ODE probe reveals the topology's inherent weighting.
The algorithm:
For the tic-tac-toe model, this recovers:
x_play_11 (center): rate = 4
x_play_00 (corner): rate = 3
x_play_01 (edge): rate = 2
These are the same values that the rate auto-derivation algorithm in go-pflow computes by traversing the bipartite graph directly. For simple nets with independent terminals, the ODE probe and the graph traversal converge to the same answer — the ODE just takes the scenic route. For larger or more complex nets, the ODE probe still gives a useful starting point for rate constants, even if the ratios don't round to clean integers.
The incidence degree has a precise interpretation: it counts the number of independent paths from a candidate action to a goal state. In game terms, it measures how many ways this move can contribute to winning.
For tic-tac-toe:
For a resource model with completion states, the same count measures how many production paths a resource participates in. For a workflow with terminal states, it measures how many routes to completion pass through a given activity.
The uniform-rate ODE probe generalizes: for any Petri net with designated terminal transitions, it recovers the connectivity structure that determines strategic or operational value.
The empty board is the base case. The real utility comes from injecting a live state and recomputing.
When a position is occupied, its token has been consumed — it drops out of the flow calculation. The incidence degree is now computed only against still-reachable win transitions. A corner that participates in 3 win patterns on an empty board might connect to only 1 if the opponent has blocked the other two.
Given any board state:
For simple nets, this is integer counting. For complex nets where resource competition and multi-hop connectivity create non-trivial dynamics, the ODE simulation resolves what counting cannot. But the mechanism is the same — evaluate positions by their connectivity to terminals, weighted by the current state.
Tic-tac-toe reduces to {4, 3, 2} because the win transitions are independent sinks. No position competes with another for shared resources on the path to winning. The incidence structure has no dynamics — just a direct count.
The coffee shop is different. Multiple drink recipes compete for shared ingredients (beans, water, milk). The espresso and latte transitions both consume beans, creating a bottleneck the ODE must resolve. The steady-state values aren't integers — they're rational numbers reflecting the resource competition. The ODE earns its keep.
Texas Hold'em is different again. Multi-phase betting, role-based access, and conditional guards create a net where the connectivity to terminal states depends on dynamic state that can't be read off the static graph. The ODE must simulate the actual flow.
The boundary is clear: when terminal transitions are independent sinks with no shared upstream resources, incidence degree counting produces the same move recommendations as ODE simulation. When paths interact — shared resources, mutual exclusion, conditional guards — the dynamics matter and the ODE is doing real work.
Recognizing which side of this boundary a model falls on tells you whether you need a solver or a graph traversal. For model builders, the uniform-rate probe is the diagnostic: run it, check if positions with the same arc count get the same score, and you know immediately whether the model's strategic structure is purely topological or genuinely dynamic.
The integer reduction is a practical tool for model development:
Validation. If you build a game model and the uniform-rate ODE groups positions correctly by incidence degree — same degree, same score; higher degree, higher score — your terminal transitions are correctly independent. If the grouping breaks, there's unintended resource coupling somewhere.
Rate discovery. For models extracted from data (via process mining or manual construction), the uniform-rate probe gives you a starting point for rate constants that reflects the topology's inherent structure. You can then adjust from this baseline using observed data, rather than guessing rates from scratch.
Model simplification. If the ODE ranking matches the incidence degree ranking, you may not need the ODE at all for move selection. Replace the simulation with a graph query — faster, exact, and easier to verify. Reserve the solver for the parts of the model where dynamics genuinely matter.
The Petri net is the domain knowledge. The topology encodes the rules. The incidence structure encodes the strategy. And sometimes, three integers are all you need.