1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng lý thuyết ngôn ngữ TS nguyễn thị uyên

56 263 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 56
Dung lượng 3,37 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ngôn ngữ hữu hạn biểu diễn bằng cách liệt kê tất cả các chuỗi thuộc vào chúng... Văn phạm và sự phân lớp văn phạm Văn phạm là một tập các quy tắc về cấu tạo từ và các quy tắc ∆: tập hợp

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

- ∽∽∽ - ∽∽∽

BÀI GIẢNG

LÝ THUYẾT NGÔN NGỮ

Giảng viên: ThS ThS Nguyễn Nguyễn Thị Thị Uyên Uyên

Khoa Công nghệ thông tin

Trang 2

2/11/2014 Lý thuyết ngôn ngữ - Chương 0 Trang 4/17

I Tập hợp (Set)

• Tập hợp là tập các đối tượng không có sự lặp lại.

• Mỗi đối tượng trong tập hợp được gọi là phần tử

 D = { Mon, Tues, Wed, Thurs, Fri, Sat, Sun }

Các phần tử được viết cách nhau bởi dấu phẩy và

đặt trong cặp dấu { và }

Thứ tự liệt kê các phần tử là không quan trọng

Viết x ∈ A nghĩa là x thuộc A,

Viết x ∉ A nghĩa là x không thuộc A

 Một trường hợp đặc biệt của tập hợp là tập hợp rỗng

(empty set) Tập hợp này không có chứa bất kỳ phần

tử nào, ký hiệu bởi ∅ hoặc { }.

Trang 3

2/11/2014 Lý thuyết ngôn ngữ - Chương 0 Trang 7/17

Tập con (subset)

 Tập hợp A là tập hợp con () của tập hợp B khi mọi

phần tử của A đều thuộc B.

 Tập hợp tất cả các tập con của tập A được gọi là tập

lũy thừa (power set) của A, ký hiệu: 2A.

 Ví dụ : Giả sử A = { 1, 2, 3 }

 Thì 2A= { ∅, 1, 2, 3, (1,2), (2,3), (3,1), (1,2,3) }

Trang 4

2/11/2014 Lý thuyết ngôn ngữ - Chương 0 Trang 10/17

Trang 5

2/11/2014 Lý thuyết ngôn ngữ - Chương 0 Trang 13/17

Tính chất

Quan hệ tương đương

Trang 6

2/11/2014 Lý thuyết ngôn ngữ - Chương 0 Trang 16/17

Đồ thị có hướng

 Là đồ thị mà có sự phân biệt đỉnh nào là đỉnh đầu,

đỉnh nào là đỉnh cuối trong một cạnh(cung)

- Các nút có dẫn ra nút con sau nó được gọi là nút

trung gian hay nút trong

- Các nút không dẫn ra nút con gọi là nút lá

3.Thứ tự duyệt trên cây là từ trái sang phải

Ví dụ

Cây minh họa cấu trúc cú pháp của một câu đơn trong ngôn ngữ tiếng

Việt "An là sinh viên giỏi"

Trang 7

II Biểu diễn ngôn ngữ

III Văn phạm và sự phân loại văn phạm

1.1 Các khái niệm cơ bản về ngôn ngữ

a Bảng chữ cái(alphabet) là một tập hữu hạn hoặc vô hạn các

Trang 8

2/11/2014 Lý thuyết ngôn ngữ - Chương I Trang 4/20

1.1 Các khái niệm cơ bản về ngôn ngữ

d Chuỗi rỗng (ký hiệuε) là chuỗi không có ký hiệu nào, vì vậy

|ε | = 0

e Chuỗi con chuỗi v được gọi là chuỗi con của w nếu v được tạo

bởi các ký hiệu liền kề nhau trong chuỗi w

Ví dụ : Chuỗi 10 là chuỗi con của chuỗi 010001

f Tiền tố của một chuỗi là một chuỗi con bất kỳ nằm ở đầu chuỗi

