You are on page 1of 316

Trng i hc Bch khoa Khoa Cng Ngh Thng Tin

BI GING MN HC L THUYT TMT & NNHT


Ging Vin: H Vn Qun E-mail: hcquan@dit.hcmut.edu.vn Web site: http://www.dit.hcmut.edu.vn/~hcquan/student.htm

NI DUNG MN HC
Chng 1 Chng 2 Chng 3 Chng 4 Chng 5 Chng 6 Gii thiu v l thuyt tnh ton tmt hu hn Ngn ng chnh qui v vn phm chnh qui Cc tnh cht ca ngn ng chnh qui Ngn ng phi ng cnh n gin ha vn phm phi ng cnh v cc dng chun Chng 7 tmt y xung Chng 8 Cc tnh cht ca ngn ng phi ng cnh Chng 9 My Turing
Trang 2 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

TI LIU THAM KHO


1. Bi ging l thuyt Ngn ng Hnh thc v Automat H Vn Qun [2002]. 2. An Introduction to Formal Languages and Automata Peter Linz [1990].

Trang 3 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

HNH THC NH GI
S c thng bo c th cho tng kha hc. Tuy nhin, thng l nh c cho bn di. Thi trc nghim
Thi gian: 120 pht S lng: 50 cu c php xem ti liu trong 4 t giy A4

Lm bi tp ln cng im (khng bt buc)


Np bi tp ln v bo co vo cui hc k Cng ti a 2 im

Trang 4 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

CC MN LIN QUAN
Ngn ng lp trnh Trnh bin dch (*) Ton tin hc

Trang 5 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Chng 1 Gii thiu v l thuyt tnh ton


1.1 Gii thiu 1.2 Yu cu v kin thc nn 1.3 Ba khi nim c bn
Ngn ng (languages) Vn phm (grammar) tmt (my t ng)

1.4 Mt vi ng dng

Trang 6 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Gii thiu
tmt
Cc m hnh tnh ton t ng

Ngn ng hnh thc (formal languages):


nh ngha Phn loi ngn ng Quan h vi tmt ng dng vo vic xy dng cc ngn ng lp trnh ...

Trang 7 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Yu cu v kin thc nn
L thuyt
Tp hp th

K thut chng minh


Qui np Phn chng

K thut m phng

Trang 8 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Ba khi nim c bn
Ngn ng (languages) Vn phm (grammar) tmt (automata)

Trang 9 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Ngn ng
Ngn ng l g?
Cc t in nh ngha ngn ng mt cch khng chnh xc l mt h thng thch hp cho vic biu th cc ngh, cc s kin, hay cc khi nim, bao gm mt tp cc k hiu v cc qui tc vn dng chng.

nh ngha trn cha chnh xc nghin cu v NNHT Chng ta cn xy dng mt nh ngha ton hc cho khi nim ngn ng

Trang 10 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc khi nim
Bng ch ci (alphabet),
L tp hp hu hn khng trng cc k hiu (symbol).

V d
{A, B, C, ... , Z}: Bng ch ci La tinh. {, , , ... , }: Bng ch ci Hi Lp. {0, 1, 2, ... , 9}: Bng ch s thp phn. {I, V, X, L, C, D, M}: Bng ch s La M.

Trang 11 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc khi nim (tt)


Chui (string), w
L mt dy hu hn cc k hiu t bng ch ci.

V d
Vi = {a, b}, th abab v aaabbba l cc chui trn .

Qui c
Vi mt vi ngoi l, chng ta s s dng cc ch ci thng a, b, c, . . . cho cc phn t ca cn cc ch ci u, v, w, . . . cho cc tn chui.

Trang 12 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc php ton trn chui


Kt ni (concatenation), wv
w = a1a2 ...an v v = b1b2...bm l chui: wv = a1a2 ...anb1b2...bm

o (reverse), wR
o ca chui w = a1a2 ...an l chui: wR = an...a2a1

Trang 13 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc khi nim (tt)


Cho chui w = uv Tip u ng (prefix)
u c gi l tip u ng ca w

Tip v ng (suffix)
v c gi l tip v ng ca w

Chiu di ca chui w
L s k hiu trong chui, v c k hiu l |w|

Chui trng (empty string)


L chui khng c k hiu no, thng c k hiu l
Trang 14 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc khi nim (tt)


Nhn xt
1 . Cc quan h sau y ng vi mi w: || = 0; w = w = w 2 . Nu u, v l cc chui th : |uv| = |u| + |v|

Ly tha (power), wn
w l mt chui th wn l mt chui nhn c bng cch kt ni chui w vi chnh n n ln. w0 =

L wn = w2w 13
n lan
Trang 15 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc khi nim (tt)


*, + (bao ng sao v bao ng dng)
* l tp tt c cc chui trn k c chui trng. + l tp tt c cc chui trn ngoi tr chui trng. * = + {} ; + = * - {}

th hu hn cn + v * l v hn m c

Trang 16 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

nh ngha ngn ng
Ngn ng
L mt tp con ca *, hay ni cch khc l mt tp bt k cc cu trn b ch ci.

V d
Cho = {a, b} * = {, a, b, aa, ab, ba, bb, aaa, aab, ...} Tp {a, aa, aab} l mt ngn ng trn . N l mt ngn ng hu hn. Tp L = {anbn : n 0} cng l mt ngn ng trn . N l mt ngn ng v hn.
Trang 17 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc php ton trn ngn ng


B (complement), L
B ca ngn ng L trn bng ch ci , c k hiu l: L = * - L

Kt ni, L1L2
Cho 2 ngn ng L1, L2. Kt ni ca 2 ngn ng L1, L2 l: L1L2 = { xy : x L1 , y L2 }

Ly tha, Ln
Ly tha bc n ca L, k hiu l Ln, l vic kt ni L vi chnh n n ln L0 = {} n

L = 13 L2 L L
n lan

Trang 18 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc php ton trn ngn ng (tt)


V d
Cho L = {anbn : n 0}, th L2 = {anbnambm : n 0 , m 0}

Bao ng-sao (star-closure) ca L


K hiu l L* v c nh ngha l L* = L0 L1 L2 ...

Bao ng dng (positive closure) ca L


K hiu l L+ L+ = L1 L2 L3 ...

Trang 19 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Vn phm
Vn phm l g?
Cc t in nh ngha vn phm mt cch khng chnh xc l mt tp cc qui tc v cu to t v cc qui tc v cch lin kt cc t li thnh cu.

V d
Cho on vn phm ting Anh sau <sentence> <noun phrase><predicate>, <noun phrase> <article><noun>, <predicate> <verb>, <article> a | the, <noun> boy | dog, <verb> runs | walks,
Trang 20 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

nh ngha vn phm
Cc cu a boy runs v the dog walks l c "dng ng, tc l c sinh ra t cc lut ca vn phm. nh ngha 1.1
Vn phm G c nh ngha nh l mt b bn G = (V, T, S, P) V: tp cc k hiu khng kt thc (nonterminal symbol), cn c gi l cc bin (variable), T: tp cc k hiu kt thc (terminal symbol), S V: c gi l bin khi u (start variable), i khi cn c gi l k hiu mc tiu, P: tp hu hn cc lut sinh (production),
Trang 21 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

nh ngha vn phm (tt)


Cc lut sinh c dng x y trong x (V T)+ v c cha t nht mt bin, y (V T)*. Cc lut sinh (production) i khi cn c gi l cc qui tc (rule) hay lut vit li (written rule) .

V d
Cho vn phm sau: G = ({S, A, B}, {a, b}, S, P), vi P: S aAS | bBS | , A aaA | b, B bbB | a,
Trang 22 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Vn phm (tt)
Qui c:
Cc k t ch hoa A, B, C, D, E v S biu th cc bin; S l k hiu khi u tr phi c pht biu khc i. Cc k t ch thng a, b, c, d, e, cc k s, cc chui in m biu th cc k hiu kt thc (terminal). Cc k t ch hoa X, Y, Z biu th cc k hiu c th l terminal hoc bin. Cc k t ch thng u, v, w, x, y, z biu th chui cc terminal. Cc k t ch thng Hi Lp , , biu th chui cc bin v cc terminal.

Trang 23 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc khi nim
Dn xut trc tip (directly derive),
Cho lut sinh x y v chui w = uxv . Lut sinh trn c th p dng ti chui w. Khi p dng ta s nhn c chui mi z = uyv w dn xut ra z hay ngc li z c dn xut ra t w v k hiu l: uxv uyv

Trang 24 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Ngn ng c sinh ra bi vn phm


Dn xut gin tip ,
Nu w1 w2 ... wn th ta ni w1 dn xut ra wn v vit * w1 wn Nu c t nht mt lut sinh phi c p dng chng ta vit: + w1 wn
*
+

nh ngha 1.2
Cho G = (V, T, S, P) l mt vn phm, th tp: * L(G) = {w T* : S w} c gi l ngn ng c sinh ra bi G.

Trang 25 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc khi nim (tt)


S dn xut cu (derivation)
Nu w L(G) th phi tn ti dy dn xut: S w1 w2 ... wn w Dy ny c gi l mt s dn xut cu ca w.

Dng cu (sentential forms)


Dy S, w1, w2, , wn c gi l cc dng cu ca s dn xut. Cu w cng c xem l mt dng cu c bit.

V d
Cho vn phm G = ({S}, { a, b}, S, P), vi P S aSb | .
Trang 26 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc khi nim (tt)


Th S aSb aaSbb aabb l mt dy dn xut.V vy c th vit * S aabb Chui aabb l mt cu ca ngn ng c sinh ra bi G, cn aaSbb l mt dng cu. Ngn ng tng ng vi vn phm ny l: L(G) = {anbn : n 0} .

Trang 27 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Bi tp vn phm
M t ton hc cho ngn ng
Ngn ng L1 bao gm cc chui t kha begin, end ca ngn ng Pascal. Cc chui biu din cu trc lng nhau ca cc cp t kha ny trong cc chng trnh trn ngn ng Pascal. Ngn ng L2 bao gm tp cc danh hiu ca Pascal.

Xc nh ngn ng ca vn phm
G1 G2 S aSbS | bSaS | EE+T|T TT*F|F F (E) | a | b
Trang 28 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Bi tp vn phm (tt)
Xy dng vn phm cho ngn ng
Ngn ng L1 v L2 trang trn L3 = {wwR : w {a, b}*} L4 = {anbmcn+m : n, m 0} L5 = {anbn+mcm : n, m 0}

Trang 29 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

tmt
tmt l g?
tmt, dch ngha l my t ng, l thit b c th t thc hin cng vic m khng cn s can thip ca con ngi. N hot ng da trn mt s quy tc v da vo cc quy tc ny con ngi lp trnh cho n hot ng theo mun ca mnh. My tnh s ngy nay chnh l mt my t ng in hnh v mnh nht hin nay.

Trang 30 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

nh ngha tmt
tmt
L mt m hnh tru tng ca my tnh s bao gm cc thnh phn ch yu sau Input file

Control unit

Storage

Output
Trang 31 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

nh ngha tmt (tt)


Thit b u vo (input file): l ni m cc chui nhp (input string) c ghi ln, v c tmt c nhng khng thay i c ni dung ca n. N c chia thnh cc (cells, squares), mi gi c mt k hiu. C cu nhp (input mechanism): l b phn c th c input file t tri sang phi, mt k t ti mt thi im. N cng c th d tm c im kt thc ca chui nhp (eof, #). B nh tm (temporary storage): l thit b bao gm mt s khng gii hn cc nh (cell), mi c th gi mt k hiu t mt bng ch ci (khng nht thit ging vi bng ch ci ng nhp). tmt c th c v thay i c ni dung ca cc nh lu tr (storage cell).
Trang 32 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Hot ng ca tmt
n v iu khin (control unit): mi tmt c mt n v iu khin, ci m c th trong mt trng thi bt k trong mt s hu hn cc trng thi ni, v c th chuyn i trng thi trong mt kiu c nh ngha sn no .

Hot ng ca tmt
Mt tmt c gi thit l hot ng trong mt khung thi gian ri rc (discrete time frame). Ti mt thi im bt k cho, n v iu khin ang trong mt trng thi ni (internal state) no , v c cu nhp l ang qut (scanning) mt k hiu c th no trn input file.

Trang 33 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Hot ng ca tmt (tt)


Trng thi ni ca n v iu khin ti thi im k tip c xc nh bi trng thi k (next state) hay bi hm chuyn trng thi (transition function). Trong sut qu trnh chuyn trng thi t khong thi gian ny n khong thi gian k, kt qu (output) c th c sinh ra v thng tin trong b nh lu tr c th c thay i.

Trang 34 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc khi nim
Trng thi ni (internal state): l mt trng thi ca n v iu khin m n c th vo. Trng thi k (next state): l mt trng thi ni ca n v iu khin m n s vo ti thi im k tip. Hm chuyn trng thi (transition function): l hm gi ra trng thi k ca tmt da trn trng thi hin hnh, k hiu nhp hin hnh c qut, v thng tin hin hnh trong b nh tm.

Trang 35 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc khi nim (tt)


Cu hnh (configuration): c s dng tham kho n b ba thng tin: trng thi c th m n v iu khin ang vo, v tr ca c cu nhp trn thit b nhp (hay ni cch khc tmt ang c n k hiu no ca thit b nhp), v ni dung hin hnh ca b nh tm. Di chuyn (move): l s chuyn trng thi ca tmt t mt cu hnh ny sang cu hnh k tip.

Trang 36 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Phn loi tmt


Da vo hot ng ca tmt, c n nh hay khng: c hai loi tmt.
tmt n nh (deterministic automata): l tmt trong mi di chuyn (move) c xc nh duy nht bi cu hnh hin ti. S duy nht ny th hin tnh n nh. tmt khng n nh (non-deterministic automata): l tmt m ti mi thi im n c mt vi kh nng la chn di chuyn. Vic c mt vi kh nng la chn th hin tnh khng n nh.

Trang 37 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Phn loi tmt (tt)


Da vo kt qu xut ra ca tmt: c hai loi tmt.
Accepter: l tmt m p ng ng ra ca n c gii hn trong hai trng thi n gin yes hay no. "Yes" tng ng vi vic chp nhn chui nhp, "no" tng ng vi vic t chi, khng chp nhn, chui nhp. Transducer: l tmt tng qut hn, c kh nng sinh ra cc chui k t ng xut. My tnh s l mt transducer in hnh.

Trang 38 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Mt vi ng dng
Cung cp kin thc nn tng cho vic xy dng cc ngn ng lp trnh (NNLT), cc trnh dch.
Dng vn phm nh ngha cc NNLT. Dng accepter nh ngha mt vi thnh phn ca NNLT. Xy dng cc b phn tch t vng, phn tch c php cho cc NNLT.

Trang 39 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Dng vn phm m t danh hiu ca Pascal. <id> <letter><rest>, <rest> <letter><rest> | <digit><rest> | , <letter> a .. z | A .. Z <digit> 0 .. 9

Trang 40 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)
Dng accepter m t danh hiu ca Pascal.

Letter Digit

Letter or digit

3 Letter or digit

Trang 41 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d - Vn phm Pascal n gin


Mt vn phm n gin ca ngn ng Pascal [prog] ::= [prog header] [var part] [stat part] [prog header] ::= program [id] ( input , output ) ; [var part] ::= var [var dec list] [stat part] ::= begin [stat list] end . [var dec list] ::= [var dec] | [var dec list] [var dec] [var dec] ::= [id list] : [type] ; [stat list] ::= [stat] | [stat list] ; [stat] [stat] ::= [assign stat] [assign stat] ::= [id] := [expr]
Trang 42 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Vn phm Pascal n gin (tt)


[assign stat] [expr] [type] [id list] [operand] [id] [number] [operator] [digit] [letter] ::= ::= ::= ::= ::= ::= ::= ::= ::= ::= [id] := [expr] [operand] | [expr] [operator] [operand] integer [id] | [id list] , [id] [id] | [number] [letter] | [id] [letter] | [id] [digit] [digit] +|* 0|1|2|3|4|5|6|7|8|9 a .. z | A .. Z

Trang 43 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Mt vi ng dng (tt)
ng dng vo cc lnh vc x l chui.
Cc chc nng tm kim, thay th trong cc trnh son tho vn bn hoc x l chui. X l ngn ng t nhin: ch thch loi t cho cc t, sa li chnh t, ...

ng dng vo lnh vc thit k s. ...

Trang 44 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d - Mch cng
Xt mt b cng nh phn tun t hai s nguyn dng
ai bi Serial adder Sum bit di

Carry Trong hai chui cng x = a0a1 . . . an y = b0b1 . . . bm biu din cho hai s nguyn
v( x ) =
i=0

ai 2 i

v( y ) =

Trang 45 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

i=0

bi 2 i

Mch cng (tt)


S khi trn ch m t nhng g m mt b cng phi lm ch khng gii thch cht g v hot ng bn trong. Sau y l mt tmt (c th l mt transducer) m t hot ng bn trong ca b cng ni trn. (0, 1)/1 (0, 0)/0 (1, 0)/1 No carry (1, 0)/1 (0, 1)/0 (1, 1)/1 Carr y

(1, 1)/0

(0, 0)/1

Trang 46 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Chng 2 tmt hu hn
2.1 Accepter hu hn n nh 2.2 Accepter hu hn khng n nh 2.3 S tng ng gia accepter hu hn n nh v accepter hu hn khng n nh 2.4 Rt gn s trng thi ca mt tmt hu hn

Trang 47 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Accepter hu hn n nh
nh ngha 2.1
Mt accepter hu hn n nh (deterministic finite state accepter) hay dfa c nh ngha bi b nm M = (Q, , , q0, F), Q l mt tp hu hn cc trng thi ni (internal states), l mt tp hu hn cc k hiu c gi l bng ch ci ng nhp (input alphabet), : Q Q l hm chuyn trng thi (transition function). chuyn trng thi tmt da vo trng thi hin hnh q Q n ang vo v k hiu nhp a n ang c c, n s chuyn sang trng thi k c nh ngha sn trong .

Trang 48 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Accepter hu hn n nh (tt)
q0 Q l trng thi khi u (initial state), F Q l mt tp cc trng thi kt thc (final states) (hay cn c gi l trng thi chp nhn).

Ch
tmt hu hn khng c b nh so vi m hnh tng qut.

Trang 49 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Hot ng ca mt dfa
Hot ng ca mt dfa
Ti thi im khi u, n c gi thit trong trng thi khi u q0, vi c cu nhp (u c) ca n ang trn k hiu u tin bn tri ca chui nhp. Trong sut mi ln di chuyn, c cu nhp tin v pha phi mt k hiu, nh vy mi ln di chuyn s ly mt k hiu ng nhp. Khi gp k hiu kt thc chui, chui l c chp nhn (accept) nu tmt ang vo mt trong cc trng thi kt thc ca n. Ngc li th c ngha l chui b t chi.

Trang 50 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

th chuyn trng thi


biu din mt cch trc quan cho dfa ngi ta s dng th chuyn trng thi. Cch biu din nh sau.
Cc nh biu din cc trng thi. Cc cnh biu din cc chuyn trng thi. Cc nhn trn cc nh l tn cc trng thi. Cc nhn trn cc cnh l gi tr hin ti ca k hiu nhp. Trng thi khi u s c nhn bit bng mt mi tn i vo khng mang nhn m khng xut pht t bt k nh no Cc trng thi kt thc c v bng mt vng trn i.

Trang 51 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Cho dfa sau M = (Q, , , q0, F) Q = {q0, q1, q2}, = {0, 1}, F = {q1}, cn c cho bi (q0, 0) = q0, (q0, 1) = q1, (q1, 0) = q0, (q1, 1) = q2, (q2, 0) = q2, (q2, 1) = q1, th chuyn trng thi tng ng l 0 0 1 1 q2 q1 q0 1 0
Trang 52 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Hm chuyn trng thi m rng


Hm chuyn trng thi m rng * c nh ngha mt cch qui nh sau
*(q, ) = q, *(q, wa) = (*(q, w), a), q Q, w *, a .

V d
Nu (q0, a) = q1, v (q1, b) = q2, Th *(q0, ab) = q2

Ch
khng c nh ngha cho chuyn trng thi rng, tc l khng nh ngha cho (q, ).

Trang 53 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Ngn ng v dfa
nh ngha 2.2
Ngn ng c chp nhn bi dfa M = (Q, , , q0, F) l tp tt c cc chui trn c chp nhn bi M. L(M) = {w *: *(q0, w) F}.

Nhn xt: L(M ) = {w * : *(q0, w) F}.

Trang 54 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
V d
Xt dfa M sau a q0 b q1 a, b a, b q2

