1. Trang chủ
  2. » Công Nghệ Thông Tin

chương 7: Automata đẩy xuống

44 242 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Chương 7: Automata đẩy xuống
Trường học Khoa Công Nghệ Thông Tin, Đại học Bách Khoa Hà Nội
Chuyên ngành Cơ sở lý thuyết tự động và ngôn ngữ hình thức
Thể loại Bài giảng
Thành phố Hà Nội
Định dạng
Số trang 44
Dung lượng 327,6 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Control unit StackInput file... Ví d̈ Xây d ng npda cho ngôn ng này nh sau... ̈ Gi s chúng ta đang phân tích t trên xu ng, đang th tìm.

Trang 1

̈ T ví d ngôn ng {wwR}, chúng ta c n thêm kh n ng

l u và so trùng m t dãy kí hi u trong th t ng c l i.

̈ i u này đ ngh chúng ta th m t stack nh m t c ch

l u tr ó chính là l p ôtômát đ y xu ng (PushDown Automata - PDA)

Trang 3

Ôtômat đ y xu ng không đ n đ nh

̈ M i di chuy n c a đ n v đi u khi n đ c m t kí hi u nh p,

trong cùng th i đi m đó thay đ i n i dung c a stack

̈ M i di chuy n đ c xác đ nh b ng kí hi u nh p hi n t i, kí hi u

hi n t i trên đ nh c a stack K t qu là m t tr ng thái m i c a

đ n v đi u khi n và m t s thay đ i trên đ nh c a stack

̈ Chúng ta s ch nghiên c u các PDA thu c lo i accepter

Control unit

StackInput file

Trang 4

nh ngh a ôtômát đ y xu ng

̈ nh ngh a 7.1

M t accepter đ y xu ng không đ n đ nh (npda) đ c đ nh ngh a b ng b b y M = (Q, Σ, Γ, δ, q0, z, F), trong đó

̈ Q là t p h u h n các tr ng thái n i c a đ n v đi u khi n,

̈ Σ là b ng ch cái ngõ nh p (input alphabet),

̈ Γ là b ng ch cái stack (stack alphabet),

̈ q0 ∈ Q là tr ng thái kh i đ u c a đ n v đi u khi n,

̈ z ∈ Γ là kí hi u kh i đ u stack (stack start symbol),

̈ F ⊆ Q là t p các tr ng thái k t thúc.

̈ Hàm chuy n tr ng thái δ là m t ánh x

δ : Q × (Σ ∪ {λ}) × Γ → t p con h u h n c a Q × Γ*,

Trang 5

Input file

Control unit

q

Trang 7

M t s khái ni m

̈ Hình tr ng t c th i

̈ Là b ba (q, w, u) , trong đó q là tr ng thái c a đ n v đi u

khi n, w là ph n ch a đ c c a chu i nh p, còn u là n i dung

c a stack (v i kí hi u trái nh t là kí hi u đ nh c a stack)

Trang 8

|

Trang 9

Ví d

̈ Xây d ng npda cho ngôn ng này nh sau

̈ M = ({q0, q f }, {a, b}, {0, 1, z}, δ, q0, z, {q f})

δ(q0, λ, z) = {(qf , z)}, δ(q0, a, z) = {(q0, 0z)}, δ(q0, b, z) = {(q0, 1z)}, δ(q0, a, 0) = {(q0, 00)}, δ(q0, b, 0) = {(q0, λ)},

Trang 10

δ(q0, λ, a) = {(q1, a)}, δ(q0, λ, b) = {(q1, b)},

δ(q1, a, a) = {(q1, λ)},

δ(q1, b, b) = {(q1, λ)},

δ(q1, λ, z) = {(qf , z)}.

Trang 11

Ví d (tt)

̈ Dãy chuy n hình tr ng đ ch p nh n chu i abba

(q0, abba, z) (q0, bba, az) (q0, ba, baz) (q1, ba, baz) (q1, a, az) (q1, λ, z) (qf, λ, z)

̈ Npda c i ti n

δ(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)},

Trang 12

Bài t p

̈ Dãy chuy n hình tr ng đ ch p nh n chu i abba

(q0, abba, z) (q0, bba, az) (q0, ba, baz) (q1, a, az) (q1, λ, z) (qf, λ, z)

Trang 13

Ôtômát đ y xu ng cho NNPNC

̈ Chúng ta xây d ng m t npda mà có th th c hi n đ c (

ph ng) m t DXTN c a m t chu i b t k trong ngôn ng

̈ Gi thi t ngôn ng đ c sinh ra b i m t v n ph m có d ng

chu n Greibach

̈ Pda s p xây d ng s bi u di n s d n xu t b ng cách nh sau

̈ Gi các bi n trong ph n bên ph i c a d ng câu trên stack c a

nó, còn ph n bên trái, chu i ch a các kí hi u k t thúc, là gi ng

Trang 14

̈ u tiên, tr ng thái kh i đ u bi n S đ c đ t trên stack b ng

δ(q0, λ, z) = {(q1, Sz)}

Trang 15

̈ S xu t hi n kí hi u kh i đ u stack trên đ nh stack báo hi u shoàn t t c a d n xu t và PDA s đ c đ t vào trong tr ng thái

k t thúc c a nó b ng chuy n tr ng thái

δ(q1, λ, z) = {(qf, λ)}

Trang 17

nh lý

̈ nh lý 7.1

̈ i v i m t NNPNC b t k không ch a λ, t n t i m t npda Msao cho

L = L(M).

̈ Th t c: GGreibach-to-npda

