NGÔN NGỮ PHI NGỮ CẢNH VÀ NGÔN NGỮ KHÔNG PHI NGỮ CẢNH, VIẾT CHƯƠNG TRÌNH RAM CHUẨN VÀ RAM THÔ SƠ KIỂM TRA ĐIỀU KIỆN CÁC SỐ a,b,c CHO TRƯỚC MỘT CÁCH NGẪU NHIÊN LẦN LƯỢT LÀ CÁC CẠNH CỦA TAM GIÁC THƯỜNG (TIỂU LUẬN LÝ THUYẾT TÍNH TOÁN)

34 793 0
NGÔN NGỮ PHI NGỮ CẢNH VÀ NGÔN NGỮ KHÔNG PHI NGỮ CẢNH, VIẾT CHƯƠNG TRÌNH RAM CHUẨN VÀ RAM THÔ SƠ KIỂM TRA ĐIỀU KIỆN CÁC SỐ a,b,c CHO TRƯỚC MỘT CÁCH NGẪU NHIÊN LẦN LƯỢT LÀ CÁC CẠNH CỦA TAM GIÁC THƯỜNG (TIỂU LUẬN LÝ THUYẾT TÍNH TOÁN)

Đ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

PHẦN LÝ THUYẾT NGÔN NGỮ PHI NGỮ CẢNH VÀ NGÔN NGỮ KHÔNG PHI NGỮ CẢNH I .BỔ ĐỀ PUMPING CHO NGÔN NGỮ PHI NGỮ CẢNH (THE PUMPING LEMMA FOR CONTEXTFREE LANGUAGES) Ngôn ngữ phi ngữ cảnh (CFL) có hai tính chất, một tính chất dưới dạng ngôn ngữ và dưới dạng automat đẩy xuống (PDA). Không có cách tiếp cận làm cho ngôn ngữ phi ngữ cảnh trực tiếp, rõ ràng để có ngôn ngữ hình thức mà không phải là phi ngữ cảnh. Tuy nhiên, với ngôn ngữ tự nhiên đưa ra giả thuyết một vài giới hạn của ngữ pháp phi ngữ cảnh (CFG). Bổ đề Puming đã được đưa ra trước đó từ thực tế một chuỗi nhập đủ dài gây ra hiện tượng automat hữu hạn chuyển đổi qua một vài trạng thái. Từ sự quan sát này cho phép kết luận một chuỗi bất ký x có thể được viết dưới dạng x = uvw, trong đó tất cả các chuỗi ở dạng uviw cũng chấp nhập bởi automat hữu hạn. Trong trường hợp CFL, nó dễ dàng để đạt được một kết quả có thể so sánh với việc sử dụng ngữ pháp thay vì sủ dụng PDA. Tuy nhiên, cách này cũng nảy sinh những vấn đề tương tự. Giả sử một dẫn xuất trong một CFG G liên quan đến một biến A nhiều hơn một lần được biểu diễn như sau: S  vAz  vwAyz  vwxyz trong đó, v, w, x, y, z  . Nói cách khác, A  x, nhưng A  wAy là tốt. Có thể viết: S  vAz  vwAyz  vw2Ay2z  vw3Ay3z  … và x có thể được dẫn xuất từ mỗi A, từ đó có thể kết luận rằng tất cả chuỗi vxz, vwxyz, vw2xy2z, ... thuộc L(G). Để có được bổ đề nhảy, bấy giờ cần phải chỉ ra rằng sự lắp lại của biến trong dẫn xuất của mọi chuỗi đủ dài trong L(G). Vấn đề này cũng có lợi để tăng vài giới hạn trên các chuỗi v, w, x, y, và z cũng giống như trên các chuỗi v, u và w trong trường hợp đơn giản hơn. Sự xem xét sẽ được dễ dàng dàng hơn nếu có thể giả sử một cây biểu diễn dẫn xuất là cây nhị phân, với nghĩa đơn giản là không có nút nào có nhiều hơn 2 nút con. Vấn đề này có thể được bảo đảm bằng cách trình bày ngữ pháp dưới dạng chuẩn Chomsky. Kết quả là, có thể mất chuỗi rỗng từ ngôn ngữ nhưng không phải là vấn đề vì kết quả mong muốn chỉ bao gồm các chuỗn dài. Một đường đi trong cây nhị phân hoặc là rỗng hoặc bao gồm một nút, một trong những hậu duệ của nó, và tất cả các nút trung gian. Chiều dài của đường đi là số nút của đường đi, và chiều cao của cây nhị phân là chiều dài của đường đi dài nhất. Việc nhận được một biến để lặp lại trong một dẫn xuất được thực hiện bằng cách cho biến đó xuất hiện 2 lần trên cùng đường đi trong cây dẫn xuất, sao cho bảo đảm một đường đi đủ dài. Bổ đề sau (8.1) chỉ ra rằng, một đường đi đủ dài là chắc chắn xảy ra nếu chiều dài của chuỗi (nghĩa là số nút trong bất kỳ cây dẫn xuất) là đủ lớn. Bổ đề 8.1 Cho h  1, một cây nhị phân có nhiều hơn 2h 1 nút lá thì phải có độ cao lớn hơn h.

