Một số tính chất và ứng dụng của ngôn ngữ chính quy

71 715 0
Một số tính chất và ứng dụng của ngôn ngữ chính quy

Đ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

BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI ————————————— PHAN THỊ TUYẾT CHINH MỘT SỐ TÍNH CHẤT ỨNG DỤNG CỦA NGƠN NGỮ CHÍNH QUY LUẬN VĂN THẠC SĨ TOÁN HỌC HÀ NỘI - 2017 BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI ————————————— PHAN THỊ TUYẾT CHINH MỘT SỐ TÍNH CHẤT ỨNG DỤNG CỦA NGƠN NGỮ CHÍNH QUY LUẬN VĂN THẠC SĨ TỐN HỌC Chun ngành: TOÁN ỨNG DỤNG Mã số: 60 46 01 12 Người hướng dẫn khoa học: TS Kiều Văn Hưng HÀ NỘI - 2017 Lời cảm ơn Luận văn hoàn thành Trường Đại học Sư phạm Hà Nội hướng dẫn TS Kiều Văn Hưng Tác giả xin bày tỏ lòng biết ơn sâu sắc tới TS Kiều Văn Hưng, người thầy nhiệt tình giúp đỡ, trực tiếp bảo hướng dẫn để tác giả hoàn thành luận văn Tác giả xin bày tỏ lòng biết ơn chân thành tới phòng Sau đại học, thầy giáo dạy cao học chun ngành Tốn ứng dụng trường Đại học Sư phạm Hà Nội giúp đỡ tác giả suốt trình học tập Cuối tác giả xin gửi lời cảm ơn chân thành đến gia đình, bạn bè, người thân ln động viên khuyến khích, tạo điều kiện thuận lợi cho tác giả trình học tập hoàn thành luận văn Hà Nội, tháng 12 năm 2017 Học viên Phan Thị Tuyết Chinh Lời cam đoan Tôi xin cam đoan, hướng dẫn TS Kiều Văn Hưng, luận văn “Một số tính chất ứng dụng ngơn ngữ quy” hồn thành nhận thức thân tác giả, số liệu kết nghiên cứu luận văn trung thực, không trùng lặp với luận văn khác Tôi xin cam đoan giúp đỡ cho việc thực luận văn cảm ơn thơng tin trích dẫn luận văn rõ nguồn gốc Hà Nội, tháng 12 năm 2017 Tác giả Phan Thị Tuyết Chinh Mục lục Lời mở đầu 1 Một số kiến thức chuẩn bị 1.1 1.2 1.3 Các khái niệm ngơn ngữ hình thức 1.1.1 Bảng chữ từ 1.1.2 Ngôn ngữ Ngơn ngữ quy biểu thức quy 1.2.1 Ngơn ngữ quy 1.2.2 Biểu thức quy Otomat hữu hạn 1.3.1 Định nghĩa otomat hữu hạn 1.3.2 Sự tương đương otomat đơn định không đơn định 1.3.3 13 Quan hệ otomat hữu hạn với ngơn ngữ quy Một số tính chất ngơn ngữ quy 16 19 2.1 Bổ đề Bơm 19 2.2 Tính chất đóng ngơn ngữ quy 23 2.2.1 2.2.2 Tính chất đóng phép tốn tập hợp đơn giản 24 Tính chất đóng phép toán khác 29 iii MỤC LỤC 2.3 MỤC LỤC Các toán định 2.3.1 Sự chuyển đổi đại diện ngôn ngữ quy 41 2.3.2 Kiểm tra rỗng ngơn ngữ quy 43 2.3.3 Kiểm tra phần tử ngơn ngữ quy 43 Một số ứng dụng ngơn ngữ quy 3.1 3.2 41 45 Tổng quan ứng dụng ngơn ngữ quy 45 3.1.1 Thiết kế kiểm tra hoạt động mạch số 46 3.1.2 Tìm kiếm từ văn 47 Ứng dụng vào phân tích từ vựng 52 3.2.1 Biểu thức quy UNIX 53 3.2.2 Phân tích từ vựng 56 Tài liệu tham khảo 63 iv Danh sách hình vẽ 1.1 Mơ tả q trình đốn nhận từ w otomat A 1.2 Bảng chuyển trạng thái otomat A 10 1.3 Đồ thị chuyển otomat A 10 1.4 Q trình đốn nhận từ w otomat A 11 1.5 Bảng chuyển otomat A 11 1.6 Đồ thị chuyển otomat A 12 1.7 Q trình đốn nhận từ w otomat A 12 1.8 Bảng chuyển otomat A 12 1.9 Đồ thị chuyển otomat A 13 1.10 Q trình đốn nhận từ w1 otomat A 13 1.11 Quá trình đốn nhận từ w2 otomat A 13 2.1 Otomat đoán nhận ngôn ngữ L1 26 2.2 Otomat đốn nhận ngơn ngữ L1 26 2.3 Otomat đốn nhận ngơn ngữ L1 27 2.4 Otomat đốn nhận ngơn ngữ L2 27 2.5 Otomat M đoán nhận ngôn ngữ L1 ∩ L2 28 2.6 Otomat M đoán nhận ngôn ngữ L1 ∩ L2 28 2.7 Otomat A đoán nhận ngôn ngữ L1 32 2.8 Otomat B đoán nhận ngôn ngữ L2 32 2.9 Bảng chuyển otomat M 33 2.10 Otomat M đốn nhận ngơn ngữ L1 − L2 33 v DANH SÁCH HÌNH VẼ DANH SÁCH HÌNH VẼ 2.11 Otomat M đốn nhận ngơn ngữ L1 − L2 33 2.12 Otomat A đốn nhận ngơn ngữ L1 38 2.13 Otomat B đốn nhận ngơn ngữ L2 39 2.14 Otomat đốn nhận ngơn ngữ L1 40 2.15 Otomat đốn nhận ngơn ngữ L2 40 2.16 Otomat đốn nhận ngơn ngữ L3 40 2.17 Otomat đoán nhận ngôn ngữ L1 L−1 40 2.18 Otomat đốn nhận ngơn ngữ L−1 L1 40 2.19 Sự chuyển đổi đại diện ngơn ngữ quy 41 3.1 Cơng tắc bật / tắt 47 3.2 Otomat nhận từ khoá luck 48 3.3 NFA tìm từ ab, bc ca 50 3.4 DFA tìm từ ab, bc ca 52 3.5 DFA tìm từ ebay web 53 3.6 Một ví dụ phần đầu vào lệnh lex 61 vi Lời mở đầu Lý chọn đề tài Từ sớm, ngôn ngữ tự nhiên (tiếng Việt, tiếng Anh, tiếng Nhật, ) người sử dụng để liên lạc với Do phát triển khoa học cơng nghệ, người nảy nhu cầu tìm kiếm loại ngơn ngữ rộng lớn hơn, khơng phục vụ mục đích giao tiếp người với người mà phương tiện giao tiếp người với máy hay máy với máy Vì ngơn ngữ hình thức đời, định nghĩa ngôn ngữ tự nhiên nhờ quy tắc ngữ pháp nghiêm ngặt mà từ câu có nghĩa Đấy điểm mấu chốt giúp cho việc giao tiếp với máy dễ dàng Ngôn ngữ hình thức nhà ngơn ngữ học tiếng Noam Chomsky phân làm bốn loại: ngôn ngữ ngữ cấu (nhóm 0), ngơn ngữ cảm ngữ cảnh (nhóm 1), ngơn ngữ phi ngữ cảnh (nhóm 2) ngơn ngữ quy (nhóm 3) Dựa vào phân loại trên, ngơn ngữ quy lớp ngơn ngữ nhỏ chứa ba lớp ngơn ngữ lại Khơng có tính chất đặc biệt ứng dụng nhiều việc thiết kế ngôn ngữ lập trình hay nghiên cứu chương trình dịch Với mong muốn tìm hiểu sâu lớp ngôn ngữ thú vị hướng dẫn TS Kiều Văn Hưng, định chọn đề tài nghiên cứu là: “Một số tính chất ứng dụng ngơn ngữ quy” Mục đích nghiên cứu Tìm hiểu số tính chất ứng dụng ngơn ngữ quy Nhiệm vụ nghiên cứu Trình bày cách hệ thống lý thuyết số tính chất ứng dụng ngơn ngữ quy Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu: tính chất ứng dụng ngơn ngữ quy Phạm vi nghiên cứu: tìm hiểu tổng quan ngơn ngữ quy Giả thuyết khoa học Hệ thống kiến thức số tính chất ứng dụng ngơn ngữ quy để góp phần làm phong phú kết quả, hiểu biết ngôn ngữ quy Đồng thời, tơi hi vọng tài liệu hữu ích cho bạn muốn tìm hiểu mơn ngơn ngữ hình thức nói chung lớp ngơn ngữ quy nói riêng Phương pháp nghiên cứu Tìm hiểu tài liệu, sách, báo liên quan đến kết có ngơn ngữ quy Tổng hợp kiến thức trình bày cách hệ thống chép Web thiết lập sốsố ứng dụng liên quan không phù hợp với số đảo ngược ứng dụng tốt cho kỹ thuật dựa otomat Các đặc điểm tạo ứng dụng phù hợp cho tìm kiếm sử dụng otomat là: Kho lưu trữ tìm kiếm thực nhanh chóng Ví dụ: (a) Mỗi ngày, nhà phân tích tin tức muốn tìm kiếm tin tức báo điện tử viết có chủ đề có liên quan như: nhà phân tích tài tìm kiếm với số biểu tượng cổ phiếu tên công ty (b) Một robot mua sắm muốn tìm kiếm giá bị tính phí cho mặt hàng mà khách hàng yêu cầu Robot lấy liệu trang danh mục từ Web sau tìm kiếm trang cho từ đề xuất giá cho mặt hàng cụ thể Các tài liệu cần tìm kiếm khơng liệt kê Ví dụ, trang bán hàng trực tuyến Amazon.com khơng giúp cho trình thu thập thơng tin dễ dàng tìm thấy tất trang dành cho tất sách mà cơng ty bán Tuy nhiên, ta gửi truy vấn cho sách chủ đề định, nói otomat hữu hạn, sau tìm kiếm trang tìm từ định, ví dụ: "xuất sắc" phần đánh giá Otomat hữu hạn khơng đơn định tìm kiếm từ Giả sử đưa tập hợp từ, ta gọi từ khóa ta muốn tìm lần xuất từ số từ khóa Trong ứng dụng vậy, cách hữu ích để tiếp tục thiết kế otomat hữu hạn không đơn định mà dấu hiệu đến trạng thái chấp nhận, nghĩa thấy từ khóa Có hình thức đơn giản để NFA nhận dạng từ khóa Có trạng thái bắt đầu với hàm chuyển cho với ký hiệu vào Ví dụ: ký tự ASCII in 49 ta kiểm tra văn Một cách trực quan, trạng thái bắt đầu đại diện cho đoán mà ta chưa bắt đầu thấy từ khoá, ta thấy số chữ từ Với từ khóa a1 a2 ak , k số trạng thái, giả sử q1 , q2 , , qk Có hàm chuyển từ trạng thái bắt đầu tác động a1 chuyển đến trạng thái q1 hàm chuyển khác có dạng δ(qi , ai+1 ) = qi+1 với ≤ i ≤ k Trạng thái qk trạng thái chấp nhận từ khóa a1 a2 ak tìm thấy Ví dụ 3.1.3 Giả sử ta muốn xây dựng NFA để đoán nhận lần xuất từ ab, bc ca bảng chữ Σ = {a, b, c} Hàm chuyển NFA xây dựng dựa vào hai nguyên tắc cho đồ thị chuyển sau: Hình 3.3: NFA tìm từ ab, bc ca Tuy nhiên, với mục đích đảm bảo không để tăng số lượng tiểu bang, ta chuyển từ NFA sang DFA dựa vào thuật toán đơn định hóa otomat Một DFA đốn nhận từ khóa Ta áp dụng cấu trúc tập cho NFA Tuy nhiên, ta áp dụng điều vào xây dựng cho NFA thiết kế từ 50 từ khóa, theo mục đích ta thấy số trạng thái DFA nhỏ số trạng trái NFA Khi trường hợp xấu số trạng thái tăng lên ta chuyển sang DFA, quan sát tin tốt giải thích phương pháp xây dựng NFA cho từ khoá sau xây dựng DFA từ sử dụng thường xun Ta sử dụng thuật tốn đơn định hóa otomat 1.3.2 để xây dựng DFA cần tìm Ví dụ 3.1.4 Xây dựng DFA từ NFA Ví dụ 3.1.3 hiển thị Hình 3.3 Giải Dựa vào thuật tốn đơn định hóa 1.3.2 ta xây dựng DFA A = QD , {a, b, c} , T, 1, FD , hàm chuyển DFA xác định sau: +T (1, a) = {1, 2} + T ({1, 6} , c) = {1, 6} +T (1, b) = {1, 4} + T ({1, 4, 3} , a) = {1, 2} +T (1, c) = {1, 6} + T ({1, 4, 3} , b) = {1, 4} + T ({1, 2} , a) = {1, 2} + T ({1, 4, 3} , c) = {1, 6, 5} + T ({1, 2} , b) = {1, 4, 3} + T ({1, 6, 5} , a) = {1, 2, 7} + T ({1, 2} , c) = {1, 6} + T ({1, 6, 5} , b) = {1, 4} + T ({1, 4} , a) = {1, 2} + T ({1, 6, 5} , c) = {1, 6} + T ({1, 4} , b) = {1, 4} + T ({1, 2, 7} , a) = {1, 2} + T ({1, 4} , c) = {1, 6, 5} + T ({1, 2, 7} , b) = {1, 4, 3} + T ({1, 6} , a) = {1, 2, 7} + T ({1, 2, 7} , c) = {1, 6} + T ({1, 6} , b) = {1, 4} Chú ý ta ký hiệu trạng thái trạng thái cách viết, chẳng hạn {1, 2} = 12 cho đơn giản tập trạng thái kết thúc DFA FD = {127, 143, 165} 51 Hình 3.4: DFA tìm từ ab, bc ca Ví dụ 3.1.5 Xây dựng DFA đoán nhận từ web ebay bảng chữ Σ = {a, b, , z} Giải Tương tự Ví dụ 3.1.4 ta xây dựng DFA tìm từ ebay web sau: 3.2 Ứng dụng vào phân tích từ vựng Trong chương trình dịch, phân tích từ vựng bước quan trọng Nhiệm vụ chủ yếu đọc chuỗi ký tự nhập vào nhóm ký tự thành từ tố hay gọi token Một biểu thức quy cho ta hình ảnh mơ hình mà ta cần để tạo phương tiện lựa chọn cho ứng dụng tìm kiếm mẫu từ 52 Hình 3.5: DFA tìm từ ebay web văn Trong mục này, tìm hiểu ứng dụng quan trọng dựa biểu thức quy trình phân tích từ vựng 3.2.1 Biểu thức quy UNIX Trước xem ứng dụng, giới thiệu biểu thức quy mở rộng hệ điều hành UNIX Trong thực tế, mở rộng UNIX bao gồm số tính định, đặc biệt khả đặt tên tham khảo chuỗi trước khớp với mẫu, thực cho phép ngơn ngữ khơng quy cơng nhận Chúng ta khơng xem xét tính mà giới thiệu vắn tắt việc cho phép biểu thức quy phức tạp viết ngắn gọn 53 Sự mở rộng biểu thức quy thực tế liên quan đến hầu hết ứng dụng ký tự ASCII Ví dụ, thường sử dụng bảng chữ nhỏ, chẳng hạn {0, 1} Sự tồn hai biểu thức tương đương cho phép viết biểu thức ngắn gọn + thay cho "ký tự bất kỳ" Tuy nhiên, có 128 ký tự biểu diễn liên quan đến việc liệt kê tất bất tiện viết Do đó, biểu thức quy UNIX cho phép viết lớp ký tự đại diện biểu diễn cho tập lớn ký tự để ngắn gọn tốt Các quy tắc cho lớp ký tự là: • Ký hiệu (dot) thay cho ký tự • Dãy [a1 a2 ak ] thay cho biểu thức quy a1 + a2 + + ak Ký hiệu tiết kiệm khoảng nửa ký tự, khơng phải viết dấu + Ví dụ, biểu diễn bốn toán tử so sánh C [=!] • Giữa dấu ngoặc vng đặt dãy dạng x − y để có nghĩa tất ký tự từ x đến y dãy ASCII Vì chữ số có mã theo thứ tự, chữ viết hoa chữ thường, biểu diễn nhiều lớp ký tự mà thực quan tâm với vài cú nhấn phím Ví dụ, chữ số biểu diễn [0 − 9], chữ viết hoa biểu diễn [A − Z], tập tất chữ chữ số biểu diễn [A − Za − z0 − 9] Nếu muốn bao gồm dấu trừ ký tự, đặt đầu cuối, khơng bị nhầm lẫn với việc sử dụng để tạo thành dãy ký tự Chẳng hạn như, số, cộng với dấu chấm, cộng dấu trừ sử dụng để tạo thành đánh dấu số thập phân biểu diễn [− + − 9] Dấu ngoặc vng, ký tự khác mà có ý nghĩa đặc biệt biểu thức 54 quy UNIX biểu diễn dạng ký tự cách sử dụng dấu gạch chéo ngược (\) • Có ký hiệu đặc biệt cho số lớp ký tự phổ biến Ví dụ: a) [: digit :] tập gồm mười chữ số, giống [0 − 9] b) [: alpha :] thay cho ký tự chữ nào, [A − Za − z] c) [: alnum :] thay cho chữ số chữ cái, [A − Za − z0 − 9] Ngồi ra, có số tốn tử sử dụng UNIX mà chưa gặp phải trước Khơng có tốn tử mở rộng ngơn ngữ thể đơi họ làm cho dễ dàng để thể muốn Tốn tử | sử dụng thay cho + để biểu thị phép hợp Tốn tử ? có nghĩa "khơng một" Như vậy, R? UNIX giống ε + R Toán tử + nghĩa "một nhiều hơn" Vì vậy, R+ UNIX viết tắt cho RR∗ Tốn tử {n} có nghĩa "n sao" Như vậy, R{5} UNIX viết tắt cho RRRRR Lưu ý biểu thức quy UNIX cho phép dấu ngoặc đơn nhóm biểu thức ưu tiên toán tử sử dụng ( ?, +, {n} xử lý ∗ theo thứ tự ưu tiên có liên quan) Tốn tử ∗ sử dụng UNIX với ý nghĩa sử dụng 55 3.2.2 Phân tích từ vựng Một ứng dụng lâu đời biểu thức quy đưa thành phần trình biên dịch gọi "bộ phân tích từ vựng" Thành phần quét chương trình mã nguồn nhận tất token, chuỗi liên tiếp đối tượng thuộc hợp lý Từ khố danh biểu, tốn tử ví dụ phổ biến token, có loại khác dấu câu, số, chuỗi Trong Mục 3.1.2, giới thiệu khái niệm otomat sử dụng để tìm kiếm hiệu cho từ kho lớn Web Trong công cụ công nghệ để làm khơng phát triển tốt việc phân tích từ vựng, biểu thức quy mơ tả tìm kiếm cho mơ hình thú vị Đối với phân tích từ vựng, khả từ mơ tả tự nhiên biểu thức quy đến hệ thống hiệu (dựa otomat) cung cấp đòn bẩy tri thức hữu ích Các vấn đề chung mà cơng nghệ biểu thức quy tìm thấy hữu ích mô tả lớp định nghĩa mơ hồ mẫu văn Sự không rõ ràng mô tả đảm bảo khơng mơ tả mơ hình xác lúc - có lẽ khơng thể có miêu tả xác Bằng cách sử dụng biểu thức quy, trở nên dễ dàng để mơ tả mơ hình mức cao, với nỗ lực để sửa đổi mô tả nhanh chóng thứ bị sai hay hiểu nhầm Một "trình biên dịch" cho biểu thức quy hữu ích để biến biểu thức quy viết thành mã thực thi Chúng ta khám phá ví dụ mở rộng vấn đề phát sinh nhiều ứng dụng Web Giả sử muốn quét số lượng lớn trang web phát địa Chúng ta đơn giản muốn tạo danh sách thư điện tử có lẽ cố gắng để phân loại doanh nghiệp theo vị trí họ để trả lời câu hỏi "tìm địa nhà hàng cách 10 phút lái xe vị trí tơi bây giờ" hay "tìm tên trang web có nội dung giáo dục" 56 Chúng ta tập trung vào việc tìm kiếm tên miền nói riêng Chúng ta phải tìm điều đó, kiểm tra phần mềm, thấy bỏ lỡ số trường hợp, phải sửa đổi biểu thức để nắm bắt thiếu Để bắt đầu, tên miền kết thúc ".vn", viết tắt từ "Việt Nam" Tuy nhiên, có nhiều tên miền khác với ý nghĩa riêng biệt Sau số đuôi tên miền phổ biến ý nghĩa chúng .com: viết tắt từ "commercial", nghĩa thương mại, phần mở rộng tên miền phổ biến giới Hầu hết doanh nghiệp mong muốn sở hữu tên miền loại khẳng định vị cao doanh nghiệp mạng Internet .net: viết tắt từ "network", nghĩa mạng lưới Thường sử dụng nhà cung cấp dịch vụ Internet, công ty kinh doanh website, tổ chức khác có liên hệ trực tiếp đến hạ tầng Internet .org: viết tắt từ "organization", dành cho tổ chức .edu: viết tắt từ "education", dành cho tổ chức giáo dục .us: dành cho trang web Mỹ .cn: dành cho trang phim, truyền thơng, truyền hình Do đó, sử dụng kết thúc cho biểu thức quy như: Việt Nam | \ | commercial | com \ | network | net \ Trong biểu thức trên, sử dụng ký hiệu theo phong cách UNIX, với dọc khơng phải +, tốn tử phép hợp Cũng lưu ý dấu chấm đặt sau dấu gạch chéo ngược trước, dấu chấm có ý nghĩa đặc biệt "bất kỳ ký tự nào" biểu thức UNIX trường hợp thực muốn tạo khoảng cách ký tự "chấm" để kết thúc ba chữ viết tắt Tên miền gồm có cấu trúc hai phần: tên đăng ký đuôi tên miền Chúng ta dựa vào đặc điểm để đưa biểu thức quy thích hợp Ví dụ như: 57 Tên miền không vượt 63 ký tự (đã bao gồm phần đuôi) Tên miền bao gồm ký tự bảng chữ (a-z), số (0-9) dấu (-) Khoảng trắng ký tự đặc biệt khác không hợp lệ Tên miền không bắt đầu kết thúc tên miền dấu (-) Vì thế, mơ tả tên miền biểu thức [a − z] Tuy nhiên, số tên miền có tên bao gồm nhiều từ, chẳng hạn "phimmoi.net" Do đó, sau phát ra, thiếu địa trường hợp này, sửa đổi biểu thức tên miền sau [a − z] ∗ ([a − z] ∗)∗ Bây giờ, cần phải đưa số vào biểu thức phần tên miền, chẳng hạn "24h.com" hay "hpu2.edu.vn" Hầu hết tên miền chuỗi chữ số chữ thường (khơng có dấu cách) Tuy nhiên, ví dụ tên miền sau phần số bao gồm chữ viết thường Như vậy, biểu thức mà sử dụng cho số có chữ viết thường tùy chọn sau: [a − z] + [0 − 9]? Chú ý sử dụng + hệ điều hành cho nhiều chữ số ? cho không chữ viết thường Toàn biểu thức phát triển cho tên miền là: [a − z] + [0 − 9]? [a − z] ∗ ([a − z] ∗) (Việt Nam | \ | commercial | com \ | network | net \ )’ Nếu làm việc với biểu thức này, làm tốt Tuy nhiên, cuối phát thiếu: 58 Tên miền có nhiều khác nhau, có tên miền Chẳng hạn "hm.com.vn" trang web thức hãng thời trang HM Việt Nam, "hm.com.us" trang web thức hãng thời trang HM Mỹ, tương tự "hm.com.cn" trang web thức hãng thời trang HM Trung Quốc Trong tên miền khơng chứa chữ viết hoa tìm kiếm ta viết tên miền có chữ viết hoa tìm trang web mà ta mong muốn Ví dụ: muốn tìm trang "banh.tv" ta tìm từ khóa "BANH.TV" "Banh.tv" Để khắc phục lỗi ta cần chỉnh sửa biểu thức quy cho phù hợp Vì thế, việc có trình biên dịch biểu thức quy làm cho trình hội tụ chậm đến nhận dạng hoàn chỉnh cho địa dễ dàng nhiều so với phải làm thay đổi trực tiếp ngơn ngữ lập trình thơng thường Như vậy, phân tích chương trình nguồn thành biểu thức quy Từ thiết lập otomat hữu hạn đốn nhận biểu thức quy tối tiểu (nếu có thể) Kết ta xây dựng phân thích từ vựng ngắn gọn dễ bảo trì Người đọc muốn có danh sách đầy đủ phép toán ký tự viết tắt biểu thức quy có sẵn UNIX tìm thấy chúng trang hướng dẫn sử dụng cho lệnh khác Lệnh lex UNIX phiên GNU flex chấp nhận đầu vào danh sách biểu thức quy UNIX, phần theo sau phần ngoặc mã cho biết phân tích từ vựng làm tìm thấy ví dụ token Cơ sở gọi phân tích từ vựng Vì làm đầu vào mơ tả cấp cao phân tích từ vựng sản xuất từ hàm mà phân tích từ vựng hoạt động Các lệnh lex flex tìm thấy hữu ích ký hiệu 59 biểu thức quy xác cần mơ tả token Các lệnh sử dụng biểu thức quy đến trình chuyển đổi DFA để tạo chức hiệu mà phá vỡ chương trình nguồn thành token Chúng làm cho việc thực phân tích từ vựng dễ thực hơn, trước phát triển cơng cụ dựa biểu thức quy này, thực thủ cơng máy phân tích từ vựng vài tháng Hơn nữa, cần để sửa đổi phân tích từ vựng cho lý gì, thường vấn đề đơn giản để thay đổi một vài biểu thức quy, thay phải vào phần để sửa lỗi Ví dụ 3.2.1 Trong Hình 3.6 ví dụ phần đầu vào lệnh lex mô tả số token tìm thấy ngơn ngữ C Dòng xử lý từ khóa khác thực để trả lại số (ELSE ví dụ này) phân tích cú pháp để xử lý tiếp Dòng thứ hai chứa biểu thức quy mơ tả mã định dạng: chữ không nhiều chữ \ chữ số Hành động nhập mã nhận dạng vào bảng chưa có, lex lập token tìm thấy đệm, mảnh mã biết xác mà mã định dạng tìm Cuối cùng, phân tích từ vựng trả số ID, chọn ví dụ để đại diện cho mã định dạng Dòng thứ ba Hình 3.6 ký hiệu >=, toán tử hai đối tượng Ví dụ cuối thấy dấu =, toán tử đối tượng Trong thực tế xuất biểu thức mơ tả từ khóa, ký hiệu dấu chấm câu dấu phẩy, dấu ngoặc đơn, số số dãy Hầu số đơn giản, dãy nhiều ký tự cụ thể Tuy nhiên, đa dạng mã định danh đòi hỏi tồn sức mạnh biểu thức quy để mô tả Việc chuyển đổi tập hợp biểu thức, chẳng hạn chuyển đổi Hình 3.6 đến otomat tiến hành mô tả phần trước Chúng ta bắt đầu cách xây dựng otomat cho 60 Hình 3.6: Một ví dụ phần đầu vào lệnh lex kết hợp tất biểu thức Nguyên tắc otomat cho biết số token công nhận Tuy nhiên, làm theo việc xây dựng Định lý 1.3.2 phép hợp biểu thức biết xác token cơng nhận Vấn đề nhiều token nhận lúc Chẳng hạn từ else không biểu diễn biểu thức quy else mà biểu diễn biểu thức cho mã định dang Độ phân giải tiêu chuẩn cho tạo phân tích từ vựng ưu tiên cho biểu thức liệt kê Vì vậy, muốn từ khóa else đặt trước (không thể sử dụng làm mã định dạng), đơn giản liệt kê chúng trước mã định dạng 61 Kết luận Luận văn nghiên cứu ngơn ngữ quy Các kết luận văn là: Trình bày kiến thức ngơn ngữ, ngơn ngữ quy, biểu thức quy otomat hữu hạn Trình bày số tính chất ngơn ngữ quy: bổ đề Bơm (Định lý 2.1.1), tính chất đóng (Định lý 2.2.2, Định lý 2.2.3, Định lý 2.2.4, Định lý 2.2.5, Định lý 2.2.6) toán định Trình bày số ứng dụng hữu ích ngơn ngữ quy hoạt động mạch số, tìm kiếm văn bản, phân tích từ vựng Luận văn khơng có kết Đóng góp luận văn tổng hợp số kết liên quan đến tính chất ứng dụng ngơn ngữ quy Do thời gian có hạn lần em nghiên cứu đề tài nên khó tránh khỏi thiếu sót Rất mong thầy giáo, giáo bạn góp ý để luận văn em hoàn thiện 62 Tài liệu tham khảo Tài liệu tiếng Việt [1] Đoàn Văn Ban, Nguyễn Hiền Trinh, Giáo trình ngơn ngữ hình thức ôtômát, NXBĐH Thái Nguyên, 2010 [2] Đỗ Đức Giáo, Toán rời rạc ứng dụng tin học, NXBGD, 2014 [3] Đặng Huy Ruận, Lý thuyết ngơn ngữ hính thức Otomat, NXBĐHQGHN, 2002 Tài liệu tiếng Anh [4] Hopcroft J E., Ullman J D , Formal Languages and Their Relation to Automata, Addison-Wesley Publishing Company, Massachussetts, 1969 [5] Hopcroft J E., Ullman J D, Introduction to Automata Theory, Languages, and Computation, Addision – Wesley Publishing Company, Massachussetts, 1979 [6] Hopcroft J E., Ullman J D, Introduction to Automata Theory, Languages, and Computation, Addision – Wesley Publishing Company, Massachussetts, 2001 63 ... sâu lớp ngôn ngữ thú vị hướng dẫn TS Kiều Văn Hưng, định chọn đề tài nghiên cứu là: Một số tính chất ứng dụng ngơn ngữ quy Mục đích nghiên cứu Tìm hiểu số tính chất ứng dụng ngơn ngữ quy Nhiệm... Vậy L = L1 ∪ L2 ngơn ngữ quy 18 Chương Một số tính chất ngơn ngữ quy Trong chương này, ta khám phá tính chất ngơn ngữ quy Cơng cụ để chứng minh số ngơn ngữ khơng phải ngơn ngữ quy "bổ đề Bơm" giới... DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI ————————————— PHAN THỊ TUYẾT CHINH MỘT SỐ TÍNH CHẤT VÀ ỨNG DỤNG CỦA NGƠN NGỮ CHÍNH QUY LUẬN VĂN THẠC SĨ TOÁN HỌC Chuyên ngành: TOÁN ỨNG DỤNG Mã số:

