由于语言的和乙,让我们说,他们的级联一乙是明确的,如果所有的单词w ^ ∈ 一乙,恰好有一个分解w ^ = 一b有一个∈ 一和b ∈ 乙,和暧昧否则。(我不知道该属性是否存在一个确定的术语,这很难搜索!)作为一个简单的示例,{ ε ,a }与自身的串联是不明确的(w = a),但的级联 { 一个 }与本身是明确的。
是否有一种算法来确定两种常规语言的连接是否明确?
由于语言的和乙,让我们说,他们的级联一乙是明确的,如果所有的单词w ^ ∈ 一乙,恰好有一个分解w ^ = 一b有一个∈ 一和b ∈ 乙,和暧昧否则。(我不知道该属性是否存在一个确定的术语,这很难搜索!)作为一个简单的示例,{ ε ,a }与自身的串联是不明确的(w = a),但的级联 { 一个 }与本身是明确的。
是否有一种算法来确定两种常规语言的连接是否明确?
Answers:
提示:给定和B的 DFA ,请构造一个NFA,该NFA接受具有至少两个不同分解的A B中的单词。NFA跟踪A B的标准NFA的两个副本(通过将A和B的 DFA 通过ϵ过渡加入)形成,以确保从A到B的切换发生在两个不同的点。
更新(感谢Yuval Filmus)。
鉴于两种语言和Ÿ的一个*,让 X - 1 ÿ 我声称Xý是明确的,当且仅如果语言X-1X∩ýý-1∩甲+是空的。
and . Without loss of generality, we may assume that is a prefix of , that is,
contains some nonempty word . Then there exist and such that and . It follows that and hence the product is ambiguous.
If and are regular, then both and are regular and thus is also regular (see Yuval's answer for an automaton accepting this language).