1. Trang chủ
  2. » Thể loại khác

ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN AUTOMAT VÀ NGÔN NGỮ HÌNH THỨC

24 4 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

HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN AUTOMAT VÀ NGƠN NGỮ HÌNH THỨC Thông tin giáo viên TT Họ tên giáo viên Hà Chí Trung Võ Minh Phổ Nguyễn Trung Tín Học hàm GVC GVC TG Học vị TS TS TS Đơn vị công tác (Bộ môn) Khoa học máy tính Khoa học máy tính Khoa học máy tính Thời gian, địa điểm làm việc: Giờ hành chính, Bộ mơn Khoa học máy tính – Tầng nhà A1 – Học viện Kỹ thuật Quân Địa liên hệ: Bộ mơn Khoa học máy tính – Khoa Cơng nghệ thông tin – Học viện Kỹ thuật Quân 236 Hoàng Quốc Việt Điện thoại, email: hct2009@yahoo.com; vominhpho@yahoo.com Các hướng nghiên cứu chính: Lý thuyết ngơn ngữ Thơng tin chung học phần Tên học phần: Automat ngơn ngữ hình thức Mã học phần: 1222315 Số tín chỉ: Học phần (bắt buộc hay lựa chọn): bắt buộc Các học phần tiên quyết: Toán rời rạc, Lập trình Các yêu cầu học phần (nếu có): Giờ tín hoạt động:  Nghe giảng lý thuyết: 30  Làm tập lớp: 15  Thảo luận:  Thực hành, thực tập (ở PTN, nhà máy, thực tập ):  Hoạt động theo nhóm:  Tự học: 60 - Khoa/Bộ mơn phụ trách học phần, địa chỉ: Bộ môn Khoa học máy tính – Khoa Cơng nghệ thơng tin – Học viện Kỹ thuật Quân 236 Hoàng Quốc Việt - Mục tiêu học phần - Kiến thức: Ngơn ngữ hình thức (Formal Languages) mơn học sở công nghệ thông tin người học Môn học trang bị cho người học kiến thức thuật tốn, ngơn ngữ thuật tốn, kỹ thuật xây dựng chương trình phương pháp tư liên quan đến khoa học máy tính - Kỹ năng: Kỹ vận dụng lý thuyết toán, toán rời rạc, lý thuyết ngơn ngữ vào việc phân tích, giải vấn đề Cung cấp khả suy luận, giải tốn lĩnh vực cơng nghệ thơng tin Các kỹ thuật xây dựng chương trình phương pháp tư liên quan đến khoa học máy tính - Thái độ, chuyên cần: Thái độ nghiêm túc nghe giảng, làm tập đầy đủ, vận dụng lý thuyết Tóm tắt nội dung học phần (khoảng 150 từ) Đây môn học bắt buộc học viên thuộc nhóm Cơng nghệ thơng tin Mơn học hướng tới trang bị cho học viên khái niệm định hướng Automat ngơn ngữ hình thức Chương nhắc lại số khái niệm toán rời rạc, tập hợp, ngơn biểu diễn thuật tốn Chương giới thiệu ngơn ngữ hình thức văn phạm, biểu diễn phân loại ngơn ngữ Chương trình bày automata hữu hạn dạng thức automata Chương giới thiệu lớp ngơn ngữ quy, mối quan hệ ngơn ngữ quy automat hữu hạn, ứng dụng giải vấn đề toán học Chương giới thiệu văn phạm phi ngữ cảnh Các dạng chuyển đổi văn phạm phi ngữ cảnh Chương Automata đẩy xuống mối liên hệ với văn phạm phi ngữ cảnh Chương Máy Turing lớp ngơn ngữ Ngồi ra, mơn học trang bị khả tư duy, suy luận định hướng nghiên cứu chương trình dịch, lý thuyết tính tốn Nội dung chi tiết học phần (tên chương, mục, tiểu mục) Chương, mục, tiểu mục Nội dung Số tiết Chương 1: Nhập môn lý thuyết automata ngơn ngữ hình thức Giáo trình, Tài liệu tham khảo (Ghi TT TL mục 6) Ghi 1,2 Giới thiệu môn học Bổ túc số khái niệm toán học liên quan (tập hợp, quan hệ, đồ thị cây) Chương 2: Văn phạm ngơn ngữ hình thức Ngơn ngữ khái niệm liên quan Các phép tốn chuỗi ngơn ngữ Văn phạm khái niệm liên quan 1,2,3 12 1, Phân loại văn phạm theo Chomsky Tính chất văn phạm ngơn ngữ Sơ lược automata Bài tập chương Chương 3: Automata hữu hạn ngơn ngữ hình thức Các khái niệm chung Automata hữu hạn đơn định Automata hữu hạn đa định Automata đa định với độ dịch chuyển ε Sự tương đương automata đơn định với automata đa định Biểu thức quy Sự tương đương biểu thức quy automata hữu hạn Bài tập chương Chương 4: Văn phạm quy tính chất Khái niệm văn phạm quy Sự tương đương văn phạm quy automata hữu hạn Bổ đề bơm cho tập hợp quy Tính đóng tập hợp quy Bài tập chương Chương 5: Văn phạm phi ngữ cảnh Văn phạm phi ngữ cảnh 1,2,3 1, Sự nhâp nhằng văn phạm phi ngữ cảnh Rút gọn văn phạm phi ngữ cảnh Chuẩn hóa văn phạm phi ngữ cảnh Tính chất văn phạm phi ngữ cảnh Bài tập chương Chương 6: Pushdown automata (automata đẩy xuống) Khái niệm automata đẩy xuống Biến đổi automata chấp nhận ngôn ngữ trạng thái kết thúc với automata chấp nhận ngôn ngữ stack rỗng Sự tương đương automata đẩy xuống văn phạm phi ngữ cảnh Quan hệ ngôn ngữ phi ngữ cảnh tập hợp quy Bài tập chương Chương 7: Máy Turing, automata tuyến tính giới nội văn phạm cảm ngữ cảnh Khái niệm, mơ hình máy Turing Các kỹ thuật xây dựng máy Turing Văn phạm đệ quy đếm máy Turing Văn phạm cảm ngữ cảnh automata tuyến tính giới nội Các vấn đề toán học liên quan Bài tập chương 1, 1, Giáo trình, tài liệu tham khảo TT Tên giáo trình, tài liệu Giáo trình (Giáo trình bắt buộc ghi theo thứ tự ưu tiên: tên sách, tên tác giả, nhà xuất bản, năm xuất bản, ) Tình trạng giáo trình, tài liệu Đề Giáo Đề Có thư nghị viên nghị viện biên mua (website) soạn khoa có mới Introduction to Automata Theory, Languages, and Computation (2nd Edition) - John E Hopcropft, Rareev Motwani, Jeffrey D Ullman Addison-Wesley.-2001 Giáo trình lý thuyết ơtơmát ngơn ngữ hình thức – Hồ Văn Quân – Nhà xuất Đại học quốc gia Tp Hồ Chí Minh – 2002 Problem Solving in Automata, Languages, and Complexity DingZhu Du and Ker-I Ko JOHN WILEY & SONS, INC 2001 x x x Hình thức tổ chức dạy học 7.1 Lịch trình chung: (Ghi tổng số cho cột) Hình thức tổ chức dạy học học phần Lên lớp Thực hành, Nội dung Lý Bài Thảo thí nghiệm, thực tập thuyết tập luận Chương 1: Nhập môn lý thuyết automata ngơn ngữ hình thức Chương 2: Văn phạm 3 ngơn ngữ hình thức Chương 3: Automata hữu hạn ngơn ngữ hình thức Chương 4: Văn phạm quy tính chất 3 Khái niệm văn phạm quy Chương 5: Văn phạm phi ngữ cảnh Chương 6: Pushdown 3 Tự học, tự ng.cứu Tổng 12 18 30 12 12 18 12 automata (automata đẩy xuống) Chương 7: Máy Turing, automata tuyến tính giới nội văn phạm cảm ngữ cảnh 12 7.2 Lịch trình tổ chức dạy học cụ thể Bài giảng 01: Nhập môn Automata ngôn ngữ hình thức Chương I, mục: Tiết thứ: 1-3 Tuần thứ: - Mục đích yêu cầu Mục đích: Trang bị hiểu biết chung môn học; Khái quát lại số khái niệm, sở toán học làm sở học tập môn học: Kiến thức tập hợp, phép toán tập hợp, lý thuyết đồ thị Yêu cầu: sinh viên phải hệ thống lại kiến thức sở toán rời rạc, kiến thức lập trình, tự nghiên cứu ơn tập lại vấn đề lý thuyết khác có liên quan đến mơn học - Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu - Thời gian: Giáo viên giảng: tiết; Thảo luận làm tập lớp: tiết; Sinh viên tự học: tiết - Địa điểm: Giảng đường P2 phân cơng - Nội dung chính: 1.1 Giới thiệu môn học lý thuyết NNHT automata hữu hạn 1.2 Bổ túc số khái niệm toán học 1.2.1 Tập hợp Tập hợp, tập rỗng tập con, tập tổng quát, tập nhau, tập lũy thừa Các phép toán tập hợp: phép hợp, phép giao, phần bù, phép trừ, tích đềcác hai tập hợp 1.2.2 Quan hệ: Quan hệ n-ngơi, quan hệ hai ngơi, tính chất: phản xạ, đối xứng, bắc cầu quan hệ Quan hệ tương đương 1.2.3 Phép chứng minh: Các phương pháp chứng minh: chứng minh trực tiếp, chứng minh lựa chọn, chứng minh phản chứng, chứng minh quy nạp 1.2.4 Đồ thị cây: Khái niệm đồ thị: đỉnh, cạnh, khuyên, nhãn, biểu diễn đồ thị; Các dạng đồ thị, thuật toán duyệt đồ thị Cây: đỉnh, nút trong, nút lá, thuật toán duyệt cây: duyệt thứ tự trước, duyệt thứ tự sau, duyệt thứ tự - Nội dung thảo luận Chứng minh tập nêu giảng, áp dụng giải thuật duyệt khác đồ thị - Yêu cầu SV chuẩn bị: Ôn tập lại kiến thức lý thuyết liên quan đến tập hợp, đồ thị, Các thuật toán duyệt đồ thị duyệt Đọc trước giảng giảng viên (TL1), chương TL - Tài liệu tham khảo Bài giảng giảng viên John E Hopcropft, Rareev Motwani, Jeffrey D Ullman Introduction to Automata Theory, Languages, and Computation (2nd Edition) Addison-Wesley.-2001 - Câu hỏi ôn tập Thế chu trình Euler, chu trình Hamilton đồ thị? Khái niệm đồ thị liên thông, thành phần liên thông không liên thông đồ thị? Giải thuật xác định thành phần liên thông, không liên thông? Khái niệm cây, anh chị biết dạng cấu trúc nào? - Ghi chú: Các môn học tiên : toán rời rạc, cấu trúc liệu giải thuật, lập trình Bài giảng 02: Văn phạm ngơn ngữ hình thức Chương 2, mục: Tiết thứ: 1-3 Tuần thứ: - Mục đích yêu cầu Mục đích: Trang bị khái niệm môn học: ngôn ngữ, biểu diễn ngôn ngữ, văn phạm đưa văn phạm Yêu cầu: Sinh viên hiểu nắm vững khái niệm, làm sở cho việc nắm nội dung học - Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu - Thời gian: Giáo viên giảng: tiết; Thảo luận làm tập lớp: tiết; Sinh viên tự học: tiết - Địa điểm: Giảng đường P2 phân công - Nội dung 2.1 Ngơn ngữ 2.1.1 Các khái niệm 2.1.2 Các phép toán từ Phép nối kết (concatenation), phép đảo ngược (reverse), phép cắt trái, phép cắt phải chuỗi x cho chuỗi y 2.1.3 Các phép tốn ngơn ngữ Vì ngơn ngữ xem tập hợp nên ta có phép toán đại số tập hợp phép hợp, phép giao, phép hiệu, phép lấy bù, tập con,… ngơn ngữ Một số phép tốn khác: nối kết, Ngơn ngữ lặp (bao đóng kleene, *closure), Ngơn ngữ lặp cắt (bao đóng dương – positive closure), ngơn ngữ ngược, Ngôn ngữ cắt trái ngôn ngữ X cho ngôn ngữ Y, Ngôn ngữ cắt phải ngôn ngữ X cho ngôn ngữ Y 2.2 Văn phạm 2.2.1 Văn phạm khái niệm liên quan 2.2.2 Phân loại văn phạm theo Chomsky 2.2.3 Tính chất văn phạm ngôn ngữ - Nội dung thảo luận Các ví dụ văn phạm, mối liên hệ thành phần văn phạm thơng qua ví dụ biểu diễn ngôn ngữ tự nhiên (tiếng việt), ngôn ngữ lập trình (C, PASCAL…), phân biệt dạng ngơn ngữ dựa đặc điểm văn phạm - Yêu cầu SV chuẩn bị: Chứng minh định lý sau giảng; Viết chương trình mơ thao tác làm việc với chuỗi Giải tập chương giáo viên cung cấp Đọc trước tài liệu chương TL2 - Tài liệu tham khảo Bài giảng số giảng viên John E Hopcropft, Rareev Motwani, Jeffrey D Ullman Introduction to Automata Theory, Languages, and Computation (2nd Edition) Addison-Wesley.-2001 - Câu hỏi ôn tập Khái niệm ngôn ngữ, từ (chuỗi, xâu), số phép toán từ ngơn ngữ Các hình thức biểu diễn ngơn ngữ Cho ví dụ minh họa tương ứng Định nghĩa văn phạm, dẫn xuất ngôn ngữ sinh văn phạm Cho ví dụ minh họa Phân loại văn phạm theo Chomsky, khác biệt loại văn phạm Cho ví dụ minh họa tương ứng - Ghi chú: Các khái niệm nêu sử dụng suốt q trình học tập mơn học, sinh viên cần nắm vững khái niệm Bài giảng 03 Ngôn ngữ automata hữu hạn Chương 3, mục: Tiết thứ: 1-3 Tuần thứ: 3, 4, - Mục đích yêu cầu Mục đích: Trang bị cho sinh viên khái niệm automata hữu hạn (Finite Automatons); Phân biệt dạng automata hữu hạn; Các thuật toán automata hữu hạn, phép biến đổi tương đương loại FA; Biểu thức qui (RE) tương đương với FA; Yêu cầu: Sinh viên nắm vững khái niệm, thuật toán biến đổi làm dạng tập chương - Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu - Thời gian: Giáo viên giảng: tiết; Thảo luận làm tập lớp: tiết; Sinh viên tự học: 18 tiết - Địa điểm: Giảng đường P2 phân công - Nội dung chính: 3.1 Các khái niệm sơ lược 3.2 Automata hữu hạn đơn định (DFA) 3.3 Automata hữu hạn đa định (NFA) 3.4 Automata với dịch chuyển ε (NFAε) Khái niệm bước chuyển ε, NFAε automata có bước chuyển ε Các ví dụ minh họa NFAε: NFAε đoán nhận tập hợp số nguyên, NFAε đốn nhận tập hợp số thực Mơ q trình đốn nhận chuỗi thuật tốn đốn nhận chuỗi NFAε chương trình JFLAP, ngơn ngữ đốn nhận NFAε NFAε phương tiện để thiết kế giải thuật tổng quát 3.5 Sự tương đương DFA NFA 3.7 Biểu thức quy 3.7.1 khái niệm biểu thức quy 3.7.2 Sự tương đương FA RE 3.7.3 Sự tương đương DFA RE - Nội dung thảo luận Sinh viên thiết kế, xây dựng automata đoán nhận tập hợp: số chia hết cho 2, 5, 10,… cho số n Chứng minh tập hữu hạn phần tử với độ dài hữu hạn tập hợp quy - Yêu cầu SV chuẩn bị: Sinh viên tự tìm hiểu sử dụng thành thạo chương trình mô JFLAP giáo viên cung cấp 10 Đọc tìm hiểu thuật tốn xây dựng automata hợp, giao, tối giản automata cho trước, Tìm hiểu thuật toán xây dựng DFA trực tiếp từ biểu thức quy, chương 3, TL2 - Bài tập (practices and exercises) Xây dựng chương trình mơ hoạt động automata đơn định, đa định, Giải tập chương 3, TL2 - Tài liệu tham khảo (reading assignments) Bài giảng giảng viên John E Hopcropft, Rareev Motwani, Jeffrey D Ullman Introduction to Automata Theory, Languages, and Computation (2nd Edition) Addison-Wesley.-2001 Chương - Câu hỏi ơn tập (Questions) Trình bày khái niệm automat hữu hạn Phân biệt dạng automata hữu hạn Ngơn ngữ đốn nhận automata hữu hạn Ví dụ minh họa Khái niệm automata Mealy, automata Moore, phân biệt chúng với automata hữu hạn Lấy ví dụ minh họa Trình bày phương pháp biểu diễn automata hữu hạn Ví dụ minh họa Trình bày thuật tốn đốn nhận chuỗi automata hữu hạn cho trước Ví dụ minh họa Trình bày phương pháp biến đổi từ automata không đơn định automata đơn định (đưa NFA DFA) Trình bày phương pháp biến đổi từ automata không đơn định có dịch chuyển-ε automata khơng đơn định khơng có dịch chuyển-ε (đưa NFAε NFA) Dẫn ví dụ minh họa Trình bày phương pháp biến đổi từ automata khơng đơn định có dịch chuyển-ε automata đơn định (đưa NFAε DFA) Dẫn ví dụ minh họa Định nghĩa biểu thức quy Thuật tốn để xây dựng automata từ biểu thức quy gọi thuật tốn Thomson, trình bày thuật tốn Thomson Định nghĩa biểu thức quy, trình bày thuật tốn xây dựng biểu thức quy từ automata hữu hạn cho trước 11 - Ghi (Notes): Kiến thức automata hữu hạn tảng để xây dựng chương trình nhận dạng (Recognizer) Ứng dụng giai đoạn phân tích từ vựng, phân tích cú pháp chương trình dịch Bài giảng 04: Văn phạm quy automata hữu hạn Chương 4, mục: Tiết thứ: 1-3 Tuần thứ: 6, - Mục đích yêu cầu Mục đích: Nhằm giúp cho sinh viên hiểu lớp ngơn ngữ loại văn phạm quy; Các tính chất văn phạm tính quy; Hiểu nắm mối liên hệ lớp ngôn ngữ loại với văn phạm quy automata hữu hạn Nắm thuật toán biến đổi tương đương RG FA Yêu cầu: Sinh viên nắm vững khái niệm văn phạm quy, thuật tóan biến đổi tương đương RG FA; Về nhà, cụ thể hóa thuật tốn chương trình - Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu - Thời gian: Giáo viên giảng: tiết; Thảo luận làm tập lớp: tiết; Sinh viên tự học: 12 tiết - Địa điểm: Giảng đường P2 phân cơng - Nội dung 4.1 Văn phạm quy 4.2 Sự tương đương RG FA Định lý 4.1: Tập rỗng, tập tổng quát, tập hữu hạn chuỗi xây bảng chữ hữu hạn tập hợp quy Chứng minh: Cách 1: Dựa khái niệm biểu thức quy học trước Cách 2: Giải thuật xây dựng FA cho tập hữu hạn Định lý 4.2: Nếu L sinh từ văn phạm quy L tập hợp quy Ý nghĩa: vậy, RG biểu diễn FA Chứng minh: giải thuật xây dựng FA tương đương 4.2.1 Giải thuật biến đổi từ RG sang FA 4.2.2 Giải thuật biến đổi từ FA sang RG 12 Định lý 4.3: Nếu L tập hợp quy L sinh từ RG (văn phạm tuyến tính trái tuyến tính phải) 4.3 Bổ đề bơm (pumping lemma) cho RS Pumping lemma: L RS có tồn số n cho z từ thuộc L |z| ≥ n ta viết z dạng: ta có uvi Cách khác: (∀L)(∃n)(∀z)[ z thuộc L | z | ≥ n ta có (∃u, v, w)(z = uvw, |uv| ≤ n, |v| ≥ (∀i)(uviw L))] Ứng dụng bổ đề bơm: dùng để chứng tỏ tập hợp không RS theo phương pháp phản chứng 4.4 Tính đóng tập hợp quy Một phép tốn tập RS gọi đóng kết phép tốn tập hợp loại Định lý 4.4: tập hợp quy đóng với phép tốn: hợp, nối kết bao đóng Kleen (bao đóng sao) Định lý 4.5: tập hợp quy đóng với phép lấy phần bù Định lý 4.6: tập hợp quy đóng với phép giao Định lý 4.7: tập hợp chuỗi chấp nhận FA có n trạng thái là: khơng rỗng chấp nhận chuỗi có độ dài nhỏ n, vơ hạn chấp nhận chuỗi có độ dài m với n ≤ m< 2n Định lý 4.8: Tồn giải thuật để xác định hai FA tương đương (chấp nhận ngôn ngữ) - Nội dung thảo luận Chứng minh tập tất số ngun tố khơng phải tập quy - u cầu sinh viên chuẩn bị: Chứng minh định lý nêu phần tính chất tập hợp quy Xem trước slide giảng Chương tài liệu - Bài tập (practices and exercises) Viết chương trình mô thực việc biến đổi từ văn phạm quy sang automata hữu hạn ngược lại - Tài liệu tham khảo (reading assignments) Bài giảng giảng viên 13 John E Hopcropft, Rareev Motwani, Jeffrey D Ullman Introduction to Automata Theory, Languages, and Computation (2nd Edition) Addison-Wesley.-2001 Chương - Câu hỏi ôn tập (Questions) Khái niệm văn phạm quy Trình bày thuật toán xây dựng automata hữu hạn từ văn phạm chính quy tuyến tính phải Khái niệm văn phạm quy Trình bày thuật toán xây dựng automata hữu hạn từ văn phạm chính quy tuyến tính trái Khái niệm văn phạm quy Trình bày thuật tốn xây dựng văn phạm chính quy tuyến tính phải từ automata hữu hạn cho trước Ví dụ minh họa Khái niệm văn phạm quy Trình bày thuật tốn xây dựng văn phạm chính quy tuyến tính trái từ automata hữu hạn cho trước Ví dụ minh họa Phát biểu bổ đề bơm (pumping lemma) cho tập hợp quy, giải thích, ý nghĩa bổ đề bơm Lấy ví dụ minh họa Những phép tốn đóng với tập hợp quy? Lấy ví dụ minh họa Cho L ngơn ngữ quy Anh chị xác định LR, Pref(L), Suf(L), hay Suf(pref(L)) có phải ngơn ngữ quy khơng? Ơn tập kiểm tra học phần Chương 1, 2, 3, 4, mục: Tiết thứ: 1-3 Tuần thứ: - Mục đích yêu cầu Mục đích: Hệ thống lại kiến thức về ngơn ngữ quy automata hữu hạn Kiểm tra đánh chất lượng nắm kiến thức sinh viên, giao tập môn học Yêu cầu: Sinh viên nắm vững kiến thức trang bị chương 1, 2, 3, - Hình thức tổ chức dạy học: thảo luận, tự học, tự nghiên cứu - Thời gian: Thảo luận làm tập lớp: tiết; Sinh viên tự học: tiết - Địa điểm: Giảng đường P2 phân công 14 - Nội dung chính: Rà sốt lại nội dung học phần ngơn ngữ quy automata hữu hạn Làm test đánh giá - Yêu cầu SV chuẩn bị Hệ thống lại giảng số 2, 3, Đọc làm tập chương 2, 3, TL1 - Tài liệu tham khảo (reading assignments) Introduction to Automata Theory, Languages, and Computation (2nd Edition) - John E Hopcropft, Rareev Motwani, Jeffrey D Ullman AddisonWesley.-2001 Chương 2, 3, Bài giảng 05: Văn phạm phi ngữ cảnh Chương I, mục: Tiết thứ: 1-3 Tuần thứ: 9, 10 - Mục đích yêu cầu Mục đích: Trang bị khái niệm văn phạm phi ngữ cảnh ngôn ngữ phi ngữ cảnh Giúp sinh viên hiểu cách thức xây dựng biểu diễn ngơn ngữ lập trình Sự nhập nhằng văn phạm phi ngữ cảnh; Rút gọn chuẩn văn phạm phi ngữ cảnh; Các tính chất văn phạm phi ngữ cảnh Yêu cầu: Sinh viên nắm vững khái niệm thuật toán biến đổi liên quan tới CFG ngôn ngữ loại Về nhà, cụ thể hóa thuật tốn chương trình - Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu - Thời gian: Giáo viên giảng: tiết; Thảo luận làm tập lớp: tiết; Sinh viên tự học: 12 tiết - Địa điểm: Giảng đường P2 phân công - Nội dung chính: 5.1 Khái niệm văn phạm phi ngữ cảnh 5.2 Dẫn xuất, dẫn xuất CFG CFL 5.3 Sự nhập nhằng CFG 5.4 Rút gọn văn phạm phi ngữ cảnh 15 Trong CFG chứa yếu tố thừa: Các ký hiệu không tham gia vào trình dẫn xuất chuỗi ký hiệu kết thúc; Khái niệm văn phạm rút gọn: giữ khả sản sinh ngơn ngữ mà khơng chứa yếu tố vơ ích khơng sinh chuỗi, làm phức tạp hay kéo dài dẫn xuất sinh chuỗi Mọi x ∈ (Σ ∪ Δ), tồn chuỗi w sử dụng dẫn xuất; ∈ Δ) Nếu ngôn ngữ không chấp nhận chuỗi rỗng ε ε 5.4.1 Loại bỏ ký hiệu thừa 5.4.2 Loại bỏ luật sinh ε 5.4.3 Loại bỏ luật sinh đơn vị 5.5 Chuẩn hóa văn phạm phi ngữ cảnh 5.5.1 Dạng chuẩn Chomsky Dạng chuẩn Chomsky (CNF): Văn phạm CFG G(Σ, Δ, S, P) có dạng chuẩn Chomsky tất luật sinh có dạng A → BC A → a (nếu ε ∉ L, ngược lại cần luật sinh S → ε) Giải thuật đưa dạng chuẩn Chomsky: giả sử CFL L=L(G) với CFG G=(Σ, Δ, S, P) Bước 1: thay tất luật sinh có độ dài vế phải Áp dụng định lý 5.4 để loại bỏ luật sinh đơn vị ε Bước 2: thay tất luật sinh có độ dài vế phải lớn có chứa ký hiệu kết thúc: Bước 3: thay luật sinh mà vế phải có nhiều ký hiệu chưa kết thúc 5.5.2 Dạng chuẩn Greibach Dạng chuẩn Greibach (GNF): Văn phạm CFG G(Σ, Δ, S, P) có dạng chuẩn Greibach luật sinh có dạng A → aα (α chuỗi ký hiệu phụ ε ε ∉ L; ngược lại thêm vào luật sinh S → ε) 5.6 Các tính chất văn phạm phi ngữ cảnh Pumping lemma: cho L CFL bất kỳ, tồn số n phụ thuộc vào i wxi Ý nghĩa: dùng để chứng minh ngơn ngữ có phải CFL hay khơng 16 Định lý 5.7: CFL đóng với phép hợp, phép kết nối phép bao đóng Kleen Định lý 5.8: CFL khơng đóng với phép giao Hệ quả: CFL khơng đóng với phép lấy phần bù - u cầu SV chuẩn bị: Đọc trước slides giảng Chương TL2 Làm tập chương TL2 - Tài liệu tham khảo (reading assignments) Bài giảng John E Hopcropft, Rareev Motwani, Jeffrey D Ullman Introduction to Automata Theory, Languages, and Computation (2nd Edition) Addison-Wesley.-2001 Chương - Câu hỏi ôn tập (Questions) khái niệm dẫn xuất dẫn xuất, nhập nhằng văn phạm Ví dụ minh họa Những phép tốn đóng với văn phạm phi ngữ cảnh? Ví dụ minh họa Phát biểu bổ đề bơm (pumping lemma) cho tập hợp (ngôn ngữ) phi ngữ cảnh Ví dụ minh họa Định nghĩa pushdown automata, giải thích thành phần Cho ví dụ minh họa Phân biệt PDA đơn định PDA không đơn định Bài giảng 06: Automata đẩy xuống (pushdown automata) Chương 6, mục: Tiết thứ: 1-3 Tuần thứ: 11, 12 - Mục đích yêu cầu Mục đích: Thiết kế PDA chấp nhận CFL stack rỗng trạng thái kết thúc; Biến đổi tương đương PDA chấp nhận ngôn ngữ trạng thái kết thúc sang PDA chấp nhận stack rỗng Biến đổi tương đương NPDA CFG u cầu: Sinh viên cụ thể hóa thuật tốn chương trình - Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu 17 - Thời gian: Giáo viên giảng: tiết; Thảo luận làm tập lớp: tiết; Sinh viên tự học: 12 tiết - Địa điểm: Giảng đường P2 phân cơng - Nội dung chính: 6.1 Khái niệm Pushdown Automata (PDA) 6.1.1 PDA khái niệm liên quan  PDA FA với bổ sung thêm ngăn xếp (stack) đóng vai trị nhớ, khả ghi nhớ FA tăng lên, dẫn đến PDA có khả đốn nhận lớp ngôn ngữ rộng RL (RG, RE);  Stack hoạt động theo nguyên lý FILO (LIFO), FA sử dụng nhớ có tên gọi Pushdown automata;  Tại thời điểm, PDA điều khiển đồng thời dòng liệu nhập vào (băng nhập- tape) nhớ - đẩy xuống (stack) Khi đọc tín hiệu vào, PDA chuyển sang trạng thái mới, thêm, xóa liệu từ stack, đồng thời hai;  Lớp PDA có khả đốn nhận lớp CFL, bao gồm ngơn ngữ lập trình đại; Có dạng chuyển trạng thái (transitions): Dạng 1: phụ thuộc vào ký hiệu nhập Tại trạng thái, với ký hiệu đọc vào đỉnh stack, PDA lựa chọn trạng thái chuỗi ký hiệu thay stack, đầu đọc dịch sang phải ký hiệu; Dạng 2: không phụ thuộc vào ký hiệu nhập (dịch chuyển ε) Đầu đọc đứng im Ngăn xếp biến đổi Có cách định nghĩa ngơn ngữ chấp nhận PDA: Ngôn ngữ chấp nhận stack rỗng: Gồm chuỗi nhập mà sau bước chuyển cuối stack trở trạng thái rỗng; Ngôn ngữ chấp nhận trạng thái kết thúc: Gồm chuỗi nhập mà sau bước chuyển cuối rơi vào trạng thái kết thúc; 6.1.2 PDA không đơn định (NPDA) 6.1.3 PDA đơn định (DPDA) 6.2 Sự tương đương dạng PDA 6.2.1 Biến đổi tương đương từ dạng sang dạng 18 Định lý 6.1: Nếu CFL L chấp nhận PDA chấp nhận chuỗi trạng thái kết thúc A2 L chấp nhận PDA chấp nhận chuỗi Stack rỗng A1 6.2.2 Biến đổi tương đương từ dạng sang dạng Định lý 6.2: Nếu CFL L chấp nhận PDA chấp nhận chuỗi stack rỗng L chấp nhận PDA chấp nhận chuỗi trạng thái kết thúc 6.3 Sự tương đương PDA CFG 6.3.1 Biến đổi tương đương từ CFG sang PDA Định lý 6.3: Nếu L ngơn ngữ phi ngữ cảnh tồn PDA chấp nhận chuỗi với stack rỗng A cho L = N(A) 6.3.2 Biến đổi tương đương từ PDA sang CFG Định lý 6.4: Nếu L chấp nhận PDA chấp nhận chuỗi stack rỗng L CFL - Yêu cầu SV chuẩn bị Đọc trước giảng số 06 Đọc trước chương TL - Bài tập (practices and exercises) Bài tập: Thiết kế PDA cho CFL sau: {ambn   m < n} {ambn   n < m} {ambncndm | m  0, n  0} {ambmcndn | m  0, n  0} {ambncpdq | m + n = p + q} {ambnck | m = n or m = k} {anbmc2n | m  0, n  0} - Tài liệu tham khảo (reading assignments) Introduction to Automata Theory, Languages, and Computation (2nd Edition) - John E Hopcropft, Rareev Motwani, Jeffrey D Ullman Addison-Wesley.2001 Chương - Câu hỏi ôn tập (Questions) 19 Định nghĩa pushdown automata, giải thích thành phần Cho ví dụ minh họa Phân biệt PDA đơn định PDA không đơn định Bài giảng 07: Máy Turing Chương 7, mục: Tiết thứ: 1-3 Tuần thứ: 13, 14 - Mục đích yêu cầu Mục đích: Thiết kế PDA chấp nhận CFL stack rỗng trạng thái kết thúc; Biến đổi tương đương PDA chấp nhận ngôn ngữ trạng thái kết thúc sang PDA chấp nhận stack rỗng Biến đổi tương đương NPDA CFG Yêu cầu: Sinh viên cụ thể hóa thuật tốn chương trình - Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu - Thời gian: Giáo viên giảng: tiết; Thảo luận làm tập lớp: tiết; Sinh viên tự học: 12 tiết - Địa điểm: Giảng đường P2 phân công - Nội dung chính: 7.1 Máy hữu hạn trạng thái có đầu Một hạn chế FA có khả đốn nhận từ hay chấp nhận ngôn ngữ (acceptors and recognizers) , với chuỗi nhập vào có tín hiệu dạng true (đạt đến trạng thái kết thúc) false (không thể xử lý không rơi vào trạng thái kết thúc); Trong toán thực tế, rõ ràng qua bước tính tốn, FA đưa xử lý tương ứng (các OUPUT) Như vậy, hồn tồn mở rộng FA để giải lớp toán rộng (FA có đầu – transducers): Mealy machine (Developed by G.H Mealy in 1955) Moore machine (Developed by E.F Moore in 1956) 7.2 Khái niệm máy Turing A Turing vào năm 1936 đề xuất máy có khả biểu diễn thuật toán: 20 Thực chất TM automata, phân rã họat động q trình tính tốn thành thao tác đơn giản; TM sử dụng nhớ ngồi vơ hạn, đầu đọc dịch chuyển theo chiều bất kỳ, đọc sửa đồi giá trị ghi nhớ TM có khả đốn nhận lớp ngơn ngữ đệ quy đếm (ngôn ngữ loại – recursively enumerable) TM khơng đơn định có nhớ giới hạn gọi automata tuyến tính giới nội (Linear Baunded Automata -LBA), LBA có khả đốn nhận CSL (ngôn ngữ loại 1) 7.3 Kỹ thuật thiết kế TM Việc xây dựng máy Turing cách liệt kê tất hàm chuyển băng nhập công việc thiếu hiệu Ta cần sử dụng công cụ hay phương pháp thiết kế “thông minh” hơn:  Lưu trữ điều khiển (Storage in the finite control);  Sử dụng nhiều rãnh băng (multiple tracks);  Đánh dấu ký hiệu (Checking off symbols);  Dịch qua (Shifting over);  Kỹ thuật chu trình (subrountines); 7.3.1 Kỹ thuật lưu trữ điều kiển 7.3.2 Kỹ thuật dịch qua 7.3.3 Kỹ thuật chu trình 7.3.4 Sử dụng nhiều rãnh băng ĐL 7.1: Nếu L nhận diện TM với băng vơ hạn hai chiều L nhận diện TM vô hạn chiều băng ĐL 7.2: Nếu L nhận dạng máy Turing nhiều băng vơ hạn hai chiều nhận dạng máy Turing băng vô hạn hai chiều ĐL 7.3: Nếu L chấp nhận máy Turing khơng đơn định M1 L chấp nhận máy Turing đơn định M2 ĐL 7.4: Nếu L chấp nhận máy Turing k chiều M1 L chấp nhận máy Turing chiều M2 7.4 Sự tương đương TM REL ĐL 7.5: Nếu L chấp nhận máy Turing k đầu đọc M1 L chấp nhận TM đầu đọc M2 21 ĐL 7.6: Một máy Turing mơ RAM (Random Access Machine), với điều kiện thị RAM mô TM ĐL 7.7: Một ngôn ngữ tập đệ qui liệt kê G(M2) với TM M2 ĐL 7.8: Nếu L L(G) với văn phạm không hạn chế G L ngơn ngữ đệ quy liệt kê ĐL 7.9: Nếu L ngôn ngữ đệ quy liệt kê L = L(G) với văn phạm khơng hạn chế G 7.5 Automata tuyến tính giới nội (LBA) LBA (Linear Bounded Automata) TM khơng đơn định băng nhập có giới hạn hai đầu (cận phải cận trái) Vì vậy, phải thỏa mãn hai điều kiện sau: Bộ chữ nhập có chứa thêm hai ký hiệu đặc biệt ⊄ $ dùng làm ký hiệu đánh dấu mút trái mút phải LBA không thực phép chuyển sang trái (L) từ ⊄ không thực phép chuyển sang phải (R) từ $, không viết ký hiệu khác lên ⊄ $ ĐL 7.6: Tồn giải thuật để xác định với ngôn ngữ cảm ngữ cảnh CSG G(V, T, P, S) chuỗi nhập w ∈ T*, liệu chuỗi w có thuộc ngơn ngữ L(G) hay khơng ĐL 7.6: Nếu L CSG L chấp nhận LBA ĐL 7.6: Nếu L = L(M) với LBA M (Q, Σ, Γ,δ,qo,⊄, $, F) L – {ε} ngơn ngữ cảm ngữ cảnh - Yêu cầu SV chuẩn bị Đọc trước giảng số 07 giảng viên Đọc chương tài liệu - Tài liệu tham khảo (reading assignments) Bài giảng số 07 giảng viên Introduction to Automata Theory, Languages, and Computation (2nd Edition) - John E Hopcropft, Rareev Motwani, Jeffrey D Ullman Addison-Wesley.2001 Chương 22 - Câu hỏi ôn tập (Questions) Nêu khái niệm máy Turing, kỹ thuật xây dựng máy Turing, lớp ngơn ngữ đốn nhận máy Turing Nêu khái niệm automata tuyến tính giới nội, lớp ngơn ngữ đốn nhận automata tuyến tính giới nội Bài ôn tập kiểm tra Chương 5, 6, 7, mục: Tiết thứ: 1-3 Tuần thứ: 15 - Mục đích yêu cầu Mục đích: Hệ thống lại kiến thức mơn học, nội dung thi kiểm tra Kiểm tra đánh chất lượng sinh viên Yêu cầu: Sinh viên nắm vững kiến thức mơn học trang bị - Hình thức tổ chức dạy học: thảo luận, tự học, tự nghiên cứu - Thời gian: Thảo luận làm tập lớp: tiết; Sinh viên tự học: tiết - Địa điểm: Giảng đường P2 phân công - Nội dung chính: Rà sốt lại nội dung ơn tập Làm test đánh giá - Yêu cầu SV chuẩn bị Hệ thống lại giảng số 5, 6, Đọc làm tập chương 5, 6, TL1 - Tài liệu tham khảo (reading assignments) Introduction to Automata Theory, Languages, and Computation (2nd Edition) - John E Hopcropft, Rareev Motwani, Jeffrey D Ullman AddisonWesley.-2001 Chương 5, 6, Chính sách học phần yêu cầu khác giáo viên Tham gia học tập đầy đủ: có điểm danh, khơng trật tự, học Làm tập, tham gia thảo luận: làm đủ tập, tham gia buổi thảo luận Kiểm tra, thi: Luôn bao gồm phần lý thuyết thực hành với trọng số Học viên miễn thi tham gia tốt trình học 23 tập đạt kết xuất sắc kiểm tra định kỳ, tích cực tham gia thảo luận Phương pháp, hình thức kiểm tra - đánh giá kết học tập học phần 9.1 Kiểm tra – đánh giá thường xuyên: Thường xuyên điểm danh vào thời điểm thích hợp 9.2 Kiểm tra - đánh giá định kì: - Tham gia học tập lớp (đi học đầy đủ, chuẩn bị tốt tích cực thảo luận,…): hệ số 0.10 - Hoàn thành tốt Bài tập nhà , Kiểm tra kì : hệ số 0.2 Kiểm tra lần sau hết chương chương - Thi kết thúc học phần tốt: hệ số 0.7 Chủ nhiệm Khoa Chủ nhiệm Bộ môn Giảng viên biên soạn (Ký ghi rõ họ tên) (Ký ghi rõ họ tên) (Ký ghi rõ họ tên) 24 ... ngơn ngữ hình thức Chương 2: Văn phạm 3 ngơn ngữ hình thức Chương 3: Automata hữu hạn ngôn ngữ hình thức Chương 4: Văn phạm quy tính chất 3 Khái niệm văn phạm quy Chương 5: Văn phạm phi ngữ cảnh... ngơn ngữ Một số phép tốn khác: nối kết, Ngơn ngữ lặp (bao đóng kleene, *closure), Ngơn ngữ lặp cắt (bao đóng dương – positive closure), ngôn ngữ ngược, Ngôn ngữ cắt trái ngôn ngữ X cho ngôn ngữ. .. hướng Automat ngôn ngữ hình thức Chương nhắc lại số khái niệm tốn rời rạc, tập hợp, ngơn biểu diễn thuật tốn Chương giới thiệu ngơn ngữ hình thức văn phạm, biểu diễn phân loại ngôn ngữ Chương trình

