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

Slides:



Advertisements
Similar presentations
Theory of Computation CS3102 – Spring 2014 A tale of computers, math, problem solving, life, love and tragic death Nathan Brunelle Department of Computer.
Advertisements

CS 345: Chapter 9 Algorithmic Universality and Its Robustness
CSE 105 Theory of Computation Alexander Tsiatas Spring 2012 Theory of Computation Lecture Slides by Alexander Tsiatas is licensed under a Creative Commons.
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 3 School of Innovation, Design and Engineering Mälardalen University 2012.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Historical Perspectives Stephen Kleene ( ) Founded recursive function theory Pioneered theoretical computer science Student of Alonzo Church; was.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Formal Languages: Review Alphabet: a finite set of symbols String: a finite sequence of symbols Language: a set of strings String length: number of symbols.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Finite Automata Section 1.1 CSC 4170 Theory of Computation.
CS21 Decidability and Tractability
Finite Automata Great Theoretical Ideas In Computer Science Anupam Gupta Danny Sleator CS Fall 2010 Lecture 20Oct 28, 2010Carnegie Mellon University.
Introduction to Computability Theory
CS5371 Theory of Computation
Courtesy Costas Busch - RPI1 Non Deterministic Automata.
Theory of Computation What types of things are computable? How can we demonstrate what things are computable?
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Regular.
CS 310 – Fall 2006 Pacific University CS310 Finite Automata Sections: September 1, 2006.
CS5371 Theory of Computation Lecture 6: Automata Theory IV (Regular Expression = NFA = DFA)
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
Introduction to Finite Automata Adapted from the slides of Stanford CS154.
1 Non-Deterministic Finite Automata. 2 Alphabet = Nondeterministic Finite Automaton (NFA)
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Regular Languages A language is regular over  if it can be built from ;, {  }, and { a } for every a 2 , using operators union ( [ ), concatenation.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Theory of Computation CS3102 – Spring 2014 A tale of computers, math, problem solving, life, love and tragic death Nathan Brunelle Department of Computer.
DECIDABILITY OF PRESBURGER ARITHMETIC USING FINITE AUTOMATA Presented by : Shubha Jain Reference : Paper by Alexandre Boudet and Hubert Comon.
Introduction to CS Theory Lecture 3 – Regular Languages Piotr Faliszewski
Pushdown Automata (PDAs)
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 2 Mälardalen University 2006.
Languages Given an alphabet , we can make a word or string by concatenating the letters of . Concatenation of “x” and “y” is “xy” Typical example: 
Great Theoretical Ideas in Computer Science about AWESOME Some Generating Functions Probability Infinity MATH Some Formal Logic (which is really.
CS 345: Chapter 8 Noncomputability and Undecidability Or Sometimes You Can’t Get It Done At All.
MA/CSSE 474 Theory of Computation Decision Problems DFSMs.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 3 Mälardalen University 2010.
Great Theoretical Ideas in Computer Science.
Mathematical Preliminaries
Incompleteness. System Relativity Soundness and completeness are properties of particular logical systems. There’s no sense to be made of the claim that.
CS 203: Introduction to Formal Languages and Automata
CS 3813: Introduction to Formal Languages and Automata Chapter 13 Other Models of Computation These class notes are based on material from our textbook,
The decidability of Presburger Arithmetic By Guillermo Guillen 04/13/05 Dr. Smith COT 6421 FIU Spring 2005.
MA/CSSE 474 Theory of Computation Minimizing DFSMs.
CSE 311 Foundations of Computing I Lecture 25 Pattern Matching, Cardinality, Computability Spring
CSE 311: Foundations of Computing Fall 2013 Lecture 26: Pattern matching, cardinality.
Finite Automata Great Theoretical Ideas In Computer Science Victor Adamchik Danny Sleator CS Spring 2010 Lecture 20Mar 30, 2010Carnegie Mellon.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen.
Regular Expressions CS 130: Theory of Computation HMU textbook, Chapter 3.
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
MA/CSSE 474 Theory of Computation Universal Turing Machine Church-Turing Thesis (Winter 2016, these slides were also used for Day 33)
MA/CSSE 474 Theory of Computation Decision Problems, Continued DFSMs.
MA/CSSE 474 Theory of Computation Universal Turing Machine Church-Turing Thesis Delayed due dates for HWs See updated schedule page. No class meeting.
1/29/02CSE460 - MSU1 Nondeterminism-NFA Section 4.1 of Martin Textbook CSE460 – Computability & Formal Language Theory Comp. Science & Engineering Michigan.
Theory of Computation Automata Theory Dr. Ayman Srour.
From Classical Proof Theory to P vs. NP
Gödel's Legacy: The Limits Of Logics
Non Deterministic Automata
CS154, Lecture 7: Turing Machines.
Great Theoretical Ideas in Computer Science
Non-Deterministic Finite Automata
Non Deterministic Automata
Chapter Nine: Advanced Topics in Regular Languages
Presentation transcript:

Nathan Brunelle Department of Computer Science University of Virginia 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:

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: ≈ e −e < X < e 1/e ≈ 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) = … ƒ(2) = … ƒ(3) = … ƒ(4) = … ƒ(5) = …... 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