g Hậu tố của một chuỗi là chuỗi con nằm ở cuối chuỗi.

Ví dụ: Chuỗi abc có các tiền tố là a, ab, abc và các hậu tố là c,

bc, abc

1.1 Các khái niệm cơ bản về ngôn ngữ

h Chuỗi nối kết (ghép) từ hai chuỗi con là một chuỗi tạo

được bằng cách viết chuỗi thứ nhất sau đó là chuỗi thứ hai

(không có khoảng trống ở giữa)

Vd: Nối kết chuỗi Long và Int là chuỗi LongInt.

ta có εw = wε = w với mọi chuỗi w.

i Chuỗi đảo ngược của chuỗi w, ký hiệu wRlà chuỗi w được

viết theo thứ tự ngược lại

chuỗi của một bộ chữ cáiΣ nào đó

b Tập hợp chứa chuỗi rỗng (ký hiệu {ε}) và tập hợp rỗng ∅

cũng được coi là ngôn ngữ

c TậpΣΣ* = Tập hợp tất cả các chuỗi (từ) kể cả chuỗi rỗng trên

Trang 9

2/11/2014 Lý thuyết ngôn ngữ - Chương I Trang 7/20

• 1 Cho Σ = {a, c,} Hãy mô tả tập Σ* ?

• 2 Cho Σ = {a, c,} Hãy mô tả tập Σ+ ?

1.3 Các phép toán trên ngôn ngữ

L1= {ab, bc}; L2= {12, 34, ab}

a Phép hợp L1∪ L2= {ab, bc, 12, 34}

b Phép giao L1∩ L2= {ab}

c Phép phần bù của một ngôn ngữ L trên bộ chữ cái

Σ được định nghĩa như sau :

1.3 Các phép toán trên ngôn ngữ

d Phép nối kết của hai ngôn ngữ L1trên bộ chữ cáiΣ1và L2

trên bộ chữ cáiΣ2 được định nghĩa bởi :

L1L2= {w1w2| w1∈ L1và w2∈ L2} trên bộ chữ cáiΣ1∪ Σ2

Ví dụ: L 1 = {a,b}; L 2 = {c,d} thì L 1 L 2 = {ac,ad,bc,bd}

Ta viết L0= {ε} ; L1= L ; L2= LL

hay tổng quát Li= LLi - 1với i > 0 L0={ε}, với mọi ngôn ngữ L

e Phép bao đóng của ngôn ngữ L ký hiệu L*

L* = L0 ∪ L1 ∪ L2 ∪ L3 ∪ L4…

Trang 10

2/11/2014 Lý thuyết ngôn ngữ - Chương I Trang 10/20

1.3 Các phép toán trên ngôn ngữ

f Phép bao đóng dương: L+= L1 ∪ L2∪ L3∪ L4 …

Ví dụ

Cho ngôn ngữ L = { a, ba } thì

L2= { aa, aba, baa, baba}

L3= { aaa, aaba, abaa, ababa, baaa, baaba, babaa, bababa}

L*= { ε, a, ba, aa, aba, baa, baba, aaa, aaba, abaa, ababa, baaa,

baaba, babaa, bababa … }

• Cho ngôn ngữ L = {a, b, c}, tính L3??

II Biểu diễn ngôn ngữ

 Một ngôn ngữ L trên một bộ chữ cái Σ là một tập con củaΣ

tậpΣΣ*.

 Ngôn ngữ hữu hạn biểu diễn bằng cách liệt kê tất cả các

chuỗi thuộc vào chúng

 Ví dụ: L 1 = { ε}, L 2 = { a, ba, aaba, bbbbb }

 Ngôn ngữ vô hạn không thể liệt kê tất cả các chuỗi thuộc

ngôn ngữ được

 Trong trường hợp đơn giảnthì ngôn ngữ được biểu diễn