Dfa trn chp nhn ngn ng sau L(M) = {anb : n 0} Trng thi by (trap state): l trng thi m sau khi tmt i vo s khng bao gi thot ra c. Trng thi by c th l trng thi kt thc hoc khng. nh ngha trn cng c th m rng ra cho nhm cc trng thi by kt thc hay khng kt thc.
Trang 55 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

nh l, bng truyn
nh l 2.1
Cho M = (Q, , , q0, F) l mt accepter hu hn n nh, v GM l th chuyn trng thi tng ng ca n. Th qi, qj Q, v w +, *(qi, w) = qj nu v ch nu c trong GM mt con ng mang nhn l w i t qi n qj.

Bng truyn - (transition table)


L bng trong cc nhn ca hng ( t m trn hng trong hnh bn) biu din cho trng thi hin ti, cn nhn ca ct ( t m trn ct trong hnh bn) biu din cho k hiu nhp hin ti. Cc im nhp (entry) trong bng nh ngha cho trng thi k tip.
Trang 56 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Bng truyn (tt)


a q0 q2 q2 b q1 q2 q2 a q0 b q1 a, b a, b q2

q0 q1 q2

Bng truyn gi cho chng ta mt cu trc d liu m t cho tmt hu hn. ng thi cng gi cho chng ta rng mt dfa c th d dng c hin thc thnh mt chng trnh my tnh; chng hn bng mt dy cc pht biu if.
Trang 57 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Tm dfa chp nhn ngn ng
Tm dfa M1 chp nhn tp tt c cc chui trn = {a, b} c bt u bng chui ab. Tm dfa M2 chp nhn tp tt c cc chui trn = {0, 1}, ngoi tr nhng chui cha chui con 001. a, b q0 a b q1 a q3 a, b
Trang 58 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

1 0 1 0 0

0 00 1

0, 1 001

q2

Bi tp dfa
Tm dfa chp nhn ngn ng
L1 = {vwvR {a, b}*: |v| = 2} L2 = {ababn: n 0} {aban: n 0} L3 = {anbm : (n+m) mod 2= 0} L4 = {w {a, b}*: na(w) chn, nb(w) l} L5 = {w {0, 1}*: gi tr thp phn ca w chia ht cho 5} L6 = {w {a, b}*: s k t a trong chui l mt s l}

Trang 59 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Ngn ng chnh qui


nh ngha 2.3
Mt ngn ng L c gi l chnh qui nu v ch nu tn ti mt accepter hu hn n nh M no sao cho L = L(M)

V d
Chng minh rng ngn ng L= {awa : w {a,b}*} l chnh qui. a b a a q0 q2 q3 b b q1 a, b
Trang 60 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Accepter hu hn khng n nh
nh ngha 2.4
Mt accepter hu hn khng n nh (nondeterministic finite state accepter) hay nfa c nh ngha bng b nm: M = (Q , , , q0, F ) trong Q, , q0, F c nh ngha nh i vi accepter hu hn n nh cn c nh ngha l: : Q ( { }) 2Q

Nhn xt
C hai khc bit chnh gia nh ngha ny v nh ngha ca mt dfa.
Trang 61 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Accepter hu hn khng n nh (tt)


Nhn xt (tt)
i vi nfa min tr ca l tp 2Q, v vy gi tr ca n khng cn l mt phn t n ca Q, m l mt tp con ca n v c bit c th l , tc l c th khng c nh ngha cho mt (q, a) no . Ngi ta gi trng hp ny l mt cu hnh cht (dead configuration), v c th hnh dung trong trng hp ny tmt dng li, khng hot ng na. Th hai nh ngha ny cho php nh l mt i s th hai ca . iu ny c ngha l nfa c th thc hin mt s chuyn trng thi m khng cn phi ly vo mt k hiu nhp no. Tng t nh dfa, mt nfa cng c th c biu din bng mt TCTT.
Trang 62 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
a q0 a q1 q4 a a a (a) q5 q2 a q3 q0 1 0 q1 (b) 0, 1 q2

Hm chuyn trng thi m rng nh ngha 2.5

Cho mt nfa, hm chuyn trng thi m rng c nh ngha sao cho *(qi, w) cha qj nu v ch nu c mt con ng trong TCTT i t qi n qj mang nhn w. iu ny ng vi mi qi, qj Q v w *.
Trang 63 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Hm chuyn trng thi m rng


V d
*(q1, ) = {q1, q2, q0} *(q2, ) = {q2, q0} *(q0, a) = {q1, q2, q0} *(q1, a) = {q1, q2, q0} *(q1, b) = {q2, q0} q0 a q1 b, q2

Trang 64 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Ngn ng ca nfa
nh ngha 2 .6
Ngn ng c chp nhn bi nfa M = (Q, , , q0, F), c nh ngha nh l mt tp tt c cc chui c chp nhn bi nfa trn. Mt cch hnh thc, L(M) = {w *: *(q0, w) F }.

V d
Ngn ng c chp nhn bi tmt bn di l L = {(10)n: n 0} 1 0, 1 q2 q1 q0 0
Trang 65 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cch tnh *
Vi T l mt tp con ca Q, ta nh ngha

(T , a ) =

qT

(q, a ) * (T , ) = U

qT

(q, ) * (T , a ) = U

qT

U (q , a )

Ngi ta thng hin thc cch tnh cc hm ny (q, a), (T, a), *(q, ), *(T, ) ln lt bng cc hm move(q, a), move(T, a), -closure(q), -closure(T) (closure c l bao ng-) *(q, a) = -closure(move(-closure(q), a)) *(T, a) = -closure(move(-closure(T)
Trang 66 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
a q0 a a q4 q5 q1 q2 q3 q0 q1 q2 q3 q4 q5 a q4 q1 q0, q3 q2

Hy tnh *(q0, a). *(q0, a) = -closure(move(-closure(q0), a)) -closure(q0) = {q0, q1, q2} move({q0, q1, q2}, a) = {q4, q0, q3} -closure({q4, q0, q3}) = {q4, q0, q3, q5, q1, q2} Vy *(q0, a) = {q0, q1, q2, q3, q4, q5}
Trang 67 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

q5

Mt nh ngha khc v dfa - dfa m rng


Mt dfa l mt trng hp c bit ca mt nfa trong
Khng c chuyn trng thi-rng, i vi mi trng thi q v mt k hiu nhp a, c ti a mt cnh chuyn trng thi i ra khi q v c nhn l a.

V bn cht nh ngha ny v nh ngha trc y l tng ng nhau (cng nh ngha tnh n nh ca dfa). N ch khc nh ngha th nht ch cho php kh nng khng c mt s chuyn trng thi i vi mt cp trng thi v k hiu nhp. Trong trng hp ny th ta xem nh n ri vo mt trng thi by khng kt thc m trng thi ny khng c v ra.

Trang 68 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
0 q0 1 q1 0 q0 0 1 q2 (a) 0, 1 (b) q1 1

Dfa trong hnh (a) n gin hn dfa trong hnh (b) mc d chng cng chp nhn mt ngn ng nh nhau. Vy dfa m rng v dfa dfa y theo nh ngha ban u tht s l tng ng nhau v chng ch khc nhau mt trng thi by khng kt thc.
Trang 69 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Bi tp nfa
Tm nfa chp nhn ngn ng
L1 = {tp tt c cc s thc ca Pascal} Mt run trong mt chui l mt chui con c chiu di ti thiu 2 k t, di nht c th v bao gm ton cc k t ging nhau. Chng hn, chui abbbaabba cha mt run ca b c chiu di 3, mt run ca a c chiu di 2 v mt run ca b c chiu di 2. Tm cc nfa v dfa cho mi ngn ng sau trn {a, b}. L2 = {w: w khng cha run no c chiu di nh hn 3} L3 = {w: mi run ca a c chiu di hoc 2 hoc 3} L4 = {w {0, 1}*: mi chui con bn k hiu c ti a hai k hiu 0}.
Trang 70 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

S tng ng gia nfa v dfa


S tng ng gia hai tmt
Hai accepter c gi l tng ng nhau nu chng cng chp nhn mt ngn ng nh nhau.

V d
Dfa v nfa sau l tng ng nhau v cng chp nhn ngn ng {(10)n: n 0} 0,1 1 1 0, 1 1 q q2 q0 q1 q0 0 q1 2 0
Trang 71 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

S tng ng gia nfa v dfa (tt)


Nhn xt
Dfa v bn cht l mt loi gii hn ca nfa, nn lp cc dfa l mt lp con ca lp nfa. Nhng n c phi l mt lp con thc s hay khng? Rt hay l ngi ta chng minh c rng hai lp ny l tng ng nhau, tc l vi mt nfa th s c mt dfa tng ng vi n.

V d
Hy xy dng dfa tng ng vi nfa bn. b q0 a q1 a
Trang 72 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

a b q2 q0 q1 q1 q1 q2 q0 q2

V d
Xy dng dfa bng cch m phng li qu trnh chp nhn mt chui bt k ca nfa *(q0, ) = {q0} *({q0}, a) = {q1, q2} *({q0}, b) = *({q1, q2}, a) = {q1, q2}

a b q0 q1 q1 q1 q2 q0 q2

*({q1, q2}, b) = {q0} a b a, b

Ch
Mt trng thi ca nfa l {q0} mt tp trng thi ca dfa b Trng thi kt thc ca nfa l trng thi m c cha trng thi kt thc ca dfa.

a {q1, q2}

Trang 73 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

nh l v s tng ng
nh l 2.2
Cho L l ngn ng c chp nhn bi mt accepter hu hn khng n nh MN = (QN, , N, q0, FN), th tn ti mt accepter hu hn n nh MD = (QD, , D, {q0}, FD) sao cho L = L(MD).

Th tc: nfa_to_dfa
Input: nfa MN = (QN, , N, q0, FN) Output: TCTT GD ca dfa MD

Trang 74 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Th tc: nfa_to_dfa
B1. To mt th GD vi nh khi u l tp N*(q0, ). B2. Lp li cc bc B3 n B6 cho n khi khng cn cnh no thiu. B3. Ly mt nh bt k {qi, qj, , qk} ca GD m c mt cnh cn cha c nh ngha i vi mt a no . B4. Tnh N*({qi, qj, , qk}, a) = {ql, qm, , qn}. B5. To mt nh cho GD c nhn {ql, qm, , qn} nu n cha tn ti. B6. Thm vo GD mt cnh t {qi, qj, , qk} n {ql, qm, , qn} v gn nhn cho n bng a. B7. Mi trng thi ca GD m nhn ca n cha mt qf bt k FN th c coi l mt nh kt thc.
Trang 75 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Hy bin i nfa di (c bng truyn tng ng bn cnh) thnh dfa tng ng.
a q2 a q0 q1 q3 q4 q1 q0 q4 q3 q3 b q1 q3 q2 q4

b a,

a q1 b q3 a a, b

q0

q2 q1, q2 q4

Trang 76 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)
*(q0, ) = {q0, q3, q4} q0 *({q0, q3, q4}, a) = {q1, q2, q4} q1 *({q0, q3, q4}, b) = {q1, q2, q3, q4} q2 *({q1, q2, q4}, a) = {q0, q1, q2, q3, q4} q3 *({q1, q2, q4}, b) = {q3, q4} q4 *({q1, q2, q3, q4}, a) = {q0, q1, q2, q3, q4} *({q1, q2, q3, q4}, b) = {q3, q4} *({q0, q1, q2, q3, q4}, a) = {q0, q1, q2, q3, q4} *({q0, q1, q2, q3, q4}, b) = {q1, q2, q3, q4} *({q3, q4}, a) = {q4} *({q3, q4}, b) = {q3, q4} *({q4}, a) = *({q4}, b) = {q3, q4}
Trang 77 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

a b q1 q1 q3 q0 q2 q1, q2 q4 q3 q4 q3

V d (tt)

{q1, q2, q4} a {q0, q3, q4} b b b {q3, q4} b a a

q0 q1 q2 q3 q4

a b q1 q1 q3 q0 q2 q1, q2 q4 q3 q4 q3

a {q4} a b {q0, q1, q2, q3, q4} a

{q1, q2, q3, q4}

Trang 78 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Bi tp bin i nfa thnh dfa


Bin i nhng nfa sau thnh dfa tng ng
Nfa M1 a q0 q1 q1 q2 b q3 q2, q0 q4 q1 a q1 q2 q2 q1 q3 q4 q4 q4 q3 F = {q4}
Trang 79 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Nfa M2 b q2 q0 q4 a q0 q1 q0 q1, q3 q3 q3

Nfa M3 b q2 q1 q3

q1 q1, q2 q3 q2 q0, q2 q3 q2, q3 F = {q0}

q2 q1 q3 q0, q4 q3 q4 q3, q4 q4 F = {q2}

Rt gn s trng thi ca mt dfa


Hai dfa c v trong (a) v (b) l tng ng nhau
0, 1 0 q0 1 q1 0 q2 0 (a) 1 q4 0, 1 1 q5 0 (b) 1 q3 q0 0, 1 1

q1 0

q2 0, 1

Trang 80 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Rt gn s trng thi ca mt dfa (tt)


Nhn xt
Trong hnh (a) c mt trng thi c bit, trng thi q5, n l trng thi khng t ti c t trng thi khi u, ngi ta gi n l trng thi khng t ti c.

Trng thi khng t ti c (inaccessible state)


L trng thi m khng tn ti con ng i t trng thi khi u n n. Nhng trng thi khng t ti c (TTKT) c th b i (km vi cc cnh chuyn trng thi lin quan ti n) m khng lm nh hng ti ngn ng c chp nhn bi tmt.

Trang 81 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Rt gn s trng thi ca mt dfa (tt)


Nhn xt (tt)
Cc chuyn trng thi t sau nh q1 v q2 "c v ging nhau", i xng nhau v tmt th hai "c v nh" kt hp hai phn ny. T y dn ti nh ngha hai trng thi ging nhau hay khng phn bit c. Khi nim ging nhau c nh ngha tng qut da trn vic: vi mi chui nu xut pht t hai trng thi ny th kt qu v mt chp nhn chui l ging nhau tc l hoc cng ri vo trng thi kt thc, hoc khng cng ri vo trng thi kt thc. Nh vy hai trng thi ny c th gom chung li vi nhau m kt qu chp nhn chui khng thay i.
Trang 82 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

nh ngha hai trng thi ging nhau


nh ngha 2.7
Hai trng thi p v q ca mt dfa c gi l khng phn bit c (indistinguishable) hay ging nhau nu vi mi w * *(q, w) F suy ra *(p, w) F, v *(q, w) F suy ra *(p, w) F, Cn nu tn ti mt chui w no * sao cho *(q, w) F cn *(p, w) F, hay ngc li th p v q c gi l phn bit c (distinguishable) hay khc nhau bi chui w.

Nhn xt
Trng thi kt thc v khng kt thc khng th ging nhau.
Trang 83 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Nhn xt (tt)
Ch
Quan h ging nhau l mt quan h tng ng. V vy quan h ny s phn hoch tp trng thi Q thnh cc tp con ri nhau, mi tp con bao gm cc trng thi ging nhau.

Trang 84 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Th tc nh du - mark
xc nh cc cp trng thi khng phn bit c, ngi ta thc hin cng vic ngc li l xc nh cc cp trng thi khng ging nhau lm iu ny ngi ta s dng th tc mark (nh du) bn di.

Th tc: mark
Input: Cc cp trng thi, gm (|Q| (|Q| -1)/2) cp, ca dfa y . Output: Cc cp trng thi c nh du phn bit c.

Trang 85 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Th tc nh du - mark
B1. Loi b tt c cc TTKT. B2. Xt tt c cc cp trng thi (p, q). Nu p F v q F hay ngc li, nh du cp (p, q) l phn bit c. Cc cp trng thi c nh du bc ny s c ghi l nh du bc s 0 (gi l bc c bn). Lp li bc B3 cho n khi khng cn cp no khng c nh du trc c nh du bc ny. B3. i vi mi cp (p, q) cha c nh du v mi a , tnh (p, a) = pa v (q, a) = qa. Nu cp (pa, qa) c nh du l phn bit c ln lp trc , th nh du (p, q) l phn bit c. Cc cp c nh du bc ny s c ghi l c nh du bc th i nu y l ln th i bng qua vng lp.
Trang 86 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Th tc nh du mark (tt)
nh l 2.3
Th tc mark, p dng cho mt dfa y bt k M = (Q, , , q0, F), kt thc v xc nh tt c cc trng thi phn bit c.

B 1
Cp trng thi qi v qj l phn bit c bng chui c di n, nu v ch nu c cc chuyn trng thi (qi, a) = qk v (qj, a) = ql vi mt a no , v qk v ql l cp trng thi phn bit c bng chui c di n-1.
Trang 87 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Th tc nh du mark (tt)
B 2
Khi bng qua vng lp trong bcln th n, th tc s nh du c thm tt c cc cp trng thi phn bit c bng chui c di n m cha c nh du.

B 3
Nu th tc dng li sau n ln bng qua vng lp trong bc 3, th khng c cp trng thi no ca dfa m phn bit c bng chui c chiu di ln hn n.

Trang 88 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Th tc rt gn - reduce
Th tc: reduce
Input: dfa M = (Q, , , q0, F)
M = Q, , , q0 , F B1. S dng th tc mark tm tt c cc cp trng thi phn bit c. T y tm ra cc tp ca tt c cc trng thi khng phn bit c, gi l {qi, qj, , qk}, {ql, qm, , qn}, ... B2. i vi mi tp {qi, qj, , qk} cc trng thi khng phn bit c, to ra mt trng thi c nhn ij k cho M.

Output: dfa ti gin

Trang 89 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Th tc rt gn - reduce
B3. i vi mi quy tc chuyn trng thi ca M c dng (qr, a) = qp, tm cc tp m qr v qp thuc v. Nu qr {qi, qj, , qk} v qp {ql, qm, , qn}, th thm vo quy tc ( ij k, a) = lm n. q0 l trng thi ca m nhn ca n c cha B4. Trng thi khi u 0. B5. F l tp tt c cc trng thi m nhn ca n cha i sao cho qi F.

Trang 90 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Hy rt gn trng thi ca dfa sau (cho km bng truyn tng ng bn cnh).
q1 0 q2 1 0 q3 1 0,1 1 1 q4 0 1 q1 q3 q2 q4 q1 q4 q2 q4 q4 q4

0 0 q0

q0 q1 q2 q3 q4

Trang 91 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)
q0 (q0, q1) 1 (q0, q3) 1 (q1, q2) (q1, q4) 0 (q2, q4) 0 q1 (q0, q2) 1 (q0, q4) 0 (q1, q3) (q2, q3) (q3, q4) 0 q2 q3

0 1 q1 q3 q2 q4 q1 q4 q2 q4 q4 q4

0
0

q4 0, 1 1 4 0,1

1,2,3 4

123

Trang 92 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

nh l
nh l 2.4
Cho mt dfa M bt k, p dng th tc reduce to ra mt dfa M sao cho khc L(M) = L( M ) Hn na l ti gin theo ngha khng c mt dfa no khc c s trng thi nh hn m cng chp nhn L(M).

Trang 93 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Hy rt gn trng thi ca dfa sau (cho km bng truyn tng ng bn cnh).
0 0 q3 0 q1 1 1 q4 q0 1 q2 0,1 0,1 q5 0 1 q0 q1 q2 q3 q4 q5 q6 0 q1 q3 q5 q3 q5 q6 q6 1 q2 q4 q5 q4 q5 q5 q6

q6 0,1

Trang 94 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)
(q0, q1) 0 (q1, q2) 0 (q2, q4) (q0, q2) 0 (q1, q3) (q4, q5) 0 (q2, q5) 0 (q4, q6) 0 q0 q1 q2 q3 q4 q5 q6

(q0, q3) 0 (q1, q4) 1 (q2, q6) 0 (q5, q6) (q0, q4) 0 (q1, q5) 0 (q3, q4) 1 (q0, q5) 1 (q1, q6) 0 (q3, q5) 0 (q0, q6) 1 (q2, q3) 1 (q3, q6) 0

0 q1 q3 q5 q3 q5 q6 q6

1 q2 q4 q5 q4 q5 q5 q6

1,3
0

0 1 1 2,4 0,1 5,6 0,1 1,3 0

2,4 5,6

Trang 95 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Bi tp rt gn dfa
Rt gn nhng dfa sau thnh dfa ti gin
Dfa M1 a b q0 q1 q4 q1 q4 q2 q2 q4 q3 q3 q3 q4 q4 q5 q5 q4 q6 q6 q7 q6 q7 q7 Dfa M2 a b q0 q1 q2 q1 q2 q3 q2 q2 q3 q3 q5 q4 q4 q5 q3 q5 q5 q5 q6 q1 q7 q7 q6 q4 Dfa M3 a b q0 q1 q2 q1 q2 q3 q2 q1 q4 q3 q4 q0 q4 q3 q0 Dfa M4 a b q0 q1 q3 q1 q2 q4 q2 q0 q3 q3 q1 q4 q4 q2 q3

