為下列語言構造NFA,並使用演算法將其轉換為DFA - L = (aa+ (bb*)c*)
解答
上述語言的NFA將是:

從NFA到DFA的轉換:
ε-閉包(0) = {0, 1, 4} = A
對於狀態A

| 對於輸入符號a | 對於輸入符號b | 對於輸入符號c |
|---|---|---|
| ∴ Ta = {2} | ∴ Tb = {5} | Tc = ∅ |
| ∴ ε-閉包(Ta) = ε -閉包(2) = {2} = B | ∴ ε-閉包(Tb) = ε -閉包(5) = {5, 6, 8, 9, 11, 12} = C | ∴ ε-閉包(∅) = ∅ = D |
對於狀態B

| 對於輸入符號a | 對於輸入符號b | 對於輸入符號c |
|---|---|---|
| ∴ Ta = {3} | ∴ Tb = {} | Tc = {} |
| ∴ ε-閉包(3) = = {3, 12} = E | ∴ ε-閉包(Tb) = { } = ∅ = D | ∴ ε-閉包(Tc) = ∅ = D |
對於狀態C

| 對於輸入符號a | 對於輸入符號b | 對於輸入符號c |
|---|---|---|
| ∴ Ta = {} | ∴ Tb = {7} | Tc = {10} |
| ∴ ε-閉包(Ta) = ∅ = D | ∴ ε-閉包(7) = { 7, 8, 6, 9, 11, 12} = F | ∴ ε-閉包(10) = {10, 9, 11, 12} = G |
對於狀態E

| ∴ Ta = ∅ | ∴ Tb = ∅ | Tc = ∅ |
| ∴ ε-閉包(Ta) = ∅ = D | ∴ ε-閉包(Tb) = ф = D | ∴ ε-閉包(Tc) = ф = D |
對於狀態F

| ∴ Ta = ∅ | ∴ Tb = {7} | Tc = {10} |
| ∴ ε-閉包(Ta) = ∅ = D | ∴ ε-閉包(Tb) = = ε-閉包(7) = {7,8,6,9,12} = F | ∴ ε-閉包(10) = {10, 9, 11, 12} = G |
對於狀態G

| ∴ Ta = ∅ | ∴ Tb = {7} | Tc = {10} |
| ∴ ε-閉包(ф) = ф = D | ∴ ε-閉包(ф) = ф = D | ∴ ε-閉包(10) = G |
對於狀態D
D = ∅
Ta = Tb = Tc = ∅
ε-閉包(Ta) = ε-閉包(Tb) = ε-閉包(Tc) = ф = D
DFA的狀態轉換表和圖將是:
(初始狀態)
| a | B | c | 這裡 | |
| A | B | C | D | A = {0,1,4} |
| B | E | D | D | B = {2} |
| C | D | F | G | C = {5,6,8,9,11,12} |
| D | D | D | D | D = ∅ |
| E | D | D | D | E = {3, 12} |
| F | D | F | G | F = {7,8,6,9,11,12} |
| G | D | D | G | G = {10,9,11,12} |

廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP