1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Bài giảng Ngôn ngữ hình thức và ôtômát: Chương 1 - Nguyễn Thị Minh Huyền

122 52 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 122
Dung lượng 457,9 KB

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

Nội dung

Bài giảng Ngôn ngữ hình thức và ôtômát - Chương 1: Ngôn ngữ và văn phạm hình thức cung cấp cho người học các kiến thức: Bảng chữ cái – Từ – Ngôn ngữ, các phép toán trên từ, các phép toán trên ngôn ngữ, văn phạm hình thức, hai bài toán cơ bản về văn phạm. Mời các bạn cùng tham khảo.

Trang 1

Ngôn ngữ hình thức và ôtômát

Chương 1 Ngôn ngữ và văn phạm hình thức

Nguyễn Thị Minh Huyền

Khoa Toán - Cơ - Tin học

Trường Đại học Khoa học Tự nhiên Hà Nội

Trang 2

5 Hai bài toán cơ bản về văn phạm

Bài toán phân tích

Bài toán tổng hợp

Trang 3

5 Hai bài toán cơ bản về văn phạm

Bài toán phân tích

Bài toán tổng hợp

Trang 4

5 Hai bài toán cơ bản về văn phạm

Bài toán phân tích

Bài toán tổng hợp

Trang 5

5 Hai bài toán cơ bản về văn phạm

Bài toán phân tích

Bài toán tổng hợp

Trang 6

5 Hai bài toán cơ bản về văn phạm

Bài toán phân tích

Bài toán tổng hợp

Trang 7

5 Hai bài toán cơ bản về văn phạm

Bài toán phân tích

Bài toán tổng hợp

Trang 8

Bảng chữ cái

Định nghĩa: tập hữu hạn các phần tử, mỗi phần tử gọi là

một kí hiệu hay một chữ cái

Trang 9

Bảng chữ cái

Định nghĩa: tập hữu hạn các phần tử, mỗi phần tử gọi là

một kí hiệu hay một chữ cái

Trang 10

Từ trên bảng chữ cái Σ

chữ cái Σ, kí hiệu w = w1w2· · · w n

n được gọi là độ dài của từ w , kí hiệu |w |.

|w | a là số chữ cái a xuất hiện trong từ w

Từ có độ dài bằng 0 gọi là từ rỗng, kí hiệu 

Trang 11

Từ trên bảng chữ cái Σ

chữ cái Σ, kí hiệu w = w1w2· · · w n

n được gọi là độ dài của từ w , kí hiệu |w |.

Từ có độ dài bằng 0 gọi là từ rỗng, kí hiệu 

Trang 12

Từ trên bảng chữ cái Σ

chữ cái Σ, kí hiệu w = w1w2· · · w n

n được gọi là độ dài của từ w , kí hiệu |w |.

Từ có độ dài bằng 0 gọi là từ rỗng, kí hiệu 

Trang 13

Từ trên bảng chữ cái Σ

chữ cái Σ, kí hiệu w = w1w2· · · w n

n được gọi là độ dài của từ w , kí hiệu |w |.

Từ có độ dài bằng 0 gọi là từ rỗng, kí hiệu 

Trang 14

Từ trên bảng chữ cái Σ

chữ cái Σ, kí hiệu w = w1w2· · · w n

n được gọi là độ dài của từ w , kí hiệu |w |.

Từ có độ dài bằng 0 gọi là từ rỗng, kí hiệu 

Trang 15

Từ trên bảng chữ cái Σ

chữ cái Σ, kí hiệu w = w1w2· · · w n

n được gọi là độ dài của từ w , kí hiệu |w |.

Từ có độ dài bằng 0 gọi là từ rỗng, kí hiệu 

Trang 16

Ngôn ngữ trên bảng chữ cái Σ

Trang 17

Ngôn ngữ trên bảng chữ cái Σ

Trang 18

Ngôn ngữ trên bảng chữ cái Σ

Trang 19

Ngôn ngữ trên bảng chữ cái Σ

Trang 20

Ngôn ngữ trên bảng chữ cái Σ

Trang 21

Ngôn ngữ trên bảng chữ cái Σ

Trang 22

Ngôn ngữ trên bảng chữ cái Σ

Trang 23

5 Hai bài toán cơ bản về văn phạm

Bài toán phân tích

Bài toán tổng hợp

Trang 24

Tích ghép

Định nghĩa: Cho 2 từ u = u1· · · u m , v = v1· · · v n trên bảng

chữ cái Σ Tích ghép của 2 từ w = u · v = uv là phép kết nối các chữ cái trong từ v vào ngay sau các chữ cái trong

