1. Trang chủ
  2. » Luận Văn - Báo Cáo

giao trinh toan roi rac 2

218 718 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 218
Dung lượng 29,73 MB

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

Nội dung

Xj là một trạng thái trong Q, còn nếu nó là ôtômat không đơn định thì ôqr Xj là một tập các trạng thái trong Q.. Từ các ví dụ trên ta thấy quá trình đoán nhận một xâu nào đó đối vối ôtôm

Trang 1

Chương 6

ÔTÔMAT HỮU HẠN ĐOÁN NHẬN BIỂU THỨC CHỈNH QUY

|1 ÔTÔMAT HỮU HẠN (FINITE AUTOMATA - FA)

Trang 2

2 Nếu h à m chuyển là ánh xạ ô: Q X ì -» 2Q, khi đó M được

gọi là ôtôtnat không đơn định (Nondeterministic Finite

Automata, viết t ắ t NDFA)

Ta có t h ể mô tả các bưốc làm việc của ôtômat hữu hạn

M = < I Q, ô q,„ F> khi cho xâu vào co = X! x2 x3 xn 6 E* như sau: Xâu vào 0) X, x2 xn_! xn

t

Q o - >

Khi bắt đầu l à m việc máy ở trạng thái đầu q0 và đầu đọc

đang nhìn vào ô có ký hiệu X, Tiếp theo máy chuyển từ trạng

thái q0 đuối tác động của ký hiệu vào X i về trạng thái mới

ô(q0.x,) = q, e Q và đầu đọc chuyển sang phải Ì ô, tức nhìn vào

ô có ký hiệu x2 Sau đó ôtômat M l ạ i tiếp tậc chuyển từ trạng thái q, nhờ h à m chuyển ô về trạng thái mói

không đoản nhận xâu co

Tập L(M) ={co/ co e ì* mà 5(q0, co) e F} được gọi là ngôn ngữ được đoán nhận bởi ôtômat M Tập trạng thái Q trong quá

trình tính toán được coi như là bộ nhớ của một ôtômat Vì Q là hữu hạn nên M được gọi là ôtômat hữu hạn

241

Trang 3

Nếu M = < I Q 5 q0 F> là ôtômat đơn định thì ô(q, Xj) là

một trạng thái trong Q, còn nếu nó là ôtômat không đơn định thì ô(qr Xj) là một tập các trạng thái trong Q

Ví dụ 1: Cho ôtômat đơn định M = <z Q ô, q„ F> vối

ì ={0 1}, Q={q,, q, q2 q.j} F = {q,,} trạng thái ban đầu là q,„ còn

hàm chuyển cho đuối dạng bảng:

Trang 4

Cho xâu vào (0= 110101

Quá trình hoạt động của ôtômat M diễn ra theo quá trình sau:

ô(q,;„ 1) = qi ô(q, 1) = q,j, ô(q,„ 0) = q2,

ỗ(q2 1) = q3 5(q, 0) = q, 5(q„ 1) = q„ e F

Diều đó chứng tỏ ôtômat M đoán nhận xâu 0) = 110101

Dãy trạng thái của M khi cho xâu vào co = 110101 được biểu diễn như sau:

Ví dụ 2: Cho ôtômat đơn định M = <s, Q 5, q,j F> vối

ì = {0.1' Q - {q,„ q, q2 q.í) q,, là trạng thái ban đầu còn

F = { q j là tập trạng thái kết thúc Hàm chuyển trạng thái được

Trạng thái Ký hiệu vào

Trang 5

Giả sử xét các xâu co, = 10110 co2 = no, C03 = 10011 Hỏi

rằng ôtômat M có đoán nhận các xâu đó hav không ?

a Dãy trạng thái của ôtômat M khi cho CO] vào là:

q0 -» q2 -> q„ -> q2 -> q3 -> q3 e F

Do đó ôtômat M đoán nhận x â u CO) = 10110

b Với xâu vào K>2 = no k h i đó dãy trạng thái M đối vối

xâu vào co2 sẽ là:

© 2 = 1 Ì 0

q:, -» q2 -> q3 -> q3 e F

và ôtômat cĩing đoán nhận xâu C 0 2 = no