Trang 96 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Chng 3 Ngn ng chnh qui v vn phm chnh qui


3.1 Biu thc chnh qui (Regular Expression) 3.2 Mi quan h gia BTCQ v ngn ng chnh qui 3.3 Vn phm chnh qui (Regular Grammar)

Trang 97 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Biu thc chnh qui


Biu thc chnh qui (BTCQ) l g?
L mt s kt hp cc chui k hiu ca mt bng ch ci no , cc du ngoc, v cc php ton +, ., v *. trong php + biu th cho php hi, php . biu th cho php kt ni, php * biu th cho php bao ng sao.

V d
Ngn ng {a} c biu th bi BTCQ a. Ngn ng {a, b, c} c biu th bi BTCQ a + b + c. Ngc li BTCQ (a + b.c)* biu th cho ngn ng {, a, bc, aa, abc, bca, bcbc, aaa, aabc, ...}.
Trang 98 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

nh ngha hnh thc BTCQ


nh ngha 3.1
Cho l mt bng ch ci, th 1. , , v a tt c u l nhng BTCQ hn na chng c gi l nhng BTCQ nguyn thy. 2. Nu r1 v r2 l nhng BTCQ, th r1 + r2, r1. r2, r1*, v (r1) cng vy. 3. Mt chui l mt BTCQ nu v ch nu n c th c dn xut t cc BTCQ nguyn thy bng mt s ln hu hn p dng cc quy tc trong (2). Cho = {a, b, c}, th chui (a + b.c)*.(c + ) l BTCQ, v n c xy dng bng cch p dng cc qui tc trn. Cn (a + b +) khng phi l BTCQ.
Trang 99 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d

Ngn ng tng ng vi BTCQ


nh ngha 3.2
Ngn ng L(r) c biu th bi BTCQ bt k l c nh ngha bi cc qui tc sau. 1. l BTCQ biu th tp trng, 2. l BTCQ biu th {}, 3. i vi mi a , a l BTCQ biu th {a}, Nu r1 v r2 l nhng BTCQ, th 4. L(r1 + r2) = L(r1) L(r2), 5. L(r1.r2) = L(r1).L(r2), 6. L((r1)) = L(r1), 7. L(r1*) = (L(r1))*.
Trang 100 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Ngn ng tng ng vi BTCQ (tt)


Qui nh v u tin
u tin ca cc php ton theo th t t cao n thp l 1. bao ng sao, 2. kt ni, 3. hi.

V d
L(a* . (a + b)) = = = = L(a*) L(a + b) (L(a))* (L(a) L(b)) {, a, aa, aaa, . . .}{a, b} {a, aa, aaa, . . . , b, ab, aab, . . .}

Trang 101 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Xc nh ngn ng cho BTCQ


Tm ngn ng ca cc BTCQ sau
r1 = (aa)*(bb)*b r2 = (ab*a + b)* r3 = a(a + b)*

Kt qu
L(r1) = {a2nb2m+1: n 0, m 0} L(r2) = {w {a, b}*: na(w) chn} L(r3) = {w {a, b}*: w c bt u bng a}

Trang 102 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Tm BTCQ cho ngn ng


Tm BTCQ cho cc ngn ng sau
L1 = {tp tt c cc s thc ca Pascal} L2 = {w {0, 1}*: w khng c mt cp s 0 lin tip no} L3 = {w {0, 1}*: n0(w) = n1(w)}

Kt qu
r1 = (+ + - + )(0 + 1 + + 9)+(. (0 + 1 + + 9)+ + ) (E (+ + - + )(0 + 1 + + 9)+ + ) r2 = [(1* 011*)* + 1*] (0 + ) hoc (1 + 01)* (0 + ) Khng tn ti BTCQ biu din cho L3

Trang 103 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Mt s php ton m rng


Php chn la r? hoc [r] r ? = [r] = (r + ) Php bao ng dng + r+ = r.r*

Ch
(r*)* = r* (r1* + r2)* = (r1 + r2)* (r1r2* + r2)* = (r1 + r2)* Trong mt s ti liu php cng (+) c k hiu bng du | thay cho du + . Chng hn (a + b).c th c vit l (a | b).c
Trang 104 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

BTCQ biu th NNCQ


nh l 3.1
Cho r l mt BTCQ, th tn ti mt nfa m chp nhn L(r). V vy, L(r) l NNCQ.

B
Vi mi nfa c nhiu hn mt trng thi kt thc lun lun c mt nfa tng ng vi ch mt trng thi kt thc. qf1 tng ng vi qf1 qf

qfn

qfn

Trang 105 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Th tc: re-to-nfa
T b trn mi nfa c th c biu din bng s nh sau M qf q0 Chng minh Th tc: re-to-nfa
Input: Biu thc chnh qui r. Output: nfa M = (Q, , , q0, F).

B1. Xy dng cc nfa cho cc BTCQ nguyn thy


q0 q1 q0 q1 q0 a q1

(a) nfa chp nhn (b) nfa chp nhn {} (c) nfa chp nhn {a}
Trang 106 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Th tc: re-to-nfa (tt)


B2. Xy dng cc nfa cho cc BTCQ phc tp
nfa cho BTCQ r1 + r2 q01 q02 M(r1) M(r2) qf1 qf2 M(r1) hoc M(r2) K: 1. Khng c cnh i vo q01 v q02 2. Khng c cnh i ra qf1 v qf2
Trang 107 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Th tc: re-to-nfa (tt)


nfa cho BTCQ r1r2
M(r1) M(r2)

q01

qf1

q02

qf2

hoc
M(r1) M(r2)

K: 1. Khng c cnh i ra qf1 hoc 2. Khng c cnh i vo q02


Trang 108 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Th tc: re-to-nfa (tt)


nfa cho BTCQ r* M(r)

q0

M(r)

qf

hoc

q0 qf

K: 1. Khng c cnh i vo q0 2. Khng c cnh i ra qf

Trang 109 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Xy dng nfa cho BTCQ sau r = (a + bb)*(ba* + )
b a b b a

Hoc theo phng php ci tin b

a b b

Trang 110 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Bi tp BTCQ
Xy dng nfa cho cc BTCQ sau
r1 = aa* + aba*b* r2 = ab(a + ab)* (b + aa) r3 = ab*aa + bba*ab r4 = a*b(ab + b)*a* r5 = (ab* + a*b)(a + b*a)* b r6 = (b + a*)(ba* + ab)*(b*a + ab)

Trang 111 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

BTCQ cho NNCQ


th chuyn trng thi tng qut (generallized transition graphs):
L mt TCTT ngoi tr cc cnh ca n c gn nhn bng cc BTCQ. Ngn ng c chp nhn bi n l tp tt c cc chui c sinh ra bi cc BTCQ m l nhn ca mt con ng no i t trng thi khi u n mt trng thi kt thc no ca TCTT tng qut (TCTTTQ).

Trang 112 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

th chuyn trng thi tng qut


Hnh bn biu din mt TCTTTQ. a* a+b NN c chp nhn bi n l L(a*(a + b)c*) c*

Nhn xt
TCTT ca mt nfa bt k c th c xem l TTCTTTQ nu cc nhn cnh c din dch nh sau.
Mt cnh c gn nhn l mt k hiu n a c din dch thnh cnh c gn nhn l biu thc a. Mt cnh c gn nhn vi nhiu k hiu a, b, . . . th c din dch thnh cnh c gn nhn l biu thc a + b + . . .

Mi NNCQ u mt TCTTTQ chp nhn n. Ngc li, mi NN m c chp nhn bi mt TCTTTQ l chnh qui.
Trang 113 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Rt gn trng thi ca TCTTTQ


tm BTCQ cho mt TCTTTQ ta s thc hin qu trnh rt gn cc trng thi trung gian ca n thnh TCTTTQ tng ng n gin nht c th c.

Trng thi trung gian


L trng thi m khng phi l trng thi khi u, cng khng phi l trng thi kt thc. e q Rt gn trng thi ce*b ae*d trung gian q. ae*b qi qj ce*d

qi

a d

b c qj

Trang 114 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

nh l
Rt gn trng thi q ca TCTT sau
a