Trang 25

Tích ghép

Định nghĩa: Cho 2 từ u = u1· · · u m , v = v1· · · v n trên bảng

chữ cái Σ Tích ghép của 2 từ w = u · v = uv là phép kết nối các chữ cái trong từ v vào ngay sau các chữ cái trong

Trang 26

Tích ghép

Định nghĩa: Cho 2 từ u = u1· · · u m , v = v1· · · v n trên bảng

chữ cái Σ Tích ghép của 2 từ w = u · v = uv là phép kết nối các chữ cái trong từ v vào ngay sau các chữ cái trong

Trang 27

Tích ghép

Định nghĩa: Cho 2 từ u = u1· · · u m , v = v1· · · v n trên bảng

chữ cái Σ Tích ghép của 2 từ w = u · v = uv là phép kết nối các chữ cái trong từ v vào ngay sau các chữ cái trong

Trang 28

Tích ghép

Định nghĩa: Cho 2 từ u = u1· · · u m , v = v1· · · v n trên bảng

chữ cái Σ Tích ghép của 2 từ w = u · v = uv là phép kết nối các chữ cái trong từ v vào ngay sau các chữ cái trong

Trang 29

Tích ghép

Định nghĩa: Cho 2 từ u = u1· · · u m , v = v1· · · v n trên bảng

chữ cái Σ Tích ghép của 2 từ w = u · v = uv là phép kết nối các chữ cái trong từ v vào ngay sau các chữ cái trong

Trang 30

Tích ghép

Định nghĩa: Cho 2 từ u = u1· · · u m , v = v1· · · v n trên bảng

chữ cái Σ Tích ghép của 2 từ w = u · v = uv là phép kết nối các chữ cái trong từ v vào ngay sau các chữ cái trong

Trang 31

Tích ghép

Định nghĩa: Cho 2 từ u = u1· · · u m , v = v1· · · v n trên bảng

chữ cái Σ Tích ghép của 2 từ w = u · v = uv là phép kết nối các chữ cái trong từ v vào ngay sau các chữ cái trong

Trang 32

Tích ghép

Định nghĩa: Cho 2 từ u = u1· · · u m , v = v1· · · v n trên bảng

chữ cái Σ Tích ghép của 2 từ w = u · v = uv là phép kết nối các chữ cái trong từ v vào ngay sau các chữ cái trong

Trang 33

Phép chia

Định nghĩa

Chia trái (\):u\w=u−1w = v nếu ∃v : w = uv

Chia phải (/):w/v =wv−1=u nếu ∃u : w = uv

Tính chất

Phép chia trái (phải) vô nghĩa khi u (v ) không phải là tiền tố (hậu tố) của từ w

Chia cho từ rỗng:  \w=w /  =w

Chia cho bản thân của từ:w\w =w /w = 

Độ dài của thương: |u\w | + |u| = |w |, | w/v | + |v | = |w |

Trang 34

Phép chia

Định nghĩa

Chia trái (\):u\w=u−1w = v nếu ∃v : w = uv

Chia phải (/):w/v =wv−1=u nếu ∃u : w = uv

Tính chất

Phép chia trái (phải) vô nghĩa khi u (v ) không phải là tiền tố (hậu tố) của từ w

Chia cho từ rỗng:  \w=w /  =w

Chia cho bản thân của từ:w\w =w /w = 

Độ dài của thương: |u\w | + |u| = |w |, | w/v | + |v | = |w |

Trang 35

Phép chia

Định nghĩa

Chia trái (\):u\w=u−1w = v nếu ∃v : w = uv

Chia phải (/):w/v =wv−1=u nếu ∃u : w = uv

Tính chất

Phép chia trái (phải) vô nghĩa khi u (v ) không phải là tiền tố (hậu tố) của từ w

Chia cho từ rỗng:  \w=w /  =w

Chia cho bản thân của từ:w\w =w /w = 

Độ dài của thương: |u\w | + |u| = |w |, | w/v | + |v | = |w |

Trang 36

Phép chia

Định nghĩa

Chia trái (\):u\w=u−1w = v nếu ∃v : w = uv

Chia phải (/):w/v =wv−1=u nếu ∃u : w = uv

Tính chất

Phép chia trái (phải) vô nghĩa khi u (v ) không phải là tiền tố (hậu tố) của từ w

Chia cho từ rỗng:  \w=w /  =w

Chia cho bản thân của từ:w\w =w /w = 

Độ dài của thương: |u\w | + |u| = |w |, | w/v | + |v | = |w |

