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

Slides:



Advertisements
Similar presentations
Lecture 24 MAS 714 Hartmut Klauck
Advertisements

More Set Definitions and Proofs 1.6, 1.7. Ordered n-tuple The ordered n-tuple (a1,a2,…an) is the ordered collection that has a1 as its first element,
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
Basic Structures: Sets, Functions, Sequences, Sums, and Matrices
(CSC 102) Discrete Structures Lecture 14.
Elementary Number Theory and Methods of Proof
CS21 Decidability and Tractability
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
Finite Automata Great Theoretical Ideas In Computer Science Anupam Gupta Danny Sleator CS Fall 2010 Lecture 20Oct 28, 2010Carnegie Mellon University.
CS466 (Prasad)L1Sets1 Introduction Language: Set of Strings.
CS 454 Theory of Computation Sonoma State University, Fall 2011 Instructor: B. (Ravi) Ravikumar Office: 116 I Darwin Hall Original slides by Vahid and.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
CS5371 Theory of Computation Lecture 1: Mathematics Review I (Basic Terminology)
Courtesy Costas Busch - RPI1 Mathematical Preliminaries.
CS5371 Theory of Computation Lecture 4: Automata Theory II (DFA = NFA, Regular Language)
Theoretical Computer Science COMP 335 Fall 2004
Introduction to Finite Automata Adapted from the slides of Stanford CS154.
1 Lecture 6 Topics –Proof of the existence of unsolvable problems Problems/languages not in REC Proof Technique –There are more problems/languages than.
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
1 CSCI 2400 section 3 Models of Computation Instructor: Costas Busch.
Introduction to CS Theory Lecture 1 – Introduction Piotr Faliszewski
Methods of Proof & Proof Strategies
 2004 SDU Introduction to the Theory of Computation My name: 冯好娣 My office: 计算中心 430
CS355 - Theory of Computation Lecture 2: Mathematical Preliminaries.
Formal Language Finite set of alphabets Σ: e.g., {0, 1}, {a, b, c}, { ‘{‘, ‘}’ } Language L is a subset of strings on Σ, e.g., {00, 110, 01} a finite language,
CS 454 Theory of Computation Sonoma State University, Fall 2012 Instructor: B. (Ravi) Ravikumar Office: 116 I Darwin Hall.
Introduction Chapter 0. Three Central Areas 1.Automata 2.Computability 3.Complexity.
1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 5 School of Innovation, Design and Engineering Mälardalen University 2012.
INTRODUCTION TO THE THEORY OF COMPUTATION INTRODUCTION MICHAEL SIPSER, SECOND EDITION 1.
Section 2.4. Section Summary Sequences. Examples: Geometric Progression, Arithmetic Progression Recurrence Relations Example: Fibonacci Sequence Summations.
Introduction to CS Theory Lecture 3 – Regular Languages Piotr Faliszewski
1 Chapter 1 Introduction to the Theory of Computation.
Methods of Proof Lecture 3: Sep 9. This Lecture Now we have learnt the basics in logic. We are going to apply the logical rules in proving mathematical.
CSCI 2670 Introduction to Theory of Computing Instructor: Shelby Funk.
Mathematical Preliminaries. Sets Functions Relations Graphs Proof Techniques.
CS 103 Discrete Structures Lecture 10 Basic Structures: Sets (1)
Basic Structures: Sets, Functions, Sequences, and Sums CSC-2259 Discrete Structures Konstantin Busch - LSU1.
Language: Set of Strings
Theory of Computation, Feodor F. Dragan, Kent State University 1 TheoryofComputation Spring, 2015 (Feodor F. Dragan) Department of Computer Science Kent.
Copyright © Cengage Learning. All rights reserved.
ICS 253: Discrete Structures I Induction and Recursion King Fahd University of Petroleum & Minerals Information & Computer Science Department.
Mathematical Preliminaries
CSE 311 Foundations of Computing I Lecture 9 Proofs and Set Theory Autumn 2012 CSE
CS 103 Discrete Structures Lecture 13 Induction and Recursion (1)
THEORY OF COMPUTATION Komate AMPHAWAN 1. 2.
Basic Structures: Sets, Functions, Sequences, and Sums.
Based on slides by Patrice Belleville and Steve Wolfman CPSC 121: Models of Computation Unit 11: Sets.
CS 203: Introduction to Formal Languages and Automata
Lecture 1 Overview Topics 1. Proof techniques: induction, contradiction Proof techniques June 1, 2015 CSCE 355 Foundations of Computation.
Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1 Chapter 1 Regular Languages Some slides are in courtesy.
Classifications LanguageGrammarAutomaton Regular, right- linear Right-linear, left-linear DFA, NFA Context-free PDA Context- sensitive LBA Recursively.
Based on slides by Patrice Belleville and Steve Wolfman CPSC 121: Models of Computation Unit 11: Sets.
CSE 311: Foundations of Computing Fall 2013 Lecture 8: Proofs and Set theory.
Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1 Chapter 0 Introduction Some slides are in courtesy of Prof.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
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.
Methods of Proof Lecture 4: Sep 20 (chapter 3 of the book, except 3.5 and 3.8)
Chapter 2 1. Chapter Summary Sets (This Slide) The Language of Sets - Sec 2.1 – Lecture 8 Set Operations and Set Identities - Sec 2.2 – Lecture 9 Functions.
Notions & Notations - 1ICOM 4075 (Fall 2010) UPRM Department of Electrical and Computer Engineering University of Puerto Rico at Mayagüez Fall 2010 ICOM.
CSE 20: Discrete Mathematics for Computer Science Prof. Shachar Lovett.
Chapter 2 Sets and Functions.
CHAPTER 3 SETS, BOOLEAN ALGEBRA & LOGIC CIRCUITS
CSCE 355 Foundations of Computation
Introduction to the Theory of Computation
Computer Science Department
CSCE 355 Foundations of Computation
Introduction to Automata Theory
CSCI-2400 Models of Computation.
Logic Logic is a discipline that studies the principles and methods used to construct valid arguments. An argument is a related sequence of statements.
Presentation transcript:

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: overview & logistics (45 minutes) Quiz 0 (15 minutes) Quiz 0 discussion (30 minutes) chapter 0 (if any time left)

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

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?

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

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.

Sequences and tuples A sequence is a list of objects where order is important. Thus, is a sequence that is different than. 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},  } Cartesian product

A X B = { | 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 A k. 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 is in R. onto one-one bijective function

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

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.

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.

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?

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?

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?

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.

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

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.

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.

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.

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 x 2 + y 2 = 3 for some integers x and y. This means, x 2 is either 0, 1 or 2. (Why not any other number?) case 1: x 2 is 0. Thus y 2 is 3. But from previous slide, we know that there is no integer y such that y 2 = 3. Case 2: x 2 is 1. Thus y 2 is 2. But from previous slide, we know that there is no integer y such that y 2 = 2. Case 3: x 2 is 2. But from previous slide, we know that there is no integer x such that x 2 = 2. End of proof.