Skip to main content

Automata Language & Theory (ALC)

  

Introduction to Automata Theory / Automata Language & Computation / Theory of Computation by PATHAN AHMED KHAN





Automata Theory is a branch of computer science that deals with designing abstract self propelled computing devices that follow a predetermined sequence of operations automatically. 

An automaton with a finite number of states is called a Finite Automaton. 

The term "Automata" is derived from the Greek word "αὐτόματα" which means "self-acting". An automaton (Automata in plural) is an abstract self-propelled computing device which follows a predetermined sequence of operations automatically.

An automaton with a finite number of states is called a Finite Automaton (FA) or Finite State Machine (FSM).


Formal definition of a Finite Automaton:

An automaton can be represented by a 5-tuple (Q, ∑, δ, q0, F), where −
Q is a finite set of states.
∑ is a finite set of symbols, called the alphabet of the automaton.
δ is the transition function.
q0 is the initial state from where any input is processed (q0 ∈ Q).
F is a set of final state/states of Q (F ⊆ Q).

Related Terminologies:

Alphabet:
Definition − An alphabet is any finite set of symbols.
Example − ∑ = {a, b, c, d} is an alphabet set where ‘a’, ‘b’, ‘c’, and ‘d’ are symbols.
String:
Definition − A string is a finite sequence of symbols taken from ∑.
Example − ‘cabcad’ is a valid string on the alphabet set ∑ = {a, b, c, d}
Length of a String:
Definition − It is the number of symbols present in a string. (Denoted by |S|).
Examples −
If S = ‘cabcad’, |S|= 6
If |S|= 0, it is called an empty string (Denoted by λ or ε)


Kleene Star:
Definition − The Kleene star, ∑*, is a unary operator on a set of symbols or strings, ∑, that gives the infinite set of all possible strings of all possible lengths over ∑ including λ.

Representation − ∑* = ∑0 ∪ ∑1 ∪ ∑2 ∪……. where ∑p is the set of all possible strings of length p.
Example − If ∑ = {a, b}, ∑* = {λ, a, b, aa, ab, ba, bb,………..}

Kleene Closure / Plus:
Definition − The set ∑+ is the infinite set of all possible strings of all possible lengths over ∑ excluding λ.
Representation − ∑+ = ∑1 ∪ ∑2 ∪ ∑3 ∪…….
∑+ = ∑* − { λ }
Example − If ∑ = { a, b } , ∑+ = { a, b, aa, ab, ba, bb,………..}

Prefix and Suffix of a string:
Prefix String means number of leading symbols of that String.
Example:
String is “abc”
Prefix of a String is: ε, a, ab, abc.
Suffix of a String:  Number of its trailing symbols of that String.
String is “abc”
Suffix of a String is : ε, c,bc,abc

Language:
Definition − A language is a subset of ∑* for some alphabet ∑. It can be finite or infinite.
Example − If the language takes all possible strings of length 2 over ∑ = {a, b}, then L = { ab, aa, ba, bb }






Comments

Popular posts from this blog

DESIGN AND ANALYSIS OF ALGORITHMS – QUESTION BANK (CSE)

  ISL ENGINEERING COLLEGE DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING DESIGN AND ANALYSIS OF ALGORITHMS QUESTION BANK                                         BE III Year II Semester (A & B Sections) –PC 603 CS     Academic Year: 2020-21 SHORT ANSWER QUESTIONS   UNIT-I 1.       Why is an algorithm analysis required? 2.       State about UNION & FIND operations. 3.       List out the UNION algorithm using weighting rule. 4.       Given f(n)=10n 2 +4n+3, then prove that f(n)=O(n 2 ). 5.       List and define operations performed on sets? 6.       What do you mean by performance analysis of an algorithm? Explain. 7.       Explain the significance of input size of a problem. 8.       State the weighting, collapsing rules in sets. 9.       Explain set representation and write algorithm for FIND. 10.   Solve T(n)=3T(n/3)+√n. 11.   Define the terms direct recursive and indirect rec

Web Application Development (WAD)

Web Application Development (WAD) WEB APPLICATION AND DEVELOPMENT ( WAD) Notes Unit Wise Unit I INTRODUCTION   HTML   CSS   WEB APPLICATION FUNDAMENTALS   Unit II XML   Unit III JQuery   JSON Java Script Unit IV AngularJS   Unit V MEAN Stack   SMACK Stack LAB PROGRAMS:  Click Here Important Question for MID I :  Click here WAD Previous Question : Click Here TEXT BOOK:  Click Hear Course Code Course Title Core/Elective PC 601 IT WEB APPLICATION DEVELOPMENT Core Prerequisite Contact hours per week CIE SEE Credits L T D P - 3 1 - - 30 70 3 Course Objective:     Ø    To develop dynamic web applications using the concepts of HTML 5.0 and   CSS     Ø    To understand the document structure and schemas and represent data in  that format     Ø    To develop applications using Query and represent objects in JSON   notation    

DESIGN AND ANALYSIS OF ALGORITHMS – QUESTION BANK (IT)

  ISL ENGINEERING COLLEGE DEPARTMENT OF INFORMATION TECHNOLOGY DESIGN AND ANALYSIS OF ALGORITHMS QUESTION BANK BE III Year II Semester – PC 602 IT Academic Year: 2020-21 SHORT ANSWER QUESTIONS   UNIT-I 1.       Explain linear probing in Hashing with an example. 2.       Define Heap. 3.       List out the collision resolution techniques in hashing. 4.       Why is an algorithm analysis required? 5.       State about UNION & FIND operations. 6.       List out the UNION algorithm using weighting rule. 7.       Given f(n)=10n 2 +4n+3, then prove that f(n)=O(n 2 ). 8.       List and define operations performed on sets? 9.       What do you mean by performance analysis of an algorithm? Explain. 10.   Explain the significance of input size of a problem. 11.   State the weighting, collapsing rules in sets. 12.   Explain set representation and write algorithm for FIND. 17