0% found this document useful (0 votes)
14 views2 pages

Theory of Computation Basics

Theory of Computation

Uploaded by

Rohini Aravindan
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views2 pages

Theory of Computation Basics

Theory of Computation

Uploaded by

Rohini Aravindan
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Om Sai

Ro

Theory of Computation

Input -- Abstract Machine / Model - Output

One state to other state

Abstract Machine / Model  Automata (Low level implementation)


Implemented within a finite number of states  Finite Automata

Applications:

 Design of Compiler Lexical Analyzer (Rules  Compiler error)


 Pattern matching Password rules
 Spell check  MS Word

Valid or Invalid

Automata covers 3 Concepts:


 Automata (i/p  o/p)
 Computability (Ability of computing)
 Complexity (optimal solution)

Basic Terminologies of Theory of Computation:


Symbols:
Is a smallest building block, which can be of alphabet, letter or picture

Alphabets Σ

String = w
Length = |w|
No of strings = |w|n

Positive Closure:
+
All values except NULL = L

Kleene Star/Kleene Closure


*
All values including NULL = L

Language:
A language is a set of strings, chosen from some Σ* or we can say- ‘A language is a
subset of Σ* ‘. A language that can be formed over ‘ Σ ‘ can be Finite or Infinite.

Example of Finite Language:


L1 = { set of string of 2 }
L1 = { xy, yx, xx, yy }
Example of Infinite Language:
L1 = { set of all strings starts with 'b' }
L1 = { babb, baa, ba, bbb, baab, ....... }

Common questions

Powered by AI

Languages in automata theory are sets of strings defined over an alphabet, Σ, and can be finite or infinite. Finite languages represent a limited set of strings, leading to constrained applications, while infinite languages provide unlimited possibilities, allowing broader computational applicability and flexibility. This distinction is crucial for applications that require exhaustive or unrestricted processing capabilities, such as natural language processing .

Understanding computability is critical as it defines what problems can be solved by computational models, establishing the foundations for evaluating whether algorithms can be designed for specific problems and ensuring that resources are not wasted on unsolvable tasks .

Spell check systems employ automata models by using finite automata to parse and recognize valid word patterns from a pre-defined dictionary, thus enabling automatic detection and suggestion for incorrect spellings in the text .

Automation theory primarily assists in the design and implementation of compilers, specifically through lexical analysis in error detection during compilation, pattern matching such as password rule enforcement, and spell check systems like those used in word processors .

Finite automata can be used in password validation by defining states that accept characters based on specific password rules such as length, character types, and sequences, thereby identifying valid passwords or rejecting invalid ones through state transitions .

Positive closure, denoted as L+, includes all possible concatenations of strings in a language excluding the empty string, while Kleene closure, denoted as L*, includes all possible concatenations including the empty string, allowing for the representation of more comprehensive formal languages .

Symbols and alphabets provide the foundational elements of strings and languages in computational models, allowing for the creation and manipulation of complex structures necessary for defining and processing language-based tasks such as parsing and machine translation .

Finite automata provides a structured framework to effectively model the process of lexical analysis by transforming sequences of input characters into tokens, thus serving as the first step in compiler design to catch syntax and lexical errors .

Complexity in automata theory helps in evaluating the efficiency of an algorithm or computational model, allowing for the identification of the most resourceful and time-efficient solutions, thus guiding towards optimal computational methodologies .

The theory of computation involves terminologies like symbols (basic units like alphabets or pictures), alphabets (finite set of symbols), strings (sequence of symbols), and language (subset of Σ*), which collectively form the foundation for defining computational problems and solutions .

You might also like