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

Các tính chất của ngôn ngữ chính qui

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 (265.38 KB, 27 trang )

Trang 130
Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông Tin
Chương 4 Các tính chất của
ngôn ngữ chính qui

NNCQ tổng quát là như thế nào? Có phải chăng mọi ngôn
ngữ hình thức đều là chính qui?

Khi chúng ta thực hiện các phép toán trên NNCQ thì kết
quả sẽ như thế nào, có còn là một NNCQ không?

Một ngôn ngữ nào đócóhữu hạn không? Có rỗng không?

Làm thế nào để biết một ngôn ngữ đã cho có là chính qui
không?
Trang 131
Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông Tin
Chương 4 Các tính chất của
ngôn ngữ chính qui
4.1 Tính đóng của ngôn ngữ chính qui.
4.2 Các câu hỏi cơ bản về ngôn ngữ chính qui..
4.3 Nhận biết các ngôn ngữ không chính qui
Trang 132
Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông Tin
Tính đóng của NNCQ

Đóng dưới các phép toán tập hợp đơn giản.

Định lý 4.1

Nếu L


1
và L
2
là các NNCQ, thì L
1
∪L
2
, L
1
∩L
2
, L
1
L
2
, và L
1
*
cũng vậy. Chúng ta nói rằng họ NNCQ là đóng dưới các phép
hội, giao, kết nối, bù và bao đóng-sao.

Chứng minh

Nếu L
1
, L
2
là chính qui thì ∃ các BTCQ r
1
, r

2
sao cho L
1
= L(r
1
),
L
2
= L(r
2
). Theo định nghĩa r
1
+ r
2
, r
1
r
2
và r
1
* là các BTCQ định
nghĩa các ngôn ngữ L
1
∪L
2
, L
1
L
2
, và L

1
*. Vì vậy họ NNCQ là
đóng đối với các phép toán này.

Để CM tính đóng đối với phép bù, cho M = (Q, Σ, δ, q
0
, F) là
dfa chấp nhận L
1
, thì dfa = (Q, Σ , δ, q
0
, Q - F) chấp nhận .
L
^
M
L
Trang 133
Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông Tin
Đóng dưới các phép toán
tập hợp đơn giản

Để CM tính đóng đối với phép giao ta có hai cách như sau.
Cách thứ nhất

Dựa vào qui tắc De Morgan ta có
Dựa vào tính đóng của phép bù và phép hội vừa được chứng
minh ở trên ta suy ra tính đóng đối với phép giao.
Cách thứ hai

Ta sẽ xây dựng một dfa cho L

1
∩ L
2
.

Cho M
1
= (Q, Σ, δ
1
, q
0
, F
1
) và M
2
= (P, Σ, δ
2
, p
0
, F
2
) là các dfa
lần lượt chấp nhận L
1
, L
2
.

Ta xây dựng dfa chấp nhận L
1

