如何在自动机上应用 Kleene star?

How to apply Kleene star on automata?

我知道如何将 Kleene star 应用于语言,但我不确定如何将其应用于 DFA 或 NFA。我很确定它需要是初始状态为最终状态的 epsilon NFA,最终状态可能需要 epsilon 转换到该初始状态?

有算法吗?这个接受以 0 开头并以 1 结尾的单词的 DFA 在应用 Kleene star 后会如何看待它?

在我看到的关于正则表达式和有穷自动机等价性的至少一个证明中,给出了一个结构来说明如何将具有与正则表达式 s 的语言相对应的语言的 NFA 转换为具有对应于表达式 s* 的语言。我认为构造是这样的:

  1. 新的初始状态 q0' 也在接受
  2. lambda/epsilon/empty 从 q0' 到前一个初始状态 q0
  3. lambda/epsilon/empty 从每个接受状态(q0' 除外)转换回 q0'

这允许:

  1. 要接受的空字符串,即使之前不是
  2. 接受原始 NFA 语言的任何字符串串联