Ôtômát hữu hạn và ứng dụng

45 54 0
Ôtômát hữu hạn và ứng dụng

Đ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

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI KHOA TOÁN ====== TRẦN THỊ THU THỦY ÔTÔMÁT HỮU HẠN VÀ ỨNG DỤNG KHĨA LUẬN TỐT NGHIỆP ĐẠI HỌC Chun ngành: Tốn ứng dụng HÀ NỘI - 2017 TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI KHOA TOÁN ====== TRẦN THỊ THU THỦY ƠTƠMÁT HỮU HẠN VÀ ỨNG DỤNG KHĨA LUẬN TỐT NGHIỆP ĐẠI HỌC Chuyên ngành: Toán ứng dụng Người hướng dẫn khoa học TS KIỀU VĂN HƯNG HÀ NỘI - 2017 Khóa luận tốt nghiệp Trần Thị Thu Thủy LỜI CẢM ƠN Trước hết em xin gửi lời cảm ơn đến thầy Kiều Văn Hưng, người hướng dẫn em nhiều suốt q trình nghiên cứu hồn thành khóa luận Sự hướng dẫn thầy giúp em có hiều biết số vấn đề liên quan đến ôtômát Đồng thời em xin gửi lời cảm ơn chân thành đến thầy cô môn thầy cô trường trang bị cho em kiến thức cần thiết để em hồn thành khóa luận Em xin gửi lời cảm ơn đến thành viên lớp K39A_Toán, người bạn động viên tạo điều kiện để em nghiên cứu hồn thành khóa luận Sau em xin gửi lời cảm ơn đến gia đình ln bên cạnh ủng hộ em học tập nghiên cứu Hà Nội, Ngày 23 tháng 04 năm 2017 Sinh viên Trần Thị Thu Thủy Khóa luận tốt nghiệp Trần Thị Thu Thủy LỜI CAM ĐOAN Khóa luận kết thân em trình nghiên cứu Bên cạnh đó, quan tâm hướng dẫn thầy khoa tốn, đặc biệt hướng dẫn nhiệt tình thầy giáo Kiều Văn Hưng Trong q trình nghiên cứu hồn thành khóa luận em có tham khảo số tài liệu ghi ghi phần tài liệu tham khảo Em xin cam đoan kết đề tài “ ÔTÔMÁT HỮU HẠN VÀ ỨNG DỤNG “ khơng có trùng lặp chép đề tài khác Nếu sai em xin hoàn toàn chịu trách nhiệm Người cam đoan Sinh viên Trần Thị Thu Thủy Khóa luận tốt nghiệp Trần Thị Thu Thủy MỤC LỤC MỞ ĐẦU CHƯƠNG 1: LÝ THUYẾT MỞ ĐẦU 1.1 Ngôn ngữ 1.1.1 Bảng chữ 1.1.2 Xâu 1.1.3 Các phép toán xâu 1.1.4 Ngôn ngữ 1.1.5 Các phép tốn ngơn ngữ CHƯƠNG : ÔTÔMÁT HỮU HẠN 11 2.1 Ơtơmát 11 2.1.1 Một số khái niệm 11 2.1.2 Ơtơmát 11 2.1.3 Hoạt động ôtômát 12 2.1.4 Phân loại ôtômát 13 2.2 Ơtơmát hữu hạn đơn định 14 2.2.1 Ơtơmát hữu hạn đơn định 14 2.2.2 Hoạt động ôtômát hữu hạn đơn định 14 2.2.3 Biểu diễn ôtômát hữu hạn đơn định 15 2.2.4 Hoạt động đoán nhận xâu 17 2.2.5 Ngơn ngữ đốn nhận ơtơmát đơn định 18 2.3 Ơtơmát hữu hạn không đơn định 19 2.3.1 Ơtơmát hữu hạn khơng đơn định 19 Khóa luận tốt nghiệp Trần Thị Thu Thủy 2.3.2 Hoạt động ôtômát hữu hạn không đơn định 19 2.3.3 Biểu diễn ôtômát hữu hạn không đơn định 20 2.3.4 Hoạt động đoán nhận xâu 21 2.3.5 Ngơn ngữ đốn nhận ôtômát không đơn định 22 2.4 Sự tương đương ôtômát hữu hạn đơn định ôtômát hữu hạn không đơn định 22 2.4.1 Sự tương đương ôtômát hữu hạn đơn định ôtômát hữu hạn không đơn định 22 2.4.2 Xây dựng ôtômát hữu hạn đơn định từ ôtômát hữu hạn không đơn định 24 CHƯƠNG 3: MỘT VÀI ỨNG DỤNG CỦA ÔTÔMÁT HỮU HẠN 26 3.1 Ứng dụng máy tính 26 3.1.1 Tìm kiếm xâu văn 26 3.1.2 Tìm kiếm văn 27 3.1.3 Nhận diện từ khóa 28 3.1.4 Bộ phân tích từ vựng 29 3.1.5 Trình soạn thảo văn 30 3.2 Ứng dụng thực tế 31 3.2.1 Máy giặt 31 3.2.2 Máy bán hàng tự động 32 KẾT LUẬN 33 TÀI LIỆU THAM KHẢO 34 Khóa luận tốt nghiệp Trần Thị Thu Thủy Khóa luận tốt nghiệp Trần Thị Thu Thủy MỞ ĐẦU Lý chọn đề tài Ngày chứng kiến phát triển mãnh liệt lĩnh vực nghiên cứu toán học liên quan đến tin học máy tính Sự phát triển máy tính thay đổi sâu sắc liên quan đến phương pháp luận khoa học mở chân trời cho tốn học với tốc độ khơng thể sánh suốt chiều dài lịch sử toán học Những phát triển toán học mở thuở ban đầu cho tin học máy tính, tiến tin học dẫn đến phát triển mạnh mẽ số ngành toán học Lý thuyết ngơn ngữ hình thức ơtơmát đóng vai trị quan trọng sở toán học tin học Vì em mạnh dạn nghiên cứu chuyên đề “ ƠTƠMÁT HỮU HẠN VÀ ỨNG DỤNG” Mục đích nghiên cứu Tìm hiểu cách tổng quan ơtơmát hữu hạn, cơng cụ sinh ngơn ngữ Ngồi tìm hiểu số ứng dụng ơtơmát hữu hạn Đối tượng phạm vi nghiên cứu Đối tượng: kiến thức ôtômát hữu hạn Phạm vi: Nội dung kiến thức phạm vi lí thuyết ngơn ngữ hình thức ơtơmát Nhiệm vụ Tìm hiểu lí thuyết ơtơmát hữu hạn ứng dụng Phương pháp nghiên cứu Phương pháp nghiên cứu lí luận Khóa luận trình bày chương với nội dung chương sau: Chương 1: Kiến thức mở đầu Chương 2: Ơtơmát hữu hạn Chương : Một vài ứng dụng ôtômát hữu hạn CHƯƠNG 1: LÝ THUYẾT MỞ ĐẦU Chương thứ trình bày kiến thức sở cần thiết, sử dụng chương khóa luận Ở ta nhắc số khái niệm ngơn ngữ 1.1 Ngôn ngữ 1.1.1 Bảng chữ Định nghĩa 1.1 Tập  khác rỗng gồm hữu hạn hay vô hạn kí hiệu gọi bảng chữ Mỗi phần tử a   gọi chữ hay kí hiệu Ví dụ 1.1 Dưới bảng chữ { A, B, … , Z}: Bảng chữ latinh {α, β, γ……,φ}: Bảng chữ Hi Lạp {I, V, X, L, C, D, M}: Bảng chữ số La Mã {0, 1, 2,…., 9}: Bảng chữ số thập phân 1.1.2 Xâu Định nghĩa 1.2 Bảng chữ  = { a1, a2, ……, an }, dãy chữ α = ai1ai2ai3 aim, Với aij   chữ (1 ≤ � ≤ � ) gọi xâu bảng  Tổng số vị trí xuất xâu α gọi độ dài xâu α kí hiệu |α| Vậy xâu bảng chữ  gồm số lớn hay không chữ , chữ có xuất hay nhiều lần Xâu khơng có chữ gọi xâu rỗng, kí hiệu ε |ε| = Tập từ bảng chữ  kí hiệu * , cịn tập từ khác rỗng bảng chữ  kí hiệu + Như  + = *\{ε} * = +  {ε} δ*(q,ωa) = δ*(p,ω)∀qQ,∀a,∀ω* cho p (q,a) δ*(q,a) xác định Ví dụ 2.7 Cho ôtômát hữu hạn không đơn định A =({q0, q1, q2, q3, q4}, {0, 1}, δ, {q0}, {q2, q4} với δ : δ(q0,0) = {q0,q3}; δ(q0, 1) = {q1, q3}; δ(q1, 0) = ; δ(q1, 1) = {q2};δ(q2, 0) = q2 ; δ(q2, 1) = q2; δ(q3,0) = q4; δ(q3,1) = ; δ(q4, 0) = q4; δ(q4,1) = q4 Xác định δ*(q0, 0101) Ta có δ(q0, 0) = {q0, q3} δ*(q0, 01) = δ(δ(q0, 0), 1) = δ({q0, q3}, 1}) = δ(q0, 1)  δ(q3, 1) = {q1, q3} δ*(q0, 010) = δ(δ*(q0, 01), 0) = δ({q1, q3}, 0) = δ(q1, 0)  δ(q3, 0) = {q4} δ*(q0, 0101) = δ(δ*(q0, 010), 1) = δ(q4, 1) = q4 II Hoạt động đoán nhận xâu Định nghĩa 2.13 Cho ôtômát hữu hạn không đơn định A = (Q, , δ, q0, F), ω* Ta nói ω đốn nhận A δ*(q0, a) ≠  Quay trở lại ví dụ 2.7 ta thấy δ*(q0, 0101) = q4F Vậy chuỗi ω = 0101 ơtơmát A đốn nhận 2.3.5 Ngơn ngữ đốn nhận ơtơmát khơng đơn định Định nghĩa 2.14 Cho ôtômát hữu hạn không đơn định A = (Q,  ,δ, q0, F), ω* L ngơn ngữ  Ta nói L đoán nhận A L ={ω*|δ*(q0, ω)  F ≠ } kí hiệu L T(A) Ví dụ 2.8 Cho ôtômát hữu hạn không đơn định A = ({q0, q1, q2}, {a, b}, δ, q0,{q2}) với δ cho bảng sau : Trạng thái Ký hiệu vào a b q0 {q0} {q0, q1} q1 {q1} {q1, q2} q2 {q2} {q2} Ngơn ngữ đốn nhận ơtơmát A là: T(A) = {ω1bω2bω3|ω1,ω2,ω3 {a, b}*} 2.4 Sự tương đương ôtômát hữu hạn đơn định ôtômát hữu hạn không đơn định 2.4.1 Sự tương đương ôtômát hữu hạn đơn định ôtômát hữu hạn không đơn định Ở phân biệt hai loại ôtômát hữu hạn đơn định không đơn định, vấn đề quan trọng chúng có quan hệ với Nghĩa ngơn ngữ đốn nhận ôtômát hữu hạn đơn định không đơn định có quan hệ với hay không? Một cách trực quan ta nhận thấy: Ơtơmát đơn định mơ hành vi ôtômát không đơn định cách gia tăng số trạng thái Nói cách khác, Ơtơmát đơn định xem trường hợp đặc biệt ơtơmát khơng đơn định Ơtơmát khơng đơn định tổng qt hơn, song khơng mạnh hơn, nghĩa mà tập mà đốn nhận khơng nhiều ôtômát đơn định Định lý 2.1 Nếu ngôn ngữ L đốn nhận ơtơmát hữu hạn khơng đơn định tồn ơtơmát hữu hạn đơn định đốn nhận L Định lý 2.2 Lớp ngơn ngữ sinh ôtômát hữu hạn đơn định trùng với lớp ngôn ngữ hữu hạn không đơn định Chứng minh : Ta gọi LN lớp ngôn ngữ sinh ôtômát hữu hạn không đơn định, LD lớp ngôn ngữ sinh ôtômát hữu hạn đơn định, ta cần chứng minh LN = LD Ta chứng minh : • LN LD Giả sử L lớp ngôn ngữ tùy ý thuộc LN, tức tồn ơtơmát hữu hạn khơng đơn định A đốn nhận L, tức ta có T(A) =L Theo định lí 2.1 tồn ôtômát hữu hạn đơn định A* đoán nhận L, tức T(A*)=L, L thuộc lớp LD hay LNLD • LDLN Giả sử L lớp ngôn ngữ tùy ý thuộc LD, tức tồn ơtơmát hữu hạn đơn định A đốn nhận L, Ta có T(A) =L Mặt khác ơtơmát hữu hạn đơn định trường hợp đặc biệt ôtômát hữu hạn không đơn định, nên ngôn ngữ L đốn nhận ơtơmát hữu hạn khơng đơn định Do LDLN Vậy LN = LD hay lớp ngơn ngữ sinh ôtômát hữu hạn đơn định trùng với lớp ngôn ngữ sinh ôtômát hữu hạn không đơn định 2.4.2 Xây dựng ôtômát hữu hạn đơn định từ ôtômát hữu hạn không đơn định Giả sử A = (Q, , δ, q0, F) ôtômát không đơn định, ta xây dựng ơtơmát hữu hạn đơn định đầy đủ M = (Q’, , δ’, q0’, F’) tương ứng với ôtômát A ( theo nghĩa đốn nhận ngơn ngữ) Việc xây dựng M thực : Bước :Xây dựng hàm hai biến T : 2Q→2Q thỏa mãn điều kiện ∀qQ, ∀a T(q, a) = {q’ Q| q’ = δ(q, a)} ∀B  Q mà δ(q, a) = B, ∀a T(B, a) =  δ(p, a) pB Bước 2: Xác định tập trạng thái Q’ ={s0,s1,….,sk|k≤2Q-1} Đặt s0 = q0, s1= q1,…., si = qi, ∀{q0}, {q1}, … {qi} Q Đặt si+1= B1, si+2 = B2, … ∀ B1, B2, ……  Q mà δ(qj, a) = Bj Nếu ôtômát A không đầy đủ, đặt sk= thêm vào hàm chuyển δ’ giá trị δ’(sk, a) = sk ∀ a để ôtômát M ôtômát đầy đủ Trạng thái khởi đầu M s0 Tập trạng thái kết thúc M F’={sQ’|sF≠} Bước 3: Xác định hàm chuyển δ’:Q’→Q’ ơtơmát M ∀sQ’, ∀a δ’(s, a) = T(s, a) Ví dụ 2.9: Cho ơtơmát A = ({q0, q1, q2}, {a, b, c}, δ, q0, {q1, q2}) hàm chuyển δ cho bảng sau: δ a b C q0 {q1} {q1, q2} {q2} q1 {q2} q2 {q1} {q0, q2} {q1} {q2} Hãy xây dựng M = (’,{a, b, c}, δ’, s0, F’} đơn định đầy đủ, tương đương với ôtômát A Bước 1: Xây dựng T: 2Q→2Q T(q0, a) = q1; T(q0, b) = {q1, q2}; T(q0, c) = {q2} T(q1, a) = {q2}; T(q1, b) = ; T(q1, c) = {q0, q2} T(q2, a) = {q1}; T(q2, b) = {q1}; T(q2, c) = {q2} T({q1, q2}, a) = {q1, q2}; T({q1, q2}, b) = {q1};T({q1, q2}, c) = {q0, q2} T({q0, q2}, a) = {q1}; T({q0, q2}, b) = {q1, q2}; T({q0, q2}, c) = {q2} Bước 2: Đặt s0 = q0 ; s1 = q1; s2 = q2; s3 = {q1, q2}; s4 = {q0, q2}; s5 =  Khi Q’ = {s0, s1, s2, s3, s4, s5} Trạng thái khởi đầu M s0 Tập trạng thái kết thúc F’ = {s1, s2, s3, s4} Bước 3: Hàm chuyển δ’ xác định sau δ’ a b c s0 s1 s3 s2 s1 s2 s5 s4 s2 s1 s1 s2 s3 s3 s1 s4 s4 s1 s3 s2 s5 s5 s5 s5 Vậy ôtômát M = ({s0, s1, s2, s3, s4, s5}, {a, b, c}, δ’, s0, {s1, s2, s3, s4}) với hàm chuyển δ’ xác định tương ứng với ôtômát A CHƯƠNG 3: MỘT VÀI ỨNG DỤNG CỦA ÔTÔMÁT HỮU HẠN 3.1 Ứng dụng máy tính 3.1.1 Tìm kiếm xâu văn Một vấn đề phổ biến trang web kho văn khác mạng là:cho tập từ, tìm tất tài liệu có chứa (hoặc tất ) từ Một cơng cụ tìm kiếm ví dụ điển hình q trình Cơng cụ tìm kiếm sử dụng công nghệ đặc biệt gọi số ngược, nơi cho từ xuất web ( có 100.000.000 từ khác nhau), danh sách tất nơi mà từ xuất lưu trữ Máy móc với lượng lớn nhớ giữ đa số danh sách có sẵn, cho phép nhiều người tìm kiếm tài liệu lúc Chỉ số kỹ thuật đảo ngược không sử dụng thiết bị tự động hữu hạn, họ lượng lớn thời gian cho trình thu thập để chép web thiết lập số Có số ứng dụng liên quan khơng thích hợp cho số đảo ngược ứng dụng tốt cho sở kỹ thuật máy tự động Các đặc tính làm cho ứng dụng phù hợp cho tìm kiếm sử dụng máy tự động là: Việc tìm kiếm kho lưu trữ thay đổi nhanh chóng Ví dụ: (a) Mỗi ngày nhà phân tích tin tức muốn tìm kiếm mạng báo ngày cho chủ đề liên quan Ví dụ nhà phân tích tài tìm kiếm mã chứng khốn tên cơng ty (b) Một robot mua sắm muốn tìm kiếm giá hành tính phí cho mục mà khách hàng yêu cầu Các robot truy xuất trang danh mục từ web sau tìm kiếm trang cho lời đề nghị mức giá cho cụ thể Các tài liệu tìm kiếm khơng có mục lục Ví dụ: amazon.com khơng dễ dàng tìm kiếm tất trang cho tất sách mà cơng ty bán Thay vào đó, trang tạo "một cách nhanh chóng" phản ứng để truy vấn Tuy nhiên, gửi truy vấn cho sách chủ đề định 3.1.2 Tìm kiếm văn Giả sử đưa tập từ mà gọi từ khóa mà muốn tìm Tại ứng dụng này, cách hữu ích để tiến hành để thiết kế máy tự động hữu hạn không đơn định mà tín hiệu cách nhập trạng thái chấp nhận nhìn thấy từ khóa Các văn tài liệu cho, ký tự thời gian để NFA nhận lần xuất từ khóa văn Có hình thức đơn giản đến NFA nhận diện từ khóa Có trạng thái bắt đầu với chuyển tiếp tất biểu tượng đầu vào, ví dụ ký tự ASCII in kiểm tra văn Bằng trực giác, trạng thái bắt đầu đại diện cho "dự đoán" mà chưa bắt đầu để xem từ khóa, thấy số chữ từ Đối với từ khóa a1a2……ak, có k trạng thái q1,q2,….,qk.Hàm chuyển trạng thái từ trạng thái khởi đầu đến q1 ký hiệu a1, hàm chuyển trạng thái từ q1 đến q2 ký hiệu a2 tiếp tục Trạng thái qk trạng thái trả lời từ khóa a1a2… ak tìm thấy Ví dụ 3.1: Giả sử muốn thiết kế NFA để nhận xuất từ web ebay Trạng thái trạng thái bắt đầu, sử dụng để  đặt cho thiết lập tất ký tự ASCII trạng thái đến nhận web, trạng thái đến nhận ebay Tất nhiên NFA khơng phải chương trình Chúng ta có lựa chọn cho việc thực NFA Viết chương trình mơ NFA cách tính tốn thiết lập trạng thái sau đọc ký hiệu đầu vào Chuyển đổi NFA sang DFA tương đương sử dụng xây dựng tập hợp Sau đó, mơ DFA trực tiếp  e W b e a y b Start Một số chương trình xử lý văn bản, chẳng hạn hình thức tiên tiến lệnh grep unix (egrep fgrep) thực sử dụng hỗn hợp hai phương pháp Tuy nhiên, mục đích chúng tơi chuyển đổi DFA dễ dàng đảm bảo không để tăng số lượng trạng thái 3.1.3 Nhận diện từ khóa Chúng ta áp dụng việc xây dựng tập hợp cho NFA Tuy nhiên, chúng tơi áp dụng xây dựng có NFA thiết kế từ từ khóa, thấy số lượng trạng thái DFA không lớn số trạng thái NFA Vì trường hợp xấu số lượng lũy thừa trạng thái đến DFA, điều giải thích lý phương pháp thiết kế NFA cho từ khóa sau xây dựng DFA từ sử dụng thường xuyên Các quy tắc để xây dựng tập trạng thái DFA sau a) Nếu q0 trạng thái khởi đầu NFA, q0 trạng thái DFA b) Giả sử p trạng thái NFA, trạng thái đạt từ trạng thái bắt đầu dọc theo ký hiệu a1a2… am Thì trạng thái DFA tập trạng thái NFA bao gồm: q0 P Mọi trạng thái NFA xây dựng từ q0 cách theo đường có nhãn hậu tố a1a2… am, dãy ký tự có dạng ajaj+1….am Chú ý nói chung, có trạng thái DFA cho trạng thái p NFA Tuy nhiên, bước (b), hai trạng thái thực mang lại tập trạng thái NFA, trở thành trạng thái NFA Ví dụ, hai từ khóa bắt đầu với chữ, a, sau hai trạng thái NFA đạt từ q0 vòng cung dán nhãn mang lại tập hợp trạng thái NFA nhận sáp nhập DFA Ví dụ 3.2: Một DFA nhận diện từ khóa float l f o a t 3.1.4 Bộ phân tích từ vựng Các ký hiệu từ vựng (token) ngơn ngữ lập trình hầu hết khơng có ngọai lệ, biểu diễn tập hợp quy Chẳng hạn, định danh ALGOL: chữ viết hoa thường, theo sau dãy chữ (letter) chữ số (digit) với độ dài không giới hạn biểu diễn sau : (letter) (letter + digit)* Trong "letter" thay cho A + B + + Z + a + b + + z "digit" + + + Một ví dụ khác, định danh FORTRAN có độ dài giới hạn chữ cho phép dùng chữ viết hoa ký hiệu $ biểu diễn sau : (letter) (ε + letter + digit)5 với "letter" $ + A + B + + Z Một số công cụ phát sinh phân tích từ vựng nhận input dãy biểu thức quy mơ tả ký hiệu từ vựng phát sinh ôtômát hữu hạn đơn giản nhận dạng ký hiệu từ vựng Thơng thường, chúng chuyển đổi biểu thức quy thành NFA với ε-dịch chuyển sau xây dựng tập hợp trạng thái để phát sinh DFA cách trực tiếp tìm cách loại bỏ phép chuyển nhãn ε Mỗi trạng thái kết thúc xác định ký hiệu từ vựng cụ thể tìm thấy Hàm chuyển FA mã hóa vài cách nhằm chiếm khơng gian so với bảng hàm chuyển tổ chức dạng mảng hai chiều Bộ phân tích từ vựng thiết lập cách phát sinh chương trình cố định thông dịch bảng mã, với bảng minh họa cụ thể nhận dạng FA ký hiệu từ vựng (viết dạng biểu thức quy) Bộ phân tích từ vựng dạng dùng chương trình độc lập (module) trình biên dịch ngơn ngữ 3.1.5 Trình soạn thảo văn Hiển nhiên, trình soạn thảo văn chương trình tương tự cho phép thay chuỗi chuỗi kết hợp với biểu thức quy cho trước Chẳng hạn, trình soạn thảo văn ed UNIX cho phép câu lệnh sau :/aba*c/ để tìm xuất chuỗi có dạng Hay câu lệnh :s/bbb*/b/ cho phép thay chuỗi có dạng bbb* thành chuỗi có ký tự b Hay câu lệnh MS-DOS NC, ví dụ câu lệnh : Del tmp * ??? cho phép xóa tất file với tên tập tin bắt đầu tmp, sau chuỗi bắt kỳ có phần mở rộng ký tự tùy ý Dấu * trường hợp ký hiệu cho chuỗi bất kỳ, dấu ? ký hiệu cho ký tự tùy ý Đây dạng ký hiệu biểu thức quy thay cho chuỗi Hay chẳng hạn, ví dụ xử lý chuỗi khác áp dụng cho việc tìm kiếm theo mẫu trang Web Trong tất ví dụ trên, ký hiệu * xác định “mọi” biểu thức a1 + a2 + + an tất ký tự cho phép máy tính trừ ký tự xuống dịng (newline) Ta chuyển biểu thức quy r sang DFA chấp nhận r Chú ý diện ký hiệu * cho phép ta nhận dạng thành phần L(r) vị trí dịng Để làm điều này, ứng dụng phải thực trình chuyển đổi từ biểu thức quy sang NFA Và chế hoạt động NFA phức tạp nên thơng thường sau đó, NFA lại phải biến đổi tiếp thành dạng DFA tương đương Tuy nhiên, chuyển đổi từ biểu thức quy sang DFA tốn nhiều thời gian việc sử dụng DFA để kiểm tra mẫu cách duyệt qua chúng lần, DFA có số trạng thái hàm mũ độ dài biểu thức quy 3.2 Ứng dụng thực tế 3.2.1 Máy giặt Một máy giặt dễ dàng mơ hình hóa máy tự động hữu hạn Bây bạn hiểu máy hữu hạn trạng thái, bạn nhận quần áo thực 3.2.2 Máy bán hàng tự động Hình trình bày DFA mô tả hoạt động máy bán hàng tự động chấp nhận đô la, chi phí cho lon soda $1.25 Một máy nhận $ 1.25, tương ứng với trạng thái màu xanh biểu đồ, cho phép người dùng lựa chọn soda Tự vòng đại diện cho đầu vào bị bỏ qua: máy không tra soda chưa đủ $1.25và máy khơng nhận qua nhiều tiền nhận lớn $ 1,25 Để thể DFA 5-tuple, thành phần quy định sau: Q = {$ 0.00, $ 0.25, $ 0.50, $ 0.75, $ 1.00, $ 1.25, $ 1.50, $ 1.75, 2.00 $} trạng thái Σ = {$ 0.25, $ 1.00, chọn} bảng chữ δ, hàm chuyển trạng thái q0 = 0,00 $ trạng thái bắt đầu F = ∅ tập hợp trạng thái trả lời Chọn $0.25 $0.0 $1.00 Chọn $1.0 $0.25 $0.25 $0.25 $0.5 $1.00 $1.00 $0.25 $1.2 Chọn Chọn Chọn $1.5 0.75 $1.00 $1.75 $1.00 $1.00,$0.25 $2.0 $1.00,$0.25 $0.25 $1.00,$0.25 $1.00,$0.25 KẾT LUẬN Khóa luận tìm hiểu “ Ơtơmát hữu hạn ứng dụng “ chương Chương cung cấp nhứng kiến thức sở ngôn ngữ sử dụng chương sau Chương tìm hiểu khái niệm tổng qt Ơtơmát từ nghiên cứu chi tiết ôtômát hữu hạn Trên sở tìm hiểu ứng dụng Ơtơmát máy tính sống thực tế Từ giúp thấy ơtơmát có vai trị ứng dụng rộng rãi thực tế Do thời gian kiến thức cịn hạn hẹp nên khóa luận cịn nhiều thiếu sót mong thầy có đóng góp để em hồn thiện TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt Nguyễn Văn Ba (2002), Ngơn ngữ hình thức, NXB Khoa học Kỹ thuật, Hà Nội Đồn Văn Ban (2003), Giáo trình Ơtơmát Ngơn ngữ hình thức, NXB Đại học Quốc gia Hà Nội Phan Đình Diệu (1971), Lý thuyết otomat thuật toán, Nhà xuất Đại học Trung học Chuyên nghiệp Nguyễn Văn Định (2012), Giáo trình Otomat Ngơn ngữ hình thức, NXB Đại học Nơng nghiệp Hồ Văn Qn (2002), Giáo trình lý thuyết ơtơmát ngơn ngữ hình thức, NXB Đại học Quốc gia Tp Hồ Chí Minh Đặng Huy Ruận (2002), Lý thuyết ngơn ngữ hình thức Otomat, NXB Đại học Quốc gia Hà Nội Tài liệu tiếng Anh J.E Hopcroft, J.D.Ullman (1979), Introduction to Automata Theory, Languages and Computation, Addison-Wesley, Reading J.E Hopcropft, R Motwani, J.D Ullman (2001), Introduction to Automata Theory, Languages, and Computation (2nd Edition), AddisonWesley ... đương ôtômát hữu hạn đơn định ôtômát hữu hạn không đơn định 22 2.4.2 Xây dựng ôtômát hữu hạn đơn định từ ôtômát hữu hạn không đơn định 24 CHƯƠNG 3: MỘT VÀI ỨNG DỤNG... nghiên cứu chuyên đề “ ÔTÔMÁT HỮU HẠN VÀ ỨNG DỤNG” Mục đích nghiên cứu Tìm hiểu cách tổng quan ôtômát hữu hạn, công cụ sinh ngơn ngữ Ngồi tìm hiểu số ứng dụng ôtômát hữu hạn Đối tượng phạm vi... điển hình Sau xét định nghĩa ôtômát hữu hạn trạng thái gọi tắt ơtơmát hữu hạn 2.2 Ơtơmát hữu hạn đơn định 2.2.1 Ơtơmát hữu hạn đơn định Định nghĩa 2.7 Một ôtômát hữu hạn đơn định ( Deterministic

Ngày đăng: 13/08/2020, 16:09

Từ khóa liên quan

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

Tài liệu liên quan