我正在尝试解决DFA问题

时间:2017-09-14 12:26:24

标签: automata dfa nfa

exercise 4

second image

我必须做L1 U L2和交叉点L1 n L2

1 个答案:

答案 0 :(得分:0)

您可以通过正式的笛卡尔积计算机结构来算法推导出L1和L2的交集和并集的自动机。但是,由于这些语言非常简单,因此提供语言并为每个语言写下DFA可能更简单。

L1是as和bs的所有字符串的语言,至少有一个a。 L2是as和bs的所有字符串的语言,至少有两个bs。

要接受L1和L2的交集,我们需要看到至少一个as和两个bs。下面,我们有六个州:

  1. q0,初始状态,我们需要一个a和两个bs
  2. q1,我们还需要两个bs
  3. q2,我们还需要一个b
  4. q3,我们不再需要(接受国家)
  5. q4,我们仍需要一个a和一个b
  6. q5,我们还需要一个

    ---> Q0-α-> Q1-B-> Q2-B-> Q3      -b-> q4-a-> q2 q3            -B-> Q5-α-> Q3

  7. (缺少过渡,它们是自循环)

    请注意,有六种状态:这与我们分别在两个和三个州的原始DFA上完成笛卡尔积计算机结构相同。

    对于union,我们可以使用完全相同的DFA并将接受状态集更改为q1,q3,q5。这抓住了这样一个事实:我们现在接受任何一个条件为真(并且状态q1和q5是一个,但不是两个(如在q3中)条件变得满足)。