如何分解字符串以检查其属于从字母表生成的语言?

时间:2018-06-28 08:15:59

标签: tokenize automata-theory

让S = {a,bb,bab,abaab}是一个字母。 kleene封闭将为S *,所有可能的组合。

字符串abaabbabbaab是否在S *中存在?

可以使用什么方法分解以检查是否在S *中? 我已经通过以下方式做到了 可能的因式分解:

  1. (abaab)(bab)(b)(a)(a)(b)
  2. (abaab)(bab)(b)(aa)(b)
  3. (abaab)(bab)(ba)(ab)
  4. (abaab)(bab)(baa)(b)
  5. (abaab)(bab)(b)(aab)

我们可以看到(abaab)(bab)是匹配的,但后面的部分不匹配,将以S *组合。我已经以很多方式分解了后面的部分,但是仍然不匹配。 我想问这个,

  • 对吗?

  • 这是正确的方法来分解字符串吗?

  • 所有分解对都是正确的吗?

  • 这是检查字符串是否属于字符串的正确方法 语言吗?

1 个答案:

答案 0 :(得分:0)

您的某些分解包含$(b)$,但不在$ S $中。因此它们是不正确的。

我认为您的方法是详尽的试验和错误。如果正确执行此操作,则这是找到分解的正确方法。对于检查一种语言的成员资格,如果以有限语言的Kleene闭包形式给出该语言,则可以正常工作。