Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about...
Transcript of Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about...
![Page 1: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/1.jpg)
Andrew (Andy)Chen
Hubert TeoWilliam Marshall
Welcome to CS 154Omer Reingold
Anastasiya Vitko
![Page 2: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/2.jpg)
Introduction to Automata and
Complexity Theory
CS 154
of Computation
the
![Page 3: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/3.jpg)
Textbook
Additional Reading: Boaz Barak, Introduction to Theoretical Computer Science (online)
![Page 4: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/4.jpg)
This class is about formal models of computation
What is computation?
What can and cannot be computed?
What can and cannot be efficientlycomputed?
Philosophy, Mathematics, and Engineering (… Science, …)
![Page 5: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/5.jpg)
“to find out (something) by using
mathematical processes”
Merriam-Webster.
Computing:
![Page 6: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/6.jpg)
Computers
![Page 7: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/7.jpg)
Algorithms
![Page 8: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/8.jpg)
“evolution of an environment via
repeated application of simple, local
rules”
~Avi Wigderson
Computing:
![Page 9: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/9.jpg)
Computational Lens
![Page 10: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/10.jpg)
Limited Resources
![Page 11: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/11.jpg)
What you Need to Know About the Course
![Page 12: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/12.jpg)
Meet us on Piazza:
piazza.com/stanford/fall2019/
cs154/home
Sign up!
piazza.com/stanford/fall2019/
cs154
![Page 13: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/13.jpg)
Other Resource Pages
Submitting Homework: Gradescope
Presentations and reading
https://omereingold.wordpress.com/cs-154-introduction-to-
automata-and-complexity-theory/ (Google: Omer Reingold CS
154)
Lecture recordings: Stanford Canvas
• What? 4 platforms?
• Yes: you are Stanford students, you can handle it
![Page 14: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/14.jpg)
Grades (lower bound)
1 2 3
![Page 15: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/15.jpg)
Homework / Problem SetsHomework will be assigned every Tuesday (except for the week before the midterm) and will be due one week later at the beginning of class. No late submission. We will drop your lowest homework grade
Assigned reading: Integral part of course work. Classes good for organizing, reminding, highlighting, giving important perspective. Not so good for replacing a textbook.
Doubly true if you forgot CS 103
![Page 16: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/16.jpg)
Homework Collaboration and Submission
You may (even encouraged to) collaborate with others, but you must:
✓ Try to solve all the problems by yourself first✓ List your collaborators on each problem✓ If you receive a significant idea from somewhere, you
must acknowledge that source in your solution.✓ Write your own solutionsAssignments and submissions through gradescope.com✓ Best to write in LaTex
![Page 17: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/17.jpg)
“Students must not register for classes with conflicting end
quarter exams.”
BUT if the other course:- Allows you to take our midterm in-class (Ours is on Tuesday 10/29).- Does not have its own final exam (Ours is Thursday, December 12, 3:30-6:30 p.m)
Then we’ll allow it. Not necessarily recommended.
Thinking of taking another course
at the same time?
![Page 18: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/18.jpg)
• Some will say: “a review of 103 with slightly more depth”
• Some: “CS 103 to be pretty easy … but I really struggled in CS 154 just because it moved at a much faster pace”
• All the range from easy to hard; from boring to fascinating
• One will say: “I'm just really fond of Omer's accent.”• Others will be too polite to say
What You’ll Say in December
![Page 19: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/19.jpg)
• This class is the first non-mandatory theory class:
• Offers a pick into some cool stuff (and prepares you
to some cool classes)
• Requires more maturity
• My advice: • Keep with the lectures, psets, reading• Come to office hours• Concentrate on knowledge rather than grades
(grades will follow).
The Big Challenge and Opportunity
![Page 20: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/20.jpg)
Back to the Theory of Computation
![Page 21: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/21.jpg)
![Page 22: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/22.jpg)
![Page 23: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/23.jpg)
But Quantum Computers bla bla bla
Gödel’s Incompleteness Theorem completely
blew my mind …
Complexity-Theoretic Church–
Turing Thesis bla bla bla
How strong is your PCP?
![Page 24: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/24.jpg)
Theoretical Computer Science
Computer Science
Biology
Statistics
PhysicsEconomics
Mathematics
SocialScience
Theoretical
Computer Science
Learning
Randomness
Verification
Distributed
Lower boundsCommunication
Complexity
Quantum Computing
Core ToC
Propertytesting
AGT
Crypto
Logic
©Avi Wigderson
![Page 25: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/25.jpg)
Finite Automata (40s-50s): Very Simple Model (constant memory)• Characterize what can be computed (through closure properties)• First encounter: non-determinism (power of verified guessing)• Argue/characterize what cannot be computed• Optimization, learning
More modern (complexity-theoretic) perspective:streaming algorithms, communication complexity
Chapter I
![Page 26: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/26.jpg)
Computability Theory 30’s – 50’sVery Powerful Models: Turing machines and beyond (Un)decidability – what cannot be computed at all• Foot in the door – an unrecognizable language• Many more problems, through reductions• Hierarchy of exceedingly harder problemsThe foundations of mathematics & computationKolmogorov complexity (universal theory of information)
Chapter II
![Page 27: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/27.jpg)
Complexity Theory: 60’s –Time complexity, P vs. NP, NP-completeness• Non-determinism comes back• Our foot in the door – SAT, a problem that is likely hard to
compute• Many more problems through (refined) reductions• An hierarchy of hard problemsOther Resources: space, randomness, communication, power,…Crypto, Game Theory, Computational Lens
Chapter III
![Page 28: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/28.jpg)
Map Coloring
Given a map, can we “legally” color the countries with 3 colors? (4-coloring always exists)
This is the central question of computer science (and one of the central questions of math). Really?
![Page 29: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/29.jpg)
A good proof should be:Clear – easy to understandCorrect and convincingLike an ogre (or a parfait)
(Mathematical)Proofs
![Page 30: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/30.jpg)
Sipser: In writing mathematical proofs, it can be very helpful to provide three levels of detail
❑ 1st: a short phrase/sentence giving a “hint” of the proof
(e.g. “Proof by contradiction,” “Proof by induction,”
“Follows from the pigeonhole principle”)
❑ 2nd: a short, one paragraph description of the main ideas
❑ 3rd: the full proof
![Page 31: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/31.jpg)
During lectures, my proofs will usually contain intuitive descriptions and only a little of the gory details (the third level) if at all
You should think about how to fill in the details!
You aren’t required to do this (except on some assignments) but it can help you learn.
Proofs in Class
![Page 32: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/32.jpg)
Some Methods of Proof
Construction, Contradiction, Induction (and strong induction), and our BFFTC (if not BFF):
Reduction
![Page 33: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/33.jpg)
Suppose A {1, 2, …, 2n}
Show that there are always two numbers in Asuch that one number divides the other number
with |A| = n+1
Proof Example
Example: A {1, 2, 3, 4}1 divides every number.If 1 isn’t in A then A = {2,3,4}, and 2 divides 4
![Page 34: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/34.jpg)
THE PIGEONHOLE PRINCIPLEIf 6 pigeons occupy 5 holes,
then at least one hole will have more than one pigeon
HINT 1:LEVEL 1
![Page 35: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/35.jpg)
THE PIGEONHOLE PRINCIPLEIf 6 pigeons occupy 5 holes,
then at least one hole will have more than one pigeon
HINT 1:LEVEL 1
![Page 36: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/36.jpg)
THE PIGEONHOLE PRINCIPLEIf n+1 pigeons occupy n holes,
then at least one hole will have more than one pigeon
HINT 1:LEVEL 1
HINT 2:Every integer a can be written as a = 2km, where m
is an odd number (k is an integer).Call m the “odd part” of a
![Page 37: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/37.jpg)
Proof Idea:
Given A {1, 2, …, 2n} and |A| = n+1
Using the pigeonhole principle, we’ll show there are elements a1 a2 of A such that a1 = 2im and a2 = 2km (for some odd m and integers i and k)
LEVEL 2
![Page 38: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/38.jpg)
A {1, 2, …, 2n} with |A| = n+1
Each element of A can be written as a = 2kmm is an odd number in {1,..., 2n}Observe there are n odd numbers in {1, …, 2n}Since |A| = n+1, there must be two distinct numbers in A with the same odd part
Let a1 and a2 have the same odd part m. a1 = 2im and a2 = 2km one must divide the other (e.g., if k > i then a1 divides a2)
Proof:LEVEL 3
![Page 39: Welcome to CS 154 · 2019-09-25 · Theoretical Computer Science (online) This class is about formal models of computation. ... Homework / Problem Sets. Homework will be assigned](https://reader034.fdocuments.in/reader034/viewer/2022042403/5f17e061fb0b66415f230c5d/html5/thumbnails/39.jpg)
Parting thoughts:
Computation a powerful notion
Good theory is about the right level of
abstraction
Lets have some fun
Questions?