Tiểu luận mơn Lý Thuyết Tính Tốn GVHD: PGS TS Phan Huy Khánh BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG - - ĐỀ TÀI TIỂU LUẬN Đề tài: NGÔN NGỮ PHI NGỮ CẢNH VÀ NGƠN NGỮ KHƠNG PHI NGỮ CẢNH, VIẾT CHƯƠNG TRÌNH RAM CHUẨN VÀ RAM THÔ SƠ KIỂM TRA ĐIỀU KIỆN CÁC SỐ a,b,c CHO TRƯỚC MỘT CÁCH NGẪU NHIÊN LẦN LƯỢT LÀ CÁC CẠNH CỦA TAM GIÁC THƯỜNG Giáo viên hướng dẫn: PGS TS Phan Huy Khánh Học viên thực hiện: Lê Hà Thanh Huỳnh Thiếu Duy Doãn Thị Ngọc Thi Đà Nẵng, 5-2010 HVTH: Lê Hà Thanh – Huỳnh Thiếu Duy – Doãn Thị Ngọc Thi Trang Tiểu luận mơn Lý Thuyết Tính Tốn GVHD: PGS TS Phan Huy Khánh PHẦN LÝ THUYẾT NGÔN NGỮ PHI NGỮ CẢNH VÀ NGÔN NGỮ KHÔNG PHI NGỮ CẢNH I BỔ ĐỀ PUMPING CHO NGÔN NGỮ PHI NGỮ CẢNH (THE PUMPING LEMMA FOR CONTEXT-FREE LANGUAGES) Ngơn ngữ phi ngữ cảnh (CFL) có hai tính chất, tính chất dạng ngơn ngữ dạng automat đẩy xuống (PDA) Khơng có cách tiếp cận làm cho ngôn ngữ phi ngữ cảnh trực tiếp, rõ ràng để có ngơn ngữ hình thức mà khơng phải phi ngữ cảnh Tuy nhiên, với ngôn ngữ tự nhiên đưa giả thuyết vài giới hạn ngữ pháp phi ngữ cảnh (CFG) Bổ đề Puming đưa trước từ thực tế chuỗi nhập đủ dài gây tượng automat hữu hạn chuyển đổi qua vài trạng thái Từ quan sát cho phép kết luận chuỗi bất ký x viết dạng x = uvw, tất chuỗi dạng uv iw chấp nhập automat hữu hạn Trong trường hợp CFL, dễ dàng để đạt kết so sánh với việc sử dụng ngữ pháp thay sủ dụng PDA Tuy nhiên, cách nảy sinh vấn đề tương tự Giả sử dẫn xuất CFG G liên quan đến biến A nhiều lần biểu diễn sau: S ⇒* vAz ⇒* vwAyz ⇒* vwxyz đó, v, w, x, y, z ∈ ∑* Nói cách khác, A ⇒* x, A ⇒* wAy tốt Có thể viết: S ⇒* vAz ⇒* vwAyz ⇒* vw2Ay2z ⇒* vw3Ay3z ⇒* … HVTH: Lê Hà Thanh – Huỳnh Thiếu Duy – Doãn Thị Ngọc Thi Trang Tiểu luận mơn Lý Thuyết Tính Tốn GVHD: PGS TS Phan Huy Khánh x dẫn xuất từ A, từ kết luận tất chuỗi vxz, vwxyz, vw2xy2z, thuộc L(G) Để có bổ đề nhảy, cần phải lắp lại biến dẫn xuất chuỗi đủ dài L(G) Vấn đề có lợi để tăng vài giới hạn chuỗi v, w, x, y, z giống chuỗi v, u w trường hợp đơn giản Sự xem xét dễ dàng dàng giả sử biểu diễn dẫn xuất nhị phân, với nghĩa đơn giản khơng có nút có nhiều nút Vấn đề bảo đảm cách trình bày ngữ pháp dạng chuẩn Chomsky Kết là, chuỗi rỗng từ ngơn ngữ khơng phải vấn đề kết mong muốn bao gồm chuỗn dài Một đường nhị phân rỗng bao gồm nút, hậu duệ nó, tất nút trung gian Chiều dài đường số nút đường đi, chiều cao nhị phân chiều dài đường dài Việc nhận biến để lặp lại dẫn xuất thực cách cho biến xuất lần đường dẫn xuất, cho bảo đảm đường đủ dài Bổ đề sau (8.1) rằng, đường đủ dài chắn xảy chiều dài chuỗi (nghĩa số nút dẫn xuất) đủ lớn Bổ đề 8.1 Cho h ≥ 1, nhị phân có nhiều h -1 nút phải có độ cao lớn h HVTH: Lê Hà Thanh – Huỳnh Thiếu Duy – Doãn Thị Ngọc Thi Trang Tiểu luận mơn Lý Thuyết Tính Tốn GVHD: PGS TS Phan Huy Khánh Chứng minh: Để chứng minh bổ đề, sử dụng phương pháp quy nạp dựa vào h để chứng minh mệnh đề phản chứng: Nếu chiều cao nhị phân khơng lớn h số nút không lớn 2h -1 Thật vậy, với h = 1, dễ thấy nhị phân có chiều cao có nút khơng nhiều có khơng nghiều nút (2 1-1 = nút lá) Giả sử với h = k ≥ 1, nhị phân có chiều cao nhỏ k không nút không nhiều 2k – Phải chứng minh, mệnh đề với trường hợp h = k+1, nghĩa T có chiều cao ≤ k+1 số nút ≤ 2k Cho T với chiều cao không lớn k+1 Nếu nút T vxz ∈ L(G′) - mâu thuẫn với chuỗi nhỏ u Tương tự, L(G′) hữu hạn phải chuỗi u ∈ L(G′) với n ≤ |u| < 2n; chứng minh dựa kết trả chương Bởi thu thuật toán giải bên Giải thuật giải cho vấn đề (Cho CFG G, L(G) = ∅ khơng? L(G) có hữu hạn khơng?) Đầu tiên, kiểm tra Λ mơ tả G hay không, sử dụng giải thuật cho vấn đề thành viên Nếu có thể, L(G) ≠ ∅ Trong trường hợp, cho G′ văn phạm thuộc dạng chuẩn Chomsky mơ tả L(G) – {Λ}, có n = 2p+1, mà P số biến G′ Tăng biến i với giá trị ban đầu 1, kiểm tra chuỗi có độ dài i cho thành viên L(G) Nếu khơng có i < n có chuỗi độ dài i L(G′) Λ ∉ L(G) sau L(G′) = L(G) = ∅ HVTH: Lê Hà Thanh – Huỳnh Thiếu Duy – Doãn Thị Ngọc Thi Trang 27 Tiểu luận mơn Lý Thuyết Tính Tốn GVHD: PGS TS Phan Huy Khánh Nếu khơng có i mà n ≤ i < 2n có chuỗi độ dài i L(G), L(G) hữu hạn Nếu có chuỗi x ∈ L(G) với n ≤ |x| < 2n L(G) hữu hạn Các thuật tốn dễ dàng mô tả không dễ để mang thực May thay, với vấn đề vấn đề thành viên với quan trọng tìm thấy giải pháp thích hợp, có nhiều thuật tốn có hiệu [ xem sách Earley (Communications of ACM 13(2): 94-102,1970] Nếu ta xuống xa có danh sách vấn đề giải chương 5, công thức cho CFG PDA thay biểu thức qui FA Ta đụng đến vấn đề mà khơng có thuật tốn giải khả thi, chí hiệu Lấy ví dụ, cho CFL, có chuỗi mơ tả 2? Thuật tốn chương giải vấn đề thu cho FA phụ thuộc vào việc lớp ngơn ngữ qui đóng phép giao phép bù Việc lớp CFL khơng đóng phép tốn khơng phải giải quyết, chương 12 nói đến HVTH: Lê Hà Thanh – Huỳnh Thiếu Duy – Doãn Thị Ngọc Thi Trang 28 Tiểu luận mơn Lý Thuyết Tính Tốn GVHD: PGS TS Phan Huy Khánh PHẦN BÀI TẬP Đề Viết chương trình RAM chuẩn RAM thơ sơ kiểm tra điều kiện số a, b, c cho trước cách ngẫu nhiên cạnh tam giác thường Thuật toán Bước 1: Nhập vào số a, b, c Bước 2: Nếu (a > b > c > 0) thực bước 3, ngược lại kết luận a, b, c cạnh tam giác Bước 3: Nếu (a + b > c) (a + c > b) (b + c > a) sang bước 4, ngược lại kết luận a, b, c cạnh tam giác Bước 4: Nếu (a = b) (a = c ) (b = c) kết luận a, b, c khơng phải cạnh tam giác thường, ngược lại sang bước Bước 5: Nếu (a2 + b2 = c2) (a2 + c2 = b2) (b2 + c2 = a2) kết luận a, b, c khơng phải cạnh tam giác thường Ngược lại, kết luận a, b, c cạnh tam giác thường Chú ý: Việc kiểm tra (a + b > c) and (a + c > b) and (b + c > a) tương đương kiểm tra (a + b – c > 0) and (a + c – b> 0) and (b + c – a > 0) ba số a > 0, b > c > Việc kiểm tra (a = b) (b = c) (c = a) tương đương kiểm tra(a – b = 0) (b – c = 0) (c – a = 0) HVTH: Lê Hà Thanh – Huỳnh Thiếu Duy – Doãn Thị Ngọc Thi Trang 29 Tiểu luận mơn Lý Thuyết Tính Tốn GVHD: PGS TS Phan Huy Khánh Việc kiểm tra (a2 + b2 = c2) (a2 + c2 = b2) (b2 + c2 = a2) tương đương kiểm tra (a2 + b2 – c2 = 0) (a2 + c2 – b2 = 0) (b2 + c2 – a2 = 0) Chương trình RAM chuẩn ;Nhập vào số a, b, c READ ;R1 ← a /Đọc a vao R1 READ ;R2 ← b //Doc b vao R2 READ ;R3 ← c //Doc c vao R3 ;Kiểm tra a, b, c cạnh tam giac ;Kiểm tra a > LOAD ;ACC ← JGTZ KTB ;Neu > thi nhay den KTB JUPM NO ;Neu khong nhay den NO ;ACC ← JGTZ KTC ;Neu > thi nhay den KTC JUPM NO ;Neu khong nhay den NO ;ACC ← JGTZ KT1 ;Neu > thi nhay den KT JUPM NO ;Neu khong nhay den NO // nap a vao ACC ; Kiểm tra b > KTB: LOAD // nap b vao ACC ; Kiểm tra c > KTC: LOAD // nap c vao ACC ;Kiểm tra: a + b – c > LOAD ;ACC ← // nap a vao ACC ADD ;ACC ← ACC> + //a + b SUB ;ACC ← – //a + b – c JGTZ KT1 ;Neu > thi nhay den KT1 JUPM KT: NO ;Neu khong nhay den NO ;Kiểm tra: a +c – b > ;ACC ← // nap a vao ACC ADD ;ACC ← + //a +c SUB ;ACC ← - //a + c – b KT1: LOAD HVTH: Lê Hà Thanh – Huỳnh Thiếu Duy – Doãn Thị Ngọc Thi Trang 30 Tiểu luận môn Lý Thuyết Tính Tốn GVHD: PGS TS Phan Huy Khánh JGTZ KT2 ;Neu > thi nhay den KT2 JUPM NO ;Neu khong nhay den NO ;Kiểm tra: b + c – a > ;ACC ← // nap b vao ACC ADD ;ACC ← + //b + c SUB ;ACC ← - //b + c – a JGTZ KT3 ;Neu > thi nhay den KT3 JUPM NO ;Neu khong nhay den NO KT2: LOAD ;Kiểm tra tam giác cân ;Kiểm tra a – b = (a = b) ;ACC ← // nap a vao ACC SUB ;ACC ← – //a – b JZERO NO ;Neu > thi nhay den NO KT3: LOAD ;Kiểm tra b – c = (b = c) LOAD ;ACC ← // nap b vao ACC SUB ;ACC ← – //b – c NO ;Neu = thi nhay den NO JZERO ;Kiểm tra a – c = (a = c) LOAD ;ACC ← // nap c vao ACC SUB ;ACC ← – //c – a JZERO NO ;Neu = thi nhay den NO ;Kiểm tra tam giác vng ;Tính: a2 (R1 = R1*R1) LOAD ; ← MULT ; ← * STORE ; ← ;Tính: b (R2 = R2*R2) LOAD ; thi nhay den NO WRITE A:1 ;IN RA GIA TRI //Ton tai tam giac JUMP NO: END WRITE A:0 ;IN RA GIA TRI //Khong phai tam giac END: HALT Chương trình Pascal minh họa Begin Read(R1); Read(R2); Read(R3); If (R1 > 0) Then If (R2 > 0) Then If (R3 > 0) Then HVTH: Lê Hà Thanh – Huỳnh Thiếu Duy – Doãn Thị Ngọc Thi Trang 32 Tiểu luận mơn Lý Thuyết Tính Tốn GVHD: PGS TS Phan Huy Khánh If (R1 + R2 – R3 > 0) Then If (R1 + R3 – R2 > 0) Then If (R2 + R3 – R1 > 0) Then If (R1 – R2 = 0) Then Goto NO Else If (R2 – R3 = 0) Then Goto NO Else If (R3 – R1 = 0) Then Goto NO Else If (R1*R1 + R2*R2 – R3*R3 = 0) Then Goto NO Else If (R1*R1 + R3*R3 – R2*R2 = 0) Then Goto NO Else If (R2*R2 + R3*R3 – R1*R1 = 0) Then Goto NO Else Write (1) {thoả mãn cạnh tam giác thường} Else Goto NO {R2 + R3 – R1 ≤ 0} Else Goto NO {R1 + R3 – R2 ≤ 0} Else Goto NO; {R1 + R2 – R3 ≤ 0} Else Goto NO {R3 ≤ 0) Else Goto NO {R2 ≤ 0} NO: Else Write(0); {Bộ số cạnh tam giác thường} HVTH: Lê Hà Thanh – Huỳnh Thiếu Duy – Doãn Thị Ngọc Thi Trang 33 Tiểu luận mơn Lý Thuyết Tính Tốn GVHD: PGS TS Phan Huy Khánh End HVTH: Lê Hà Thanh – Huỳnh Thiếu Duy – Doãn Thị Ngọc Thi Trang 34 ... luận mơn Lý Thuyết Tính Tốn GVHD: PGS TS Phan Huy Khánh PHẦN BÀI TẬP Đề Viết chương trình RAM chuẩn RAM thơ sơ kiểm tra điều kiện số a, b, c cho trước cách ngẫu nhiên cạnh tam giác thường Thuật...Tiểu luận mơn Lý Thuyết Tính Tốn GVHD: PGS TS Phan Huy Khánh PHẦN LÝ THUYẾT NGÔN NGỮ PHI NGỮ CẢNH VÀ NGÔN NGỮ KHÔNG PHI NGỮ CẢNH I BỔ ĐỀ PUMPING CHO NGÔN NGỮ PHI NGỮ CẢNH (THE PUMPING... dụ với ngơn ngữ khơng phải CFL, thấy điều dễ dàng Định lí 8.3: Cho L1, L2 ngơn ngữ phi ngữ cảnh, L1 ∩ L2 ngôn ngữ phi ngữ cảnh Nếu L ngơn ngữ phi ngữ cảnh L′ (bù L) ngôn ngữ phi ngữ cảnh Chứng

Ngày đăng: 11/11/2014, 15:21

Từ khóa liên quan

Mục lục

  • Bổ đề 8.1

  • Định lý 8.1

  • Định lý 8.1a (Bổ đề Puming cho ngôn ngữ phi ngữ cảnh)

  • Ví dụ 8.1

  • Ví dụ 8.2

  • Ví dụ 8.3.

  • Ví dụ 8.4

  • Định lý 8.2 (Bổ đề Ogden)

  • Bổ đề 8.2

  • Ví dụ 8.5.

  • Ví dụ 8.6

  • PHẦN BÀI TẬP

    • Đề bài

    • Thuật toán

    • Chương trình RAM chuẩn

    • Chương trình Pascal minh họa

    • TÀI LIỆU THAM KHẢO

Tài liệu cùng người dùng

Tài liệu liên quan