ECS 20  LecturebyLecture Topic Summaries

Lecture 
Topic 
Lect 1  F 3/31 
Introduction. Three example problems. Problem 1:
computing the sum of the numbers 1 through n.
Problem 2: Number of moves necessary and sufficient to
solve the Towers of Hanoi problem. Problem 3:
sqrt(2) is irrational. Material from [GoodaireParmenter, Chap 0].
and [GrahamKnuthPatashnik, Chap 1].

Lect 2  M 4/3 
Problem 4: What is the maximum number
of regions that n lines can divide the plane into?
Problem 5: x^2  4x + 17 has no realvalued solution.
Problem 6: For every n>=1, 2^n+1 is prime or 2^n1 is prime
(false; counterexamples). Logic. Sentential logic:
a recursive definition for wellformed formulaes.
Translating English statements into sentential logic.
Material from [GrahamKnuthPatashnik, Chap 1] and
[Enderton, Chap 1]. [Closest match in your book: Chapter 2]

Lect 3  W 4/5 
Translating another English sentence into sentential logic, and
review of recursive definition of wff. Review of the meaning of
implication. Definition of a truth assignments.
Extending a truth assignment to the language of wffs.
Definition of a tautology. Example tautologies.
Using truth tables to decide if a formulae is a tautology.
Distributive law, De Morgan's law.
Representing (some) wffs using logic gates.

