formal definition of a finite automaton
play

Formal Definition of a Finite Automaton Formal Definition of a - PowerPoint PPT Presentation

Formal Definition of a Finite Automaton Formal Definition of a Finite Automaton p.1/23 Why a formal definition? A formal definition is precise: Formal Definition of a Finite Automaton p.2/23 Why a formal definition? A formal


  1. Formal Definition of a Finite Automaton Formal Definition of a Finite Automaton – p.1/23

  2. Why a formal definition? • A formal definition is precise: Formal Definition of a Finite Automaton – p.2/23

  3. Why a formal definition? • A formal definition is precise: - It resolves any uncertainties about what is allowed in a finite automaton such as the number of accept states and number of transitions exiting from a state Formal Definition of a Finite Automaton – p.2/23

  4. Why a formal definition? • A formal definition is precise: - It resolves any uncertainties about what is allowed in a finite automaton such as the number of accept states and number of transitions exiting from a state • A formal definition provides a notation: Formal Definition of a Finite Automaton – p.2/23

  5. Why a formal definition? • A formal definition is precise: - It resolves any uncertainties about what is allowed in a finite automaton such as the number of accept states and number of transitions exiting from a state • A formal definition provides a notation: - Good notation helps think and express thoughts clearly Formal Definition of a Finite Automaton – p.2/23

  6. Parts of a finite automaton • A finite set of states Formal Definition of a Finite Automaton – p.3/23

  7. Parts of a finite automaton • A finite set of states • Rules for going from one state to another depending upon the input symbol Formal Definition of a Finite Automaton – p.3/23

  8. Parts of a finite automaton • A finite set of states • Rules for going from one state to another depending upon the input symbol • A finite input alphabet that indicates the allowed symbols Formal Definition of a Finite Automaton – p.3/23

  9. Parts of a finite automaton • A finite set of states • Rules for going from one state to another depending upon the input symbol • A finite input alphabet that indicates the allowed symbols • A start state Formal Definition of a Finite Automaton – p.3/23

  10. Parts of a finite automaton • A finite set of states • Rules for going from one state to another depending upon the input symbol • A finite input alphabet that indicates the allowed symbols • A start state • A finite set of accept states Formal Definition of a Finite Automaton – p.3/23

  11. Observation • In mathematical language a list of five elements is called a 5-tuple, hence a finite automaton can be defined as a 5-tuple Formal Definition of a Finite Automaton – p.4/23

  12. Observation • In mathematical language a list of five elements is called a 5-tuple, hence a finite automaton can be defined as a 5-tuple • We can denote the transition rules by a function called the transition function, δ : States × Alphabet → States Formal Definition of a Finite Automaton – p.4/23

  13. Observation • In mathematical language a list of five elements is called a 5-tuple, hence a finite automaton can be defined as a 5-tuple • We can denote the transition rules by a function called the transition function, δ : States × Alphabet → States • Example: δ ( q 0 , x ) = q 1 Formal Definition of a Finite Automaton – p.4/23

  14. Formal definition A finite automaton is a 5-tuple ( Q, Σ , δ, q 0 , F ) : Formal Definition of a Finite Automaton – p.5/23

  15. Formal definition A finite automaton is a 5-tuple ( Q, Σ , δ, q 0 , F ) : 1. Q is a finite set called the set of states Formal Definition of a Finite Automaton – p.5/23

  16. Formal definition A finite automaton is a 5-tuple ( Q, Σ , δ, q 0 , F ) : 1. Q is a finite set called the set of states 2. Σ is a finite set called the alphabet Formal Definition of a Finite Automaton – p.5/23

  17. Formal definition A finite automaton is a 5-tuple ( Q, Σ , δ, q 0 , F ) : 1. Q is a finite set called the set of states 2. Σ is a finite set called the alphabet 3. δ : Q × Σ → Q is the transition function Formal Definition of a Finite Automaton – p.5/23

  18. Formal definition A finite automaton is a 5-tuple ( Q, Σ , δ, q 0 , F ) : 1. Q is a finite set called the set of states 2. Σ is a finite set called the alphabet 3. δ : Q × Σ → Q is the transition function 4. q 0 ∈ Q is the start (or initial) state Formal Definition of a Finite Automaton – p.5/23

  19. Formal definition A finite automaton is a 5-tuple ( Q, Σ , δ, q 0 , F ) : 1. Q is a finite set called the set of states 2. Σ is a finite set called the alphabet 3. δ : Q × Σ → Q is the transition function 4. q 0 ∈ Q is the start (or initial) state 5. F ⊆ Q is the set of accept (or final) states Formal Definition of a Finite Automaton – p.5/23

  20. Note • Since the set F can be emptyset ∅ a finite automaton may have zero accept states Formal Definition of a Finite Automaton – p.6/23

  21. Note • Since the set F can be emptyset ∅ a finite automaton may have zero accept states • Since transitions are described by a function, the function δ specifies exactly one next state for each possible combination of state and input symbol Formal Definition of a Finite Automaton – p.6/23

  22. Example finite automaton The automaton M 1 have been defined by the transition diagram in Figure 1 0 1 ✗✔ ✗✔ ✗✔ 1 0 ✓✏ ❯ ❯ ❯ ❯ ✲ 0 , 1 ✖✕ q 1 q 2 q 3 ✒✑ ✖✕ ✖✕ ■ Figure 1: The finite automaton M 1 Formal Definition of a Finite Automaton – p.7/23

  23. Formalizing M 1 M 1 = ( Q, Σ , δ, q 1 , F ) where 1. Q = { q 1 , q 2 , q 3 } 2. Σ = { 0 , 1 } 3. δ is described by the table: 0 1 δ q 1 q 1 q 2 q 2 q 3 q 2 q 3 q 2 q 2 4. q 1 is the start state, and 5. F = { q 2 } . Formal Definition of a Finite Automaton – p.8/23

  24. Language of a machine • Since a finite automaton is used here as the model of a computer we also refer to a finite automaton as a “machine" Formal Definition of a Finite Automaton – p.9/23

  25. Language of a machine • Since a finite automaton is used here as the model of a computer we also refer to a finite automaton as a “machine" • If A is the set of all strings that a machine M accepts, we say that A is the language of the machine M and write L ( M ) = A . Formal Definition of a Finite Automaton – p.9/23

  26. Terminology • The term accept has a different meaning when we refer to machines accepting strings and machines accepting languages. In order to avoid confusion: Formal Definition of a Finite Automaton – p.10/23

  27. Terminology • The term accept has a different meaning when we refer to machines accepting strings and machines accepting languages. In order to avoid confusion: • Use accept when we refer to strings Formal Definition of a Finite Automaton – p.10/23

  28. Terminology • The term accept has a different meaning when we refer to machines accepting strings and machines accepting languages. In order to avoid confusion: • Use accept when we refer to strings • Use recognize when we refer to languages Formal Definition of a Finite Automaton – p.10/23

  29. Consequences • A machine may accept several strings, but it always recognizes only one language Formal Definition of a Finite Automaton – p.11/23

  30. Consequences • A machine may accept several strings, but it always recognizes only one language • If a machine accepts no strings, it still recognizes one language, namely the empty language ∅ Formal Definition of a Finite Automaton – p.11/23

  31. Consequences • A machine may accept several strings, but it always recognizes only one language • If a machine accepts no strings, it still recognizes one language, namely the empty language ∅ • Language recognized by machine M 1 is: Formal Definition of a Finite Automaton – p.11/23

  32. Consequences • A machine may accept several strings, but it always recognizes only one language • If a machine accepts no strings, it still recognizes one language, namely the empty language ∅ • Language recognized by machine M 1 is: A = { w | w contains at least one 1 and an even number of 0s follow the last 1 } Formal Definition of a Finite Automaton – p.11/23

  33. Consequences • A machine may accept several strings, but it always recognizes only one language • If a machine accepts no strings, it still recognizes one language, namely the empty language ∅ • Language recognized by machine M 1 is: A = { w | w contains at least one 1 and an even number of 0s follow the last 1 } • Conclusion: L ( M 1 ) = A , or equivalently, M 1 recognizes A Formal Definition of a Finite Automaton – p.11/23

  34. Machine M 2 The state diagram in Figure 2 describes a machine M 2 0 1 ✗✔ ✗✔ 1 ✓✏ ❄ ❄ ❯ ✲ q 1 q 2 ✒✑ ✖✕ ✖✕ 0 ❑ Figure 2: State diagram of the finite automaton M 2 Formal Definition of a Finite Automaton – p.12/23

  35. Machine M 2 The state diagram in Figure 2 describes a machine M 2 0 1 ✗✔ ✗✔ 1 ✓✏ ❄ ❄ ❯ ✲ q 1 q 2 ✒✑ ✖✕ ✖✕ 0 ❑ Figure 2: State diagram of the finite automaton M 2 Formally, Formal Definition of a Finite Automaton – p.12/23

  36. Machine M 2 The state diagram in Figure 2 describes a machine M 2 0 1 ✗✔ ✗✔ 1 ✓✏ ❄ ❄ ❯ ✲ q 1 q 2 ✒✑ ✖✕ ✖✕ 0 ❑ Figure 2: State diagram of the finite automaton M 2 Formally, M 2 = ( { q 1 , q 2 } , { 0 , 1 } , δ, q 1 , { q 2 } ) where Formal Definition of a Finite Automaton – p.12/23

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend