









Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Some concepts of Computability are Algorithmic Problems, Automata, Closure of Regular Languages, Computability, Free Languages, Machine Transforms, Magic Bullets, Minimization, Models of Computation, Nondeterministic Complexity. Important points in this lecture are: Course Policies, Explaining Required, Syllabus, Available Online, Lectures And Notes, Black-Board Work, General Concepts, Specific Examples, E-Podium Camera, Extra Board-Work
Typology: Slides
1 / 17
This page cannot be seen from the preview
Don't miss anything!










This is the study of abstract computing devices
or machines. Various models are studied with different abilities and limitations on their capabilities.
GOAL: Describe precisely the computational
power of each machine. E.G., can a computer answer the same computational questions if its hard-drive is removed?
GOAL: Can we automate the process of
finding syntactic errors by magically transforming any grammatical specification to a computer or computer program? If so, which of the computer models studied in Automata Theory is suitable for the purpose?
Formal languages will act as the glue that unifies the treatment of all three perspectives.
Pre-definition: A formal language is a set consisting of strings.
In some sense, one can think of English as consisting of all valid English words {a, aback, abacus, abaft, abandon, … } Probably more accurate to think of English as consisting of valid English sentences. Java is the set of all compiling Java programs.
Automata theory: Computers are defined to
act purely on strings and therefore define
certain languages.
Grammars: Grammars generate languages by
admitting a subset of all possible strings.
Algorithms: Instances of algorithmic problems
are viewed as strings by identifying them with
All
REC = computed by TM
Context Free = computed by PDA
Regular = computed by FA
Finite languages
No programming – except for simple tools like egrep Definition/Example/Theorem/Proof style – to a point All the objects studied are mathematical in nature
This course has many practical applications Some portions are less applicable (e.g. Turing Machines) but are of fundamental importance and form a common language across all disciplines of CS.
Pattern recognition, intrusion detection, software engineering (UML), GUI programming (event-listeners), network security (protocols), verification (discovering bugs in chips), natural language processing (Amtrak reservation system), computational genomics (DNA sequencing), compilers, document definitions (XML), and many many more.
For the most part, we won’t delve too far into the practical applications.