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 8 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 24
Dung lượng 731,03 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Môn học trang bị cho người học những kiến thức cơ bản về thuật toán, ngôn ngữ thuật toán, các kỹ thuật xây dựng chương trình và phương pháp tư duy liên quan đến khoa học máy tính.. Môn h

Trang 1

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ự do – Hạnh phúc

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

1 Thông tin về giáo viên

TT Họ tên giáo viên Học hàm Học vị Đơn vị công tác (Bộ môn)

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 2 nhà A1 – Học viện Kỹ thuật Quân sự

Địa chỉ 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 sự 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ữ

2 Thông tin chung về học phần

- Tên học phần: Automat và ngôn ngữ hình thức

- Mã học phần: 1222315

- Số tín chỉ: 2

- 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ơ bản

- Các yêu cầu đối với học phần (nếu có):

- Giờ tín chỉ đối với các hoạt động:

 Nghe giảng lý thuyết: 30

3 Mục tiêu của học phần

Trang 2

- 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 Môn học trang bị cho người học những kiến thức cơ bản về thuật toán, ngôn ngữ thuật toán, các kỹ thuật xây dựng chương trình và phương pháp tư duy liên quan đến khoa học máy tính

- Kỹ năng: Kỹ năng 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 quyết các vấn đề Cung cấp khả năng suy luận, giải quyết các bài toán trong lĩnh vực công nghệ thông tin Các kỹ thuật xây dựng chương trình và phương pháp tư duy liên quan đến khoa học máy tính

- Thái độ, chuyên cần: Thái độ nghiêm túc trong nghe giảng, làm bài tập đầy đủ, vận dụng lý thuyết

4 Tóm tắt nội dung học phần (khoảng 150 từ)

Đây là môn học bắt buộc đối với 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 các khái niệm và định hướng của Automat và ngôn ngữ hình thức Chương 1 nhắc lại một số khái niệm toán rời rạc, tập hợp, ngôn biểu diễn thuật toán Chương 2 giới thiệu về ngôn ngữ hình thức và văn phạm, biểu diễn phân loại ngôn ngữ Chương 3 trình bày về automata hữu hạn và các dạng thức automata Chương 4 giới thiệu về lớp ngôn ngữ chính quy, mối quan hệ giữa ngôn ngữ chính quy và automat hữu hạn, các ứng dụng trong giải quyết các vấn đề toán học Chương 5 giới thiệu về văn phạm phi ngữ cảnh Các dạng chuyển đổi trong văn phạm phi ngữ cảnh Chương

6 Automata đẩy xuống và mối liên hệ với văn phạm phi ngữ cảnh Chương 7 Máy Turing và các lớp ngôn ngữ Ngoài ra, môn học trang bị khả năng tư duy,

suy luận và định hướng nghiên cứu chương trình dịch, lý thuyết tính toán

5 Nội dung chi tiết học phần (tên các chương, mục, tiểu mục)

Ghi chú

1 Chương 1: Nhập môn lý thuyết

automata và ngôn ngữ hình thức 3 1,2

Trang 3

Giới thiệu về môn học

Bổ túc một số khái niệm toán học liên

quan (tập hợp, quan hệ, đồ thị và cây)

2

Chương 2: Văn phạm và ngôn ngữ

hình thức

Ngôn ngữ và các khái niệm liên quan

Các phép toán trên chuỗi và ngôn ngữ

Văn phạm và các khái niệm liên quan

Phân loại văn phạm theo Chomsky

Tính chất của văn phạm và ngôn ngữ

Sơ lược về automata

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 giữa automata đơn định

với automata đa định

Biểu thức chính quy

Sự tương đương giữa biểu thức chính

quy và automata hữu hạn

Khái niệm về văn phạm chính quy

Sự tương đương giữa văn phạm chính

quy và automata hữu hạn

Bổ đề bơm cho tập hợp chính quy

Trang 4

Sự nhâp nhằng của 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 của văn phạm phi ngữ cảnh

Bài tập chương 5

6

Chương 6: Pushdown automata

(automata đẩy xuống)

Khái niệm về automata đẩy xuống

Biến đổi giữa automata chấp nhận ngôn

ngữ bằng trạng thái kết thúc với automata

chấp nhận ngôn ngữ bằng stack rỗng

Sự tương đương giữa automata đẩy

xuống và văn phạm phi ngữ cảnh

Quan hệ giữa ngôn ngữ phi ngữ cảnh và

tập hợp chính quy

