Automat & Ngon Ngu Hinh Thuc

Embed Size (px)

Citation preview

Trng i hc Bch khoa Khoa Cng Ngh Thng Tin

BI GING MN HC L THUYT TMT & NNHTGing Vin: H Vn Qun E-mail: [email protected] Web site: http://www.dit.hcmut.edu.vn/~hcquan/student.htm

NI DUNG MN HCChng 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 TuringTrang 2 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

TI LIU THAM KHO1. 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 GIS c thng bo c th cho tng kha hc. Tuy nhin, thng l nh c cho bn di. Thi trc nghimThi 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 QUANNgn 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 ton1.1 Gii thiu 1.2 Yu cu v kin thc nn 1.3 Ba khi nim c bnNgn 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 thiutmtCc 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 nnL thuytTp hp th

K thut chng minhQui np Phn chng

K thut m phng

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

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

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

Ngn ngNgn 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 nimBng 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), wL mt dy hu hn cc k hiu t bng ch ci.

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

Qui cVi 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 chuiKt ni (concatenation), wvw = a1a2 ...an v v = b1b2...bm l chui: wv = a1a2 ...anb1b2...bm

o (reverse), wRo 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 wL 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 xt1 . 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), wnw 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 13n lanTrang 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 ngNgn ngL mt tp con ca *, hay ni cch khc l mt tp bt k cc cu trn b ch ci.