(a+b)a ab
aa q b 1 +b) (a a+ b ab q2

q0

a b b

+b a
a

q1 b q2

aa+b

q0

a+b

nh l 3.2

Cho L l mt NNCQ, th tn ti mt BTCQ r sao cho L = L(r). r4 r1 r2 th chuyn qf r3 r = r1*r2(r4 + r3r1*r2)* q0 trng thi
Trang 115 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Xc nh BTCQ cho nfa sau b a q0 a q1 b b a, b q2 b+ab*a q0 ab*b a+b q2

r = (b + ab*a)* ab*b(a + b)*

Trang 116 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

BTCQ dng m t cc mu n gin


Dng trong cc ngn ng lp trnh
BTCQ c dng m t cc token chng hn nh
Danh hiu S nguyn thc

Dng trong cc trnh son tho vn bn, cc ng dng x l chui


BTCQ c dng m t cc mu tm kim, thay th
del tmp*.???

Trang 117 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Vn phm chnh qui


Vn phm tuyn tnh - phi v tri. Vn phm tuyn tnh - phi sinh ra NNCQ. Vn phm tuyn tnh - phi cho NNCQ. S tng ng gia VPCQ v NNCQ.

Trang 118 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Vn phm tuyn tnh - phi v - tri


nh ngha 3.3
Mt vn phm G = (V, T, S, P) c gi l tuyn tnh - phi (TT-P) (right-linear) nu tt c lut sinh l c dng A xB Ax trong A, B V, x T*. Mt vn phm c gi l tuyn tnh - tri (TT-T) (left-linear) nu tt c cc lut sinh l c dng A Bx Ax Mt vn phm chnh qui (VPCQ) l hoc tuyn tnh-phi hoc tuyn tnh-tri.
Trang 119 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
VP G1 = ({S}, {a, b}, S, P1), vi P1 c cho nh sau l TT-P S abS | a VP G2 = ({S, S1, S2}, {a, b}, S, P2), vi P2 nh sau l TT-T S S1ab, S1 S1ab | S2, S2 a, Dy S => abS => ababS => ababa l mt dn xut trong G1. L(G1) = L((ab)*a) L(G2) = L(a(ab)*ab)
Trang 120 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Vn phm tuyn tnh


VP G = ({S, A, B}, {a, b}, S, P), vi cc lut sinh S A, A aB | , B Ab, khng phi l mt VPCQ. y l mt v d ca vn phm tuyn tnh (VPTT).

Vn phm tuyn tnh (Linear Grammar)


Mt vn phm c gi l tuyn tnh nu mi lut sinh ca n c dng c ti a mt bin xut hin v phi ca lut sinh v khng c s gii hn no trn v tr xut hin ca bin ny.

Trang 121 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Vn phm TT-P sinh ra NNCQ


nh l 3.3
Cho G = (V, T, S, P) l mt VPTT-P. Th L(G) l NNCQ.

Chng minh Th tc: GP to nfa

Input: Vn phm tuyn tnh-phi GP = (V, T, S, P) Output: nfa M = (Q, , , q0, F)

B1. ng vi mi bin Vi ca vn phm ta xy dng mt trng thi mang nhn Vi cho nfa tc l: Q V. B2. ng vi bin khi u V0, trng thi V0 ca nfa s tr thnh trng thi khi u, tc l: S = V0 B3. Nu trong vn phm c mt lut sinh no dng Vi a1a2am th thm vo nfa mt v ch mt trng thi kt thc Vf.
Trang 122 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Vn phm TT-P sinh ra NNCQ (tt)


B4. ng vi mi lut sinh ca vn phm c dng Vi a1a2amVj thm vo nfa cc chuyn trng thi *(Vi, a1a2am) = Vj B5. ng vi mi lut sinh dng Vi a1a2am thm vo nfa cc chuyn trng thi *(Vi, a1a2am) = Vf a1 a2 an Vi Vj Vi a1 a2 an Vf

Biu din Vi a1a2 amVj Biu din Vi a1a2 am

Trang 123 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Xy dng mt nfa chp nhn ngn ng ca vn phm sau: V0 aV1 | ba V1 aV1 | abV0 | b Nfa kt qu
V0 b b a a a V1 a b Vf

Trang 124 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Vn phm TT-P cho NNCQ


nh l 3.4
Nu L l mt NNCQ trn bng ch ci , th mt VPTT-P G = (V, , S, P) sao cho L = L(G).

Chng minh Th tc: nfa to GP


Input: nfa M = (Q, , , q0, F) Output: Vn phm tuyn tnh-phi GP = (V, , S, P) Gi thit Q = {q0, q1, , qn} v = {a1, a2, , am}. B1. V = Q, S = q0 (tc l mi trng thi trong nfa tr thnh mt bin trong vn phm)
Trang 125 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Th tc: nfa to GP
B2. Vi mi chuyn trng thi (qi, aj) = qk ca M ta xy dng lut sinh TT-P tng ng qi ajqk. B3. i vi mi trng thi qf F chng ta xy dng lut sinh qf .

V d
Xy dng VPTT-P cho ngn ng L(aab*a).
b q0 a q1 a q2 a qf

GP: q0 aq1 q1 aq2 q2 aqf | bq2 qf

Trang 126 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

S tng ng gia VPCQ v NNCQ


Nhn xt
Lp VPTT-P tng ng vi lp NNCQ

nh l 3.5 Ngn ng L l chnh qui nu v ch nu tn ti mt VPTT-T G sao cho L = L(G). Ta chng minh mi quan h tng ng thng qua VPTT-P. B 1
T VPTT-T GT cho ta xy dng VPTT-P GP tng ng nh sau
Trang 127 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

S tng ng gia VPCQ v NNCQ


1. ng vi lut sinh TT-T A Bv ta xy dng lut sinh TT-P A vRB. 2. ng vi lut sinh TT-T A v ta xy dng lut sinh TT-P A vR.

GP c xy dng theo cch trn c quan h vi GT nh sau L(GT) = L(GP)R

B 2
Nu L l chnh qui th LR cng chnh qui.

Nhn xt
Lp VPTT-T tng ng vi lp NNCQ

nh l 3.6
Mt ngn ng L l chnh qui nu v ch nu tn ti mt VPCQ G sao cho L = L(G).
Trang 128 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Xy dng nfa M, VPTT-T GT tng ng vi VPTT-P GP sau S aS | bA A bB | a B aS | b
a

b S a

A b B

a U b

b a

Y b Z

a X b

MR

GPR X aY | bZ Y bU Z bY U aU | aZ |

GT

Trang 129 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

X Ya | Zb Y Ub Z Yb U Ua | Za |

Chng 4 Cc tnh cht ca ngn ng chnh qui


NNCQ tng qut l nh th no? C phi chng mi ngn ng hnh thc u l chnh qui? Khi chng ta thc hin cc php ton trn NNCQ th kt qu s nh th no, c cn l mt NNCQ khng? Mt ngn ng no c hu hn khng? C rng khng? Lm th no bit mt ngn ng cho c l chnh qui khng?

Trang 130 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Chng 4 Cc tnh cht ca ngn ng chnh qui


4.1 Tnh ng ca ngn ng chnh qui. 4.2 Cc cu hi c bn v ngn ng chnh qui.. 4.3 Nhn bit cc ngn ng khng chnh qui

Trang 131 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Tnh ng ca NNCQ
ng di cc php ton tp hp n gin. nh l 4.1
Nu L1 v L2 l cc NNCQ, th L1L2, L1L2 , L1L2, L v L1* cng vy. Chng ta ni rng h NNCQ l ng di cc php hi, giao, kt ni, b v bao ng-sao.

Chng minh
Nu L1, L2 l chnh qui th cc BTCQ r1, r2 sao cho L1= L(r1), L2= L(r2). Theo nh ngha r1 + r2, r1r2 v r1* l cc BTCQ nh ngha cc ngn ng L1L2, L1L2, v L1*. V vy h NNCQ l ng i vi cc php ton ny. CM tnh ng i vi php b, cho M = (Q, , , q0, F) l ^ dfa chp nhn L1, th dfa M = (Q, , , q0, Q - F) chp nhn L .
Trang 132 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

ng di cc php ton tp hp n gin


CM tnh ng i vi php giao ta c hai cch nh sau. Cch th nht Da vo qui tc De Morgan ta c Da vo tnh ng ca php b v php hi va c chng minh trn ta suy ra tnh ng i vi php giao. Cch th hai Ta s xy dng mt dfa cho L1 L2. Cho M1 = (Q, , 1, q0, F1) v M2 = (P, , 2, p0, F2) l cc dfa ln lt chp nhn L1, L2. ^ ^ ^ ^ Ta xy dng dfa M = (Q , , , ( q0 , p0 ), F ) chp nhn L1 L2 bng th tc intersection sau.
Trang 133 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

L1 I L2 = L1 I L2 = L1 U L2

Th tc: intersection
Th tc: intersection
Input: dfa M1 = (Q, , 1, q0, F1) v dfa M2 = (P, , 2, p0, F2) ^ ^ ^ ^ Output: dfa M = (Q , , , ( q0 , p0 ), F ) ^ ^ Q = Q P, tc l Q = {(qi, pj): trong qi Q cn pj P}. Cc chuyn trng thi c xy dng nh sau ^ ((qi, pj), a) = (qk, pl) nu v ch nu 1(qi, a) = qk v 2(pj, a) = pl ^ F = {(qi, pj): trong qi F1 cn pj F2}

Trang 134 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Th tc: intersection (tt)


Cch xy dng trn m phng li qu trnh x l ca ng thi ^ ^ hai dfa M1 v M2. Ngoi ra da vo nh ngha ca ta thy M ch chp nhn nhng chui m c ng thi c hai dfa M1 v ^ M2 chp nhn. V vy M chp nhn L1 L2. V d Tm dfa giao ca L1={a2nbm: n, m 0} v L2={a3nb2m: n, m 0}
q1 a a q0 p2 a a p0 b b q2 b b a q0 p1 a q1 p0 a q0 p2 a q1 p1 q0 p0 a b q2 p3 b b q2 p4

L1

L2

p1 a b

p3

p4

L1 L2

q1 p2 a

Trang 135 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

ng di cc php ton tp hp n gin (tt)


nh l 4.2
H NNCQ l ng di php hiu v nghch o.

Chng minh
chng minh tnh ng i vi php hiu da vo cc qui tc tp hp ta c: L1 - L2 = L1 L2 Da vo tnh ng ca php b v php giao c chng minh, suy ra tnh ng cho php hiu. Tnh ng ca php nghch o c chng minh Chng 3, slide 128.
Trang 136 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

ng di cc php ton khc


Php ng hnh (homomorphism) nh ngha 4.1
Gi s v l cc bng ch ci, th mt hm h: * c gi l mt php ng hnh. Bng li, mt php ng hnh l mt s thay th trong mi k hiu n c thay th bng mt chui. M rng nu w = a1a2. . . an, th h(w) = h(a1)h(a2). . .h(an) Nu L l ngn ng trn , th nh ng hnh (homomorphic image) ca n c nh ngha l h(L) = {h(w): w L}.
Trang 137 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Cho ={a, b}, ={a, b, c} v h c nh ngha nh sau h(a) = ab, h(b) = bbc. Th h(aba) = abbbcab. nh ng hnh ca L = {aa, aba} l ngn ng h(L) = {abab, abbbcab}. Cho ={a, b}, ={ b, c, d } v h c nh ngha nh sau h(a) = dbcc, h(b) = bdc. Nu L l ngn ng c biu th bi BTCQ r = (a + b*)(aa)*, th r1 = (dbcc + (bdc)*)(dbccdbcc)*, l BTCQ biu th cho h(L). T dn ta ti nh l sau
Trang 138 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

nh l
nh l 4.3
Cho h l mt ng hnh. Nu L l mt NNCQ, th nh ng hnh ca n h(L) cng l NNCQ. H cc NNCQ v vy l ng di php ng hnh bt k.

Php thng ng nh ngha 4.2

Cho w, v * th thng ng (right quotient) ca w cho v c k hiu v nh ngha l w/v = u nu w = uv, ngha l nu v l tip v ng ca w th w/v l tip u ng tng ng ca w. Cho L1 v L2 l cc ngn ng trn bng ch ci ging nhau, th thng ng ca L1 vi L2 c nh ngha l L1/L2 = {w/v: w L1, v L2 } = {x : xy L1 vi mt y no L2 }
Trang 139 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Cho L1 = {anbm: n 1, m 0} {ba} v L2 = {bm: m 1}, th L1 /L2 = { anbm: n 1, m 0}. V L1, L2, v L1 /L2 l cc NNCQ , iu ny gi cho chng ta rng thng ng ca hai NNCQ cng l NNCQ.

B
Cho M1 = (Q1, , 1, q0, F1) l mt dfa cho L1. Nu mt trng thi q no Q1 c tnh cht tn ti mt chui y no L2 sao cho 1*(q, y) F1 th x m 1*(q0, x) = q, x s L1/L2. V v vy nu thay nhng trng thi kt thc ca M bng nhng trng thi q c tnh cht ny th ta s c mt dfa m chp nhn L1/L2.
Trang 140 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

nh l
M1 M2 q0 p0 x q y y qf pf x m 1*(q0, x) = q th x L1/L2

nh l 4.4
Nu L1 v L2 l cc NNCQ, th L1/L2 cng chnh qui. Chng ta ni rng h NNCQ l ng di php thng ng.

Chng minh
Cho L1 = L(M) trong M = (Q, , , q0, F) l mt dfa. Ta xy ^ ^ dng mt dfa khc M =( Q, , , q0, F ), chp nhn L1/L2,bng cch ch thay i tp F thng qua th tc sau.
Trang 141 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Th tc: right quotient


Th tc: right quotient
Input: dfa M1 = (Q, , 1, q0, F1) v dfa M2 = (P, , 2, p0, F2) ^ ^ Output: dfa M = (Q, , 1, q0, F ) ^ Ta xc nh F bng cch xc nh vi mi qi Q, c tn ti hay khng chui y L2 sao cho *(qi, y) F. Nu ng th a ^ qi vo F. iu ny c th thc hin c bng cch xt cc dfa Mi = (Q, , 1, qi, F). chnh l M nhng trng thi khi u q0 c thay bng qi. Ri xt xem L2 L(Mi) c khng. Nu khc th qi ^ c tnh cht ni trn v thm qi vo F . Thc hin iu ny ^ ^ qi Q, ta s xc nh c F v v vy xy dng c M .
Trang 142 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Tm L1/L2 cho L1 = L(a*baa*), L2 = L(ab*). a a L1/L2 b q0 q2

a M1 q0 b q1 b M2 p0 a p1 a

a q1 a q2

Trang 143 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc cu hi c bn v NNCQ
Cho mt ngn ng L v mt chui w, chng ta c th xc nh c w c phi l mt phn t ca L hay khng?
y l mt cu hi thnh vin (membership) v phng php tr li n c gi l gii thut thnh vin.

Mt ngn ng cho l hu hn hay v hn? Hai ngn ng no c ging nhau khng? C hay khng mt ngn ng l tp con ca mt ngn ng khc?

Biu din chun (Standard representation)


Chng ta ni rng mt NNCQ l c cho trong mt dng biu din chun nu v ch nu n c m t bi mt trong ba dng sau y: mt tmt hu hn, mt BTCQ hoc mt VPCQ.
Ch t mt dng biu din chun ny lun c th xc nh c cc dng biu din chun khc nh vo cc nh l c CM trc y.
Trang 144 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc nh l
nh l 4.5
Cho mt biu din chun ca mt NNCQ L bt k trn v mt chui w bt k *, th tn ti gii thut xc nh w c L hay khng.

Chng minh
Chng ta biu din ngn ng bng mt dfa ri kim tra xem w c c chp nhn bi dfa ny khng.

nh l 4.6
Tn ti gii thut xc nh mt NNCQ cho trong mt dng biu din chun c trng, hu hn, v hn hay khng.
Trang 145 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc nh l (tt)
Chng minh
Chng ta biu din ngn ng bng mt dfa. Nu tn ti mt con ng i t trng thi khi u n mt trng thi kt thc no th ngn ng l khc trng. xc nh ngn ng c v hn khng, ta tm tt c cc nh m c chu trnh i qua n. Nu c mt nh trong s ny thuc mt con ng no i t trng thi khi u n mt trng thi kt thc th ngn ng l v hn, ngc li th l hu hn.

Trang 146 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc nh l (tt)
nh l 4.7
Cho cc biu din chun ca hai NNCQ L1 v L2, tn ti gii thut xc nh c hay khng L1 = L2.

Chng minh
S dng L1 v L2 chng ta xy dng ngn ng: L3 = ( L1 I L2 ) U ( L1 I L2 ) Theo l thuyt tp hp ta c L1 = L2 khi v ch khi L3 = . Vy thay v kim tra L1 c bng L2 khng ta chuyn v kim tra L3 c bng khng. Bng tnh ng L3 l chnh qui, v chng ta c th tm thy dfa M m chp nhn L3. Thm vo chng ta c gii thut trong nh l 4.6 xc nh xem L3 c bng trng khng. Nu L3 = th L1 = L2, ngc li th khng.
Trang 147 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Nhn bit cc NN khng CQ


S dng nguyn l chung chim b cu
Nu chng ta t n vt th vo trong m hp, v nu n > m, th t nht c mt hp cha nhiu hn mt vt th.

Ngn ng L = {anbn : n 0} c chnh qui khng?


Cu tr li l khng, nh chng ta s chng t bng cch s dng phng php phn chng sau. Gi s L l chnh qui th dfa M = (Q, {a,b}, , q0, F) no cho L. Xt *(q0, ai) vi i = 0, 1, 2, 3, ... V c mt s khng gii hn cc i, nhng ch c mt s hu hn cc trng thi trong M, theo nguyn l chung chim b cu th phi c mt trng thi no , chng hn q, sao cho *(q0, an) = q v *(q0, am) = q, vi n m.
Trang 148 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Nhn bit cc NN khng CQ


Nhng v M chp nhn anbn nn ta c *(q, bn) = qf F. Kt hp vi trn ta suy ra *(q0, ambn) = *(q, bn) = qf . V vy M chp nhn c chui ambn vi n m. iu ny mu thun vi nh ngha ca L, suy ra L khng chnh qui.

Nhn xt
Trong l lun ny, nguyn l chung chim b cu n gin pht biu rng mt tmt hu hn c mt b nh hu hn. chp nhn tt c cc chui anbn, mt tmt phi phn bit gia mi tip u ng an v am. Nhng v ch c mt s hu hn cc trng thi ni thc hin iu ny, nn phi c mt n v mt m no m i vi chng tmt khng th phn bit c.
Trang 149 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

B bm
nh l 4.8
Cho L l mt NNCQ v hn, th tn ti mt s nguyn dng m no sao cho w L v |w| m u tn ti mt cch phn tch w thnh b ba w = xyz, vi |xy| m, v |y| 1, sao cho wi =xyiz L i = 0, 1, 2, ...

Chng minh
Nu L l chnh qui, th mt dfa chp nhn n. Ly mt dfa nh th c tp trng thi Q = {q0, q1, q2, ... ,qn}. Chn m = |Q| = n + 1.
Trang 150 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Chng minh b bm (tt)


Ly mt chui w bt k L v |w| = k m. Xt mt dy cc trng thi m tmt i qua khi x l chui w, gi s l q0, qi, qj, . . . .,qf V |w| = k suy ra dy ny c k + 1 phn t. V k + 1 > n + 1 nn c t nht mt trng thi phi c lp li, v s lp li ny nm trong n + 2 phn t u tin ca dy. V vy dy trn phi c dng q0 , qi , qj , ... , qr , ... , qr , ... , qf
Trang 151 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Chng minh b bm (tt)


suy ra phi c cc chui con x, y, z ca w sao cho *(q0, x) = qr , *(qr, y) = qr , *(qr, z) = qf , vi |xy| n + 1 = m, v s lp li trng thi xy ra trong n + 2 phn t u tin, v |y| 1. T iu ny suy ra *(qr, xz) = qf , cng nh *(qr, xyiz) = qf , i = 0, 1, 2 , n y nh l c chng minh.
Trang 152 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Vn dng b bm
S dng b bm chng minh L = {anbn: n 0} l khng chnh qui.
Gi s L l chnh qui, d thy L v hn. Theo b bm tn ti s nguyn dng m. Chn w = ambm L, |w|=2m m. Theo b bm mt cch phn tch w thnh b ba w = xyz, trong |xy| m (1), |y|= k 1 (2). T cch chn w c m k hiu a i u, kt hp vi (1) suy ra xy ch cha a, t y suy ra y cng ch cha a. Vy y = ak. Xt wi = xyiz vi i = 0, ta c w0 = an - kbn L theo b bm, nhng iu ny mu thun vi nh ngha ca L. Vy L l khng chnh qui.
Trang 153 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Vn dng b bm (tt)
Nhn xt L lun ny c th c trc quan ha nh mt tr chi chng ta u vi mt i th. Mc ch ca chng ta l thng vn chi bng cch to ra mt s mu thun ca b bm, trong khi i th th chn ng chng ta. C bn bc i trong tr chi ny nh sau. (1) i th ly m. (2) Vi m cho chng ta ly mt chui w L tha |w| m. (3) i th chn phn hoch xyz, tha |xy| m, |y| 1. Chng ta phi gi thit rng i th chn la lm sao cho chng ta kh thng vn chi nht. (4) Chng ta chn i sao cho chui c bm ln L.
Trang 154 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Vn dng b bm (tt)
Bc quyt nh y l bc (2). Trong khi chng ta khng th p buc i th ly mt phn hoch c th ca chui w, chng ta c th chn chui w sao cho i th b hn ch nghim ngt trong bc (3), p buc mt s chn la ca x, y, z sao cho cho php chng ta to ra mt mu thun vi b bm trn bc k tip ca chng ta.

V d
Chng minh cc ngn ng sau l khng chnh qui. L1 = {wwR: w {a, b}*} L2 = {anbl: n l}

Trang 155 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Tm tt h NNCQ
ng vi hi, giao, kt ni, b, bao ng sao, hiu, nghch o, ng hnh, thng ng wL? L=? L v hn ? L1 = L2 ? L chnh qui ?

Dfamin

NNCQ

Dfa

Nfa

VPTT-T

VPTT-P

BTCQ

Trang 156 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Chng 5 Ngn ng phi ng cnh


5.1 Vn phm phi ng cnh 5.2 Phn tch c php v tnh nhp nhng 5.3 Vn phm phi ng cnh v ngn ng lp trnh

Trang 157 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Vn phm phi ng cnh


nh ngha 5.1
Mt vn phm G = (V, T, S, P) c gi l phi ng cnh (context free) nu mi lut sinh trong P c dng A x, trong A V cn x (V T)*. Mt ngn ng c gi l phi ng cnh nu v ch nu c mt VPPNC G sao cho L = L(G).

Nhn xt
Mi NNCQ u l PNC, nhng iu ngc li th khng. Nh chng ta s thy sau ny h NNCQ l mt tp con thc s ca h NNPNC.
Trang 158 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc v d v NNPNC
V d 1
Vn phm G = ({S}, {a, b}, S, P), c cc lut sinh S aSa | bSb | , l PNC. Mt dn xut in hnh trong vn phm ny l S aSa aaSaa aabSbaa aabbaa D thy L(G) = {wwR: w {a, b}*} Vn phm trong v d trn khng nhng l PNC m cn l tuyn tnh. Cc VPCQ v tuyn tnh r rng l PNC, nhng mt VPPNC khng nht thit l tuyn tnh.
Trang 159 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc v d v NNPNC (tt)
V d 2 Ngn ng sau l PNC. L = {anbn: n 0} VPPNC cho ngn ng ny l: S aSb | V d 3 Ngn ng sau l PNC. L = {anbm: n m} Trng hp n > m Trng hp m > n S AS1 S S1B S1 aS1b | S1 aS1b | A aA | a B bB | b

VP kt qu S AS1 | S1B S1 aS1b | A aA | a B bB | b

Trang 160 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc v d v NNPNC (tt)
V d 4
Xt vn phm sau S aSb | SS | . Vn phm ny sinh ra ngn ng L = {w {a, b}*: na(w) = nb(w) v na(v) nb(v), vi v l mt tip u ng bt k ca w}

Nhn xt
Nu trong ngn ng trn thay a bng du m ngoc (, b bng du ng ngoc ), th ngn ng s tng ng vi cu trc ngoc lng nhau, chng hn (( )) hay (( ) ( )), ph bin trong cc ngn ng lp trnh.
Trang 161 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Dn xut tri nht v phi nht


Trong VPPNC m khng tuyn tnh, mt dn xut c th bao gm nhiu dng cu vi nhiu hn mt bin. Nh vy, chng ta c mt s la chn th t bin thay th. Xt vn phm G = ({A, B, S}, {a,b}, S, P) vi cc lut sinh 1. S AB, 2. A aaA, 4. B Bb, 3. A , 5. B . D dng thy rng vn phm ny sinh ra ngn ng L(G) = {a2nbm : n 0, m 0}. By gi xt hai dn xut ca chui aab 1 2 3 4 5 S AB aaAB aaB aaBb aab
1 4 2 5 3 AB ABb aaABb aaAb aab. S
Trang 162 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Dn xut tri nht v phi nht (tt)


trnh by lut sinh no c s dng, chng ta nh s cc lut sinh v ghi s thch hp trn k hiu dn xut . T y chng ta thy rng hai dn xut khng ch to ra cng mt cu m cn s dng chnh xc cc lut sinh ging nhau ch khc bit v th t cc lut sinh c p dng. loi b cc yu t khng quan trng nh th, chng ta thng yu cu rng cc bin c thay th trong mt th t ch nh. T y chng ta a ra nh ngha sau.

nh ngha 5.2
Mt dn xut c gi l tri nht (DXTN - leftmost derivation) nu trong mi bc bin tri nht trong dng cu c thay th. Nu bin phi nht c thay th, chng ta gi l dn xut phi nht (DXPN - rightmost derivation).
Trang 163 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Xt vn phm vi cc lut sinh (c nh ch s bn tay phi) S aAB, 1 A bBb, 2 B A | , 3, 4 1 2 3 2 4 4 S aAB abBbB abAbB abbBbbB abbbbB abbbb l mt DXTN ca chui abbbb. Mt DXPN ca chui ny l 1 2 2 3 4 4 S aAB aA abBb abAb abbBbb abbbb DXTN v DXPN c li im l ta ch cn trnh by dy s hiu lut sinh c dng sinh ra cu m khng s b nhm ln. DXTN ca abbbb l: 123244. DXPN ca abbbb l: 142324.
Trang 164 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cy dn xut
Mt cch th hai trnh by cc dn xut, c lp vi th t cc lut sinh c p dng, l bng cy dn xut (CDX). Mt CDX l mt cy c th t trong cc nt c gn nhn vi v tri ca lut sinh cn cc con ca cc nt biu din v phi tng ng ca n. Chng hn, bn di trnh by mt phn ca CDX biu din lut sinh A abABc. A a b A B c

Trang 165 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cy dn xut (tt)
nh ngha 5.3
Cho G = (V, T, S, P) l mt VPPNC. Mt cy c th t l mt cy dn xut cho G nu v ch nu c cc tnh cht sau. 1. Gc c gn nhn l S. 2. Mi l c mt nhn ly t tp T {}. 3. Mi nt bn trong (khng phi l l) c mt nhn ly t V. 4. Nu mi nt c nhn A V, v cc con ca n c gn nhn (t tri sang phi) a1, a2, ... , an, th P phi cha mt lut sinh c dng A a1a2 ... an 5. Mt l c gn nhn th khng c anh ch em, tc l, mt nt vi mt con c gn nhn khng th c con no khc.
Trang 166 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cy dn xut (tt)
Mt cy m c cc tnh cht 3, 4 v 5, cn tnh cht (1) khng nht thit c gi v tnh cht 2 c thay th bng 2.Mi l c mt nhn ly t tp V T {} th c gi l mt cy dn xut ring phn (CDXRP). Chui k hiu nhn c bng cch c cc nt l ca cy t tri sang phi, b qua bt k no c bt gp, c gi l kt qu (yield) ca cy.

Trang 167 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Xt vn phm G vi cc lut sinh sau S aAB, A bBb, B A | , CDX cho chui abbbb CDX ring phn S S a b A B B b a b A B
Trang 168 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

B b b A B b

Mi quan h gia dng cu v CDX


Nhn xt
CDX a ra mt m t ca dn xut rt tng minh v d hiu. Ging nh TCTT cho tmt hu hn, s tng minh l mt s gip ln trong vic thc hin l lun. Tuy vy, u tin chng ta phi thit lp mt quan h gia dn xut v CDX.

nh l 5.1
Cho G = (V, T, S, P) l mt VPPNC, th w L(G), tn ti mt CDX ca G m kt qu ca n l w. Ngc li, kt qu ca mt CDX bt k l thuc L(G). Tng t, nu tG l mt CDX ring phn bt k ca G m gc ca n c gn nhn l S th kt qu ca tG l mt dng cu ca G.
Trang 169 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Phn tch c php v tnh nhp nhng


Phn tch c php (Syntax analysis hay parsing) Phn tch c php (PTCP) l qu trnh xc nh mt chui c c sinh ra bi mt vn phm no khng, c th l qu trnh tm CDX cho chui . Kt qa ca qu trnh PTCP ri vo mt trong hai kh nng yes hoc no. Yes c ngha l chui c sinh ra bi vn phm v km theo mt hay mt s dn xut sinh ra chui. No c ngha l chui khng c sinh ra bi vn phm hay cn gi l chui khng ng c php, c li (error). Cc gii thut phn tch c php thng c dng nh sau: Input: G = (V, T, S, P) v chui w cn phn tch Output: yes hay no. Trong trng hp yes thng c km theo DXTN hay DXPN ca chui.
Trang 170 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc trng phi phn tch c php


C hai trng phi PTCP c bn
1. PTCP t trn xung (Top-down parsing): xy dng CDX t gc xung l. 2. PTCP t di ln (Bottom-up parsing): xy dng CDX t l ln gc.

V d
Cho vn phm G sau: S aAbS | bBS | (1, 2, 3) A aAA | aS | b (4, 5, 6) B bBB | bS | a (7, 8, 9) Hy PTCP t trn xung cho chui sau: w = aabbbba.
Trang 171 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d v PTCP t trn xung


Qu trnh phn tch bt u t k hiu mc tiu S. L qu trnh thay th bin trong dng cu i t dng ny sang dng cu khc chi tit hn cho n khi hoc n c chui cn phn tch hoc khng (cn c gi l gp li). Vic PTCP t trn xung bao gm hai u c, mt c trn chui k hiu nhp, di chuyn t tri sang phi, mt c trn cc dng cu, cng di chuyn t tri sang phi. Vo thi im khi u, u c 1 nm v tr khi u ca chui nhp, u c 2 nm v tr khi u ca dng cu th nht chnh l k hiu mc tiu S. Ta th hin mi u c bng mt du chm . Vn ct li ca PTCP t trn xung l quyt nh chn v phi no trong cc v phi ca bin cn thay th m c kh nng nht sinh ra c chui nhp.
Trang 172 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d v PTCP t trn xung (tt)


S aAbS | bBS | (1, 2, 3) A aAA | aS | b (4, 5, 6) B bBB | bS | a (7, 8, 9) Khi u 1 Chui nhp aabbbba Dng cu S 6 Chui nhp aabbbb Dng cu aaabAbS 2 Chui nhp aabbbba Dng cu aabbbbBS aabbbba aAbS aabbbba aabAbS DXTN: 1.4.6.6.2.9.3 4

aabbbba aabbbba aabbbba aAbS aaAAbS aaAAbS 6 aabbbba aabbbba aabbbba aabbbS aabbbS aabbbS 9 3

aabbbba aabbbba aabbbba aabbbba aabbbbBS aabbbbaS aabbbbaS aabbbba

Trang 173 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d v PTCP t di ln
Hy PTCP t di ln cho w = abbcde trn vn phm G sau: S aABe (1) A Abc | b (2, 3) Bd (4) B1. Cc l ca cy dn xut a b b c d e A B2. Thu gim bng A b a b b c d e A B3. Thu gim bng A Abc a A

Trang 174 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

b b c d e

V d v PTCP t di ln (tt)
S aABe (1) A Abc | b (2, 3) Bd (4) B4. Thu gim bng B d A

A a

b b c d e S A A B

B5. Thu gim bng S aABe

b b c d e 1 3 2 4 Kt qu: abbcde aAbcde aAde aABe S 1 2 3 4 Hay S aABe aAde aAbcde abbcde (DXPN)
Trang 175 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Phng php PTCP vt cn


Qua v d trn ta thy, vn ct li ca PTCP t di ln l l quyt nh chn chui thnh phn no ca dng cu thu gn m c kh nng nht thu gn c v thnh bin mc tiu.

Phng php phn tch c php vt cn (PPPTCPVC exhaustive search parsing)


1. lt (round) th nht xem xt tt c cc lut sinh c dng S x, tm tt c cc x m c th c dn xut t S bi mt bc. 2. Nu khng c kt qu no trong s ny trng vi w, chng ta s i tip n lt tip theo, trong chng ta p dng tt c cc lut sinh c th ti bin tri nht ca mi x.
Trang 176 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Phng php PTCP vt cn (tt)


3. Trong mi lt k tip, chng ta li ly tt c cc bin tri nht v p dng tt c cc lut sinh c th, ri lp li bc 2.

Nhn xt
Sau lt th n chng ta c cc dng cu m c th c dn xut t S vi n lut sinh. Nu w L(G), th n phi c mt DXTN c di hu hn. V vy phng php ny cui cng s tm c mt DXTN ca w.

V d
Xt vn phm S SS | aSb | bSa | v chui w = aabb. 1, 2, 3, 4

Trang 177 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
S SS | aSb | bSa | 1, 2, 3, 4 Lt 1 Lt 2 1. S SS 1.1 S SS SSS 2. S aSb 1.2 S SS aSbS 3. S bSa 1.3 S SS bSaS 4. S 1.4 S SS S 2.1 S aSb aSSb 2.2 S aSb aaSbb 2.3 S aSb abSab 2.4 S aSb ab w = aabb.

n Lt 3 ta tm thy 2.2.4 S aSb abSab abab Vy chui aabb thuc ngn ng ca vn phm ang xt.
Trang 178 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Nhn xt
PPPTCPVC c cc nhc im nghim trng sau.
1. Khng hiu qu. B bng n t hp. 2. C kh nng khng bao gi kt thc i vi cc chui L(G). Chng hn vi w = abb, phng php ny s i n vic sinh ra v hn cc dng cu m khng dng li, tr phi chng ta b sung thm vo cch cho n dng li. Nhc im 2 c th khc phc c nu chng ta gii hn vn phm khng c php cha cc lut sinh rng (A ) v n v (A B).

Trang 179 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

nh l
nh l 5.2
Gi s rng G = (V, T, S, P) l mt VPPNC m khng c bt k lut sinh no c dng A , hay A B, trong A, B V, th PPPTCPVC c th c hin thc thnh mt gii thut m w T*, hoc to ra c s PTCP ca w, hoc bit rng khng c s PTCP no l c th cho n.

Chng minh
mi bc dn xut hoc chiu di hoc s k hiu kt thc ca dng cu tng t nht 1 n v. V vy sau khng qu (2|w| 1) lt, chng ta s xc nh c w c L(G) khng.
Trang 180 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

nh l (tt)
nh l 5.3
i VPPNC gii thut m phn tch mt chui w bt k c L(G) khng trong mt s bc t l vi |w|3.

Nhn xt
Mt PP m thi gian t l vi |w|3 l khng hiu qu. Nu mt trnh bin dch da trn s cn mt lng thi gian kh ln PTCP cho thm ch mt chng trnh c di trung bnh. Nhng g m chng ta mun l t l vi |w|. Chng ta gi nhng PP nh vy l PPPTCP thi gian tuyn tnh. Tng qut, chng ta khng bit mt PPPTCP thi gian tuyn tnh no cho NNPNC, nhng cc PP nh th c th c tm thy i vi mt s lp VP c bit.
Trang 181 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Vn phm-s
Vn phm-s (simple grammar)
L mt VPPNC trong cc lut sinh c dng A ax trong A V, a T, x V*, v mi cp (A, a) ch c th xut hin ti a trn mt lut sinh. Ni cch khc, nu hai lut sinh bt k m c v tri ging nhau th v phi ca chng phi bt u bng cc k hiu kt thc khc nhau.

V d
Bn di l mt v d v vn phm-s S aS | bA (1, 2) A aAA | b (3, 4)
Trang 182 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Vn phm-s (tt)
Vn phm-s cho php PTCP mt chui w bt k khng qu |w| bc. Vi mi cp (A, a) trong A l bin cn thay th, a l k hiu ang c xt chui nhp, c ti a mt v phi ca A c th c p dng. S aS | bA (1, 2) V d vi VP trn vic PTCP chui ababb A aAA | b (3, 4) ch tn 5 bc v c kt qu nh sau. 3 1 2 4 4 S aS abA abaAA ababA ababb Vn phm-s c th m rng x, bng cch cho x (V T)*. iu ny khng lm thay i kh nng v tnh cht ca vn phm m cn lm qu trnh PTCP n gin hn mt cht. Ngn ng Pascal c th c biu th bng vn phm-s.
Trang 183 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Tnh nhp nhng trong VP v NN


nh ngha 5.4
Mt VPPNC G c gi l nhp nhng nu mt w L(G) m c t nht hai CDX khc nhau. Ni cch khc, s nhp nhng suy ra tn ti hai hay nhiu DXTN hay PN.

V d
Xt vn phm sau G = (V, T, E, P) vi V = {E, I}, T = {a, b, c, +, *, (, )} v cc lut sinh E I | E + E | E * E | (E) Ia|b|c Vn phm ny l nhp nhng v vi chui a + b * c c hai CDX khc nhau trn G nh sau.
Trang 184 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Tnh nhp nhng trong VP v NN (tt)


E E I a + E I b E * E I c E I a E + E * E I b E I c E T F I a E + T F I b T * F I c

VP sau tng ng vi VP trn nhng khng c nhp nhng. Tp bin V = {E, T, F, I}

ET|E+T TF|T*F F I | (E) Trang 185 I a|b|c L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Tnh nhp nhng trong VP v NN (tt)


nh ngha 5.5
Nu L l mt NNPNC m i vi n mt VP khng nhp nhng, th L c gi l khng nhp nhng. Nu mi VP sinh ra L m nhp nhng, th NN c gi l nhp nhng c hu.

V d
Ngn ng L = {anbncm} { anbmcm } vi n, m khng m l mt NNPNC nhp nhng c hu. (Ch L = L1 L2). G2: S2 AX2 G1: S1 X1C X2 bX2c | X1 aX1b | C cC | A aA | Mt VP cho L bng cch kt hp hai VP trn vi lut sinh thm vo l S S1 | S2
Trang 186 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Tnh nhp nhng trong VP v NN (tt)


Vn phm ny l nhp nhng v chui anbncn thuc c L1 ln L2 nn n c hai dn xut ring bit mt ci bt u bng S S1 v mt ci bt u bng S S2. iu ny cng gi cho chng ta chng minh rng mi VP cho L u s nhp nhng trn chui anbncn tng t nh trng hp trn. Mt chng minh cht ch c thc hin trong ti liu ca Harrison nm 1978. y n c li nh bi tp cho cc bn.

Trang 187 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

VPPNC v ngn ng lp trnh


Mt ng dng quan trng ca l thuyt NNHT l nh ngha cc NNLT cng nh xy dng cc trnh dch cho chng. Theo truyn thng ngi ta dng dng k php Backus-Naur (vit tt l BNF) vit mt NNLT . Chng hn <expression> ::= <term> | <expression> + <term>, <term> ::= <factor> | <term> * <factor>, <if_statement> ::= if <expression><then_clause><else_clause> Vn phm-s khng sc biu din cc NNLT. C hai loi vn phm l LL v LR c kh nng biu din cc NNLT, v cn cho php PTCP trong thi gian tuyn tnh. Khng gii thut loi b s nhp nhng ca VP. VPPNC khng th biu din mt ng ngha ca cc NNLT.
Trang 188 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Chng 6 n gin ha VPPNC v cc dng chun


6.1 Cc phng php bin i vn phm 6.2 Hai dng chun quan trng 6.3 Gii thut thnh vin cho vn phm phi ng cnh

Trang 189 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc phng php bin i vn phm


Chui trng ng mt vai tr kh c bit trong nhiu nh l v chng minh, v thng cn c mt s ch c bit cho n. Nu L th biu din L = L1 {} vi L1 = L {}. Nu G1 = (V1, T, S1, P1) l vn phm biu din cho L1 th G = (V1 {S}, T, S, P1 {S S1 | }) l vn phm biu din cho L. Trong chng ny, chng ta ch xem xt cc NNPNC khng cha . Tuy nhin nhng kt lun cho ngn ng khng cha vn c th p dng cho ngn ng c cha .
Trang 190 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Mt vi qui tc thay th hiu qu


nh l 6.1
Cho G = (V, T, S, P) l mt VPPNC. Gi s P c cha lut sinh A x1Bx2 trong A, B l cc bin khc nhau v B y1 | y2 | ... | yn l tp tt c cc lut sinh trong P m c B v tri. Cho G1= (V, T, S, P1) l VP c xy dng bng cch xa i A x1Bx2 t P, v thm vo n A x1y1x2 | x1y2x2| ... | x1ynx2 Th L(G) = L(G1)
Trang 191 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Xt vn phm G = ({A, B}, {a, b}, A, P) vi cc lut sinh A a | aA | bBc, B abA | b. Sau khi thay th bin B ta nhn c VP tng ng nh sau A a | aA | babAc | bbc, B abA | b Chui abbc c cc dn xut trong G v G1 ln lt nh sau: A aA abBc abbc A aA abbc Ch rng, bin B v cc lut sinh ca n vn cn trong VP mc d chng khng cn ng vai tr g trong bt k dn xut no. Sau ny chng ta s thy rng nhng lut sinh khng cn thit nh vy c th b loi b ra khi vn phm.
Trang 192 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Loi b qui tri


nh l 6.2 (Loi b qui tri)
Cho G = (V, T, S, P) l mt VPPNC. Chia tp cc lut sinh m v tri ca chng l mt bin cho no (chng hn l A), thnh hai tp con ring bit A Ax1 | Ax2 | ... | Axn (6.2) A y1 | y2 | ... | ym (6.3) vi xi, yi (V T)*, v A khng l prefix ca bt k yi no. Xt G1 = (V {Z}, T, S, P1), trong Z V v P1 nhn c bng cch thay mi lut sinh ca P c dng (6.2 ) v (6.3) bi A yi | yiZ, i = 1, 2, . . . , m, Z xi | xiZ, i = 1, 2, . . . , n, Th L(G) = L(G1).
Trang 193 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Loi b qui tri (tt)


Chng minh
Cc dng cu m A sinh ra trong vn phm G c dng: * A A(x1 + x2 + ... + xn)* yi(x1 + x2 + ... + xn)* Cc dng cu ny cng c th c sinh ra trong G1 bng cch ch Z c th sinh ra cc dng cu c dng * Z (x1 + x2 + ... + xn)(x1 + x2 + ... + xn)* m A yi | yiZ nn * A yi(x1 + x2 + ... + xn)* V vy L(G) = L(G1).

Ghi ch

Cc lut sinh qui-tri ch l mt trng hp c bit ca qui-tri trong vn phm nh c pht biu sau. Mt vn phm c gi l qui-tri nu c mt bin A no * m i vi n A Ax l c th.
Trang 194 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
S dng nh l 6.2 loi b cc lut sinh qui-tri khi VP A Aa | aBc | B Bb | ba p dng nh l cho bin A ta c tp lut sinh mi nh sau: A aBc | | aBcZ | Z B Bb | ba Z a | aZ p dng nh l mt ln na ln ny cho bin B ta c tp lut sinh kt qu cui cng nh sau: A aBc | aBcZ | Z | B ba | baY Z a | aZ Y b | bY

Nhn xt
Vic loi b cc lut sinh qui-tri a ra cc bin mi. VP kt qu c th l "n gin" hn ng k so vi VP gc nhng mt cch tng qut n s c nhiu bin v lut sinh hn.
Trang 195 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Lut sinh v dng


nh ngha 6.1:
Cho G = (V, T, S, P) l mt VPPNC. Mt bin A V c gi l kh dng nu v ch nu c t nht mt chui w L(G) sao * * cho S xAy w, vi x, y (V T)*. Bng li, mt bin l kh dng nu v ch nu n xut hin trong t nht mt dn xut. Mt bin m khng kh dng th gi l v dng. Mt lut sinh c gi l v dng nu n c cha bt k bin v dng no.

Cc dng v dng
V dng loi 1: A V dng loi 2: S

* w T* * xAy

Trang 196 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Loi b cc lut sinh v dng


nh l 6.3
Cho G = (V, T, S, P) l mt VPPNC, mt VP tng ng G0 = (V0, T, S, P0) m khng cha bt k bin v dng no.

Chng minh

Loi b cc bin v lut sinh v dng loi 1 To vn phm G1 = (V1, T, S, P1) vi V1 l tp bin khng v dng loi 1. Ta tm V1 nh sau: 1. Khi to V1 = . 2. Lp li bc sau cho n khi khng cn bin no c thm vo V1. i vi mi A V m c lut sinh A x, x (V1T)*, th thm A vo V1. 3. Loi khi P cc lut sinh c cha cc bin V1, ta c P1.
Trang 197 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Loi b cc lut sinh v dng (tt)


loi tip cc bin v cc lut sinh v dng loi 2 ta da vo G1 va c trn v v th ph thuc cho n, sau tm tp cc bin khng t ti c t S. Loi cc bin ny v cc lut sinh lin quan n n ra khi G1 ta c vn phm kt qu G0. L mt th c cc nh biu din cc bin, cn mt cnh ni hai nh A v B khi v ch khi c lut sinh dng A xBy A B Loi b cc bin v cc lut sinh v dng ra khi vn phm G = ({S, A, B, C}, {a, b}, S, P), vi tp lut sinh P l: S aS | A | C B aa Aa C aCb
Trang 198 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

th ph thuc (dependency graph)

V d

V d
Loi b cc bin v dng loi 1 ta c V1 = {S, A, B} v tp lut sinh P1 S aS | A Aa B aa Loi b cc bin v dng loi 2 ta c vn phm kt qu S aS | A Aa S aS | A | C Aa B aa C aCb S A B

Nhn xt
Nu thay i th t loi b (loi b cc bin v lut sinh v dng loi 2 trc) th s khng loi b c tt c cc bin v lut sinh v dng ch bng mt ln nh v d sau cho thy.
Trang 199 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)
S aSb | ab | A A aAB Bb Nu loi b cc bin v lut sinh v dng loi 2 trc ta thy vn phm vn khng thay i v tt c cc bin u t ti c t S. Sau loi b tip cc bin v lut sinh v dng loi 1 ta s c vn phm sau: S aSb | ab | A Bb R rng vn phm ny cn bin B l v dng loi 2. Xt vn phm sau

Trang 200 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Loi b lut sinh-


nh ngha 6.2
Bt k lut sinh no ca VPPNC c dng A c gi l lut sinh-. Bt k bin A no m * A l c th th c gi l kh trng (nullable).

nh l 6.4

Chng minh:

Cho G l mt VPPNC bt k m L(G) khng cha , th tn ti mt vn phm G0 tng ng m khng c cha lut sinh-.

Bc 1 Tm tp VN tt c cc bin kh trng ca G bng cc bc sau.


Trang 201 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Loi b lut sinh-


1. i vi mi lut sinh A , a A vo VN. 2. Lp li bc sau cho n khi khng cn bin no c thm vo VN. i vi mi lut sinh B A1A2 An, m A1, A2, An VN th t B vo VN. Bc 2 Sau khi c tp VN ta xy dng tp lut sinh nh sau. ng vi mi lut sinh c dng A x1x2 xm, m 1, trong mi xi V T, t lut sinh ny vo cng vi cc lut sinh c sinh ra bng cch thay th cc bin kh trng bng trong mi t hp c th, ngoi tr nu tt c cc xi u kh trng th khng t lut sinh A vo P0 ca G0

Trang 202 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Loi b cc lut sinh- ca vn phm sau: S ABaC CD| A BC Dd Bb| V B v C suy ra B v C l cc bin kh trng. V A BC nn suy ra A cng l bin kh trng. Ngoi ra khng cn bin no khc l kh trng. Theo Bc 2 ta xy dng c tp lut sinh mi tng ng nh sau: S ABaC | BaC | AaC | ABa | aC | Aa | Ba | a A BC | B | C Bb CD Dd
Trang 203 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Loi b lut sinh n v


nh ngha 6.3
Bt k lut sinh no ca VPPNC c dng AB trong A, B V c gi l lut sinh-n v.

nh l 6.5
Cho G = (V, T, S, P) l mt VPPNC bt k khng c lut sinh, th tn ti mt VPPNC G1 = (V1, T, S, P1) m khng c bt k lut sinh n v no v tng ng vi G1.

Chng minh

1. t vo trong P1 tt c cc lut sinh khng n v ca P. * 2. i vi mi bin A tm tt c cc bin B m A B (*)


iu ny thc hin bng cch v th ph thuc cho G nhng mt cnh ni 2 nh A v B khi v ch khi c lut sinh-n v A B. Hai bin A v B tha (*) khi v ch khi c mt con ng trong th i t A n B.
Trang 204 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
3. i vi mi A, B tha (*) thm vo trong P1 cc lut sinh A y1 | y2 | ... | yn vi B y1 | y2 | ... | yn l cc lut sinh khng n v ca B. Loi b cc lut sinh n v cho VP sau S Aa | B B A | bb A a | bc | B S A B Trc ht, t cc lut sinh khng n v vo trong P1 S Aa A a | bc B bb T TPT ta a c thm cc lut sinh sau vo S a | bc | bb A bb Trang 205 B a | bc

V d

L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)
Kt qu ta c vn phm tng ng sau khng c lut sinh n v S Aa | a | bc | bb A a | bc | bb B bb | a | bc

nh l 6.6

Cho L l mt NNPNC khng cha , tn ti mt VPPNC sinh ra L m khng cha bt k lut sinh v dng, lut sinh-, hay lut sinh-n v no.

Chng minh:
B1. Loi b lut sinh- B2. Loi b lut sinh n v B3. Loi b lut sinh v dng loi 1, ri v dng loi 2
Trang 206 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Mt s nhn xt
1. Loi b bin v dng loi 1 c th sinh ra bin v dng loi 2. 2. Vic loi b bin v dng loi 2 khng sinh ra bin v dng loi 1. 3. Vn phm khng c lut sinh n v th vic loi b lut sinh- c th sinh ra lut sinh-n v. 4. Vn phm khng c lut sinh- th vic loi b lut sinh-n v khng th sinh ra lut sinh- mi. 5. Loi b lut sinh- c th sinh ra bin v dng loi 1. 6. Loi b lut sinh-n v c th sinh ra bin v dng loi 2. 7. Vn phm khng c lut sinh-, lut sinh-n v th vic loi b cc lut sinh v dng loi 1, loi 2 khng sinh ra thm bt k lut sinh- v lut sinh-n v no mi.

Trang 207 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Dng chun Chomsky


nh ngha 6.4
Mt VPPNC l thuc dng chun Chomsky nu mi lut sinh c dng A BC, hoc Aa trong A, B, C V, cn a T.

nh l 6.7

Bt k VPPNC G = (V, T, S, P) no vi L(G) u c mt vn phm tng ng G1 = (V1, T, S, P1) c dng chun Chomsky. Khng mt tng qut gi s G khng c lut sinh-v dng, lut sinh-n v v lut sinh-. Ta xy dng vn phm G1 c dng chun Chomsky bng th tc sau:
Trang 208 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Chng minh

Th tc: G-to-GChomsky
Input: G = (V, T, S, P) vi L(G) Output: G1 = (V1, T, S, P1) c dng chun Chomsky. 1. t cc lut sinh A a vo P1. 2. i vi cc lut sinh A x1x2 ... xn vi n 2, xi (V T) th thay cc k hiu kt thc, chng hn xk = a, bng cc bin i din mi Ba, to thnh cc lut sinh trung gian A C1C2...Cn. 3. ng vi mi bin i din Ba t vo P1 cc lut sinh Ba a. 4. Sau khi thc hin bc 2, ng vi mi lut sinh A C1C2 ... Cn m n = 2 t n vo P1. Ngc li ng vi n > 2 ta gii thiu cc bin mi D1, D2, ... v a vo cc lut sinh sau: A C1 D1 D1 D1 D2 Dn-2 Cn-1Cn
Trang 209 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Hy bin i VP sau thnh VP c dng chun Chomsky.
B c1

Sa Bb

S a | ABa A aab B b | Ac

Bc 2 S ABXa A XaXaXb B AXc B c Xa a 3 Xb b Kt qu Xc c

c4

S AD1 D1 BXa A XaD2 D2 XaXb S a | AD1 D1 BXa A XaD2 D2 XaXb B b | AXc Xa a Xb b Xc c

Trang 210 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Dng chun Greibach


nh ngha 6.5
Mt VPPNC l thuc dng chun Greibach nu mi lut sinh c dng A ax trong a T cn x V*.

nh l 6.8
i vi mi VPPNC G vi L(G), th tn ti mt vn phm tng ng trong dng chun Greibach.