Bài tập chương 6

7

Chương 7: Máy Turing, automata

tuyến tính giới nội và 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 được và máy

Turing

Văn phạm cảm ngữ cảnh và 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 7

6 Giáo trình, tài liệu tham khảo

TT

Tên giáo trình, tài liệu Tình trạng giáo trình, tài liệu

Giáo trình 1 (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, )

Có ở thư viện (website)

Giáo viên hoặc khoa có

Đề nghị mua mới

Đề nghị biên soạn

Trang 5

1

Introduction to Automata Theory,

Languages, and Computation (2nd

Edition) - John E Hopcropft,

Rareev Motwani, Jeffrey D

Problem Solving in Automata,

Languages, and Complexity

Ding-Zhu Du and Ker-I Ko JOHN

WILEY & SONS, INC 2001

Tự học,

tự ng.cứu

Lý thuyết

Bài tập

Thảo luận Chương 1: Nhập môn

Trang 6

Mục đích: Trang bị những hiểu biết chung nhất về môn học; Khái quát lại một

số khái niệm, cơ sở toán học làm cơ sở học tập môn học: Kiến thức về tập hợp, các phép toán trên tập hợp, lý thuyết về đồ thị và cây

Yêu cầu: sinh viên phải hệ thống lại các kiến thức cơ sở về toán rời rạc, kiến

thức lập trình, tự nghiên cứu và ôn tập lại những 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: 2 tiết; Thảo luận và làm bài tập trên lớp: 1 tiết;

Sinh viên tự học: 6 tiết

- Địa điểm: Giảng đường do P2 phân công

- Nội dung chính:

1.1 Giới thiệu về môn học lý thuyết NNHT và automata hữu hạn

1.2 Bổ túc một 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 bằng nhau, tập lũy thừa

Các phép toán trên tập hợp: phép hợp, phép giao, phần bù, phép trừ, tích đềcác của hai tập hợp

1.2.2 Quan hệ:

Trang 7

Quan hệ n-ngôi, quan hệ hai ngôi, các tính chất: phản xạ, đối xứng, bắc cầu của quan hệ Quan hệ tương đương

- Nội dung thảo luận

Chứng minh các bài tập nêu ra trong bài giảng, áp dụng các giải thuật duyệt khác nhau trên đồ thị và cây

- Yêu cầu SV chuẩn bị:

Ôn tập lại các kiến thức lý thuyết liên quan đến tập hợp, đồ thị, cây Các thuật toán duyệt đồ thị và duyệt cây

Đọc trước bài giảng của giảng viên (TL1), chương 1 TL 2

- Tài liệu tham khảo

1 Bài giảng của giảng viên

2 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

1 Thế nào là chu trình Euler, chu trình Hamilton trên đồ thị?

2 Khái niệm về đồ thị liên thông, thành phần liên thông và không liên thông của đồ thị? Giải thuật xác định thành phần liên thông, không liên thông?

3 Khái niệm cây, anh chị biết những dạng cấu trúc cây nào?

- Ghi chú: Các môn học tiên quyết : toán rời rạc, cấu trúc dữ liệu và giải thuật,

lập trình căn bản

Bài giảng 02: Văn phạm và ngôn ngữ hình thức

Trang 8

Chương 2, mục:

- Mục đích yêu cầu

Mục đích: Trang bị những khái niệm cơ bản nhất của môn học: ngôn ngữ, biểu

diễn ngôn ngữ, văn phạm và đưa ra văn phạm

Yêu cầu: Sinh viên hiểu và nắm vững các khái niệm, làm cơ sở cho việc nắm

nội dung các bài học kế tiếp

- 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: 2 tiết; Thảo luận và làm bài tập trên lớp: 1 tiết;

Sinh viên tự học: 6 tiết

- Địa điểm: Giảng đường do P2 phân công

2.1.3 Các phép toán trên ngôn ngữ

Vì mỗi ngôn ngữ có thể xem như là một tập hợp nên ta có các phép toán đại số tập hợp như là phép hợp, phép giao, phép hiệu, phép lấy bù, tập con,… của các ngôn ngữ

