【问题标题】:How to factorize a string to check its belonging to language that is generated from alphabet?如何分解字符串以检查其属于从字母表生成的语言?
【发布时间】:2018-06-28 08:15:58
【问题描述】:

令 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* 中的意志组合。我已经以多种方式分解了后面的部分,但仍然不匹配。 我想问一下,

  • 正确吗?

  • 这是分解(标记)字符串的正确方法吗?

  • 所有分解对都正确吗?

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

【问题讨论】:

    标签: tokenize automata-theory


    【解决方案1】:

    您的一些因式分解包含 $(b)$,它不在 $S$ 中。所以他们是不正确的。

    我认为您的方法是详尽的反复试验。如果您正确地执行此操作,那么这是找到分解的正确方法。为了检查语言的成员资格,如果该语言以有限语言的 Kleene 闭包的形式给出,它就可以工作。

    【讨论】:

    • 字符串 abaabbabbaab 是否存在于 S* 中?它的意思是,我考虑了这个字符串,而不是字母表。你可以看到这个字符串,然后是我所做的因素。
    • 字符串 $abaabbabbaab$ 不在 $S^*$ 中。您的所有分解都包括不是来自 $S$ 的因子。只需查看字符串的右端。 $S$ 中的五个字符串都不是字符串的后缀;因此很明显它不能被分解。
    猜你喜欢
    • 2012-03-07
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    • 1970-01-01
    • 2021-10-11
    • 1970-01-01
    相关资源
    最近更新 更多