从交错字符串和代表性示例中学习自动机与正则表达式
1. 从交错字符串学习确定有限自动机(DFA)
在学习确定有限自动机(DFA)时,若目标语言 $L$ 可学习且终止,嵌入式算法会收敛到一个接受 $L$ 的 DFA。不过,该算法效率极低。如果 $L^2$ 可高效学习,学习超级 DFA 并应用转换到原始 DFA 会更具实用性。
此算法具有可扩展性:
- 固定数量交错执行 :对于固定数量 $N$ 的交错执行,可使用包含 $N - 1$ 个终止符号的最短前缀来学习。
- 可变数量交错执行 :对于由可变数量交错执行生成字符串的语言 $L^+$,先统计输入示例中终止符号的数量 $n$,找到包含 $n - 1$ 个终止符号的前缀,再正常学习。最终重置后,嵌入式算法仅从 $L^+$ 中由最少交错执行产生的字符串进行学习。
下面是这个学习过程的 mermaid 流程图:
graph TD;
A[开始] --> B{是否为固定数量交错执行};
B -- 是 --> C[使用含 N - 1 个终止符号的最短前缀学习];
B -- 否 --> D{是否为可变数量交错执行};
D -- 是 --> E[统计终止符号数量 n];
E --> F[找到含 n - 1 个终止符号的前缀];
F --> G[正常学习];
C --> H[最终重置];
G --> H;
H --> I[从最少交错执行产生的字符串学
自动机与正则表达式学习方法
超级会员免费看
订阅专栏 解锁全文
1410

被折叠的 条评论
为什么被折叠?