Chng minh
Khng mt tnh tng qut gi s G khng c lut sinh-v dng, lut sinh-n v v lut sinh-. Ta xy dng vn phm c dng chun Greibach bng th tc sau.
Trang 211 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Th tc: G-to-GGreibach
Input: G = (V, T, S, P) vi L(G) Output: G1 = (V1, T, S, P1) c dng chun Greibach. 1. nh s th t cho cc bin chng hn l A1, A2, . . . An. 2. Dng nh l 6.1 v 6.2 vit li VP sao cho cc lut sinh c mt trong ba dng sau Ai Ajxj, i < j a T v x (V T)* i Zi Ajxj, j n Zi l cc bin mi Ai axi iu ny thc hin c bng cch s dng nh l 6.1 v 6.2 cho cc bin Ai theo th t i i t 1, 2, ... n n nh sau. Gi s xt lut sinh ca bin Ai. Nu c lut sinh Ai Ajx m i > j th thay Aj i u bng cc v phi ca n, v lm cho n khi cc lut sinh ca Ai c dng Ai Ajx, i j. n y loi qui tri cho Ai th cc lut sinh ca n s c dng nh nu.
Trang 212 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Th tc: G-to-GGreibach (tt)


3. Sau khi thc hin bc 2, tt c cc lut sinh ca An phi c dng An axn Thay An i u v phi ca cc lut sinh bng cc v phi ca n. Kt qu cc lut sinh ca An-1 c dng An-1 axn-1 Tng t thay th An-1 i u v phi ca cc lut sinh bng cc v phi ca n. V thc hin ln lt cho n A1. 4. Thay cc k hiu kt thc, chng hn a, khng i u v phi bng cc bin i din, chng hn Xa, ng thi thm vo cc lut sinh mi Xa a.

V d
Bin i VP sau thnh VP c dng chun Greibach

Trang 213 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

S SBb | Ab A Sb | Ba B Sa | b

V d
S0 S0B2b | A1b A1 S0b | B2a Loi qui tri Thay th

S SBb | Ab A Sb | Ba B Sa | b

S0 A1b | A1bZ0 (1) Z0 B2b | B2bZ0 (2) A1 A1bb | A1bZ0b | B2a

Loi qui tri A B a | B aZ (3) 1 2 2 1 Z1 bb | bZ0b | bbZ1 | bZ0bZ1 (4) Thay th B2 S0a | b B2 A1ba | A1bZ0a | b Thay th B2 b | bZ2 (5) B2 B2aba | B2aZ1ba | B2abZ0a | Z2 aba | aZ1ba | abZ0a | B2aZ1bZ0a | b aZ bZ a | abaZ | aZ baZ | abZ0aZ2 | aZ1bZ0aZ2
1 0 2 1

(6)

Trang 214 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Loi qui tri

V d (tt)
B2 b | bZ3 (5) A1 ba | bZ2a | baZ1 |bZ2aZ1 (7) S0 bab | bZ2ab | baZ1b | bZ2aZ1b | babZ0 | bZ2abZ0 | baZ1bZ0 | bZ2aZ1bZ0 (8) Z0 bb | bZ2b | bbZ0 |bZ2bZ0 (9)

A1 B2a | B2aZ1 (3) Thay th S0 A1b | A1bZ0 (1) Thay th

Z0 B2b | B2bZ0 (2)

Thay th

Trang 215 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)

Vn phm gnGreibach

S0 bab | bZ2ab | baZ1b | bZ2aZ1b | babZ0 | bZ2abZ0 | baZ1bZ0 | bZ2aZ1bZ0 (8) A1 ba | bZ2a | baZ1 |bZ2aZ1 (7) (5) B2 b | bZ3 Z0 bb | bZ2b | bbZ0 |bZ2bZ0 (9) Z1 bb | bZ0b | bbZ1 | bZ0bZ1 (4) Z2 aba | aZ1ba | abZ0a | aZ1bZ0a | abaZ2 |aZ1baZ2 | abZ0aZ2 | aZ1bZ0aZ2 (6)

Thay k hiu kt thc khng i u bng bin i din


S bXY | bZ2XY | bXZ1Y | bZ2XZ1Y | bXYZ0 | bZ2XYZ0 | bXZ1YZ0 | bZ2XZ1YZ0 A bX | bZ2X | bXZ1 |bZ2XZ1 B b | bZ3 Z0 bY | bZ2Y | bYZ0 |bZ2YZ0 Z1 bY | bZ0Y | bYZ1 | bZ0YZ1 Z2 aYX | aZ1YX | aYZ0X | aZ1YZ0X | aYXZ2 | aZ1YXZ2 | aYZ0XZ2 | aZ1YZ0XZ2 X a Trang 216 Y b L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Gii thut thnh vin cho VPPNC


Gii thut CYK (J.Cocke, D.H.Younger, T.Kasami)
Input: Vn phm Chomsky G = (V, T, S, P) Chui w = a1a2 an Output: Yes + DXTN hoc No. Chng ta nh ngha cc chui con wij = ai ... aj, V cc tp con ca V * Vij = {A V : A wij}, w = w1n, vy w L(G) khi v ch khi S V1n. Vy bit w c L(G) hay khng chng ta tnh V1n v xem S c V1n hay khng.
Trang 217 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Gii thut CYK


A Vii nu v ch nu A c lut sinh A ai. Vy, Vii c th c tnh i, 1 i n. * * Nu B wik ( B Vik), C w(k+1)j ( C V(k+1)j) v ng * thi A BC th A wij ( A Vij) i k, k < j. Vij = k{i, i+1, ... , j 1}{A: A BC, vi B Vik, C V(k+1)j} Qu trnh tnh cc tp Vij V11, V22, ...,Vnn V12, V23, . . .,V(n-1)n V13, V24, . . .,V(n-2)n ... V1n
Trang 218 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
S dng gii thut CYK PTCP chui w = aabbb trn G sau S AB (1) A BB | a (2, 3) B AB | b (4, 5) Ta c w = a a b b b 12345 V11 = {A}, V22 = {A}, V33 = {B}, V44 = {B}, V55 = {B}, V12 = , V23 = {S, B}, V34 = {A}, V45 = {A}, V13 = {S, B}, V24 = {A}, V35 = {S, B}, V14 = {A}, V25 = {S, B}, V15 = {S, B}. S V15 w L(G).
Trang 219 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)

S AB A BB | a B AB | b

(1) (2, 3) (4, 5)

w=aabbb tm dn xut cho w, chng ta phi 12345 tm cch lu vt 5 3 3 V11 = {A ( a)}, V22 = {A( a)}, V33 = {B( b)}, 5 5 V44 = {B( b)}, V55 = {B( b)}, 1 4 V12 = , V23 = {S( A22B33), B( A22B33)}, 2 2 V34 = {A( B33B44)}, V45 = {A( B44B55)}, 2 1 4 V13 = {S( A11B23), B( A11B23)}, V24 = {A( B23B44)}, 4 1 V35 = {S( A34B55), B( A34B55)}, 1 2 1 V14 = {A( B13B44)}, V25 = {S( A22B35, A24B55), 4 4 B( A22B35, A24B55)}, 4 4 1 1 V15 = {S( A11B25, A14B55), B( A11B25, A14B55)}.
Trang 220 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)

S AB A BB | a B AB | b w=aabbb 12345

(1) (2, 3) (4, 5)

Kt qu c 3 DXTN nh sau: 1 3 4 2 4 3 (1) S A11B25 aB25 aA22B35 aaB35 aaA34B55 ,5, aaB33B44B5555aabbb (DXTN: 134342555) 3 4 1 2 4 (2) S A11B25 aB25 aA24B55 aB23B44B55 aA22B33B44B553,5,5,5aabbb (DXTN: 134243555) 2 4 1 4 3 (3) S A14B55 B13B44B55 A11B23B44B55 aB23B44B55 aA22B33B44B553,5,5,5aabbb (DXTN: 124343555)

Trang 221 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)
3 CDX tng ng: S A11 a A22 a A34 B33 B44 b b B25 B35 B55 b A11 a B23 A22 B33 a b A24 B44 b S B25 B55 b

S AB A BB | a B AB | b w=aabbb 12345 S A14 B13 A11 a B23 A22 B33 a b B44 b

(1) (2, 3) (4, 5)

B55 b

Trang 222 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Bi tp
Dng gii thut CYK PTCP cc chui sau w1 = abab, w2 = abaa trn cc VP G1, G2 tng ng. G1 G2 S ABBB (1, 2) S AB (1) A BAa (3, 4) A BBa (2, 3) B AAab (5, 6, 7) B BAb (4, 5)

Trang 223 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Chng 7 tmt y xung


C hay khng lp tmt tng ng vi lp NNPNC? Nh bit, tmt hu hn khng th nhn bit tt c NNPNC, chng hn L = {anbn : n 0}, v n c mt b nh hu hn. V vy chng ta mun c mt my m m khng gii hn. T v d ngn ng {wwR}, chng ta cn thm kh nng lu v so trng mt dy k hiu trong th t ngc li. iu ny ngh chng ta th mt stack nh mt c ch lu tr. chnh l lp tmt y xung (PushDown Automata - PDA)
Trang 224 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Chng 7 tmt y xung


7.1 PDA khng n nh 7.2 NPDA v NNPNC 7.3 PDA n nh v NNPNC n nh 7.4 Vn phm cho NNPNC n nh

Trang 225 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

tmat y xung khng n nh


Input file Stack Control unit Mi di chuyn ca n v iu khin c mt k hiu nhp, trong cng thi im thay i ni dung ca stack. Mi di chuyn c xc nh bng k hiu nhp hin ti, k hiu hin ti trn nh ca stack. Kt qu l mt trng thi mi ca n v iu khin v mt s thay i trn nh ca stack. Chng ta s ch nghin cu cc PDA thuc loi accepter.
Trang 226 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

nh ngha tmt y xung


nh ngha 7.1
Mt accepter y xung khng n nh (npda) c nh ngha bng b by M = (Q, , , , q0, z, F), trong Q l tp hu hn cc trng thi ni ca n v iu khin, l bng ch ci ng nhp (input alphabet), l bng ch ci stack (stack alphabet), q0 Q l trng thi khi u ca n v iu khin, z l k hiu khi u stack (stack start symbol), F Q l tp cc trng thi kt thc. Hm chuyn trng thi l mt nh x : Q ( {}) tp con hu hn ca Q *,
Trang 227 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
(q, a, b) = {(p, cd)} Input file a Control unit p q Stack c d b

V d
Xt mt npda vi Q = {q0, q1, q2, qf}, = {a, b}, = {0, 1, z}, F = {qf},

Trang 228 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Nhn xt
(q0, a, z) = {(q1,1z), (qf, )}, (q0, , z) = {(qf, )}, (q1, a, 1) = {(q1, 11)}, (q1, b, 1) = {(q2, )}, (q2, b, 1) = {(q2, )}, (q2, , z) = {(qf, )}. (q0, b, 0) khng c nh ngha tng ng vi cu hnh cht m ta hc. (q1, a, 1) = {(q1, 11)} thm mt k hiu 1 vo stack khi a c c. (q2, b, 1) = {(q2, )} xa mt k hiu 1 khi stack khi b c c. L(M) = {anbn : n 0} {a}

Trang 229 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Mt s khi nim
Hnh trng tc thi
L b ba (q, w, u), trong q l trng thi ca n v iu khin, w l phn cha c ca chui nhp, cn u l ni dung ca stack (vi k hiu tri nht l k hiu nh ca stack).

|_ Di chuyn,

Mt di chuyn t mt hnh trng tc thi ny n mt hnh trng tc thi khc s c k hiu bng |_ . (q1, aw, bx) |_ (q2, w, yx) l c kh nng (q2, y) (q1, a, b). |_* , |_+ , |_ Du * ch ra c 0 bc di chuyn c thc hin cn du + ch ra 1 bc di chuyn. Ch M ch ra di chuyn ca tmt no. Trang 230
L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Ngn ng c chp nhn bi mt npda


nh ngha 7.2
Cho M = (Q, , , , q0, z, F) l mt npda. Ngn ng c chp nhn bi M l tp L(M) = {w *: (q0, w, z) |_* (qf, , u), qf F, u *}.

V d
Xy dng mt npda cho ngn ng L = {w {a, b}*: na(w) = nb(w)}

Trang 231 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Xy dng npda cho ngn ng ny nh sau. M = ({q0, qf}, {a, b}, {0, 1, z}, , q0, z, {qf}). (q0, , z) = {(qf, z)}, (q0, a, z) = {(q0, 0z)}, (q0, b, z) = {(q0, 1z)}, (q0, a, 0) = {(q0, 00)}, (q0, b, 0) = {(q0, )}, (q0, a, 1) = {(q0, )}, (q0, b, 1) = {(q0, 11)}, Trong qa trnh x l chui baab, npda thc hin cc di chuyn sau. (q0, baab, z) |_ (q0, aab, 1z) |_ (q0, ab, z) |_ (q0, b, 0z) |_ (q0, , z) |_ (qf, , z)
Trang 232 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)
Xy dng npda cho ngn ng L = {wwR: w {a, b}+} M = ({q0, q1, qf}, {a, b}, {a, b, z}, , q0, z, {qf}). (q0, a, z) = {(q0, az)}, (q0, b, z) = {(q0, bz)}, (q0, a, a) = {(q0, aa)}, (q0, b, a) = {(q0, ba)}, (q0, a, b) = {(q0, ab)}, (q0, b, b) = {(q0, bb)}. (q0, , a) = {(q1, a)}, (q0, , b) = {(q1, b)}, (q1, a, a) = {(q1, )}, (q1, b, b) = {(q1, )}, (q1, , z) = {(qf, z)}.
Trang 233 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)
Dy chuyn hnh trng chp nhn chui abba l. (q0, abba, z) |_ (q0, bba, az) |_ (q0, ba, baz) |_ (q1, ba, baz) |_ (q1, a, az) |_ (q1, , z) |_ (qf, , z). Npda ci tin (q0, a, z) = {(q0, aa)}, (q1, a, a) = {(q1, )}, (q0, b, z) = {(q0, bz)}, (q1, b, b) = {(q1, )}, (q0, a, a) = {(q0, aa), (q1, )}, (q1, , z) = {(qf, z)}. (q0, b, a) = {(q0, ba)}, (q0, a, b) = {(q0, ab)}, (q0, b, b) = {(q0, bb), (q1, )}.
Trang 234 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Bi tp
Dy chuyn hnh trng chp nhn chui abba l. (q0, abba, z) |_ (q0, bba, az) |_ (q0, ba, baz) |_ (q1, a, az) |_ (q1, , z) |_ (qf, , z).

Xy dng npda cho cc ngn ng sau


L1 = {anbmcn+m: n, m 0} L2 = {anbn+mcm: n, m 1} L3 = {anbm: 2n m 3n} L4 = {w: na(w) = nb(w) + 2} L5 = {w: na(w) = 2nb(w)} L6 = {w: 2nb(w) na(w) 3nb(w)}
Trang 235 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

tmt y xung cho NNPNC


Chng ta xy dng mt npda m c th thc hin c (m phng) mt DXTN ca mt chui bt k trong ngn ng. Gi thit ngn ng c sinh ra bi mt vn phm c dng chun Greibach. Pda sp xy dng s biu din s dn xut bng cch nh sau. Gi cc bin trong phn bn phi ca dng cu trn stack ca n, cn phn bn tri, chui cha cc k hiu kt thc, l ging vi phn chui c c ng nhp. Chng ta bt u bng vic t k hiu khi u ln stack. m phng vic p dng lut sinh A ax, chng ta phi c bin A trn nh stack v k hiu kt thc a l k hiu nhp. Bin trn nh stack c loi b v thay th bng chui bin x.
Trang 236 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Xy dng npda cho ngn ng c sinh ra bi vn phm sau. S aSbb | a. u tin ta bin i vn phm ny sang dng chun Greibach, thnh vn phm l: S aSA | a, A bB, B b. Automat tng ng s c ba trng thi {q0, q1, qf}, vi trng thi khi u l q0 v trng thi kt thc l qf. u tin, trng thi khi u bin S c t trn stack bng (q0, , z) = {(q1, Sz)}
Trang 237 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)
Cc lut sinh S aSA | a c m phng thnh (q1, a, S) = {(q1, SA), (q1, )} Bng kiu tng t, cc lut sinh khc c m phng bng (q1, b, A) = {(q1, B)}, (q1, b, B) = {(q1, )} S xut hin k hiu khi u stack trn nh stack bo hiu s hon tt ca dn xut v PDA s c t vo trong trng thi kt thc ca n bng chuyn trng thi (q1, , z) = {(qf, )}.

Trang 238 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)
Input file a a b b # S aSA aaA aabB aabb S aSA | a, A bB, B b. Input file a a b b # Control unit q0 f 1 Stack S A B S z

Trang 239 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

nh l
nh l 7.1
i vi mt NNPNC bt k khng cha , tn ti mt npda M sao cho L = L(M).

Th tc: GGreibach-to-npda
Input: G = (V, T, S, P) c dng chun Greibach Output: npda M = (Q, , , , q0, z, F) sao cho L(M) = L(G). B1 M = ({q0, q1, qf}, T, V {z}, , q0, z, {qf}), z V. B2 (q0, , z) = {(q1, Sz)} B3 (q1, a, A) {(q1, u)} P c lut sinh A au B4 (q1, , z) = {(qf, z)}
Trang 240 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
S aA, A aABC | bB | a, B b, C c. (q0, , z) = {(q1, Sz)}, (q1, a, S) = {(q1, A)}, (q1, a, A) = {(q1, ABC), (q1, )}, (q1, b, A) = {(q1, B)}, (q1, b, B) = {(q1, )}, (q1, c, C) = {(q1, )}, (q1, , z) = {(qf, z)}. (q0, aaabc, z) |_ (q1, aaabc, Sz) |_ (q1, aabc, Az) |_ (q1, abc, ABCz) |_ (q1, bc, BCz) |_ (q1, c, Cz) |_ (q1, , z) |_ (qf, , z).

w = aaabc S aA aaABC aaaBC aaabC aaabc

Trang 241 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Th tc G-to-npda ci tin
Th tc: G-to-npda
Input: G = (V, T, S, P) c dng ty Output: npda M = (Q, , , , q0, z, F) sao cho L(M) = L(G). B1 M = ({q0, q1, qf}, T, V T {z}, , q0, z, {qf}), z V. B2 (q0, , z) = {(q1, Sz)} B3 (q1, a, A) {(q1, u)} P c lut sinh A au, a T B4 (q1, , A) {(q1, u)} P c lut sinh A u v u khng c k hiu kt thc i u. B5 (q1, a, a) = (q1, ) vi a T v a xut hin trong mt v phi lut sinh no m khng phi v tr khi u. B6 (q1, , z) = {(qf, z)}
Trang 242 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
(q0, , z) = {(q1, Sz)}, (q1, a, S) = {(q1, A)}, (q1, b, S) = {(q1, BbS)}, (q1, , S) = {(q1, AB)}, (q1, a, A) = {(q1, B)}, (q1, b, A) = {(q1, BaA)}, (q1, a, B) = {(q1, BbB)}, (q1, , B) = {(q1, SB), (q1, )}, (q1, a, a) = {(q1, )}, (q1, b, b) = {(q1, )}, (q1, , z) = {(qf, z)}. w = baabaa S bBbS bSBbS baABbS baaBBbS baaBbS baabS baabaA baabaaB baabaa

S aA | bBbS | AB, A aB | bBaA, B aBbB | SB | (q0, baabaa, z) |_(q1, baabaa, Sz) |_(q1, aabaa, BbSz) |_(q1, aabaa, SBbSz) |_(q1, abaa, ABbSz) |_(q1, baa, BBbSz) |_(q1, baa, BbSz) |_(q1, baa, bSz) |_ (q1, aa, Sz) |_ (q1, a, Az) |_ (q1, , Bz) |_ (q1, , z) |_ (qf, , z).

Trang 243 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

VPPNC cho tmt y xung


Qu trnh ny ngc vi qu trnh trong nh l 7.1, tc l xy dng vn phm m phng s di chuyn ca pda. Phn bin ca dng cu phn nh ni dung stack, phn chui nhp c x l chnh l phn chui k hiu kt thc lm tip u ng ca dng cu.

npda npda tng ng tha 2 iu kin (1) Ch c mt trng thi kt thc v npda ch trong trng thi ny stack l trng. (2) Mi chuyn trng thi c dng (qi, a, A) = {c1, c2, ..., cn}, trong ci = (qj, ), (7.5) hoc Tc l, mt di chuyn ci = (qj, BC) (7.6) hoc tng hoc gim ni dung stack mt k hiu.
Trang 244 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

VPPNC cho tmt y xung (tt)


Chng ta mun dng cu ch ra ni dung ca stack. Cu hnh ca mt npda cn lin quan n trng thi ni ca tmt nn n phi c ghi nh trong dng cu. Ly (qiAqj) lm cc bin cho vn phm, vi din dch * (qiAqj) w nu v ch nu npda xa A khi stack v i t trng thi qi n qj trong khi c ng nhp chui w. Xa y c ngha l A v cc kt qu sau n bin mt khi stack, v k hiu ngay bn di A s tr thnh nh stack.

