簡體   English   中英

使用傳遞閉包方法將 DFA 轉換為正則表達式

[英]converting DFA to regular expression using Transitive closure method

以下示例顯示了一個簡單的 DFA,其中一個接受 state q2:

基於上面顯示的 R(i,j,k) 算法,我想將此 DFA 轉換為正則表達式,不幸的是我找不到 K 的良好定義。我的問題是 K 是什么意思? 是狀態數(在這種情況下為 3)還是其他?

然后,我們求解這些方程以得到 qi 的方程,以 α ij 表示,該表達式是所需的解,其中 qi 是最終的 state。 如下所示 -

q 1= qa + q3a + €(€移動是因為q1是初始狀態)

q2 = q1b + q2b + q3b

q3 = q2a

現在,我們將求解這些方程,如下所示 -

. q2 = q1b + q2b + q3b

= q1b + q2b + (q2a)b (替換 q3 的值)

= q1b + q2(b + ab)

= q1b (b + ab) *(應用 Arden 定理)

. q1 = q1a + q3a + €

= q1a + q2aa + €(替換 q3 的值)

= q1a + q1b(b + ab*)aa + € (替換 q2 的值)

= q1(a + b(b + ab) *aa) + €

= € (a+ b(b + ab) *aa) *

= (a + b(b + ab) *aa) *

因此,正則表達式是 (a + b(b + ab) *aa) *。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM