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

Đồ án ngôn ngữ hình thức

61 340 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 61
Dung lượng 1,14 MB

Nội dung

MỤC LỤC LỜI CẢM ƠN .2 LỜI CAM ĐOAN Error! Bookmark not defined LỜI MỞ ĐẦU .3 Chương ĐẠI CƯƠNG VỀ NGÔN NGỮ HÌNH THỨC VÀ CÁCH XÁC ĐỊNH NGÔN NGỮ .5 1.1 GIỚI THIỆU ĐỀ TÀI 1.1.1 Yêu cầu đề tài 1.1.2 Mục đích – Ý nghĩa 1.2 MỘT SỐ KIẾN THỨC VỀ TẬP HỢP VÀ QUAN HỆ .5 1.2.1 Một số khái niệm tập hợp 1.2.2 Các phép toán tập hợp 1.2.3 Ánh xạ, lực lượng tập hợp, tập hữu hạn tập vô hạn 1.3 ĐỒ THỊ VÀ CÂY .8 1.3.1 Đồ thị, đồ thị có hướng vô hướng 1.3.2 Cây 1.4 ĐẠI CƯƠNG VỀ NGÔN NGỮ 1.4.1 Bảng chữ 1.4.2 Xâu (từ) .8 1.4.3 Ngôn ngữ .9 1.4.4 Hệ viết lại 10 1.5 VĂN PHẠM 13 1.5.1 Khái niệm văn phạm 13 1.5.2 Phân lớp văn phạm Chomsky .13 Chương 15 ÔTOMAT HỮU HẠN & BIỂU THỨC CHÍNH QUY .15 MỘT SỐ PHƯƠNG PHÁP TÌM BIỂU THỨC CHÍNH QUY .15 2.1 ÔTÔMAT HỮU HẠN 15 2.1.1 Ôtômát hữu hạn đơn định 15 2.1.2 Ôtômat hữu hạn không đơn định 16 2.2 BIỂU THỨC CHÍNH QUY 17 2.2.1 Định nghĩa 17 2.2.2 Các tính chất đại số biểu thức quy 18 2.2.3 Định lý Arden 18 2.2.4 Định lý .19 2.3 MỘT SỐ PHƯƠNG PHÁP TÌM BIỂU THỨC CHÍNH QUY 19 2.3.1 Phương pháp liệt kê 19 2.3.2 Phương pháp đại số tìm BTCQ sử dụng định lý Arden .21 Chương 24 VĂN PHẠM THUẬT TOÁN CHUẨN HOÁ VĂN PHẠM VỀ DẠNG CHUẨN CHOMSKY 24 3.1 VĂN PHẠM 24 3.1.1 Phân loại văn phạm 24 3.1.2 Văn phạm phi ngữ cảnh .25 3.1.3 Cây suy dẫn nhập nhằng VPPNC .26 3.1.4 Một số khái niệm .27 3.2 MỘT SỐ THUẬT TOÁN GIẢN LƯỢC VĂN PHẠM .29 3.2.1 Loại ký hiệu vô sinh 29 3.2.2 Loại bỏ ký hiệu không đến 30 3.2.3 Loại ε-sản xuất 31 3.2.4 Loại quy tắc đơn 32 3.2.5 Thứ tự giản lược văn phạm 33 3.3 THUẬT TOÁN CHUẨN HÓA VĂN PHẠM VỀ DẠNG CHUẨN CHOMSKY 33 3.4 THUẬT TOÁN CHUẨN HÓA VĂN PHẠM VỀ DẠNG CHUẨN GREIBACH 35 Chương 40 CÀI ĐẶT MINH HỌA 40 4.1 GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH VISUAL BASIC 6.0 40 4.1.1 Các bước xây dựng chương trình với Visual Basic 40 4.1.2 Môi trường làm việc Visual Basic 6.0 40 4.1.3 Lập trình Visual Basic .43 4.2 MỘT SỐ GIAO DIỆN CHÍNH 47 4.2.1 Giản lược văn phạm chuẩn hóa văn phạm dạng chuẩn Chomsky 47 4.2.2 TÌM BIỂU THỨC CHÍNH QUY 49 4.3 MỘT SỐ ĐOẠN MÃ NGUỒN CHÍNH 50 4.3.1 CHUẨN HOÁ VĂN PHẠM .50 4.3.2 TÌM BIỂU THỨC CHÍNH QUY 57 KẾT LUẬN .59 TÀI LIỆU THAM KHẢO 61 LỜI MỞ ĐẦU Ngày có nhiều ngôn ngữ lập trình phần mềm đời phục vụ cho nhu cầu khác Các ngôn ngữ lập trình phần mềm có cấu trúc lệnh, cú pháp riêng có trình biên dịch riêng nhằm giúp người lập trình debug chương trình Muốn có trình biên dịch tốt ngôn ngữ lập trình hay phần mềm cần phải dựa “văn phạm” định theo chuẩn Tuy nhiên người lập trình đưa vào chương trình cấu trúc không phù hợp với văn phạm => Một nhu cầu tất yếu đặt phải chuẩn hoá “văn phạm” người lập trình đưa dạng chuẩn phù hợp Ngôn ngữ hình thức tiền đề để xây dựng trình biên dịch cho ngôn ngữ lập trình phần mềm => Cần thiết phải chuẩn hoá văn phạm dạng chuẩn định nhằm loại bỏ thành phần vô ích hay thành phần gây nên nhập nhằng Bài toán chuẩn hoá văn phạm dạng chuẩn Chomsky vấn đề cần quan tâm NNHT Ôtômat với nội dung Ngoài ra, đề tài nghiên cứu cài đặt phương pháp tìm biểu thức quy từ đồ thị chuyển, phương pháp áp dụng tốt cho lớp toán định, là: Phương pháp đại số tìm BTCQ từ đồ thị chuyển * Mục tiêu đề tài - Nghiên cứu tìm hiểu môn học NNHT Ôtômát - Nghiên cứu tìm hiểu cài đặt số phương pháp, thuật toán để chuẩn hoá văn phạm dạng chuẩn Chomsky - Nghiên cứu cài đặt số thuật toán để tìm BTCQ từ đồ thị chuyển * Phạm vi nghiên cứu - Nghiên cứu cài đặt số thuật toán nhằm chuẩn hoá văn phạm dạng chuẩn Chomsky - Nghiên cứu, tìm hiểu cài đặt thuật toán tìm BTCQ từ đồ thị chuyển * Phương pháp nghiên cứu - Từ nguồn tài liệu mà thầy cô cung cấp trình học môn học NNHT Ôtômát - Từ nguồn tài liệu mà thầy giáo hướng dẫn cung cấp - Từ bạn bè - Sự tâm thân Dự kiến sản phẩm sử dụng cho giáo viên test thi sinh viên dùng để test tập Mặc dù cố gắng nỗ lực trình thực đề tài, kinh nghiệm thân với kiến thức hạn chế nên báo cáo chắn không tránh khỏi khiếm khuyết định Em mong nhận ý kiến đóng góp thầy cô quý độc giả để báo cáo ngày hoàn thiện Chương ĐẠI CƯƠNG VỀ NGÔN NGỮ HÌNH THỨC VÀ CÁCH XÁC ĐỊNH NGÔN NGỮ 1.1 GIỚI THIỆU ĐỀ TÀI 1.1.1 Yêu cầu đề tài “Xây dựng công cụ thực số giải thuật môn học ngôn ngữ hình thức Otomat.” Ngoài giải thuật giản lược văn phạm, đề tài tập trung vào nghiên cứu thực hai giải thuật chuẩn hóa văn phạm dạng chuẩn Chômsky tìm biểu thức quy 1.1.2 Mục đích – Ý nghĩa Hiện nay, nước ta việc áp dụng giảng dạy môn học thông qua mô hình giảng dạy thiết kế máy tính gặp nhiều khó khăn, nguyên nhân thiếu phần mềm hỗ trợ việc học giảng dạy Đề tài không nằm mục đích giúp sinh viên nghành CNTT có công cụ để hỗ trợ thêm cho việc học môn học “Ngôn Ngữ Hình Thức & Otomat” Bộ công cụ cho phép sinh viên giáo viên kiểm tra kết làm tập môn “Ngôn Ngữ Hình Thức & Otomat” 1.2 MỘT SỐ KIẾN THỨC VỀ TẬP HỢP VÀ QUAN HỆ 1.2.1 Một số khái niệm tập hợp Tập hợp cấu trúc liệu bao gồm phần tử có chung hay số tính chất Các phần tử tập hợp phải xác định cách Cách xác định tập hợp: xác định tập hợp cách: - Liệt kê phần tử tập hợp đặt hai dấu móc “{” và”}” Ví dụ: A={1,6,8,9} ; B={a,b,d,e,g} ; … - Dùng tân từ P(x) trỏ hay số tính chất đặc trưng phần tử x tập hợp dạng: + {x | P(x)}: đọc “các phần tử x cho P(x)” + Hoặc {x  X | P(x)}: đọc là:” Tập hợp phần tử x thuộc X cho P(x)” Ví dụ: C={k | k số nguyên tố} D= {i | i số nguyên tồn số nguyên j cho i= * j} 1.2.2 Các phép toán tập hợp a Phép hợp Hợp hai tập hợp A B tập hợp, ký hiệu A  B tính: A  B= {x | x  A x  B} Ví dụ: Cho A={1,2} B={2,3} Vậy thì: A  B = {1,2,3} b Phép giao Giao hai tập hợp A b tập hợp, ký hiệu A ∩ B xác định: A  B= {x | x  A x  B} Ví dụ: Cho A={1,2} B={2,3} Vậy thì: A  B = {2} c Phép hiệu Hiệu tập A B tập hợp, ký hiệu A – B tính A – B= {x | x  A x  B } Ví dụ: Cho A={1,2} B={2,3} Vậy thì: A – B = {1} d Tích đề hai tập hợp Tích đề hai tập hợp A B tập hợp, ký hiệu A x B tính: A x B = { (x,y) | x  A y  B } Ví dụ: Cho A={1,2} B={2,3} Vậy thì: A x B = {(1,2),(1,3),(2,2),(2,3)} e Luỹ thừa Tập luỹ thừa A, tập kí hiệu 2A tính: 2A = {B | B  A} Ví dụ: Cho A={1,2} B={2,3} Vậy thì: A = { Ø,{1},{2},{1,2} } 1.2.3 Ánh xạ, lực lượng tập hợp, tập hữu hạn tập vô hạn - Một ánh xạ từ tập A đến tập B phép cho tương ứng với phần tử - Lực lượng (hay gọi số) tập hợp tổng số phần tử tập hợp - Tập hợp hữu hạn: Tập hợp mà ta đếm hay liệt kê hết tất phần tử - Tập hợp vô hạn: Tập hợp mà ta đếm hay liệt kê phần tử tập hợp 1.3 ĐỒ THỊ VÀ CÂY 1.3.1 Đồ thị, đồ thị có hướng vô hướng - Một đồ thị (V,E), V tập hữu hạn gọi đỉnh, E tập V x V gọi cạnh Nếu x, y  V (x,y)  E x y gọi đỉnh kề (x,y) gọi cạnh Nếu không quan tâm đến thứ tự đỉnh cạnh ta đồ thị vô hướng Nếu quan tâm đến thự đỉnh cạnh đồ thị định hướng - Một đường đồ thị dãy đỉnh v1, v2, …,vn cho với i (1  i < n)  cạnh (vi, vi+1) Nếu đường mà đỉnh đầu cuối trùng gọi chu trình - Người ta thường biểu diễn đồ thị theo cách: ma trận kề hình học 1.3.2 Cây Cây đồ thị liên thông chu trình Thường xét định hướng đồ thị định hướng với tính chất sau: 1) Có đỉnh gọi gốc đỉnh trước có đường từ gốc đến đỉnh khác 2) Mỗi đỉnh khác với gốc có đỉnh trước 3) Các đỉnh kề sau đỉnh thứ tự từ trái qua phải 1.4 ĐẠI CƯƠNG VỀ NGÔN NGỮ 1.4.1 Bảng chữ Một tập hợp kí hiệu gọi bảng chữ hay từ điển Ví dụ: Bộ chữ 26 chữ La Mã Bộ chữ {0,1} 1.4.2 Xâu (từ) - Một dãy liên tiếp kí hiệu bảng chữ gọi từ hay xâu - Số kí hiệu xâu gọi độ dài xâu Ví dụ: v=10101  |v|= - Một xâu có độ dài = gọi xâu rỗng Kí hiệu  - Một xâu u gọi xâu xâu v tạo dãy liên tiếp kí hiệu v - Một xâu xâu u có chứa kí hiệu bên trái u gọi tiền tố Một xâu có chứa kí hiệu cuối bên phải xâu u gọi hậu - Giả sử u v hai xâu ghép tiếp uv xâu tạo viết v liền kề sau u 1.4.3 Ngôn ngữ - Giả sử V bảng chữ Kí hiêu V* tập tất xâu V V* =V* -  tập xâu khác rỗng V - Một ngôn ngữ L bảng chữ V tập xâu V L  V* - Vì ngôn ngữ tập hợp nên áp dụng kí hiệu phép toán tập hợp ngôn ngữ - Các phép toán ngôn ngữ + Phép hợp: L1  L2 = w | w  L1 w  L2  Ví dụ: Cho L1 = {0,1,00,10,111} L2 = {1,01,10,110} Vậy thì: L1  L2 = {0,1,00,10,111,01,110} + Phép giao: L1  L2 = w | w  L1 w  L2  Ví dụ: Cho L1 = {0,1,00,10,111} L2 = {1,01,10,110} Vậy thì: L1  L2 = {1,10} + Phép hiệu: L1 – L2 = w | w  L1 w  L2  Ví dụ: Cho L1 = {0,1,00,10,111} L2 = {1,01,10,110} Vậy thì: L1 – L2 = {0,00,111} + Phép ghép tiếp: Cho L1 L2 ngôn ngữ Ghép tiếp L1 L2 là: L1L2 = uv | u  L1 , v  L2  Ví dụ: Cho L1 = {0,1,00,10,111} L2 = {1,01,10,110} Vậy thì: L1L2={01,001,010,0110,11,101,110,1110,001,0001,0010,00110, 101,1001,1010,10110,1111,11101,11110,111110} + Phép lấy bao đóng L ngôn ngữ Bao đóng L: L* = L0  L1  L2 … Trong : L0 =  L1 = L, Li = LLi-1 Ví dụ: Cho L = {0,1} Vậy thì: L* = {,0,1,00,01,10,11…… } 1.4.4 Hệ viết lại - Biểu diễn ngôn ngữ: 10 4.2 MỘT SỐ GIAO DIỆN CHÍNH 4.2.1 Giản lược văn phạm chuẩn hóa văn phạm dạng chuẩn Chomsky 4.2.1.1 Nhập liệu Đây Form cho phép người dùng nhập vào văn phạm cần giản lược chuẩn hóa Khi nhập ký hiệu đầu, ký hiệu kết thúc, biến nhập xong ta phải click vào nút “OK” Khi nhập quy tắc nhập cho đỉnh click vào nút “OK” chương trình tự động chuyển sang đỉnh tất đỉnh nhập quy tắc Khi ghi văn phạm thành file cách click vào nút “Ghi File” Khi nhập xong liệu vào cho văn phạm ta click vào nút “Chấp Nhận” bắt đầu chương trình với chức có 47 4.2.1.2 Kết Đây Form kết chương trình sau giản lược văn phạm chuẩn hóa văn phạm mà người dùng chọn Chúng ta ghi lại văn phạm kết thành file cách click vào nút “GHI FILE KẾT QUẢ” Sau click vài nút “QUAY LẠI” để chọn chức khác chương trình 48 4.2.2 TÌM BIỂU THỨC CHÍNH QUY 4.2.2.1 Dữ liệu nhập vào dạng bảng Đây Form để người dùng nhập liệu dạng bảng cho Ôtômát hữu hạn cần tìm BTCQ Ở chương trình sử dụng trạng thái qi trạng thái chương trình mặc định q i 49 4.2.2.2 Dữ liệu nhập vào dạng đồ thị Đây Form cho phép người dùng nhập liệu cho văn phạm dạng đồ thị chuyển Tương tự, đỉnh mặc định qi , phải nhập nhãn cho đường 4.3 MỘT SỐ ĐOẠN MÃ NGUỒN CHÍNH 4.3.1 CHUẨN HOÁ VĂN PHẠM 4.3.1.1 Loại bỏ quy tắc rỗng Public Sub Quytacrong(P0() As String, n As Integer, X0, D0 As String) Dim i, j, h, k, l, q, r, Q1, d2, dem As Integer Dim d As Integer Dim P2(1000), P3(1000), t(1000) As String Dim st As String h=0 For i = To n Step For j = To Len(P0(i)) Step 50 If (StrComp(Mid(P0(i), j, 1), "^") = 0) Then t(h) = Mid$(P0(i), 1, 1) h=h+1 End If Next Next q=h k=0 Do While (q k) k=q For i = To n Step Q1 = For j = To Len(P0(i)) Step For l = To q Step If (StrComp(Mid$(P0(i), j, 1), t(l)) = 0) Then Q1 = Q1 + Next Next If (Q1 = Len(P0(i)) - 3) Then d2 = For l = To q Step If (StrComp(Mid$(P0(i), 1, 1), t(l)) = 0) Then d2 = d2 + Next If (d2 = 0) Then t(q) = Mid$(P0(i), 1, 1) q=q+1 End If End If Next Loop dem = q 'Tim tap quy tac moi k=0 For i = To n Step If (StrComp(Mid$(P0(i), 4, 1), "^") = 0) Then 51 Else: P1(k) = P0(i) k=k+1 End If Next d=0 For i = To k - P3(d) = P1(i) d=d+1 Next l=0 d2 = Do While (d2 k) d2 = k For i = To k - h=4 Do While (h < Len(P1(i))) For j = h To Len(P1(i)) For q = To dem - If (StrComp(Mid$(P1(i), j, 1), t(q)) = 0) Then P2(l) = Mid$(P1(i), 1, j - 1) & Mid$(P1(i), j + 1, Len(P1(i)) - j) D1 = For r = To d - If (StrComp(P3(r), P2(l)) = And StrComp(P2(l), "") 0) Then D1 = D1 + Next If (D1 = 0) Then P3(d) = P2(l) P1(k) = P3(d) k=k+1 d=d+1 End If End If Next Next h=h+1 52 Loop Next Loop x1 = X0 D1 = D0 str = "" For i = To d - P2(i) = P3(i) Next h=d-1 Do While (h -1) st = Mid(P3(0), 1, 1) k=0 For i = To h If (StrComp(Mid(P3(i), 1, 1), st) = 0) Then str = str & P3(i) & ";" Else P2(k) = P3(i) k=k+1 End If Next i For i = To k - P3(i) = P2(i) Next h=k-1 Loop If (Len(str) > 0) Then str = Mid(str, 1, Len(str) - 1) End If End Sub 4.3.1.2 Chuẩn hoá Chômsky Public Sub Chomsky(P0() As String, n As Integer, X0, D0 As String) Dim i, j, h, k, l, q, r, Q1, q2, m, m1, m2, t, t1, t2, s, dem As Integer Dim d As Integer 53 Dim P2(1000), P3(1000), P4(1000), P5(1000), P6(1000), TAM(1000) As String D1 = "" k=0 t=0 For i = To n dem = For l = To Len(X0) If (Len(P0(i)) = And StrComp(Mid$(P0(i), 4, 1), Mid$(X0, l, 1)) = 0) Then P1(k) = P0(i) k=k+1 Else: dem = dem + End If Next l If (dem = Len(X0)) Then P2(t) = P0(i) t=t+1 End If Next i n=t-1 s=k r=1 m=0 For i = To n For j = To Len(P2(i)) P5(m) = P5(m) & "," & Mid$(P2(i), j, 1) Next j m=m+1 Next i st = "ABCDEFGHIJKLMNOPSQRTUVWXYZ" For t = To Len(st) dem = For h = To Len(D0) If (StrComp(Mid$(st, t, 1), Mid$(D0, h, 1)) = 0) Then dem = dem + Next h 54 If (dem = 0) Then x = Mid$(st, t, 1) Exit For End If Next t h=1 For i = To n For j = To Len(P2(i)) For l = To Len(X0) If (StrComp(Mid$(P2(i), j, 1), Mid$(X0, l, 1)) = 0) Then d=0 For q = To r Text5 = Text5 & P3(q) & ";" If (StrComp(Mid$(P2(i), j, 1), Mid$(P3(q), 5, 1)) = 0) Then P2(i) = Replace(P2(i), Mid$(P2(i), j, 1), Mid$(P3(q), 1, 2)) P5(i) = Replace(P5(i), Mid$(P5(i), * j, 1), Mid$(P3(q), 1, 2)) d=d+1 End If Next q If (d = 0) Then P4(h) = x & h P3(r) = P4(h) & "->" & Mid$(P2(i), j, 1) P2(i) = Replace(P2(i), Mid$(P2(i), j, 1), P4(h)) P5(i) = Replace(P5(i), Mid$(P5(i), * j, 1), P4(h)) D0 = D0 & "," & P4(h) h=h+1 r=r+1 End If End If Next l Next j Next i For i = To r - P1(s) = P3(i) 55 s=s+1 Next i For i = To n dem = For r = To Len(P5(i)) If (StrComp(Mid$(P5(i), r, 1), ",") = 0) Then dem = dem + Next r If (dem = 5) Then P1(s) = P2(i) s=s+1 Else h=1 q2 = InStr(1, P5(i), "-") x = Mid$(P5(i), 2, q2 - 3) t=7 k = InStr(t + 1, P5(i), ",") P1(s) = Mid$(P5(i), 2, 1) & "->" & Mid$(P5(i), 8, k - t - 1) & x & h D0 = D0 & "," & x & h s=s+1 h=h+1 Do While (k 0) t=k k = InStr(t + 1, P5(i), ",") If (k = 0) Then P1(s - 1) = Mid$(P1(s - 1), 1, Len(P1(s - 1)) - 2) & Mid$(P5(i), t + 1, Len(P5(i)) t) Else P1(s) = x & h - & "->" & Mid$(P5(i), t + 1, k - t - 1) & x & h D1 = D1 & x & h & "," s=s+1 h=h+1 End If Loop End If Next i 56 D1 = D0 x1 = X0 str = "" For i = To s - str = str & P1(i) & ";" Next If (Len(str) > 0) Then str = Mid(str, 1, Len(str) - 1) End If End Sub 4.3.2 TÌM BIỂU THỨC CHÍNH QUY Dim i, j, dem As Integer Dim x, y, z, v, u As String For i = To sodinh - If (Len(frmdem.Text1(i)) > 0) Then frmdem.Text1(i) = The(i) Len(frmdem.Text1(i)) - 1) & "=" & Mid(frmdem.Text1(i), 1, Else frmdem.Text1(i) = The(i) & "=" & frmdem.Text1(i) End If Next ' For i = To sodinh - frmdem.Text1(i) = Dat_nhan_tu_chung(frmdem.Text1(i)) frmdem.Text1(i) = Giai_pt_lan1(frmdem.Text1(i)) Next For j = sodinh - To Step -1 dem = For k = To Len(frmdem.Text1(j)) If (StrComp(Mid(frmdem.Text1(j), 1, 1), Mid(frmdem.Text1(j), k, 1)) = 0) Then dem = dem + Next For i = To j - If (i j And dem = 0) Then 57 frmdem.Text1(i) = Thay_the(frmdem.Text1(j), frmdem.Text1(i)) frmdem.Text1(i) = Dat_nhan_tu_chung(frmdem.Text1(i)) frmdem.Text1(i) = Giai_pt_lan1(frmdem.Text1(i)) End If Next Next For j = To sodinh - For i = j + To sodinh - If (i j) Then frmdem.Text1(i) = Thay_the(frmdem.Text1(j), frmdem.Text1(i)) frmdem.Text1(i) = Giai_pt_lan1(frmdem.Text1(i)) End If Next Next For i = To sodinh - frmdem.Text1(i) = Replace(frmdem.Text1(i), "-", "+", 1) Next ' For i = To sodinhkt j = Val(Mid(DKT(i), 2, 1)) txtketqua.SelText = Mid(frmdem.Text1(j), 3, Len(frmdem.Text1(j)) - 2) & "+" Next If (Len(txtketqua) > 1) Then txtketqua = "L = " & Mid(txtketqua, 1, Len(txtketqua) - 1) Else txtketqua = " Khong tim duoc BTCQ vi khong den duoc trang thai dich !" txtketqua.ForeColor = QBColor(2) End If cmdketqua.Enabled = False 58 KẾT LUẬN Ngày nay, lý thuyết ngôn ngữ hình thức, ôtômát lý thuyết tính toán hình thức hóa thành mô hình toán học tương ứng cho ngôn ngữ lập trình, cho máy tính, cho trình xử lý thông tin trình tính toán nói chung Ôtômát ngôn ngữ hình thức áp dụng rộng rãi nhiều lĩnh vực khoa học ứng dụng như: mô hình hóa, mô hệ thống tính toán, kỹ thuật dịch, thông dịch, trí tuệ nhân tạo, công nghệ tri thức,… Nhằm đáp ứng nhu cầu giảng dạy, học tập nghiên cứu sinh viên ngành Công nghệ thông tin, em xây dựng thành công chương trình giản lược văn phạm, chuẩn hóa văn phạm dạng chuẩn Chomsky tìm biểu thức quy Với đề tài “Nghiên cứu cài đặt số thuật toán chuẩn hóa văn phạm tìm biểu thức quy ngôn ngữ hình thức” em hiểu ý nghĩa văn phạm, ngôn ngữ lĩnh vực khoa học ứng dụng Tuy nhiên, thời gian có hạn kiến thức hạn chế nên đề tài số thiếu sót:  Chương trình có giao diện chưa bắt mắt  Đối với chức giản lược văn phạm việc biểu diễn văn phạm chưa khoa học  Đối với chức tìm BTCQ chương trình chưa áp dụng cho nhiều trạng thái, trạng thái chương trình mặc định sẵn Hướng phát triển:  Kết hợp chương trình với việc cung cấp lý thuyết  Mở rộng việc tìm BTCQ với nhiều trạng thái 59  Xây dựng thêm thuật toán Ngôn ngữ hình thức Ôtômát giúp cho chương trình đầy đủ 60 TÀI LIỆU THAM KHẢO [1] Nguyễn Văn Ba, Ngôn ngữ hình thức, NXB Khoa học kỹ thuật, 2002 [2] Đặng Huy Ruận, Lý thuyết ngôn ngữ hình thức Otomat, NXB Đại học quốc gia Hà Nội, 2002 [3] KENNETH H ROSEN, (Người dịch: Phạm Văn Thiều & Đặng Hữu Thịnh) Toán học rời rạc ứng dụng tin học, NXB Khoa học kỹ thuật Hà nội, 2003 [4] K.L.P MISHRA and N CHANDRASEKARAN, Theory of computer science (Automata, languages and Compulataion), Second Edition, NXB Prentice Hall of India, 2001 [5] J.E.Hopcroft, J.D.Ullman, Formal Languages and Their Raltion to Automata, Addison – Wesley, 1969 [6] J.E.Hopcroft, J.D.Ullman, Introduction to Automata Theory, Languages and Computation, Addison – Wesley, 1973 61

Ngày đăng: 04/08/2016, 08:40

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Nguyễn Văn Ba, Ngôn ngữ hình thức, NXB Khoa học và kỹ thuật, 2002 Khác
[2]. Đặng Huy Ruận, Lý thuyết ngôn ngữ hình thức và Otomat, NXB Đại học quốc gia Hà Nội, 2002 Khác
[3]. KENNETH H. ROSEN, (Người dịch: Phạm Văn Thiều &amp; Đặng Hữu Thịnh) Toán học rời rạc ứng dụng trong tin học, NXB Khoa học và kỹ thuật Hà nội, 2003 Khác
[4]. K.L.P MISHRA and N. CHANDRASEKARAN, Theory of computer science (Automata, languages and Compulataion), Second Edition, NXB Prentice Hall of India, 2001 Khác
[5]. J.E.Hopcroft, J.D.Ullman, Formal Languages and Their Raltion to Automata, Addison – Wesley, 1969 Khác
[6]. J.E.Hopcroft, J.D.Ullman, Introduction to Automata Theory, Languages and Computation, Addison – Wesley, 1973 Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w