⑴ 誰知道編譯原理中的有窮自動機是怎麼回事
即是有限自動機.在一個有限的狀態集中,當前狀態根據有窮字母表的輸入符號,確定下一個狀態.有限自動機只有一個初態,可以有幾個終態
⑵ 編譯原理有限自動機問題,不是說DFA不存在ε 邊嗎,為什麼這個答案有ε 邊,不是還能化簡嗎
自動機是有限狀態機(FSM)的數學模型。 FSM 是給定符號輸入,依據(可表達為一個表格的)轉移函數「跳轉」過一系列狀態的一種機器。在常見的 FSM 的「Mealy」變體中,這個轉移函數告訴自動機給定當前狀態和當前字元的時候下一個狀態是什麼。逐個讀取輸入中的符號,直到被完全耗盡(把它當作有一個字寫在其上的磁帶,通過自動機的讀磁頭來讀取它;磁頭在磁帶上前行移動,一次讀一個符號)。一旦輸入被耗盡,自動機被稱為「停止」了。依賴自動機停止時的狀態,稱呼這個自動機要麼是「接受」要麼「拒絕」這個輸入。如果停止於「接受狀態」,則自動機「接受」了這個字。在另一方面,如果它停止於「拒絕狀態」,則這個字被「拒絕」。自動機接受的所有字的集合被稱為「這個自動機接受的語言」。自動機 automaton 原來是模仿人和動物的行動而做成的機器人的意思。但是現已被抽象化為如下的機器。時間是離散的(t=0,1,2……),在每一個時刻它處於所存在的有限個內部狀態中的一個。對每一個時刻給予有限個輸入中的一個。那麼下一個時刻的內部狀態就由現在的輸入和現在的內部狀態所決定。每個時刻的輸出只由那個時刻的內部狀態所決定。作為自動機的例子可以舉出由McCulloch-pitts的神經模型組合所得到的神經網路模型、數字計算機等。
⑶ 編譯原理中 確定的有窮自動機和不確定的有窮自動機有什麼區別
確定的有窮自動機就是說當一個狀態面對一個輸入符號的時候,它所轉換到的是一個唯一確定的狀態;而不確定的有窮自動機是說當一個狀態面對一個輸入符號的時候,它所轉換到的可能不只一個狀態,可以是一個狀態集合。這就是兩者的主要區別。還有就是DFA的開始狀態是唯一的,而NFA的開始狀態是一個開始狀態集。
⑷ 在編譯原理中,「V+」代表的是V的()閉包
摘要 親正在為您查找資料哦
⑸ 編譯原理中,形式語言里怎麼區分2型文法與3型文法
二型文法如下:
S->Ac
S->Sc
A->ab
A->aAb
三型文法如下:
S->aS
A->bA
B->cB
B->c
A->Bb
A、2型文法是上下文無關文法,表現在產生式上就是產生式的左部只有一個非終結符;3型文法從廣義上講包括左線形文法、右線形文法和正規文法 。
B、左線形文法產生式的右部要麼沒有非終結符,如果有非終結符也只能有一個,且必須位於產生式右部的最左端。
C、右線形文法產生式的右部要麼沒有非終結符,如果有非終結符也只能有一個,且必須位於產生式右部的最右端 。
D、正規文法是右線形文法的一個子集,其產生式右部只有三種情況:
1)空串
2)只有一個終結符
3)只有一個終結符後接一個非終結符
E、所有的3型文法都是2型文法。
⑹ 編譯原理中,確定有窮自動機的化簡步驟是什麼啊能不能再給個例子啊 給個具體一點的文章或網址也行啊
我有這樣一道題的解題步驟,但是圖片傳不上來,需要的話可以留個郵箱給我。
已知 NFA= ( {x,y,z},{0,1},M,{x},{z} ),其中:
M(x,0)={z},M(y,0)={x,y},M(z,0)={x,z},M(x,1)={x}, M(y,1)= φ ,M(z,1)={y}, 構造相應的DFA並最小化。
⑺ 編譯原理有窮自動機的問題
在i0->I3時,小圓點行移到了大B前面,大B是非終結符,會引發B開始的二個項。(這個情況同I0->I2)的情形。
而I0->i4時,小圓點移到小b後面,不會引發其它項。
⑻ !!編譯原理DFA和NFA
DFA或NFA是對計算機程序的行為的抽象模型。你編寫的程序其實就對應了一個自動機。簡單舉例來說,如果a,b可以取值0或1; 程序: if(a==1) b=1; 這個程序對應了一個自動機。
對應的自動機就有狀態 (0,0), (0,1), (1,1), (1, 0)
比如你自動機的初始狀態是 (1,0)即a=1,b=0時,運行程序的下一個狀態就是(1,1)。
畫圖出來就是 這4個狀態作為頂點,並且有下面幾條邊
(0,0) --> (0,0)(自環), (1,0)-->(1,1), (1,1)-->(1,1)(自環), (0,1)-->(0,1)自環
存在的意義就是一種理論模型,也可以認為是一種編程思想。 詞法分析系也離不開 if else, 這一系列的if else和條件也就組成自動機。。。
最經典體現自動機思想的演算法就是KMP演算法,你肯定學過,字元串子串匹配的演算法。 回憶這個演算法的過程:演算法第一步構造的next表(數據結構教材的說法)其實就是根據子串的內容構造了一個自動機! 演算法第二步將原串作為自動機輸入,自動機的輸出就是匹配到的子串位置或者無匹配。
⑼ 編譯原理中有窮自動機轉化為正規式的問題
B->C->B->....->C
或者B->B...->C
其實具體過程我不知道怎麼弄,以前學過,學得不好。
⑽ 編譯原理題目,有限自動機dfa。題目如圖,請教C為什麼不對(答案選A)。謝謝
1、C不對。比如圖中自動機可以識別字元串0101,但答案C 為正規式1*(0)*01,其表示的正規集明顯不能包含0101
2、1*(0)*01和1*0*01沒有區別