automata a short introduction
play

Automata: a short introduction Paolo Turrini ILIAS, University of - PowerPoint PPT Presentation

Automata: a short introduction Automata: a short introduction Paolo Turrini ILIAS, University of Luxembourg Discrete Mathematics II May 2012 Paolo Turrini Automata: a short introduction Automata: a short introduction What is a computer?


  1. Automata: a short introduction Automata: a short introduction Paolo Turrini ILIAS, University of Luxembourg Discrete Mathematics II May 2012 Paolo Turrini Automata: a short introduction

  2. Automata: a short introduction What is a computer? Real computers are complicated; We abstract up to an essential model of computation ; We begin with the simplest possible model, a finite automaton . Paolo Turrini Automata: a short introduction

  3. Automata: a short introduction Outline: Deterministic Finite Automata a,b a,b w a b start v x A formal description of abstract computers, with a finite number of states , with distinguished accepting ones, and with labelled transitions , where each action labels exactly one outgoing arrow. Paolo Turrini Automata: a short introduction

  4. Automata: a short introduction Outline: Non-deterministic Finite Automata b a,b w ǫ b v x start A formal description of abstract computers, with a finite number of states , with distinguished accepting ones, and with labelled transitions , where each action needs not label exactly one outgoing arrow. Special characters are possible. Paolo Turrini Automata: a short introduction

  5. Automata: a short introduction Outline: Languages Abstract languages, i.e. sets of words obtained from a given alphabet. L = { a , b , ba , ab , aaa , aab , . . . } , i.e. all possible combinations of words formed using a and b ; L ′ = { ε } , the language containing only the empty word; L ′ = { a n b n | for each natural number n } , i.e. the language of words with n times a followed by n times b , for instance having aaabbb inside. Paolo Turrini Automata: a short introduction

  6. Automata: a short introduction Outline: Regular Expressions Operations that generate languages with properties that are interesting from a computational point of view. ( a ∪ b ) ∗ = { a , b , ba , ab , aaa , aab , . . . } , i.e. all possible combinations of words formed using a and b ; ( a ◦ b ) = { ab } i.e. the concatenation of the words a and b ( a ) ∗ = { ε, a , aa , aaa , aaaa , . . . } , i.e. the word a repeated zero, one or many times. Paolo Turrini Automata: a short introduction

  7. Automata: a short introduction What we will talk about We will study the mathematical properties of these structures. Paolo Turrini Automata: a short introduction

  8. Automata: a short introduction What we will observe These structures are one and the same thing . Paolo Turrini Automata: a short introduction

  9. Automata: a short introduction Introduction The book Michael Sipser Introduction to the Theory of Computation 2nd edition, 2006 Paolo Turrini Automata: a short introduction

  10. Automata: a short introduction Deterministic Finite Automata Formal definition of an automaton An automaton has several parts: a set of states; rules for going from one state to another, depending on the input symbol; a starting state and a set of accepting states. The formal definition: makes this precise; it can be used to study automata as mathematical structures . Paolo Turrini Automata: a short introduction

  11. Automata: a short introduction Deterministic Finite Automata The formal definition Definition (Deterministic Finite Automata) A deterministic finite automaton is a tuple ( Q , Σ , δ, q 0 , F ) , where: 1 Q is a finite set called the states ; 2 Σ is a finite set called the alphabet ; 3 δ : Q × Σ → Q is the transition function ; 4 q 0 ∈ Q is the start state ; 5 F ⊆ Q is the set of accepting (or terminal) states . Paolo Turrini Automata: a short introduction

  12. Automata: a short introduction Deterministic Finite Automata Example a,b a,b w a b start v x The set of states Q is { v , w , x } . Paolo Turrini Automata: a short introduction

  13. Automata: a short introduction Deterministic Finite Automata Example a,b a,b w a b v x start The alphabet Σ is { a , b } , the set of basic characters that we have used. Paolo Turrini Automata: a short introduction

  14. Automata: a short introduction Deterministic Finite Automata Example a,b a,b w a b v x start The transition function δ is δ ( v , a ) = w , δ ( v , b ) = x , δ ( w , a ) = δ ( w , b ) = w , δ ( x , a ) = δ ( x , b ) = x . Paolo Turrini Automata: a short introduction

  15. Automata: a short introduction Deterministic Finite Automata Example a,b a,b w a b v x start The initial state q 0 is v . Paolo Turrini Automata: a short introduction

  16. Automata: a short introduction Deterministic Finite Automata Example a,b a,b w a b start v x The set F of accepting states is { x } . Paolo Turrini Automata: a short introduction

  17. Automata: a short introduction Deterministic Finite Automata Definition (Word acceptance) Let Σ be our alphabet and let A = ( Q , Σ , δ, q 0 , F ) be our automaton. A finite sequence w 1 , w 2 , . . . , w n , where each w i is an element of Σ , is accepted by A if and only if there exists a sequence of states r 0 , r 1 , . . . , r n in Q such that: 1 r 0 = q 0 , i.e. we start from the starting state; 2 for each i between 0 and n − 1, δ ( r i , w i + 1 ) = r i + 1 , i.e. the computation follows exactly the word; 3 r n ∈ F , i.e. we end up in an accepting state. Paolo Turrini Automata: a short introduction

  18. Automata: a short introduction Deterministic Finite Automata Example a,b a,b w a b start v x The word ( b , b , a , b , a , b ) , briefly bbabab , is accepted by this automaton, because there is a sequence of states, namely ( v , x , x , x , x , x , x ) , briefly vxxxxxx , such that: v = q 0 , i.e. we start from the starting state; 1 for each i between 0 and 6, δ ( r i , w i + 1 ) = r i + 1 , i.e. the 2 computation follows exactly the word; x ∈ F , i.e. we end up in an accepting state. 3 Paolo Turrini Automata: a short introduction

  19. Automata: a short introduction Deterministic Finite Automata Example a,b a,b w a b v x start The empty word, ε , is not accepted by this automaton because... the starting state is not an accepting state! Paolo Turrini Automata: a short introduction

  20. Automata: a short introduction Deterministic Finite Automata Example w a,b a b start v x a,b Can you find a word, longer than 20 characters, that is accepted by this automaton? Can you find a word that is not accepted by this automaton? Is ε , the empty word, accepted by this automaton? Paolo Turrini Automata: a short introduction

  21. Automata: a short introduction Deterministic Finite Automata Regular Languages Definition (Language Recognition) We say that a determistic finite automaton A recognizes a language L if and only if L = { w | A accepts w } Paolo Turrini Automata: a short introduction

  22. Automata: a short introduction Deterministic Finite Automata Regular Languages Definition (Language Recognition) A language is called regular if and only if some deterministic finite automaton recognizes it. Paolo Turrini Automata: a short introduction

  23. Automata: a short introduction Deterministic Finite Automata Regular Languages b b a v w start a The language L , made by all words with an even number of a , is regular; Is the language L ′ , made by all words with an odd number of a , regular? Paolo Turrini Automata: a short introduction

  24. Automata: a short introduction Deterministic Finite Automata Exercise Show that: The language made only by ε , is regular; The empty language, i.e. the language with no words, is regular; The language made by all words with no b is regular; The language made by all words with more than two a is regular; The language made by all words with exactly two b is regular; The language { babba , cab , ε } is regular. Paolo Turrini Automata: a short introduction

  25. Automata: a short introduction Deterministic Finite Automata Regular Operations on Languages So far we have described languages that automata can recognize; Each time we have constructed an automaton; However we can apply certain regular operations on languages, being sure to preserve regularity: if we start with a regular language, no matter how many times we will apply these operations, we will still have a regular language. Paolo Turrini Automata: a short introduction

  26. Automata: a short introduction Deterministic Finite Automata Regular Operations on Languages Definition Let L , L ′ be two languages. We define the regular operations of union , concatenation , star , as follows: Union: L ∪ L ′ = { x | x ∈ A or x ∈ B } , i.e. words in the first language with words in the second language; Concatenation: L ◦ L ′ = { xy | x ∈ A and y ∈ B } , i.e. words in the first language followed by words in the second language; Star: L ∗ = { x 1 , x 2 , . . . , x n | n ≥ 0 and each x i ∈ L} , i.e. words made by repeting words in the starting language, zero, one, or many times. Paolo Turrini Automata: a short introduction

  27. Automata: a short introduction Deterministic Finite Automata Regular Operations on Languages Definition Let L = { a , babab , bbb } , L ′ = { bb } . We have: Union: L ∪ L ′ = { a , babab , bb , bbb } , i.e. words in the first language with words in the second language; Concatenation: L ◦ L ′ = { abb , bababbb , bbbbb } , i.e. words in the first language followed by words in the second language. Notice that L ◦ L ′ is not the same as L ′ ◦ L ; Star: L ∗ = { ε, a , babab , ababab , abbb , bbbbbb , abbba , . . . } , i.e. words made by repeting words in the starting language, zero, one, or many times. Paolo Turrini Automata: a short introduction

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