13-4-25
15-251
Complexity Theory:
The P vs NP question
Some
Great Theoretical Ideas
in Computer Science
for
The $1M Questions
$
The P versus NP problem
The Clay Mathematics Institute
Millenium Prize Problems
1 .
2 .
3 .
4 .
5 .
6 .
7 .
Birch and Swinner
13-2-8
15-251
Some
Great Theoretical Ideas
in Computer Science
for
Whats a tree?
Graphs
Lecture 8 (February 7, 2013)
Tree
A tree is a connected
graph with no cycles
Not Tree
Not Tree
1
13-2-8
Tree
How Many n-Node Trees?
1:
2:
3:
4:
5:
Theorem: Let G be
15-251: Great Theoretical Ideas in Computer Science
Lecture 10
7
Probability 1
1
7
A
1
5
7
3
3
3
9
9
5
5
5
7
3
B
5
5
8
8
2
8
2
C
2
D
France, 1654
Antoine Gombaud,
AKA Chevalier de Mr
Lets bet:
I will roll a die four times.
I win if I get a 1.
(not actuall
15-251: Great Theoretical Ideas in Computer Science
Lecture 3
Logic
Logic
Logic:
Math:
a formal game played with symbols
which turns out to be useful for
modeling mathematical reasoning.
a formal game played with symbols
which turns out to be useful for
m
13-1-30
15-251
Some
Great Theoretical Ideas
in Computer Science
for
If I have 14 teeth on the top and 12
teeth on the bottom, how many
teeth do I have in all?
Counting I: One-To-One
Correspondence
and Choice Trees
Lecture 5 (January 29, 2013)
Addition Rul
Lecture 11, Feb 19 2013
Steven Rudich
Bipartite Graph
Recall: A graph is bipartite if the nodes V
can be partitioned into two sets A and B
such that all edges go only between A and B
(no edges go from A to A or from B to B)
Computing Maximum Matchings
The
15-251: Spring 2013, Lecture 6
Great Theoretical Ideas in Computer Science
Counting II:
Fundamental Forms and Types
(
+
+
)(
+
Correspondence Principle
If two finite sets can be
placed into 1-1 onto
correspondence, then
they have the same size.
)=?
Choice
15-251
Cooking for
Computer Scientists
15-251
Some
Great Theoretical Ideas
in Computer Science
for
www.cs.cmu.edu/~15251
Grading
Raw Grade = 0.28HW + 0.35MIDTERMS +
0.30FINAL + 0.05QUIZES +
0.02PARTICIPATION
15-251 Course Evaluations:
Student Comments
sad
15-251: Spring 2013, Lecture 2
Great Theoretical Ideas in Computer Science
Inventor of the course
Reasoning about Induction
Prof. Steven Rudich
Office Hours: M 2 4:30pm
Email: [email protected]
Induction
I am legally blind.
Induction is the primary way well
13-2-13
15-251
Great Theoretical Ideas in
Computer Science
Graphs II
Lecture 9, February 12, 2013
Cayleys Formula
Recap
Spanning Trees
A spanning tree of a graph G is a tree that
touches every node of G and uses only
edges from G
The number of labeled tre
15-251: Great Theoretical Ideas in Computer Science
Lecture 15
Polynomials
Polynomials like to live in fields.
What is a field?
Fields
Find out about the wonderful world of
where two equals zero, plus is minus,
and squaring is a linear operator!
Rich Sch
15-251: Great Theoretical Ideas in Computer Science
Lecture 20
Countability
&
Diagonalization
The three characters
Salviati:
Argues for the Copernican system.
The smart one. (Obvious Galileo stand-in.)
Named after one of Galileos friends.
Sagredo:
Galileo
15-251
Some
Great Theoretical Ideas
in Computer Science
for
Deterministic
Finite Automata
11
0
1
0,1
1
A machine so simple that
you can understand it in
less than one minute
0111
111
1
0
0
1
The machine accepts a string if the
process ends in a double cir
Complexity Theory:
15-251
Efficient Reductions Between
Computational Problems
A Graph Named Gadget
K-Coloring
Some
Great Theoretical Ideas
in Computer Science
for
We define a k-coloring of a graph:
Each node gets colored with one color
At most k differen
15-251: Great Theoretical Ideas in Computer Science
Lecture 22
Turing & Computability
What is a computer?
Lets check the dictionary.
Computers (usage 2)
computer:
1. a programmable machine which
performs computations and calculations
2. a human employed t
15-251: Great Theoretical Ideas in Computer Science
Lecture 18
A day in the life of me
Work
Random Walks
image: David B. Wilson
A day in the life of me
A day in the life of me
Work
Work
40%
40%
60%
60%
10%
Surf
Email
30%
60%
Surf
A day in the life of me
A
15-251
Some
Great Theoretical Ideas
in Computer Science
for
Modular Arithmetic
(February 26, 2008)
p-1
p 1
Unique Factorization
Theorem
Every positive integer can be
uniquely factored into the product
of distinct prime powers.
MAX(a,b) + MIN(a,b) = a+b
n|
15-251
Some
Great Theoretical Ideas
in Computer Science
for
If I randomly put 100 letters
into 100 addressed
envelopes, on average how
many letters will end up in
their correct envelopes?
A new tool called
Linearity of Expectation
Probability II
(Februa
15-251: Great Theoretical Ideas in Computer Science
Lecture 17
Linear algebra is about vectors.
Linear Algebra
Concretely, vectors look like this:
They are lists of numbers.
fig. by Peter Dodds
# of numbers, m, is called the dimension.
In linear algebra,
15-251: Great Theoretical Ideas in Computer Science
Lecture 14
Group Theory
Definition of a Group
Let S be a non-empty set.
Let ! be a binary operator on S.
(S,!) is called a group if it has these properties:
closure: a, b S a b S
associativity: a, b, c S