Perslis Defense
Perslis Defense — the mechanical ant, squads PERSLIS DEFENSE · CHAPTER 3 · COMPOSITION

Stack enough rules and it freezes. We measured it, then fixed it.

Dead ends 6 → 0. Pile up rules that are each correct and a machine runs out of allowed moves: 30 rules left it stuck in 6 situations, 50 rules in 12. Retiring rules by what they cost the whole set took the dead ends to zero — and we show you the price.

Every ROE line, every no-go zone, every deconfliction rule makes sense on its own. Nobody measures what they do together. A machine that locks up when you need it is as much a problem for the squad as one that runs wild.

The scoreboard →  ·  Watch the demo →

Measured, not guessed

Across 91 situations the system actually ran into in testing, we counted how many moves were still allowed under the rule set in each one.

dead end = every move it tried was refused · forced = exactly one move left, so it is no longer deciding anything
rule setrulesdead endsforced
capped working set3069
no cap501215

Double the rules, double the dead ends. Every one of those rules was earned by a real failure and is right on its own. With no cap, the system scored worse than if it had never learned at all — not because a rule was wrong, but because the list of allowed moves only ever shrinks.

This is how safety features end up switched off. It rarely gets written down, because you only see it when you measure the whole set, not one rule at a time.

Retiring rules so it can move again

The usual fix is to grade each rule on its own evidence and keep the best N. We did that first. It is still blind: it grades each rule alone and never asks what they do together.

So we grade the whole set. For each situation the system actually ran into:

actions_seen(S) − actions_blocked(S) = choices_left(S)

  0 → DEAD END   every option refused; the floor became a wall
  1 → FORCED     one option left; it decides nothing here

A rule’s protection is the failures it accounts for. Its cost is how many situations it pushes into a dead end or a forced move. Retirement drops the rules with the worst cost for their protection until there is choice again. On the measured set: dead ends 6 → 0, at the cost of 29 recorded failures handed back, with forced moves rising 9 → 14 — situations going from no choice to one choice.

Retirement lets the list of allowed moves grow back. Only ever adding rules never can, and that difference is the whole reason a squad-sized rule system needs it, not just a longer rule list. The rules in this test were all learned from the system’s own failures; orders were not part of it.

Why this is a squad problem

One machine with thirty rules is manageable. A squad is that times the number of elements, plus the rules that only exist between them — spacing, sectors, fires deconfliction, comms windows. At that size, how the rules stack is not a detail. It is most of the problem.

A system that cannot measure its own paralysis gets tuned by the only signal left: soldiers switching it off. We would rather hand you the number. This was measured on a single system; a team of machines working together has not been tested.

Next

Chapter 4 — how a rule is earned, and why you can read it →

Everything Perslis