c Vối xâu vào Cù 3 = 10011 Ta lập dãy trạng thái của

ôtômat M đối vói co3 như sau:

q,,-> q2 -> q,, -> q, -> q0 -> q2 « F

nên máy M không đoán nhận xâu vào 0 ) 3 = 10011

Từ các ví dụ trên ta thấy quá trình đoán nhận một xâu nào đó đối vối ôtômat M đơn định là quá trình biên đoi trạng thái cuối cùng của ôtômat có phải là trạng thái k ế t thúc hay không

Ta có thể mô tả quá trình đoán nhận x â u vào của ôtômat đơn định M như sau:

Thuật toán mô phỏng ôtômat hữu hạn đoán nhận xâu vào:

Đầu vào:

Trang 6

- M ộ t ô t ô m a t h ữ u h ạ n M với t r ạ n g t h á i ban đ ầ u q,i và t ậ p

C:= ký hiệu tiếp theo;

Trang 7

Sau đ â y là q u á t r ì n h đ o á n n h ậ n một x â u v à o của m á y M

Vì đ ố i với ô t ô m a t k h ô n g đ ơ n định t h ì h à m c h u y ể n 5 k h i

m á y ở t r ạ n g t h á i q v à t í n h i ệ u a là ô(q,a) c Q n ê n sẽ x u ấ t h i ệ n

t ì n h t r ạ n g rẽ n h á n h Đ ể cho t i ệ n ta có t h ể l ậ p d ã y t r ạ n g t h á i của m á y ứ n g v ố i x â u v à o d ư ớ i d ạ n g cây m à gốc của n ó là t r ạ n g

CO^OIOOI là x â u đ o á n n h ậ n được bởi m á y M

b) Phương pháp cho ôtômat bằng đồ thi chuyển

Cho ô t ô m a t h ữ u h ạ n M = < £ , Q, 5, q 0 , F> H à m c h u y ể n ô

có t h ể cho b ữ n g đồ t h ị c h u y ể n có hướng theo n g u y ê n tắc sau:

M ỗ i t r ạ n g t h á i q 6 Q là m ộ t đ ỉ n h của đồ t h ị N ê u a 6 ì và t ừ

Trang 8

trạng thái qi chuyển sang trạng thái qj do đẳng thức Ô(q;,a) = qj (đối vối DFA) thì sẽ có một cung có hướng t ừ đỉnh qi sang đỉnh

qj và trên cung đó được gán n h ã n a

Nêu ô(qj,a) = {qj , qj qj } đối vối ôtômat không đơn định thì từ q; sang qj q j2 qj có k cung g á n cùng một n h ã n a

Đỉnh vào của đồ thị chuyển là đỉnh ứng vói trạng thái ban đầu q,, Các đỉnh có các trạng thái k ế t thúc được khoanh vòng tròn hai lần Các đỉnh còn l ạ i khoanh bởi một vòng tròn

Ví dụ 4: Cho ôtômat đơn định M = < I , Q, 5, q0, F>,

ì = {0.1}, Q = {q0 q, q2 q3} F = {q0} h à m chuyển 5: Q X ì -> Q được cho dưới dạng đồ thì chuyển n h ư sau:

Ì

Ví dụ 5: Cho ôtômat không đơn định M = <s Q 5, q0 F>

ì ={0,1}, Q = {q,„ q,, q2 q3} F ={q2, q4 ỉ còn h à m chuyển 5: Q X E -> 2Q cho dưối dạng đồ t h ị

247

Trang 9

Đôi v ố i ô t ô m a t M ta đ ư a v à o k h á i n i ệ m "chuyên dịch A"

được định nghĩa n h ư sau:

H à m A - Closure(T) cho tập t r ạ n g t h á i đ ạ t được t ừ các

t r ạ n g t h á i s 6 T qua p h é p chuyển dịch A duv n h ấ t L ớ p T có t h ể

lấy t là phần tử trên cùng của stack ra;

for mỗi trạng thải mà có đường đi từ t đến u có nhãn do

if u không thuộc A -Closure(T) do

Trang 10

1.3 Sự tương đ ư ơ n g giữa ôtômat đơn định và k h ô n g đơn định

Theo định nghĩa của ôtômat đơn định M và ôtômat không đơn định N thì M cũng là N nên lốp các ngôn ngữ đoán nhận được bởi M cũng là lớp ngôn ngữ đoán nhận bởi N Ký hiệu các lớp ngôn ngữ được đoán nhận bởi M và N tương ứng là L(M)

và UN)

