Giáo trình lý thuyết Automat và ngôn ngữ hình thức

162 1.8K 5
Giáo trình lý thuyết Automat và ngôn ngữ hình thức

Đ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

NT MB ĐẠI HỌC NHA TRANG D 004.0151 H 450 Qu ĐỀer is by? ahcae Ỹ ; einai VỀ : : Gao tain TH WYẾT! AUTOMAT / Vếu NGON NGU HINH THUC LIN |P|U|T =5 Si i THU VIEN DAI HOC NHA TRANG “ee 1000017377 \\a= NHA xUAT BAN DAI HOC QUOC GIA' Chae ming ban dé din ude the win eda ching tb Xin vui long: Không xé sách Khơng øach viết ® ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA *\ HỒ VAN QUAN GIÁO TRÌNH LÝ THUYẾT AUTOMAT VÀ NGƠN NGỮ HÌNH THỨC NHÀ XUẤT BẢN ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH - 2002 MỤC LỤC LỜI NĨI ĐẦU Chương GIỚI THIỆU 1.1 Yêu cầu kiến thức 1.2 Ba khái niệm 1.3 Mot vài ứng dụng Chương AUTOMAT HỮU HẠN 2.1 Accepter hữu hạn đơn định 18 22 22 2.2 Accepter hữu hạn không đơn định 27 2.3 Sự tương đương accepter hữu hạn đơn định accepter hữu hạn không đơn định 32 2.4 Rút gọn số trạng thái automat hữu hạn Chương NGƠN NGỮ CHÍNH QUI VÀ VĂN PHẠM CHÍNH QUI 3.1 Biểu thức qui (regular expression) 3.2 Mối quan hệ BTCQ ngôn ngữ qui 3.8 Văn phạm qui (regular grammar) Chương CÁC TÍNH CHẤT CỦA NGƠN NGỮ CHÍNH QUI 4.1 Tính đóng ngơn ngữ qui 4.2 Các câu hỏi ngơn ngữ qui 4.3 Nhận biết ngơn ngữ khơng qui Chương NGÔN NGỮ PHI NGỮ CẢNH 5.1 Văn phạm phi ngữ cảnh (contexf free grammars) 5.2 Phân tích cú pháp tính nhập nhằng 5.3 Van phạm phi ngữ cảnh ngơn ngữ lập trình 36 43 43 45 52 58 59 64 66 70 71 75 87 Chương ĐƠN GIẢN HÓA VĂN PHẠM PHI NGỮ CẢNH VÀ CÁC DẠNG CHUẨN 6.1 Các phương pháp để biến đổi văn phạm 6.2 Hai dạng chuẩn quan trọng 90 90 102 6.3 Giải thuật thành viên cho văn phạm phi ngữ cảnh Chương AUTOMAT ĐẨY XUỐNG 7.1 Automat đẩy xuống không đơn định 7.2 Automat đẩy xuống ngôn ngữ phi ngữ cảnh đơn định ngôn ngữ phi ngữ cảnh đơn định 108 112 113 117 7.3 Automat day xuéng 7.4 Văn phạm cho ngôn ngữ phi ngữ cảnh đơn định Chương CÁC TÍNH CHẤT CỦA NGƠN NGỬ PHI NGỮ CẢNH 8.1 Hai bổ đề bơm 8.2 Tinh đóng giải thuật định cho ngơn ngữ phi ngữ cảnh Chương MÁY TURING 125 129 134 134 140 143 9.1 Máy Turing chuẩn 144 9.2 Kết hợp máy Turing cho công việc phức tạp 149 9.3 Luan dé Turing PHU LUC TAI LIEU THAM KHAO 149 151 161 LỜI NÓI ĐẦU Lý thuyết qutomat ngơn ngữ hình thức lý thuyết nên tảng khoa học máy tính Automat mà đỉnh cao máy van ndng Tuưrmg mơ hình tốn bọc máy tính (computer) Việc nghiên citu ly thuyét automat cho nhìn đắn uê chất máy tính Trong lý thuyết ngơn ngữ hình thức lại nghiên cứu chất ngôn ngữ uè đặc trưng lớp ngôn ngữ Việc nghiên cứu lý thuyết ngơn ngữ hình thức cho chúng tœ nhìn rõ ràng uề ngơn ngữ đơng thời kết cho phép ứng dụng o uiệc xây dung cde ngơn ngữ lập trình uiệc xử lý ngôn ngữ tự nhiên Mặc dâu ban đâu chúng hai lý thuyết riêng biệt, q trình nghiên cúủu người ta thấy chúng có mối quan hệ mật thiết uới nên sau đặt chúng uào lý thuyết có tên chưng Lý thuyết qutomat tà ngơn ngữ hình thức Vì tính chất quan trọng lý thuyết khoa học máy tính nên ngày trở thành mơn học chuẩn hâu hết chương trình đào tạo đại học ngành khoa học máy tính Giáo trình LÝ THUYẾT AUTOMAT VÀ NGƠN NGỮ HÌNH THỨC thiết hế uới mục đích giới thiệu cho sinh uiên chương trình đào tạo khoa học máy tính bậc đại học, đặc biệt sinh uiên năm thứ hai, thứ ba Mặc dù nội dung môn học quan trọng đáng kể lĩnh Uực khoa học máy tính, ngn gốc lại nằm ngành khoa học khác Một i lý thuyết tính tốn bắt nguôn từ ngôn ngữ học va kỹ thuật hệ thống, hâu hết bắt ngn tốn học Trong thời gian dài, ngn gốc ảnh hng đến cách mà giáo trình dạy, va gần đây, nhấn mạnh hình thức tốn học, xác 0è chặt chẽ tốn học Những thuận tiện từ tiếp cận uậy u câu chuẩn bị tốn học tồn diện Cũng mơn học khác, khóa học giới thiệu lý thuyết qutomat ngơn ngữ hình thúc phổi giới hạn số phạm u¡ định, tập trung ý tưởng nên tảng lị bao phi tồn diện, 0à trình bày uấn đê uững cho uiệc nghiên cứu sâu Như yêu câu, sinh uiên phải quen thuộc uới i ngơn ngữ lập trình cấp cao 0à uới khái niệm cếu trúc đữ liệu Sinh uiền phải học xong khóa học tốn rời rạc Giáo trình chia thành chín chương uà phụ lục Chương giới thiệu uê đối tượng nghiên cứu Từ chương đến chương trình bày uê lớp automat ddu tién, don giản lớp automat hitu hạn trạng thdi va lớp ngôn ngữ tương ứng, lớp ngôn ngữ qui Từ chương đến chương trình bày uê lớp ngôn ngữ cao cấp hơn, mạnh hơn, lớp ngơn ngữ phi ngữ cảnh, úà uấn đề liên quan đến phân tích cú pháp, nhập nhdng va lép automat tương ứng la automat đẩy xuống Chương cuối, chương uà phân phụ lục trình bày uề máy Turing, mơ hình cao cấp nhét ctia automat, va trinh bay vé site manh van Phân phụ lục giới thiệu số giải thuật uà kết khác có liên quan đến mơn học Để hồn tất giáo trình này, tơi xin chân thành cảm ơn thây cô Khoa Công nghệ Thông tin, Trường Dai hoc Bách khoa — Đại học Quốc gia Tp Hồ Chí Minh, người trao cho tơi kiến thức nên tảng q báu uà hướng uào đường khoa học Tôi xin chân thành cám ơn bạn bè tơi sinh uiên Khoa có nhiều ý kiến đóng góp q giá cho giáo trình Cho dù cố gắng va mong muốn giới thiệu đến q uị giáo trình tốt khả mơn học này, song uẫn khó tránh khỏi sơi sót Vì uậy, quí uj độc giả, đặc biệt bạn sinh uiên, thấy giáo trình cịn có điêu sai sót xin uui lịng gởi ý kiến cho theo địa chỉ: Hồ Văn Quên, Khoa Công nghệ Thông tin — Trường Đại học Bách khoa - Đại học Quốc gia Tp Hé Chi Minh, 268 Lý Thường Kiệt - Quận 10 - Thành phố Hơ Chí Minh Email: huquan@dit.hcmut.edu.un Tôi xin chân thành cám ơn tất ý kiến đóng góp qui vj va cố gắng hoàn thiện lần tái sau giáo trình Một lần tơi xin chân thành cảm ơn tất Tháng 11 năm 2001 Túc giả Chương GIỚI THIỆU Như tên gọi môn học, môn học bao gồm việc nghiên cứu hai phần: phần ơtơmát phần ngơn ngữ hình thức Trong việc ứng dụng vào lĩnh vực khoa học máy tính, hai phần có liên quan mật thiết với nên chúng đặt chung môn học có tên bạn biết Lý thuyết ơtơmát lý thuyết làm tảng cho việc hiểu mơ hình tự động mà điển hình máy tính số ngày Lý thuyết ngơn ngữ hình thức lý thuyết làm tảng cho việc hiểu khái niệm ngơn ngữ bao gồm khái niệm ngơn ngữ lập trình lẫn ngơn ngữ tự nhiên, vấn để ngôn ngữ xây dựng ngơn ngữ (xây dựng ngơn ngữ lập trình, phân tích cú pháp), dịch từ ngơn ngữ sang ngơn ngữ khác (dịch từ ngơn ngữ lập trình cấp cao sang ngơn ngữ lập trình cấp thấp hay ngơn ngữ máy, địch từ ngôn ngữ tự nhiên sang ngôn ngữ tự nhiên khác ) Và vấn đề cần giải trình phát triển ngành khoa học máy tính Chương cho biết yêu cầu kiến thức tảng mà người học cần có để học mơn này, sau giới thiệu cho khái niệm số ứng dụng môn học Về ứng dụng môn học, chúng tơi xin trình bày nhiều lần xuất sau sách Về hệ thống kí hiệu sử dụng sách khác với số tài liệu khác nói mơn học này, điều khó tránh khỏi Vấn để độc giả, đọc tài liệu phải cố gắng làm quen với hệ thống kí hiệu mà tài liệu sử dụng để hiểu vấn tài liệu trình bày 1.1 YÊU CẦU VỀ KIẾN THỨC NỀN Lý thuyết ôtômát ngơn ngữ hình thức đặt tảng mạnh mẽ lý thuyết tập hợp, bao gồm khái niệm: tập hợp, hàm, ánh xạ, quan hệ, số khái niệm kết lý thuyết đồ thị Hai kỹ thuật chứng minh quan trọng áp dụng phổ biến sách để chứng minh kết môn học kỹ thuật chứng minh qui nap va ky thuật chứng minh phản chứng Một kỹ thuật áp dụng phổ biến sách kỹ thuật mô phỏng, kỹ thuật dùng để xây dựng đối tượng tương đương với đối tượng khác mặt Các kiến thức thơng thường trình bày mơn Tốn Rời rạc hay Tốn Máy tính dạy năm thứ hai hay năm thứ ba chương trình đại học khoa học máy tính khảo kiến thức bạn xem khảo Một số tài liệu tham phân Tài Hệu tham 1.2 BA KHÁI NIỆM CƠ BẢN Ba khái niệm môn học - Ngén ngd (languages) -_ Văn phạm - Otémét Các khái niệm (grammar) (automata) trình bay xuyên suốt môn học từ lớp đơn giản đến lớp phức tạp nhất, mối quan hệ mật thiết chúng Ghi chu: sau để đảm bảo cho tính trung thực từ ngữ xin phép sử dụng thuật ngữ “automat” (đại điện automaton) thay cho thuật ngữ tiếng Việt: “ôtômát” cho automata Đầu tiên làm quen với khái niệm ngôn ngữ Ngôn ngữ Tất quen thuộc với khái niệm ngôn ngữ tự nhiên, chẳng hạn tiếng Anh, tiếng Pháp Tuy vậy, thật khó để nói xác: Ngơn ngữ gì? Các từ điển định nghĩa ngơn ngữ cách khơng xác hệ thống thích hợp cho uiệc biểu thị ý nghĩ, kiện, hay khái niệm, bao gồm tập bí hiệu uà qui tắc để uận dụng chúng Nhận xét: định nghĩa cho ý niệm trực quan ngơn ngữ gì, chưa đủ định nghĩa xác để nghiên cứu ngơn ngữ hình thức, Chúng ta cần định nghĩa xác cho Chúng ta bắt đầu xây dựng định nghĩa khái niệm bảng chữ cới, khái niệm mà ngôn ngữ phải đặt tảng Bang chit cdi (alphabet) Lù tập hữu hạn khơng trống cúc kí hiệu (symbol) thường kí hiệu š Vị dụ {A, B, C, , Z} : bảng chữ La tỉnh (œ, B,y, @] : bảng chữ Hilạp {0, 1, 2, , 9} : bảng chữ số thập phân {I, V, X, L, C, D, M}: bang chữ số La mã Chuỗi (string) Là dãy hữu hạn bí hiệu từ bảng chữ Ví dụ: vớiš = ta, bị, abab aaabbba chuỗi > Qui ước Với vài ngoại c, cho phần tử củaš lệ, sử dụng chữ thường ø, Ị, cịn chữ u, 0, iu, cho tên chuỗi Vi du Nếu ta viết w = abaaa có nghĩa chuỗi có tên w có giá tri chi định abaaa Các phép toán chuỗi Kết nối (concatenation) Kết nối hai chuỗi to lị chuỗi nhận cách nối kí hiệu chuỗi u uào cuối bên phải chuỗi t0, tức là, 1U = địG2 va v = bybo bm hết nối hai chudi w va v, ky hiéu bdi wu, la WU = G4Q9 0n0102 0m Dao (reverse) Đảo chuỗi chuỗi nhận cách uiết hí hiệu theo thứ tự ngược lại; u› chuỗi trình bày chuỗi ngược uỀ UP = q„ dạdy Tiếp đầu ngữ (prefix), tiếp uĩ ngữ (suffix) _ Nếu tu = uu, gọi tiếp đầu ngữ uà u gọi la tiép vi ngữ uu Chiêu dài (length) Chiêu dài chuỗi u ký hiệu là|u|, sế bí hiệu chuỗi Chuỗi trống (empty string) Chuỗi trống chuỗi khơng có bí hiệu nào, uà thường hí hiệu A (Một số tài liệu khác kí hiệu e) Nhận xét ~ Các quan hệ sau với chuỗi w: | = ÀUU = LUÀ = tụ — Nếu ứ, o chuỗi thì: lor] = Jol + |r| Lấy thừa (power) Nếu u chuỗi tu” chuỗi nhận cách kết nối chuỗi tu uới n lần w n =w w — nian Dac biét, ching ta dinh nghia: w° = i, đối uới chuỗi tu +z",z!' Néu la chữ š* tập tốt chuỗi š bể chuỗi trống Còn >" tập tất chuỗi š ngoại trừ chuỗi trống FE => ` -l4Al Nhận xét: š hữu hạn cdn 5° va š* vô hạn vô hạn đếm Ngôn ngữ Một ngôn ngữ định nghĩa tổng quát lị tập >x” Hay nói cách khác ngôn ngữ tộp câu chữ uà thường bí hiệu L ‘ Vidul.l.Cho £ = {a, ð], xÌ= hạn Tập fA, a, b, aa, ab, ba, bb, aaa, aab, } {a, aa, aab} la mét ngon ngif trénz „ N6 la mét ngôn ngữ hữu Tap L = {a"b": n > 0} ngôn ngữ trênš ngữ vô hạn Các chuỗi aœbð œaaabbbb chuỗi abð khơng, chuỗi nằm Nó ngơn ngôn ngữ L, Tw (word), edu (sentence) Một từ huy câu chuỗi ngôn ngữ Trong lý thuyết ngơn ngũ hình thức, khơng phân biệt từ va câu uà sử dụng chúng 10 ... để ngôn ngữ xây dựng ngôn ngữ (xây dựng ngôn ngữ lập trình, phân tích cú pháp), dịch từ ngơn ngữ sang ngôn ngữ khác (dịch từ ngôn ngữ lập trình cấp cao sang ngơn ngữ lập trình cấp thấp hay ngôn. .. máy tính Trong lý thuyết ngơn ngữ hình thức lại nghiên cứu chất ngôn ngữ uè đặc trưng lớp ngôn ngữ Việc nghiên cứu lý thuyết ngơn ngữ hình thức cho chúng tœ nhìn rõ ràng uề ngơn ngữ đơng thời... việc hiểu mơ hình tự động mà điển hình máy tính số ngày Lý thuyết ngơn ngữ hình thức lý thuyết làm tảng cho việc hiểu khái niệm ngơn ngữ bao gồm khái niệm ngơn ngữ lập trình lẫn ngơn ngữ tự nhiên,

Ngày đăng: 26/03/2015, 15:34

Từ khóa liên quan

Mục lục

  • Page 1

  • Page 2

  • Page 3

  • Page 4

  • Page 5

  • Page 6

  • Page 7

  • Page 8

  • Page 9

  • Page 10

  • Page 11

  • Page 12

  • Page 13

  • Page 14

  • Page 15

  • Page 16

  • Page 17

  • Page 18

  • Page 19

  • Page 20

Tài liệu cùng người dùng

Tài liệu liên quan