thông qua một phát biểu hay một tân từ

 Ví dụ: L 3 = { a i  i là một số nguyên tố }

 L 4 = { a i b j  i ≥ j ≥ 0 }

Trang 11

2/11/2014 Lý thuyết ngôn ngữ - Chương I Trang 13/20

 Văn phạm là cơ chế cho phép sản sinh ra mọi

chuỗi của ngôn ngữ.

 Automata là cơ chế cho phép đoán nhận một chuỗi

bất kỳ có thuộc ngôn ngữ hay không.

Cách biểu diễn ngôn ngữ tổng quát

III Văn phạm và sự phân lớp văn phạm

Văn phạm là một tập các quy tắc về cấu tạo từ và các quy tắc

∆: tập hợp các biến (variables) hay các ký hiệu chưa kết thúc

(non terminal) (vớiΣ ∩ ∆ = ∅)

P :tập hữu hạn các quy tắc ngữ pháp được gọi là các luật sinh

(production), mỗi luật sinh được biểu diễn dưới dạngα → β,

vớiα, β là các chuỗi ∈ (Σ ∪ ∆)*

S⊂ ∆ : ký hiệu chưa kết thúc dùng làm ký hiệu bắt đầu (start)

• Các chữ cái Latinh viết hoa (A, B, C, ) thường dùng để

biểu diễn các ký hiệu chưa kết thúc trong tập biến ∆.

• Các chữ cái Latinh viết thường (a, b, c, ) thường dùng để

biểu diễn các ký hiệu kết thúc thuộc tập Σ.

Trang 12

2/11/2014 Lý thuyết ngôn ngữ - Chương I Trang 16/20

• P:{S->abA, A->aA|a, B->bB|Bc, AB->abC}

Dẫn xuất

 Từ văn phạm, để sinh ra được các chuỗi (từ), ta định nghĩa

khái niệm “dẫn xuất” như sau :

 Nếuααα →α→→ ββββ là một luật sinh thì γγγγ αααα δδδδ ⇒⇒γγγγ ββββ δδδδ gọi là một dẫn

xuất trực tiếp, có nghĩa là áp dụng luật sinhαααα →→→ ββββ vào chuỗi γγγγ αααα

δδδδ để sinh ra chuỗi γγγγ ββββ δδδδ

 Nếu các chuỗiαααα1 ,αααα2 , ,ααααm∈∈ ΣΣΣ*vàαααα1⇒αααα2 ,αααα2⇒αααα3 , ,

α

αα

αm-1⇒ααααmthì ta nóiαmcó thể được dẫn ra từα1thông qua chuỗi

dẫn xuấtαααα1⇒αααα2 ,αααα2⇒αααα3 , ,ααααm-1⇒ααααmhayα1dẫn xuất (gián

tiếp) raαm, viết tắt là αααα1*ααααm

• Bai 1: Cho văn phạm với tập luật sinh P được xác

định như sau:

• 1 Xây dựng thành phần Σ và ∆ của văn phạm.

• 2 Đưa ra dẫn xuất của văn phạm để sinh chuỗi

abbbab.

Trang 13

2/11/2014 Lý thuyết ngôn ngữ - Chương I Trang 19/20

Ngôn ngữ của văn phạm

Ngôn ngữ của văn phạm G = (Σ, ∆, P, S) là tập hợp các

chuỗi ký hiệu kết thúc w∈ Σ* được sinh ra từ ký hiệu bắt đầu

S của văn phạm bởi các luật sinh thuộc tập P, ký hiệu là L(G) :

L (G) = {w w ∈ Σ* và S ⇒* w}

Hai văn phạm tương đương là hai văn phạm cùng sinh ra

một ngôn ngữ:

G1tương đương G2 ⇔ L (G1) = L (G2)

Phân loại văn phạm theo Chomsky

1 Văn phạm loại 0 (Unrestricted Grammar)