Định lý 1: Lốp ngôn ngữ đoán nhận được bởi ôtômat đơn

định trùng với lớp ngôn ngữ đoán nhận được bởi ôtômat không đơn định

249

Trang 11

Chứng minh:

Theo định nghĩa ôtômat đơn định và ôtômat không đớn định thì lớp ngôn ngữ đoán nhận được bởi ôtômat đơn định nằm trong lớp ngôn ngữ đoán nhận được bởi ôtômat không đơn định

Ta chứng minh bao hàm thức ngược l ạ i : Lớp ngôn ngữ đoán nhận được hỏi ôtômat không đơn định nằm trong lóp ngôn ngữ do ôtômat đơn định đoán nhận Thật vậy, giả sử p e ì" đoán nhận được bởi ôtômat không đơn định N = < I , Q ỗ, q0 F> hay p 6 L(N)

Ta xây dựng ôtômat đơn định M = <E\ Q\ ố', So, F'> đoán

nhận p như sau: r = I ; Q' = 2Q; s0={q0}; F'={U c Q / U n F * 0 Ị còn ố: Q ' x l -> Q' được xác định như sau:

Trang 12

H à m chuyển ố cho dưới dạng bảng chuyển như sau:

Ta có L(N) = L(M) hay N tương ứng vối M

Ví d ụ 7: Cho ôtômat không đơn định N = <z, Q, s, q0, F> với E = {a,b}, Q = {q0, q„ q,0}, F' = {q1 0}

A

Trong đồ thị chuyển trên thì A là xâu rỗng Ta xây dựng

ôtômat đơn định M như sau:

Trang 13

c - tai q2, q4, Qõ qe- q?}

D = {qi, q2 q4 Qs, Qo- q7 qg}

E = { q i , q2, Q4, qs, q«- q7, Qio} (có chứa trạng t h á i k ế t thúc

q ,0 của N) vối hàm chuyển cho đuối dạng bảng:

Trạng thái Ký hiệu vào

Thật vậy giả sử xét xâu vào là co = ababb

Ta chỉ ra rằng hai ôtômat N và M cùng đoán nhận xâu

co = ababb

ứng với xâu vào co là:

co = a b a b b

A - > B -> D -> B ^ D - > E e F

Trang 14

Vậy M đoán nhận xâu co

Đối vối N ta xây dựng cây đoán nhận xâu co = ababb như sau:

q,0 £ F n ê n N đoán nhận co = ababb

253

Trang 15

J2 NGÔN NGỮ CHÍNH QUY VÀ Biểu THỨC CHÍNH QUY

2.1 N g ô n ngữ c h í n h quy

G i ả sử X là b ả n g chữ h ữ u h ạ n k h ô n g rỗng L* là t ậ p t ấ t cả các x â u (kể cả x â u rỗng) được xây d ự n g t r ê n ì

a) Phép hợp: Cho h a i n g ô n n g ữ Eị, E2 t r ê u t ậ p ì , ta đ ị n h

nghĩa p h é p hợp E j <J E2 = {co I co e E j hoặc 05 e E2}

b) Phép nhăn: Cho h a i n g ô n n g ữ El, E2 t r ê n ì , p h é p n h â n

Trang 16

c) Không có ngôn ngữ chính quy nào khác trên ì ngoài các ngôn ngữ chính quy được định nghĩa trong các bưốc a) và b) ở trên

Thông thường để diễn đạt các ngôn ngữ chính quy người

ta đưa vào biểu thức chính quy

2.2 B i ể u thức c h í n h quy

Trên bảng X ta định nghĩa biểu thức chính quy theo các bước đệ quy sau đây:

a 0 là biểu thức chính quy, nó biểu diễn ngôn ngữ rỗng

b Nếu a 6 X thì a là biểu thức chính quy, nó biểu diễn ngôn ngữ {a}

c Nếu r s là hai biểu thức chính quy trên ì biểu diễn hai ngôn ngữ R và s tương ứng Khi đó:

(r) VJ (s) là biểu thức chính quy biểu diễn ngôn ngữ R VJ s

(r) (s) là biểu thức chính quy biểu diễn ngôn ngữ R s (r)' là biểu thức chính quy biểu diễn ngôn ngữ R+

Từ định nghĩa vê ngôn ngữ chính quy và biểu thức chính quy trên ì ta có:

Định lý 2: M ọ i ngôn ngữ chính quy trên bảng ì đều nhộn

được từ các ngôn ngữ hữu hạn bằng cách áp dụng một số hữu hạn l ầ n các phép toán hợp, phép nhân, phép lặp

Định lý 3 : Một ngôn ngữ trên ì là chính quy khi và chỉ

khi nó biểu diễn được bởi một biển thức chính quy

Chú ý: a) M ộ t ngôn ngữ chính quy là vô hạn khi và chỉ khi

biểu thức chính quy biểu diễn nó có dấu + (phép lặp)

b) Lóp t ấ t cả các ngôn ngữ chính quy trên E là lốp bé nhất chứa các tộp hữu hạn và đóng đôi vói các phép toán hợp, n h â n

và lặp

255

Trang 18

a) Đ ố i v ố i b i ể u thức c h í n h quy (s) u (r) ta x â y dựng

ô t ô m a t k h ô n g đ ơ n đ ị n h N đ o á n n h ậ n n g ô n n g ữ s U I R n h ư sau:

ỏ đ â y i là t r ạ n g t h á i b a n đ ầ u , f là t r ạ n g t h á i k ế t t h ú c của N v à

N n h ậ n được b ằ n g c á c h t ổ hợp h a i ô t ô m a t t h à n h p h ầ n N(s) v à N(r) theo sơ đồ b ả n g c h u y ể n t r ê n

b) Đôi v ễ i b i ể u t h ứ c c h í n h quy (s).(r) t h ì ô t ô m a t k h ô n g đơn

đ ị n h N đ o á n n h ậ n n g ô n n g ữ c h í n h quy S.R được cho d ư ễ i d ạ n g

b ả n g c h u y ể n sau đ â y :

S t a r t •0 N(s)<3 - N ( r ) — @

vói i là t r ạ n g t h á i b a n đ ầ u f là t r ạ n g t h á i k ế t t h ú c , N n h ậ n được t ừ N(s) v à N ( r ) b ằ n g cách l ấ y t r ạ n g t h á i ban đ ầ u của N(s)

l à m t r ạ n g t h á i b a n đ ầ u của N t r ạ n g t h á i k ế t t h ú c của N(r) l à m

t r ạ n g t h á i k ế t t h ú c của N v à đồng n h ấ t t r ạ n g t h á i k ế t t h ú c của N(s) vói t r ạ n g t h á i b a n đ ầ u của N(r)

c) Đ ố i v ố i b i ể n t h ứ c c h í n h quy ( r )+ b i ể u d i ễ n n g ô n n g ữ

c h í n h qtiy Rf t a x â y d ự n g ô t ô m a t k h ô n g đơn định N đ o á n n h ậ n R* theo b ả n g c h u y ể n đ u ố i đ â y :

257

Trang 20

T h ậ t v ậ y , g i ả sử M = <E, Q, ô, q0, F> là ô t ô m a t đ o á n n h ậ n

R K h i đó ô t ô m a t M ' =_<z Q,_ỗ, q,„ F'> với F' = Q \ F là ô t ô m a t

đ o á n n h ậ n n g ô n ngữ R, hay R là n g ô n ngữ c h í n h quy t r ê n X c) P h é p t o á n giao giữa hai n g ô n ngữ c h í n h quy R[ v à R2

Định nghĩa 3: V ă n p h ạ m G = < £ , A, ì, R> được gọi là v ă n

p h ạ m c h í n h quy suy rộng n ế u m ọ i quy tệc trong R đ ề u có d ạ n g

A -» aB, A -> a hoặc A -> A, ở đ â y A, B e A, a e I , A là k ý h i ệ u

x â u rỗng

D ễ d à n g n h ậ n t h ấ y r ằ n g :

Định lý 5 : Đôi v ố i v ă n p h ạ m c h í n h quy suy rộng G

bao giò cũng x â v dựng được v ă n p h ạ m c h í n h quy G' sao cho L(G') = L(G) \ ri

