Tải bản đầy đủ (.pdf) (4 trang)

Giới thiệu lý thuyết automata và ngôn ngữ hình thức

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (204.14 KB, 4 trang )

Giới thiệu môn học
Trang 1/4
Đại học Quốc Gia Tp.HCM
Trường Đại Học Bách Khoa Tp HCM
Khoa Công Nghệ Thông Tin
WX
GIỚI THIỆU MÔN HỌC

1.
Tên môn học : LÝ THUYẾT AUTOMAT VÀ NGÔN NGỮ HÌNH THỨC
(Formal Language Theory and Automata)
2.
Số tín chỉ : 3
3.
Mã số môn học : 501038
4. Môn học trước : Toán Tin
5. Môn song hành
:
6. Nội dung tóm tắt
Giới thiệu về ngôn ngữ hình thức, automata, và các vấn đề liên quan. Đầu tiên là sự giới thiệu
về lớp automata đơn giản nhất, lớp automata hữu hạn. Trong mối quan hệ với nó lớp ngôn ngữ
chính qui cũng được giới thiệu. Tiếp theo là sự giới thiệu về lớp automata đẩy xuống và lớp ngôn
ngữ phi ngữ cảnh cũng như mối quan hệ giữa chúng. Cùng với lớp ngôn ngữ phi ngữ cảnh các khái
niệm và phương pháp phân tích cú pháp cũng được trình bày. Cuối cùng là phần trình bày về máy
Turing, khả năng của nó và các khái niệm liên quan chẳng hạn như sự khả tính toán, hay độ phức
tạp tính toán… Các ứng dụng của các lớp đã nói trên vào trong các lĩnh vực liên quan cũng được
trình bày.
7. Tài liệu tham khảo
[ 1 ] Hồ Văn Quân – 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 – 2001
[ 2 ] Peter Linz - An Introduction to Formal Languages and Automata - D.C. Heath and


Company – 1990
[ 3 ] John E. Hopcroft và Jeffrey D. Ullman - Introduction to Automata Theory, Languages
and Computation - Addison-Wesley Publishing Company, Inc – 1979
[ 4 ] Nguyễn Thanh Tùng - Lý thuyết Ngôn ngữ hình thức và Ôtômát – Đại học Bách Khoa
Tp. Hồ Chí Minh (lưu hành nội bộ) – 1993
[ 5 ] Alfred V.Aho, Ravi Sethi, Jeffrey D. Ullman - Compiler – Principles, Techniques, and
Tools - Addison-Wesley Publishing Company, Inc – 1986
[ 6 ] Phan Thị Tươi - Trình Biên Dịch – Đại học Bách Khoa Tp. Hồ Chí Minh - 1986
8. Cách đánh giá và tính điểm
Kiểm tra/Thi/Bài tập Hình thức Tỉ lệ %
Giữa học kỳ Trắc nghiệm 30%
Cuối học kỳ Trắc nghiệm 70%
Bài tập lớn Lập trình Cộng vào điểm thi Cuối học kỳ
Giới thiệu môn học
Trang 2/4
ĐỀ CƯƠNG CHI TIẾT MÔN HỌC

Tuần Nội dung Tài liệu Ghi chú
1, 2
Chương 1. Giới thiệu
1.1 Yêu cầu về kiến thức nền
Tập hợp, hàm và quan hệ
Lý thuyết đồ thị
Các Kỹ Thuật Chứng Minh
Bài Tập
1.2 Các khái niệm
Thủ tục, giải thuật
Độ phức tạp tính toán
Ngôn ngữ
Văn phạm

Automat
Bài Tập
1.3 Một vài ứng dụng
Bài Tập
[ 1 ][ 2 ][ 4 ]
Tự đọc




Giảng






Giảng

2, 3
Chương 2. Automat Hữu hạn
2.1 Automat hữu hạn đơn định (DFA)
Automat đơn định và đồ thị chuyển trạng thái
Ngôn ngữ và dfa
Ngôn ngữ chính qui
Bài tập
2.2 Automat hữu hạn không đơn định (NFA)
Định nghĩa một Automat không đơn định
Tại sao không đơn định
Bài tập

2.3 Sự tương đương giữa NFA và DFA
Bài tập
2.4 Rút gọn số trạng thái của một DFA
Bài tập
2.5 Một vài biến thể của automat hữu hạn
[ 1 ][ 2 ][ 3 ]
Giảng




Giảng

Tự đọc

Giảng

Giảng

Tự đọc
4, 5
Chương 3. Ngôn ngữ Chính qui và Văn phạm Chính qui
3.1 Biểu thức chính qui
Định nghĩa hình thức của một biểu thức chính qui
Ngôn ngữ tương ứng biểu thức chính qui
Bài tập
3.2 Quan hệ giữa biểu thức chính qui và ngôn ngữ chính
qui
Biểu thức chính qui biểu thị ngôn ngữ chính qui
Biểu thức chính qui cho ngôn ngữ chính qui

Biểu thức chính qui cho việc mô tả các mẫu đơn giản
Biến đổi biểu thức chính qui trực tiếp thành DFA
Bài tập
3.3 Văn phạm chính qui
Văn phạm tuyến tính phải và trái
Văn phạm tuyến tính phải sinh ra ngôn ngữ chính qui
Văn phạm tuyến tính phải cho các ngôn ngữ chính qui
Sự tương đương giữa ngôn ngữ chính qui và văn
phạm chính qui
[ 1 ][ 2 ][ 5 ]
[ 6 ]

Giảng



Thảo luận





Tự đọc


Thảo luận

Giới thiệu môn học
Trang 3/4
Tuần Nội dung Tài liệu Ghi chú

Bài tập
5, 6
Chương 4. Các Tính chất của Ngôn ngữ Chính qui
4.1 Tính đóng của ngôn ngữ chính qui
Đóng dưới các phép toán tập hộp đơn giản
Đóng dưới các phép toán khác
Bài tập
4.2 Các câu hỏi cơ bản về ngôn ngữ chính qui
Bài tập
4.3 Nhận biết các ngôn ngữ không chính qui
Sử dụng nguyên lý pigeonhole (chuồng chim bồ câu)
Bổ đề pumping (Bổ đề bơm)
Bài tập
4.4 Tóm tắt về họ ngôn ngữ chính qui
[ 1 ][ 2 ][ 3 ]
Giảng



Thảo luận

Giảng



Giảng
7
Chương 5. Các Ngôn ngữ Phi ngữ cảnh
5.1 Các văn phạm phi ngữ cảnh
Các ví dụ về ngôn ngữ phi ngữ cảnh

Dẫn xuất trái và dẫn xuất phải
Cây dẫn xuất
Quan hệ giữa dạng câu và cây dẫn xuất
Bài tập
5.2 Phân tích cú pháp và tính nhập nhằng
Phân tích cú pháp và membership
Tính nhập nhằng trong văn phạm và ngôn ngữ
Bài tập
5.3 Các văn phạm phi ngữ cảnh và các ngôn ngữ lập trình
Bài tập
[ 1 ][ 2 ][ 3 ]
Giảng





Giảng



Giảng
8,9
Chương 6. Đơn giản hóa các Ngôn ngữ 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
Một vài qui tắc thay thế hữu hiệu
Khử các luật sinh - vô dụng
Khử các luật sinh - λ
Khử các luật sinh - đơn vị

Bài tập
6.2 Hai dạng chuẩn quan trọng
Dạng chuẩn Chomsky
Dạng chuẩn Greibach
Bài tập
6.3 Giải thuật thành viên cho văn phạm phi ngữ cảnh
Giải thuật CYK
Giải thuật Earley
Bài tập
[ 1 ][ 2 ][ 3 ]

Thảo luận





Thảo luận



Giảng

Tự đọc
9, 10,
11
Chương 7. Automat Đẩy xuống
7.1 Automat đẩy xuống không đơn định (NPDA)
Định nghĩa một automat đẩy xuống
Ngôn ngữ được chấp nhận bởi một automat đẩy xuống

Bài tập
7.2 Automat đẩy xuống và ngôn ngữ phi ngữ cảnh
Automat đẩy xuống cho ngôn ngữ phi ngữ cảnh
Văn phạm phi ngữ cảnh cho automat đẩy xuống
Bài tập
[ 1 ][ 2 ][ 3 ]
Giảng




Giảng


Giới thiệu môn học
Trang 4/4
Tuần Nội dung Tài liệu Ghi chú
7.3 Automat đẩy xuống đơn định (DPDA) và ngôn ngữ
phi ngữ cảnh đơn định
Bài tập
7.4 Văn phạm cho ngôn ngữ phi ngữ cảnh đơn định
Văn phạm LL(k)
Văn phạm LR(k)
Bài tập

Thảo luận


Tự đọc
11, 12

Chương 8. Các Tính chất của Ngôn ngữ Phi Ngữ cảnh
8.1 Hai bổ đề pumping
Bổ đề pumping cho ngôn ngữ phi ngữ cảnh
Bổ đề pumping cho ngôn ngữ tuyến tính
Bài tập
8.2 Tính đóng và các giải thuật quyết định cho ngôn ngữ
cảnh
Tính đóng của ngôn ngữ phi ngữ cảnh
Một vài tính chất khả quyết định của ngôn ngữ phi
ngữ cảnh
Bài tập
8.3 Tóm tắt về họ ngôn ngữ phi ngữ cảnh
[ 1 ][ 2 ][ 3 ]
Giảng



Thảo luận





Tự đọc
13
Chương 9. Máy Turing
9.1 Máy Turing chuẩn
Định nghĩa máy Turing
Máy Turing như một máy chấp nhận ngôn ngữ
Máy Turing như một transducer

Bài tập
9.2 Kết hợp các máy Turing cho các công việc phức tạp
Bài tập
9.3 Luận thuyết của Turing
Bài tập
[ 1 ][ 2 ] Đọc trước
Giảng




Giảng

Giảng
14
Chương 10. Một vài chủ đề bổ sung
10.1 Một vài biến thể của máy Turing
10.2 Automat ràng buộc tuyến tính
10.3 Ngôn ngữ cảm ngữ cảnh
10.4 Ngôn ngữ đệ qui và khả liệt kê đệ qui
10.5 Ngôn ngữ không bị ràng buộc
10.6 Phân cấp theo Chomsky
10.7 Giới hạn của tính toán có tính giải thuật
Giới thiệu một vài bài toán không giải được
10.8 Độ phức tạp tính toán
Định nghĩa độ đo độ phức tạp
Phân loại độ phức tạp
Độ phức tạp lớp P và NP
[ 2 ][ 3 ]
Tự đọc

Giảng
Giảng
Giảng
Giảng
Tự đọc
Thảo luận

Giảng

×