bài tập cơ bản về automat hữu hạn
Trang 1Bài tập lý thuyết chương 4 Các đặc tính của ngôn ngữ chính qui Môn: Automata và Ngôn ngữ hình thức
Bổ đề bơm
1 Chứng minh các ngôn ngữ dưới đây không phải là ngôn ngữ chính qui:
a) {0n1n | n ≥ 1}
b) Tập các chuỗi mở, đóng ngoặc tròn cân bằng (tương ứng với một biểu thức số học đúng khi loại bỏ đi các toán tử và toán hạng)
c) {0n10n | n ≥ 1}
d) {0n1m2n | n, m ≥ 1}
e) {0n1m | n ≤ m}
f) {0n1m | n > m}
g) {0n12n | n ≥ 1}
h) Tập các chuỗi 0, 1 với số lượng 0 bằng số lượng 1
2 Chứng minh các ngôn ngữ dưới đây không phải là ngôn ngữ chính qui:
a) {0n | n là số chính phương}
b) {0n | n là số mà căn bậc ba của nó cũng là số nguyên}
c) {0n | n là lũy thừa của 2}
d) {0n | n là số nguyên tố}
e) {w {0, 1}* | |w| là số chính phương}
f) {ww | w {0, 1}*}
g) {www | w {0, 1}*}
h) {ww R | w {0, 1}*}
i) {ww | w {0, 1}*, w chính là w mà các số 0 được chuyển thành 1 và các số 1 được
chuyển thành 0}
Trang 2Tính đóng của ngôn ngữ chính qui
1 Gọi L là ngôn ngữ trên bảng chữ cái Σ, a ∈ Σ Khi đó, L/a là thương (quotient) của L và a
L/a = {w ∈ Σ* | wa ∈ L}
Ví dụ: L = {a, aab, baa} thì L/a = {ε, ba}
Chứng minh: Nếu L là RL thì L/a cũng là RL
Hướng dẫn: Xét DFA của L và chú ý đến các trạng thái chấp nhận
2 Gọi L là ngôn ngữ trên bảng chữ cái Σ, a ∈ Σ Khi đó, a\L là:
a\L = {w ∈ Σ* | aw ∈ L}
Ví dụ: L = {a, aab, baa} thì a\L = {ε, ab}
Chứng minh: Nếu L là RL thì a\L cũng là RL
Hướng dẫn: Chú ý tính đóng của phép đảo và thương
3 Hãy chỉ ra rằng ngôn ngữ chính qui L là đóng dưới các thao tác sau:
a) min(L) = {w | w ∈ L và không có tiền tố nào của w thuộc L}
b) max(L) = {w | w ∈ L và không có chuỗi x ≠ ε khiến cho wx thuộc L}
c) init(L) = {w | với một chuỗi x nào đó, wx thuộc L}
Hướng dẫn: Bắt đầu từ DFA của L, tiến hành xây dựng DFA cho ngôn ngữ min(L), max(L), init(L)
4 Nếu x = x1x2 … x n và y = y1y2 … y n là những chuỗi có cùng chiều dài Gọi alt(x, y) là chuỗi
mà trong đó, sự xuất hiện của từng ký hiệu thuộc x và y xen kẽ nhau, bắt đầu bằng ký hiệu thuộc x:
alt(x, y) = x1y1x2y2 … x n y n
Chứng minh rằng nếu L và M là RL thì
alt(L, M) = {alt(x, y) | x L, y M, |x| = |y|}
cũng là RL
Trang 3Tối giản DFA
1 Cho DFA với bảng truyền sau:
0 1
A B A
B A C
C D B
*D D A
E D F
F G E
G F G
H G D
a) Xây dựng bảng xác định các cặp trạng thái phân biệt/tương đương b) Xây dựng DFA tương đương có số lượng trạng thái tối thiểu
2 Yêu cầu tương tự như Bài 1 cho DFA có bảng truyền sau:
0 1
A B E
B C F
*C D H
D E H
E F I
*F G B
G H B
H I C
*I A E
Hết