Định nghĩa 4: V ă n p h ạ m c h í n h quy suy rộng là v ă n

p h ạ m c h í n h quy m ẫ u n ê u n ó k h ô n g có quy tệc A —> a

Định lý 6 : Đôi v ố i v ă n p h ạ m c h í n h quy suy rộng có t h ể

xây dựng được v ă n p h ạ m c h í n h quy m ẫ u t ư ơ n g đ ư ơ n g v ố i nó

Trang 22

đ á n h d ấ u bởi k ý h i ệ u a, thì c h ú n g ta nói r ằ n g đường đã cho sinh

r a x â u a i a 2 a „

Đ ư ờ n g b ấ t k ỳ có độ d à i 0 theo đ ị n h nghĩa nó sinh ra

x â u A Rõ r à n g x â u X sinh ra bởi m ộ t đ ư ờ n g b ắ t đ ầ u t ừ đỉnh A

•và k ế t t h ú c ở đ ỉ n h B k h i và chỉ k h i A I = x B (ký h i ệ u I = nghĩa

là hoặc d ẫ n được t ừ A hoặc t r ù n g vói A )

C h ú n g ta gọi đ ư ờ n g Ao, À, A n là chu t r ì n h n ê u Ao = A n

v à là đ ư ờ n g đ ầ v đ ạ n ế u Ao = ì còn A„ là đ ỉ n h k ế t t h ú c (tức A„ —> A là m ộ t quy tắc t r o n g R cạa G)

T ừ các k h á i n i ệ m t r ê n t a suy ra: t ậ p d ẫ n x u ấ t đ ầ y đ ạ

t r o n g v ă n p h ạ m G v à t ậ p các đ ư ờ n g đ ầ y đ ạ t r o n g đ a đồ t h ị cạa

G có t ư ơ n g ứ n g 1-1 đồng t h ờ i x â u X e L(G) k h i v à chỉ k h i X

được s i n h ra bởi đ ư ờ n g đ ầ y đ ạ t r o n g đ a đồ t h ị cạa G

Chú ý: Đ ố i với v ă n p h ạ m c h í n h quv suv rộng k h ô n g p h ả i

là m ẫ u t h ì c ũ n g lý l u ậ n n h ư t r ê n ta x â y d ự n g được đồ h ì n h cạa

n ó

Ví dụ: Cho G = <z A ì, R> là v ă n p h ạ m c h í n h quy suy

rộng với R = {ì -> a i I -> aB B -> b B B - » b} Đồ h ì n h cạa G được x â y d ự n g n h ư san: đ ư a G v ề v ă n p h ạ m m ẫ u G' b ằ n g cách

t h a y quy tắc B —» b bởi 2 quy tắc B -> b K v à K -> A Đồ h ì n h cạa v ă n p h ạ m m ẫ u G' cũng là đồ h ì n h cạa G có d ạ n g dưới đây:

Trang 23

N ế u trong ôtômat M = < I Q, s q0 F> mà ỗ(q,a) = q' vối

q 6 Q a 6 E t h ì trong đồ h ì n h t ừ đ ỉ n h q đ ế n đ ỉ n h q' có một cung

v à t r ê n cung đó được g á n m ã a q„ là đ ỉ n h ban đ ầ u

