Tải bản đầy đủ (.pdf) (3 trang)

bài tập ngôn ngữ hình thức

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (157.98 KB, 3 trang )

Bà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) {0
n
1
n
| 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) {0
n
10
n
| n ≥ 1}.
d) {0
n
1
m
2
n
| n, m ≥ 1}.
e) {0
n
1
m
| n ≤ m}.
f) {0


n
1
m
| n > m}.
g) {0
n
1
2n
| 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) {0
n
| n là số chính phương}.
b) {0
n
| n là số mà căn bậc ba của nó cũng là số nguyên}.
c) {0
n
| n là lũy thừa của 2}.
d) {0
n
| 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}.

Tí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 = x
1
x
2
… x
n
và y = y
1
y
2
… 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) = x
1
y
1
x
2
y
2
… 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.

Tố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

×