Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 93 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
93
Dung lượng
1,41 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG ĐINH THỊ KIM ANH NGƠN NGỮ CHÍNH QUY VÀ NGƠN NGỮ PHI NGỮ CẢNH Chuyên ngành: Phương pháp toán sơ cấp Mã số: 60.46.40 TÓM TẮT LUẬN VĂN THẠC SĨ KHOA HỌC Người hướng dẫn khoa học: PGS TS Nguyễn Gia Định Đà Nẵng, Năm 2012 MỤC LỤC Trang Trang phụ bìa Lời cam đoan Mục lục Danh mục hình Mở đầu Chương 1: Văn phạm ngôn ngữ sinh văn phạm 1.1 Khái niệm ngôn ngữ 1.2 Văn phạm ngôn ngữ sinh văn phạm 10 1.3 Một số tính chất ngôn ngữ 19 Chương 2: Ơtơmat hữu hạn ngơn ngữ quy 28 2.1 Ơtơmat hữu hạn đơn định 29 2.2 Ơtơmat hữu hạn không đơn định 36 2.3 Quan hệ ôtômat hữu hạn ngơn ngữ quy 40 2.4 Biểu thức quy 46 2.5 Cực tiểu hóa ơtơmat hữu hạn 50 Chương 3: Ơtơmat đẩy xuống suy dẫn 60 3.1 Văn phạm phi ngữ cảnh suy dẫn 60 3.2 Dạng chuẩn Chomsky 72 3.3 Ơtơmat đẩy xuống 75 Kết luận 86 Danh mục tài liệu tham khảo 87 Quyết định giao đề tài luận văn (bản sao) LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu riêng Các số liệu, kết nêu luận văn trung thực chưa công bố cơng trình khác Tác giả luận văn Đinh Thị Kim Anh DANH MỤC CÁC HÌNH Số hiệu hình Tên hình Trang 1.1 Cây phân tích cú pháp 14 2.1 Đồ thị chuyển A1, A2 32 2.2 Đồ thị chuyển A 33 2.3 Đồ thị chuyển A’ 33 2.4 Cây đoán nhận 37 2.5 Đồ thị chuyển A 38 2.6 Đồ thị chuyển A 39 2.7 Đồ thị chuyển A 39 2.8 Đồ thị chuyển A 41 2.9 Đồ thị chuyển A’ 41 2.10 Đồ thị chuyển A’’ 42 2.11 Đồ thị chuyển A 43 2.12 Đồ thị chuyển A 44 2.13 Đồ thị chuyển L 44 2.14 Đồ thị chuyển A 47 2.15 Đồ thị chuyển A 49 2.16 Đồ thị chuyển A 49 2.17 Đồ thị chuyển A 53 2.18 Đồ thị chuyển M 54 2.19 Đồ thị chuyển A 58 2.20 Đồ thị chuyển M 59 3.1 Cây suy dẫn từ G1 61 3.2 Cây suy dẫn từ G3 61 3.3 Cây suy dẫn từ G2 62 3.4 Cây suy dẫn từ G4 62 3.5 Cây suy dẫn từ G 65 3.6 Mô hình ơtơmat đẩy xuống 75 3.7 Cây biểu diễn khả biến đổi 81 3.8 Đồ thị chuyển M 81 CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự – Hạnh phúc LÝ LỊCH KHOA HỌC I LÝ LỊCH SƠ LƯỢC: Họ tên: Đinh Thị Kim Anh Giới tính: Nữ Ngày, tháng, năm sinh: 03/01/1987 Nơi sinh: Đà Nẵng Quê quán: Điện Dương, Điện Bàn, Quảng Nam Dân tộc: Kinh Chức vụ, đơn vị công tác trước học tập, nghiên cứu: Chỗ riêng địa liên lạc: Đường Suối Đá 3, Sơn Trà, Đà Nẵng Điện thoại : 0905643501 E-mail: hoatrinhnu110@gmail.com II QUÁ TRÌNH ĐÀO TẠO: Đại học: Hệ đào tạo: Chính quy tập trung Thời gian đào tạo: từ 2005 đến 2009 Nơi học (trường, thành phố): Trường Đại học Sư Phạm – Đại học Đà Nẵng Ngành học: Sư phạm Toán – Tin Tên đồ án, luận văn môn thi tốt nghiệp: Ngày nơi bảo vệ đồ án, luận văn thi tốt nghiệp: Người hướng dẫn: Thạc sĩ: Hệ đào tạo: Chính quy khơng tập trung Thời gian đào tạo: từ 2010 đến 2012 Nơi học (trường, thành phố): Đại học Đà Nẵng Ngành học: Phương pháp tốn sơ cấp Tên luận văn: Ngơn ngữ quy ngôn ngữ phi ngữ cảnh Ngày nơi bảo vệ luận văn: Ngày 1/7/2012 Đại Học Đà Nẵng Người hướng dẫn: PGS TS Nguyễn Gia Định Trình độ ngoại ngữ ( biết ngoại ngữ gì, mức độ): Tiếng Anh Tôi xin cam đoan lời khai thật, có sai xót tơi xin chịu hồn tồn trách nhiệm Đà Nẵng, ngày 16 tháng năm 2012 Người khai ký tên Đinh Thị Kim Anh MỞ ĐẦU Lý chọn đề tài Mấy chục năm gần đây, chứng kiến phát triển mãnh liệt lĩnh vực nghiên cứu tốn học liên quan đến máy tính tin học Sự phát triển phi thường máy tính thay đổi sâu sắc phương pháp luận khoa học mở chân trời cho tốn học với tốc độ khơng thể sánh suốt lịch sử lâu dài toán học Những phát triển đa dạng toán học trực tiếp tạo “thuở ban đầu” máy tính tin học tiến tin học dẫn đến phát triển mạnh mẽ số ngành tốn học Vì vậy, tốn học đóng vai trị trung tâm sở tin học Có thể kể số lĩnh vực nghiên cứu đáng ý mối quan hệ Thật thú vị nhận thấy lĩnh vực phản ánh phát triển lịch sử tin học Lý thuyết kinh điển tính tốn bắt đầu cơng trình Gưdel, Tarski, Church, Post, Turing Kleene chiếm vị trí trung tâm Trong lý thuyết ôtômat ngôn ngữ hình thức kinh điển, khái niệm ôtômat, văn phạm ngôn ngữ, với cơng trình sáng giá Axel Thue, Chomsky, Post Ngoài hai lĩnh vực trên, nhiều lĩnh vực quan trọng khác thuộc sở toán học tin học; chẳng hạn, lý thuyết độ phức tạp, ngữ nghĩa lý thuyết tính đắn ngơn ngữ lập trình, lý thuyết mật mã, lý thuyết cấu trúc liệu lý thuyết sở liệu Lý thuyết ngơn ngữ hình thức ơtơmat đóng vai trị quan trọng sở tốn học tin học Ngơn ngữ hình thức sử dụng việc xây dựng ngôn ngữ lập trình, lý thuyết chương trình dịch Các ngơn ngữ hình thức tạo thành cơng cụ mơ tả mơ hình tính tốn cho dạng thông tin vào-ra lẫn kiểu thao tác Lý thuyết ngơn ngữ hình thức, thực chất lĩnh vực khoa học liên ngành; nhu cầu mơ tả hình thức văn phạm phát sinh nhiều ngành khoa học khác từ ngôn ngữ học đến sinh học.Từ ngàn xưa người muốn giao tiếp với phải dùng ngôn ngữ Ngôn ngữ để người giao tiếp với gọi ngôn ngữ tự nhiên, chẳng hạn tiếng Anh, tiếng Nga, tiếng Việt ngôn ngữ tự nhiên Con người muốn giao tiếp với máy tính tất nhiên thơng qua ngơn ngữ Con người muốn máy tính thực công việc, phải viết yêu cầu đưa cho máy ngôn ngữ máy hiểu Việc viết u cầu ta gọi lập trình Ngơn ngữ dùng để lập trình gọi ngơn ngữ lập trình Cả ngơn ngữ lập trình lẫn ngơn ngữ tự nhiên xem tập từ, tức xâu hữu hạn phần tử chữ sở Về mặt truyền thống, lý thuyết ngơn ngữ hình thức liên quan đến đặc tả cú pháp ngôn ngữ nhiều đến vấn đề ngữ nghĩa Một đặc tả cú pháp ngơn ngữ có hữu hạn từ, ngun tắc, cho cách liệt kê từ Điều khơng thể áp dụng ngơn ngữ có vơ hạn từ Nhiệm vụ lý thuyết ngơn ngữ hình thức nghiên cứu cách đặc tả hữu hạn ngôn ngữ vô hạn Hai ngôn ngữ quan trọng ngơn ngữ quy ngơn ngữ phi ngữ cảnh, ngơn ngữ lập trình thuộc loại hai ngơn ngữ này, người ta tập trung nghiên cứu hai loại ngôn ngữ đoán nhận chúng Xuất phát từ nhu cầu phát triển lý thuyết ngơn ngữ hình thức ứng dụng nó, chúng tơi định chọn đề tài với chủ đề: Ngơn ngữ hình thức ngơn ngữ phi ngữ cảnh để tiến hành nghiên cứu Chúng hy vọng tài liệu tham khảo tốt cho người bắt đầu tìm hiểu Lý thuyết ngơn ngữ hình thức ơtơmat trình bày số ví dụ minh hoạ đặc sắc nhằm góp phần làm phong phú thêm kết lĩnh vực Mục tiêu nghiên cứu Mục tiêu đề tài nhằm nghiên cứu ngơn ngữ quy ơtơmat hữu hạn đốn nhận nó, ngơn ngữ phi ngữ cảnh ơtơmat đẩy xuống đốn nhận Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu đề tài ngơn ngữ quy ngơn ngữ phi ngữ cảnh Phạm vi nghiên cứu đề tài lý thuyết ngôn ngữ, ôtômat hữu hạn đốn nhận lớp ngơn ngữ quy, ơtơmat đẩy xuống đốn nhận lớp ngơn ngữ phi ngữ cảnh Phương pháp nghiên cứu Thu thập báo khoa học tài liệu tác giả nghiên cứu liên quan đến ngơn ngữ hính thức ơtơmat, đặc biệt ngơn ngữ quy ngơn ngữ phi ngữ cảnh Tham gia buổi seminar thầy hướng dẫn để trao đổi kết nghiên cứu Đóng góp đề tài Tổng quan kết tác giả nghiên cứu liên quan đến ngơn ngữ quy ngơn ngữ phi ngữ cảnh, ơtơmat đốn nhận chúng nhằm xây dựng tài liệu tham khảo cho muốn nghiên cứu Lý thuyết ngơn ngữ hình thức ôtômat Chứng minh chi tiết làm rõ số mệnh đề, đưa số ví dụ minh hoạ đặc sắc nhằm làm cho người đọc dễ dàng tiếp cận vấn đề đề cập Bố cục luận văn Ngoài phần mở đầu, kết luận, tài liệu tham khảo, phần nội dung luận văn gồm chương: Trong Chương 1, chúng tơi trình bày khái niệm ngơn ngữ, văn phạm, ngơn ngữ sinh văn phạm số tính chất ngôn ngữ Trong Chương 2, khảo sát ôtômat hữu hạn, mối quan hệ ôtômat hữu hạn ngôn ngữ quy, mối quan hệ biểu thức quy ngơn ngữ quy, cực tiểu hóa ơtơmat hữu hạn Ơtơmat đẩy xuống ngôn ngữ phi ngữ cảnh đề cập Chương Cụ thể văn phạm phi ngữ cảnh suy dẫn nó, ơtơmat đẩy xuống mối quan hệ ngơn ngữ phi ngữ cảnh tính chất Do ngơn ngữ khơng có tính chất khơng thể thuộc lớp Dấu hiệu phủ định tiện lợi thuộc loại biết Bổ đề Bơm Bổ đề Bơm kết quan trọng lý thuyết ơtơmat “Bơm” bơm hai vị trí v x Định lý 3.1.5 lên vị trí tùy ý: uviwxiyL, với iN Do Bổ đề Bơm cho biết tồn ngơn ngữ cảm ngữ cảnh mà không ngôn ngữ phi ngữ cảnh (Hệ 3.1.1), tức lớp ngôn ngữ phi ngữ cảnh thực lớp ngôn ngữ cảm ngữ cảnh Hệ 3.1.1 Tồn ngơn ngữ cảm ngữ cảnh mà khơng phải phi ngữ cảnh Chứng minh: Trong Ví dụ 1.2.3 Chương 1, ta biết ngôn ngữ L={ambmcm | m 1} sinh văn phạm cảm ngữ cảnh G = , P = {SaSAC, SabC, CABA, BABC, BCAC, bAbb, Cc} Ta chứng minh không tồn văn phạm phi ngữ cảnh sinh L Giả sử tồn văn phạm Theo định lý trên, tồn số tự nhiên n cho với từ có d()>n phân tích thành =uvwxy, d(vx)1 uviwxiyL với i=0, 1, 2, … Lấy từ =anbncn, với d()=3n>n Do ta có =anbncn=uvwxy, d(vx)1 Trước hết ta thấy v x chứa hai ba ký hiệu a, b, c uviwxiyL, x chứa loại ký hiệu trường hợp với i đủ lớn, số ký hiệu a, b, c uviwxiy khơng uviwxiyL Điều mâu thuẫn với kết Vậy không tồn văn phạm phi ngữ cảnh sinh L 3.2 DẠNG CHUẨN CHOMSKY Định nghĩa 3.2.1 Văn phạm phi ngữ cảnh G = gọi văn phạm dạng chuẩn Chomsky, quy tắc có dạng ABC Aa, với A, B, C Δ, a Như vậy, nhận xét văn phạm dạng chuẩn Chomsky khơng có quy tắc thuộc loại sau: a/ Các -quy tắc (các quy tắc rỗng), b/ Các quy tắc đơn, dạng AB, A, B Δ, c/ Các quy tắc mà vế phải có ký hiệu ký hiệu phụ d/ Các quy tắc có vế phải nhiều hai ký hiệu, Ta chứng tỏ đưa văn phạm phi ngữ cảnh văn phạm dạng chuẩn Chomsky Định lý 3.2.1 Đối với văn phạm phi ngữ cảnh tùy ý G = , tồn văn phạm phi ngữ cảnh dạng chuẩn Chomsky G’ = tương đương với nó, tức L(G) = L(G’) Chứng minh: Theo định lý 3.1.2, 3.1.3 3.1.4, ta giả thiết văn phạm G không chứa ký hiệu thừa, không chứa -qui tắc không chứa qui tắc đơn Để xây dựng văn phạm G’ dạng chuẩn Chomsky, ta cần loại bỏ quy tắc mà vế phải có chứa ký hiệu ký hiệu phụ quy tắc mà vế phải nhiều hai ký hiệu Việc loại bỏ quy tắc không hợp lệ tiến hành theo hai bước sau: Bước 1: Với quy tắc vế phải có chứa ký hiệu ký hiệu phụ, tức quy tắc có dạng: AX1X2…Xm,với Xi Δ Xét tất Xi quy tắc (1), Xi Δ giữ nguyên Xi, Xi = a , ta thêm vào ký hiệu phụ Aa, thay Xi quy tắc Aa, thêm vào quy tắc Aaa Lặp lại trình với tất Xi quy tắc (1), quy tắc (1) trở thành : AY1 Y2 …Ym , với Yi ký hiệu phụ (Yi = Xi Xi Δ, Yi = Ai Xi = a ) Sau bước 1, ta nhận văn phạm G1 = với Δ1 P1 nhận từ Δ P sau thêm vào ký hiệ ơhụ quy tắc Rõ ràng L(G1) = L(G) mà G1 khơng chứa quy tắc mà vế phải có ký hiệu ký hiệu phụ Bước 2: Bây G1 cần loại bỏ quy tắc mà vế phải có độ dài lớn 2, gồm tồn ký hiệu phụ, quy tắc dạng: AY1Y2 …Ym, với m>2, Yi Δ1 Ta thêm m-2 ký hiệu phụ Z1, Z2, … Zm-2 vào tập Δ1, thêm vào m-2 quy tắc sau đây: AY1Z1; Z1Y2Z2; Z2Y3Z3; …; Zm-2Ym-1Ym Ta nhận văn phạm G2 < , Δ2, S, P2> khơng chứa quy tắc có vế phải nhiều ký hiệu, không chứa quy tác vế phải gồm cà ký hiệu ký hiệu phụ Dễ dàng L(G2) = L(G1) = L(G), G2 văn phạm G’ dạng chuẩn Chomsky cần tìm Ví dụ 3.2.1 Cho văn phạm phi ngữ cảnh G = , với tập quy tắc P = {SA, SABA, AaA, Aa, AB, BbB, Bb} Hãy xây dựng văn phạm dạng chuẩn Chomsky tương đương với G Áp dụng định lý 1.3, ta loại hết quy tắc đơn G, để văn phạm tương đương mà không chứa quy tắc đơn G1 = , với P1 = {SABA, SaA, Sa, SbB, Sb, AaA, Aa, AbB, Ab, BbB, Bb} Áp dụng định lý 3.2.1 cho văn phạm G1, ta thay tất quy tắc mà vế phải có chứa ký hiệu ký hiệu phụ: + Với quy tắc SaA, AaA ta thay a Aa, thêm Aa vào tập ký hiệu phụ Δ2, thêm quy tắc Aaa vào tập quy tắc P2 + Với quy tắc SbB, AbB, BbB ta thay b Ab, thêm Ab vào tập ký hiệu phụ Δ2, thêm quy tắc Abb vào tập quy tắc P2 Ta nhận G2 = , với P2 = {SABA, SAaA, Sa, SAbB, Sb, AAaA, Aa, AAbB, Ab, BAbB, Bb} khơng có quy tắc mà vế phải có ký hiệu ký hiệu phụ, rõ ràng G2 ~ G1~ G + Với G2, ta giảm độ dài vế phải quy tác có hai ký hiệu: thay quy tắc SABA hai quy tắc SAC, CBA, thêm C vào tập ký hiệu phụ Cuối cùng, ta văn phạm G3 =, với P3 = {SAC, CBA, SAaA, Sa, SAbB, Sb, AAaA, Aa, AAbB, Ab, BAbB, Bb} Văn phạm G3 ~ G2 ~ G1 ~ G, mà G3 dạng chuẩn Chomsky 3.3 ÔTÔMAT ĐẨY XUỐNG Chú ý 3.3.1 Như ta biết, lớp ngơn ngữ quy văn phạm quy sinh trùng với lớp ngôn ngữ đốn nhận ơtơmat hữu hạn (đơn định không đơn định) Tương tự, ta thấy mục lớp ngôn ngữ phi ngữ cảnh văn phạm phi ngữ cảnh sinh trùng với lớp ngơn ngữ đốn nhận ơtơmat đẩy xuống không đơn định (Nondeteministic Pushdown Automata) Đáng lưu ý, có lớp ơtơmat đẩy xuống khơng đơn định đốn nhận hết lớp ngơn ngữ phi ngữ cảnh Cịn ơtơmat đẩy xuống đơn định có khả đoán nhận lớp thực lớp ngôn ngữ phi ngữ cảnh mà Tuy vậy, lớp ngơn ngữ đốn nhận lớp ơtơmat đẩy xuống đơn định rộng, bao gồm phần lớn ngơn ngữ lập trình Ở đây, ta đề cập tới ôtômat đẩy xuống không đơn định mà người ta thường gọi tắt NDPA hay gọn PA Chú ý 3.3.2 Một ôtômat đẩy xuống bao gồm băng vào, ngăn xếp điều khiển hình đây: x1 x2 ……… xn-1 xn Băng vào q Ngăn xếp Bộ điều khiển Ơtơmat đẩy xuống ơtơmat hữu hạn có điều khiển tập hữu hạn trạng thái Đầu đọc ôtômat cho phép đọc ký hiệu băng vào từ trái sang phải Ngồi ra, ơtơmat đẩy xuống cịn có thêm băng làm việc (ngăn xếp) Hình 3.6: Mơ hình ơtơmat đẩy xuống hay stack, nhờ có mà nhớ ôtômat đẩy xuống tăng lên so với khả nhớ ôtômat hữu hạn Ngăn xếp tổ chức theo nguyên tắc ký hiệu vào sau trước, giống ổ nạp đạn Khi đưa ký hiệu vào ngăn xếp ký hiệu trở thành ký hiệu đầu ngăn xếp Khi ngăn xếp đọc ký hiệu ký hiệu ký hiệu đọc xong bị loại khỏi ngăn xếp Một ngăn xếp gọi danh sách đẩy xuống Một bước chuyển ôtômat đẩy xuống (PA) Căn vào trạng thái điều khiển, ký hiệu vào mà đầu đọc quan sát ký hiệu đầu ngăn xếp, ôtômat đẩy xuống chuyển sang trạng thái đồng thời đầu đọc chuyển sang bên phải Nếu đầu đọc chuyển sang bên phải ta gọi trình bước chuyển Ngược lại, ký hiệu vào khơng ảnh hưởng tới bước chuyển ta gọi bước chuyển “nhắm mắt” bước chuyển đầu đọc đứng yên chỗ Thực chất bước chuyển “nhắm mắt” tạm ngừng quan sát băng vào để chấn chỉnh lại ngăn xếp Có hai cách đốn nhận xâu vào ơtơmat đẩy xuống: Cách 1: Xâu vào đọc xong ôtômat đẩy xuống chuyển trạng thái kết thúc Cách 2: Xâu vào đọc xong ngăn xếp trở thành rỗng Sau ta hai cách đoán nhận tương đương Ví dụ 3.3.1 Cho văn phạm phi ngữ cảnh: G = Dễ dàng thấy L(G)={cR | {0, 1}*} (R xâu viết ký hiệu xâu theo thứ tự ngược lại) Chẳng hạn, xâu =010011 xâu cR=010011c110010 có dẫn xuất sau đây: (S, 0S0, 01S10, 010S010, 0100S0010, 01001S10010, 010011S110010, 010011c110010) Mặt khác xâu cR đốn nhận ơtơmat đẩy xuống sau: Trước hết đặt xâu x=cR lên băng vào Đầu đọc dịch chuyển từ trái sang phải Ban đầu ngăn xếp rỗng Ơtơmat đẩy xuống có hai trạng thái p, q p trạng thái đầu Khi trạng thái đầu p, đầu đọc đọc ký hiệu băng vào đưa ký hiệu vào ngăn xếp Trạng thái ôtômat đẩy xuống lúc p Đầu đọc dịch chuyển sang bên phải ô đọc ký hiệu ô Nếu ký hiệu ơtơmat đẩy xuống đưa ký hiệu vào ngăn xếp, trạng thái ơtơmat p đầu đọc lại chuyển sang phải Q trình tiếp tục đầu đọc gặp ký hiệu c Khi ơtơmat chuyển trạng thái p sang trạng thái q đầu đọc chuyển sang phải ô Tại thời điểm ngăn xếp xuất xâu Ký hiệu bên phải nằm ngăn xếp, trạng thái ôtômat q Đầu đọc ô bên phải ký hiệu c Nếu ký hiệu ô ký hiệu ô ngăn xếp ơtơmat đẩy xuống loại ký hiệu khỏi ngăn xếp, ký hiệu lại lên vị trí đầu ngăn xếp, ơtơmat đẩy xuống chuyển đầu đọc sang phải ơ, cịn trạng thái q Q trình tiếp tục có hai khả xảy ra: 1) Ơtơmat đẩy xuống đọc hết xâu x ngăn xếp trở thành rỗng ơtơmat dừng lại đốn nhận xâu x=cR 2) Các ký hiệu ngăn xếp chưa bị loại hết đầu đọc gặp ký hiệu xâu vào khác ký hiệu ngăn xếp Trong trường hợp ơtơmat đẩy xuống khơng đốn nhận xâu x Nhờ có ngăn xếp mà ơtơmat đẩy xuống có khả nhớ nửa đầu xâu x=cR với có độ dài tuỳ ý sau so sánh dần với nửa cuối R x Ơtơmat hữu hạn khơng có khả Bây ta định nghĩa cách hình thức ơtơmat đẩy xuống sau: Định nghĩa 3.3.1 Một ôtômat đẩy xuống bảy: M = , đó, bảng chữ, gọi bảng chữ vào, ký hiệu gọi ký hiệu vào; Q tập hữu hạn, khác rỗng gọi tập trạng thái cho Q=, phần tử Q gọi trạng thái; bảng chữ mà ký hiệu gọi ký hiệu ngăn xếp; z0 ký hiệu đặc biệt, gọi ký hiệu đáy ngăn xếp, gọi ký hiệu đầu danh sách đẩy xuống; q0Q gọi trạng thái đầu; FQ gọi tập trạng thái kết thúc, phần tử F gọi trạng thái kết thúc; : Q ({}) 2Q * gọi hàm chuyển M Một đẳng thức dạng: (q, a, z)={, , …, }, q, qiQ, a, z, i*, i=1, …, m gọi bước chuyển ôtômat đẩy xuống M Nó trạng thái q, đọc ký hiệu a băng vào z ký hiệu đỉnh ngăn xếp Khi chuyển sang trạng thái qi, thay ký hiệu z đỉnh ngăn xếp xâu i, i=1, …, m, đồng thời chuyển đầu đọc sang bên phải ô Quy ước đưa i vào ngăn xếp, ký hiệu bên trái i nằm phần dưới, ký hiệu bên phải i nằm ô đầu ngăn xếp Một đẳng thức dạng: (q, , z)={, , …, } diễn tả bước chuyển “nhắm mắt” ơtơmat đẩy xuống M: Ơtơmat trạng thái q, ký hiệu z đỉnh ngăn xếp Khi ơtơmat đẩy xuống chuyển trạng thái q qi thay z đỉnh ngăn xếp xâu i (1im), đầu đọc khơng dịch chuyển Ở thời điểm, tình tức thời ơtơmat đẩy xuống xác định ba yếu tố: Xâu * ngăn xếp (với quy ước ký hiệu bên trái nằm đáy ngăn xếp) Trạng thái qQ Phần xâu vào x* chưa đọc đến băng vào (với quy ước ký hiệu bên trái x ký hiệu đọc tiếp) Định nghĩa 3.3.2 Cho ôtômat đẩy xuống M = Một hình trạng hay cấu hình M ba , qQ, *, * Giả sử =a1a2…ak*, =x1x2…xm* Dưới tác động ánh xạ chuyển trạng thái, M chuyển từ hình trạng sang hình trạng khác theo nguyên tắc sau: 1) Nếu (q, a1, xm) hình trạng chuyển sang hình trạng ký hiệu: 2) Nếu (q, , xm) hình trạng chuyển sang hình trạng ký hiệu: Định nghĩa 3.3.3 Cho ôtômat đẩy xuống M = * Ta nói ơtơmat M đốn nhận từ theo tập trạng thái kết thúc tồn dãy hữu hạn hình trạng K0, K1, …, Kn cho: 1) K0=, gọi hình trạng đầu; 2) Kn=, pF, gọi hình trạng kết thúc; 3) K0 K1 K2 … Kn Ký hiệu T(M)={α *|α đoán nhận M theo tập trạng thái kết thúc} Ta có T(M) ngôn ngữ bảng chữ , gọi ngôn ngữ đốn nhận ơtơmat đẩy xuống M theo tập trạng thái kết thúc Định nghĩa 3.3.4 Cho ôtômat đẩy xuống M = * Ta nói ơtơmat M đốn nhận từ theo ngăn xếp rỗng tồn dãy hữu hạn hình trạng K0, K1, …, Kn cho: 1) K0=, gọi hình trạng đầu; 2) Kn= gọi hình trạng kết thúc; 3) K0 K1 K2 … Kn Ký hiệu N(M)={α* | α đoán nhận M theo ngăn xếp rỗng} Ta có N(M) ngơn ngữ bảng chữ , gọi ngơn ngữ đốn nhận ơtơmat đẩy xuống M theo ngăn xếp rỗng Ví dụ 3.3.2 Cho ôtômat đẩy xuống M=, (q0, , z0)={}, (q0, a, z0)={}, (q1, a, z1)={}, (q1, b, z1)={}, (q2, b, z1)={}, (q2, , z0)={} (ở đây, ảnh ba khác qua hiểu ) Xét từ =aabb =abaab Ta có: Do N(M), N(M), T(M) Tổng quát, ta chứng minh N(M)=T(M)={anbn | n0} Ví dụ 3.3.3 Cho ôtômat đẩy xuống M=, (q0, 0, z0)={}, (q0, 0, z1)={, }, (q0, 0, z2)={}, (q0, 1, z0)={}, (q0, 1, z1)={}, (q0, 1, z2)={, }, (q1, 0, z1)={}, (q1, 1, z2)={, }, (q0, , z0)={}, (q1, , z0)={} Xét =110011, ta vẽ biểu diễn khả biến đổi hình trạng sau: Đường in đậm dãy dịch chuyển từ hình trạng đầu đến hình trạng cuối theo ngăn xếp rỗng Chú ý 3.3.3 Cũng ôtômat hữu hạn, ta mơ tả ơtơmat đẩy xuống đồ thị chuyển Đó đa đồ thị có hướng, có khuyên G với tập đỉnh G Q Với a{}, p, qQ, z, *, (q, a, z) có cung từ q tới p gán nhãn (a, z/) Chẳng hạn, đồ thị chuyển ơtơmat đẩy xuống M Ví dụ 3.2.2 là: q1 Hình 3.7: Cây biểu diễn khả biến đổi q0 q2 Định lý 3.3.1 Cho L ngơn ngữ phi ngữ cảnh Khi tồn ơtơmat đẩy xuống M đốn nhận L theo tập trạng thái kết thúc Chứng minh: Giả sử G= văn phạm phi ngữ cảnh sinh ngôn ngữ L Ta xây dựng ôtômat đẩy xuống M= đoán nhận L với: Q={q0, q1, q2} tập trạng thái, ={%} tập ký hiệu ngăn xếp, ký hiệu % không thuộc , z0=S ký hiệu đầu ngăn xếp, q0Q trạng thái đầu, F={q2} tập trạng thái kết thúc, Hàm chuyển : Q x ({}) x P(Q x *) định nghĩa qua biểu thức sau: Hình 3.8: Đồ thị chuyển M 1) (q1, , z)={ | zwP, w*}, z 2) (q1, a, a)={}, với a 3) (q1, , %)={} 4) (q0, a, S)={}, với a{} Giả sử wL(G) Khi tồn dãy suy dẫn đầy đủ G D=(S, u1z1v1, u1u2z2v2, …, u1…un-1zn-1vn-1, u1u2…un=w), zi, ui, vi (1in-1) un* Dựa vào quy tắc G sử dụng dãy suy dẫn đầy đủ D xâu w, ôtômat đẩy xuống M đoán nhận w theo nguyên tắc sau: Áp dụng hàm chuyển biểu thức 4, 1, 2, ta có: Giả sử quy tắc (sau quy tắc Su1z1v1) D zixiP (i=1, 2, …, n2) với zi, xi cho xivi=ui+1zi+1vi+1 Khi M sau thời điểm thực quy tắc Su1z1v1 có hình trạng Hình trạng M áp dụng quy tắc zixi biến đổi sau: = … Trong D, sử dụng quy tắc zn-1xn-1P với xn-1vn-1=un, ta có: Từ ta có dãy suy dẫn hình trạng M: mà q2F nên M đoán nhận xâu w theo tập trạng thái kết thúc Ví dụ 3.3.4 Cho ngơn ngữ bảng chữ = {a, b, c}: L = {am bn cp | m 0, p 0, n = m+p} 1) Tìm văn phạm phi ngữ cảnh G cho L(G)=L 2) Tìm ơtơmat đẩy xuống đốn nhận ngơn ngữ theo tập trạng thái kết thúc 1) Ta có L=L(G), với G= văn phạm phi ngữ cảnh Thật vậy, Sử dụng quy tắc 1: S =ambm+pcp, với m=p=0 Sử dụng quy tắc 2, m1 lần quy tắc (m1), kết thúc quy tắc 7: S A am1Abm1 am1abbm1=ambm+pcp, với m1, p=0 Sử dụng quy tắc 3, p1 lần quy tắc (p1), kết thúc quy tắc 8: S B bp1Bcp1 bp1bccp1=ambm+pcp, với p1, m=0 Sử dụng quy tắc 4, m1 lần quy tắc (m1), p1 lần quy tắc (p1), kết thúc hai quy tắc 8: S AB am1Abm1bp1Bcp1 am1abbm1bp1bccp1=ambm+pcp, với m1, p1 2) M=, (q1, , S)={}, }, }, }, (q1, , A)={, }, (q1, , B)={, }, (q1, a, a)=(q1, b, b)=(q1, c, c)={}, (q1, , %)={}, (q0, , S)=(q0, a, S)=(q0, b, S)=(q0, c, S)={} ơtơmat đẩy xuống đốn nhận ngôn ngữ L theo tập trạng thái kết thúc Định lý 3.3.2 Cho ơtơmat đẩy xuống M Khi tồn ôtômat đẩy xuống M’ cho N(M’)=T(M) Chứng minh: Giả sử M= ơtơmat đẩy xuống Ta xây dựng ơtơmat đẩy xuống M’= cho N(M’)=T(M) Muốn ta đưa thêm vào ký hiệu trạng thái q1, q2Q ký hiệu ngăn xếp % đặt: ’=, Q’=Q{q1, q2}, ’={%}, q’0=q1, z’0=%, F’=, ’: Q’ x ({}) x ’ P(Q’ x ’*) định nghĩa sau: 1) ’(q1, , %)={}, 2) ’(q, x, z)=(q, x, z) với x, qQ, z, 3) ’(q, , z)=(q, , z) qQ \ F, z ’(q, , z)=(q, , z){} qF, z, 4) ’(q, , %)={} với qF, 5) ’(q2, , z)={} với z{%} Bây ta N(M’)=T(M) Giả sử wN(M’) Khi theo cách làm việc M’ ta có dãy hình trạng sau: = K1 K2 … Kt=, với t2, Ki=, wi*, qiQ’, zi’* (i=1, 2, …, t) Theo cách xây dựng M’ K1=, Kt= wN(M’) Từ i