Trang 37

Phép chia

Định nghĩa

Chia trái (\):u\w=u−1w = v nếu ∃v : w = uv

Chia phải (/):w/v =wv−1=u nếu ∃u : w = uv

Tính chất

Phép chia trái (phải) vô nghĩa khi u (v ) không phải là tiền tố (hậu tố) của từ w

Chia cho từ rỗng:  \w=w /  =w

Chia cho bản thân của từ:w\w =w /w = 

Độ dài của thương: |u\w | + |u| = |w |, | w/v | + |v | = |w |

Trang 38

Phép chia

Định nghĩa

Chia trái (\):u\w=u−1w = v nếu ∃v : w = uv

Chia phải (/):w/v =wv−1=u nếu ∃u : w = uv

Tính chất

Phép chia trái (phải) vô nghĩa khi u (v ) không phải là tiền tố (hậu tố) của từ w

Chia cho từ rỗng:  \w=w /  =w

Chia cho bản thân của từ:w\w =w /w = 

Độ dài của thương: |u\w | + |u| = |w |, | w/v | + |v | = |w |

Trang 39

Phép chia

Định nghĩa

Chia trái (\):u\w=u−1w = v nếu ∃v : w = uv

Chia phải (/):w/v =wv−1=u nếu ∃u : w = uv

Tính chất

Phép chia trái (phải) vô nghĩa khi u (v ) không phải là tiền tố (hậu tố) của từ w

Chia cho từ rỗng:  \w=w /  =w

Chia cho bản thân của từ:w\w =w /w = 

Độ dài của thương: |u\w | + |u| = |w |, | w/v | + |v | = |w |

Trang 40

Phép chia

Định nghĩa

Chia trái (\):u\w=u−1w = v nếu ∃v : w = uv

Chia phải (/):w/v =wv−1=u nếu ∃u : w = uv

Tính chất

Phép chia trái (phải) vô nghĩa khi u (v ) không phải là tiền tố (hậu tố) của từ w

Chia cho từ rỗng:  \w=w /  =w

Chia cho bản thân của từ:w\w =w /w = 

Độ dài của thương: |u\w | + |u| = |w |, | w/v | + |v | = |w |

Trang 41

Phép soi gương (lấy từ ngược)

Trang 42

Phép soi gương (lấy từ ngược)

Trang 43

Phép soi gương (lấy từ ngược)

Trang 44

5 Hai bài toán cơ bản về văn phạm

Bài toán phân tích

Bài toán tổng hợp

Trang 58

Lặp, lặp cắt

n=0 L n Ngôn ngữ lặp cắt của L là L+ =S∞

n=1 L n

Ví dụ: L = {0, 1} trên bảng chữ cái Σ = {0, 1}, (Σ2)∗

So sánh Lvà L+

Trang 62

Chia trái, chia phải

Trang 63

Chia trái, chia phải

Trang 64

Chia trái, chia phải

Trang 65

Chia trái, chia phải

Trang 66

Chia trái, chia phải

Trang 67

Chia trái, chia phải

Trang 68

Chia trái, chia phải

Trang 69

Chia trái, chia phải

Trang 70

Soi gương (lấy ngôn ngữ ngược)

Trang 71

Soi gương (lấy ngôn ngữ ngược)

Trang 72

Soi gương (lấy ngôn ngữ ngược)

Trang 73

Soi gương (lấy ngôn ngữ ngược)

Trang 74

Soi gương (lấy ngôn ngữ ngược)

Trang 75

Soi gương (lấy ngôn ngữ ngược)

Trang 76

Soi gương (lấy ngôn ngữ ngược)

Trang 77

5 Hai bài toán cơ bản về văn phạm

Bài toán phân tích

Bài toán tổng hợp

Trang 78

Một số ngôn ngữ không xây dựng được bằng 2 phương

pháp trên: ngôn ngữ không quyết định được

Trang 79

Một số ngôn ngữ không xây dựng được bằng 2 phương

pháp trên: ngôn ngữ không quyết định được

Trang 80

Một số ngôn ngữ không xây dựng được bằng 2 phương

pháp trên: ngôn ngữ không quyết định được

Trang 81

Một số ngôn ngữ không xây dựng được bằng 2 phương

pháp trên: ngôn ngữ không quyết định được

Trang 82

Một số ngôn ngữ không xây dựng được bằng 2 phương

pháp trên: ngôn ngữ không quyết định được

Trang 83

Định nghĩa văn phạm

Ý nghĩa: Mô tả một ngôn ngữ bằng cách liệt kê tập từ

