May 13
Questions?
1-on-1 project meetings ... please pick a spot. We're doing these on Monday & Tuesday instead of our regular class.
... start recording.
a pinch of complexity theory
Continue our meander through some ideas from complexity theory using
my notes from last class and
these discussion points :
- CS fields of study
- hanoi.py - what complexity class is this in? Does this fit into one of "easy" (P) or "hard" (NP) categories?
- last part of Zelle's chap 13 slides (from Intro CS textbook)
- What is a "regular expression"? A "finite state machine"? How are those connected?
- What is a turing machine? Why is it so famous?
- What is the halting problem? Does that fit into P or NP?
- What is Gödel's incompleteness theorem? Why is it related?
- Can a computer tell if a file is a well-formed python program?
- (See for example its grammar.)
- It can be defined with a context free grammar .
- ... which it turns out can be done with a kind of computer called a "pushdown automata", type-2
- ... smarter than a finite state machine (type-3) not as smart as a turing machine (type-0)
- How do the (sorting, graph, search) algorithms we've been discussing fit into this framework?
- Can a computer be a person? What are your reasons for arguing "yes" or "no"?
(Are we having fun yet?)