Topics to be Covered in CS 456/656
Formal Languages.
-
Symbols.
-
Alphabets.
-
Strings.
-
ε, the Empty String.
-
Languages.
-
Union.
-
Concatenation.
-
Kleene Closure.
-
Atomic Languages.
-
{ε}, the Language Whose Only Member is
ε.
-
{a},
the Language Whose Only Member is the String
a.
-
Confusion Alert! If
a is a symbol, then a
denotes two different things: the symbol
a, and the string of length one whose
only symbol is a.
-
∅, the Empty Language.
-
Confusion Alert!
The empty language is not same as the
language whose only member is the empty string.
Regular Languages and Finite Automata.
-
Deterministic Finite Automata (DFAs).
-
States.
-
Transitions.
-
Start State, Computations.
-
Final States, Acceptance.
-
Dead States.
-
Minimal DFAs, Moore's Algorithm.
-
Regular Expressions.
-
Confusion Alert!
In a regular expression, the symbol ε does not denote
the empty string. Instead, it denotes {ε},
the language which has one member, the empty string.
-
Myhill Nerode Theorem
-
Non-deterministic Finite Automata (NFAs).
-
ε-Transitions.
-
Equivalence of DFAs, NFAs, and Regular Expressions.
-
Powerset Construction.
-
The Pumping Lemma.
-
What is it Used For?
Context-Free Languages and Grammars.
-
Context-Free Grammars.
-
Variables and Terminals.
-
Derivations.
-
The Language Generated by a Context-Free Grammar is a
Context-Free Language.
-
Equivalent Context-Free Grammars.
-
Chomsky Normal Form.
-
Ambiguous Context-Free Grammars.
-
Confusion Alert! There is no such thing
as an "Ambiguous Context-Free Language." If a language has
an unambiguous context-free grammar, it also has an ambiguous
context-free grammar.
-
Inherently Ambiguous Context-Free Languages.
However, there are some context-free languages that have no
unambiguous context-free grammar.
-
Every Regular Language is Context-Free, but not Vice-Versa.
-
Union, Contanenation, and Kleene Closure.
-
Push-Down Automata (PDAs).
-
Stack, Input Stream, Finite Control.
-
Non-Deterministic.
-
Accepting Computations.
-
Read, Pop, Push, Change State.
-
Read Entire Input.
-
By Final State.
-
By Empty Stack.
-
By Final State and Empty Stack.
-
These Three are Equivalent.
-
Chomsky's Theorem: The Class of Languages Accepted by PDAs is the
Class of Context-Free Languages.
-
Deterministic Push-Down Automata (DPDAs) and
Deterministic Context-Free Languages.
-
Pumping Lemma for Context-Free Languages.
-
Applications.
-
Algebraic Languages.
-
Programming Languages.
Turing Machines and Decidability.
-
The Church-Turing Thesis.
-
Reduction and Undecidability.
-
The Diagonal Language.
-
The halting problem is undecidable.
-
There exist mathematical statements that are true but have no proof.
-
A few other undecidable problems.
-
Computable and uncomputable functions.
There exist well-defined mathematical functions which cannot be
computed. For example, the
busy beaver function.
Complexity Theory.
-
0-1 Problems.
-
Reduction and NP-Completeness.
-
The class P-TIME.
-
The class NP-TIME.
-
Guide Strings.
-
Certificates = Witnesses.
-
NP-Complete Problems.
-
SAT.
-
3-SAT.
-
The Clique Problem. (The Luce-Perry Problem.)
-
The Independent Set Problem.
-
The Knapsack Problem.
-
The Partition Problem.
-
Other topics.
-
The class P-SPACE.
-
Nick's Class.
-
The Boolean Circuit Problem.