vựng, tập các quy tắc cú pháp để tạo ra câu

Định nghĩa hình thức: Văn phạm là một bộ bốn

G = (Σ, V , σ, P), trong đó:

Σ là bảng chữ cái chính, còn gọi là tập kí hiệu kết thúc

V là bảng chữ cái phụ, còn gọi là tập kí hiệu không kết hay

tập biến, V ∩ Σ = ∅

σ ∈V là tiên đề (biến khởi tạo)

P là tập các quy tắc sinh có dạng α → β, → / ∈ Σ ∪ V ,

α ∈ (Σ ∪V )+, β ∈ (Σ ∪ V )

Trang 84

Định nghĩa văn phạm

Ý nghĩa: Mô tả một ngôn ngữ bằng cách liệt kê tập từ

vựng, tập các quy tắc cú pháp để tạo ra câu

Định nghĩa hình thức: Văn phạm là một bộ bốn

G = (Σ, V , σ, P), trong đó:

Σ là bảng chữ cái chính, còn gọi là tập kí hiệu kết thúc

V là bảng chữ cái phụ, còn gọi là tập kí hiệu không kết hay tập biến, V ∩ Σ = ∅

σ ∈V là tiên đề (biến khởi tạo)

P là tập các quy tắc sinh có dạng α → β, → / ∈ Σ ∪ V ,

α ∈ (Σ ∪V )+, β ∈ (Σ ∪ V )

Trang 85

Định nghĩa văn phạm

Ý nghĩa: Mô tả một ngôn ngữ bằng cách liệt kê tập từ

vựng, tập các quy tắc cú pháp để tạo ra câu

Định nghĩa hình thức: Văn phạm là một bộ bốn

G = (Σ, V , σ, P), trong đó:

Σ là bảng chữ cái chính, còn gọi là tập kí hiệu kết thúc

V là bảng chữ cái phụ, còn gọi là tập kí hiệu không kết hay tập biến, V ∩ Σ = ∅

σ ∈V là tiên đề (biến khởi tạo)

P là tập các quy tắc sinh có dạng α → β, → / ∈ Σ ∪ V ,

α ∈ (Σ ∪V )+, β ∈ (Σ ∪ V )

Trang 86

Định nghĩa văn phạm

Ý nghĩa: Mô tả một ngôn ngữ bằng cách liệt kê tập từ

vựng, tập các quy tắc cú pháp để tạo ra câu

Định nghĩa hình thức: Văn phạm là một bộ bốn

G = (Σ, V , σ, P), trong đó:

Σ là bảng chữ cái chính, còn gọi là tập kí hiệu kết thúc

V là bảng chữ cái phụ, còn gọi là tập kí hiệu không kết hay tập biến, V ∩ Σ = ∅

σ ∈V là tiên đề (biến khởi tạo)

P là tập các quy tắc sinh có dạng α → β, → / ∈ Σ ∪ V ,

α ∈ (Σ ∪V )+, β ∈ (Σ ∪ V )

Trang 87

Định nghĩa văn phạm

Ý nghĩa: Mô tả một ngôn ngữ bằng cách liệt kê tập từ

vựng, tập các quy tắc cú pháp để tạo ra câu

Định nghĩa hình thức: Văn phạm là một bộ bốn

G = (Σ, V , σ, P), trong đó:

Σ là bảng chữ cái chính, còn gọi là tập kí hiệu kết thúc

V là bảng chữ cái phụ, còn gọi là tập kí hiệu không kết hay tập biến, V ∩ Σ = ∅

σ ∈V là tiên đề (biến khởi tạo)

P là tập các quy tắc sinh có dạng α → β, → / ∈ Σ ∪ V ,

α ∈ (Σ ∪V )+, β ∈ (Σ ∪ V )

Trang 88

Định nghĩa văn phạm

Ý nghĩa: Mô tả một ngôn ngữ bằng cách liệt kê tập từ

vựng, tập các quy tắc cú pháp để tạo ra câu

Định nghĩa hình thức: Văn phạm là một bộ bốn

G = (Σ, V , σ, P), trong đó:

Σ là bảng chữ cái chính, còn gọi là tập kí hiệu kết thúc

V là bảng chữ cái phụ, còn gọi là tập kí hiệu không kết hay tập biến, V ∩ Σ = ∅

σ ∈V là tiên đề (biến khởi tạo)

P là tập các quy tắc sinh có dạng α → β, → / ∈ Σ ∪ V ,

α ∈ (Σ ∪V )+, β ∈ (Σ ∪ V )

