1 / 20

CS 454 Theory of Computation

CS 454 Theory of Computation. Sonoma State University, Fall 2011 Instructor: B. (Ravi) Ravikumar Office: 116 I Darwin Hall. Original slides by Vahid and Givargis, Mani Srivastava and others Extensive editing by Ravikumar. Lecture 1 Goals:

aimee-wells
Download Presentation

CS 454 Theory of Computation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS 454 Theory of Computation Sonoma State University, Fall 2011 Instructor: B. (Ravi) Ravikumar Office: 116 I Darwin Hall Original slides by Vahid and Givargis, Mani Srivastava and others Extensive editing by Ravikumar

  2. Lecture 1 Goals: • overview & logistics (45 minutes) • Quiz 0 (15 minutes) • Quiz 0 discussion (30 minutes) • chapter 0 (if any time left)

  3. What is theory of computation? Theory of computation deals with computational models – what they can and can’t do. Computational models: instead of defining it, we will give some examples. • Cellular automaton • L-system • Boolean circuit with restrictions

  4. Course overview • finite automata • DFA, NFA, regular expressions • proof of equivalence, algorithms for conversions • what can’t be done by FA? • DFA minimization • context-free languages • grammar, pushdown automaton • equivalence • what can’t be done by cfg’s?

  5. Turing machines • computability • variations of Turing machines • reductions, unsolvability • other computational models • Complexity Theory • time complexity • NP-completeness • Other topics • applications (e.g. cellular automata, compilers etc.) • cryptography, interactive proof systems • biologically inspired models of computation

  6. Chapter 0 • Sets • Set operations and set relations • union, intersection, complement • member, subset, equality • Venn diagrams Problem: Show that (A U B) C = (A C)U (B C) Proof: Let x be in LHS set. Then, x is in both A U B and is in C. i.e., x is A and C, or x is in B and C. I.e., x is in A C or in B C. This means, x is in (A C)U (B C). Converse is similar.

  7. Sequences and tuplesA sequence is a list of objects where order is important. Thus, <1, 2, 4, 10> is a sequence that is different than <2, 1, 4, 10>. A finite sequence of length k is called a k-tuple. Thus, the above sequence is a 4-tuple. • Power-set of a set A is the set of all its subsets. Ex: A = {1, 2} P(A) = {{1}, {2}, {1,2}, f} • Cartesian product

  8. A X B = {<i,j> | i is in A and j is in B } Example: A = {a, b, c}, B = { 1, 2} A X B = {(a,1), (a,2), (b,1), (b,2), (c,1), (c,2)} A X A X … X A is often denoted by Ak. Functions and relations • A relation from set A to set B is a subset of A X B. • A function (from A to B) is a relation R in which for every i, there is a unique j such that <i,j> is in R. • onto • one-one • bijective function

  9. Some special relations: • equivalence relation • partial-order relation Graphs: • Definition • Example Strings and languages • Boolean logic • quantifiers Summary of mathematical terms

  10. Definitions, theorems and proofs • Definitions: A definition is the way to describe an object in a way that its characteristics are completely captured in the description. • Assertions: Mathematical statement expresses some property of a set of defined objects. Assertions may or may not be true. • Proof: is a convincing logical argument that a statement is true. The proofs are required to follow rigid rules and are not allowed any room for uncertainties or ambiguities. • Theorem: is a proven assertion of some importance.

  11. Rules for carrying out proof Usually assertions are compound statements that are connected using Boolean connectives and quantifiers. You can use theorems of Boolean logic in the proof. • For example, if the assertion is P or Q, you can show it as follows: Suppose P is not true. Then, Q must be true. • Similarly, to show P  Q, you assume P is true. From this, show Q is true. To show that P <-> Q, you should show P  Q and Q  P.

  12. Example: Every positive integer is either a prime, or is a product of two integers both of which are strictly smaller than itself. Is this a definition? Is it an assertion?

  13. Example: Every positive integer is either a prime, or is a product of two integers both of which are strictly smaller than itself. It is an assertion. Is it a true assertion?

  14. Example: Every positive integer is either a prime, or is a product of two integers both of which are strictly smaller than itself. Yes, it is a true assertion. How to prove this assertion?

  15. Example: Every positive integer is either a prime, or is a product of two integers both of which are strictly smaller than itself. Yes, it is a true assertion. How to prove this assertion? This requires knowing the definition of a prime number. Prime number: A number x is prime if it has exactly two divisors, namely 1 and x.

  16. Most of the theorems assert properties of a collection of objects. If the collection is finite, usually it is easy: you show it for every member one by one. Need for proof really arises when the assertion is of the form : “Every object in a set X has some property Y.” where X is an infinite set. Now you can’t prove it one by one! • Proof techniques: (not an exhaustive list!) • proof by construction • proof by contradiction • proof by induction

  17. Proof by construction: Definition: A k-regular graph is a graph in which every node has degree k. Theorem: For each even number n greater than 2, there exists a 3-regular graph with n nodes. The construction below needs no further explanation.

  18. Proof by contradiction: Theorem: is not rational, i.e., it can’t be written as a ratio of two integers. Proof is presented in page 22. Exercise: Use the same idea to show that is not rational.

  19. Proof by induction. Example 1:Formula for mortgage calculation. Page 24 of text. Example 2: Show that the set of all binary strings of length n can be arranged in a way that every adjacent string differs in exactly one bit position, and further the first and the last string also differ in exactly one position. For n = 2, one such is 00, 01, 11, 10.

  20. Assertion: Every integer is a sum of squares of two integers. This is not true. To disprove it, it is enough to find one integer (counter-example) that can’t be written as sum of two squares. Consider 3. Suppose x2 + y2 = 3 for some integers x and y. This means, x2 is either 0, 1 or 2. (Why not any other number?) case 1: x2 is 0. Thus y2 is 3. But from previous slide, we know that there is no integer y such that y2 = 3. Case 2: x2 is 1. Thus y2 is 2. But from previous slide, we know that there is no integer y such that y2 = 2. Case 3: x2 is 2. But from previous slide, we know that there is no integer x such that x2 = 2. End of proof.

More Related