1 cs 3261 computability course summary zeph grunschlag
TRANSCRIPT
![Page 1: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/1.jpg)
1
CS 3261 Computability Course Summary
Zeph Grunschlag
![Page 2: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/2.jpg)
2
Announcements
Last hw due nowLook out for a final exam practice problems coming out over the weekend I will hold final review session on Tuesday 12/11, 3-5 pm, 833 Mudd. Pick-up final hw’s. I will hold daily OH’s next week and Monday 12/17, 12:00-1:30 except Thursday, 12/13 Final exam: Tuesday 12/18, 9-12, 833 Mudd
![Page 3: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/3.jpg)
3
Computability ConceptsAIM: Reduce Computer Science to
its bare theoretical essentials.
APPROACH: Algorithmic Problems
Formal Languages
![Page 4: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/4.jpg)
4
Formal LanguagesFundamental insight of Theoretical CS:By understanding how formal languages can
be computed, will understand how any algorithmic problem can be solved.
Algorithmic input/output problems involve creating procedures for procuring outputs from given inputs. Can be turned into a formal languages by re-writing as yes/no questions.
EG: “Find the shortest path…” becomes“Is there a path shorter than…”
![Page 5: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/5.jpg)
5
Computability ConceptsAIM: Reduce Computer Science to its bare
theoretical essentials.Algorithmic Problems Formal LanguagesComputers Graph based machine models
Questions to investigate: 1) What sorts of problems can be solved by each
computer model? 2) What languages does each model accept?3) What are the practical limits on what a computer
can do?
![Page 6: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/6.jpg)
6
Abstract Machine ModelsDFA’s
DFA’s model computers with strictly bounded memory.
1
3
2
a
b
b
a
a,b
![Page 7: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/7.jpg)
7
Abstract Machine ModelsDFA’s
Q: What’s the accepted language?
1
3
2
a
b
b
a
a,b
![Page 8: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/8.jpg)
8
Abstract Machine ModelsDFA’s
A: a*b+
1
3
2
a
b
b
a
a,b
![Page 9: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/9.jpg)
9
Abstract Machine ModelsNFA’s
Nondeterminism is a powerful concept. Often 1st view of a problem is nondeterministic.
1
3
2
a
a
b
a
a,b
![Page 10: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/10.jpg)
10
Abstract Machine ModelsNFA’s
Q: What’s the accepted language?
1
3
2
a
a
b
a
a,b
![Page 11: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/11.jpg)
11
Abstract Machine ModelsNFA’s
A: a+b*
1
3
2
a
a
b
a
a,b
![Page 12: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/12.jpg)
12
Abstract Machine ModelsPDA’s
By allowing a pushdown stack, increase flexibility and accept more languages.
1 2
3
a,X
b,X
0
$ $
![Page 13: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/13.jpg)
13
Abstract Machine ModelsPDA’s
Q: What’s the accepted language?
1 2
3
a,X
b,X
0
$ $
![Page 14: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/14.jpg)
14
Abstract Machine ModelsPDA’s
A: {an bn | n 0}
1 2
3
a,X
b,X
0
$ $
![Page 15: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/15.jpg)
15
Abstract Machine ModelsTM’s
By allowing a read-write tape, amazingly get most general possible computer model!
1 2
XR
0
1$,RL acc
34XL
$L
1L
$R
1X,R
1R
XR
XL
5 1L
1|XL
![Page 16: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/16.jpg)
16
Abstract Machine ModelsTM’s
Q: What’s the accepted language?
1 2
XR
0
1$,RL acc
34XL
$L
1L
$R
1X,R
1R
XR
XL
5 1L
1|XL
![Page 17: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/17.jpg)
17
Abstract Machine ModelsTM’s
A: Unary powers of 2.
1 2
XR
0
1$,RL acc
34XL
$L
1L
$R
1X,R
1R
XR
XL
5 1L
1|XL
![Page 18: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/18.jpg)
18
I/O VersionsEach class of languages has its own I/O
version. Regular: Finite State Transducers More powerful models exist (e.g. with
’s)
Context free: (didn’t study any) “Compilers”: Input is a string, output is
a parse-tree (or even executable code)
Turing Machines: I/O TM’s
![Page 19: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/19.jpg)
19
Robust Formal Language Classes
Turns out these models are very robust Many equivalent ways to generate same classes: Regular languages
FA’s, NFA’s, Regular Expressions, Right-Linear Grammars Context Free Languages
PDA’s, Context Free Grammars Recognizable languages –Church-Turing thesis
TM’s, k-tape machines, k-track machines NTM’s, Queue Machines, 2-Stack PDA’s, RAM’s, Unrestricted Grammars
Complexity classes P and NP For NP: Poly. NTM’s, Poly. Verifiers, Poly. Proofs
We learned algorithms for converting between most of the different views
Language classes closed under natural operations.
![Page 20: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/20.jpg)
20
System DesignOften computer system creation involves designing
a formal language to describe system communication. Components receive communication streams and have to effect actions based on these. Computability theory can help drive design at a high level.
EG: Might come up with a communication stream that’s seems like regular language. Could then show that it isn’t using pumping lemma. With this knowledge, final design tweaks original to obtain a regular language and therefore DFA based ultra-fast and super-reliable system components!
![Page 21: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/21.jpg)
21
Negative Examples
As above, it is very important to be able to tell when particular languages cannot be accepted by a certain model of computation. We have several tools at our disposal: Irregularity: pumping lemma (PL) Non-Context-Freeness: CFPL Undecidability: Reductions from undecidable languages Intractability: Poly-time reduction from NP-hard languages
![Page 22: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/22.jpg)
22
System Design
Learned useful concepts that can help modularization when designing systems. Often can express a language as a union, intersection, negation, concatenation or Kleene-* of simpler languages. More complex language may be put together by using simple components along with “off the shelf” reconstruction techniques:
![Page 23: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/23.jpg)
Language Design
Class Negate Concat.
Kleene-*
DFA’sCartesianProduct
Accept Non-
accepts
NFA’s ParallelCartesia
n Product
Serial Loop
PDA’s Parallel Serial Loop
Deciders Run in parallel
Accept Non-
accepts
Break string
up
Recursive
algorithm
Recognizers Run in parallel ” ”
![Page 24: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/24.jpg)
24
Language Class Hierarchy
AllREC = accepted by TM
DEC = decided by TMContext Free
Deterministic Context Free
Regular = accepted by FA’s
Finite languages
![Page 25: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/25.jpg)
25
KnownComplexity Hierarchy
Get the following RAM hierarchy diagram: REC
DECP
TIME(n)
CFLTIME(n3)
REG
EQREX
![Page 26: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/26.jpg)
26
UnknownComplexity Hierarchy
DecidableNP
NP but not NP-hard
P
Finite languages
Does anythingexist here?
![Page 27: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/27.jpg)
27
Conjectured HierarchyInside of DEC most conjecture:
DEC
NP P co-NPNPcomplete
PRIMESAT
![Page 28: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/28.jpg)
28
Follow-ups to Computability
Related Electives: Analysis of Algorithms 4231 (fall) Computational Complexity 4236 (spring) Cryptography –generic course no. 4995
(this Spring with Michael Rabin!!!)
Courses Requiring Computability: Programming Languages and
Translators 4115 (every semester) Compilers 4117 (this Spring with Al
Aho!!!) Portions of several other courses
![Page 29: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/29.jpg)
29
Final Remarks
With the horrors at the beginning of the semester….
![Page 30: 1 CS 3261 Computability Course Summary Zeph Grunschlag](https://reader031.vdocuments.net/reader031/viewer/2022020714/5518b0af550346a61f8b4ea8/html5/thumbnails/30.jpg)
30
Final Remarks
Thanks for putting in the effort and
helping make this my best semester
thus far!