2026-08-28·von Sijie Wang#idea#math

anbn-recognizer

识别 { 0ⁿ1ⁿ : n ≥ 1 }

父级:examples

finite automaton 无法识别的语言(没有计数能力),但图灵机可以——办法是把纸带当作无限内存来用。

思路:反复划掉最左边的 0(写成 X)与最右边的 1(写成 Y);当两者同时耗尽时接受。

七元组(概要)。 Q = {seek0, seek1, back, check, accept},q₀ = seek0,F = {accept};Γ = {0,1,X,Y,b},Σ = {0,1}。关键的 δ 转移:

δ(seek0, 0) = (seek1, X, R)     mark a 0, go find its matching 1
δ(seek0, Y) = (check, Y, R)     no 0s left -> verify no 1s remain
δ(seek1, 1) = (back,  Y, L)     mark the rightmost 1, walk back
δ(back,  X) = (seek0, X, R)     returned to the marks -> repeat
δ(check, b) = (accept, b, R)    everything matched -> accept

在 0011 上的执行轨迹:

0 0 1 1   ->   X 0 1 1   ->   X 0 1 Y   ->   X X 1 Y   ->   X X Y Y   -> accept

(先划掉最外层的 0/1,再划掉内层的 0/1;全部标记完毕,无一剩余。)

在 001 上,多出来的那个 0 找不到可以匹配的 1 → 拒绝。X/Y 标记就是写在纸带上的计数器——正是有限自动机所缺乏的那种内存,这也是为什么这门语言至少需要一个栈(context-free-languages),而图灵机做起来则绰绰有余。

cited by
über diesen eintrag

Einer von sijie's Wiki-Einträgen. Die KI auf dieser Site ist im selben Corpus verankert und antwortet in sijie's Stimme mit Zitaten zurück auf Einträge wie diesen — das Beantworten kostet sijie Geld, daher wartet sie hinter einem Code: zugriffscode eingeben →