簡體   English   中英

一個 NFA 接受最后一位數字之前沒有出現的語言

[英]A NFA accepting ;anguages whose final digit didn't appear before

給出一個非確定性有限自動機 ( NFA ),它接受以下語言:字母表 {0,1,...,9} 上的字符串集,使得最后一位之前沒有出現過。 我在introduction to automata theory languages and computation page 67 Exercise 2.3.4 遇到過這個問題

當字母表是 {0,1} 時,這是最簡單的非平凡情況,我們可以得到這樣一個最簡單的 NFA: The simplest non-trivial situation所以進一步你可以得到這樣的 NFA:

為此獲得 NFA 的一種簡單方法是分別考慮 10 個案例中的每一個。 考慮語言中最后一位數字為 0 的所有字符串的情況。這樣的字符串不包含其他 0; 它們的正則表達式是 (1+2+3+4+5+6+7+8+9)*0。 他們的 NFA 看起來有點像

  1,2,3,4,5,6,8,9
       /--\
       |  /
       V /
o----->A0--0-->[B0]

我們可以想象其他 9 個狀態為 Ax、Bx,其中 Bx 正在接受每個 x,並且 Ax 在 x 之外的每個符號上循環到自身,並在符號 x 上循環到 Bx。

然后我們可以通過引入一個新的初始 state S 將所有這些粘合在一起,它具有到 Ax 狀態的空/lambda 轉換。 最終的 NFA 將具有:

  • 一個首字母 state S
  • 從 S 到狀態 A0、A1、A2、A3、A4、A5、A6、A7、A8 和 A9 的空/lambda/epsilon 轉換
  • 在 0 上從 A0 過渡到 B0,在 1 上從 A1 過渡到 B1,在 2 上從 A2 過渡到 B2,依此類推
  • 所有缺失的從狀態 A0、A1、A2 等返回到相同狀態的轉換

事實上,為什么不復制/粘貼上面的內容並將整個內容寫下來呢?

       1,2,3,4,5,6,7,8,9
            /--\
            |  /
            V /
     /----->A0--0-->[B0]
    /
   |   0,2,3,4,5,6,7,8,9
   |        /--\
   |        |  /
   |        V /
   | /----->A1--1-->[B1]
   |/
   |   0,1,3,4,5,6,7,8,9
   |        /--\
   |        |  /
   |        V /
   | /----->A2--2-->[B2]
   |/
   |   0,1,2,4,5,6,7,8,9
   |        /--\
   |        |  /
   |        V /
   | /----->A3--3-->[B3]
   |/
   |   0,1,2,3,5,6,7,8,9
   |        /--\
   |        |  /
   |        V /
   | /----->A4--4-->[B4]
   |/
   /   0,1,2,3,4,6,7,8,9
S-<         /--\
   \        |  /
   |\       V /
   | \----->A5--5-->[B5]
   |
   |   0,1,2,3,4,5,7,8,9
   |        /--\
   |        |  /
   |\       V /
   | \----->A6--6-->[B6]
   |
   |   0,1,2,3,4,5,6,8,9
   |        /--\
   |        |  /
   |\       V /
   | \----->A7--7-->[B7]
   |
   |   0,1,2,3,4,5,6,7,9
   |        /--\
   |        |  /
   |\       V /
   | \----->A8--8-->[B8]
   |
   |   0,1,2,3,4,5,6,7,8
   |        /--\
   |        |  /
    \       V /
     \----->A9--9-->[B9]

這是該語言最簡單的 NFA 還是 DFA? 幾乎可以肯定不是。 但它應該工作。

暫無
暫無

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

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