Đ ỉ n h q cũng được gọi là đỉnh ban đ ầ u n ê u ứ n g v ố i nó ta có ô(q„ #) = q Các đ ỉ n h đ á n h d ấ u b ằ n g các t r ạ n g t h á i k ế t t h ú c gọi

là các đ ỉ n h k ế t t h ú c (# là ký h i ệ u b i ê n b ê n t r á i )

K h á i n i ệ m m ộ t x â u sinh ra bởi m ộ t đ ư ờ n g , k h á i n i ệ m chu

t r ì n h , k h á i n i ệ m đường đ ầ y đ ậ V V cũng được đ ị n h nghĩa n h ư

t r o n g đồ t h ị cậa v ă n p h ạ m ô t ô m a t suy rộng

Chú ý: T ừ đ ị n h nghĩa đồ h ì n h cậa ô t ô m a t h ữ u h ạ n ta suy

ra: m ộ t x â u sinh ra bởi đường đ ầ y đ ậ t r o n g đồ h ì n h cậa ô t ô m a t

k h i v à chỉ k h i x â u đó được đ o á n n h ậ n bởi ô t ô m a t đó Ngoài ra

ô t ô m a t đ o á n n h ậ n x â u rỗng k h i v à chỉ k h i giao giữa tập các

đ ỉ n h ban đ ầ u v à t ậ p các đỉnh k é t t h ú c t r o n g đồ h ì n h là k h á c rỗng

Trang 24

a) V i ế t đ ầ y đ ủ theo đ ị n h nghĩa của M

b) M là ô t ô m a t đ ơ n định hay k h ô n g đơn định ? Vì sao ? c) Đ ư a ô t ô m a t M vê d ạ n g đồ t h ị chuyển

d) K i ể m t r a l ạ i sự (toán n h ậ n của M đ ố i v ố i các x â u sau:

co, = 001110111000;

© 2 = 110111101111

Theo đ ị n h nghĩa L ( M ) = {co / ra e X * v à ơ(q0, 0) 6 F}

2 Ô t ô m a t M được cho dưới b ả n g chuyển n h ư sau:

T r ạ n g t h á i Ký h i ệ u v à o

a b {q.,q3} {qo.q.}

Trang 25

V ố i t r ạ n g t h á i b a n đ ầ u l à q„ c ò n t r ạ n g t h á i k ế t t h ú c l à

q 2 v à q 3

a) V i ế t đ ầ y đ ủ M d ư ớ i d ạ n g đ ị n h n g h ĩ a

b) M l à ô t ô m a t đ ơ n đ ị n h h a y k h ô n g đ ơ n đ ị n h ? V ì sao ? c) V i ế t M d ư ớ i d ạ n g đ ồ t h ị c h u y ể n

Trang 26

6 Bài toán 1: Xây d ự n g ô t ô m a t đơn định t ư ơ n g đương v ố i

ô t ô m a t k h ô n g đơn đ ị n h cho triíớc : Cho ô t ô m a t k h ô n g đơn

Trang 27

Bưốc 4 : F = {U / u c Q m à u r» F * 0 } ;

Bưốc 5 : ơ ' : Q' X ì * - ) Q' xác định theo công thức:

S'(U,x) = Uơ( q -X) v ớ i Ư e Q' và X e z

qeU

Với M ' xác định như trên ta có L(M') = L(M)

Áp dụng bài toán Ì hãy xây dựng các ôtômat đơn định tướng đương vối các ôtômat không đơn định được cho trong các trường hợp sau:

Trang 29

8 Thuật toán Thompson) xây dựng ôtôinat không đdn định từ một biểu thức chính quy

Trang 30

c) Ôtômat đoán nhận ngôn ngữ chính quy

10 (0 + 1)* là biển thức chính quy, chỉ định mọi xâu 0 và 1

a) Hãv xây dựng văn phạm phi ngữ cảnh G sao cho

Lưu ý: Biểu thức chính quy (0 + 1)* 00 (0 + 1)* chỉ định tập

tất cả các xâu 0 và 1 trong đó có chứa 00

12 Biểu thức (0 + 1)*011 chỉ định tập các xâu 0 và Ì kết thúc

bởi 011

Xây dựng ôtômat M đoán nhận ngôn ngữ chính quy trên

269

Trang 32

d) L ( M ) = LQAi) u L ( M2) u L ( M3) L ( M4) L ( M5) u L(M6)*

19 Cho c á c ô t ô m a t M1 ( M2, M2 t ư ơ n g ứ n g có đồ t h ị c h u y ể n là

a) T ì m L(Mi) (ì = Ì , 2, 3)

b) X â y d ự n g c á c v ă n p h ạ m Gi sao cho L(Gị) = L(Mị) (i - Ì , 2, 3)

Trang 33

20 Cho ô t ô m a t M i v à M2 dưới đây:

Xây dựng ô t ô m a t M sao cho

