我想知道如何证明具有顺序约束的语言是常规的。例如,如果你有Σ= {1,2,3,4,5}其中L(Σ*的一个子集)=(a1,a2,... an)使得+ 1大于怎么样你证明这是一种常规语言吗?
例如α=(1,3,5)将被接受,但α=(1,4,5,2)不会。
答案 0 :(得分:1)
任何可由DFA(确定性有限自动机)识别的语言都是常规的。要证明您描述的语言是常规语言,您只需要证明存在识别此特定语言的DFA。
请记住Σ是有限的。如果我理解了语言的约束,一个有效的结构将具有一个起始状态(接受或不接受取决于你是否想要在你的语言中包含ε),一个接受Σ中的每个符号的状态和一个拒绝状态。如果当前状态是起始状态或对应于“较小”符号,则转换函数应该导致对应于当前输入符号的状态,否则应该导致拒绝状态。
也可以使用快捷方式 - 每种有限语言都是规则的,如果我理解了你所描述的语言的约束,那么它显然是有限的(因为Σ是有限的)。这通常意味着语言也是规则的。