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 (313.79 KB, 18 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
Trang 1
Lý thuyết Ơtơmát & NNHT - Khoa Cơng NghệThơng Tin
Chuỗi trống đóng một vai trị khá đặc biệt trong nhiều định lý
và chứng minh, và thường cần có một sựchú ý đặc biệt cho nó.
Nếu L∋ λthì biểu diễn L= L<sub>1</sub>∪{λ} với L<sub>1</sub>= L– {λ}. Nếu
<i>G</i><sub>1</sub>= (V<sub>1</sub>, T, S<sub>1</sub>, P<sub>1</sub>)
là văn phạm biểu diễn cho L<sub>1</sub>thì
<i>G</i>= (V<sub>1</sub>∪{<i>S</i>}, T, S, P<sub>1</sub>∪{<i>S</i>→<i>S</i><sub>1</sub>| λ})
là văn phạm biểu diễn cho L.
Trong chương này, chúng ta chỉ xem xét các NNPNC khơng
chứa λ.
Trang 3
Lý thuyết Ơtơmát & NNHT - Khoa Công NghệThông Tin
Cho G= (V, T, S, P) là một VPPNC. Giảsử<i>P</i>có chứa luật sinh
<i>A</i>→<i>x</i>1<i>Bx</i>2
trong đó<i>A, B</i>là các biến khác nhau và
<i>B</i>→<i>y</i><sub>1</sub>| <i>y</i><sub>2</sub>| ... | <i>y<sub>n</sub></i>
là tập tất cảcác luật sinh trong Pmà có<i>B</i>ởvếtrái.
Cho G<sub>1</sub>= (V, T, S, P<sub>1</sub>) là VP được xây dựng bằng cách xóa đi
<i>A</i>→<i>x</i><sub>1</sub><i>Bx</i><sub>2</sub>
từ<i>P, và thêm vào nó</i>
<i>A</i>→<i>x</i><sub>1</sub><i>y</i><sub>1</sub><i>x</i><sub>2</sub>| <i>x</i><sub>1</sub><i>y</i><sub>2</sub><i>x</i><sub>2</sub>| ... | <i>x</i><sub>1</sub><i>y<sub>n</sub>x</i><sub>2</sub>
Thì
<i>L</i>(<i>G</i>) = <i>L</i>(<i>G</i><sub>1</sub>)
Xét văn phạm G= ({A, B}, {a, b}, A, P) với các luật sinh
<i>A</i>→<i>a</i>| aA| bBc,
<i>B</i>→<i>abA</i>| b.
Sau khi thay thếbiến Bta nhận được VP tương đương như sau
<i>A</i>→<i>a</i>| aA| b<i>abAc</i>| b<i>bc,</i>
<i>B</i>→<i>abA</i>| b
Chuỗi abbccó các dẫn xuất trong Gvà<i>G</i><sub>1</sub>lần lượt như sau:
<i>A</i>⇒<i>aA</i>⇒<i>abBc</i>⇒<i>abbc</i>
<i>A</i>⇒<i>aA</i>⇒<i>abbc</i>
Trang 5
Lý thuyết Ơtơmát & NNHT - Khoa Cơng NghệThông Tin
Cho G= (V, T, S, P) là một VPPNC. Chia tập các luật sinh mà
vếtrái của chúng là một biến đã cho nào đó (chẳng hạn là<i>A), </i>
thành hai tập con riêng biệt
<i>A</i>→<i>Ax</i><sub>1</sub>| <i>Ax</i><sub>2</sub>| ... | <i>Ax<sub>n</sub></i> (6.2)
<i>A</i>→<i>y</i>1| <i>y</i>2| ... | <i>ym</i> (6.3)
với x<i><sub>i</sub></i>, y<i><sub>i</sub></i>∈(V ∪<i>T)*, vàA</i>không là prefix của bất kỳ<i>y<sub>i</sub></i>nào.
Xét G<sub>1</sub>= (V ∪{Z}, T, S, P<sub>1</sub>), trong đó<i>Z</i>∉<i>V</i>và<i>P</i><sub>1</sub>nhận được
bằng cách thay mọi luật sinh của Pcó dạng (6.2 ) và (6.3) bởi
<i>A</i>→<i>yi</i>| <i>yiZ</i>, <i>i</i>= 1, 2, . . . , <i>m</i>,
<i>Z</i>→<i>x<sub>i</sub></i>| <i>x<sub>i</sub>Z</i>, <i>i</i>= 1, 2, . . . , <i>n</i>,
Thì
<i>L(G) = L(G</i><sub>1</sub>).
Các dạng câu mà<i>A sinh ra trong v</i>ăn phạm Gcó dạng:
<i>A</i> <i>A(x</i><sub>1</sub>+ x<sub>2</sub>+ ... + x<i><sub>n</sub></i>)* ⇒<i>y<sub>i</sub></i>(x<sub>1</sub>+ x<sub>2</sub>+ ... + x<i><sub>n</sub></i>)*
Các dạng câu này cũng có thểđược sinh ra trong G<sub>1</sub>bằng cách
chú ý Z có thểsinh ra các dạng câu có dạng
<i>Z</i> (x<sub>1</sub>+ x<sub>2</sub>+ ... + x<i><sub>n</sub></i>)(x<sub>1</sub>+ x<sub>2</sub>+ ... + x<i><sub>n</sub></i>)*
mà<i>A</i>→<i>y<sub>i</sub></i>| y<i><sub>i</sub>Z</i>nên
<i>A</i> <i>y<sub>i</sub></i>(x<sub>1</sub>+ x<sub>2</sub>+ ... + x<i><sub>n</sub></i>)*
Vì vậy L(G) = L(G<sub>1</sub>).
Các luật sinh đệqui-trái chỉlà một trường hợp đặc biệt của đệ
qui-trái trong văn phạm nhưđược phát biểu sau.
Một văn phạm được gọi là đệqui-trái nếu có một biến Anào đó
mà đối với nó<i>A</i> <i>Ax</i>là có thể.
*
*
⇒
*
⇒
*
Trang 7
Lý thuyết Ơtơmát & NNHT - Khoa Cơng NghệThơng Tin
Sửdụng Định lý 6.2 đểloại bỏcác luật sinh đệqui-trái khỏi VP
<i>A</i>→<i>Aa</i>| aBc| λ <i>B</i>→<i>Bb</i>| ba
Áp dụng định lý cho biến A ta được tập luật sinh mới như sau:
<i>A</i>→<i>aB</i>c | λ| <i>aBcZ</i>| <i>Z</i> <i>B</i>→<i>Bb</i>| ba
<i>Z</i>→<i>a</i>| <i>aZ</i>
Áp dụng định lý một lần nữa lần này cho biến B ta được tập
luật sinh kết quảcuối cùng như sau:
<i>A</i>→<i>aBc</i>| aBcZ| Z| λ <i>B</i>→<i>ba</i>| <i>baY</i>
<i>Z</i>→<i>a</i>| aZ <i>Y</i>→<i>b</i>| <i>bY</i>
Việc loại bỏcác luật sinh đệqui-trái đưa ra các biến mới. VP
kết quảcó thểlà "đơn giản" hơn đáng kểso với VP gốc nhưng
một cách tổng quát nó sẽcó nhiều biến và luật sinh hơn.
Cho G= (V, T, S, P) là một VPPNC. Một biến A∈<i>V </i>được gọi
là<b>khảdụng n</b>ếu và chỉnếu có ít nhất một chuỗi w∈<i>L(G) sao </i>
cho <i>S</i> <i>xAy</i> <i>w,</i>
với x, y∈(V∪<i>T)*. B</i>ằng lời, một biến là khảdụng nếu và chỉ
nếu nó xuất hiện trong ít nhất một dẫn xuất. Một biến mà khơng
khảdụng thì gọi là<b>vơ dụng.</b>Một luật sinh được gọi là vơ dụng
nếu nó có chứa bất kỳbiến vơ dụng nào.
Vô dụng loại 1: A <i>w</i>∈<i>T*</i>
Vô dụng loại 2: S <i>xAy</i>
Trang 9
Lý thuyết Ơtơmát & NNHT - Khoa Công NghệThông Tin
Cho G= (V, T, S, P) là một VPPNC, ∃một VP tương đương G<sub>0</sub>
= (V<sub>0</sub>, T, S, P<sub>0</sub>) mà không chứa bất kỳbiến vô dụng nào.
Loại bỏcác biến và luật sinh vô dụng loại 1
Tạo văn phạm G<sub>1</sub>= (V<sub>1</sub>, T, S, P<sub>1</sub>) với V<sub>1</sub>là tập biến không vô
dụng loại 1. Ta tìm V<sub>1</sub> như sau:
1. Khởi tạo V<sub>1</sub>= ∅.
2. Lặp lại bước sau cho đến khi khơng cịn biến nào được thêm
vào V<sub>1</sub>.
Đối với mỗi <i>A</i>∈<i>V</i>mà có luật sinh <i>A</i>→<i>x</i>, <i>x</i>∈<b>(</b><i><b>V</b></i><b><sub>1</sub></b>∪<i><b>T</b></i><b>)*</b>,
thì thêm <i>A</i>vào <i>V</i><sub>1</sub>.
3. Loại khỏi Pcác luật sinh có chứa các biến ∉<i>V</i>1, ta được P1.
Đểloại tiếp các biến và các luật sinh vô dụng loại 2 ta dựa vào
<i>G</i><sub>1</sub>vừa cóởtrên và vẽđồthịphụthuộc cho nó, sau đó tìm tập
các biến khơng đạt tới được từ<i>S. Lo</i>ại các biến này và các luật
sinh liên quan đến nó ra khỏi G<sub>1</sub> ta được văn phạm kết quả<i>G</i><sub>0</sub>.
Là một đồthịcó các đỉnh biểu diễn các biến, còn một cạnh nối
hai đỉnh Avà<i>B</i>khi và chỉkhi có luật sinh dạng
<i>A</i>→<i>xBy</i>
Loại bỏcác biến và các luật sinh vô dụng ra khỏi văn phạm
<i>G</i>= ({S, A, B, C}, {a, b}, S, P), với tập luật sinh Plà:
<i>S →aS | A | C</i> <i>B →aa</i>
<i>A →a</i> <i>C →aCb</i>
Trang 11
Lý thuyết Ơtơmát & NNHT - Khoa Cơng NghệThơng Tin
Loại bỏcác biến vô dụng loại 1 ta được
<i>V</i><sub>1</sub>= {<i>S</i>, <i>A</i>, <i>B</i>}và tập luật sinh P<sub>1</sub>
<i>S</i>→<i>aS </i>| <i>A</i>
<i>A</i>→<i>a</i>
<i>B</i>→<i>aa</i>
Loại bỏcác biến vô dụng loại 2 ta được
văn phạm kết quả
<i>S</i>→<i>aS </i>| <i>A</i>
<i>A</i>→<i>a</i>
Nếu thay đổi thứtựloại bỏ(loại bỏcác biến và luật sinh vơ
dụng loại 2 trước) thì sẽkhơng loại bỏđược tất cảcác biến và
luật sinh vô dụng chỉbằng một lần như ví dụsau cho thấy.
<i>S </i>→<i>aS | A | C</i>
<i>A </i>→<i>a</i>
<i>B </i>→<i>aa</i>
<i>C </i>→<i>aCb</i>
<b>S</b> <b>A</b> <b>B</b>
Xét văn phạm sau
<i>S</i>→<i>aSb | ab | A</i>
<i>A</i>→<i>aAB</i>
<i>B</i>→<i>b</i>
Nếu loại bỏcác biến và luật sinh vô dụng loại 2 trước ta thấy
văn phạm vẫn khơng thay đổi vì tất cảcác biến đều đạt tới được
từ<i>S. Sau </i>đó loại bỏtiếp các biến và luật sinh vô dụng loại 1 ta
sẽđược văn phạm sau:
<i>S</i>→<i>aSb | ab | A</i>
<i>B</i>→<i>b</i>
Trang 13
Lý thuyết Ơtơmát & NNHT - Khoa Cơng NghệThông Tin
Bất kỳluật sinh nào của VPPNC có dạng
<i>A</i>→λ
được gọi là luật sinh-λ. Bất kỳbiến Anào mà
<i>A</i> λ
là có thểthì được gọi là khảtrống (nullable).
Cho Glà một VPPNC bất kỳmà<i>L(G) khơng ch</i>ứa λ, thì tồn tại
<b>Bước 1</b>
Tìm tập V<i><sub>N</sub></i>tất cảcác biến khảtrống của Gbằng các bước sau.
2. Lặp lại bước sau cho đến khi khơng cịn biến nào được thêm
vào V<i><sub>N</sub></i>.
Đối với mọi luật sinh <i>B</i>→<i>A</i><sub>1</sub><i>A</i><sub>2</sub>…<i>A<sub>n</sub></i>, mà<i>A</i><sub>1</sub>, <i>A</i><sub>2</sub>, <i>A<sub>n</sub></i>∈<i>V<sub>N</sub></i>
thì đặt <i>B</i>vào <i>V<sub>N</sub></i>.
<b>Bước 2</b>
Sau khi có tập V<i><sub>N</sub></i>ta xây dựng tập luật sinh như sau.
Ứng với mỗi luật sinh có dạng A→<i>x</i><sub>1</sub><i>x</i><sub>2</sub>…<i>x<sub>m</sub></i>, m≥ 1, trong đó
mỗi x<i>i</i>∈<i>V</i>∪<i>T, </i>đặt luật sinh này vào cùng với các luật sinh
Trang 15
Lý thuyết Ơtơmát & NNHT - Khoa Công NghệThông Tin
Loại bỏcác luật sinh-λcủa văn phạm sau:
<i>S</i>→<i>ABaC</i> <i>C</i>→<i>D | λ</i>
<i>A</i>→<i>BC</i> <i>D</i>→<i>d</i>
<i>B</i>→<i>b | λ</i>
Vì<i>B</i>→λvà<i>C</i>→λsuy ra Bvà<i>C</i>là các biến khảtrống.
Vì<i>A</i>→<i>BC</i>nên suy ra Acũng là biến khảtrống. Ngồi ra
khơng cịn biến nào khác là khảtrống.
Theo Bước 2 ta xây dựng được tập luật sinh mới tương đương
như sau:
<i>S</i>→<i>ABaC | BaC | AaC | ABa | aC | Aa | Ba | a</i>
<i>A</i>→<i>BC | B | C</i>
<i>B</i>→<i>b</i>
<i>C</i>→<i>D</i>
<i>D</i>→<i>d</i>
Bất kỳluật sinh nào của VPPNC có dạng
<i>A</i>→<i>B</i>
trong đó<i>A, B</i>∈<i>V </i>được gọi là luật sinh-đơn vị.
Cho G= (V, T, S, P) là một VPPNC bất kỳkhông có luật
sinh-λ, thì tồn tại một VPPNC G1= (V1, T, S, P1) mà khơng có bất
kỳluật sinh đơn vịnào và tương đương với G<sub>1</sub>.
1. Đặt vào trong P<sub>1</sub>tất cảcác luật sinh không đơn vịcủa P.
2. Đối với mỗi biến Atìm tất cảcác biến Bmà<i>A</i> <i>B</i>(*)
Điều này thực hiện bằng cách vẽđồthịphụthuộc cho <i>G</i> nhưng một cạnh
nối 2 đỉnh <i>A</i>và<i>B</i>khi và chỉkhi có luật sinh-đơn vị<i>A</i>→<i>B</i>. Hai biến <i>A</i>và
Trang 17
Lý thuyết Ơtơmát & NNHT - Khoa Cơng NghệThơng Tin
3. Đối với mỗi A, Bthõa (*) thêm vào trong P<sub>1</sub>các luật sinh
<i>A</i>→<i>y</i><sub>1</sub>| y<sub>2</sub>| ... | y<i><sub>n</sub></i>
với B→<i>y</i><sub>1</sub>| y<sub>2</sub>| ... | y<i><sub>n</sub></i>là các luật sinh khơng đơn vịcủa B.
Loại bỏcác luật sinh đơn vị
cho VP sau
<i>S</i>→<i>Aa | B</i>
<i>B</i>→<i>A | bb</i>
<i>A</i>→<i>a | bc | B</i>
Trước hết, đặt các luật sinh
không đơn vịvào trong P1
<i>S</i>→<i>Aa</i>
<i>A</i>→<i>a </i>| <i>bc</i>
<i>B</i>→<i>bb</i>
<i>S</i> <i>A</i> <i>B</i>
TừĐTPT ta đưa được thêm các
luật sinh sau vào
<i>S</i>→<i>a </i>| <i>bc </i>| <i>bb</i>
<i>A</i>→<i>bb</i>
<i>B</i>→<i>a </i>| <i>bc</i>
Kết quảta có văn phạm tương đương sau khơng có luật sinh
đơn vị
<i>S</i>→<i>Aa </i>| <i>a </i>| <i>bc </i>| <i>bb</i>
<i>A</i>→<i>a </i>| <i>bc </i>| <i>bb</i>
<i>B</i>→<i>bb </i>| <i>a </i>| <i>bc</i>
Cho Llà một NNPNC không chứa λ, tồn tại một VPPNC sinh
ra Lmà không chứa bất kỳluật sinh vô dụng, luật sinh-λ, hay
luật sinh-đơn vịnào.
B1. Loại bỏluật sinh-λ
B2. Loại bỏluật sinh đơn vị
Trang 19
Lý thuyết Ơtơmát & NNHT - Khoa Công NghệThông Tin
1.Loại bỏbiến vô dụng loại 1 có thểsinh ra biến vơ dụng loại 2.
2.Việc loại bỏbiến vô dụng loại 2 không sinh ra biến vô dụng
loại 1.
3.Văn phạm khơng có luật sinh đơn vịthì việc loại bỏluật sinh-λ
có thểsinh ra luật sinh-đơn vị.
4.Văn phạm khơng có luật sinh-λthì việc loại bỏluật sinh-đơn vị
khơng thểsinh ra luật sinh-λmới.
5.Loại bỏluật sinh-λcó thểsinh ra biến vơ dụng loại 1.
6.Loại bỏluật sinh-đơn vịcó thểsinh ra biến vơ dụng loại 2.
các luật sinh vô dụng loại 1, loại 2 không sinh ra thêm bất kỳ
luật sinh-λvà luật sinh-đơn vịnào mới.
Một VPPNC là thuộc dạng chuẩn Chomsky nếu mọi luật sinh
có dạng
<i>A</i>→<i>BC, ho</i>ặc
<i>A</i>→<i>a</i>
trong đó<i>A, B, C</i>∈<i>V, cịn a</i>∈<i>T.</i>
Bất kỳVPPNC G= (V, T, S, P) nào với λ ∉<i>L(G) </i>đều có một
văn phạm tương đương G<sub>1</sub>= (V<sub>1</sub>, T, S, P<sub>1</sub>) có dạng chuẩn
Chomsky.
Trang 21
Lý thuyết Ơtơmát & NNHT - Khoa Cơng NghệThơng Tin
<b>Input: G</b>= (V, T, S, P) với λ ∉<i>L(G)</i>
<b>Output: G</b><sub>1</sub>= (V<sub>1</sub>, T, S, P<sub>1</sub>) có dạng chuẩn Chomsky.
1.Đặt các luật sinh A→<i>a</i>vào P<sub>1</sub>.
2.Đối với các luật sinh A→<i>x</i><sub>1</sub><i>x</i><sub>2</sub>... x<i><sub>n</sub></i>với n≥2, x<i><sub>i</sub></i>∈(V∪<i>T) thì</i>
thay các kí hiệu kết thúc, chẳng hạn x<i><sub>k</sub></i>= a, bằng các biến đại
diện mới B<i><sub>a</sub></i>, tạo thành các luật sinh trung gian A→<i>C</i><sub>1</sub><i>C</i><sub>2</sub>...C<i><sub>n</sub></i>.
3.Ứng với mỗi biến đại diện B<i><sub>a</sub></i>đặt vào P<sub>1</sub>các luật sinh B<i><sub>a</sub></i>→<i>a.</i>
4.Sau khi thực hiện bước 2, ứng với mỗi luật sinh A→<i>C</i><sub>1</sub><i>C</i><sub>2</sub>...
<i>C<sub>n</sub></i>mà<i>n = 2 </i>đặt nó vào P<sub>1</sub>. Ngược lại ứng với n> 2 ta giới thiệu
các biến mới D<sub>1</sub>, D<sub>2</sub>, ... và đưa vào các luật sinh sau:
<i>A</i> → <i>C</i><sub>1</sub><i>D</i><sub>1</sub>
<i>D</i><sub>1</sub> → <i>D</i><sub>1</sub><i>D</i><sub>2</sub>
<i>D<sub>n</sub></i><sub>-2</sub> →
Hãy biến đổi VP sau thành VP có dạng chuẩn Chomsky.
<i>S</i>→<i>a | ABa</i>
<i>A</i>→<i>aab</i>
<i>B</i>→<i>b | Ac</i>
<i>S</i>→<i>a</i>
<i>B</i>→<i>b</i>
<i>S</i>→<i>ABX<sub>a</sub></i>
<i>A</i>→<i>X<sub>a</sub>X<sub>a</sub>X<sub>b</sub></i>
<i>S</i> →<i>AD</i><sub>1</sub>
<i>D</i><sub>1</sub>→<i>BX<sub>a</sub></i>
<i>A</i> →<i>X<sub>a</sub>D</i><sub>2</sub>
<i>D</i><sub>2</sub>→<i>X<sub>a</sub>X<sub>b</sub></i>
Bước 2
Bước 1
B<sub>ướ</sub>
c 3
Bước 4
<i>S</i> →<i>a</i>|<i>AD</i>1
<i>D</i><sub>1</sub>→<i>BX<sub>a</sub></i>
<i>A</i> →<i>X<sub>a</sub>D</i><sub>2</sub>
<i>D</i><sub>2</sub>→<i>X<sub>a</sub>X<sub>b</sub></i>
<i>B</i> →<i>b </i>|<i>AX<sub>c</sub></i>
<i>X<sub>a</sub></i>→<i>a</i>
<i>X<sub>b</sub></i>→<i>b</i>
Trang 23
Lý thuyết Ơtơmát & NNHT - Khoa Công NghệThông Tin
Một VPPNC là thuộc dạng chuẩn Greibach nếu mọi luật sinh
có dạng
<i>A</i>→<i>ax</i>
trong đó<i>a</i>∈<i>T</i>cịn x∈<i>V*.</i>
Đối với mọi VPPNC Gvới λ ∉<i>L(G), thì t</i>ồn tại một văn phạm
tương đương trong dạng chuẩn Greibach.
Không mất tính tổng qt giảsử<i>G</i>khơng có luật sinh-vơ dụng,
luật sinh-đơn vịvà luật sinh-λ. Ta xây dựng văn phạm có dạng
chuẩn Greibach bằng thủtục sau.
<b>Input: G</b>= (V, T, S, P) với λ ∉<i>L(G)</i>
<b>Output: G</b><sub>1</sub>= (V<sub>1</sub>, T, S, P<sub>1</sub>) có dạng chuẩn Greibach.
1.Đánh sốthứtựcho các biến chẳng hạn là<i>A</i><sub>1</sub>,<i>A</i><sub>2</sub>, . . .<i>A<sub>n</sub></i>.
2.Dùng Định lý 6.1 và 6.2 đểviết lại VP sao cho các luật sinh có
một trong ba dạng sau
Điều này thực hiện được bằng cách sửdụng Định lý 6.1 và 6.2
cho các biến A<i><sub>i</sub></i>theo thứtự<i>i </i>đi từ 1, 2, ... đến n như sau.
Giảsửxét luật sinh của biến A<i><sub>i</sub></i>. Nếu có luật sinh A<i><sub>i</sub></i>→<i>A<sub>j</sub>x</i>mà<i>i</i>
> jthì<i>thay Aj đi đầu</i>bằng các vếphải của nó, và làm cho đến
khi các luật sinh của A<i><sub>i</sub></i>có dạng A<i><sub>i</sub></i>→<i>A<sub>j</sub>x, i ≤j. </i>Đến đây loại đệ
qui trái cho A<i><sub>i</sub></i>thì các luật sinh của nó sẽcó dạng nhưđã nêu.
<i>a</i>∈<i>T</i>và<i>x<sub>i</sub></i>∈(V∪<i>T)*</i>
<i>Z<sub>i</sub></i>là các biến mới
<i>Ai</i>→<i>Ajxj</i>, <i>i</i>< <i>j</i>
Trang 25
Lý thuyết Ôtômát & NNHT - Khoa Công NghệThông Tin
3.Sau khi thực hiện bước 2, tất cảcác luật sinh của A<i><sub>n</sub></i>phải có
dạng <i>An</i>→<i>axn</i>
<i>Thay A<sub>n</sub> đi đầu vếphải của các luật sinh</i>bằng các vếphải của
nó. Kết quảcác luật sinh của A<i><sub>n</sub></i><sub>-1</sub>có dạng
<i>A<sub>n</sub></i><sub>-1</sub>→<i>ax<sub>n</sub></i><sub>-1</sub>
Tương tựthay thế<i>A<sub>n-</sub></i><sub>1</sub><i> đi đầu vếphải của các luật sinh</i>bằng
các vếphải của nó. Và thực hiện lần lượt cho đến A<sub>1</sub>.
4.Thay các kí hiệu kết thúc, chẳng hạn a, không đi đầu vếphải
bằng các biến đại diện, chẳng hạn X<i><sub>a</sub></i>,đồng thời thêm vào các
luật sinh mới X<i><sub>a</sub></i>→<i>a.</i>
Biến đổi VP sau thành VP
có dạng chuẩn Greibach
<i>S</i>→<i>SBb </i>| <i>Ab</i>
<i>A </i>→<i>Sb </i>| <i>Ba </i>
<i>B</i>→<i>Sa </i>| <i>b</i>
<i>S</i>→<i>SBb </i>| <i>Ab</i>
<i>A </i>→<i>Sb </i>| <i>Ba </i>
<i>B</i>→<i>Sa </i>| <i>b</i>
<i>B</i><sub>2</sub>→<i>S</i><sub>0</sub><i>a </i>| <i>b</i>
<i>S</i><sub>0</sub>→<i>A</i><sub>1</sub><i>b | A</i><sub>1</sub><i>bZ</i><sub>0</sub> (1)
<i>Z</i><sub>0</sub>→<i>B</i><sub>2</sub><i>b | B</i><sub>2</sub><i>bZ</i><sub>0</sub> (2)
<i>A</i><sub>1</sub>→<i>A</i><sub>1</sub><i>bb </i>| <i>A</i><sub>1</sub><i>bZ</i><sub>0</sub><i>b </i>| <i>B</i><sub>2</sub><i>a</i>
<i>B</i><sub>2</sub>→<i>B</i><sub>2</sub><i>aba </i>| <i>B</i><sub>2</sub><i>aZ</i><sub>1</sub><i>ba </i>| <i>B</i><sub>2</sub><i>abZ</i><sub>0</sub><i>a </i>|
<i>B</i>2<i>aZ</i>1<i>bZ</i>0<i>a </i>| <i>b</i>
<i>B</i><sub>2</sub>→<i>A</i><sub>1</sub><i>ba </i>| <i>A</i><sub>1</sub><i>bZ</i><sub>0</sub><i>a </i>| <i>b</i>
<i>Z</i><sub>2</sub>→<i>aba </i>| <i>aZ</i><sub>1</sub><i>ba </i>| <i>abZ</i><sub>0</sub><i>a </i>|
<i>aZ</i><sub>1</sub><i>bZ</i><sub>0</sub><i>a </i>| <i>abaZ</i><sub>2</sub>| <i>aZ</i><sub>1</sub><i>baZ</i><sub>2</sub>|
<i>abZ</i> <i>aZ</i> | <i>aZ</i> <i>bZ</i> <i>aZ</i> (6)
<i>S</i><sub>0</sub>→<i>S</i><sub>0</sub><i>B</i><sub>2</sub><i>b </i>| <i>A</i><sub>1</sub><i>b</i>
<i>A</i><sub>1</sub>→<i>S</i><sub>0</sub><i>b </i>| <i>B</i><sub>2</sub><i>a </i>
Loại đệqui trái
Thay thế
Loại đệqui trái
Thay thế
Loại đệqui trái
Thay thế
Trang 27
Lý thuyết Ơtơmát & NNHT - Khoa Cơng NghệThơng Tin
<i>S</i><sub>0</sub>→<i>A</i><sub>1</sub><i>b | A</i><sub>1</sub><i>bZ</i><sub>0</sub> (1)
<i>B</i><sub>2</sub>→<i>b </i>| <i>bZ</i><sub>3</sub> (5)
Thay thế
<i>S</i><sub>0</sub>→<i>bab </i>| <i>bZ</i><sub>2</sub><i>ab </i>| <i>baZ</i><sub>1</sub><i>b </i>|
<i>bZ</i><sub>2</sub><i>aZ</i><sub>1</sub><i>b </i>| <i>babZ</i><sub>0</sub>| <i>bZ</i><sub>2</sub><i>abZ</i><sub>0</sub>|
<i>baZ</i><sub>1</sub><i>bZ</i><sub>0</sub>| <i>bZ</i><sub>2</sub><i>aZ</i><sub>1</sub><i>bZ</i><sub>0</sub> (8)
<i>Z</i><sub>0</sub>→<i>bb </i>| <i>bZ</i><sub>2</sub><i>b </i>| <i>bbZ</i><sub>0</sub>|<i>bZ</i><sub>2</sub><i>bZ</i><sub>0</sub>(9)
<i>Z</i><sub>0</sub>→<i>B</i><sub>2</sub><i>b | B</i><sub>2</sub><i>bZ</i><sub>0</sub> (2)
Thay thế
Thay thế
<i>A</i><sub>1</sub>→<i>B</i><sub>2</sub><i>a </i>| <i>B</i><sub>2</sub><i>aZ</i><sub>1</sub> (3) <i>A</i><sub>1</sub>→<i>ba </i>| <i>bZ</i><sub>2</sub><i>a </i>| <i>baZ</i><sub>1</sub>|<i>bZ</i><sub>2</sub><i>aZ</i><sub>1</sub>(7)
<i>S</i><sub>0</sub>→<i>bab </i>| <i>bZ</i><sub>2</sub><i>ab </i>| <i>baZ</i><sub>1</sub><i>b </i>| <i>bZ</i><sub>2</sub><i>aZ</i><sub>1</sub><i>b </i>| <i>babZ</i><sub>0</sub>| <i>bZ</i><sub>2</sub><i>abZ</i><sub>0</sub>| <i>baZ</i><sub>1</sub><i>bZ</i><sub>0</sub>| <i>bZ</i><sub>2</sub><i>aZ</i><sub>1</sub><i>bZ</i><sub>0</sub>(8)
<i>A</i><sub>1</sub>→<i>ba </i>| <i>bZ</i><sub>2</sub><i>a </i>| <i>baZ</i><sub>1</sub>|<i>bZ</i><sub>2</sub><i>aZ</i><sub>1</sub> (7)
<i>B</i><sub>2</sub>→<i>b </i>| <i>bZ</i><sub>3</sub> (5)
<i>Z</i><sub>0</sub>→<i>bb </i>| <i>bZ</i><sub>2</sub><i>b </i>| <i>bbZ</i><sub>0</sub>|<i>bZ</i><sub>2</sub><i>bZ</i><sub>0</sub> (9)
<i>Z</i><sub>1</sub>→<i>bb </i>| <i>bZ</i><sub>0</sub><i>b </i>| <i>bbZ</i><sub>1</sub>| <i>bZ</i><sub>0</sub><i>bZ</i><sub>1</sub> (4)
<i>Z</i><sub>2</sub>→<i>aba </i>| <i>aZ</i><sub>1</sub><i>ba </i>| <i>abZ</i><sub>0</sub><i>a </i>| <i>aZ</i><sub>1</sub><i>bZ</i><sub>0</sub><i>a </i>| <i>abaZ</i><sub>2</sub>|<i>aZ</i><sub>1</sub><i>baZ</i><sub>2</sub>| <i>abZ</i><sub>0</sub><i>aZ</i><sub>2</sub>| <i>aZ</i><sub>1</sub><i>bZ</i><sub>0</sub><i>aZ</i><sub>2</sub> (6)
Thay kí hiệu kết thúc không đi đầu bằng biến đại diện
<i>S</i> →<i>bXY </i>| <i>bZ</i><sub>2</sub><i>XY </i>| <i>bXZ</i><sub>1</sub><i>Y </i>| <i>bZ</i><sub>2</sub><i>XZ</i><sub>1</sub><i>Y </i>| <i>bXYZ</i><sub>0</sub>| <i>bZ</i><sub>2</sub><i>XYZ</i><sub>0</sub>| <i>bXZ</i><sub>1</sub><i>YZ</i><sub>0</sub>| <i>bZ</i><sub>2</sub><i>XZ</i><sub>1</sub><i>YZ</i><sub>0</sub>
<i>B</i> →<i>b </i>| <i>bZ</i><sub>3</sub>
<i>Z</i><sub>0</sub>→<i>bY </i>| <i>bZ</i><sub>2</sub><i>Y </i>| <i>bYZ</i><sub>0</sub>|<i>bZ</i><sub>2</sub><i>YZ</i><sub>0</sub>
<i>Z</i><sub>1</sub>→<i>bY </i>| <i>bZ</i><sub>0</sub><i>Y </i>| <i>bYZ</i><sub>1</sub>| <i>bZ</i><sub>0</sub><i>YZ</i><sub>1</sub>
<i>Z</i><sub>2</sub>→<i>aYX </i>| <i>aZ</i><sub>1</sub><i>YX </i>| <i>aYZ</i><sub>0</sub><i>X </i>| <i>aZ</i><sub>1</sub><i>YZ</i><sub>0</sub><i>X </i>| <i>aYXZ</i><sub>2</sub>| <i>aZ</i><sub>1</sub><i>YXZ</i><sub>2</sub>| <i>aYZ</i><sub>0</sub><i>XZ</i><sub>2</sub>| <i>aZ</i><sub>1</sub><i>YZ</i><sub>0</sub><i>XZ</i><sub>2</sub>
<i>X</i> →<i>a</i>
Trang 29
Lý thuyết Ơtơmát & NNHT - Khoa Công NghệThông Tin
<b>Input: V</b>ăn phạm Chomsky <i>G</i>= (<i>V</i>, <i>T</i>, <i>S</i>, <i>P</i>)
Chuỗi <i>w</i>= <i>a</i><sub>1</sub><i>a</i><sub>2</sub>…<i>a<sub>n</sub></i>
<b>Output: “</b>Yes” + DXTNhoặc “No”.
Chúng ta định nghĩa các chuỗi con
<i>w<sub>ij</sub></i>= a<i><sub>i</sub></i>... a<i><sub>j</sub></i>,
Và các tập con của V
<i>V<sub>ij</sub></i>= {A∈<i>V</i>: A <i>w<sub>ij</sub></i>},
Đểý w= w<sub>1</sub><i><sub>n</sub></i>, vậy w ∈<i>L(G) khi và ch</i>ỉkhi S∈<i>V</i><sub>1</sub><i><sub>n</sub></i>.
<i>Vậy đểbiết w có</i>∈<i>L(G) hay khơng chúng ta tính V<sub>1n</sub>và xem S </i>
<i>có</i>∈<i>V<sub>1n</sub>hay khơng.</i>
*
⇒
A ∈<i>V<sub>ii</sub></i>nếu và chỉnếu Acó luật sinh A→<i>a<sub>i</sub></i>.
Vậy, V<i><sub>ii</sub></i>có thểđược tính ∀i, 1 ≤<i>i</i>≤<i>n.</i>
Nếu B <i>w<sub>ik</sub></i>(⇔<i>B</i>∈<i>V<sub>ik</sub></i>), C <i>w</i><sub>(</sub><i><sub>k</sub></i><sub>+1)</sub><i><sub>j</sub></i>(⇔<i>C</i>∈<i>V</i><sub>(</sub><i><sub>k</sub></i><sub>+1)</sub><i><sub>j</sub></i>) và đồng
thời A→<i>BC</i>thì<i>A</i> <i>w<sub>ij</sub></i>(⇔<i>A</i>∈<i>V<sub>ij</sub></i>) ∀<i>i</i>≤<i>k, k</i>< j.
<i><b>V</b><b><sub>ij</sub></b></i><b>= </b>∪<i><b><sub>k</sub></b></i><sub>∈</sub><b><sub>{</sub></b><i><b><sub>i</sub></b></i><b><sub>, </sub></b><i><b><sub>i</sub></b></i><b><sub>+1, ... , </sub></b><i><b><sub>j</sub></b></i><b><sub>– 1}</sub>{</b><i><b>A</b></i><b>: </b><i><b>A</b></i>→<i><b>BC</b></i><b>, với </b><i><b>B </b></i>∈<i><b>V</b><b><sub>ik</sub></b></i><b>, C </b>∈<i><b>V</b></i><b><sub>(</sub></b><i><b><sub>k</sub></b></i><b><sub>+1)</sub></b><i><b><sub>j</sub></b></i><b>}</b>
Q trình tính các tập V<i><sub>ij</sub></i>
<i>V</i><sub>11</sub>, V<sub>22</sub>, ...,V<i><sub>nn</sub></i>
<i>V</i><sub>12</sub>, V<sub>23</sub>, . . .,V<sub>(</sub><i><sub>n</sub></i><sub>-1)</sub><i><sub>n</sub></i>
<i>V</i><sub>13</sub>, V<sub>24</sub>, . . .,V<sub>(</sub><i><sub>n</sub></i><sub>-2)</sub><i><sub>n</sub></i>
...
<i>V</i><sub>1</sub><i><sub>n</sub></i>
*
⇒ ⇒*
Trang 31
Lý thuyết Ơtơmát & NNHT - Khoa Cơng NghệThơng Tin
Sửdụng giải thuật CYK đểPTCP chuỗi w= aabbbtrên Gsau
<i>S</i>→<i>AB</i> (1)
<i>A</i>→<i>BB</i>| a (2, 3)
<i>B</i>→<i>AB</i>| b (4, 5)
Ta có<i>w</i>=<i>a a b b b</i>
1 2 3 4 5
<i>V</i><sub>11</sub>= {A}, V<sub>22</sub>= {A}, V<sub>33</sub>= {B}, V<sub>44</sub>= {B}, V<sub>55</sub>= {B},
<i>V</i><sub>12</sub>= ∅, V<sub>23</sub>= {S, B}, V<sub>34</sub>= {A}, V<sub>45</sub>= {A},
<i>V</i><sub>13</sub>= {S, B}, V<sub>24</sub>= {A}, V<sub>35</sub>= {S, B},
<i>V</i><sub>14</sub>= {A}, V<sub>25</sub>= {S, B},
<i>V</i><sub>15</sub>= {S, B}. <i><b>S</b></i>∈<i><b>V</b></i><b><sub>15</sub></b>⇒<i><b>w</b></i>∈<i><b>L</b></i><b>(</b><i><b>G</b></i><b>). </b>
Đểtìm dẫn xuất cho w, chúng ta phải
tìm cách “lưu vết”
<i>V</i><sub>11</sub>= {A( a)}, <i>V</i><sub>22</sub>= {A( a)}, <i>V</i><sub>33</sub>= {B( b)},
<i>V</i><sub>44</sub>= {B( b)}, <i>V</i><sub>55</sub>= {B( b)},
<i>V</i><sub>12</sub>= ∅, <i>V</i><sub>23</sub>= {S( A<sub>22</sub><i>B</i><sub>33</sub>), B( A<sub>22</sub><i>B</i><sub>33</sub>)},
<i>V</i><sub>34</sub>= {A( B<sub>33</sub><i>B</i><sub>44</sub>)}, <i>V</i><sub>45</sub>= {A( B<sub>44</sub><i>B</i><sub>55</sub>)},
<i>V</i><sub>13</sub>= {S( A<sub>11</sub><i>B</i><sub>23</sub>), B( A<sub>11</sub><i>B</i><sub>23</sub>)}, <i>V</i><sub>24</sub>= {A( B<sub>23</sub><i>B</i><sub>44</sub>)},
<i>V</i><sub>35</sub>= {S( A<sub>34</sub><i>B</i><sub>55</sub>), B( A<sub>34</sub><i>B</i><sub>55</sub>)},
<i>V</i><sub>14</sub>= {A( B<sub>13</sub><i>B</i><sub>44</sub>)}, <i>V</i><sub>25</sub>= {S( A<sub>22</sub><i>B</i><sub>35</sub>, A<sub>24</sub><i>B</i><sub>55</sub>),
<i>B( A</i><sub>22</sub><i>B</i><sub>35</sub>, A<sub>24</sub><i>B</i><sub>55</sub>)},
<i>V</i><sub>15</sub>= {S( A<sub>11</sub><i>B</i><sub>25</sub>, A<sub>14</sub><i>B</i><sub>55</sub>), B( A<sub>11</sub><i>B</i><sub>25</sub>, A<sub>14</sub><i>B</i><sub>55</sub>)}.
3
→
<i>S</i>→<i>AB</i> (1)
<i>A</i>→<i>BB</i>| <i>a</i> (2, 3)
<i>B</i>→<i>AB</i>| <i>b</i> (4, 5)
<i>w</i>=<i>a a b b b</i>
1 2 3 4 5
5
→
5
→
5
→
3
→
→ →4
2
→ →2
1
→ →4 →2
1
→ →4
2
→ →1 →1
4
→ →4
1
Trang 33
Lý thuyết Ơtơmát & NNHT - Khoa Cơng NghệThơng Tin
Kết quảcó 3 DXTN như sau:
(1)<i>S A</i><sub>11</sub><i>B</i><sub>25</sub> <i>aB</i><sub>25</sub> <i>aA</i><sub>22</sub><i>B</i><sub>35</sub> <i>aaB</i><sub>35</sub> <i>aaA</i><sub>34</sub><i>B</i><sub>55 </sub>
<i>aaB</i><sub>33</sub><i>B</i><sub>44</sub><i>B</i><sub>55</sub> <i>aabbb </i>(DXTN: 134342555)
(2)<i>S A</i><sub>11</sub><i>B</i><sub>25</sub> <i>aB</i><sub>25</sub> <i>aA</i><sub>24</sub><i>B</i><sub>55</sub> <i>aB</i><sub>23</sub><i>B</i><sub>44</sub><i>B</i><sub>55</sub>
<i>aA</i><sub>22</sub><i>B</i><sub>33</sub><i>B</i><sub>44</sub><i>B</i><sub>55 </sub><i>aabbb </i>(DXTN: 134243555)
(3)<i>S A</i><sub>14</sub><i>B</i><sub>55</sub> <i>B</i><sub>13</sub><i>B</i><sub>44</sub><i>B</i><sub>55</sub> <i>A</i><sub>11</sub><i>B</i><sub>23</sub><i>B</i><sub>44</sub><i>B</i><sub>55</sub> <i>aB</i><sub>23</sub><i>B</i><sub>44</sub><i>B</i><sub>55</sub>
<i>aA</i><sub>22</sub><i>B</i><sub>33</sub><i>B</i><sub>44</sub><i>B</i><sub>55</sub> <i>aabbb </i>(DXTN: 124343555)
<i>S</i>→<i>AB</i> (1)
<i>A</i>→<i>BB</i>| <i>a</i> (2, 3)
<i>B</i>→<i>AB</i>| <i>b</i> (4, 5)
<i>w</i>=<i>a a b b b</i>
1 2 3 4 5
1
⇒ ⇒3 ⇒4 ⇒3 ⇒4 ⇒2
5
,
5
⇒ ⇒3 ⇒4 ⇒2 ⇒4
5
,
5
,
5
,
3<sub>⇒</sub>
1
⇒ ⇒2 ⇒4 ⇒3 ⇒4
5
,
5
,
5
,
3<sub>⇒</sub>
3 CDX tương ứng:
<i>S</i>→<i>AB</i> (1)
<i>A</i>→<i>BB</i>| <i>a</i> (2, 3)
<i>B</i>→<i>AB</i>| <i>b</i> (4, 5)
<i>w</i>=<i>a a b b b</i>
1 2 3 4 5
<i>S</i>
<i>A</i><sub>11</sub> <i>B</i><sub>25</sub>
<i>a</i> <i>A</i>22 <i>B</i>35
<i>a</i> <i>A</i>34 <i>B</i>55
<i>b</i>
<i>B</i><sub>33</sub> <i>B</i>44
<i>b</i>
<i>b</i>
<i>S</i>
<i>A</i><sub>11</sub> <i>B</i><sub>25</sub>
<i>a</i> <i>A</i>24 <i>B</i>55
<i>b</i>
<i>B</i><sub>23</sub> <i>B</i><sub>44</sub>
<i>b</i>
<i>A</i><sub>22</sub> <i>B</i><sub>33</sub>
<i>b</i>
<i>a</i>
<i>S</i>
<i>B</i><sub>55</sub>
<i>A</i><sub>14</sub>
<i>b</i>
<i>B</i><sub>44</sub>
<i>B</i><sub>13</sub>
<i>b</i>
<i>B</i><sub>23</sub>
<i>A</i>11
<i>a</i> <i>A</i><sub>22</sub> <i>B</i><sub>33</sub>
Trang 35
Lý thuyết Ơtơmát & NNHT - Khoa Công NghệThông Tin
Dùng giải thuật CYK PTCP các chuỗi sau w<sub>1</sub>= <i>abab</i>, w<sub>2</sub>=
<i>abaa</i>trên các VP G<sub>1</sub>, G<sub>2</sub> tương ứng.
<i>G</i><sub>1</sub> <i>G</i><sub>2</sub>
<i>S</i>→<i>AB⏐BB</i> (1, 2) <i>S</i>→<i>AB</i> (1)