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

Bài giảng Ngôn ngữ hình thức: Phần 1 - ĐH Sư phạm kỹ thuật Nam Định

107 39 0

Đ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

Định dạng
Số trang 107
Dung lượng 1,13 MB

Nội dung

Bài giảng Ngôn ngữ hình thức: Phần 1 nhằm cung cấp các kiến thức cơ bản, tổng quan về ngôn ngữ, văn phạm và automat; giúp sinh viên nắm vững các kiến thức cơ bản về văn phạm chính quy và automat hữu hạn, văn phạm phi ngữ cảnh và automat đẩy xuống là công cụ dùng để xây dựng và phân tích từ vựng, cú pháp của các ngôn ngữ lập trình.

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH KHOA CÔNG NGHỆ THÔNG TIN PHẠM HÙNG PHÚ - VŨ THỊ PHƯƠNG TẬP BÀI GIẢNG NGƠN NGỮ HÌNH THỨC NAM ĐỊNH - 2012 Ngơn ngữ hình thức Mục lục LỜI NĨI ĐẦU Chƣơng TỔNG QUAN VỀ NGÔN NGỮ VÀ AUTOMAT 1.1 Các khái niệm 1.1.1 Khái niệm ngơn ngữ hình thức 1.1.2 Bảng chữ (alphabet) 1.1.3 Xâu bảng chữ 1.1.4 Các phép toán xâu 1.1.5 Ngôn ngữ (language) 10 1.2 Văn phạm ngôn ngữ 13 1.2.1 Văn phạm 13 1.2.2 Ngôn ngữ sinh Văn phạm 15 1.2.3 Văn phạm tƣơng đƣơng 16 1.3 Phân loại văn phạm ngôn ngữ 16 1.3.1 Văn phạm ngôn ngữ loại 16 1.3.2 Văn phạm ngôn ngữ loại 17 1.3.3 Văn phạm ngôn ngữ loại 17 1.3.4 Văn phạm ngôn ngữ loại 17 1.3.5 Ví dụ 18 1.4 Một số tính chất ngơn ngữ 19 1.4.1 Tính chất 19 1.4.2 Tính chất 20 1.4.3 Tính chất 20 1.4.4 Tính chất 21 1.4.5 Tính chất (Tính đệ quy ngơn ngữ) 21 1.5 Automat 23 1.5.1 Mô tả automat 23 1.5.2 Phân loại automat 24 CÂU HỎI VÀ BÀI TẬP CHƢƠNG 25 Phạm Hùng Phú Ngơn ngữ hình thức Chƣơng VĂN PHẠM CHÍNH QUY VÀ AUTOMAT HỮU HẠN 30 2.1 Automat hữu hạn (FINITE AUTOMAT - FA) 31 2.1.1 Định nghĩa Automat hữu hạn 31 2.1.2 Automat hữu hạn đơn định 36 2.1.3 Automat hữu hạn không đơn định-NFA (Nondeterministic Finite Automata) 42 2.1.4 Sự tƣơng đƣơng DFA NFA 49 2.1.5 NFA với ε-dịch chuyển (NFAε) 56 2.1.6 Sự tƣơng đƣơng NFA có khơng có ε-dịch chuyển 62 2.2 Biểu thức quy (RE: Regular Expressions) 64 2.2.1 Định nghĩa 65 2.2.2 Một số tính chất đại số biểu thức quy 66 2.2.3 Sự tƣơng đƣơng automat hữu hạn biểu thức quy 67 2.3 Văn phạm quy 79 2.3.1 Văn phạm tuyến tính 79 2.3.2 Sự tƣơng đƣơng văn phạm quy automat hữu hạn 80 2.3.3 Tính chất ngơn ngữ quy 87 2.3.4 Bổ đề bơm cho ngơn ngữ quy 90 2.3.5 Xác định ngôn ngữ quy 92 CÂU HỎI VÀ BÀI TẬP CHƢƠNG 94 Chƣơng VĂN PHẠM PHI NGỮ CẢNH VÀ AUTOMAT ĐẨY XUỐNG 107 3.1 Văn phạm phi ngữ cảnh (CFG: Context Free Grammar) 107 3.1.1 Định nghĩa 109 3.1.2 Dẫn xuất ngôn ngữ 110 3.1.3 Cây dẫn xuất 111 3.1.4 Quan hệ dẫn xuất dẫn xuất 113 3.1.5 Dẫn xuất trái nhất, dẫn xuất phải 115 3.1.6 Văn phạm nhập nhằng (mơ hồ) 116 3.2 Rút gọn văn phạm phi ngữ cảnh 117 3.2.1 Loại bỏ ký tự thừa 118 Phạm Hùng Phú Ngơn ngữ hình thức 3.2.2 Luật sinh ε (ε quy tắc) 124 3.2.3 Luật sinh đơn vị 128 3.3 Chuẩn hóa văn phạm phi ngữ cảnh 130 3.3.1 Dạng chuẩn Chomsky - CNF (Chomsky Normal Form) 130 3.3.2 Dạng chuẩn Greibach (Greibach Normal Form - GNF) 134 3.4 Tính chất ngôn ngữ phi ngữ cảnh 140 3.4.1 Bổ đề bơm CFL (Dùng để chứng minh ngôn ngữ không ngôn ngữ phi ngữ cảnh) 140 3.4.2 Tính chất đóng CFL 143 3.5 Automat đẩy xuống (Push down Automata) 145 3.5.1 Mô tả PDA 145 3.5.2 Định nghĩa Automat đẩy xuống 146 3.5.3 Ngơn ngữ đốn nhận PDA 150 3.5.4 PDA văn phạm phi ngữ cảnh 153 CÂU HỎI VÀ BÀI TẬP CHƢƠNG 161 LỜI GIẢI TÓM TẮT HOẶC HƢỚNG DẪN 168 TÀI LIỆU THAM KHẢO 246 Phạm Hùng Phú LỜI NĨI ĐẦU LỜI NĨI ĐẦU Ngơn ngữ hình thức (Formal Languages) môn khoa học quan trọng khoa học máy tính Ở nhiều nước giới, môn học trở thành môn học sở sinh viên ngành thuộc lĩnh vực công nghệ thông tin Ở nước ta, nhiều trường đại học giảng dạy môn học “Ngôn ngữ hình thức” cho sinh viên ngành khoa học máy tính cơng nghệ thơng tin Tuy nhiên tài liệu phục vụ giảng dạy cho môn học nước ta cịn ít, thời lượng dành cho mơn học cịn khác trường §Ĩ cã mét néi dung thống cho ngành thuc lĩnh vực công nghệ thông tin Tr-ờng, tr-ờng Đại học S- phạm Kỹ thuật Nam Định đà ban hành ch-ơng trình chi tiÕt cho m«n häc Việc xuất tập đề cương giảng nhằm đáp ứng nhu cầu cung cấp tài liệu môn học cho việc giảng dạy giảng viên học tập sinh viên ngành thuộc khoa Công nghệ Thông tin trường Đại học Sư phạm Kỹ thuật Nam Định nói riêng làm liệu tham khảo cho sinh viên cán giảng dạy trường nói chung Tập đề cương giảng “Ngơn ngữ hình thức” biên soạn theo chương trình chi tiết mơn học “Ngơn ngữ hình thức” trường Đại học Sư phạm Kỹ thuật Nam Định Mục tiêu tập đề cương giảng nhằm cung cấp kiến thức bản, tổng quan ngôn ngữ, văn phạm automat; giúp sinh viên nắm vững kiến thức văn phạm quy automat hữu hạn, văn phạm phi ngữ cảnh automat đẩy xuống cơng cụ dùng để xây dựng phân tích từ vựng, cú pháp ngơn ngữ lập trình Đây kiến thức tảng, làm sở cho việc xây dựng ngơn ngữ lập trình chương trình dịch Về nội dung, tập đề cương giảng chia thành chương: Chương Tổng quan ngơn ngữ automat Chương trình bày: Các khái niệm, kiến thức bảng chữ cái, xâu bảng chữ cái, phép toán xâu; khái niệm văn phạm ngôn ngữ, phân loại văn phạm ngơn ngữ, phép tốn ngơn ngữ biểu diễn ngôn ngữ; khái niệm, phân loại automat Chương Văn phạm quy automat hữu hạn Chương trình bày kiến thức về: Automat hữu hạn (FA); automat hữu hạn đơn định (DFA) Automat hữu hạn không đơn định (NFA); Sự tương đương DFA NFA; Biểu thức quy; tương đương giưa FA biểu thức quy; Văn phạm quy, tương đương văn phạm quy FA; tính chất văn phạm quy Phạm Hùng Phú Ngơn ngữ hình thức Chương Văn phạm phi ngữ cảnh automat đẩy xuống Chương trình bày kiến thức về: Văn phạm phi ngữ cảnh (CFG); rút gọn văn phạm phi ngữ cảnh; chuẩn hoá văn phạm phi ngữ cảnh; tính chất văn phạm phi ngữ cảnh; automat đẩy xuống (PDA); tương đương PDA CFG Đặc biệt cuối chương đưa hệ thống câu hỏi, tập nhằm củng cố, khắc sâu, nâng cao vận dụng kiến thức vào giải tập cuối phần lời giải tóm tắt hướng dẫn cho tập nhằm giúp sinh viên tự rèn luyện kỹ kiểm tra kiến thức Trong trình biên soạn, tập đề cương giảng khơng tránh khỏi sai sót, mong đồng nghiệp em sinh viên góp ý kiến để tập đề cương giảng ngày hoàn thiện Người biên soạn Phạm Hùng Phú Phạm Hùng Phú Chương Tổng quan Ngôn ngữ Automat Chƣơng TỔNG QUAN VỀ NGÔN NGỮ VÀ AUTOMAT Mục tiêu: Giúp sinh viên có khả năng: - Hiểu đƣợc khái niệm bản: xâu, ngôn ngữ, văn phạm - Hiểu đƣợc phép tốn xâu, ngơn ngữ - Xác định đƣợc thành phần văn phạm - Biết đƣợc mối quan hệ văn phạm ngôn ngữ, cách phân loại văn phạm ngôn ngữ, phƣơng pháp biểu diễn ngôn ngữ - Vận dụng đƣợc kiến thức vào giải tập Nội dung chính: - Các khái niệm - Khái niệm, phân loại văn phạm ngôn ngữ - Các phép tốn ngơn ngữ biểu diễn ngơn ngữ - Khái niệm, phân loại biểu diễn automat 1.1 Các khái niệm 1.1.1 Khái niệm ngôn ngữ hình thức Ta nghe, nói nhiều ngôn ngữ nhƣ ngôn ngữ tiếng Anh, tiếng Việt, ngôn ngữ lập trình Pascal, ngơn ngữ thuật tốn, … Song ngƣời trả lời xác câu hỏi ngơn ngữ gì?; có loại ngơn ngữ? điều quan trọng hơn, thu hút quan tâm làm để có ngơn ngữ? Từ lâu nhà ngôn ngữ học nghiên cứu ngôn ngữ, song việc nghiên cứu họ thiên khía cạnh xã hội, lịch sử ngơn ngữ nhƣ: q trình hình thành ngơn ngữ, đặc trƣng ngôn ngữ dân tộc, … Từ máy tính đời, xuất nhu cầu phải dùng ngơn ngữ đễ diễn đạt thuật tốn, phải dịch từ ngơn ngữ thuật tốn sang ngơn ngữ thuật tốn khác, … bắt buộc phải giải loạt vấn đề đƣợc đặt nhƣ: - Ngôn ngữ gì? Phạm Hùng Phú Chương Tổng quan Ngôn ngữ Automat - Làm để biểu diễn ngơn ngữ? - Ngơn ngữ thuật tốn cần phải có đặc trƣng gì? - Thế dịch từ ngôn ngữ sang ngôn ngữ khác? - Thế dịch đúng? … Quan tâm nghiên cứu, giải vấn đề nêu lĩnh vực nghiên cứu ngơn ngữ hình thức chƣơng trình dịch Trƣớc hết đề cập đến ngơn ngữ hình thức, cách ngắn gọn ngơn ngữ hình thức đƣợc coi môn khoa học mà đối tƣợng nghiên cứu ngơn ngữ cơng cụ nghiên cứu tốn học Nhờ tốn học, ngƣời ta gạt bỏ đặc trƣng riêng loại ngơn ngữ, trừu tƣợng hố, hình thức hố vấn đề chất ngôn ngữ để nghiên cứu chúng Chính lý mà ngơn ngữ hình thức cịn có tên gọi “Lý thuyết ngơn ngữ lập trình” Để minh hoạ cho cách tiếp cận nghiên cứu ngôn ngữ môn khoa học này, ta xét ví dụ sau: Xét câu tiếng Việt: “Tôi ăn cơm” Từ “tôi” , từ “ăn” , từ “cơm” , ta khái quát câu tiếng Việt gồm thành phần xếp dạng sau: Trong , thay cho viết ta viết ngắn gọn:  | Tƣơng tự nhƣ ta viết:  anh | tơi | nó| ơng | bà | em |…  cam | bánh | kẹo | xôi | báo | voi…   | đứng | học | làm | nhảy | viết | vẽ…  Theo nguyên tắc này, ngƣời ta tạo câu cách máy móc Ví dụ nhƣ: viết báo cáo, anh học bài, … Phạm Hùng Phú Chương Tổng quan Ngôn ngữ Automat 1.1.2 Bảng chữ (alphabet) Một bảng chữ hay chữ tập hợp hữu hạn, khác rỗng phần tử, ký hiệu  Các phần tử bảng chữ  đƣợc gọi chữ ký tự (character) hay ký hiệu (symbol) Ví dụ: - Tập hợp chữ La tinh a, b, c, …, A, B, …, Z  bảng chữ a, b, , A, chữ hay ký tự - Tập hợp bít nhị phân 0, 1 bảng chữ 0, ký hiệu hay ký tự - Tập hợp chữ Hy Lạp  = , , , …,  bảng chữ , , , …, , ký hiệu hay ký tự - Tập hợp chữ số thập phân 0, 1, …, 9 bảng chữ 1, …, chữ ký hiệu hay ký tự Để chữ ký tự hay ký hiệu thuộc hay không thuộc bảng chữ ta dùng ký hiệu   Ví dụ: ; 9 1.1.3 Xâu bảng chữ Xâu (string) hay từ (word) bảng chữ  dãy hữu hạn gồm số lớn hay không ký tự bảng chữ đó; Trong đó, ký tự xuất nhiều lần Ví dụ: - Aaab, bbbbb từ bảng chữ La Tinh - , 0, 1, 00101, 000011 từ bảng chữ  = 0, 1 Độ dài từ hay xâu w số ký tự tạo thành xâu w đƣợc ký hiệu |w| Chú ý: - Thuật ngữ xâu hay từ đồng nghĩa với xâu ký tự - Xâu rỗng xâu khơng có chữ nào, độ dài xâu rỗng không, xâu rỗng đƣợc ký hiệu  Phạm Hùng Phú Chương Tổng quan Ngôn ngữ Automat Xâu x  đƣợc gọi xâu xâu w x đƣợc tạo từ ký tự nằm liền kề xâu w Tiền tố xâu w xâu nằm đầu xâu w Hậu tố xâu w xâu nằm cuối xâu w Ví dụ: cho xâu w = abc x = de bảng chữ La tinh; - |w| = 3; |x| = - Các xâu a, b, c, ab, bc, abc xâu xâu w - Các xâu a, ab, abc tiền tố xâu w - Các xâu c, bc, abc hậu tố xâu w 1.1.4 Các phép toán xâu 1) Phép nhân ghép hai xâu Cho hai xâu x = x1x2…xn y = y1y2…ym bảng chữ , phép nhân ghép hai xâu x y phép cho ta xâu xy = x1x2…xny1y2…ym bảng chữ  Xâu xy đƣợc gọi xâu ghép hai xâu x y Nhƣ vậy, xâu ghép hai xâu xâu đƣợc tạo cách viết xâu thứ nhất, sau xâu thứ hai (khơng có khoảng trống giữa) Ví dụ: Xâu ghép hai xâu w = abc u = de bảng chữ La Tinh xâu wu = abcde w = w = w Ta ký hiệu: w0 = ; w1 = w; w2 = ww; , wi = wwi-1 với i > 2) Phép đảo ngược xâu: Cho xâu w = a1a2…an bảng chữ , phép đảo ngƣợc xâu w phép cho ta kết xâu bảng chữ , ký hiệu wR wR = anan-1…a2a1 Xâu wR đƣợc gọi xâu đảo ngƣợc xâu w Nhƣ vậy, xâu đảo ngƣợc xâu w xâu đƣợc tạo từ xâu w cách viết w theo thứ tự ngƣợc lại hiển nhiên εR = ε Phạm Hùng Phú Chương Ngơn ngữ quy Automat hữu hạn Giả thiết phân chuỗi z thành chuỗi u, v, w theo ràng buộc | uv | ≤ n | v | ≥ Mâu thuẫn phát sinh theo bổ đề bơm cách với u, v w xác i định theo giả thiết, có tồn số i mà uv w ∉ L Từ kết luận L khơng ngơn ngữ quy Chọn lựa giá trị cho i phụ thuộc vào n, u, v w Ta phát biểu cách hình thức nội dung bổ đề bơm nhƣ sau: ( L)( n)(z) cho z thuộc L | z | ≥ n; ta có: i  (u, v, w) cho z = uvw; | uv | ≤ n; | v | ≥ ( i)(uv w thuộc L) Ví dụ: Chứng minh tập hợp L = { 0i | i số nguyên, i ≥ 1} (L chứa tất xâu số có độ dài số phƣơng) tập khơng quy Chứng minh: Giả sử L tập quy tồn số n nhƣ bổ đề bơm Xét từ z = 0n Theo bổ đề bơm, từ z viết z = uvw với ≤ | v | ≤ n i uv w L, i ≥ Trƣờng hợp cụ thể, xét i = 2: ta phải có uv w  L 2 2 Mặt khác: n < | uv w | ≤ n + n < (n+1) 2 Do n (n+1) số phƣơng liên tiếp nên | uv w | khơng thể số phƣơng, uv w ∉ L Điều dẫn đến mâu thuẫn, giả thiết ban đầu sai Suy L khơng tập quy 2.3.5 Xác định ngơn ngữ quy Một vấn đề khác, cần thiết phải giải đáp nhiều câu hỏi liên quan đến ngơn ngữ quy, chẳng hạn nhƣ: Một ngôn ngữ cho trƣớc rỗng, hữu hạn hay vô hạn ? Ngơn ngữ quy có tƣơng đƣơng với ngôn ngữ khác không ? Để xác định điều này, trƣớc hết cần giả sử ngôn ngữ quy đƣợc biểu diễn automat hữu hạn Nhƣ biết, biểu thức quy dùng đặc tả cho tập hợp quy, cần cung cấp thêm chế dịch từ dạng biểu thức sang dạng automat hữu hạn Một số định lý sau xem tảng cho việc chuyển đổi 92 Phạm Hùng Phú Chương Ngơn ngữ quy Automat hữu hạn 1) Định lý Một ngơn ngữ quy đƣợc đốn nhận automat hữu hạn M có n trạng thái là: Khơng rỗng automat đốn nhận chuỗi có độ dài < n 2.Vơ hạn automat đốn nhận chuỗi có độ dài l với n ≤ l < 2n Chứng minh: Phần đảo hiển nhiên Ta chứng minh phần thuận: Giả sử M đốn nhận tập khơng rỗng Gọi w chuỗi ngắn đƣợc đoán nhận M Theo bổ đề bơm, ta có | w | < n w chuỗi ngắn | w | ≥ n ta viết w = uvy, uy chuỗi ngắn L hay | uy | < | w |  Mâu thuẫn Nếu w  L n ≤ | w | < 2n theo bổ đề bơm ta có i w = w w w w w w  L với i ≥ 0, suy L(M) vô hạn 3 Ngƣợc lại, L(M) vơ hạn tồn w  L(M) cho | w | ≥ n Nếu | w |< 2n xem nhƣ chứng minh xong Nếu khơng có chuỗi có độ dài nằm n 2n-1 gọi w chuỗi có độ dài 2n nhƣng ngắn chuỗi L(M), nghĩa | w | ≥ 2n Một lần nữa, theo bổ đề bơm, ta biểu diễn w = w w w , ≤ | w | ≤ n w w  L(M) Ta có w 3 chuỗi ngắn có độ dài ≥ 2n, n ≤ | w w | ≤ 2n-1  Mâu thuẫn Vậy có tồn chuỗi có độ dài l cho n ≤ l < 2n 2) Định lý Tồn giải thuật để xác định hai automat tƣơng đƣơng (đốn nhận ngơn ngữ) Chứng minh: Đặt M , M hai automat đoán nhận L , L 2 Ta có ( L ∩ L2 )  ( L1 ∩ L ) đƣợc đốn nhận automat M3 Dễ thấy M đoán nhận xâu L ≠ L Theo định lý trên, ta thấy có giải thuật để xác định xem liệu L = L hay không Phạm Hùng Phú 93 Câu hỏi tập chƣơng CÂU HỎI VÀ BÀI TẬP CHƢƠNG 2.1 Nêu định nghĩa automat hữu hạn; cho ví dụ 2.2 Nêu phƣơng pháp biểu diễn automat hữu hạn; cho ví dụ 2.3 - Nêu định nghĩa automat hữu hạn đơn định, cho ví dụ - Nêu ngơn ngữ đốn nhận automat hữu hạn đơn định; cho ví dụ - Nêu hàm chuyển trạng thái mở rộng automat hữu hạn đơn định ý nghĩa - Nêu giải thuật mô hoạt động automat hữu hạn đơn định để đoán nhận từ 2.4 - Nêu định nghĩa automat hữu hạn khơng đơn định, cho ví dụ - Nêu ngơn ngữ đốn nhận automat hữu hạn khơng đơn định; cho ví dụ - Nêu hàm chuyển trạng thái mở rộng automat hữu hạn không đơn định ý nghĩa - Nêu giải thuật mô hoạt động automat hữu hạn khơng đơn định để đốn nhận từ 2.5 Nêu định lý tƣơng đƣơng automat hữu hạn đơn định, automat hữu hạn không đơn định Phƣơng pháp xây dựng DFA tƣơng đƣơng với NFA cho trƣớc; cho ví dụ 2.6 - Nêu định nghĩa automat hữu hạn khơng đơn định có  -dịch chuyển, cho ví dụ - Nêu ngơn ngữ đốn nhận automat hữu hạn khơng đơn định có  -dịch chuyển; cho ví dụ - Nêu hàm -CLOSURE(q), cho ví dụ - Nêu hàm chuyển trạng thái mở rộng automat hữu hạn khơng đơn định có  -dịch chuyển ý nghĩa - Nêu giải thuật mơ hoạt động automat hữu hạn khơng đơn định có  -dịch chuyển để đoán nhận từ 2.7 - So sánh khác (q,  ) *(q,  ), cho ví dụ - So sánh khác (q, a ) *(q, a ), cho ví dụ 94 Phạm Hùng Phú Câu hỏi tập chƣơng 2.8 - So sánh DFA với NFA - So sánh NFA với NFA - Nêu tƣơng đƣơng NFA DFA 2.9 Nêu định lý tƣơng đƣơng NFA NFA Phƣơng pháp xây dựng NFA tƣơng đƣơng với NFA cho trƣớc; cho ví dụ 2.10 - Nêu định nghĩa biểu thức quy; cho ví dụ - Nêu tính chất biểu thức quy 2.11 Nêu định lý tƣơng đƣơng biểu thức quy NFA Xây dựng NFA đốn nhận ngơn ngữ đƣợc ký hiểu biểu thức quy 2.12 Nêu định lý tƣơng đƣơng ngơn ngữ đƣợc đốn nhận DFA ngôn ngữ đƣợc biểu diễn biểu thức quy Viết biểu thức quy biểu diễn cho ngơn ngữ đƣợc đốn nhận DFA 2.13 Nêu khái niệm văn phạm tuyến tính trái, tuyến tính phải; cho ví dụ Chỉ văn phạm tuyến tính trái, tuyến tính phải đƣợc biểu diễn biểu thức quy 2.14 Nêu định lý tƣơng đƣơng văn phạm quy FA Xây dựng FA biết văn phạm tuyến tính trái phải ngƣợc lại 2.15 Nêu tính chất ngơn ngữ quy 2.16 Cho Automat hữu hạn: M = đó: -q0 = A ; -  = a, b; - Q = A, B, C, D, E; - F = C, E; - : (A, a) = A; (A, b) = B; (B, a) = D; (B, b) = E;(C, a) = E; (C, b)= D; (D, a) = C; (D, b) = E; (E, a) = E 1) Biểu diễn M dƣới dạng: - Bảng; - Đồ thị Phạm Hùng Phú 95 Câu hỏi tập chƣơng 2) Automat M thuộc dạng nào, sao? 3) Tính: - (A, aaabbaaaa); - (B, aaaabbaa); 4) Sử dụng giải thuật kiểm tra từ sau có thuộc ngơn ngữ L(M) không?: - w = aabaaaaa; - w = aaaababbb 2.17 Cho Automat hữu hạn: M = đó: -q0 = ; -  = a, b, c; - Q = 0, 1, 2, 3, 4; - F = 3; - : (0, a) = 1; (0, b) = 1; (0, c) = 1; (1, a) = 1; (1, b) = 2; (2, a) = 3; (2, b) = ; (3, a) = ; (4, a) = 2; (4, b) = 4; (4, c) = 1) Hãy biểu diễn M dƣới dạng: - Bảng; - Đồ thị 2) Automat M thuộc dạng nào, sao? 3) Tính: - (1, aaabbaaaabc); - (0, cabaabba); 4) Sử dụng giải thuật kiểm tra từ sau có thuộc ngơn ngữ L(M) khơng?: - w = caabaaabca; - w = aaaabbbc 2.18 Cho Automat hữu hạn: M = đó: -q0 = A ; -  = a, b; - Q = A, B, C, D, E; - F = E; 96 Phạm Hùng Phú Câu hỏi tập chƣơng - : (A, a) = {A, B}; (A, b) = {B}; (B, a) = {D, E}; (B, b) ={C, E}; (C, a) = {D, E} ; (C, b) = {D}; (D, a) = {C}; (D, b) = {E}; (E, a) = {E} 1) Hãy biểu diễn M dƣới dạng: - Bảng; - Đồ thị 2) Automat M thuộc dạng nào, sao? 3) Tính: - (A, aaabbaaaa); - (C, abaabba); 4) Sử dụng giải thuật kiểm tra từ sau có thuộc ngơn ngữ L(M) khơng?: - w = aabaaaaa; - w = aaaababbb 2.19 Cho Automat hữu hạn: M = đó: -q0 = ; -  = a, b, c; - Q = 0, 1, 2, 3; - F = 3; - : (0, a) = {0,1}; (0, b) = {2}; (0, c) = {2}; (1, a) = {1, 2}; (1, b) = {1, 2, 3};(2, a) = {3}; (2, b) = {2, 3}; (2, c) = {3}; (3, a) = {3}; (3, b) = {2}; (3, c) = {3} 1) Hãy biểu diễn M dƣới dạng: - Bảng; - Đồ thị 2) Automat M thuộc dạng nào, sao? 3) Tính: - (1, aaabbaaaabc); - (0, cabaabba); 4) Sử dụng giải thuật kiểm tra từ sau có thuộc ngơn ngữ L(M) không?: - w = caabaaabca; Phạm Hùng Phú 97 Câu hỏi tập chƣơng - w = aaaabbbc 2.20 Cho Automat hữu hạn: M = đó: -q0 = A ; -  = a, b; - Q = A, B, C, D, E; - F = E; - : (A, a) = {A, B}; (A, b) = {B}; (A, ) = {B}; (B, a) = {D, E}; (B, b) ={C, E};(C, a) = {D, E} ; (C, b) = {D}; (D, b) = {D, E}; (E, a) = {E}; (E, ) = {A} 1) Hãy biểu diễn M dƣới dạng: - Bảng; - Đồ thị 2) Automat M thuộc dạng nào, sao? 3) Tính: - -CLOSURE(A), -CLOSURE(E); - (A, a) *(A, a); - (E, a) *(E, a); - *(E, aaabbaaaa) 4) Sử dụng giải thuật kiểm tra từ sau có thuộc ngơn ngữ L(M) khơng?: - w = aabaaaaa; - w = aaaababbb 2.21 Cho Automat hữu hạn: M = đó: -q0 = q0; -  = 0, 1; - Q = q0; q1; q2; q3; - F = q3; - : (q0,0) = {q0; q1}; ( q0, 1) = {q2}; (q0, ) = {q2}; 98 Phạm Hùng Phú Câu hỏi tập chƣơng (q1, 0) = {q2}; ( q1, 1) = {q1; q2; q3};(q2, 0) = {q2}; (q2, 1) = {q3} ; (q2, ) = {q3}; ( q3, ) = {q0} 1) Hãy biểu diễn M dƣới dạng: - Bảng; - Đồ thị 2) Automat M thuộc dạng nào, sao? 3) Tính: - -CLOSURE(q0), -CLOSURE(q3); - (q3, 0) *(q3, 0); - *( q3, 0101011) 4) Sử dụng giải thuật kiểm tra từ sau có thuộc ngôn ngữ L(M) không?: - w = 0001100; - w = 1110010 2.22 Cho Automat hữu hạn: M = đƣợc biểu diễn dƣới dạng bảng nhƣ sau: -q0 = q0; - F = q3; - : Q  q0 {q1; q2} {q1} q1 {q1; q2; q3} {q3} q2 {q1; q2} {q3} q3 {q1} {q2; q3} 1) Nêu đầy đủ thành phần M 2) Biểu diễn M dƣới dạng đồ thị 3) Automat M thuộc dạng nào, sao? 4) Sử dụng giải thuật kiểm tra từ sau có thuộc ngôn ngữ L(M) không?: Phạm Hùng Phú 99 Câu hỏi tập chƣơng - w = 0011111; - w = 0000010 2.23 Cho Automat hữu hạn: M = đƣợc biểu diễn dƣới dạng đồ thị nhƣ sau: a b Start a a b b a a b 1) Nêu đầy đủ thành phần M 2) Biểu diễn M dƣới dạng bảng 3) Automat M thuộc dạng nào, sao? 4) Sử dụng giải thuật kiểm tra từ sau có thuộc ngơn ngữ L(M) khơng?: - w = bbbbbbb; - w = bbbaaab 2.24 Cho Automat hữu hạn: M = đƣợc biểu diễn dƣới dạng bảng nhƣ sau: -q0 = q0; - F = q3; - : Q   {q1} {q2} q0 {q2; q3} q1 {q1; q2} q2 {q1; q2} {q2; q3} q3 {q1} {q2; q3} {q0} 1) Nêu đầy đủ thành phần M 2) Biểu diễn M dƣới dạng đồ thị 3) Automat M thuộc dạng nào, sao? 100 Phạm Hùng Phú Câu hỏi tập chƣơng 4) Sử dụng giải thuật kiểm tra từ sau có thuộc ngơn ngữ L(M) khơng?: - w = 0000000; - w = 11100111 2.25 Cho Automat hữu hạn: M = đƣợc biểu diễn dƣới dạng đồ thị nhƣ sau: a b  Start a a  b 1) Nêu đầy đủ thành phần M 2) Biểu diễn M dƣới dạng bảng 3) Automat M thuộc dạng nào, sao? 4) Sử dụng giải thuật kiểm tra từ sau có thuộc ngơn ngữ L(M) không?: - w = bbbbabb; - w = abababa 2.26 Cho Automat NFA M: Start q1 q2 q3 1) Chuyển M dạng DFA D tƣơng đƣơng 2) Biểu diễn D dƣới dạng đồ thị 2.27 Cho Automat NFA M: Start q1 q2 Phạm Hùng Phú q3 q4 101 Câu hỏi tập chƣơng 1) Chuyển M dạng DFA D tƣơng đƣơng 2) Biểu diễn D dƣới dạng bảng 2.28 Cho Automat NFA M  Start  q1 q2 q3 q4  1) Hãy chuyển NFA M dạng NFA M‟ tƣơng đƣơng biểu diễn M‟ dƣới dạng bảng 2) Hãy chuyển NFA M‟ dạng DFA D tƣơng đƣơng biểu diễn D dƣới dạng đồ thị 2.29 Cho Automat NFA M  Start q1 q2 q3  q4  1) Hãy chuyển NFA M dạng NFA M‟ tƣơng đƣơng biểu diễn M‟ dƣới dạng bảng 2) Hãy chuyển NFA M‟ dạng DFA D tƣơng đƣơng biểu diễn D dƣới dạng đồ thị 2.30 Cho Automat có sơ đồ chuyển trạng thái nhƣ sau: Start A  102 B Start A B C C a) b) Phạm Hùng Phú Câu hỏi tập chƣơng 1) Cho biết biểu thức quy tƣơng ứng với sơ đồ 2) Các Automat thuộc loại 3) Xây dựng DFA tƣơng ứng với sơ đồ 2.31 Cho Σ = {0, 1, 2, 3} Viết biểu thức quy ngôn ngữ Σ sau: 1) Tập hợp xâu: Mở đầu ký tự 0, ký tự 2, cuối dãy nhiều ký tự 2) Tập hợp xâu: Mở đầu dãy ký tự 3, dãy ký tự hoặc 3) Tập hợp xâu: Mở đầu dãy ký tự 1, kết thúc dãy ký tự 2.32 Cho biểu thức quy: a) 0(0 + 1)* 0+ * b) ((0+ 1) 0(0 + 1))+ c) (1+ 0)00 (0* + 1+) * d) (a + ba + aab) (ε + a)+ 1) Mô tả (bằng lời) ngôn ngữ đƣợc biểu diễn biểu thức 2) Xây dựng NFAε tƣơng đƣơng với biểu thức 2.33 Cho FA đƣợc biểu diễn dƣới dạng đồ thị nhƣ sau: 1) a b M1 Start a b b  a 2) b M2 a  Start a a b  b b Phạm Hùng Phú 103 Câu hỏi tập chƣơng a) Xác định thành phần FA b) Hãy biểu diễn FA dƣới dạng bảng c) Xây dựng văn phạm tuyến tính phải tƣơng đƣơng với FA d) Xây dựng văn phạm tuyến tính trái tƣơng đƣơng với FA e) Tìm biểu thức quy tƣơng đƣơng với FA 2.34 Cho NFA đƣợc biểu diễn dƣới dạng bảng nhƣ sau: a) - :   a b {0, 1} {1} {2} {2} {2, 3} {3} {3} a b  {1, 3} {1} {1} {2} {1, 2} {3} Q {0} - q0 = 0; - F = {3} b) - : Q  {3} - q0 = 0; - F = { 3} 1) Xây dựng văn phạm tuyến tính phải tƣơng đƣơng với FA 2) Xây dựng văn phạm tuyến tính trái tƣơng đƣơng với FA 3) Tìm biểu thức quy tƣơng đƣơng với NFA 104 Phạm Hùng Phú Câu hỏi tập chƣơng 2.35 Cho NFA đƣợc biểu diễn dƣới dạng đồ thị nhƣ sau: Start A  1 B C D   1) Xây dựng văn phạm tuyến tính phải tƣơng đƣơng với NFA 2) Xây dựng văn phạm tuyến tính trái tƣơng đƣơng với NFA 3) Tìm biểu thức quy tƣơng đƣơng với NFA 2.36 Cho biểu thức quy: a) (1 + 2) 3* b) (1+ + 3)+ c) (0 + 1)* + (23)+ 1) Xây dựng NFA đoán nhận ngôn ngữ đƣợc biểu diễn biểu thức 2) Xây dựng văn phạm quy cho ngôn ngữ đƣợc biểu diễn biểu thức 2.37 Cho văn phạm tuyến tính phải G: A → 0A| 0B| 1C | ε ; B → 0C| 1A ; C → 0B| 1C| | 1) Xác định thành phần G 2) Xây dựng automat hữu hạn M: L(G) = L(M) 3) Biểu diễn M dƣới dạng đồ thị 4) Viết biểu thức quy biểu diễn cho L(G) 2.38 Cho văn phạm quy G: S → aA | bB| aC | b| c; A → aA | b; B → aC | aA | a | b | ε; Phạm Hùng Phú 105 Câu hỏi tập chƣơng C → bC| bB | a | b 1) Xác định thành phần G 2) Xây dựng automat hữu hạn M: L(G) = L(M) 3) Biểu diễn M dƣới dạng bảng dƣới dạng đồ thị 4) Viết biểu thức quy biểu diễn cho L(G) 2.39 Cho văn phạm quy G: S → Aa | B| Ca | b| ; B → Cb | Aa | a | b; C → Cb| B | b 1) Xác định thành phần G 2) Xây dựng automat hữu hạn M: L(G) = L(M) 3) Biểu diễn M dƣới dạng đồ thị 4) Viết biểu thức quy biểu diễn cho L(G) 2.40 Cho văn phạm tuyến tính trái G: A → A0| B| C1 | ε ; B → C0| A1 ; C → B0| C1| | A 1) Xác định thành phần G 2) Xây dựng automat hữu hạn M: L(G) = L(M) 3) Biểu diễn M dƣới dạng đồ thị 4) Viết biểu thức quy biểu diễn cho L(G) n n 2.41 Chứng tỏ ngôn ngữ L = {0 | n số ngun dƣơng} khơng quy 2.42 Ngơn ngữ ngôn ngữ sau không ngôn ngữ quy? Chứng minh 2n a) L = {0 | n số nguyên dƣơng} n m b) L = {0 n+m | m, n số nguyên dƣơng} n c) L = {0 | n số nguyên tố} 106 Phạm Hùng Phú ... số ngôn ngữ bảng chữ T 1. 14 Cho bảng chữ T = {0 ,1} L1 L2 hai ngôn ngữ bảng chữ T; với: L1 = {0, 1} ; L2 = {, 0, 1, 00, 11 , 000, 0 01, 010 , 011 , 10 0} Hãy tính: 1) L1  L2 2) L1  L2 3) L1 - L2... diễn hữu hạn cho ngôn ngữ vô hạn sau: 1) L1 = {, ab, aabb, aaabbb, } 2) L2 = {, 0, 1, 00, 01, 000, 0 01, 011 , 11 1, 0000, 00 01, 0 011 , 00 01, 11 11, } 1. 17 Cho văn phạm sau đây: 1) G = (N, T, P, S)... Văn phạm 15 1. 2.3 Văn phạm tƣơng đƣơng 16 1. 3 Phân loại văn phạm ngôn ngữ 16 1. 3 .1 Văn phạm ngôn ngữ loại 16 1. 3.2 Văn phạm ngôn ngữ loại 17 1. 3.3

Ngày đăng: 08/06/2021, 14:22

TỪ KHÓA LIÊN QUAN