CS 476 8. Reducibility
Definition Reduction: transforming one problem into another, such that the solution to the second problem
yields the solution to the first one.
solve A(. . .)
solve B(. . .)
If B can be solved, then A
CS 476 4. Context-Free Grammars
A formal grammar is considered context free when its production rules can be applied regardless of the
context of a nonterminal. It does not matter which symbols the nonterminal is surrounded by, the
CS 476 3. Regular Expressions
An alternative way to describe regular languages
Common in scripting languages (perl, python, etc.) & UNIX utilities (awk, sed, grep, etc.)
Defined by the regular operations:
Union ( or +)
CS 476 2. Non-deterministic finite automata
Non-deterministic Finite Automata
For a given state and input, transition function can have more than one results, or no result at all.
(q0 , 0) = cfw_q1 , q2
CS 476 6. Turing Machines
Definition Turing Machine is a finite state machine with an infinite and unrestricted memory (denoted as
Differences from finite automata:
A TM can both read and write on the tape.
The tape head can mov
CS 476 7. Decidability/Undecidability
Languages that are always accepted or rejected by a Turing Machine (i.e. by a decider TM).
Definition We will use < M > to denote the binary encoding of a TM. Or, alternatively, write a program
CS 476 5. Pushdown Automata
A pushdown automata (PDA) is:
An NFA with a stack.
Stack: an infinite LIFO memory.
Equivalent to CFGs.
Definition A PDA is a 6-tuple (Q, , , , q0 , F ) where
Q is the finite set of states.
is the input
CS 476 Introduction
Automata, Computability, and Complexity
Central areas of theory of computation include Automata, Computability, and Complexity, which are linked
by the question:
What are the fundamental capabilities and limitations of computers?