Bài tập ôn thi cuối học kỳ môn Lý thuyết ngôn ngữ hình thức và ôtômat đã tổng hợp lại toàn bộ kiến thức cơ bản đã học và một số bài tập để người học rèn luyện và vận dụng các kiến thức đã học vào thực tế. Mời các bạn cùng tham khảo.
Bài tập ơn tập thi cuối kì Mơn: Lý thuyết ngơn ngữ hình thức ơtơmat Ngơn ngữ hình thức văn phạm Phần bắt buộc ôn tập với tất sinh viên Ôn tập khái niệm liên quan tới ngơn ngữ văn phạm hình thức, ơtơmat Ơn lại kĩ xây dựng văn phạm sinh ngơn ngữ cho Ơn lại kĩ tìm ngơn ngữ biết văn phạm sinh ngơn ngữ Ngơn ngữ quy 2.1 Ơtơmat hữu hạn trạng thái Xây dựng otomat đơn định, hữu hạn trạng thái đốn nhận ngơn ngữ sau bảng chữ {0, 1}: (a) Tập xâu số chữ chia hết cho 3, số chữ chia hết cho (b) Tập xâu bắt đầu 1, đổi xâu nhị phân sang số nguyên số chia hết cho (c) Tập xâu số chữ chia hết cho 2, số chữ chia hết cho (d) Tập xâu bắt đầu 1, đổi xâu nhị phân sang số nguyên số chia hết cho Cho otomat đơn định, hữu hạn A = (S, Σ, {s0 }, δ, F ) chữ a ∈ Σ Giả sử ∀s ∈ S có δ(s, a) = s (a) Chứng minh quy nạp theo n ∀n ≥ 0, ta ln có giá trị ˆ an ) = s hàm chuyển mở rộng δ(s, (b) Chứng minh {a}∗ ⊆ L(A), {a}∗ ∩ L(A) = ∅ Xây dựng otomat không đơn định, hữu hạn trạng thái đốn nhận ngơn ngữ bảng chữ {0, 1, 2, · · · , 5} sau (tận dụng tối đa lợi việc xây dựng otomat không đơn định): (a) Tập xâu chữ số cuối xuất lần trước (b) Tập xâu chữ số cuối chưa xuất trước Thực thuật tốn đơn định hóa hai otomat 2.2 Biểu thức quy Cho biểu thức quy sau: (bc ∪ cb)(a∗ )bccb Vẽ đồ thị chuyển, viết dạng hình thức ơtơmat viết văn phạm quy tương đương với biểu thức quy Cho cú pháp biểu thức quy Unix sau: • Mỗi kí tự biểu diễn nó, trừ kí tự điều khiển (metacharacter) bao gồm kí tự sau: ?+-*.{}[]()\|ˆ $ • Để biểu diễn kí tự điều khiển, thêm dấu \ vào trước • [03a−c] ≡ {0, 3, a, b, c}, [ˆ 15] ≡ tập kí tự khác • biểu diễn kí tự bất kì, ˆ $ đánh dấu đầu cuối dịng • \< \> đánh dấu đầu cuối từ, \b đánh dấu biên từ, \B đánh dấu xâu rỗng không biên từ • Phép lặp: ?, *, +, {n}, {n, }, {n, m} • Phép lấy tích ghép, phép hợp | • \n biểu diễn xâu nằm cặp () thứ n trước Hãy viết biểu thức quy xây dựng otomat (nguồn) tương đương cho xâu có dạng sau: (a) Đoạn văn HTML nằm cặp mở đóng thẻ(b) Số thực dấu phẩy động (c) Địa Internet IPv4 (32 bits) biểu diễn chuỗi số hệ thập phân (d) Chú thích dịng chương trình Java: xâu nằm dịng sau kí hiệu // (e) Chú thích khối chương trình: xâu nằm /* */ 2.3 Bổ đề bơm Phát biểu chứng minh điều kiện cần ngơn ngữ quy (bổ đề bơm) Chứng minh ngôn ngữ sau khơng phải ngơn ngữ quy: (a) Tập biểu thức số học tập số tự nhiên với phép toán +, -, *, / cặp dấu ngoặc đơn (b) {0n 1m |n ≤ m} (c) {0n |n số phương} (d) {0n |n lũy thừa 2} 2.4 Định lí Myhill-Nerode Phát biểu chứng minh điều kiện cần đủ ngôn ngữ quy (định lí Myhill - Nerode) Xét tính quy ngơn ngữ sau dựa vào định lí Myhill-Nerode: (a) {0n 1m |0 ≤ n ≤ m} (b) {0n 1m |m, n ≥ 0} Ngôn ngữ phi ngữ cảnh 3.1 Tính nhập nhằng Chứng minh văn phạm phi ngữ cảnh với quy tắc sinh sau nhập nhằng (quy ước chữ in hoa kí hiệu phụ): S → aS | aSbS | Tìm văn phạm khơng nhập nhằng tương đương với văn phạm 3.2 Điều kiện cần ngôn ngữ phi ngữ cảnh Phát biểu chứng minh điều kiện cần ngôn ngữ phi ngữ cảnh (bổ đề bơm) Sử dụng định lí điều kiện cần ngôn ngữ phi ngữ cảnh, chứng minh ngôn ngữ sau ngôn ngữ phi ngữ cảnh: (a) L1 = {w ∈ {a, b, c}∗ : |w|a = |w|b = |w|c } (b) L2 = {0n 1n 0n 1n : n ≥ 0} i (c) L3 = {02 , i ≥ 1} 3.3 Ơtơmat đẩy xuống Xây dựng ơtơmat đẩy xuống đốn nhận ngơn ngữ sau cho ví dụ hoạt động ôtômat: L1 = {an b2n , n ≥ 1} L2 = {x˜ x, x ∈ {a, b}∗ } Bài tập lập trình 4.1 Thuật tốn tối tiểu hố ơtơmat Bài tập bắt buộc: Xây dựng chương trình thực tối tiểu hố ơtơmat hữu hạn đơn định cho (thuật toán minh hoạ tài liệu giảng) 4.2 Thuật toán phân tích cú pháp Sinh viên làm tập khơng cần ôn tập tập phần Xây dựng chương trình thực biến đổi văn phạm phi ngữ cảnh cho dạng chuẩn Chomsky Viết chương trình phân tích cú pháp sử dụng văn phạm phi ngữ cảnh dạng chuẩn Chomsky theo thuật toán CKY 4.3 Chương trình dịch Sinh viên làm tập không cần ôn tập tập phần Sử dụng công cụ Flex Bison (http://aquamentus.com/flex_bison html, http://www.capsl.udel.edu/courses/cpeg421/2012/slides/Tutorial-Flex_ Bison.pdf) xây dựng chương trình dịch cho phép dịch ngơn ngữ • Chương trình nguồn: Gồm dòng lệnh – Dòng 1: = – Dịng 2: phép toán +, -, * / • Kết chương trình: Kết biểu thức dòng ... Phát biểu chứng minh điều kiện cần ngôn ngữ phi ngữ cảnh (bổ đề bơm) Sử dụng định lí điều kiện cần ngôn ngữ phi ngữ cảnh, chứng minh ngôn ngữ sau ngôn ngữ phi ngữ cảnh: (a) L1 = {w ∈ {a, b, c}∗... minh điều kiện cần đủ ngôn ngữ quy (định lí Myhill - Nerode) Xét tính quy ngơn ngữ sau dựa vào định lí Myhill-Nerode: (a) {0n 1m |0 ≤ n ≤ m} (b) {0n 1m |m, n ≥ 0} Ngôn ngữ phi ngữ cảnh 3.1 Tính nhập... Bổ đề bơm Phát biểu chứng minh điều kiện cần ngơn ngữ quy (bổ đề bơm) Chứng minh ngôn ngữ sau khơng phải ngơn ngữ quy: (a) Tập biểu thức số học tập số tự nhiên với phép toán +, -, *, / cặp dấu