 # Nathan Brunelle Department of Computer Science University of Virginia www.cs.virginia.edu/~njb2b/theory Theory of Computation CS3102 – Spring 2014 A tale.

## Presentation on theme: "Nathan Brunelle Department of Computer Science University of Virginia www.cs.virginia.edu/~njb2b/theory Theory of Computation CS3102 – Spring 2014 A tale."— Presentation transcript:

Nathan Brunelle Department of Computer Science University of Virginia www.cs.virginia.edu/~njb2b/theory Theory of Computation CS3102 – Spring 2014 A tale of computers, math, problem solving, life, love and tragic death

Gödel’s Incompleteness Theorem Thm: any consistent axiomatic system is incomplete! Proof idea: Every formula is encoded uniquely as an integer Extend “Gödel numbering” to formula sequences (proofs) Construct a “proof checking” formula P(n,m) such that P(n,m) iff n encodes a proof of the formula encoded by m Construct a self-referential formula that asserts its own non-provability: “I am not provable” Show this formula is neither provable nor disprovable George Boolos (1989) gave shorter proof based on formalizing Berry’s paradox The set of true statements is not R.E.! Dovetailing! Algorithm! Diagonalization!

Gödel’s Incompleteness Theorem Systems known to be complete and consistent: Propositional logic (Boolean algebra) Predicate calculus (first-order logic) [Gödel, 1930] Sentential calculus [Bernays,1918; Post, 1921] Presburger arithmetic (also decidable) Systems known to be either inconsistent or incomplete: Peano arithmetic Primitive recursive arithmetic Zermelo–Frankel set theory Second-order logic Q: Is our mathematics both consistent and complete? A: No [Gödel, 1931] Q: Is our mathematics at least consistent? A: We don’t know! But we sure hope so.

Gödel’s “Ontological Proof” that God exists! Formalized Saint Anselm's ontological argument using modal logic: For more details, see: http://en.wikipedia.org/wiki/Godel_ontological_proof

Continuum Hypothesis

Axiom of Choice Given any set of sets, it is possible to construct a new set by picking exactly one item from each set. Obvious for case where the set is finite, tricky for infinite Non-constructive! Statement of possibility, bot procedure Is it true? Mathematics has no answer!

Banach-Tarski Paradox Non-intuitive side-effect of the Axiom of Choice Any solid sphere can be broken into a finite number of pieces and reassembled into 2 spheres of the same size as the original

X = 2 X X X X … Extra Credit Problem: Solve the following equation for X: where the stack of exponentiated x’s extends forever. =2

X = 2 X X X X … This “power tower” converges for: 0.065988 ≈ e −e < X < e 1/e ≈ 1.444668 Generalization to complex numbers: Problem: Solve the following equation for X: where the stack of exponentiated x’s extends forever.

Formal Languages Simple model of computation Answer is a single bit Used to look at difficulty of solving various problems Today: Regularity Model of machines with no/very little memory

Formal Languages

Alphabet: a finite set of symbols String: a finite sequence of symbols String length: number of symbols in it |nathan|=6

Formal Languages

Each Language is finite

Formal Languages ƒ(1) =11111111111… ƒ(2) =10101010101… ƒ(3) =01010101010… ƒ(4) =11011011011… ƒ(5) =00010011101…... L=01101…

Finite Automata Basic idea: a FA is a “machine” that changes states while processing symbols, one at a time. Finite set of states: Q = {q 0, q 1, q 3,..., q k } Transition function:  : Q   Q Initial state:q 0  Q Final states:F  Q Finite automaton is M=(Q, , , q 0, F) Ex: an FA that accepts all odd-length strings of zeros: q0q0 q1q1 0 0 M=({q 0,q 1 }, {0}, {((q 0,0),q 1 ), ((q 1,0),q 0 )}, q 0, {q 1 }) q0q0 qiqi qjqj q1q1 qkqk

Finite Automata FA operation: consume a string w  * one symbol at a time while changing states Acceptance: end up in a final state Rejection: anything else (including hang-up / crash) Ex: FA that accepts all strings of form abababab…= (ab) * q1q1 a b M=({q 0,q 1 }, {a,b}, {((q 0,a),q 1 ), ((q 1,b),q 0 )}, q 0, {q 0 }) But M “crashes” on input string “abba”! Solution: add dead-end state to fully specify M M’=({q 0,q 1,q 2 }, {a,b}, {((q 0,a),q 1 ), ((q 1,b),q 0 ), ((q 0,b),q 2 ), ((q 1,b),q 2 ). ((q 2,a),q 2 ), ((q 2,b),q 2 ) }, q 0, {q 0 }) q0q0 q2q2 b a a,b M M’

Finite Automata Transition function  extends from symbols to strings:  :Q  *  Q  (q 0,wx) =  (  (q 0,w),x) where  (q i,  ) = q i Language of M is L(M)={w  *|  (q 0,w)  F} Definition: A language is regular iff it is accepted by some FA. L is regular iff there is a FA M where L(M)=L Equivalently: A language is regular iff it can be described by a regular expression (proof next time)

even odd a,b b‘s b a‘s a a,b E a’s a a fail b O a’s a,b O b’s b E b’s b a b a

Give a FA and a regular expression for the following language over the Sesame Street Alphabet: L = {w | w satisfies “i before e except after c”} This means we want any string where an i does not immediately succeed an e, unless we see a c, in which case an e may not succeed an i. Accepted words: believe, fierce, receipt Rejected words: seize, their, science

Download ppt "Nathan Brunelle Department of Computer Science University of Virginia www.cs.virginia.edu/~njb2b/theory Theory of Computation CS3102 – Spring 2014 A tale."

Similar presentations