Là văn phạm không cần thỏa mãn ràng buộc nào trên tập các

Trang 14

2/11/2014 Lý thuyết ngôn ngữ - Chương I Trang 22/20

• Cho văn phạm với tập luật sinh: P = {S → a | aA; A

→ aS | bB | cC; C → cA}

• 1 Văn phạm trên là văn phạm gì?

• 2 Chuỗi abab có thuộc ngôn ngữ sinh ra bởi văn

phạm hay không? Vì sao?

Phân loại văn phạm theo Chomsky

3 Văn phạm loại 2

 Là văn phạm mà mọi luật sinh có dạng A→ α→ααα với A là một

biến đơn (A∈ ∆) và αααα ∈∈∈ (Σ ∪∪ ∆)* - văn phạm phi ngữ cảnh

CFG(Context-Free Grammar)

 Ngôn ngữ của lớp văn phạm này được gọi là ngôn ngữ phi

ngữ cảnh (CFL)

4 Văn phạm loại 3

 Là văn phạm mà mọi luật sinh dạng A→ aB hoặc A → a

với A, B là các biến đơn thuộc ∆, a là ký hiệu kết thúc thuộcΣ

-văn phạm chính quy RG(Regular Grammar)

 Ngôn ngữ của lớp văn phạm này được gọi là ngôn ngữ

Trang 15

2/11/2014 Lý thuyết ngôn ngữ - Chương I Trang 25/20

Bài tập

Xem các ví dụ trong sách

Lý thuyết ngôn ngữ hình thức và otomat

Tác giả: Đặng Huy Ruận

Từ trang 30 đến trang 45

Chú ý:

1 Ký hiệu V trong sách tương ứng với ký hiệu ∆

2 Ký hiệu ^ trong sách tương ứng với ký hiệuε

BÀI TẬP

Bài 1: Xét văn phạm G : ∆ = {S, A}, Σ = {a, b} và tập

P = { S -> aS| aA; A -> bA| b}.

- Xác định văn phạm loại mấy?

- Xây dựng dẫn xuất sinh ra chuỗi aaabb?

Bài 2: Xét văn phạm G : ∆ = {S}, Σ = {a, b} và tập

P = { S > aSb; S > ab }

- Xác định văn phạm loại mấy?

- Xây dựng dẫn xuất sinh ra chuỗi aaaabbbb ?

Trang 16

2/11/2014 Lý thuyết ngôn ngữ - Chương I Trang 28/20

Bài 4

Cho văn phạm với tập luật sinh:

P = {S → a | aA; A → aS | b| cC; C → cA}

1 Xác định các thành phần của văn phạm?

2 Văn phạm trên là văn phạm loại gì?

3 Chuỗi accb có thuộc ngôn ngữ sinh ra bởi văn phạm

hay không? Vì sao?

Bài 5

1 Cho ngôn ngữ L = {a,b}, tính L3.

2 Tìm chuỗi đảo ngược của chuỗi dcab.

Trang 17

Chương II

ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC

CHÍNH QUY

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 2/44

 Ôtômát hữu hạn đơn định (DFA)

 Ôtômát hữu hạn không đơn định (NFA)

 Sự tương đương giữa DFA và NFA

 NFA với ε-dịch chuyển (NFAε)

 Sự tương đương giữa NFAε và NFA

 Automata là cơ chế cho phép đoán nhận ngôn ngữ Với

một chuỗi bất kỳ, sau một số bước làm việc, ôtômát sẽ cho câu

trả lời chuỗi đó có thuộc ngôn ngữ hay không

 Mỗi bước làm việc của Automata là một sự thay thế ký

hiệu, nghĩa là một bước dẫn xuất như ở trong văn phạm

Trang 18

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 4/44

Mô hình cơ chế ôtômát

 Chuỗi nhập cần xác định sẽ được lưu trữ trên băng input

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 5/44