Trang 90

Dẫn xuất

x → γ ∈ P sao cho α = uxv và β = uγv

Quan hệ dẫn ⇒∗là bao đóng bắc cầu của quan hệ dẫn

trực tiếp ⇒

Dẫn xuất n bước: α0⇒ α1⇒ ⇒ αn

Trang 91

Dẫn xuất

x → γ ∈ P sao cho α = uxv và β = uγv

trực tiếp ⇒

Dẫn xuất n bước: α0⇒ α1⇒ ⇒ αn

Trang 92

Dẫn xuất

x → γ ∈ P sao cho α = uxv và β = uγv

trực tiếp ⇒

Trang 93

Ngôn ngữ sinh bởi văn phạm

Cho văn phạm G = (Σ, V , σ, P) Ngôn ngữ L sinh bởi văn phạm G là tập tất cả các từ trên bảng chữ cái Σ dẫn được

Trang 94

Ngôn ngữ sinh bởi văn phạm

Cho văn phạm G = (Σ, V , σ, P) Ngôn ngữ L sinh bởi văn phạm G là tập tất cả các từ trên bảng chữ cái Σ dẫn được

Trang 95

Ngôn ngữ sinh bởi văn phạm

Cho văn phạm G = (Σ, V , σ, P) Ngôn ngữ L sinh bởi văn phạm G là tập tất cả các từ trên bảng chữ cái Σ dẫn được

Trang 96

Phân lớp văn phạm của Chomsky (1)

A, B ∈ V , x, y ∈ Σ

Quy tắc tuyến tính trái (phải): có dạng A → a hoặc A →  hoặc A → Ba (A → aB), A, B ∈ V , a ∈ Σ

Trang 97

Phân lớp văn phạm của Chomsky (1)

A, B ∈ V , x, y ∈ Σ

Quy tắc tuyến tính trái (phải): có dạng A → a hoặc A →  hoặc A → Ba (A → aB), A, B ∈ V , a ∈ Σ

Trang 98

Phân lớp văn phạm của Chomsky (1)

Trang 99

Phân lớp văn phạm của Chomsky (1)

Trang 100

Phân lớp văn phạm của Chomsky (1)

Trang 101

Phân lớp văn phạm của Chomsky (2)

Trang 102

Phân lớp văn phạm của Chomsky (2)

Trang 103

Phân lớp văn phạm của Chomsky (2)

Trang 104

Phân lớp văn phạm của Chomsky (2)

Trang 105

Phân lớp văn phạm của Chomsky (2)

Trang 106

5 Hai bài toán cơ bản về văn phạm

Bài toán phân tích

Bài toán tổng hợp

Trang 107

Bài toán phân tích

Cho một văn phạm hình thức Xác định ngôn ngữ sinh bởivăn phạm đó

Trang 108

Bài tập

Tìm các ngôn ngữ sinh bởi các văn phạm có tập quy tắcnhư sau

1 S → aA (1), A → aA (2), A → bB (3), B → bB (4), B → cC (5), B → c (6), C → cC (7), C → c (8)

2 S → aSb (1), S → ab (2)

3 S → aSBC (1), S → aBC (2), aB → ab (3), bB → bb (4),

CB → BC (5), bC → bc (6), cC → cc (7)

Trang 109

Bài tập

Tìm các ngôn ngữ sinh bởi các văn phạm có tập quy tắcnhư sau

1 S → aA (1), A → aA (2), A → bB (3), B → bB (4), B → cC (5), B → c (6), C → cC (7), C → c (8)

2 S → aSb (1), S → ab (2)

3 S → aSBC (1), S → aBC (2), aB → ab (3), bB → bb (4),

CB → BC (5), bC → bc (6), cC → cc (7)

Trang 110

Bài tập

Tìm các ngôn ngữ sinh bởi các văn phạm có tập quy tắcnhư sau

1 S → aA (1), A → aA (2), A → bB (3), B → bB (4), B → cC (5), B → c (6), C → cC (7), C → c (8)

2 S → aSb (1), S → ab (2)

3 S → aSBC (1), S → aBC (2), aB → ab (3), bB → bb (4),

CB → BC (5), bC → bc (6), cC → cc (7)

Trang 111

Bài toán tổng hợp

Cho một ngôn ngữ Xây dựng văn phạm sinh ngôn ngữ đó

Trang 122

Bài tập bổ sung

Xây dựng văn phạm tuyến tính trái sinh tập các tên

Ngày đăng: 17/10/2020, 17:01

TỪ KHÓA LIÊN QUAN

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

w