Ngày đăng: 21/09/2022, 08:44

Xem thêm:

HÌNH ẢNH LIÊN QUAN

- Kiến thức: Ngơn ngữ hình thức (Formal Languages) là môn học cơ sở của công nghệ thông tin đối với người học - ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN AUTOMAT VÀ NGÔN NGỮ HÌNH THỨC
i ến thức: Ngơn ngữ hình thức (Formal Languages) là môn học cơ sở của công nghệ thông tin đối với người học (Trang 2)
Khái niệm, mơ hình máy Turing Các kỹ thuật xây dựng máy Turing  - ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN AUTOMAT VÀ NGÔN NGỮ HÌNH THỨC
h ái niệm, mơ hình máy Turing Các kỹ thuật xây dựng máy Turing (Trang 4)
6. Giáo trình, tài liệu tham khảo - ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN AUTOMAT VÀ NGÔN NGỮ HÌNH THỨC
6. Giáo trình, tài liệu tham khảo (Trang 4)
7. Hình thức tổ chức dạy học - ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN AUTOMAT VÀ NGÔN NGỮ HÌNH THỨC
7. Hình thức tổ chức dạy học (Trang 5)
Hình thức tổ chức dạy học học phần - ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN AUTOMAT VÀ NGÔN NGỮ HÌNH THỨC
Hình th ức tổ chức dạy học học phần (Trang 5)
Bài giảng 01: Nhập môn Automata và ngơn ngữ hình thức. - ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN AUTOMAT VÀ NGÔN NGỮ HÌNH THỨC
i giảng 01: Nhập môn Automata và ngơn ngữ hình thức (Trang 6)