Lect 4  F 4/7 
Tautologies and satisfiability. There is no efficient algorithm
for deciding either. Are there "efficient proofs" for Tautology,
Satisfiability? Logical completeness: {AND, OR, NOT} are complete;
so is {AND, NOT}. The
Compactness Theorem. The Tiling
Problem. There is no computer
program that solves the Tiling Problem.
Using the Compactness Theorem to see that if the plane is not
tileable (with a certain set of tiletypes) then there exists a
proof of this fact. (Note: most of this lecture isn't in your book.)

Lect 5  M 4/10 
First order logic: adding universal and existential quantifiers,
constant symbols, predicates, and function symbols. Examples.
Pushing negations across quantifiers.
The language of set theory. The language of number theory.

Lect 6  W 4/12 
Set theory. Wellknown sets. Cardinality of finite sets.
The empty set. Sets that contain sets. Being "type correct" when
you make statements about sets. Venn diagrams.
Defining equality, subset, union, intersection, difference, complement, xor.
Unions and intersections of infinitely many sets. De Morgan's law, and other
properties from the algebra of sets. [Kolman, Busby, Ross 1.1, 1.2]

Lect 7  F 4/14 
More operators on sets: power set P(A), cross product A x B,
twoelement subsets, (V & V). Alphabets, strings, and languages.
The empty string.
The length of a string. Bit extraction. Concatenation. Reversal.
Extending concatenation to languages.

Lect 8  M 4/17 
Review of strings, languages, and the concatenation operator. The
Kleene closure operation (*). Regular languages: definitions
and examples. Representing a regular language
using a regular expression. [Kolman, Busby, Ross 10.1, 10.2]

Lect 9  W 4/19 
Quiz 1. Review of regular expressions and how they each denote
a regular language, and each regular language is denoted by a regular
expression. Finding a regular expression for various languages.
Deterministic Finite Automata (DFA), how a DFA decides whether or not
to accept a string, and the language that a DFA accepts. Theorem (no proof):
a language is DFAacceptable iff it is regular. [Kolman, Busby, Ross 10.3, 10.5]

Lect 10  F 4/21 
Review of DFAs and how they work, and the (claimed) theorem above.
Relations. Definitions and examples for relations. Reflexive,
symmetric, transitive properties of a relation. Equivalence relations.
Equivalence classes.
A partition of a set. Blocks. An equivalence relation gives rise
to a partition, and a partition gives rise
to an equivalence relation. [Kolman, Busby, Ross 10.3, 10.5; 4.14.5]

Lect 11  M 4/24 
Review of vocabulary associated to relations.
The reflexive, symmetric, and transitive closure of a relation.
The quotient set. The digraph of a relation.
Functions. Checking that your functions are welldefined.
Definitions
for injective (onetoone), surjective (onto), and bijective functions.
The floor functions.
[Kolman, Busby, Ross 4.5, 4.7, 4,8, 5.1]

Lect 12  W 4/26 
Review of common language associated to functions. The inverse of a function.
Some wellknown functions: ceiling, floor, exponentiation, lg, ln, log.
The asymptotic growth of functions: O and Theta
notation.
Some growth rates that appear frequently in the analysis of algorithms.
[Kolman, Busby, Ross 5.2, 5.3.]

Lect 13  F 4/28 
The pigeonhole principle and various applications of it:
among three people, some two have the same gender;
among 20 people, some two have the same number of friends;
among 6 people, 3 mutually know one another or mutually do not know
one another (uses the "strong form" of the pigeonhole principle).
Notes on the pigeonhole principle.
Countable and uncountable sets.
Definitions for countability.
Examples of countable sets: proofs for evens countable,
integers countable, rational countable.
[Kolman, Busby, 3.3; the countable/uncountable stuff is not in your text;
see, for example, Goodaire and Parmenter 2.3]

Lect 14  M 5/1 
Teaching survey. More on countable and uncountable sets.
Diagnolization: the interval
(0,1) is not countable. The reals are not countable.
Using countability to prove that there
is a nonregular language, and that any "describable" class
of languages does not include all languages.
The Continuum Hypothesis.

Lect 15  W 5/3 
Survey results (I look like Rick Moranis).
Properties of integers.
The wellordering principle.
The division algorithm.
Definition of the divisibility relation, ab.
Some basic properties of the divisibility relation.
Quiz 2.

Lect 16  F 5/5 
More properties of integers: if da and db then
d  ax+by for any integers x,y.
Definitions of primes and composites.
The Primality testing problem (easy) vs. the Factoring problem
(hard).
The fundamental theorem of arithmetic.
(unique decomposability into a product of powers of primes).
The definition of gcd, and why it is welldefined.
How to compute the gcd of two numbers using Euclid's algorithm.
How to find x, y such that gcd(a,b)=xa+by.

Lect 17  M 5/8 
Review of some definitions and facts about numbers.
The Prime Number Theorem.
Review of Euclid's theorem.
A proof that Euclid's algorithm for finding gcd(a,b) terminates in O(lg a + lg b)
iterations.
Various ways of thinking about mod n, including Phil's favorite, that we are
working in a group, Z_n, of the integers modulo n.
Another group, Z_n^*.
Why Z_n^* really is a group: finding inverses of group
elements using Euclid's algorithm.
Here is the
group theory of today's lecture and Wednesday's.
Also [KBR 9.4].

Lect 18  W 5/10 
Review of the definition of a group.
Examples of groups (and things that fall short). Lagrange's theorem.
Concluding Fermat's Little Theorem.
A usuallyright test for primality based on Fermat's Little
Theorem.
Induction and recursion.
Example: A store sells envelopes in packages of 5 and 12. Show that
the store can exactly fill any order for 45 or more envelopes.

Lect 19  F 5/12 
More examples of induction:
tiling the punctured chessboard with "trominoes";
2^{2n}1 is divisible by 3; and the sum of off numbers 1 to 2n1.
Formal statement of the Principle of
Mathematical Induction. The "strong form" of this statement.
The cakecutting problem and its solution.

Lect 20  M 5/15 
Midterm

Lect 21  M 5/17 
Guest lecture by Zhaojun Bai.
Counting. The addition rule. The multiplication rule.
Various examples counting problems. Permutations. The function
P(n,r).

Lect 22  F 5/19 
Recurrence relations. Review of the Tower of Hanoi problem.
Solving recurrence relations by guessing and verifying by induction.
Solving recurrence relations by repeated substitution.
Analyzing a variant of the Towers of Hanoi problem where you may not move
directly between pegs A and B.
1 + a + ... + a^n = (a^{n+1}1)/(a1) (for a<>0).
Mergesort and its analysis.
Practice solving recurrence relations by repeated substitution.

Lect 23  M 5/22 
More examples of recurrence relations. Binary search and its
analysis. Now back to counting  mostly Permutations.
List of counting
examples I did in class.

Lect 24  W 5/24 
More examples, lots of examples, of counting problems.
(The same) list of counting problems.
The definition of P(n,r). Intentionally overcounting. Intentionally undercounting.
Combinations  the definition of C(n,r).

Lect 25  F 5/26 
Still more counting; see the same list.

Lect 26  W 5/31 
Quiz 3. Probability. Notions of
a probability space, an event, and some examples.
I have prepared brief notes on probability.

Lect 27  F 6/2 
More examples from Probability. The probability of getting an 8
when you roll a pair of dice. The probability of getting two even numbers
when Alice chooses two random distinct numbers between 1 and 10.
The birthday surprise.
Random variables and their expectation.
The expected value of a roll of a die, of the square of the roll of a die.
The linearity of expectation.
The unfair subway problem.
The Monty Hall threedoor problem.

Lect 28  M 6/5 
Graph theory. Lots of terminology
on graphs: graph, adjacent, incident, degree, path, cycle, component,
connected, tree, forest, Eulerian, etc.. Some basic propositions
about graphs, like that half the sum of the degrees is the number of edges.
Euler's Theorem: a graph G on n>=3 vertices is Eulerian iff every vertex
of G is of even degree.

Lect 29  M 6/7 
Evaluations. Proof of Euler's theorem. Hamiltonian graphs.
Examples of graphs that do and do not have Euler cycles and Euler
paths, and Hamiltonian cycles; the
Peterson graph is not Hamiltonian. The complexity of
deciding Eulerianness vs. the complexity of deciding Hamiltonicity.
Final remarks: the value of this course will become clearer in time, study
for permanent retention, not just for our exam!
