我正在試圖構建非上下文的下推自動機的愚人差事自由語言L = {a ^(n)b ^(n)c ^(n)| n> = 1}並考慮兩種方法。對於L = {a ^(n)b ^(n)c ^(n)| n> = 1}的PushDown自動機(PDA)
第一種方法: -
我認爲,每一個「A」的字符串我會推3「」進棧和字符串中的每一個「B」,我會彈出2 'a'現在對於字符串中的每個'c',我仍然會在堆棧中有'a'。
問題與第一種方法: -產生的語言成爲這樣的L = {A ^(P)b ^(M)C ^(n)的| P> = 1和無法確定如何m和n可以定義}
第二種方法: -
我們知道,L = {A ^(n)的b ^( m)c ^(m)d ^(n)| n> = 0}是一種上下文無關語言,L = {wxw | w∈(a,b)*}也是上下文無關的語言。所以,我認爲L = {a ^(n)b ^(m)b ^(m)c ^(n)| N> = 1且m =地板(第(n + 1)/ 2)}
問題的第二種方法: -不知道,如果我們可以計算出地板(N + 1/2)在PDA不會干擾堆棧的元素。
請幫助確定如何在第一種方法中定義m和n,以及如何在PDA中找到floor((n + 1)/ 2)。
如果需要,JFLAP文件可用於兩者。
首先我想再次指出「傻瓜的差事「,第二我知道PDA不存在,所以請完整閱讀問題描述。 – NeoR
也許我需要通過添加JFlap圖像來更新問題 – NeoR
@NeoR您可能會考慮更改標題以反映您的實際問題,並將您的實際問題放在問題主體的頂部附近,並在其下面進行任何解釋或激勵討論。 – Patrick87