V d
(qi, a, A) = (qj, ) (qi, a, A) = (qj, BC) (qiAqj) a (qiAqk) a(qjBql)(qlCqk)

Trang 245 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

VPPNC cho tmt y xung (tt)


trong qk v ql ly mi gi tr c th trong Q. Khi vt cn c th c mt vi qk khng th t ti c t qi trong khi xa A cng nh c th c mt vi ql khng th t ti c t qj trong khi xa B. Trong trng hp cc bin (qiAqk) v (qjbql) s l v dng. Nhng bin ny s c loi b bng gii thut loi b cc bin v dng hc. Bin (q0zqf) s l bin khi u, trong qf l trng thi kt thc n ca npda.

Trang 246 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Xy dng VPPNC cho npda sau (q0 khi u, q2 kt thc) (q0, a, z) = {(q0, Az)}, (q0, a, A) = {(q0, A)}, L = {anb : n 1} (q0, b, A) = {(q1, )}, (q1, , z) = {(q2, )}. Bin i n thnh npda tng ng tha 2 iu kin. (q0, a, z) = {(q0, Az)}, (1) (q0, a, A) = {(q3, )}, (2) (q3, , z) = {(q0, Az)}, (3) (q0, b, A) = {(q1, )}, (4) (q1, , z) = {(q2, )}. (5)
Trang 247 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)
Ba chuyn trng thi (2), (4), (5) c dng (7.5) nn c cc lut sinh tng ng vi n l (q0Aq3) a (6) (q0, a, A) = {(q3, )}, (2) (q0, b, A) = {(q1, )}, (4) (q0Aq1) b (7) (q1, , z) = {(q2, )}. (5) (q1zq2) (8).

Trang 248 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)
(q0, a, z) = {(q0, Az)} c m phng thnh (q0zq0) a(q0Aq0)(q0zq0) | a(q0Aq1)(q1zq0) | a(q0Aq2)(q2zq0) | a(q0Aq3)(q3zq0), (q0zq1) a(q0Aq0)(q0zq1) | a(q0Aq1)(q1zq1) | a(q0Aq2)(q2zq1) | a(q0Aq3)(q3zq1), (q0zq2) a(q0Aq0)(q0zq2) | a(q0Aq1)(q1zq2) | a(q0Aq2)(q2zq2) | a(q0Aq3)(q3zq2), (q0zq3) a(q0Aq0)(q0zq3) | a(q0Aq1)(q1zq3) | a(q0Aq2)(q2zq3) | a(q0Aq3)(q3zq3),

Trang 249 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)
Chuyn trng thi (q3, , z) = {(q0, Az)} c th c m phng bng tp lut sinh sau (q3zq0) (q0Aq0)(q0zq0) | (q0Aq1)(q1zq0) | (q0Aq2)(q2zq0) | (q0Aq3)(q3zq0), (q3zq1) (q0Aq0)(q0zq1) | (q0Aq1)(q1zq1) | (q0Aq2)(q2zq1) | (q0Aq3)(q3zq1), (q3zq2) (q0Aq0)(q0zq2) | (q0Aq1)(q1zq2) | (q0Aq2)(q2zq2) | (q0Aq3)(q3zq2), (q3zq3) (q0Aq0)(q0zq3) | (q0Aq1)(q1zq3) | (q0Aq2)(q2zq3) | (q0Aq3)(q3zq3),

Trang 250 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)
(q0Aq3) a (6) Bin khi u ca vn phm l (q0zq2). (q0Aq1) b (7) Loi b bin v dng (q1zq2) (8) (q0zq0) a(q0Aq0)(q0zq0) | a(q0Aq1)(q1zq0) | a(q0Aq2)(q2zq0) | a(q0Aq3)(q3zq0), (q0zq1) a(q0Aq0)(q0zq1) | a(q0Aq1)(q1zq1) | a(q0Aq2)(q2zq1) | a(q0Aq3)(q3zq1), (q0zq2) a(q0Aq0)(q0zq2) | a(q0Aq1)(q1zq2) | a(q0Aq2)(q2zq2) | a(q0Aq3)(q3zq2), (q0zq3) a(q0Aq0)(q0zq3) | a(q0Aq1)(q1zq3) | a(q0Aq2)(q2zq3) | a(q0Aq3)(q3zq3),

Trang 251 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)
(q0Aq3) a (6) (q0Aq1) b (7) (q1zq2) (8) (q0Aq0)(q0zq0) | (q0Aq1)(q1zq0) | (q0Aq2)(q2zq0) | (q0Aq3)(q3zq0), (q0Aq0)(q0zq1) | (q0Aq1)(q1zq1) | (q0Aq2)(q2zq1) | (q0Aq3)(q3zq1), (q0Aq0)(q0zq2) | (q0Aq1)(q1zq2) | (q0Aq2)(q2zq2) | (q0Aq3)(q3zq2), (q0Aq0)(q0zq3) | (q0Aq1)(q1zq3) | (q0Aq2)(q2zq3) | (q0Aq3)(q3zq3),

(q3zq0) (q3zq1) (q3zq2) (q3zq3)

Trang 252 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)
Vn phm kt qu (q0zq2) a(q0Aq1)(q1zq2) | a(q0Aq3)(q3zq2), (q3zq2) (q0Aq1)(q1zq2) | (q0Aq3)(q3zq2), (q0Aq3) a, (q0Aq1) b, (q1zq2) , Phn tch chui aab (q0, aab, z) |_
|_ |_ |_ |_

Npda (q0, a, z) = {(q0, Az)}, (q0, a, A)= {(q3, )}, (q3, , z) = {(q0, Az)}, (q0, b, A)= {(q1, )}, (q1, , z) = {(q2, )}. a(q0Aq3)(q3zq2) aa(q3zq2) aa(q0Aq1)(q1zq2) aab(q1zq2) aab

(q0, ab, Az) (q3, b, z) (q0, b, Az) (q1, , z) (q2, , )

(q0zq2)

Trang 253 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)
Rt gn vn phm (q0zq2) a(q0Aq1)(q1zq2) | a(q0Aq3)(q3zq2), (q3zq2) (q0Aq1)(q1zq2) | (q0Aq3)(q3zq2), (q0Aq3) a, (q0Aq1) b, (q1zq2) , S ab | aaX, X b | aX, S aBC | aAX, X BC | AX, A a, B b, C , L = {anb : n 1}

nh l 7.2
Nu L = L(M) i vi mt npda M no , th L l NNPNC.
Trang 254 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

PDA n nh v NNPNC n nh
nh ngha 7.3
Mt tmt y xung M = (Q, , , , q0, z, F) c gi l n nh nu n l mt tmt c nh ngha nh trong nh ngha 7.1, nhng phi chu s gii hn rng, i trng thi q Q, k hiu a {}, v b , (1) (q, a, b) cha ti a mt phn t, (2) Nu (q, , b) , th (q, c, b) phi = c .

nh ngha 7.4
Mt ngn ng L c gi l NNPNC n nh nu v ch nu tn ti mt dpda M sao cho L = L(M).
Trang 255 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Ngn ng L = {anbn: n 0} l PNC. V n c chp nhn bi dpda sau M = ({q0f, q1, q2}, {a, b}, {z, a}, , q0f, z, {q0f}) vi (q0f, a, z) = {(q1, az)}, (q1, a, a) = {(q1, aa)}, (q1, b, a) = {(q2, )}, (q2, b, a) = {(q2, )}, (q2, , z) = {(q0f, )}.

