Fall 200, CSE 468: Lectures
The following is the summary of lectures given so far. For each lecture
you find the list of topics covered, and the reference material.
The numbers indicate sections in Martin's book.
The notes contain a detailed list of the topics,
and explain the notions which are not explained
(or explained differently) in the book.
-
Wed, Aug 23
Overview of the Syllabus.
Contents of the course.
[
Notes
]
-
Mon, Aug 28
Preliminary notions: Basic mathematical objects (sets, relations, functions).
[
1.1. 1.3, 1.4,
Notes
]
-
Wed, Aug 30
Preliminary notions:
Correspondence between equivalence relations and partitions.
Classical propositional logic.
[
1.4.1, 1.2.1, 1.2.2,
Notes
]
-
Fri, Sep 1
Preliminary notions: First-Order Logic. Principle of Mathematical induction.
Inductive definitions and
Principle of Structural Induction.
[
1.2.3, 2.2, 2.4, 2.5,
Notes
]
-
Wed, Sep 6
The concept of alphabet, string and language.
Operations on languages.
Regular expressions and regular languages.
[
1.5, 3.1,
Notes
]
-
Fri, Sep 8
Use of Regular Languages in Computer Science.
Language recognition. Examples of automata recognizing
regular languages.
[
3.2
Notes
] Assignment 1 distributed. Due Sep 20 in class.
-
Mon, Sep 11
Formal definition of Finite Automata.
Distinguishing one string from another.
Lower bound on the number of states
of a Finite Automaton recognizing a given language.
[
3.3, 3.4
]
- Wed, Sep 13
FA for the recognition of union, intersection and difference
of languages.
[
3.5
]
- Fri, Sep 15
Nondeterministic Finite Automata.
Transforming a NFA into an equivalent FA.
[
4.1
]
-
Mon, Sep 18
Nondeterministic Finite Automata with lambda transitions.
Constructing a NFA-lambda corresponding to a given regular expression.
[4.2, 4.3]
-
Wed, Sep 20
Transforming a NFA-lambda into an equivalent NFA.
The Theorem of Kleene. Construction of
a regular expression representing the language recognized by
a given FA.
[4.3]
-
Fri, Sep 22
The indistinguishability relation associated to a language,
and the corresponding partition.
Deriving a FA from the indistinguishability relation
(when the partition is finite).
The theorem of Myhill-Nerode.
[
5.1
] Assignment 2 distributed. Due Oct 4 in class.
- Mon, Sep 25 Exercises in class solved by Mihaela Herescu
- Wed, Sep 27 Exercises in class solved by Mihaela Herescu
Fri, Sep 29 Class canceled
-
Mon, Oct 2
The theorem of Myhill-Nerode (cont'd).
Example of language whose indistinguishability relation
has an infinite number of equivalence
classes: L1 = {anbn | n natural number}.
Example of language whose indistinguishability relation
has a finite number of equivalence
classes: L2 = {ambn | m, n natural numbers}.
Deriving a FA for L2. [5.1]
-
Wed, Oct 4
Proof of the theorem of Myhill-Nerode.
Constructing a FA from the indistinguishability relation
associated to a language. [5.1]
- Fri, Oct 6
Minimization of FA.
[
5.2
]
Assignment 3 distributed. Due Oct 18 in class.
Mon, Oct 9 Fall break
- Wed, Oct 11
The pumping lemma for FA.
Using the pumping lemma for proving that
a language is not regular.
[
5.3
]
- Fri, Oct 13
Decision problems. The notion of decidability.
Decidable properties of FA: Emptyness of L(M).
[
5.4
]
- Mon, Oct 16
Decidable properties for FA:
Finiteness of L(M). Equivalence of FA.
Set-theoretic properties of regular languages.
[
5.4
]
- Wed, Oct 18
Uses of Regular Languages in Computer Science.
Limitations of Regular Languages.
Example of a language which is not regular:
the language of balanced parentheses.
Other examples: L1 = {anbn|
n is a natural number}. L2 = {x in {a,b}*|
#a(x) = #b(x)}.
L3 = {x in {a,b}*|
x is a palindrome}.
Expressing the above langauges inductively.
Expressing the above languages by using a grammar.
Context-free grammars.
Language generated by a context-free grammar.
[
5.5, 6.1
]
Assignment 4 distributed. Due Nov 6 in class.
- Fri, Oct 20
Exercises of preparation for the Midterm exam.
- Mon, Oct 23
Midterm exam (in class)
- Wed, Oct 25
Example of a context free language:
arithmetical expressions.
Derivation trees and ambiguity. Elimination of
ambiguity from the language of expressions:
enforcing precedence and associativity rules on the operators.
[ 6.2, 6.4, 6.5 ]
- Fri, Oct 27
Generating the language L of strings with the same number of a's and b's
with a non-ambiguous grammar G.
Proof by induction that G generates L
[
Notes
]
- Mon, Oct 30
Proof by induction that G generates L (Cont'ed).
Proof by induction that G is non-ambiguous.
[
Notes
]
- Wed, Nov 1
Other examples of proving by induction that a CF grammar generates a given language.
Example 1: the grammar S -> lambda | a S b
Example 2: the grammar S -> lambda | a S b | b S a | S S.
- Fri, Nov 3
Union, concatenation, and Klenee's star of context-free languages.
Regular languages are context-free.
Recognition of palindromes by using a FA with the auxilium of a stack.
Other example: recognition of the language {anbn | n >= 0}.
Introduction to the concept of Pushdown Automaton.
[
6.3, 7.1
]
- Mon, Nov 6
Formal definition of Pushdown Automaton.
Deterministic PDAs. Some context-free languages are inherently nondeterministic.
Example: the language of (even) palindromes.
[
7.2, 7.3
]
Assignment 5 distributed. Due Nov 17 in class.
- Wed, Nov 8
Correspondence between context-free languages and PDA.
Construction of a PDA corresponding to a given CF grammar.
Example: the language of balanced parentheses.
The pumping lemma for CF langauges. Example: proof that the language
L = {anbncn | n > 0} is not CF.
[
7.4, 7.5, 8.1
]
- Fri, Nov 10
Proof of the pumping lemma for CFL.
Example: proof that the language
L = {xx | x in {a,b}*} is not CF.
The class of CFL is not closed wrt the
operations of intersection.
Example: consider L1 = {anbnck | n, k> 0}
and L2 = {akbncn | n, k> 0}:
they are both context-free but their intersection is not.
The class of CF languages is closed wrt the
operation of intersection with a Regular language.
Decidable properties of CFL: emptyness and finitness.
[
8.2, 8.3
]
- Mon, Nov 13
The class of CF languages is not closed wrt the
operations of complement.
Decidable properties of CF languages: membership, emptyness and finitness.
Undecidable properties of CF languages: equality, emptyness of intersection, regularity.
Introduction to Parsing: example of LL(1) grammar: S -> T$
T -> lambda | ( T ) T
[
8.3
]
- Wed, Nov 15
Elimination of non-determinism with the
Look-Ahead technique.
LL(1) Grammars. Recursive-descent parsing
[
7.6
]
- Fri, Nov 17
Turing Machines.
Computability and the Church-Turing thesis.
Formal definition of Turing machine.
Turing machines as language acceptors.
[
9.1, 9.2
]
Assignment 6 distributed. Due Dec 4 in class.
- Mon, Nov 20
Example: a Turing machine recognizing the
language {xx | x in {a,b}*}.
Computing functions on strings with
Turing machines.
[
9.2, 9.4
]
Wed, Nov 22 No class (Thanksgiving break)
Fri, Nov 24 No class (Thanksgiving break)
- Mon, Nov 27
Computable functions.
Definition of a TM which computes the sum of two numbers.
Extended notions of TM (nondeterministic, multihead, multitape, multidimentional tape, etc.).
The extensions do not increase the computational power.
Universal TM.
[
9.4-7
]
- Wed, Nov 29
Recursive and recursively enumerable languages. Not all languages
are RE. Definition of cardinality (or size)
of a set. Countable and uncountable sets.
Proof of Cantor that [0,1] is uncountable.
[
10.1, 10.3
]
- Fri, Dec 1
Not all languages are RE (Cont'ed).
The set of RE langauges is countable. The set of
all languagesis uncountable. Example of a langauge which is not
RE: The language NSA.
[
10.3, 10.4
]
- Mon, Dec 4
The language NSA is not RE (Cont'ed). The set SA is not Rec.
Techniques for proving that a set is / is not RE / not Rec:
Reduction of one language to another.
The language H and the Halting problem. Proof by reduction
that the set H is not Recursive.
The theorem of Rice and undecidable problems.
[
10.4, 12.1, 12.2, 12.4
]
Wed, Dec 6 No class
Fri, Dec 8 No class