Phân loại các ôtômát

 Phân loại dựa theo hoạt động của ôtômát

 Ôtômát đơn định DA (Deterministic Automata) : tại

mỗi bước chuyển, nó chỉ có một khả năng duy nhất Sự

duy nhất này thể hiện tính đơn định

 Ôtômát không đơn định NDA (Non - deterministic

Automata) tại mỗi bước di chuyển, nó có một vài khả

năng để chọn lựa Sự chọn lựa này thể hiện tính không

đơn định

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 6/44

Ôtômát hữu hạn (FA : Finite Automata)

 Tại mỗi thời điểm, hệ thống có số trạng thái làhữu hạn

 Mỗi trạng thái của hệ thống tại mỗi thời điểm sẽ thay đổi tùy

thuộc vàoINPUT

 Ôtômát hữu hạn (FA) được chia thành 2 loại:đơn định(DFA)

vàkhông đơn định(NFA)

Trang 19

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 7/44

I Ôtômát hữu hạn đơn định - DFA

(Deterministic Finite Automata)

Ôtômát hữu hạn đơn định là bộ gồm năm thành phần(Q, Σ, δ, q0, F),

trong đó :

 Qlà tập hợp hữu hạn các trạng thái

 Σlà bộ chữ cái hữu hạn

 δlà hàm chuyển ánh xạ từQ × Σ → Q, tức làδ(q, a)là một trạng

thái được cho bởi phép chuyển từ trạng tháiqtrên ký hiệu nhậpa

 q0∈ Qlà trạng thái khởi đầu

 F ⊆ Q là tập các trạng thái kết thúc

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 8/44

Sơ đồ chuyển (transition diagram)

Một đồ thị có hướng, gọi là sơ đồ chuyển tương ứng với một DFA

như sau:

 Các đỉnh của đồ thịlà cáctrạng tháicủa DFA

 Nếu có một đường chuyển từ trạng tháiqđến trạng tháiptrên

inputathì có một cung nhãnatừ đỉnhqđến đỉnhptrong sơ đồ

chuyển

 Trạng thái khởi đầu q0nhãn "Start"

 Các trạng thái kết thúc trong F được chỉ ra bằnghai vòng tròn

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 9/44

Ngôn ngữ được chấp nhận bởi DFA

 Một chuỗi x được chấp nhận bởi ôtômát hữu hạnM (Q, Σ, δ, q0,

F)nếu δ(q0, x) = pvớip ∈ F

 Ngôn ngữ được chấp nhận bởi M

L(M) = { x | δ (q0, x) ∈ F }

Trang 20

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 10/44

Cơ chế hoạt động của DFA

Cho xâu vào ω = x1 x2 x3 xn ∈ ∑*

Ta mô tả hoạt động của ôtômát như sau:

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 11/44

Sau đó, ôtômát lại tiếp tục chuyển từ trạng thái q1 dưới tác động của x2 về trạng

qn= δ(qn-1, xn) = δ(qo, x1 xn) ∈ Q Khi đó ôtômát dừng lại Nếu qn∈F thì ta nói

rằng

Cơ chế hoạt động của DFA

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 12/44

Ví dụ 1

Kiểm tra chuỗi 110101

Vẽ sơ đồ chuyển Kiểm tra chuỗi 1101?

VD Cho DFA: với Q = {q0, q1, q2, q3}, Σ = {0, 1}, F = {q0} và

hàm chuyển δ như sau:

Trang 21

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 13/44

Ví dụ 2

Cho ôtô mát đơn định M = <∑, Q, δ,qo, F> với ∑={0,1},

Q={qo, q1, q2, q3}, qo là trạng thái ban đầu, còn F = {q3} là

tập hợp trạng thái kết thúc Hàm chuyển trạng thái được cho

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 14/44

Giải thuật mô phỏng hoạt động của một DFA

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 15/44

Nhận xét

 Tập Q của DFA thể hiện các trạng thái lưu trữ của ôtômát trong