Một số phép toán khác: nối kết, Ngôn ngữ lặp (bao đóng kleene, hoặc 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 của ngôn ngữ X cho ngôn ngữ Y, Ngôn ngữ cắt phải

*-của ngôn ngữ X cho ngôn ngữ Y

2.2 Văn phạm

2.2.1 Văn phạm và các 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 của văn phạm và ngôn ngữ

- Nội dung thảo luận

Trang 9

Các ví dụ về văn phạm, mối liên hệ giữa các thành phần của 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 các dạng ngôn ngữ dựa trên đặc điểm văn phạm

- Yêu cầu SV chuẩn bị:

1 Chứng minh các định lý sau trong bài giảng;

2 Viết chương trình mô phỏng các thao tác làm việc với chuỗi

3 Giải các bài tập chương 2 do giáo viên cung cấp

4 Đọc trước tài liệu chương 2 TL2

- Tài liệu tham khảo

1 Bài giảng số 2 của giảng viên

2 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

1 Khái niệm về ngôn ngữ, từ (chuỗi, xâu), một số phép toán cơ bản trên

từ và trên 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

2 Định nghĩa văn phạm, dẫn xuất và ngôn ngữ sinh bởi văn phạm Cho ví

dụ minh họa

3 Phân loại văn phạm theo Chomsky, sự khác biệt giữa các loại văn phạm Cho ví dụ minh họa tương ứng

- Ghi chú: Các khái niệm được nêu trong bài 2 sẽ được sử dụng trong suốt quá

trình học tập môn học, sinh viên cần nắm vững các khái niệm này

Bài giảng 03 Ngôn ngữ và automata hữu hạn

Chương 3, mục:

- Mục đích yêu cầu

Mục đích: Trang bị cho sinh viên những khái niệm cơ bản về automata hữu hạn

(Finite Automatons); Phân biệt các dạng automata hữu hạn; Các thuật toán trên automata hữu hạn, các phép biến đổi tương đương giữa các loại FA; Biểu thức chính qui (RE) và sự tương đương với FA;

Trang 10

Yêu cầu: Sinh viên nắm vững các khái niệm, các thuật toán biến đổi và làm các

dạng bài tập trong chương 3

- 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: 6 tiết; Thảo luận và làm bài tập trên lớp: 3 tiết;

Sinh viên tự học: 18 tiết

- Địa điểm: Giảng đường do 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 về bước chuyển ε, NFAε là automata có các bước chuyển ε

Các ví dụ minh họa NFAε: NFAε đoán nhận tập hợp các số nguyên, NFAε đoán nhận tập hợp các số thực

Mô phỏng quá trình đoán nhận chuỗi và thuật toán đoán nhận chuỗi của NFAε bằng chương trình JFLAP, ngôn ngữ đoán nhận bởi NFAε

NFAε như là phương tiện để thiết kế giải thuật tổng quát

3.5 Sự tương đương giữa DFA và NFA

3.7 Biểu thức chính quy

3.7.1 khái niệm về biểu thức chính quy

3.7.2 Sự tương đương giữa FA và RE

3.7.3 Sự tương đương giữa DFA và RE

- Nội dung thảo luận

Sinh viên thiết kế, xây dựng các automata đoán nhận các tập hợp: các số chia hết cho 2, 5, 10,… cho một số n bất kỳ

Chứng minh các tập hữu hạn phần tử với độ dài hữu hạn là các tập hợp chính quy

- Yêu cầu SV chuẩn bị:

Sinh viên tự tìm hiểu và sử dụng thành thạo chương trình mô phỏng JFLAP do giáo viên cung cấp

Trang 11

Đọc và tìm hiểu các thuật toán xây dựng automata là hợp, giao, tối giản của một 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 chính quy, chương 3, 4 TL2

- Bài tập (practices and exercises)

Xây dựng chương trình mô phỏng hoạt động của automata đơn định, đa định, Giải các bài tập trong chương 3, TL2

- Tài liệu tham khảo (reading assignments)

1 Bài giảng 3 của giảng viên

2 John E Hopcropft, Rareev Motwani, Jeffrey D Ullman Introduction to

Automata Theory, Languages, and Computation (2nd Edition) Addison-Wesley.-2001 Chương 3

Câu hỏi ôn tập (Questions)

1 Trình bày khái niệm về automat hữu hạn Phân biệt các dạng automata hữu hạn Ngôn ngữ đoán nhận bởi automata hữu hạn Ví dụ minh họa

2 Khái niệm về automata Mealy, automata Moore, phân biệt chúng với automata hữu hạn Lấy ví dụ minh họa

3 Trình bày các phương pháp biểu diễn automata hữu hạn Ví dụ minh họa

4 Trình bày thuật toán đoán nhận chuỗi bởi một automata hữu hạn cho trước Ví dụ minh họa

5 Trình bày phương pháp biến đổi từ automata không đơn định về automata đơn định (đưa NFA về DFA)

6 Trình bày phương pháp biến đổi từ automata không đơn định có dịch chuyển-ε về automata không đơn định và không có dịch chuyển-ε (đưa NFAε về NFA) Dẫn ví dụ minh họa

7 Trình bày phương pháp biến đổi từ automata không đơn định có dịch chuyển-ε về automata đơn định (đưa NFAε về DFA) Dẫn ví dụ minh họa

8 Định nghĩa biểu thức chính quy Thuật toán để xây dựng automata từ biểu thức chính quy gọi là thuật toán Thomson, trình bày thuật toán Thomson

9 Định nghĩa biểu thức chính quy, trình bày thuật toán xây dựng biểu thức chính quy từ một automata hữu hạn cho trước

Trang 12

- Ghi chú (Notes): Kiến thức về automata hữu hạn là nền tảng để xây dựng các

chương trình nhận dạng (Recognizer) Ứng dụng trong giai đoạn phân tích từ vựng, phân tích cú pháp của các chương trình dịch

Bài giảng 04: Văn phạm chính quy và automata hữu hạn

Chương 4, mục:

- Mục đích yêu cầu

Mục đích: Nhằm giúp cho sinh viên hiểu về lớp ngôn ngữ loại 3 và văn phạm

chính quy; Các tính chất của văn phạm tính quy; Hiểu và nắm được mối liên hệ giữa lớp ngôn ngữ loại 3 với văn phạm chính quy và automata hữu hạn Nắm được các thuật toán biến đổi tương đương giữa RG và FA

Yêu cầu: Sinh viên nắm vững các khái niệm về văn phạm chính quy, các thuật

tóan biến đổi tương đương giữa RG và FA; Về nhà, cụ thể hóa các thuật toán bằng 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: 4 tiết; Thảo luận và làm bài tập trên lớp: 2 tiết;

Sinh viên tự học: 12 tiết

- Địa điểm: Giảng đường do P2 phân công

- Nội dung chính

4.1 Văn phạm chính quy

4.2 Sự tương đương giữa RG và FA

Định lý 4.1: Tập rỗng, tập tổng quát, tập hữu hạn các chuỗi được xây trên bảng

chữ cái hữu hạn là tập hợp chính quy

Chứng minh:

Cách 1: Dựa trên khái niệm biểu thức chính quy đã học trong bài 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 được sinh ra từ một văn phạm chính quy thì L là tập hợp

chính quy

Ý nghĩa: như vậy, một RG có thể được biểu diễn bởi một 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

Trang 13

Định lý 4.3: Nếu L là một tập hợp chính quy thì L được sinh ra từ một RG (văn

phạm tuyến tính trái hoặc tuyến tính phải) nào đó

4.3 Bổ đề bơm (pumping lemma) cho RS

Pumping lemma: nếu L là RS thì có tồn tại hằng số n sao cho nếu z là một từ

bất kỳ thuộc L và |z| ≥ n thì ta có thể viết z dưới dạng:

Định lý 4.4: tập hợp chính quy đóng với các phép toán: hợp, nối kết và bao

đóng Kleen (bao đóng sao)

Định lý 4.5: tập hợp chính quy đóng với phép lấy phần bù

Định lý 4.6: tập hợp chính quy đóng với phép giao

Định lý 4.7: tập hợp các chuỗi được chấp nhận bởi FA có n trạng thái là: không

rỗng nếu và chỉ nếu nó chấp nhận chuỗi có độ dài nhỏ hơn n, hoặc vô hạn nếu và chỉ nếu nó chấp nhận chuỗi có độ dài m với n ≤ m< 2n

Định lý 4.8: Tồn tại giải thuật để xác định hai FA là tương đương (chấp nhận

cùng một ngôn ngữ)

- Nội dung thảo luận

Chứng minh rằng tập tất cả các số nguyên tố không phải tập chính quy

- Yêu cầu sinh viên chuẩn bị:

Chứng minh các định lý đã nêu trong phần tính chất của tập hợp chính quy Xem trước slide bài giảng 4 Chương 4 tài liệu 2

- Bài tập (practices and exercises)

Viết chương trình mô phỏng thực hiện việc biến đổi từ văn phạm chính quy sang automata hữu hạn và ngược lại

- Tài liệu tham khảo (reading assignments)

1 Bài giảng 4 của giảng viên

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

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)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w