Chương 2 -Automat Hữu Hạn ppt

47 360 0
Chương 2 -Automat Hữu Hạn ppt

Đ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

Automat Hữu Hạn Finite Automata Dr. Huỳnh Trung Hiếu Faculty of Information Technology HoChiMinh City University of Industry Introductory Example  Chúng ta hãy tạo ra một ngôn ngữ nhỏ gần như ngôn ngữ Pascal. Trong ngôn ngữ này, giả thiết rằng một định danh câu lệnh hợp lệ là một tập tất cả các chuỗi được bắt đầu là một ký tự và theo sau là một số lượng tùy ý các ký tự hay ký số. <id>  <letter><rest>, <rest>  <letter><rest>|<digit><rest>|λ <letter>  a|b|… <digit>  0|1… <id>, <letter>, <digit>, và <rest> là các biến a, b, …, 0, 1, … là những ký tự kết thúc Introductory Example  Một dẫn xuất cho định danh x1 <id> => <letter> <rest> => x <rest> => x <digit> <rest> => x1 <rest> => x1 Biểu diễn Automat  Dùng đồ thị:  Các nút là các trạng thái nội.  Các cạnh là các chuyển dịch.  Nhãn của các cạnh cho biết điều gì xảy ra. a 1 2 5 Introductory Example An automaton that accepts all legal Pascal identifiers: 1 2 3 Letter Digit Letter or Digit Letter or Digit "yes" "no" 6 Deterministic Finite Automata (DFA) Một accepter hữu hạn đơn định hay một DFA được định nghĩa bởi bộ năm: M = (Q, ∑, δ, q0, F) Q: finite set of internal states ∑: finite set of symbols - input alphabet δ: Q × ∑ → Q transition function q0∈Q: initial state F⊆Q: set of final states 7 Operational Manner Control unit q 0 Input file yes/no  Tại thời điểm ban đầu, nó được giả định đang ở trong trạng thái bắt đầu q 0 , với cơ chế nhập đang ở tại ký hiệu bên trái nhất của chuỗi nhập vào.  Trong mỗi lần di chuyển của automat, đầu đọc tiến về phía phải một ký hiệu.  Khi gặp ký hiệu kết thúc chuỗi, chuỗi nhập được chấp nhận nếu như automat đang ở một trong những trạng thái kết thúc của nó. Ngược lại thì chuỗi bị từ chối. 8 Transition Graphs M = (Q, ∑, δ, q0, F)  |Q| vertices (circles)  Edge (qi, qj) labelled a for δ(qi, a) = qj  Initial verticle q0  Final vertices (double circles) in F 9 Example 1 M = ({q0, q1, q2}, {0, 1}, δ, q0, {q1}) δ(q0, 0) = q0 δ(q0, 1) = q1 δ(q1, 0) = q0 δ(q1, 1) = q2 δ(q2, 0) = q2 δ(q2, 1) = q1 q 0 q 1 1 q 2 1 0 0 0 1 Dfa này chấp nhận chuỗi 001, 011, 010???. 10 Extended Transition Function δ*: Q × ∑* → Q extended transition function Nếu δ(q0, a) = q1 và δ(q1, b) = q2 thì δ * (q0, ab) = q2 Một cách hình thức, chúng ta định nghĩa δ* đệ quy như sau: δ * (q, λ) = q δ * (q, wa) = δ(δ * (q, w), a) [...]... Hãy chỉ ra rằng ngôn ngữ * L = {awa | w∈{a, b} } là chính quy 20 Example 4 * L = {awa | w∈{a, b} } b b a q0 b trap state q2 a q3 a q1 a, b 21 Example 5 2 Chỉ ra rằng L là chính quy * L = {awa | w∈{a, b} } 2 * L = {aw1aaw2a | w1, w2∈{a, b} } 22 Example 5 2 * L = {aw1aaw2a | w1, w2∈{a, b} } b a q0 b q2 b q1 b q3 a a b q4 a q5 a trap state a, b 23 Nondeterministic Finite Automata (NFA) M = (Q, ∑, δ, q0,... và đọc w 27 Extended Transition Function * δ (qi, w) contains qj iff there is a walk labelled w from qi to qj 28 Example 8 λ q0 a q 1 * δ (q1, a) = ? λ q2 * δ (q2, λ) = ? 29 Example 8 λ q0 a q1 λ q2 * δ (q1, a) = {q0, q1, q2} * δ (q2, λ) = {q0, q2} 30 Example 8 λ q0 a q1 * δ (qi, w) = ? λ q2 Evaluate all walks of length at most Λ + (1 + Λ)|w| Λ is the number of λ-edges 31 Languages and NFAs Ngôn ngữ... ≠ ∅} 32 Languages and NFAs 0 q0 1 q1 0, 1 q2 λ L(M) = ? 33 Languages and NFAs 0 q0 1 q1 0, 1 q2 λ L(M) = {(10)n | n ≥ 0} 34 Languages and NFAs Điều gì xảy ra khi automat này thực hiện với chuỗi w = 110? 0 q0 1 q1 0, 1 q2 λ δ*(q0, 110) = δ(q2, 0) = ∅ dead configuration 35 Homework  Exercises: 1, 5, 6, 11, 14, 17, 15, 17 of Section 2. 1 - Linz’s book  Exercises: 3, 4, 6, 7, 9, 10 of Section 2. 2 - Linz’s... = {w∈∑ | δ (q0, w)∈F} * * L(M) = {w∈∑ | δ (q0, w)∉F} 11 Example 1 M = ({q0, q1, q2}, {a, b}, δ, q0, {q1}) a a, b q0 b q1 a, b q2 L(M) = ? 12 Example 1 M = ({q0, q1, q2}, {a, b}, δ, q0, {q1}) a a, b q0 b q1 a, b n L(M) = {a b | n ≥ 0} q2 trap state Không thoát được 13 Theorem Cho M = (Q, ∑, δ, q0, F) là 1 accepter hữu hạn đơn định và GM là đồ thị chuyển trạng thái + tương ứng của nó Khi đó với mọi qi,... Q × (∑ ∪ {λ}) → 2 transition function q0∈Q: initial state F⊆Q: set of final states 24 Example 6 a q1 q0 a q2 a q3 a a q4 q5 a 25 Example 7 0 q0 1 q1 0, 1 q2 λ Automat chấp nhận chuỗi λ, 10, 1010, và 101010, nhưng không chấp nhận chuỗi 110, và 10100 26 Extended Transition Function * δ (qi, w) = Qj Qj là tập tất cả những trạng có thể của automat, khi automat ở trạng thái qi và đọc w 27 Extended Transition... qj ∈ Q và w∈∑ thì δ*(qi, w) = qj iff trong GM có một đường mang nhãn w đi từ qi đến qj 14 Example 2  Tìm một accepter hữu hạn nhận ra tập hợp tất cả các chuỗi trên ∑= {a, b} bắt đầu với chuỗi ab * L(M) = {w∈{a, b} | w starts with ab} 15 Example 2 * L(M) = {w∈{a, b} | w starts with ab} q0 a b q1 a, b q2 a b q3 trap state a, b 16 Example 3 Tìm một dfa chấp nhận tất cả các chuỗi trên {0, 1}, ngoại trừ... Homework  Exercises: 1, 5, 6, 11, 14, 17, 15, 17 of Section 2. 1 - Linz’s book  Exercises: 3, 4, 6, 7, 9, 10 of Section 2. 2 - Linz’s book  Reading: Why nondeterminism - Linz’s book  Presentation: Section 2. 4 - Linz’s book (procedures mark and reduce) 36 . circles) in F 9 Example 1 M = ({q0, q1, q2}, {0, 1}, δ, q0, {q1}) δ(q0, 0) = q0 δ(q0, 1) = q1 δ(q1, 0) = q0 δ(q1, 1) = q2 δ(q2, 0) = q2 δ(q2, 1) = q1 q 0 q 1 1 q 2 1 0 0 0 1 Dfa này chấp nhận chuỗi. δ * (q0, w)∉F} 12 Example 1 M = ({q0, q1, q2}, {a, b}, δ, q0, {q1}) L(M) = ? q 0 q 1 q 2 a, b a, b a b 13 Example 1 M = ({q0, q1, q2}, {a, b}, δ, q0, {q1}) L(M) = {a n b | n ≥ 0} q 0 q 1 q 2 a, b a,. qi đến qj 15 Example 2  Tìm một accepter hữu hạn nhận ra tập hợp tất cả các chuỗi trên ∑= {a, b} bắt đầu với chuỗi ab. L(M) = {w∈{a, b} * | w starts with ab} 16 Example 2 L(M) = {w∈{a, b} *

Ngày đăng: 11/07/2014, 19:20

Mục lục

  • Automat Hữu Hạn Finite Automata

  • Deterministic Finite Automata (DFA)

  • Nondeterministic Finite Automata (NFA)

  • Equivalence of DFAs and NFAs

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

  • Đang cập nhật ...

Tài liệu liên quan