quá trình đoán nhận ngôn ngữ, và như vậy khả năng lưu trữ của

ôtômát là hữu hạn

 Hàm chuyển δ là hàmtoàn phầnvàđơn trị, cho nên các bước

chuyển của ôtômát luôn luôn được xác định một cách duy nhất

 Chính vì hai đặc điểm này mà DFA mô tả như trên được gọi là

ôtômát hữu hạn đơn định

Trang 22

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 16/44

II.Ôtômát hữu hạn không đơn định - NFA

(Non-deterministic Finite Automata)

 NFA tại mỗi thời điểm bộ điều khiển có thể chứa một số bất kỳ

các trạng thái để chuyển: 0, 1 hoặc nhiều hơn 1 trạng thái

 Vậy DFA là một trường hợp đặc biệt của NFA (với số trạng thái

đểchuyển là 1)

 Ôtômát hữu hạn không đơn định NFA là một bộ 5 thành phần

(Q, Σ, δ, q0, F) trong đó Q, Σ, q0và F có ý nghĩa như trong DFA,

nhưng δ là hàm chuyển ánh xạ từ Q × Σ → 2Q

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 17/44

Ví dụ

Chuyển NFA về dạng bảng

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 18/44

Ngôn ngữ được chấp nhận bởi NFA

 L(M) = {w |||| δδδδ(q 0 , w) có chứa ít nhất một trạng thái trong F }

Trang 23

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 19/44

Câu hỏi

1 Nêu sự khác biệt cơ bản giữa DFA và NFA

2 Để đoán nhận chuỗi thì dùng ôtomát nào thì dễ dàng hơn Vì sao?

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 20/44

III Sự tương đương giữa DFA và NFA

Định lý: Nếu L là ngôn ngữ được chấp nhận bởi một NFA thì tồn tại một DFA

 F’ = các phần tử thuộc Q’ mà các phần tử đó giao với F khác rỗng

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 21/44

Trang 24

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 22/44

Bài tập

 Tìm hiểu phần mềm JFLAP,Tải về: http://www.jflap.org

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 23/44

IV NFA với εεεε-dịch chuyển (NFAεεεε)

 Ta mở rộng mô hình NFA cho phép các phép chuyển trên nhãn

rỗng ε

 Ví dụ 1: Sơ đồ chuyển của một NFA với ε-dịch chuyển :

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 24/44

Trang 25

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 25/44

 δ(q, a) chỉ gồm các trạng thái có thể đến được từ q chỉ

bằng các cung nhãn a

 δ*(q, ε) = ε-CLOSURE(q)

 Hay δ*(q, wa) = ε-CLOSURE(δ (δ*(q, w), a))

 δ*(q, a) gồm tất cả các trạng thái có thể chuyển đến được từ q

trên nhãn a gồm cả đường đi nhãn ε

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 26/44

Ngôn ngữ được chấp nhận bởi NFAεεεε

L(M) = {w | δ*(q0, w) có chứa ít nhất một trạng thái trong F}

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 27/44

Giải thuật mô phỏng hoạt động của một NFAεεεε

Trang 26

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 28/44

V Sự tương đương giữa NFA và NFAεεεε

 Kết quả được chỉ ra trong bảng hàm chuyển sau :

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 30/44

q 1

Trang 27

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 31/44

VI Biểu thức chính qui (RE: Regular expression)

 Ta có thể dùng biểu thức chính qui để biểu diễn ngôn ngữ

 Định nghĩa

 Cho Σ là một bộ chữ cái Biểu thức chính quy trên Σ được định

nghĩa một cách đệ quy như sau:

 1) ∅ là biểu thức chính quy ký hiệu cho tập rỗng

 2) ε là biểu thức chính quy ký hiệu cho tập {ε}

 3) ∀a ∈ Σ, a là biểu thức chính quy ký hiệu cho tập {a}

 4) Nếu r và s là các biểu thức chính quy ký hiệu cho các tập hợp R

