Title: CS 311 / MATH 352
1CS 311 / MATH 352 Automata and Complexity Theory
2Admistrative Stuff
- Instructor Shahab Baqai (baqai_at_lums.edu.pk) R
oom 423, Ext 4423 - Lectures Mon Wed 1145 1325 hrs. A-15
- Tutorials As When needed
- Office Hrs Fri 1100 1300 hrs (or by
appointment) - TAs 2 Check course web for contact
info and office hours etc - Prerequisite CS211a - Discrete Mathematics I
- Website http//suraj.lums.edu.pk/cs311w07
3Admistrative Stuff (cont.)
Questions We prefer that you post your question
to the class discussion form. The TA will try to
respond to all questions on the forum within 24
hours (48 hours Max). This way everyone gets the
benefit of reading the replies, and it helps to
reduce the number of repeat questions. For
questions that are not suitable to be posted to
the newsgroup (e.g. questions about your grade),
you can email your TA directly although there is
no guarantee of when you will receive a reply.
4Course Organization
Text Book J. E. Hopcroft, R. Motwani, J. D.
Ullman Introduction to Automata
Theory,Languages, and Computation, Second
Edition,Addison-Wesley, New York,
2001. Instruments The 610 assignments, , 1012
quizzes, 01 midterm 01 final (will be
comprehensive). Weights Homework 0510 Quizz
es 1520 Midterm 3035 Final
Exam 4045
5What we will do
- Automata abstract computing devices
- Turing studied Turing Machines (
computers)before there were any real computers - We will also look at simpler devices thanTuring
machines (Finite State Automata, Pushdown
Automata, . . . ), and specification means, such
as grammars and regular expressions. - NP-hardness what cannot be efficiently computed
6Computation
memory
CPU
7temporary memory
input memory
CPU
output memory
Program memory
8Example
temporary memory
input memory
CPU
output memory
Program memory
compute
compute
9temporary memory
input memory
CPU
output memory
Program memory
compute
compute
10temporary memory
input memory
CPU
output memory
Program memory
compute
compute
11temporary memory
input memory
CPU
Program memory
output memory
compute
compute
12Automaton
temporary memory
Automaton
input memory
CPU
output memory
Program memory
13Different Kinds of Automata
- Automata are distinguished by the temporary
memory - Finite Automata no temporary memory
- Pushdown Automata stack
- Turing Machines random access memory
14Finite Automaton
temporary memory
input memory
Finite Automaton
output memory
Example Vending Machines
(small computing power)
15Pushdown Automaton
Stack
Push, Pop
input memory
Pushdown Automaton
output memory
Example Compilers for Programming Languages
(medium computing power)
16Turing Machine
Random Access Memory
input memory
Turing Machine
output memory
Examples Any Algorithm
(highest computing power)
17Power of Automata
Finite Automata
Pushdown Automata
Turing Machine
Less power
More power
Solve more computational problems