Chương trình dịch - blog của TXNamtxnam.net/wp-content/uploads/txnam/Bai Giang/Chuong Trinh Dich... · Bài toán phân tích cú pháp thực chất là bài toán tìm

Embed Size (px)

Citation preview

  • CHNG TRNH DCH

    BI 7: BIU DIN CY V CC CHIN

    LC PHN TCH C PHP

  • Ni dung

    1. Suy dn

    2. Biu din suy dn bng cu trc cy

    3. Vn phm c nhp nhng

    4. Cc chin lc phn tch c php

    Chin lc th-sai (quay lui): top-down, bottom-up

    Chin lc quy hoch ng: CYK, Earley,

    Chin lc tt nh (deterministic): LL, LR,

    5. Bi tp

    TRNG XUN NAM 2

  • Suy dnPhn 1

    TRNG XUN NAM 3

  • Suy dn

    Khi nim: A (gi l A suy dn ra ) nu A l mt lut sinh, v l cc chui k hiu thuc ngn ng L no

    Nu 1 2 n ta ni 1 suy dn ra n

    H thng k hiu: suy dn ra qua 1 bc (suy dn trc tip)* suy dn ra qua 0 hoc nhiu bc+ suy dn ra qua 1 hoc nhiu bc

    Mt s tnh cht: * vi * v * th *

    TRNG XUN NAM 4

  • Suy dn tri v suy dn phi

    Bi ton phn tch c php thc cht l bi ton tm chui suy dn S * * , trong : S l k hiu gc

    l chui c cha k hiu trung gian

    l chui ch gm cc k hiu kt thc

    D nhn thy trong qu trnh suy dn trn: C nhiu phng n suy dn t S thnh

    Mt k hiu trung gian thuc th trc sau g n cng phi b bin i bi mt lut sinh no

    Nu k hiu trung gian c chn bin i lun l tri nht ca th ta gi phng n ny l suy dn tri

    nh ngha tng t cho suy dn phi

    TRNG XUN NAM 5

  • Suy dn tri v suy dn phi

    Cho vn phm G vi cc lut sinh:S E + S | E

    E s | ( S )

    Xu vo: W = (1 + 2 + (3 + 4)) + 5

    Suy dn tri t S thnh W nh sau:S E + S ( S ) + S ( E + S ) + S ( 1 + S ) + S

    ( 1 + E + S ) + S ( 1 + 2 + S ) + S

    ( 1 + 2 + E ) + S ( 1 + 2 + ( S ) ) + S

    ( 1 + 2 + ( E + S ) ) + S ( 1 + 2 + ( 3 + S ) ) + S

    ( 1 + 2 + ( 3 + E ) ) + S ( 1 + 2 + ( 3 + 4 ) ) + S

    ( 1 + 2 + ( 3 + 4 ) ) + E ( 1 + 2 + ( 3 + 4 ) ) + 5

    TRNG XUN NAM 6

  • Suy dn tri v suy dn phi

    Suy dn phi t S thnh W nh sau:S E + S E + E E + 5 ( S ) + 5 ( E + S ) + 5

    ( E + E + S ) + 5 ( E + E + E ) + 5

    ( E + E + ( S ) ) + 5 ( E + E + ( E + S ) ) + 5

    ( E + E + ( E + E ) ) + 5 ( E + E + ( E + 4 ) ) + 5

    ( E + E + ( 3 + 4 ) ) + 5 ( E + 2 + ( 3 + 4 ) ) + 5

    ( 1 + 2 + ( 3 + 4 ) ) + 5

    Cu hi: qua cc v d v qu trnh bin i t S thnh W, chng ta nn s dng cch m ha nh th no lu tr qu trnh suy dn v s dng cc thng tin in ra qu trnh suy dn nh th no?

    TRNG XUN NAM 7

  • Biu din suy dn bng cu trc cy

    Phn 2

    TRNG XUN NAM 8

  • Cy phn tch (parse tree)

    Cy phn tch th hin cu trc ca mt suy dn Nt gc l k hiu bt u

    Cc nt l lun l k hiu kt thc

    Cc nt trong lun l cc k hiu trung gian

    Cy khng th hin th t thc hin cc suy dn trc tip Vic duyt cy s to thnh th t thc

    hin suy dn

    Suy dn tri tng ng vi qu trnh duyt cy theo th t gia-tri-phi

    S

    E + S

    E

    4

    ( S )

    E + S

    E + S

    E

    ( S )

    E + S

    2

    1

    3

    E

    5

    TRNG XUN NAM 9

  • Cy c php tru tng

    Cy c php tru tng (abstract syntax tree) loi b cc thng tin khng cn thit ca cy phn tch Minh ha qu trnh nhm cc k

    hiu vi nhau

    Thch hp vi vic thc hin tnh ton v t hp thng tin

    S

    E + S

    E

    4

    ( S )

    E + S

    E + S

    E

    ( S )

    E + S

    2

    1

    3

    E

    5

    +

    +

    +

    +

    1

    2

    3 4

    5

    TRNG XUN NAM 10

  • Suy dn vs cc cu trc cy

    Suy dn l cch biu din thng tin 1 chiu

    Cu trc cy l cch biu din thng tin 2 chiu

    Cu trc cy minh ha tng quan gia cc thnh phn trong mt cu trc khng gian

    Cy phn tch m t y nht vic bin i t k hiu gc thnh chui cn phn tch, ph hp nht cho mi mc ch s dng

    Cy c php gt b cc thnh phn trung gian, tp trung m t tng quan gia cc k hiu kt thc, cu trc ny ph hp vi vic t hp thng tin

    TRNG XUN NAM 11

  • Vn phm c nhp nhngPhn 3

    TRNG XUN NAM 12

  • Vn phm c nhp nhng

    Mt vn phm thiu cht ch dn ti vic c nhiu cy phn tch khc nhau vi mt chui u vo

    V d vn phm: S S + S | S * S | s

    Phn tch xu vo: 1 + 2 * 3

    Kt qu 1:S S + S 1 + S 1 + S * S

    1 + 2 * S 1 + 2 * 3

    Kt qu 2:S S * S S + S * S 1 + S * S

    1 + 2 * S 1 + 2 * 3

    +

    1 *

    2 3

    *

    3+

    1 2

    TRNG XUN NAM 13

  • Vn phm c nhp nhng

    Vn phm tn ti t nht mt chui w c t 2 cy

    phn tch tng ng tr ln gi l vn phm c

    nhp nhng

    Vn ln nht ca vn phm c nhp nhng l

    tnh a ngha ca chui w (c nhiu cch hiu), h

    qu l khng th tnh chnh xc ng ngha ca w

    +

    1 *

    2 3

    *

    3+

    1 2

    = 7 = 9

    TRNG XUN NAM 14

  • Kh nhp nhng

    Vic kh nhp nhng thc ra to mt vn phm mi da trn vn phm c nhng hai vn phm khng hon ton tng ng

    C nhiu chin lc kh nhp nhng Thm vo cc bin trung gian

    a ra cc rng buc ngoi vn phm (v d nh quy nh mc u tin ca cc php ton)

    V d vn phm: S S + S | S * S | s

    Kh nhp nhng bng cch thm bin trung gian:S S + T | T

    T T * s | s

    TRNG XUN NAM 15

  • Cc chin lc phn tch c php

    Phn 4

    TRNG XUN NAM 16

  • Cc chin lc phn tch c php

    Chin lc phn tch c php chia thnh 3 nhm:

    Chin lc th-sai (quay lui): top-down, bottom-up

    Chin lc quy hoch ng: CYK, Earley,

    Chin lc tt nh (deterministic): LL, LR,

    Ngoi ra cn c mt s phng php khc da trn

    c im ca ngn ng p dng cc k thut hiu

    qu (v d nh phn tch theo th bc ton t)

    Mt s phng php tng qut (nh Earley chng

    hn), nhng a s cc phng php ch lm vic vi

    nhng vn phm c c th ring

    TRNG XUN NAM 17

  • Chin lc th-sai

    Chin lc th-sai hay l quay lui c ngh ti u

    tin khi gii quyt bi ton phn tch vn phm

    Cc chin lc ny n gin l th p dng cc lut

    suy dn cho ti khi t c chui suy dn mc tiu

    Chia thnh 2 cch tip cn ngc nhau:

    Phng php top-down:

    Nhn t cy phn tch th i t trn xung

    C gng t S bin i dn ra w

    Phng php bottom-up:

    Nhn t cy phn tch th i t di ln

    C gng thu gn t w v S

    TRNG XUN NAM 18

  • Chin lc th-sai

    C hai phng php ny u c hn ch v vn

    phm u vo:

    Top-down yu cu vn phm u vo khng quy tri

    Bottom-up yu cu vn phm u vo khng c sn xut

    rng (A ) v khng c suy dn dng A + A

    Cc chin lc ny ch c ngha v mt l thuyt

    v chm v hn ch vn phm, tuy nhin qu trnh

    th-sai em li nhiu gi cho cc thut ton khc

    Loi b hn ch vn phm: cc phng php vn nng

    Loi b s quay lui: cc phng php tt nh

    TRNG XUN NAM 19

  • Chin lc quy hoch ng

    tng quy hoch ng nhm ti mc tiu: Xy dng cc phng php khng c hn ch v vn

    phm u vo

    Lu tr li cc chui con phn tch trnh phi quay lui

    Thut ton CYK: Cn bin i vn phm v dng chun Chomsky

    Vn phm khng c suy dn rng

    Khng quay lui

    Thut ton Earley: vn nng hn, khng c rng buc v vn phm, khng quay lui

    TRNG XUN NAM 20

  • Chin lc tt nh

    tng tt nh i theo la chn khc: hi sinh s

    phong ph ca vn phm i ly tc

    c im chung:

    Cc vn phm c s rng buc nht nh

    Da trn phn tch trc vn phm tin on cc tnh

    hung c th xy ra

    Xy dng cc bng phng n, trong ch ra vic cn

    thc hin khi gp cc tnh hung c th

    y l chin lc m tt c cc chng trnh dch

    u s dng do u th v tc (khng quay lui)

    TRNG XUN NAM 21

  • Bi tpPhn 5

    TRNG XUN NAM 22

  • Bi tp

    1. Xc nh ngn ng c sinh bi vn phm:1. S S ( S ) S |

    2. S a S b | b S a |

    3. S + S S | * S S | a

    4. S 0 S 1 |

    2. Xy dng vn phm sn sinh ra ngn ng:1. S nh phn l

    2. S nguyn khng du

    3. S nguyn c du

    4. S thc, s nguyn khng v c du

    5. Cc t n ting Vit

    TRNG XUN NAM 23

  • Bi tp

    3. Kh nhp nhng ca vn phm m t biu thc s hc di y php nhn v chia c u tin hn php cng v trS S A S | ( S ) | - S | s

    A + | - | * | /

    4. Xt vn phm: S a S b S | b S a S | Chng minh vn phm ny nhp nhng bng cch xy

    dng hai suy dn tri cho chui w = abab

    Xy dng cc suy dn phi tng ng cho abab

    Xy dng cc cy phn tch tng ng cho abab

    *Vn phm ny sinh ra ngn ng no?

    TRNG XUN NAM 24

  • Bi tp

    5. Xt vn phm:

    S ( L ) | a

    L L , S | S

    a) Tm cc k hiu kt thc, khng kt thc

    b) Tm cc cy phn tch c php cho cc chui sau

    i. (a, a)

    ii. (a, (a, a))

    iii. (a, ((a, a), (a, a) ))

    c) Xy dng dn xut tri cho mi cu trong b)

    d) Xy dng mt dn xut phi cho mi cu trong b)

    e) *Vn phm ny sinh ra ngn ng no?

    TRNG XUN NAM 25