Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Introduction To Autumata Theory
1. 1
Automata Theory
Dr. Muhammad Saleem Vighio (PhD, Denmark)
Associate Professor,
Information Technology, Quaid-e-Awam University of
Engineering, Science & Technology, Nawabshah
Lecture 01 and 02
Monday, April 08th 2017
2. • Course C.Hs:
• 04 C.Hs:
- Theoretical work
- Practical work
• Recommended Text Books:
• Introduction to Automata Theory, Languages and Computation
J.E. Hopcroft, R. Motwani, J.D. Ullman
3rd Edition (Addison Wesley/Pearson)
• Introduction to the Theory of Computation, 2nd Ed.
Michael Sipser
• Introduction to Computer Theory
Daniel I.A. Cohen
• Theory of Automata, Formal Languages and Computation
S. P. Eugene Xavier
• Online Literature
Course Introduction
3. • Teaching plan:
• 02 tests:
- At the end of 20th and 45th lectures respectively
• Class exercises
• Short presentations
• Practical exercises
Course Introduction
5. • During the lecture:
• Be punctual/regular
• Concentrate on the lecture
• Remain active and interactive
• Try to find/ask (research) questions
• Think in terms of “why”, “how”
During the Course
6. • In studying this subject, seek to determine:
• What can and cannot be computed ?
• How quickly ?
• With how much memory ? and
• On which type of computational model ?
What to Seek?
7. • Introduction
• Regular Languages and their descriptors
- Finite state automata
- Non-deterministic automata
- Regular expressions
- Algorithms to decide questions about regular languages,
e.g., is it empty?
- Closure properties of regular languages.
• Context Free Languages and their descriptors
- Context free grammars
- Pushdown automata
• Turing Machines and TM Variants
• Decidable and Undecidable Languages
• Time and Space Complexities
Course Outline
9. 9
What is Automata Theory?
• Study of abstract computing devices, or “machines”
• Automaton = an abstract computing device
Note: A “device” need not even be a physical hardware!
• A fundamental question in computer science:
Find out what different models of machines can do and
cannot do
The theory of computation
• Computability vs. Complexity
10. Computation
• Computation is a general term for any type of
information processing that can be
represented as an algorithm precisely
(mathematically).
Examples:
• Adding two numbers in our brains, on a piece of
paper or using a calculator.
• Converting a decimal number to its binary
presentation or vice versa.
• Finding the greatest common divisors of two
numbers.
• …
11. • The theory of computation studies
• whether (computability theory), and
• how efficiently (complexity theory)
certain problems can be solved on a computer, or rather on a model
of a computer.
• Several equivalent models of computational devices can be used:
• Finite automata.
• Pushdown automata
• Simple while programming language (pseudo-code).
• Turing machines.
• ...
Theory of Computation
12. Theory of Computation: A
Historical Perspective
1930s • Alan Turing studies Turing machines
• Decidability
• Halting problem
1940-1950s • “Finite automata” machines studied
• Noam Chomsky proposes the
“Chomsky Hierarchy” for formal
languages
1969 Cook introduces “intractable” problems
or “NP-Hard” problems
1970- Modern computer science: compilers,
computational & complexity theory evolve
21. 21
Different Kinds of Automata
Automata are distinguished by the temporary memory
• Finite Automata: no temporary memory
• Pushdown Automata: stack
• Turing Machines: random access memory
37. 37
String Operations: The * Operation
: the set of all possible strings from
alphabet
*
,,,,,,,,,*
,
aabaaabbbaabaaba
ba
38. 38
String Operations: The + Operation
: the set of all possible strings from
alphabet except
,,,,,,,,,*
,
aabaaabbbaabaaba
ba
*
,,,,,,,, aabaaabbbaabaaba
39. 39
Languages
A language is any subset of *
,,,,,,,,*
,
aaabbbaabaaba
ba
},,,,,{
,,
aaaaaaabaababaabba
aabaaa
Example:
Languages:
49. • Recommended Tools:
• UPPAAL
http://www.uppaal.org/
• Tool for the modelling, simulation and verification of
different types of computational algorithms: real-
time, embedded, and concurrent systems e.g.,
embedded processors in mobile phones, microwave
ovens, sensor nodes communicating with the
environment, traffic control systems and so on.
ToC: Course Introduction