Trang 256 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d (tt)
Cch 2 (vi # l k hiu kt thc chui eof) M = ({q0, q1, qf}, {a, b}, {z, 1}, , q0, z, {qf}) vi (q0, #, z) = {(qf, )}, (q0, a, z) = {(q0, 1z)}, (q0, a, 1) = {(q0, 11)}, (q0, b, 1) = {(q1, )}, (q1, b, 1) = {(q1, )}, (q1, #, z) = {(qf, )}.

Trang 257 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Bi tp
Xy dng dpda cho cc ngn ng sau
L1 = {anbmcn+m: n, m 0} L2 = {anbn+mcm: n, m 1} L3 = {anbm: 2n m 3n} L4 = {w: na(w) = nb(w) + 2} L5 = {w: na(w) = 2nb(w)} L6 = {w: 2nb(w) na(w) 3nb(w)}

Trang 258 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Dpda v Npda
Dpda l mt lp con thc s ca npda L1 = {anbn : n 0} v L2 = {anb2n : n 0} l cc NNPNC v L = L1 L2 cng l NNPNC. L s c chng minh khng phi l NNPNC n nh.

Chng minh
Trc ht chng ta s dng mt kt qu trong Chng 8 l rng ngn ng L0 = {anbncn : n 0} l khng phi ng cnh. Gi s L l NNPNC n nh, gi M = (Q, , , , q0, z, F) l dpda ca L vi Q = {q0, q1, ..., qn}

Trang 259 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Dpda v Npda (tt)


Xt M = (Q, , , , q0 , z, F) Q = Q {q0, q1, ..., qn}, F = F {qi : qi F}, (qf, , s) = {(qf, s)} qf F, s , v (qi, c, s) = {(qj, u)} (qi, b, s) ={(qj, u)}, cn bn Phn thm vo n v iu khin ca M

anbn

Trang 260 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Dpda v Npda (tt)


M chp nhn anbn chng ta phi c (q0, anbn, z) |_* (qi, , u) , vi qi F. M Bi M l n nh, n cng phi ng rng (q0, anb2n, z) |_* (qi, bn, u), M nb2n phi c vy n chp nhn a (qi, bn, u) |_ * (qj, , u1), M vi mt qj no F. Nhng theo cch xy dng ta c (qi, cn, u) |_* (qj, , u1), M nbncn. nh vy M s chp nhn a Khng c chui no khc hn nhng chui trong L l c chp nhn bi M. Suy ra {anbncn} l PNC (><). Vy L PNC khng n nh.
Trang 261 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Vn phm cho cc NNPNC n nh


NNPNC cho php PTCP mt cch hiu qu, bng cch xem dpda nh l mt thit b phn tch. Tnh n nh suy ra vic x l chui nhp trong thi gian tuyn tnh vi chiu di chui nhp. Nhng loi vn phm no thch hp cho vic m t cc NNPNC v cho php PTCP thi gian tuyn tnh. Gi s chng ta ang phn tch t trn xung, ang th tm DXTN ca mt cu c th. Chui nhp w Dng cu a1 a1 a2 a2 a3 a3 a4 . A . . . . . an

Phn c so trng

Phn cn cha c so trng

Trang 262 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Vn phm cho cc NNPNC n nh (tt)


Qut chui nhp w t tri sang phi, trong khi pht trin dng cu m chui k hiu kt thc tip u ng ca n so trng vi tip u ng ca chui w cho n k hiu c qut hin ti. tip tc so trng cc k hiu k tip, chng ta mun bit chnh xc lut sinh no l c p dng ti mi bc trnh backtracking v cho php PTCP hiu qu. C hay khng loi vn phm cho php lm iu ny? Vi VPPNC tng qut, iu ny l khng th, nhng nu dng ca vn phm c hn ch hn, c th thc hin c mc ch ca chng ta. Vn phm-s l mt v d nhng kh nng biu din ngn ng ca n cn hn ch.
Trang 263 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Vn phm LL(k)
nh ngha 7.5
Cho G = (V, T, S, P) l mt VPPNC. Nu i vi mi cp dn xut tri nht * * S w1Ax1 w1y1x1 w1w2, * * S w1Ax2 w1y2x2 w1w3, vi w1, w2, w3 T*, s bng nhau ca k k hiu tri nht ca w2 v w3 (nu c) y1 = y2, th G c gi l mt VPLL(k). iu ny c ngha l nu nhn trc k k hiu ng nhp th ch c ti a mt lut sinh l ng n nht.

V d
Vn phm bn l thuc loi LL(1)

S aX | bS, (1, 2) X b | aS, (3, 4)

Trang 264 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Vn phm LL(k)
Bng PTCP a b # S 1 2 X 4 3 S aX | bS, (1, 2) X b | aS, (3, 4)

V d
Cc vn phm sau y thuc h LL(k) khng? Nu c k = ? S aSbS | bSaS | , (1, 2, 3) S aS | AB, A bA | b, B aS | b, (1, 2) (3, 4) (5, 6)

Trang 265 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Vn phm LL(k)
Vn phm LL(k) cho php PTCP n nh nu nhn trc k k hiu. Vn phm LL l mt ch quan trng trong vic nghin cu cc trnh bin dch. Mt s NNLT c th c nh ngha bng cc vn phm LL, v nhiu trnh bin dch c vit bng cch s dng cc b PTCP LL. Nhng vn phm LL l khng tng qut gii quyt cc NNPNC. V vy, c mt mi quan tm n cc loi vn phm khc, vn phm n nh tng qut hn. l vn phm LR, ci m cho php PTCP hiu qu, v xy dng cy dn xut t di ln.
Trang 266 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Bi tp
Xy dng vn phm LL(k) cho cc ngn ng sau
L1 = {anbn: n 0} L2 = {w {a , b}*: na(w) = nb(w)} L3 = {w {a , b}*: na(w) = nb(w), na(v) nb(v) vi v l mt tip u ng bt k ca w}

Trang 267 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Chng 8 Cc tnh cht ca NNPNC


H NNPNC chim mt v tr trung tm trong h thng phn cp cc ngn ng hnh thc. Mt mt, NNPNC bao gm cc h ngn ng quan trng nhng b gii hn chng hn nh cc NNPNC v PNC. Mt khc, c cc h ngn ng khc rng ln hn m NNPNC ch l mt trng hp c bit. nghin cu mi quan h gia cc h ngn ng v trnh by nhng ci ging nhau v khc nhau ca chng, chng ta nghin cu cc tnh cht c trng ca cc h khc nhau. Nh trong Chng 4, chng ta xem xt tnh ng di nhiu php ton khc nhau, cc gii thut xc nh tnh thnh vin, v cui cng l b bm.
Trang 268 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Chng 8 Cc tnh cht ca NNPNC


8.1 Hai b bm 8.2 Tnh ng v cc gii thut quyt nh cho NNPNC

Trang 269 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

B bm cho NNPNC
nh l 8.1
Cho L l mt NNPNC v hn, tn ti mt s nguyn dng m sao cho bt k chui w no L vi |w| m, w c th c phn hoch thnh w = uvxyz (8.1) vi |vxy| m (8.2) v |vy| 1 (8.3) sao cho uvixyiz L (8.4) i = 0, 1, 2, ... nh l ny c gi l b bm cho NNPNC.

Chng minh
Xt ngn ng L {}. y l NNPNC vn phm c dng chun Chomsky G chp nhn n.
Trang 270 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Chng minh
B
Nu cy dn xut ca mt chui w c sinh ra bi mt vn phm Chomsky m c chiu di mi con ng i t gc ti l nh hn hay bng h th |w| 2h-1. B ny c th chng minh bng qui np da trn h. S S A B T2 T1 Tr li chng minh ca nh l. Gi s G c k bin (|V| = k). Chn m = 2k. Ly w bt k L sao cho |w| m. Xt cy dn xut T ca w. Theo b trn suy ra T phi c t nht mt con ng i t gc ti l c chiu di k+1. a
Trang 271 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Chng minh (tt)


Xt mt ng nh vy. Trn ng ny c k+2 phn t. Nu khng tnh nt l l k hiu kt thc th c k+1 nt l bin. V tp bin ch c k bin hai nt trng vo mt bin. Gi s l bin A (hai ln xut hin k hiu l A1 v A2) Cy dn xut T ca w A1 u v x A2 y
Trang 272 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Chng minh (tt)


Trong cy trn, gi u, v, x, y, z l cc chui c tnh cht sau: * (1) S uA1z * A1 vA2y (2) * A2 x (3) V w = uvxyz. vxy l kt qu ca cy c gc l A1 m mi con ng ca cy ny c chiu di (k +1) theo b trn |vxy| 2k = m. Mt khc v vn phm c dng chun Chomsky tc l khng c lut sinh-n v v lut sinh- nn t (2) suy ra |vy| 1. T (1), (2), (3) chng ta c: * * * * S uAz uvAyz uviAyiz uvixyiz hay uvixyiz L i = 0, 1, 2, . . . iu ny kt thc chng minh.
Trang 273 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
B bm ny c dng chng minh mt ngn ng l khng PNC tng t nh Chng 4.

V d
Chng minh ngn ng L = {anbncn : n 0} l khng PNC.

Chng minh
Gi s L l PNC s nguyn dng m. Chn w = ambmcm L. mt phn hoch ca w thnh b 5 w = uvxyz V |vxy| m nn vxy khng cha ng thi c 3 k hiu a, b, c. Chn i = 2 w2 = uv2xy2z s cha a, b, c vi s lng khng bng nhau w2 L (><).
Trang 274 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Bi tp
Ngn ng no sau y PNC? Chng minh.
L1 = {anbjck: k = jn} L2 = {anbjck: k > n, k > j} L3 = {anbjck: n < j, n k j} L5 = { anbjanbj: n 0, j 0} L4 = {w: na(w) < nb(w) < nc(w)} L6 = { anbjakbl: n + j k + l} L7 = { anbjakbl: n k, j l} L8 = {anbncj: n j}

Trang 275 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

B bm cho ngn ng tuyn tnh


nh ngha 8.1
Mt NNPNC L c gi l tuyn tnh nu mt VPPNC tuyn tnh G sao cho L = L(G).

nh l 8.2
Cho L l mt NN tuyn tnh v hn, tn ti mt s nguyn dng m sao cho bt k chui w no L vi |w| m, w c th c phn hoch thnh w = uvxyz vi |uvyz| m (8.7) v |vy| 1 (8.8) sao cho uvixyiz L (8.9) i = 0, 1, 2, ...
Trang 276 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Chng minh
Gi G l vn phm tuyn tnh m khng cha lut sinh-n v v lut sinh-. Gi k = max {cc chiu di v phi} mi bc dn xut chiu di dng cu tng ti a (k-1) k hiu mt chui w dn xut di p bc th |w| 1 + p(k-1) (1). t |V|= n. Chn m = 2 + n(k-1). Xt w bt k L, |w| m. (1) dn xut ca w c (n+1) bc dn xut c (n+1) dng cu m khng phi l cu. Ch mi dng cu c ng mt bin. Xt (n+1) dng cu u tin ca dn xut trn hai bin ca hai dng cu no trng nhau, gi s l bin A. Nh vy dn xut ca w phi c dng: * * * S uAz uvAyz uvxyz, (2) vi u, v, x, y, z T*.
Trang 277 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Chng minh (tt)


Xt dn xut ring phn * * S uAz uvAyz v A c lp li trong (n + 1) dng cu u tin nn dy ny c n bc dn xut |uvAyz| 1 + n(k-1), |uvyz| n(k-1) < m. Mt khc v G khng c lut sinh-n v v lut sinh- nn ta c |vy|1. T (2) cng suy ra: * * * * S uAz uvAyz uviAyiz uvixyiz uvixyiz L i = 0, 1, 2, ... Chng minh hon tt.

Trang 278 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Chng minh ngn ng L = {w: na(w) = nb(w)} l khng tuyn tnh.

Chng minh
Gi s L l tuyn tnh. Chn w = amb2mam. T (8.7) u, v, y, z phi cha ton a. Nu bm chui ny ln, chng ta nhn c chui am+kb2mam+l, vi k 1 hoc l 1, m chui ny L (><) L khng phi l ngn ng tuyn tnh.

Trang 279 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Bi tp
Ngn ng no sau y PNC tuyn tnh? Chng minh.
L1 = {anbnambm: n, m 0} L2 = { w: na(w) nb(w)} L3 = {anbj: j n 2j - 1} L4 = L(G) vi G c cho nh sau: ET|E+T TF|T*F F I | (E) Ia|b|c

Trang 280 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Tnh ng ca NNPNC
nh l 8.3
H NNPNC l ng di php hi, kt ni, v bao ng sao.

Chng minh
Gi s G1 = (V1, T1, S1, P1), G2 = (V2, T2, S2, P2) l hai VPPNC. Vn phm G3 = (V1 V2 {S3}, T1 T2, S3, P1 P2 {S3 S1 | S2}) s c L(G3) = L(G1) L(G2). Vn phm G4 = (V1 V2 {S4}, T1 T2, S4, P1 P2 {S4 S1S2}) s c L(G4) = L(G1)L(G2). Vn phm G5 = (V1 {S5}, T1, S5, P1 {S5 S1S5 | }) s c L(G5) = L(G1)*.
Trang 281 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Tnh ng ca NNPNC (tt)


nh l 8.4
H NNPNC khng ng di php giao v b.

Chng minh
Hai ngn ng {anbncm: n, m 0} v {anbmcm: n, m 0} l phi ng cnh, tuy nhin giao ca chng l ngn ng {anbncn: n 0} li khng phi ng cnh, nn h NNPNC khng ng di php giao. Da vo lut Morgan suy ra h NNPNC cng khng ng di php b. V nu ng i vi php b th da vo tnh ng i vi php hi suy ra tnh ng di php giao theo lut Morgan.

Trang 282 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Tnh ng ca NNPNC (tt)


nh l 8.5
Cho L1 l mt NNPNC v L2 l mt NNCQ, th L1 L2 l phi ng cnh. Chng ta ni rng h NNPNC l ng di php giao chnh qui.

Chng minh
Cho M1 = (Q, , , 1, q0, z, F1) l npda chp nhn L1 v M2 = (P, , 2, p0, F2) l dfa chp nhn L2. Xy dng mt npda M= (Q, , , , q0, z, F) m phng hot ng song song ca M1 v M2 Q = Q P, q0 = (q0, p0), F = F1 F2, ((qk, pl), x) ((qi, pj), a, b), (qk, x) 1(qi, a, b), v 2(pj, a) = pl,
Trang 283 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Tnh ng ca NNPNC (tt)


Nu a = , th pj = pl. Bng qui np chng minh rng *((q0, p0), w, z) |-*M ((qr, ps), x), vi qr F1 v ps F2 1*(q0, w, z) |-*M1 (qr, x), cn 2*(p0, w) = ps. V vy L(M) = L(M1) L(M2) (iu phi chng minh)

V d
Ngn ng L = { w {a, b}*: na(w) = nb(w), na(w) chn} l phi ng cnh.

Trang 284 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Mt vi tnh cht kh quyt nh ca NNPNC


nh l 8.6
Cho mt VPPNC G = (V, T, S, P), th tn ti mt gii thut quyt nh L(G) c trng hay khng.

nh l 8.7
Cho mt VPPNC G = (V, T, S, P), th tn ti mt gii thut quyt nh L(G) c v hn hay khng.

Trang 285 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Chng 9 My Turing
PDA v mt mt no mnh hn rt nhiu FSA. NNPNC-PDA vn cn gii hn. Bn ngoi n l g? FSA v PDA khc nhau bn cht ca b lu tr tm thi. Nu PDA dng hai, ba stack, mt hng (queue), hay mt thit b lu tr khc no th sc mnh s th no? Mi thit b lu tr nh ngha mt loi tmt mi v thng qua n mt h ngn ng mi? tmt c th c m rng n chng no? Kh nng mnh nht c th ca tmt? Nhng gii hn ca vic tnh ton? My Turing ra i v khi nim v s tnh ton c tnh my mc hay gii thut (mechanical or algorithmic computation). My Turing l kh th s, nhng sc bao trm cc qu trnh rt phc tp v lun Turing (Turing thesis) cho rng bt k qu trnh tnh ton no thc hin c bng cc my tnh ngy nay, u c th thc hin c bng my Turing.
Trang 286 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Chng 9 My Turing
9.1 My Turing chun 9.2 Kt hp cc my Turing cho cc cng vic phc tp 9.3 Lun Turing

Trang 287 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

My Turing chun
nh ngha 9.1

Mt my Turing M c nh ngha bng b by M = (Q, , , , q0, , F), Q l tp hu hn cc trng thi ni, l tp hu hn cc k hiu c gi l bng ch ci ng nhp, l tp hu hn cc k hiu c gi l bng ch ci bng, l hm chuyn trng thi, l mt k hiu c bit, Control unit gi l khong trng (blank), q0 Q l trng thi khi u, F Q l tp cc trng thi kt thc. Input, Storage, Output
Trang 288 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

My Turing chun (tt)


Trong nh ngha chng ta gi thit rng - { }. Hm c nh ngha nh sau : Q Q {L, R} N c din dch nh sau: Cc i s ca l trng thi hin hnh ca tmt v k hiu bng ang c c. Kt qu l mt trng thi mi ca automat, mt k hiu bng mi thay th cho k hiu ang c c trn bng v mt s di chuyn u c sang phi hoc sang tri. V d (q0, a) = {q1, d, R} Trng thi ni q0 a b c Trng thi ni q1 d b c

Trang 289 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
Xt mt my Turing c nh ngha nh sau Q = {q0, q1}, = {a, b}, = {a, b, }, F = , cn c nh ngha (q1, a) = (q0, a, L) (q0, a) = (q1, a, R) (q0, b) = (q1, b, R) (q1, b) = (q0, b, L) (q0, ) = (q1, , R) (q1, ) = (q0, , L) Xt hot ng ca M trong trng hp sau q0 q1 q0 a b a b a b

Trng hp ny my khng dng li v ri vo mt vng lp v tn (infinite loop)


Trang 290 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Cc c im ca my Turing chun
C nhiu m hnh khc nhau ca my Turing. Sau y l mt s c im ca my Turing chun. My Turing c mt bng khng gii hn c hai u, cho php di chuyn mt s bc ty v bn tri v phi. My Turing l n nh trong ng cnh l nh ngha ti a mt chuyn trng thi cho mt cu hnh. Khng c mt bng nhp (input file) ring bit. Chng ta gi thit l vo thi im khi u bng cha mt ni dung c th. Mt vi trong s ny c th c xem l chui nhp (input). Tng t khng c mt bng xut (output file) ring bit. Bt k khi no my dng, mt vi hay tt c ni dung ca bng c th c xem l kt qu xut (output).

Trang 291 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Hnh trng tc thi


nh ngha 9.2
Cho M = (Q, , , , q0, , F) l mt my Turing, th mt chui a1a2 ... ak-1q1akak+1 ... an bt k vi ai v q1 Q, l mt hnh trng tc thi ca M (gi tt l hnh trng). Mt di chuyn a1a2 ... ak-1q1akak+1 ... an |_ a1a2 ... ak-1bq2ak+1 ...an l c th nu v ch nu ( q1, ak) = (q2, b, R). Mt di chuyn a1a2 ... ak-1q1akak+1 ... an |_ a1a2 ... q2ak-1bak+1 ...an l c th nu v ch nu ( q1, ak) = (q2, b, L).
Trang 292 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Hnh trng tc thi (tt)


M c gi l dng sau khi bt u t mt cu hnh khi u no x1qix2 nu x1qix2 |_* y1qjay2 vi bt k qj v a, m i vi n (qj, a) khng c nh ngha. Dy cu hnh dn ti mt trng thi dng s c gi l mt s tnh ton (computation). V d trong slide 290 trnh by kh nng rng mt my Turing c th khng bao gi dng, thi hnh trong mt vng lp v tn v t n khng th thot. Trng hp ny ng mt vai tr c bn trong tho lun v my Turing, v c k hiu l x1qx2 |_* ch ra rng, bt u t cu hnh khi u x1qx2, my khng bao gi dng.
Trang 293 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

My Turing nh mt b chp nhn ngn ng


nh ngha 9.3
Cho M = (Q, , , , q0, , F) l mt my Turing, th ngn ng c chp nhn bi M l L(M) = {w +: q0w |_* x1qfx2 v dng, i vi mt qf no F, x1, x2 *}. nh ngha ny ch ra rng chui nhp w c vit trn bng vi cc khong trng chn hai u. y cng l l do cc khong trng b loi ra khi bng ch ci ng nhp . iu ny m bo chui nhp c gii hn trong mt vng r rng ca bng c bao bc hai u bi cc k hiu trng. Khng c qui c ny, my khng th gii hn vng trong n tm kim chui nhp. nh ngha trn khng ni r khi no th w L(M). iu ny ng khi mt trong hai trng hp sau xy ra
Trang 294 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
(1) My dng li mt trng thi khng kt thc. (2) My i vo mt vng lp v tn v khng bao gi dng.

V d

Cho = {a, b}, thit k my Turing chp nhn L = {anbn: n1}. tng thit k l c mt a thay bng mt x, i kim mt b thay bng mt y. C nh vy cho n khi khng cn ng thi a v b thay th dng v chp nhn chui, cc trng hp khc th khng chp nhn. My Turing kt qu nh sau. Q = {q0, q1, q2, q3, qf }, F = {qf}, = {a, b}, = {a, b, x, y, } (q0, a) = {q1, x, R} (q2, y) = {q2, y, L} (q0, y) = {q3, y, R} (q1, a) = {q1, a, R} (q2, a) = {q2, a, L} (q3, y) = {q3, y, R} (q1, y) = {q1, y, R} (q2, x) = {q0, x, R} (q3, ) = {qf, , R} (q1, b) = {q2, y, L}
Trang 295 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d
q0aaabbb |_ xq1aabbb |_ xq2aaybb |_ xxaq1ybb |_ xq2xayyb |_ xxxyyq1b |_ xxq2xyyy |_ xxxyyyq3
|_ |_ |_ |_ |_ |_ |_

xaq1abbb q2xaaybb xxayq1bb xxq0ayyb xxxyyq1b xxxq0yyy xxxyyy qf

|_ |_ |_ |_ |_ |_ |_ |_ |_ |_

xaaq1bbb |_ xq0aaybb |_ xxaq2yyb |_ xxxq1yyb |_ xxxyq2yy |_ xxxyq3yy |_ (chp nhn) xaaq1bb xq0aayb xxaq2yy xxxq1yy
|_ |_ |_ |_

xaq2aybb xxq1aybb xxq2ayyb xxxyq1yb xxxq2yyy xxxyyq3y xaq2ayb xxq1ayb xxq2ayy xxxyq1y

q0aaabb |_ xq1aabb |_ xaq1abb |_ xq2aaybq2 |_ xaayb |_ xxaq1yb |_ xxayq1b |_ xq2xayy |_ xxq0ayy |_ xxxyyq1 (dng)

Trang 296 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

My Turing nh l transducer
My Turing khng ch c quan tm nh l mt b chp nhn ngn ng m trong tng qut cn cung cp mt m hnh tru tng n gin ca mt my tnh s. V mc ch chnh ca mt my tnh l bin i input thnh output, n hot ng nh mt transducer. Hy th m hnh ha my tnh bng cch dng my Turing. Input ca mt s tnh ton l tt c cc k hiu khng trng trn bng ti thi im khi u. Ti kt thc ca s tnh ton, output s l bt k ci g c trn bng. Vy c th xem mt my Turing M nh l mt s hin thc ca mt hm f c nh ngha bi w = f(w) _* q w vi q l mt trng thi kt thc no . trong q0w | M f f
Trang 297 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

My Turing nh l transducer (tt)


nh ngha 9.4
Mt hm f vi min xc nh D c gi l kh tnh tonTuring hay n gin l kh tnh ton nu tn ti mt my Turing no M = (Q, , , , q0, , F) sao cho q0w |_* qf f(w), qf F, w D. M Cho x, y nguyn dng, thit k my Turing tnh x + y. Chng ta u tin chn qui c biu din s nguyn dng. Ta bit cch biu din s nguyn dng bng chui nh phn v cch cng hai s nh phn, tuy nhin ng dng iu vo trong trng hp ny th hi phc tp mt cht. w Vy n gin hn ta biu din s nguyn dng x bng chui w(x) cc s 1 c chiu di bng x.
Trang 298 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V d

V d
Chng ta cng phi quyt nh cc s x v y vo lc ban u c t nh th no trn bng v tng ca chng xut hin nh th no lc kt thc s tnh ton. Chng ta gi thit rng w(x) v w(y) c phn cch bng mt k hiu 0, vi u c trn k t tri cng ca w(x). Sau khi tnh ton, w(x + y) s trn bng v c theo sau bi mt k t 0, v u c s c t trn k t tri cng ca kt qu. Chng ta v vy mun thit k mt my Turing thc hin s tnh ton (trong qf l mt trng thi kt thc) q0w(x)0w(y) |_* qf w(x + y)0, Q = {q0, q1, q2, q3, qf,}, F = {qf} (q0, 0) = (q1, 1, R) (q1, 1) = (q1, 1, R) (q0, 1) = (q0, 1, R) (q1, ) = (q2, , L) (q2, 1) = (q3, 0, L) (q3, 1) = (q3, 1, L) (q3, ) = (qf, , R)
Trang 299 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Kt hp cc my Turing cho cc cng vic phc tp


Chng ta thy my Turing c th thc hin c cc php ton c bn v quan trng nhng ci m c trong tt c cc my tnh. V trong cc my tnh s, cc php ton c bn nh vy l cc thnh phn c bn cho cc lnh phc tp hn, v vy chng ta y cng s trnh by my Turing c kh nng kt hp cc php ton ny li vi nhau.

V d
Thit k mt my Turing tnh ton hm sau f(x, y) = x + y nu x y =0 nu x < y Ta xy dng m hnh tnh ton cho n nh sau
Trang 300 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Kt hp cc my Turing cho cc cng vic phc tp (tt)


xy x, y B so snh C x<y B cng A B xa E x+y f (x, y) 0

Chng ta s xy dng b so snh C m sau khi thc hin xong c kt qu nh sau: qC,0w(x)0w(y) |_* qA,0w(x)0w(y), nu x y qC,0w(x)0w(y) |_* qE,0w(x)0w(y), nu x < y trong qC,0, qA,0 v qE,0 ln lt l trng thi khi u ca b so snh, b cng v b xa.
Trang 301 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Bi tp
Nu chng ta xy dng c cc b so snh, b cng v b xa th vi m hnh kt hp nh trn chng ta c th xy dng c hm tnh ton c yu cu.

Xy dng my Turing thc hin cc php ton sau


Hm f(x, y) trong slide trn Php AND, OR, XOR Php cng hai s nh phn

Trang 302 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Lun Turing
My Turing c th c xy dng t cc phn n gin hn, tuy nhin kh cng knh cho d phi thc hin cc php ton n gin. iu ny l v tp lnh ca mt my Turing l qu n gin v hn ch. Vy my Turing c sc mnh n u v nh th no trong s so snh vi sc mnh ca my tnh ngy nay? Mc du vi c ch n gin nhng my Turing c th gii quyt c cc bi ton phc tp m my tnh ngy nay gii quyt c. chng minh iu ny ngi ta chn ra mt my tnh in hnh, sau xy dng mt my Turing thc hin c tt c cc lnh trong tp lnh ca my tnh (tp lnh ca CPU). Tuy lm c iu ny nhng cng cha phi l mt chng minh cht ch chng t my Turing c sc mnh ngang bng vi cc my tnh ngy nay.
Trang 303 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Lun Turing (tt)


Tuy nhin cng khng ai a ra c phn chng chng minh rng my Turing khng mnh bng vi my tnh ngy nay. Cui cng, vi kh nhiu bng chng mnh m tuy cha l mt chng minh cht ch, chng ta chp nhn lun Turing sau nh l mt nh ngha ca mt s tnh ton c hc

Lun Turing
Bt k ci g c th c thc hin trn bt k my tnh s ang tn ti no u c th c thc hin bi mt my Turing. Khng ai c th a ra mt bi ton, c th gii quyt c bng nhng g m mt cch trc quan chng ta xem l mt gii thut, m i vi n khng tn ti my Turing no gii quyt c. Cc m hnh thay th khc c th c a ra cho s tnh ton c hc nhng khng c ci no trong s chng l mnh hn m hnh my Turing.
Trang 304 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Gii thut
Lun trn ng mt vai tr quan trng trong khoa hc my tnh cng ging nh vai tr ca cc nh lut c bn trong vt l v ha hc. Bng vic chp nhn lun Turing, chng ta sn sng nh ngha chnh xc khi nim gii thut, ci m l kh c bn trong khoa hc my tnh.

nh ngha 9.5

Mt gii thut cho mt hm f: D R l mt my Turing M sao cho cho mt chui nhp d D trn bng nhp, cui cng M dng vi kt qu f(d) R trn bng. Mt cch c th l: q0d |_* qf f(d), qf F, d D. M

Trang 305 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Chng 10 Ph lc
10.1 Mt s nh ngha 10.2 Tng kt cc i tng hc 10.3 Mi quan h gia cc i tng 10.4 S phn cp cc lp ngn ng hnh thc theo Chomsky 10.5 Mt s gii thut quan trng khc

Trang 306 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

My Turing khng n nh
nh ngha 10.6 nh l 10.5
Lp my Turing khng n nh tng ng vi lp my Turing chun. L my Turing m trong hm c nh ngha nh sau: : Q 2Q {L, R}

nh l 10.6
Tp tt c cc my Turing l v hn m c.

Trang 307 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

tmt rng buc tuyn tnh


nh ngha 10.7
Mt tmt rng buc tuyn tnh (Linear Bounded Automat LBA) l mt my Turing khng n nh M = (Q, , , , q0, , F), nh trong nh ngha 10.6, ngoi tr b gii hn rng phi cha hai k t c bit [ v ], sao cho (qi, [) c th cha ch mt phn t dng (qj,[, R) v (qi, ]) c th cha ch mt phn t dng (qj,], L). Bng li, khi u c chm n du mc vung mt trong hai u n phi gi li v ng thi khng th vt ra vng nm gia hai du mc vung. Trong trng hp ny chng ta ni u c b gii hn gia hai du mc vung hai u.

Trang 308 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

tmt rng buc tuyn tnh (tt)


nh ngha 10.7
Mt chui c chp nhn bi mt tmt rng buc tuyn tnh nu c mt dy chuyn hnh trng c th q0[w] |_* [x1qfx2] vi mt qf no F, x1, x2 *. Ngn ng c chp nhn bi lba l tp tt c cc chui c chp nhn bi lba.

V d

Ngn ng L = {anbncn: n 0} l mt ngn ng rng buc tuyn tnh v chng ta c th xy dng c mt lba chp nhn ng n.

Trang 309 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Ngn ng kh lit k qui, qui


nh ngha 10.8
Mt ngn ng L c gi l kh lit k qui nu tn ti mt my Turing M chp nhn n. |_* T nh ngha ny cng d dng suy ra c mi ngn ng m i vi n tn ti mt th tc lit k (cc phn t ca n) th kh lit k qui.

nh ngha 10.9

Mt ngn ng L trn c gi l qui nu tn ti mt my Turing M chp nhn n v dng i vi w +. Hay ni cch khc mt ngn ng l qui nu v ch nu tn ti mt gii thut thnh vin cho n.

Trang 310 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Vn phm
nh ngha 10
Mt vn phm m mi lut sinh khng cn tha bt k rng buc no tc l c dng trong (V T)*V(V T)*, (V T)* th c gi l vn phm loi 0 hay l vn phm khng hn ch. Mt vn phm m mi lut sinh c dng chiu di v tri nh hn hoc bng chiu di v phi tc l c dng trong (V T)*V(V T)*, (V T)* v || || th c gi l vn phm loi 1 hay vn phm cm ng cnh. Vn phm phi ng cnh cn c gi l vn phm loi 2. Vn phm chnh qui cn c gi l vn phm loi 3.
Trang 311 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Tng kt cc lp i tng
Cc lp ngn ng Chnh qui Regular Tuyn tnh Linear Phi ng cnh n nh Deterministic Context-Free Phi ng cnh Context-Free Cm ng cnh Context-Sensitive qui Recusive Kh lit k qui Recusively Enumerable K hiu LREG LLIN LDCF LCF LCS LREC LRE

Trang 312 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Tng kt cc lp i tng (tt)


Cc lp vn phm Chnh qui Tuyn tnh-phi v tuyn tnh-tri Loi 3 Tuyn tnh Phi ng cnh n nh: in hnh l LL(k) v LR(k) Phi ng cnh Loi 2 Cm ng cnh Loi 1 Khng hn ch Loi 0 Regular RightLinear v Left-Linear Linear LL(k) v LR(k) Context-Free Context-Sensitive UnRestricted K hiu GREG GR-LIN v GL-LIN GLIN GLL v GLR GCF GCS GUR

Trang 313 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Tng kt cc lp i tng (tt)


Cc lp tmt Finite State Hu hn y xung n nh Deterministic Push Down y xung khng n Nondeterministic Push Down nh Rng buc tuyn tnh Linear Bounded My Turing Turing Machine K hiu FSA (nfa, dfa) DPDA NPDA LBA TM

Trang 314 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Mi quan h gia cc lp i tng


Ngn ng LREG LLIN LDCF LCF LCS LREC LRE Vn phm tmt GREC GL-LIN v GR-LIN FSA DFA = NFA GLIN NPDA DPDA LL(k) v LR(k) GCF NPDA GCS LBA GUR GUR TM TM

Du c ngha l theo nh ngha, cn du = c ngha l tng ng, du c ngha l tp cha (khng bng), du c ngha l tp con (khng bng).
Trang 315 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Phn cp ngn ng theo Chomsky


LRE LCS LCF LREG LRE LREC LCS LCF LDCF LREG

S phn cp n gin LCF LLIN LREG LDCF S phn cp chi tit

S phn cp trong lp PNC Trang 316


L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

You might also like