V dCho = {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 ngB (complement), LB ca ngn ng L trn bng ch ci , c k hiu l: L = * - L

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

Ly tha, LnLy 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 Ln lan

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

Cc php ton trn ngn ng (tt)V dCho L = {anbn : n 0}, th L2 = {anbnambm : n 0 , m 0}

Bao ng-sao (star-closure) ca LK hiu l L* v c nh ngha l L* = L0 L1 L2 ...

Bao ng dng (positive closure) ca LK hiu l L+ L+ = L1 L2 L3 ...

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

Vn phmVn 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 dCho on vn phm ting Anh sau , , , a | the, boy | dog, runs | walks,Trang 20 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

nh ngha vn phmCc 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.1Vn 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 dCho 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 nimDn 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 phmDn 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.2Cho 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 dCho 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 phmM t ton hc cho ngn ngNgn 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 phmG1 G2 S aSbS | bSaS | EE+T|T TT*F|F F (E) | a | bTrang 28 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Bi tp vn phm (tt)Xy dng vn phm cho ngn ngNgn 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

tmttmt 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 tmttmtL mt m hnh tru tng ca my tnh s bao gm cc thnh phn ch yu sau Input file

Control unit

Storage

OutputTrang 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 tmtn 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 tmtMt 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 nimTrng 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 tmtDa 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 dngCung 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 dDng vn phm m t danh hiu ca Pascal. , | | , a .. z | A .. Z 0 .. 9

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

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

1

Letter Digit

2

Letter or digit

3 Letter or digit

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

V d - Vn phm Pascal n ginMt 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 cngXt mt b cng nh phn tun t hai s nguyn dngai bi Serial adder Sum bit di

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

ai 2 i

n

v( y ) =

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

i=0

bi 2 i

m

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 hn2.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 nhnh ngha 2.1Mt 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 dfaHot ng ca mt dfaTi 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 dCho 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 0Trang 52 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Hm chuyn trng thi m rngHm 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 dNu (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 dfanh ngha 2.2Ngn 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 dV dXt 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 truynnh l 2.1Cho 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 dTm dfa chp nhn ngn ngTm 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, bTrang 58 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

1 0 1 0 0

0 00 1

0, 1 001

b

q2

Bi tp dfaTm dfa chp nhn ngn ngL1 = {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 quinh ngha 2.3Mt 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 dChng minh rng ngn ng L= {awa : w {a,b}*} l chnh qui. a b a a q0 q2 q3 b b q1 a, bTrang 60 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Accepter hu hn khng n nhnh ngha 2.4Mt 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 xtC 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 da 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 rngV 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 nfanh ngha 2 .6Ngn 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 dNgn 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 da 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 rngMt 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 d0 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 nfaTm nfa chp nhn ngn ngL1 = {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 dfaS tng ng gia hai tmtHai accepter c gi l tng ng nhau nu chng cng chp nhn mt ngn ng nh nhau.

V dDfa 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 0Trang 71 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

0

S tng ng gia nfa v dfa (tt)Nhn xtDfa 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 dHy xy dng dfa tng ng vi nfa bn. b q0 a q1 aTrang 72 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

a b q2 q0 q1 q1 q1 q2 q0 q2

V dXy 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 ngnh l 2.2Cho 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_dfaInput: 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_dfaB1. 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 dHy 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 dfaBin i nhng nfa sau thnh dfa tng ngNfa 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 dfaHai dfa c v trong (a) v (b) l tng ng nhau0, 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 xtTrong 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 nhaunh ngha 2.7Hai 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 xtTrng 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: markInput: 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 - markB1. 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.3Th 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 1Cp 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 2Khi 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 3Nu 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 - reduceTh tc: reduceInput: 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 - reduceB3. 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 dHy 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

00

q4 0, 1 1 4 0,1

1,2,3 4

0

123

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

nh lnh l 2.4Cho 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 dHy 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,30

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 dfaRt gn nhng dfa sau thnh dfa ti ginDfa 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 qui3.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 quiBiu 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 dNgn 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 BTCQnh ngha 3.1Cho 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 BTCQnh ngha 3.2Ngn 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 dL(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 BTCQTm ngn ng ca cc BTCQ saur1 = (aa)*(bb)*b r2 = (ab*a + b)* r3 = a(a + b)*

Kt quL(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 ngTm BTCQ cho cc ngn ng sauL1 = {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 qur1 = (+ + - + )(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 rngPhp 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).cTrang 104 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

BTCQ biu th NNCQnh l 3.1Cho 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-nfaT b trn mi nfa c th c biu din bng s nh sau M qf q0 Chng minh Th tc: re-to-nfaInput: Biu thc chnh qui r. Output: nfa M = (Q, , , q0, F).

B1. Xy dng cc nfa cho cc BTCQ nguyn thyq0 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 tpnfa 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 qf2Trang 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

hocM(r1) M(r2)

K: 1. Khng c cnh i ra qf1 hoc 2. Khng c cnh i vo q02Trang 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 dXy dng nfa cho BTCQ sau r = (a + bb)*(ba* + ) b a b b a

Hoc theo phng php ci tin b

a b b

a

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

Bi tp BTCQXy dng nfa cho cc BTCQ saur1 = 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 qutHnh bn biu din mt TCTTTQ. a* a+b NN c chp nhn bi n l L(a*(a + b)c*) c*

Nhn xtTCTT 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 gianL 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 lRt gn trng thi q ca TCTT saua

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

q0

a b b

q

+b aa

q1 b q2

aa+b

q0

a+b

nh l 3.2

a

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 thiTrang 115 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V dXc 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 ginDng trong cc ngn ng lp trnhBTCQ c dng m t cc token chng hn nhDanh hiu S nguyn thc

Dng trong cc trnh son tho vn bn, cc ng dng x l chuiBTCQ 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 quiVn 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 - trinh ngha 3.3Mt 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 dVP 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 tnhVP 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 NNCQnh l 3.3Cho 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 dXy dng mt nfa chp nhn ngn ng ca vn phm sau: V0 aV1 | ba V1 aV1 | abV0 | b Nfa kt quV0 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 NNCQnh l 3.4Nu 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 GPInput: 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 GPB2. 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 dXy 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 NNCQNhn xtLp 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 1T VPTT-T GT cho ta xy dng VPTT-P GP tng ng nh sauTrang 127 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

S tng ng gia VPCQ v NNCQ1. 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 2Nu L l chnh qui th LR cng chnh qui.

Nhn xtLp VPTT-T tng ng vi lp NNCQ

nh l 3.6Mt 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 dXy dng nfa M, VPTT-T GT tng ng vi VPTT-P GP sau S aS | bA A bB | a B aS | ba

M

b S a

A b B

a

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 quiNNCQ 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 qui4.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 NNCQng di cc php ton tp hp n gin. nh l 4.1Nu 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 minhNu 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: intersectionTh tc: intersectionInput: 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.2H 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 khcPhp ng hnh (homomorphism) nh ngha 4.1Gi 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 dCho ={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 sauTrang 138 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

nh lnh l 4.3Cho 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 dCho 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 lM1 M2 q0 p0 x q y y qf pf x m 1*(q0, x) = q th x L1/L2

nh l 4.4Nu 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 minhCho 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 quotientTh tc: right quotientInput: 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 dTm 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 NNCQCho 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 lnh l 4.5Cho 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 minhChng ta biu din ngn ng bng mt dfa ri kim tra xem w c c chp nhn bi dfa ny khng.

nh l 4.6Tn 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 minhChng 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.7Cho cc biu din chun ca hai NNCQ L1 v L2, tn ti gii thut xc nh c hay khng L1 = L2.

Chng minhS 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 CQS dng nguyn l chung chim b cuNu 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 CQNhng 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 xtTrong 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 bmnh l 4.8Cho 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 minhNu 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 , ... , qfTrang 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 bmS 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 dChng 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 NNCQng 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 cnh5.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 cnhnh ngha 5.1Mt 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 xtMi 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 NNPNCV d 1Vn 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 4Xt 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 xtNu 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 nhtTrong 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 aab1 4 2 5 3 AB ABb aaABb aaAb aab. STrang 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.2Mt 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 dXt 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 xutMt 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.3Cho 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 dXt 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 CDXNhn xtCDX 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.1Cho 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 nhngPhn 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 phpC hai trng phi PTCP c bn1. 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 dCho 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 xungQu 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 lnHy 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 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

a

Phng php PTCP vt cnQua 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 xtSau 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 dXt 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 dS 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 xtPPPTCPVC 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 lnh l 5.2Gi 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.3i 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 xtMt 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-sVn 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 dBn 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 NNnh ngha 5.4Mt 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 dXt 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.5Nu 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 dNgn 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 | S2Trang 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 trnhMt 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 ::= | + , ::= | * , ::= if 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 chun6.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 phmChui 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 qunh l 6.1Cho 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 dXt 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 trinh 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 minhCc 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 dS 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 xtVic 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 dngnh 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 dngV 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 dngnh l 6.3Cho 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 aCbTrang 198 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

th ph thuc (dependency graph)

V d

V dLoi 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 xtNu 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.2Bt 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 dLoi 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 DdTrang 203 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

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

nh l 6.5Cho 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 d3. 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 2Trang 206 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

Mt s nhn xt1. 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 Chomskynh ngha 6.4Mt 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-GChomskyInput: 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-1CnTrang 209 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

M

V dHy 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

B

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 Greibachnh ngha 6.5Mt VPPNC l thuc dng chun Greibach nu mi lut sinh c dng A ax trong a T cn x V*.

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

Chng minhKhng 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-GGreibachInput: 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 dBin 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 dS0 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 | aZ1bZ0aZ21 0 2 1

(6)

2

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 dinS 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 VPPNCGii 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 CYKA 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 ... V1nTrang 218 L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

V dS 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 tpDng 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 xungC 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 xung7.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 nhInput 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 xungnh ngha 7.1Mt 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 dXt 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 nimHnh trng tc thiL 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 230L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

M

Ngn ng c chp nhn bi mt npdanh ngha 7.2Cho 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 dXy 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 dXy 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