1. Trang chủ
  2. » Luận Văn - Báo Cáo

lý thuyết ngôn ngữ và tính toán

26 687 1

Đ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 26
Dung lượng 459,86 KB

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

Nội dung

Văn phạm tuyến tính phải đơn VPTTPĐ Văn phạm tuyến tính phải đơn là văn phạm mà các sản xuất của nó có dạng:... Đường lối Để tìm văn phạm tuyến tính phải đơn ta làm các bước sau đây:

Trang 1

Nhóm 2 – Lớp K57B

Bài Tập Lớn

Lý Thuyết Ngôn Ngữ Và Tính Toán

Hà Nội 2009

Trang 2

Mục Lục

A Lý Thuyết 3

1 Văn phạm tuyến tính phải (VPTTP) 3

2 Văn phạm tuyến tính phải đơn (VPTTPĐ) 3

B BÀI TẬP 3

Biết VPTT phải tìm VPTT phải đơn 3

1 Bài toán đặt ra 3

2 Đường lối 4

3 Kết luận: 5

4 Một số ví dụ cụ thể 5

A Các khái niệm, định nghĩa 10

1 Định nghĩa về ngôn ngữ 10

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

1.3 Khái niệm ngôn ngữ sản sinh từ văn phạm 10

1.4 Đường lối để làm bài toán cho văn phạm tìm ngôn ngữ 10

2.1 Bài toán tổng quát 11

2.2 Chứng minh 11

2.3 Ví dụ minh hoạ 13

A.Lý thuyết: 17

1 Ngôn ngữ: 17

2 Các hệ viết lại: 17

3 Các văn phạm : 18

B: Bài toán tổng quát : 21  

 

Trang 3

Bài toán cho VPTTP tìm VPTTP đ n 

A Lý Thuyết

1 Văn phạm tuyến tính phải (VPTTP )

Văn phạm tuyến tính phải là văn phạm mà các sản xuất của nó có dạng:

A→ a 1a2…anB hoặc A→ a 1a2…an với: A, B∈∆

ai∈∑, i= 1, 2,…, n

2 Văn phạm tuyến tính phải đơn (VPTTPĐ)

Văn phạm tuyến tính phải đơn là văn phạm mà các sản xuất của nó có dạng:

Trang 4

Từ văn phạm tuyến tính phải đã cho tìm văn phạm tuyến tính phải đơn?

2 Đường lối

Để tìm văn phạm tuyến tính phải đơn ta làm các bước sau đây:

Bước 1: Xác định các thành phần của văn phạm tuyến tính

phải mà đề bài đã cho

Bước 2: Xác định văn phạm tuyến tính phải đơn cần tìm có

P’: là tập các sản xuất của văn phạm tuyến tính phải đơn có

+ Ta nhặt các sản xuất trong P đã thoả mãn định nghĩa đơn đưa vào P’

+ Xử lí các sản xuất dạng A→ a1a2…anB

Thay sản xuất này bằng các sản xuất

Trang 5

Ta tìm được văn phạm tuyến tính phải đơn G’= ( ∑’, ∆’, P’, S’) với ∑’,

∆’, P’, S’ được xác định như trên

Nhận xét: Từ các bước làm trên, ta thấy văn phạm tuyến tính phải và văn phạm

tuyến tính phải đơn là tương đương

Trang 6

Từ văn phạm tuyến tính phải đã cho hãy tìm văn phạm tuyến tính phải đơn?

Trang 7

Và ∆’= ∆∪{A1, B1, S1, S2}

Kết luận: Văn phạm tuyến tính phải mà ta cần tìm là G’= (∑’, ∆’, P’, S’) với ∑’,

∆’, P’, S’ được xác định như trên

C→ ebc bằng C → eB1 (2)

Trang 8

Kết luận: Văn phạm tuyến tính phải đơn ta cần tìm là G’= (∑’, ∆’, P’, S’) với

∑’, ∆’, P’, S’ được xác định như trên

Trang 9

Kết luận: Văn phạm tuyến tính phải đơn ta cần tìm là G’= (∑’, ∆’, P’, S’) với

∑’, ∆’, P’, S’ được xác định như trên

Trang 10

Bài toán cho văn phạm tìm ngôn ngữ 

A Các khái niệm, định nghĩa

1 Định nghĩa về ngôn ngữ

Mỗi tập con của ∑* được gọi là ngôn ngữ hình thức hay còn gọi là ngôn ngữ trên

∑.Đặc biệt tập Φ là ngôn ngữ trên ∑ gọi là ngôn ngữ rỗng;tập {ε} cũng là một ngôn ngữ trên ∑ đây là ngôn ngữ chứa từ rỗng và∑* là ngôn ngữ gồm tất cả các từ trên ∑

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

Văn phạm G là một bộ sắp thứ tự gồm 4 thành phần:G = < Σ, Δ, S, P >,

trong đó:

a) Σ là một bảng chữ, gọi là bảng chữ kết thúc hay từ điển cơ bản, mỗi phần tử của

nó được gọi là một ký hiệu kết thúc hay ký hiệu cơ bản;

b) Δ là một bảng chữ, Δ ∩ Σ=Φ, gọi là bảng chữ không kết thúc hay từ điển hỗ trợ, mỗi phần tử của nó được gọi là một ký hiệu không kết thúc hay ký hiệu hỗ trợ c) S U Δ được gọi là ký hiệu đầu;

d) P là tập hợp các cặp thứ tự <α, β>, trong đó α, β Є (Σ U Δ)* và trong α chứa ít

nhất một ký hiệu không kết thúc; P được gọi là tập các quy tắc thay thế, <α, β> được gọi là một quy tắc hay sản suất và thường được viết cho thuận tiện là α→β,α được gọi là vế trái và β được gọi là vế phải của quy tắc này

1.3 Khái niệm ngôn ngữ sản sinh từ văn phạm

Ngôn ngữ sản sinh bởi 1 văn phạm G= < ∑,Δ,Ρ,S > là tập các xâu trên bộ chữ kết thúc ∑ mà ta có thể suy dẫn từ tiên đề S.Ngôn ngữ sản sinh bởi văn phạm G là L(G)

L(G)= { x Є∑*/S→*x}

1.4 Đường lối để làm bài toán cho văn phạm tìm ngôn ngữ

Đầu tiên L được sinh bởi VPTTP G ,ta phải dựng OH M mà L được đoán nhận bởi

OH đó Thông qua OH vừa dựng được ta tìm được L,nó được biểu diễn bởi biểu thức chình quy,từ btcq ta sẽ chỉ định được ngôn ngữ của nó

Trang 11

Vậy để giải được bài toán trên ta phải qua một bước trung gian đó là đi dựng L được đoán nhận bởi OH

2.1 Bài toán tổng quát

Giả sử L được sinh bởi G=(∑,Δ,P,S) là VPTTP

δ : duyệt các sản xuất trong P ứng với sản xuất A→aB ta có B Єδ(A,a)

A→a ta có f Є δ(A,a) // B=f với mọi A,B ЄΔ ,

Sauk hi dựng đựoc OH M ta đi phân tích các ngôn ngữ thành phần Khi kết hợp các ngôn ngữ thành phần đó lại bằng phép toán hợp ,ghép tiếp,*, ta lại được L.Cứ phân tích như vậy cho đến khi ngôn ngữ thành phần đó có thể nhìn thấy nó dễ dàng biểu diễn bởi btcq.Ta kết hợp các biểu thức chính quy đó lại nhờ phép +, ,* cuối cùng ta tìm đươc ngôn ngữ được chỉ định bởi btcq đó

Trang 12

A aB <=> Aa B (1)

Với mọi A,B ЄΔ, a Є ∑ U {ε}

Є∑*

Quy nạp theo chiều dài xâu x:

Cơ sở quy nạp :Xét x= ε

* M

Trang 15

Biểu thức chính quy :a*b

Đây là tập các xâu gồm một dãy các con a ghép tiếp một dãy các con b

Vídụ2:Cho văn phạm hãy tìm ngôn ngữ

a.G=({a,b,c},{ S,A,B,C,D},S, {S→aB│aC,B→aA,A→cA│c,C→bD})

Trang 16

Biểu thức chính quy :ab+ aa*

Đây là tập các xâu các con a ghép tiếp các con b và hợp với dãy các con a

Trang 17

Bài toán cho ngôn ngữ tìm văn phạm

Trang 18

Mỗi phần tử (α , β ) là một quy tắc viết lại (hay một sản xuất )và thường được

viết (một cách gợi ý) là: α ⇒ β ,α là vế trái của sản xuất,β là vế phải của sản xuất

(quy tắc):α ⇒ β

b.Ví dụ

Ví dụ 1:

V1={0,1,+}, P1={0+0 =>0, 0+1 => 1, `1+0 =>1 , 1+1 =>0}

Ví dụ 2:

đầu bởi a hoặc b

bộ chữ của hệ thống: V={a,b,0,1,S,T}

Các quy tắc:

P={S =>aT|bT ; T => aT|bT|1T|0T|ε} Tiên đề: {S};

Ngôn ngữ được sản sinh :L={x∈A* | S => *x}

3 Các văn phạm :

Trang 19

Ta gọi ngôn ngữ sản sinh bởi một văn phạm G là tập các xâu trên bộ chữ kết

bởi văn phạm G là L(G) vậy thì:

Trang 21

Tiên đề: S Các quy tắc :

Cách bước giải bài toán trên :

Bước 1: dự đoán văn phạm sinh ra ngôn ngữ trên

Bước 2: chứng minh văn phạm đã dự đoán trên sinh và chỉ sinh ra từ ngôn ngữ

đã cho

( Chiều thuận) Văn phạm đã cho sinh ra ngôn ngữ trên đi theo mọi hướng bắt đầu

từ S đi theo mọi ngả đều suy ra các xâu có dạng như ngôn ngữ đã cho

(Chiều nghịch) Mọi xâu có dạng như ngôn ngữ đã cho được suy ra từ S bởi các sản xuất của văn phạm G

Ví dụ :

Ví dụ 1: Cho ngôn ngữ : L={ an bn cn │ n ≥1}

Trang 22

Tìm văn phạm sinh ra ngôn ngữ ấy

Trang 23

Chứng minh văn phạm G sinh ra và chỉ sinh ra L

(Î) G sinh ra L: Ta thấy đi theo mọi ngả bắt đầu từ S ta đều có kết quả là xâu dạng: an bn cn {với n ≥1}

1 2 3 4 7 8

2 4 7

S Æ aBC ÆabCÆ abc

Vậy suy dẫn theo mọi ngả ta đều được xâu có dạng : an bn cn {với n ≥1}

Theo phần chứng minh (_Î) ta có các xâu dạng an bn cn {với n ≥1}

đều được suy dẫn ra từ G

Trang 26

Vậy ngôn ngữ L được đoán nhận bởi văn phạm G

Ngày đăng: 27/03/2015, 12:01

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w