L(M) = (L(M,) u L ( M , ) L ( M2) u L ( M ọ ) Ỵ

Trang 34

và chường trình dịch

Trong quá trình dịch từ chương trình nguồn ra chương trình đích, người ta sử dậng cấu trúc cú pháp của văn phạm phi ngữ cảnh để phân tích các xâu vào Cấu trúc cú pháp của một xâu vào được xác định từ chuỗi các sản xuất suy từ xâu đó Dựa vào chuỗi các sản xuất đó, bộ phân tích cú pháp của chương trình dịch sẽ cho biết xâu vào đang xét có thuộc vào xâu do văn phạm phi ngữ cảnh sinh ra hay không Nói cách khác là vối xâu

vào 0) và một VPPNC G Hỏi rằng co e L(G) hay không? Nếu có thì hãy tìm cách biểu diễn Cừ bằng văn phạm, tức là tìm các quy

tắc sinh của VPPNC để sinh ra xâu co

273

Trang 35

ì 6 A là k ý h i ệ u p h ụ v à được gọi là k ý h i ệ u b a n đ ầ u ,

R là t ậ p các quy tắc sinh ( gọi t ắ t là quy t ắ c ) có d ạ n g :

R = {A-> 8 / A e A , 8 e ( I u A)*}

Đ ể dỊ d à n g cho việc d i Ị n đ ạ t các p h ầ n t i ế p theo t a đ ư a

v à o m ộ t sô quy ưốc sau:

Trang 36

n à o đ ó X â u X được gọi là k ế t q u ả của cây suy d ẫ n đ ầ y đ ủ , ta có

t h ể đ ị n h nghĩa c â y suy d ẫ n đ ầ y đ ủ n h ư sau:

s KJ { }) theo t h ứ t ự t ừ t r á i qua p h ả i ta sẽ n h ậ n được m ộ t x â u

n à o đó X â u đó là m ộ t p h ầ n t ử trong L(G) v à được gọi là k ế t

q u ả suy d ẫ n đ ầ y đ ủ của G

Ví dụ 1: Cho v ă n p h ạ m p h i n g ữ c ả n h G = <L, A, ì, R>,

I = { a , bi A = {ì, A} v à R={ I - > l a , I -> Aa, I -> aAb, ì -> ab}

275

Trang 37

Cây suy d â n đây đủ của x â u a"b n a m là cây dưối đây:

Ví dụ 2: Cho v ă n phạm phi ngữ cảnh G = < I , A, ì , R>,

L—{ai, a 2 , &n},

A = {1} và R={ I-> ala, I -> aa}, a 6 z

Cho (ừ - 8^2 an , ta ký hiệu cô = a n a n _, a 2 a!

Trang 39

1.3 Sự n h ậ p n h ằ n g t r o n g n g ô n n g ữ p h i ngữ c ả n h

Cho văn phạm phi ngữ cảnh G = < I , A ì, R>, ta nói văn

phạm G là nhập nhằng nếu tồn t ạ i một x â u 0) là k ế t quả của

hai cây suy dẫn đầy đủ khác nhau trong G

Ngôn ngữ do văn phạm G sinh ra là ngôn ngữ nhập nhằng nếu G là văn phạm nhập nhằng

Ví dụ 4: Cho văn phạm phi ngữ cảnh G = < I , A, ì R>,

!={+ a, *}, A = {í}, R={ I-> I + I ì -> 1*1 , ì -> a},

ở đây ký hiệu + là phép cộng, * là phép nhân

Xâu a + a * a là kết quả của cây suy dẫn đầy đủ (thực hiện phép * trưốc)

Trang 40

p h á p k h á c nhau M ỗ i một cây là một cách phân tích cú pháp Văn phạm trong ví dụ này là văn phạm phi ngữ cảnh nhập nhằng

12 GIẢN LƯỢC CÁC VĂN PHẠM PHI NGỮ CẢNH

Trong một v ă n phạm thì ngữ cảnh có thể có nhiều yêu t ố thừa, ví dụ có những ký hiệu không hê tham gia vào quá trình

279

Ngày đăng: 19/10/2016, 17:01

HÌNH ẢNH LIÊN QUAN

51. Đồ thị hữu hạn 71 - giao trinh toan roi rac 2
51. Đồ thị hữu hạn 71 (Trang 215)

TỪ KHÓA LIÊN QUAN