Cho NFA có epsilon N=(Q,Σ,δ,q0,F) và chuỗi w. Xác định N có chấp nhận w không.
Mô phỏng: tập trạng thái hiện tại luôn được lấy bao đóng-ε. Khởi đầu S=ECLOSE({q0}). Với mỗi ký tự a: S←ECLOSE(⋃s∈Sδ(s,a)). Chấp nhận nếu S∩F=∅ sau khi đọc hết w.
Ví dụ: NFA-ε cho a∗b∗.
Dòng 1: số trạng thái Q (đánh số 0..Q−1).
Dòng 2: bảng chữ cái Σ (cách nhau dấu cách).
Dòng 3: trạng thái bắt đầu q0.
Dòng 4: số trạng thái chấp nhận rồi danh sách trạng thái chấp nhận.
Dòng 5: số bước chuyển T.
Tiếp theo T dòng, mỗi dòng p a q; ký hiệu eps cho bước chuyển epsilon (ε).
Dòng cuối: chuỗi w (có thể rỗng — dòng trống).
1≤Q≤500, 0≤∣w∣≤104, 0≤T≤5000.
In YES nếu chấp nhận, ngược lại NO.
Ví dụ:
Đầu vào:
3
a b
0
1 2
4
0 a 0
0 eps 1
1 b 1
1 eps 2
ab
Đầu ra:
YES
Giải thích:
Đang tải editor...