πŸŽ“ Computer Science & Engineering Portal

Master Engineering Disciplines with Structured Notes

Comprehensive academic lecture notes, exam-oriented unit summaries, laboratory manuals, and previous year question papers designed strictly for university students.

πŸ“‘

University Syllabi

AKTU & AICTE aligned semester guidelines.

πŸ“

Exam Question Papers

Previous 5 years solved university papers.

πŸ’‘

Lab Manuals & Viva

Practical codes with outputs & interview Qs.

Core Subjects & Units Hub

Click on any specific unit to immediately view its lecture notes below

Viewing All Lectures

Closure properties of Regular languages

In an automata theory, there are different closure properties for regular languages. They are as follows βˆ’

  • Union
  • Intersection
  • concatenation
  • Kleene closure
  • Complement

Let see one by one with an example

Union

If L1 and If L2 are two regular languages, their union L1 U L2 will also be regular.

Example

L1 = {an | n > O} and L2 = {bn | n > O}

L3 = L1 U L2 = {an U bn | n > O} is also regular.

Intersection

If L1 and If L2 are two regular languages, their intersection L1 ∩ L2 will also be regular.

Example

L1= {am bn | n > 0 and m > O} and

L2= {am bn U bn am | n > 0 and m > O}

L3 = L1 ∩ L2 = {am bn | n > 0 and m > O} are also regular.

Concatenation

If L1 and If L2 are two regular languages, their concatenation L1.L2 will also be regular.

Example

L1 = {an | n > 0} and L2 = {bn | n > O}

L3 = L1.L2 = {am . bn | m > 0 and n > O} is also regular.

Kleene Closure

If L1 is a regular language, its Kleene closure L1* will also be regular.

Example

L1 = (a U b )

L1* = (a U b)*

Complement

If L(G) is a regular language, its complement L'(G) will also be regular. Complement of a language can be found by subtracting strings which are in L(G) from all possible strings.

Example

L(G) = {an | n > 3} L'(G) = {an | n <= 3}

Note βˆ’ Two regular expressions are equivalent, if languages generated by them are the same. For example, (a+b*)* and (a+b)* generate the same language. Every string which is generated by (a+b*)* is also generated by (a+b)* and vice versa.


Decision Properties:
Approximately all the properties are decidable in case of finite automaton.

(i) Emptiness
(ii) Non-emptiness
(iii) Finiteness
(iv) Infiniteness
(v) Membership
(vi) Equality

These are explained as following below.

(i) Emptiness and Non-emptiness:

  • Step-1: select the state that cannot be reached from the initial states & delete them (remove unreachable states).
  • Step 2: if the resulting machine contains at least one final states, so then the finite automata accepts the non-empty language.
  • Step 3: if the resulting machine is free from final state, then finite automata accepts empty language.

    (ii) Finiteness and Infiniteness:

    • Step-1: select the state that cannot be reached from the initial state & delete them (remove unreachable states).
    • Step-2: select the state from which we cannot reach the final state & delete them (remove dead states).
    • Step-3: if the resulting machine contains loops or cycles then the finite automata accepts infinite language.
    • Step-4: if the resulting machine do not contain loops or cycles then the finite automata accepts infinite language.

    (iii) Membership:
    Membership is a property to verify an arbitrary string is accepted by a finite automaton or not i.e. it is a member of the language or not.

    Let M is a finite automata that accepts some strings over an alphabet, and let β€˜w’ be any string defined over the alphabet, if there exist a transition path in M, which starts at initial state & ends in anyone of the final state, then string β€˜w’ is a member of M, otherwise β€˜w’ is not a member of M.

    (iv) Equality:
    Two finite state automata M1 & M2 is said to be equal if and only if, they accept the same language. Minimise the finite state automata and the minimal DFA will be unique.

Labels: ,

Discussion & Queries (<$I18NNumComments$>):

<$CommentPager$>
<$I18NAtCommentTimeWithPermalink$>, <$I18NCommentAuthorSaid$>

<$BlogCommentBody$>

<$BlogCommentDeleteIcon$>
<$CommentPager$>