[英]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.