Ngày đăng: 28/05/2018, 15:04

Từ khóa liên quan

Mục lục

  • Li m u

  • Mt s kin thc chun bi

    • Các khái nim c ban v ngôn ng hình thc

      • Bang ch cái và t

      • Ngôn ng

      • Ngôn ng chính quy và biu thc chính quy

        • Ngôn ng chính quy

        • Biu thc chính quy

        • Otomat hu han

          • Ðinh nghıa otomat hu han

          • S tng ng gia otomat n inh và không n inh

          • Quan h gia otomat hu han vi ngôn ng chính quy

          • Mt s tính cht cua ngôn ng chính quy

            • B Bm

            • Tính cht óng cua ngôn ng chính quy

              • Tính cht óng i vi các phép toán tp hp n gian

              • Tính cht óng i vi các phép toán khác

              • Các bài toán quyt inh

                • S chuyn i gia các ai din cua ngôn ng chính quy

                • Kim tra s rng cua các ngôn ng chính quy

                • Kim tra phn t trong mt ngôn ng chính quy

                • Mt s ng dung cua ngôn ng chính quy

                  • Tng quan ng dung cua ngôn ng chính quy

                    • Thit k và kim tra hoat ng cua các mach s

                    • Tìm kim t trong van ban

                    • ng dung vào phân tích t vng

                      • Biu thc chính quy trong UNIX

                      • Phân tích t vng

                      • Tài liu tham khao

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

Tài liệu liên quan