Skip to content

Sequential 转导器

Sequential transducer · Pure sequential transducer · 确定一向转导器

输入确定、逐字左到右运行且所有输出只在转移上产生的一向有限状态转导器。

条目类型
模型

形式陈述

本页采用“pure sequential”约定。Sequential 转导器是

T=(Q,Σ,Γ,q0,F,δ,λ),

其中 δ:Q×ΣQλ:Q×ΣΓ 具有相同定义域。每读一个输入字母,运行唯一地换状态并把一个有限输出块追加到末尾;不允许 ε 输入转移,也没有初始或终态输出。对 w=a1an,若唯一运行到达 qnF,则

T(w)=λ(q0,a1)λ(q1,a2)λ(qn1,an),

否则未定义。因此它直接实现函数型传导。允许终态再追加输出会得到subsequential 转导器;在本页术语下 sequential 是其“所有终态输出皆为 ε”的严格特例。

直觉

Sequential 机器是一位不能回头、不能撤销已写内容的抄写员。状态记录有限上下文,当前输入决定下一状态和此刻追加的字符串。它可以暂缓有限信息,却不能把任意长前缀压在心里等待最后一个字符。

输入确定不要求输出长度同步。一条边可以输出空字、一个字符或固定长短语;例如字符转义可以把 & 写成五字符实体。真正受限的是已输出前缀不可修改,以及有限状态只能维持有界种类的延迟。

因此,机器读完前缀 u 时已经写出的内容,必须是每个可接受续接 uv 的最终输出的公共前缀。机器可以少写并把有限残余放进状态,却不能预写一个将来可能被推翻的字符。这个前缀单调性是分析某个转换能否在线实现的直接工具。

偏函数语义来自部分转移和终态集合。完整消费输入但落在非终态仍是未定义;路径中途缺边也是未定义。若删掉 F 并默认所有状态终止,就改变了定义域,尤其会把本应等待闭合符号的前缀误当成完整输入。

例子与边界

构造一个 HTML 文本转义器,输入字母表简化为 ab&<。机器只有一个状态 q,既是初态又是终态,并设置

qa/aq,qb/bq,q&/\&amp;q,q</\&lt;q.

输入 a&<b 的四步输出块依次为 a&amp;&lt;b,连接后为 a&amp;&lt;b。实体中的分号是边输出的一部分,终止时不会再自动补字符。这个例子也说明输出可比输入长而无需额外状态。

在至少含两个符号的字母表上,反转 wwR 不是 sequential 函数。对所有前缀都可能继续输入,机器在看到 a 时不知道它最终应处在输出末尾的哪个位置;先写会破坏顺序,等待则需保存无界的原前缀。单字母表上的反转等于恒等函数,固定最大长度的反转也能用足够多状态硬编码;两者都没有触及无界次序重排这一障碍。

另一个边界来自终态后缀。函数 f(an)=an1bn1)可以把最后的 b 留到输入结束,但 pure sequential 机器既不知道哪次 a 是最后一次,也没有终止输出接口;它将成为下一页严格包含关系的见证。

推论与应用

Sequential 函数对复合封闭。若第一台的一条边输出固定字 u,可以在构造时让第二台从当前状态完整跑过 u,把其输出块和终态合并进积状态。因为每条边的 u 来自有限表,这一步不会需要无界缓冲。

输出推动把各状态之后所有可能输出的最长公共前缀尽量前移,可以得到便于比较和最小化的规范形式。随后按“相同剩余函数”合并状态,形成类似 Myhill–Nerode 的最小表示;仅按输入自动机语言最小化不足以保留输出。

Sequential 转导器适合字符转义、确定词法规范化和在线协议改写。若转换必须依据任意远的末尾选择早期输出,应该先检查 subsequential 可实现性或孪生性质,而不是不断为有限样例增加状态。

实现中还应区分“读取完当前缓冲区”与“输入流真正结束”。只有后者才能触发终止判定;若网络分片暂时为空就把当前状态当终态,会把同一个逻辑输入切成多个函数调用,改变定义域与输出边界。

参考资料
  • Mehryar Mohri, “Finite-State Transducers in Language and Speech Processing,” Computational Linguistics 23(2), 1997, §§3–5.
  • Christian Choffrut, “Minimizing Subsequential Transducers: A Survey,” Theoretical Computer Science 292(1), 2003, §§2–3.
  • Jacques Sakarovitch and Sylvain Lombardy, “Sequential?,” Theoretical Computer Science 356(1–2), 2006, §§2–3.
关系图谱4 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
分类位置

上位 / 更一般

下位 / 直接特例

暂未标注直接特例。

类型化关系