Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.

Similar presentations


Presentation on theme: "1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli."— Presentation transcript:

1 1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli

2 Regular languages are defined and described by use of finite automata. In this lecture, we introduce Regular Expressions as an equivalent way, yet more elegant, to describe regular languages. Introduction 2

3 If one wants to describe a regular language, La, she can use the a DFA, D or an NFA N, such that that. This is not always very convenient. Consider for example the regular expression describing the language of binary strings containing a single 1. Motivation 3

4 Basic Regular Expressions A Regular Expression (RE in short) is a string of symbols that describes a regular Language. Let be an alphabet. For each, the symbol is an RE representing the set. The symbol is an RE representing the set. (The set containing the empty string). The symbol is an RE representing the empty set. 4

5 Inductive Construction Let and be two regular expressions representing languages and, resp. The string is a regular expression representing the set. 5

6 Some Useful Notation Let be a regular expression: The string represents, and it also holds that. The string represents. The Language represented by R is denoted by. 6

7 Precedence Rules The star (*) operation has the highest precedence. The concatenation ( ) operation is second on the preference order. The union ( ) operation is the least preferred. Parentheses can be omitted using these rules. 7

8 Examples –. 8

9 Examples - all words starting and ending with the same letter. - all strings of forms 1,1,…,1 and 0,1,1,…1. - A set concatenated with the empty set yields the empty set.. 9

10 Regular expressions and finite automata are equivalent in their descriptive power. This fact is expressed in the following Theorem: Theorem A set is regular if and only if it can be described by a regular expression. The proof is by two Lemmata (Lemmas): Equivalence With Finite Automata 10,

11 If a language L can be described by regular expression then L is regular. Lemma -> 11,,

12 The proof is by induction on the length of the regular expression: Induction Base: We show that each basic regular construct describes a regular language. Induction Step: Assume that all RE up to a certain length describe regular sets and show that application of any inductive rule preserves this property. Proof Idea 12,,

13 Induction Basis 1.For any, the expression describes the set, recognized by: 2.The expression is recognized by: 3.The expression is recognized by: 13

14 Now, we assume that and represent two regular sets and claim that, and represent the corresponding regular sets. The proof for this claim is straight forward using the constructions given in the proof for the closure of the three regular operations. The Induction Step 14

15 Show that the following regular expressions represent regular languages: 1.. 2.. To be demonstrated on the Blackboard. Examples 15

16 If a language L is regular then L can be described by regular expression. Lemma <- 16

17 The proof follows the following stages: 1.Define Generalized Nondeterministic Finite Automaton (GNFA in short). 2.Show how to convert any DFA to an equivalent GNFA. 3.Show an algorithm to convert any GNFA to a GNFA with 2 states. 4.Convert a 2-state GNFA to an equivalent RE. Proof Stages 17,

18 1.A GNFA is a finite automaton in which each transition is labeled with a regular expression over the alphabet. 2.A single initial state with all possible outgoing transitions and no incoming trans. 3.A single final state without outgoing trans. 4.A single transition between every two states, including self loops. Properties of a Generalized NFA 18,

19 To be presented on the blackboard. Example of a Generalized NFA 19

20 A computation of a GNFA is similar to a computation of an NFA. except: In each step, a GNFA consumes a block of symbols that matches the RE on the transition used by the NFA. A Computation of a GNFA 20

21 To be presented on the blackboard Example of a GNFA Computation 21

22 Conversion is done by a very simple process: 1.Add a new start state with an - transition from the start state to all other states. 2.Add a new accepting state with - transition from every state to the accepting state. 3.Replace any transition with multiple labels by a single transition labeled with the union of all labels. Converting a DFA to a GNFA 22

23 4.Add any missing transition, including self transitions; label the added transition by. Converting a DFA to a GNFA (Cont) 23

24 The final element needed for the proof is a procedure in which for any GFN G, any state of G, not including and, can be ripped off G, while preserving. This is demonstrated in the next slide by considering a general state, denoted by, and an arbitrary pair of states, and, as demonstrated in the next slide: Removing a state from a GNFA 24

25 Removing a state from a GNFA 25 Before RippingAfter Ripping Note: This should be done for every pair of outgoing and incoming outgoing.

26 A (half?) Formal Proof The first step is to formally define a GNFA. Each transition should be labeled with an RE. Define the transition function as follows: where denotes all regular expressions over. 26

27 A Generalized Finite Automaton is a 5-tupple where: 1. is a finite set called the states. 2. is a finite set called the alphabet. 3. * is the transition function. 4. is the start state, and 5. is the accept state. GNFA – A Formal Definition 27

28 A GNFA accepts a string if and there exists a sequence of states, satisfying: For each,,, where, or in other words, is the expression on the arrow from to. GNFA – Defining a Computation 28

29 Procedure CONVERT takes as input a GNFA G with k states. If then these 2 states must be and and the algorithm returns. If the algorithm converts G to an equivalent G’ with states by use of the ripping procedure described before. Procedure CONVERT 29


Download ppt "1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli."

Similar presentations


Ads by Google