B1 M = ({q0, q1, q f }, T, V ∪ {z}, δ, q0, z, {q f }), z ∉ V.

B2 δ(q0, λ, z) = {(q1, Sz)}

B3 δ(q1, a, A) ∋ {(q1, u)} ⇔ P có lu t sinh A → au

B4 δ(q1, λ, z) = {(qf , z)}

Trang 18

δ(q1, b, A) = {(q1, B)}, δ(q1, b, B) = {(q1, λ)},

_

| _

| _

| _

| _

| _

| _

Trang 19

B3 δ(q1, a, A) ∋ {(q1, u)} ⇔ P có lu t sinh A → au, a ∈ T

B4 δ(q1, λ, A) ∋ {(q1, u)} ⇔ P có lu t sinh A → u và u không có

kí hi u k t thúc đi đ u

B5 δ(q1, a, a) = (q1, λ) v i a ∈ T và a xu t hi n trong m t v

ph i lu t sinh nào đó mà không ph i v trí kh i đ u

B6 δ(q1, λ, z) = {(qf , z)}

Trang 20

(q1, λ, z), λ, z).

_

| _

| _

| _

| _

| _

| _

| _

| _

| _

| _

| _

Trang 21

VPPNC cho ôtômát đ y xu ng

̈ Quá trình này ng c v i quá trình trong nh lý 7.1, t c là xây

d ng v n ph m mô ph ng s di chuy n c a pda

̈ Ph n bi n c a d ng câu ph n ánh n i dung stack, ph n chu i

nh p đã đ c x lý chính là ph n chu i kí hi u k t thúc làm

ti p đ u ng c a d ng câu

̈ B đ

̈ ∀ npda ∃ npda t ng đ ng thõa 2 đi u ki n

(1) Ch có m t tr ng thái k t thúc và npda ch trong tr ng thái

Trang 22

VPPNC cho ôtômát đ y xu ng (tt)

̈ Chúng ta mu n d ng câu ch ra n i dung c a stack

̈ C u hình c a m t npda còn liên quan đ n tr ng thái n i c a ôtômát nên nó ph i đ c ghi nh trong d ng câu

̈ L y (q i Aq j) làm các bi n cho v n ph m, v i di n d ch

(q i Aq j) w n u và ch n u npda “xóa” A kh i stack và đi t

tr ng thái q i đ n q j trong khi đ c ngõ nh p chu i w.

̈ “Xóa” đây có ngh a là A và các k t qu sau nó bi n m t kh i stack, và kí hi u ngay bên d i A s tr thành đ nh stack

Trang 23

VPPNC cho ôtômát đ y xu ng (tt)

trong đó q k và q l l y m i giá tr có th trong Q.

̈ Khi vét c n có th có m t vài q k không th đ t t i đ c t q i

trong khi xóa A c ng nh có th có m t vài q l không th đ t t i

đ c t q j trong khi xóa B.

Trang 24

Ví d

̈ Xây d ng VPPNC cho npda sau (q0 kh i đ u, q2 k t thúc)

δ(q0, a, z) = {(q0, Az)}, δ(q0, a, A) = {(q0, A)}, δ(q0, b, A) = {(q1, λ)},

Trang 30

| _

| _

| _

|

Npda

δ(q0, a, z) = {(q0, Az)}, δ(q0, a, A)= {(q3, λ)},

δ(q3, λ, z) = {(q0, Az)}, δ(q0, b, A)= {(q1, λ)},

Trang 32

̈ nh ngh a 7.4

̈ M t ngôn ng L đ c g i là NNPNC đ n đ nh n u và ch n u

t n t i m t dpda M sao cho L = L(M)

Trang 33

δ(q2, b, a) = {(q2, λ)},

δ(q2, λ, z) = {(q0f, λ)}

Trang 34

δ(q0, b, 1) = {(q1, λ)},

δ(q1, b, 1) = {(q1, λ)},

δ(q1, #, z) = {(q f, λ)}

Trang 36

̈ Gi s L là NNPNC đ n đ nh, g i M = (Q, Σ, Γ, δ, q0, z, F)

dpda c a L v i Q = {q0, q1, , q n}

Trang 39

V n ph m cho các NNPNC đ n đ nh

̈ NNPNC cho phép PTCP m t cách hi u qu , b ng cách xem dpda nh là m t thi t b phân tích

̈ Tính đ n đ nh suy ra vi c x lý chu i nh p trong th i gian

tuy n tính v i chi u dài chu i nh p

̈ Nh ng lo i v n ph m nào thích h p cho vi c mô t các

NNPNC và cho phép PTCP th i gian tuy n tính

̈ Gi s chúng ta đang phân tích t trên xu ng, đang th tìm

Trang 40

̈ V i VPPNC t ng quát, đi u này là không th , nh ng n u d ng

c a v n ph m đ c h n ch h n, có th th c hi n đ c m c đích c a chúng ta

c a nó còn h n ch

Trang 42

21

S

#

b a

SaS | AB, (1, 2)

AbA | b, (3, 4)

BaS | b, (5, 6)

Trang 43

̈ Nh ng v n ph m LL là không đ t ng quát đ gi i quy t các NNPNC Vì v y, có m t m i quan tâm đ n các lo i v n

ph m khác, v n ph m đ n đ nh t ng quát h n

̈ ó là v n ph m LR, cái mà cho phép PTCP hi u qu , và xây

d ng cây d n xu t t d i lên

Ngày đăng: 13/05/2014, 17:00

TỪ KHÓA LIÊN QUAN

w