∩ L
2
bằng thủ tục intersection sau.
212121
LLLLLL UII ==
)
^
),,(,
^
,,
^
(
^
00
FpqQM
δ
Σ=
Trang 134
Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông Tin
Thủ tục: intersection

Thủ tục: intersection

Input: dfa M
1
= (Q, Σ, δ
1
, q
0
, F

1
) và dfa M
2
= (P, Σ, δ
2
, p
0
, F
2
)

Output: dfa

= Q × P, tức là = {(q
i
, p
j
): trong đó q
i
∈ Q còn p
j
∈ P}.
Các chuyển trạng thái được xây dựng như sau
((q
i
, p
j
), a) = (q
k
, p

l
)
nếu và chỉ nếu
δ
1
(q
i
, a) = q
k
và δ
2
(p
j
, a) = p
l
= {(q
i
, p
j
): trong đó q
i
∈ F
1
còn p
j
∈ F
2
}
)
^

),,(,
^
,,
^
(
^
00
FpqQM
δ
Σ=
^
Q
^
δ
^
Q
^
F
Trang 135
Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông Tin
Thủ tục: intersection (tt)

Cách xây dựng trên mô phỏng lại quá trình xử lý của đồng thời
hai dfa M
1
và M
2
. Ngoài ra dựa vào định nghĩa của ta thấy
chỉ chấp nhận những chuỗi mà được đồng thời cả hai dfa M
1


M
2
chấp nhận. Vì vậy chấp nhận L
1
∩ L
2
.

Ví dụ

Tìm dfa giao của L
1
={a
2n
b
m
: n, m ≥ 0} và L
2
={a
3n
b
2m
: n, m ≥ 0}
^
δ
^
M
^
M

p
1
p
0
p
2
p
3
a
a
a
b
b
b
L
2
p
4
q
1
p
1
q
0
p
0
q
2
p
4

q
1
p
2
q
2
p
3
q
0
p
2
q
0
p
1
q
1
p
0
a
a
a
a
a
a
b
b
b
L

1
∩ L
2
q
1
q
0
q
2
aa
b
L
1
b
Trang 136
Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông Tin
Đóng dưới các phép toán
tập hợp đơn giản (tt)

Định lý 4.2

Họ NNCQ là đóng dưới phép hiệu và nghịch đảo.

Chứng minh

Để chứng minh tính đóng đối với phép hiệu dựa vào các qui tắc
tập hợp ta có:
L
1
- L

2
= L
1


Dựa vào tính đóng của phép bù và phép giao đã được chứng
minh, suy ra tính đóng cho phép hiệu.

Tính đóng của phép nghịch đảo đã được chứng minh ở Chương
3, slide 128.
2
L
Trang 137
Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông Tin
Đóng dưới các phép toán khác

Phép đồng hình (homomorphism)

Định nghĩa 4.1

Giả sử Σ và Γ là các bảng chữ cái, thì một hàm
h: Σ→Γ*
được gọi là một phép đồng hình. Bằng lời, một phép đồng hình
là một sự thay thế trong đómỗi kí hiệu đơn được thay thế bằng
một chuỗi.

Mở rộng nếu w = a
1
a
2

. . . a
n
, thì
h(w) = h(a
1
)h(a
2
). . .h(a
n
)

Nếu L là ngôn ngữ trên Σ, thì ảnh đồng hình (homomorphic
image) của nó được định nghĩa là
h(L) = {h(w): w ∈ L}.
Trang 138
Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông Tin
Ví dụ

Cho Σ ={a, b}, Γ ={a, b, c} và h được định nghĩa như sau
h(a) = ab,
h(b) = bbc.
Thì h(aba) = abbbcab. Ảnh đồng hình của L = {aa, aba} là
ngôn ngữ h(L) = {abab, abbbcab}.

Cho Σ ={a, b}, Γ ={ b, c, d } và h được định nghĩa như sau
h(a) = dbcc, h(b) = bdc.
Nếu L là ngôn ngữ được biểu thị bởi BTCQ
r = (a + b*)(aa)*, thì
r
1

= (dbcc + (bdc)*)(dbccdbcc)*,
là BTCQ biểu thị cho h(L). Từ đódẫn ta tới định lý sau
Trang 139
Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông Tin
Định lý

Định lý 4.3

Cho h là một đồng hình. Nếu L là một NNCQ, thì ảnh đồng
hình của nó h(L) cũng là NNCQ. Họ các NNCQ vì vậy là đóng
dưới phép đồng hình bất kỳ.

Phép thương đúng

Định nghĩa 4.2

Cho w, v ∈Σ* thì thương đúng (right quotient) của w cho v
được kí hiệu và định nghĩa là w/v = u nếu w = uv, nghĩa là nếu v
là tiếp vĩ ngữ của w thì w/v là tiếp đầu ngữ tương ứng của w.

Cho L
1
và L
2
là các ngôn ngữ trên bảng chữ cái giống nhau, thì
thương đúng của L
1
với L
2
được định nghĩa là

L
1
/L
2
= {w/v: w ∈ L
1
, v ∈ L
2
}
= {x : xy ∈ L
1
với một y nào đó ∈ L
2
}

×