Presentation is loading. Please wait.

Presentation is loading. Please wait.

Closure Properties for Regular Languages

Similar presentations


Presentation on theme: "Closure Properties for Regular Languages"— Presentation transcript:

1 Closure Properties for Regular Languages

2 Preliminaries So far, we have stated languages in plain English. For example: “all words starting and ending with the character b” The description in plain English can be cumbersome and ambiguous “Regular Expressions” is a formal way to describe languages accepted by finite automata

3 Regular Expressions Regular Expressions are built upon a subset of the following operations on sets: Union Complementation Intersection Difference Concatenation Kleene star

4 Union Let L and M two languages, then their union is defined by:
L  M = { w : w  L or w  M} Let AL and AM two finite automata accepting L and M respectively: AL: AM: s > s’ > Is there a finite automata accepting L  M ?

5 Union (2) Is there a finite automata accepting L  M ? Yes! AL s e … q
> e s’ AM

6 Complement Let L be a language over an alphabet , then the complement of L is defined as: LC = { w : w  * and w  L} Let AL be a finite automaton accepting L. Is there a finite automaton accepting LC? b b a a f s q b b P a a

7 Complement (2) a r r s q q > b b b s q r b > a

8 Complement (3) Given a language accepted by a finite automaton AL, to find a finite automaton accepting LC we have to do the following steps: 1. Transform AL into an equivalent DFA AL’ 2. Construct a new automaton ALC by taking AL’ and: 2.1 Removing the favorable marks of all favorable states 2.2 Marking as favorable those states that initially had no favorable mark The resulting ALC is a DFA accepting LC

9 Intersection Let L and be M two languages, then their intersection is defined by: L  M = { w : w  L and w  M} Using DeMorgan’s Laws: (L  M) = (LC  MC)C Thus, there must be a finite automaton accepting (L  M)

10 Difference Let L and M be two languages, then their difference is defined by: L  M = { w : w  L and w  M} Using DeMorgan’s Laws: (L  M) = L  MC Thus, there must be a finite automaton for (L  M)

11 Concatenation Let L and M be two languages, then their concatenation is defined by: LM = { wv : w  L and v  M} b b A: B: a a s f a s f b a b b P a How to extend these automata such that the resulting one accepts the concatenation language?

12 Concatenation (2) AL e s > s’ e AM … e …
Steps to obtain a finite automation accepting LM: 1. Make an e-transition from all favorable states in AL to the initial state in AM 2. Unmark all favorable states in AL 3. Remove the mark of the initial state in AM

13 Kleene Star Let L be a language over an alphabet an alphabet , then we define: L0 = {e} L1 = L L2 = LL L3 = L2L = LLL Ln = Ln-1L Kleene star of L is defined as: L* = L0  L1  L2  …

14 Kleene Star (2) An equivalent definition:
L* = {w1 w2 … wk : w1, w2, …, wk  L} b A: a s > f a b b P a Obtain a finite automaton accepting L(A)*

15 Kleene Star (3) e e s AL > s’ e e … e
This finite automaton accepts L*

16 Closure under Set Operations Theorem
Theorem. Let L and M two regular languages, then the following languages are also regular: L  M LC L  M L – M LM L* One says that the regular languages are “closed” under these 6 operations


Download ppt "Closure Properties for Regular Languages"

Similar presentations


Ads by Google