“转导器 $T$ 函数型,是指其实现关系 $R T$ 函数型。它仍可有多条成功运行,只要所有运行输出相同;这与无歧义转导器“每个输入至多一条成功运行”不同。经典表示定理说明,函数型有理传导与双…”
形式陈述 ​
一个 bimachine 由左自动机
于是输出可写为
其中
经典 Schützenberger–Eilenberg 表示定理断言:bimachine 所实现的偏函数恰是函数型有理传导。等价限定在一向 NFT 的 rational functions;不是所有 regular functions,也不是任意多值有理关系。
直觉
顺序转导器在位置
右摘要只能表达正则性质,例如“后面是否还有 b”“到末尾的长度模 3 是多少”。它不能保存整个后缀或给出无界计数。有限右状态足以把 NFT 中由未来验证的非确定选择变成确定局部输出。
初始输出依赖
例子与边界
定义函数:每个 a 若其右侧还出现 b 就改写成 x,否则保留为 a;其他字符原样输出。右自动机只有状态 b)和 b),从右向左读到 b 后进入并保持
输入 aaba 的右侧摘要依位置为
因此四个局部输出依次为 x、x、b、a,结果 xxba。左自动机在这个例子中可只有一个状态;
同一函数可由 NFT 在读开头的 a 时猜测未来有无 b,再由后缀验证;bimachine 把猜测换成确定右状态。它通常不是 subsequential:对输入族
在至少含两个符号的字母表上,bimachine 不能实现无界反转。右自动机虽从右读,却只把有限状态交给输出函数,并不把读到的后缀逐字保存;每个位置的输出仍按原位置从左到右连接。单字母表上的反转退化为恒等函数;把“有一台反向自动机”误解为“可以倒序吐出全部输入”,才会把 rational 与 regular functions 混为一谈。
推论与应用
每个 rational function 都有确定 bimachine 表示,即使没有等价 subsequential 转导器。这把“语义唯一”与“可在线单向确定输出”彻底分开:前者保证 bimachine 存在,后者还要满足孪生性质。
Bimachine 也支持规范化与最小化研究。左、右自动机分别对应输入前缀和后缀的有限同余;不同表示可以在两侧之间交换状态复杂度,因此一般不存在像最小 DFA 那样只按一个状态数排序的朴素唯一最小机,需固定一侧同余或采用规范构造。
在带正则 lookahead 的重写、词形消歧和逻辑刻画中,bimachine 是有用中介:NFT 给紧凑关系式描述,bimachine 给确定执行,代数同余则给可判定性质。若转换含反转或跨位置重排,应转向 regular function 模型,而不是继续扩大右自动机。
参考资料
- Samuel Eilenberg, Automata, Languages, and Machines, Vol. A, Academic Press, 1974, §11.7, Theorem 7.1.
- Marcel-Paul Schützenberger, “Sur une variante des fonctions séquentielles,” Theoretical Computer Science 4(1), 1977, pp. 47–57.
- Christophe Reutenauer and Marcel-Paul Schützenberger, “Minimization of Rational Word Functions,” SIAM Journal on Computing 20(4), 1991, pp. 669–685.
- Emmanuel Filiot, Olivier Gauwin, and Nathan Lhote, “Logical and Algebraic Characterizations of Rational Transductions,” Logical Methods in Computer Science 15(4), 2019, §§2–4.