và S thì (r + s), (rs) và ( r*) là các biểu thức chính quy ký hiệu

 00 là biểu thức chính quy biểu diễn tập {00}

 (0+1)* ký hiệu cho tập hợp tất cả các chuỗi số 0 và số 1, kể cả chuỗi

rỗng = {ε, 0, 1, 00, 01, 10, 11, 010, 011, 0010 }

 (0+1)*00(0+1)* ký hiệu cho tập hợp tất cả các chuỗi 0,1 có ít nhất hai

số 0 liên tiếp = {00, 000, 100, 0000, 0001, 1000, 1001, 011001, }

 (1+10)* ký hiệu cho tất cả các chuỗi 0, 1 bắt đầu bằng số 1 và không

có hai số 0 liên tiếp = {ε, 1, 10, 11, 1010, 111, 101010, }

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 33/44

Ví dụ

 (0+1)*011 = ?.

 0*1*0*= ?

 Một chuỗi tên biến được gọi là hợp lệ trong một chương trình

Pascal nếu như nó bắt đầu bằng ít nhất một chữ cái và theo sau đó

là các chữ cái, số, ký hiệu gạch dưới(underline) hoặc một vài ký

hiệu cho phép khác trên bàn phím máy tính

r = (A + …+ Z + a + … + z) (A + …+ Z + a + … + z + 0 + … + 9 + _ + … )*

Trang 28

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 34/44

Ví dụ

 Biểu thức chính quy ký hiệu cho tập hợp các số nguyên trong

ngôn ngữ lập trình Pascal :

 Một chuỗi số nguyên trong một chương trình Pascal có thể bắt

đầu bằng dấu âm (-) hoặc dấu dương (+) hay không chứa ký hiệu

dấu, và theo sau đó là một chuỗi các ký hiệu số với ít nhất là một

số

 Biểu thức chính quy có dạng như sau :

 r = ( '+' + '-' + 'ε') ( 0 + … + 9) (0 + … +9 )*

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 35/44

VII Sự tương đương giữa biểu thức chinh qui và NFAεεεε

 ĐỊNH LÝ Nếu r là biểu thức chính quy thì tồn tại một NFAεεεε

chấp nhận L(r).

 Giải thuật

 Phân tích biểu thức chính qui thành từng phần và áp dụng các qui

tắc sau để xây dựng NFAε tương đương

 Qui tắc cơ bản:

 Cho biểu thức chính qui: r = a ∀a ∈ Σ

 NFAε tương đương:

2/11/2014 Lý thuyết ngôn ngữ - Chương II Trang 36/44

Giải thuật

 Quy tắc cho phép hợp: r = r 1 + r 2

Ngày đăng: 04/12/2015, 00:37

HÌNH ẢNH LIÊN QUAN

Đồ thị có hướng - Bài giảng lý thuyết ngôn ngữ   TS  nguyễn thị uyên
th ị có hướng (Trang 6)
Sơ đồ chuyển (transition diagram) - Bài giảng lý thuyết ngôn ngữ   TS  nguyễn thị uyên
Sơ đồ chuy ển (transition diagram) (Trang 19)
Ví dụ 1: Sơ đồ chuyển của một NFA với ε-dịch chuyển : - Bài giảng lý thuyết ngôn ngữ   TS  nguyễn thị uyên
d ụ 1: Sơ đồ chuyển của một NFA với ε-dịch chuyển : (Trang 24)
Sơ đồ phụ thuộc đơn vị - Bài giảng lý thuyết ngôn ngữ   TS  nguyễn thị uyên
Sơ đồ ph ụ thuộc đơn vị (Trang 45)
Hình thái (ID : Instantaneous Descriptions) - Bài giảng lý thuyết ngôn ngữ   TS  nguyễn thị uyên
Hình th ái (ID : Instantaneous Descriptions) (Trang 52)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm