Documentation

DescriptiveComplexity.Problems.MachineAlt

Alternating machine acceptance, and the machine bridge for the hierarchy #

Umbrella file for DescriptiveComplexity.ATMAccept k start, the problem “does this alternating Turing machine with k quantifier blocks accept its input within as many steps as there are positions?”, with the machine carried by the instance as in DescriptiveComplexity.NTMAccept.

The problem is the polynomial hierarchy's analogue of the machine bridge that DescriptiveComplexity.Problems.Machine provides for NP and PTIME: the levels Σₖᵖ/Πₖᵖ of this library are defined by second-order alternation, and the bridge is to say that they are the levels of the alternating-machine hierarchy of Chandra–Kozen–Stockmeyer 1981.

What is here #

Both halves are complete at every level, so the levels of this library's hierarchy are the levels of the alternating-machine one.

The machine bridge at one block: alternating acceptance with a single existential block is NP-complete, so the alternating model agrees with DescriptiveComplexity.NTMAccept where the two overlap.

Dependency graph

Alternating acceptance with an existential first block is in Σₖ₊₁ᵖ, the membership half of the bridge.

Dependency graph

Alternating acceptance with a universal first block is in Πₖ₊₁ᵖ.

Dependency graph
theorem DescriptiveComplexity.ATMData.accepts_iff_game {A : Type} [Finite A] {M : ATMData A} {k : } (hbwf : M.BlocksWellFormed k) (hlin : IsLinOrd M.Le) (hk : 0 < k) {p₀ p₁ : A} (hmin : MinPos M.Le M.Posn p₀) (hmax : MaxPos M.Le M.Posn p₁) (start : Bool) :
M.AltAccepts start M.AltGame start k

Alternating acceptance is the k-round game, the semantic content of the membership half at every level: an alternating machine accepts exactly when the owner of block 0 can choose a run of its block, the owner of block 1 cannot avoid one of its own, and so on for k rounds.

Dependency graph

The hardness half #

Alternating acceptance with an existential first block is Σₖ₊₁ᵖ-hard: DescriptiveComplexity.QBF reduces to it by building the machine M_φ of the formula inside the instance, one guessing sweep per quantifier block.

Dependency graph

Alternating acceptance with a universal first block is Πₖ₊₁ᵖ-hard, by the same reduction at the other starting polarity: the machine is the same, and only the matrix shape and the block that moves first change.

Dependency graph

The bridge #

The machine bridge for the polynomial hierarchy, existential half: alternating acceptance with k + 1 blocks, the first existential, is Σₖ₊₁ᵖ-complete. The classes of this library are defined by second-order alternation; this theorem says they are the levels of the alternating-machine hierarchy of Chandra–Kozen–Stockmeyer 1981.

Dependency graph

The machine bridge, universal half: with a universal first block, Πₖ₊₁ᵖ-complete.

Dependency graph

The machine characterization of Σₖ₊₁ᵖ: a problem sits at the k+1-st level exactly when it ordered-FO-reduces to acceptance by an alternating machine with k + 1 blocks starting existentially. Forward through DescriptiveComplexity.QBF, backward because membership travels along reductions.

Dependency graph

The machine bridge at one universal block: alternating acceptance with a single universal block is coNP-complete. The model is the co-nondeterministic one – a universal configuration accepts when it has a successor and every successor accepts, so the machine accepts exactly when every run of it does – and this is the dual of DescriptiveComplexity.atmAccept_one_complete, which reads the same machine at the existential polarity as DescriptiveComplexity.NTMAccept.

Dependency graph

The machine characterization of Πₖ₊₁ᵖ.

Dependency graph