31
Trang 286 Lý thuyết Ôtômát & NNHT - Khoa Công NghThông Tin Chương 9 Máy Turing PDA vmt mt nào đómnh hơn rt nhiu FSA. NNPNC-PDA vn còn gii hn. Bên ngoài nó là gì? FSA và PDA khác nhau bn cht ca blưu trtm thi. Nếu PDA dùng hai, ba stack, mt hàng (queue), hay mt thiết blưu trkhác nào đó thì sc mnh sthế nào? Mi thiết blưu trđịnh nghĩa mt loi ôtômát mi và thông qua nó mt hngôn ngmi? Ôtômát có thđược mrng đến chng nào? Khnăng mnh nht có thca ôtômát? Nhng gii hn ca vic tính toán? Máy Turing ra đời và khái nim vstính toán có tính máy móc hay gii thut (mechanical or algorithmic computation). Máy Turing là khá thô sơ, nhưng đủ sc để bao trùm các quá trình rt phc tp và lun đề Turing (Turing thesis) cho rng bt kquá trình tính toán nào thc hin được bng các máy tính ngày nay, đều có ththc hin được bng máy Turing.

Automata C910

Embed Size (px)

DESCRIPTION

Automata

Citation preview

  • Trang 286L 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 287L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

    Chng 9 My Turing

    9.1 My Turing chun9.2 Kt hp cc my Turing cho cc cng vic phc tp9.3 Lun Turing

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

    My Turing chun nh ngha 9.1

    Mt my Turing M c nh ngha bng b byM = (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,

    gi l khong trng (blank), q0 Q l trng thi khi u, F Q l tp cc trng thi kt thc.

    Control unit

    Input, Storage, Output

  • Trang 289L 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}

    a b c d b c

    Trng thi ni q0 Trng thi ni q1

  • Trang 290L 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(q0, a) = (q1, a, R) (q1, a) = (q0, a, L)(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

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

    a b a b

    q0 q1

    a b

    q0

  • Trang 291L 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 cth c xem l kt qu xut (output).

  • Trang 292L 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 chuia1a2 ... 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 chuyna1a2 ... ak-1q1akak+1 ... an a1a2 ... ak-1bq2ak+1 ...an

    l c th nu v ch nu( q1, ak) = (q2, b, R).

    Mt di chuyna1a2 ... ak-1q1akak+1 ... an a1a2 ... q2ak-1bak+1 ...an

    l c th nu v ch nu( q1, ak) = (q2, b, L).

    _|

    _|

  • Trang 293L 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 nux1qix2 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 stnh 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 vmy Turing, v c k hiu l

    x1qx2 ch ra rng, bt u t cu hnh khi u x1qx2, my khng bao gi dng.

    *_|

    *_|

  • Trang 294L 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 lL(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 295L 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 296L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

    V dq0aaabbb xq1aabbb xaq1abbb xaaq1bbb xaq2aybb

    xq2aaybb q2xaaybb xq0aaybb xxq1aybbxxaq1ybb xxayq1bb xxaq2yyb xxq2ayybxq2xayyb xxq0ayyb xxxq1yyb xxxyq1ybxxxyyq1b xxxyyq1b xxxyq2yy xxxq2yyyxxq2xyyy xxxq0yyy xxxyq3yy xxxyyq3yxxxyyyq3 xxxyyyqf (chp nhn)

    q0aaabb xq1aabb xaq1abb xaaq1bb xaq2aybxq2aaybq2 xaayb xq0aayb xxq1aybxxaq1yb xxayq1b xxaq2yy xxq2ayyxq2xayy xxq0ayy xxxq1yy xxxyq1yxxxyyq1 (dng)

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

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

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

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

    _|_|_|_|_|

    _|_|_|_|

    _|_|_|_|

    _|_|_|_|

  • Trang 297L 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

    = f(w)trong q0w M qf vi qf l mt trng thi kt thc no .

    w*_| w

  • Trang 298L 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 ton-Turing hay n gin l kh tnh ton nu tn ti mt my Turing no M = (Q, , , , q0, , F) sao cho

    q0w M qf f(w), qf F, w D. V d

    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.

    Vy n gin hn ta biu din s nguyn dng x bng chui w(x) cc s 1 c chiu di bng x.

    w

    *_|

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

    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 t0, 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 stnh 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, 1) = (q0, 1, R) (q0, 0) = (q1, 1, R) (q1, 1) = (q1, 1, R)(q1, ) = (q2, , L) (q2, 1) = (q3, 0, L) (q3, 1) = (q3, 1, L)(q3, ) = (qf, , R)

    *_|

  • Trang 300L 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 301L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

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

    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 yqC,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 bso snh, b cng v b xa.

    B so snhC

    B cngA

    B xaE

    x, y

    x + y

    0

    x y

    x < y

    f (x, y)

    *_|*_|

  • Trang 302L 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 303L 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 sso 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 ccc 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 304L 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 305L 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 Mdng vi kt qu f(d) R trn bng. Mt cch c th l:

    q0d M qf f(d), qf F, d D.*_|

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

    Chng 10 Ph lc

    10.1 Mt s nh ngha10.2 Tng kt cc i tng hc10.3 Mi quan h gia cc i tng10.4 S phn cp cc lp ngn ng hnh thc theo Chomsky10.5 Mt s gii thut quan trng khc

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

    My Turing khng n nh nh ngha 10.6

    L my Turing m trong hm c nh ngha nh sau:: Q 2Q {L, R}

    nh l 10.5 Lp my Turing khng n nh tng ng vi lp my

    Turing chun. nh l 10.6

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

  • Trang 308L 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 309L 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 310L 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) thkh 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 311L 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 lvn 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 312L thuyt tmt & NNHT - Khoa Cng Ngh Thng Tin

    Tng kt cc lp i tng

    LRERecusively EnumerableKh lit k quiLRECRecusive quiLCSContext-SensitiveCm ng cnhLCFContext-FreePhi ng cnhLDCFDeterministic Context-FreePhi ng cnh n nhLLINLinearTuyn tnhLREGRegularChnh quiK hiuCc lp ngn ng

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

    Tng kt cc lp i tng (tt)

    GURUnRestrictedKhng hn ch Loi 0GCSContext-SensitiveCm ng cnh Loi 1GCFContext-FreePhi ng cnh Loi 2

    GLL v GLRLL(k) v LR(k)Phi ng cnh n nh: in hnh l LL(k) v LR(k)

    GLINLinearTuyn tnh

    GREG GR-LINv GL-LIN

    Regular Right-Linear v Left-Linear

    Chnh qui Tuyn tnh-phi v tuyn tnh-tri Loi 3

    K hiuCc lp vn phm

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

    Tng kt cc lp i tng (tt)

    TMTuring MachineMy TuringLBALinear BoundedRng buc tuyn tnh

    NPDANondeterministic Push Downy xung khng n nh

    DPDADeterministic Push Down y xung n nhFSA (nfa, dfa)Finite StateHu hn

    K hiuCc lp tmt

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

    Mi quan h gia cc lp i tng

    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).

    TMGURLRE

    TM GURLRECLBAGCSLCS

    NPDAGCFLCF

    DPDA LL(k) v LR(k)LDCF NPDAGLINLLINFSA DFA = NFAGREC GL-LIN v GR-LINLREG

    tmtVn phmNgn ng

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

    Phn cp ngn ng theo Chomsky

    LREG

    LCFLCSLRE

    S phn cp n gin

    LREG

    LDCFLCFLCSLRECLRE

    S phn cp chi titLREGLLIN

    LCF

    LDCF

    S phn cp trong lp PNC