September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 1 Welcome to CS 620 – Theory of Computation Fall 2009 Instructor: Marc.

Slides:



Advertisements
Similar presentations
September 2, 2014Computer Vision Lecture 1: Human Vision 1 Welcome to CS 675 – Computer Vision Fall 2014 Instructor: Marc Pomplun Instructor: Marc Pomplun.
Advertisements

© Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Manish Kumar PRE. 1 Theory Of Computation Pre-requisite.
Discrete Mathematics Lecture 5 Alexander Bukharovich New York University.
Basic Structures: Sets, Functions, Sequences, Sums, and Matrices
Instructor: Hayk Melikya
Basic Structures: Sets, Functions, Sequences, Sums, and Matrices
Elementary Number Theory and Methods of Proof
Fall 2002CMSC Discrete Structures1 Welcome to CMSC 203 – Discrete Structures Fall 2002 Instructor: Paul Artola Instructor: Paul Artola.
September 7, 2010Neural Networks Lecture 1: Motivation & History 1 Welcome to CS 672 – Neural Networks Fall 2010 Instructor: Marc Pomplun Instructor: Marc.
September 8, 2009Introduction to Cognitive Science Lecture 1: Introduction and Preliminaries 1 Happy New Semester and Welcome to Intro to Cognitive Science!
Discrete Mathematics Lecture 4 Harper Langston New York University.
CSE115/ENGR160 Discrete Mathematics 02/10/11 Ming-Hsuan Yang UC Merced 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.
CSC 2300 Data Structures & Algorithms January 16, 2007 Chapter 1. Introduction.
February 5, 2015Applied Discrete Mathematics Week 1: Logic and Sets 1 Homework Solution PQ  (P  Q) (  P)  (  Q)  (P  Q)  (  P)  (  Q) truetruefalsefalsetrue.
January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 1 Welcome to CS 410 – Introduction to Software Engineering Spring 2014 Instructor:
 2004 SDU Introduction to the Theory of Computation My name: 冯好娣 My office: 计算中心 430
Chapter 1: The Foundations: Logic and Proofs
Welcome to CS/MATH 320L – Applied Discrete Mathematics Spring 2015
A Brief Summary for Exam 1 Subject Topics Propositional Logic (sections 1.1, 1.2) –Propositions Statement, Truth value, Proposition, Propositional symbol,
INTRODUCTION TO THE THEORY OF COMPUTATION INTRODUCTION MICHAEL SIPSER, SECOND EDITION 1.
CSE 311 Foundations of Computing I Lecture 8 Proofs and Set Theory Spring
Fall 2002CMSC Discrete Structures1 Let’s get started with... Logic !
Set, Combinatorics, Probability & Number Theory Mathematical Structures for Computer Science Chapter 3 Copyright © 2006 W.H. Freeman & Co.MSCS Slides Set,
Mathematical Preliminaries (Hein 1.1 and 1.2) Sets are collections in which order of elements and duplication of elements do not matter. – {1,a,1,1} =
CSCI 2670 Introduction to Theory of Computing Instructor: Shelby Funk.
CS 103 Discrete Structures Lecture 10 Basic Structures: Sets (1)
Discrete Mathematics and Its Applications Sixth Edition By Kenneth Rosen Copyright  The McGraw-Hill Companies, Inc. Permission required for reproduction.
Barnett/Ziegler/Byleen Finite Mathematics 11e1 Chapter 7 Review Important Terms, Symbols, Concepts 7.1. Logic A proposition is a statement (not a question.
CS201: Data Structures and Discrete Mathematics I
Chapter 2: Basic Structures: Sets, Functions, Sequences, and Sums (1)
January 30, 2002Applied Discrete Mathematics Week 1: Logic and Sets 1 Let’s Talk About Logic Logic is a system based on propositions.Logic is a system.
CompSci 102 Discrete Math for Computer Science
Discrete Mathematical Structures 4 th Edition Kolman, Busby, Ross © 2000 by Prentice-Hall, Inc. ISBN
CSE 311 Foundations of Computing I Lecture 9 Proofs and Set Theory Autumn 2012 CSE
1 Introduction to Abstract Mathematics Predicate Logic Instructor: Hayk Melikya Purpose of Section: To introduce predicate logic (or.
September 3, 2013Computer Vision Lecture 1: Human Vision 1 Welcome to CS 675 – Computer Vision Fall 2013 Instructor: Marc Pomplun Instructor: Marc Pomplun.
THEORY OF COMPUTATION Komate AMPHAWAN 1. 2.
Basic Structures: Sets, Functions, Sequences, and Sums.
Introduction Episode 0 What is TOC (Theory of Computation) about? Giorgi Japaridze Theory of Computability Subject: The fundamental mathematical properties.
12/19/20151 … and now for something completely different… Set Theory Actually, you will see that logic and set theory are very closely related.
Sets Definition: A set is an unordered collection of objects, called elements or members of the set. A set is said to contain its elements. We write a.
Basic Definitions of Set Theory Lecture 24 Section 5.1 Fri, Mar 2, 2007.
Basic Definitions of Set Theory Lecture 23 Section 5.1 Mon, Feb 21, 2005.
Module #3 - Sets 3/2/2016(c) , Michael P. Frank 2. Sets and Set Operations.
Spring 2003CMSC Discrete Structures1 Let’s get started with... Logic !
3/6/20161 Let’s get started with... Logic !. 3/6/20162 Logic Crucial for mathematical reasoningCrucial for mathematical reasoning Used for designing electronic.
Section 1.4. Propositional Functions Propositional functions become propositions (and have truth values) when their variables are each replaced by a value.
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.
Week 8 - Wednesday.  What did we talk about last time?  Relations  Properties of relations  Reflexive  Symmetric  Transitive.
Introduction to Set Theory (§1.6) A set is a new type of structure, representing an unordered collection (group, plurality) of zero or more distinct (different)
September 6, 2016CS410 – Software Engineering Lecture #1: Introduction 1 Welcome to CS 410 – Introduction to Software Engineering Fall 2016 Instructor:
Sets, Permutations, and Combinations. Lecture 4-1: Sets Sets: Powerful tool in computer science to solve real world problems. A set is a collection of.
Introduction Chapter 0.
Welcome to CS 620 – Theory of Computation Fall 2017
CMSC Discrete Structures
Welcome to CS 675 – Computer Vision Spring 2018
Follow me for a walk through...
Welcome to CS220/MATH 320 – Applied Discrete Mathematics Fall 2018
A Brief Summary for Exam 1
Discrete Mathematics Lecture 4 & 5: Predicate and Quantifier
Applied Discrete Mathematics Week 2: Proofs
Discrete Mathematics CMP-200 Propositional Equivalences, Predicates & Quantifiers, Negating Quantified Statements Abdul Hameed
Introduction Chapter 0.
Discrete Mathematics Lecture 4 & 5: Predicate and Quantifier
Follow me for a walk through...
Welcome to CS 410 – Introduction to Software Engineering Spring 2019
Logic Logic is a discipline that studies the principles and methods used to construct valid arguments. An argument is a related sequence of statements.
Welcome to CS 620 – Theory of Computation Spring 2019
Follow me for a walk through...
Presentation transcript:

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 1 Welcome to CS 620 – Theory of Computation Fall 2009 Instructor: Marc Pomplun Instructor: Marc Pomplun

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 2 Instructor – Marc Pomplun Office: S Lab: S Office Hours: Tuesdays 17: :00 Thursdays 14: :00 Phone: (office) (lab) Homepage:

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 3 I’m from Lübeck, Germany:

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 4 And what is my area of research? It’s Cognitive Science, esp. eye movements

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 5 A poor guinea pig:

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 6 Computer Vision:

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 7 Modeling of Brain Functions

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 8 Modeling of Brain Functions unit and connection in the interpretive network unit and connection in the gating network unit and connection in the top-down bias network layer l +1 layer l -1 layer l

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 9 Example: Distribution of Visual Attention

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 10 Selectivity in Complex Scenes

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 11 Selectivity in Complex Scenes

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 12 Selectivity in Complex Scenes

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 13 Selectivity in Complex Scenes

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 14 Selectivity in Complex Scenes

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 15 Selectivity in Complex Scenes

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 16 Human-Computer Interfaces:

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 17 Now back to CS 620: Textbook: Martin D. Davis, Ron Sigal & Elaine J. Weyuker: Computability, Complexity, and Languages. Fundamentals of Theoretical Computer Science. Elsevier Science, 2nd Edition ISBN: On the Web: (contains all kinds of course information and also my slides in PPT, PDF and HTML formats, updated after each session)

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 18 Your Evaluation 4 sets of exercises 20%4 sets of exercises 20% midterm (1.5 hours) 35%midterm (1.5 hours) 35% final exam (2.5 hours) 45%final exam (2.5 hours) 45%

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 19 Grading  95%: A  90%: A-  74%: C+  70%: C  66%: C-  86%: B+  82%: B  78%: B-  62%: D+  56%: D  50%: D-  50%: F For the assignments, exams and your course grade, the following scheme will be used to convert percentages into letter grades:

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 20 Complaints about Grading If you think that the grading of your assignment or exam was unfair, write down your complaint (handwriting is OK), write down your complaint (handwriting is OK), attach it to the assignment or exam, attach it to the assignment or exam, and give it to me or put it in my mailbox. and give it to me or put it in my mailbox. I will re-grade the whole exam/assignment and return it to you in class.

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 21 What is so interesting about the Theory of Computation? Theory of Computation is the most fundamental subject in computer science.Theory of Computation is the most fundamental subject in computer science. What you learn in this course applies to all computers and all programming languages that will ever exist.What you learn in this course applies to all computers and all programming languages that will ever exist. You will understand the capabilities of algorithms in general.You will understand the capabilities of algorithms in general. For example, you will learn about problems that cannot be solved algorithmically.For example, you will learn about problems that cannot be solved algorithmically.

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 22Preliminaries Sets and n-tuplesSets and n-tuples FunctionsFunctions Alphabets and StringsAlphabets and Strings PredicatesPredicates QuantifiersQuantifiers Proof by ContradictionProof by Contradiction Mathematical InductionMathematical Induction

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 23 Set Theory Set: Collection of objects (“elements”)Set: Collection of objects (“elements”) a  A “a is an element of A” “a is a member of A”a  A “a is an element of A” “a is a member of A” a  A “a is not an element of A”a  A “a is not an element of A” A = {a 1, a 2, …, a n } “A contains…”A = {a 1, a 2, …, a n } “A contains…” Order of elements is meaninglessOrder of elements is meaningless It does not matter how often the same element is listed.It does not matter how often the same element is listed.

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 24 Cartesian Product The ordered n-tuple (a 1, a 2, a 3, …, a n ) is an ordered collection of objects. Two ordered n-tuples (a 1, a 2, a 3, …, a n ) and (b 1, b 2, b 3, …, b n ) are equal if and only if they contain exactly the same elements in the same order, i.e. a i = b i for 1  i  n. The Cartesian product of two sets is defined as: A  B = {(a, b) | a  A  b  B} Example: A = {x, y}, B = {a, b, c} A  B = {(x, a), (x, b), (x, c), (y, a), (y, b), (y, c)}

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 25 Cartesian Product Note that: A  =  A  =   A =   A =  For non-empty sets A and B: A  B  A  B  B  A For non-empty sets A and B: A  B  A  B  B  A |A  B| = |A|  |B| |A  B| = |A|  |B| The Cartesian product of two or more sets is defined as: A 1  A 2  …  A n = {(a 1, a 2, …, a n ) | a i  A i for 1  i  n}

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 26 Set Operations Union: A  B = {x | x  A  x  B} Example: A = {a, b}, B = {b, c, d} A  B = {a, b, c, d} A  B = {a, b, c, d} Intersection: A  B = {x | x  A  x  B} Example: A = {a, b}, B = {b, c, d} A  B = {b} A  B = {b}

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 27 Set Operations Two sets are called disjoint if their intersection is empty, that is, they share no elements: A  B =  The difference between two sets A and B contains exactly those elements of A that are not in B: A-B = {x | x  A  x  B} Example: A = {a, b}, B = {b, c, d}, A-B = {a}

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 28 Set Operations The complement of a set A contains exactly those elements under consideration that are not in A: -A = U-A Example: U = N, B = {250, 251, 252, …} -B = {0, 1, 2, …, 248, 249} -B = {0, 1, 2, …, 248, 249}

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 29 Functions A function f from a set A to a set B is an assignment of exactly one element of B to each element of A. We write f(a) = b if b is the unique element of B assigned by the function f to the element a of A. If f is a function from A to B, we write f: A  B (note: Here, “  “ has nothing to do with if… then)

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 30 Functions If f:A  B, we say that A is the domain of f and B is the codomain of f. If f(a) = b, we say that b is the image of a and a is the pre-image of b. The range of f:A  B is the set of all images of elements of A. We say that f:A  B maps A to B.

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 31 Alphabets and Strings An alphabet is a finite, nonempty set A of objects called symbols. A word (string) on A is an n-tuple of symbols of A. Instead of using the notation (a 1, a 2, …, a n ) we can just write a 1 a 2 …a n. The set of all words on A is written A*. Any subset of A* is called a language on A.

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 32 Alphabets and Strings Concatenation of strings: Let string u = monkey, v = business uv = monkeybusiness = businessmonkey vu

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 33 Propositional Functions Propositional function (open sentence): statement involving one or more variables, e.g.: x-3 > 5. Let us call this propositional function P(x), where P is the predicate and x is the variable. What is the truth value of P(2) ? false What is the truth value of P(8) ? What is the truth value of P(9) ? false true

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 34 Propositional Functions Let us consider the propositional function Q(x, y, z) defined as: x + y = z. Here, Q is the predicate and x, y, and z are the variables. What is the truth value of Q(2, 3, 5) ? true What is the truth value of Q(0, 1, 2) ? What is the truth value of Q(9, -9, 0) ? false true

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 35 Universal Quantification Let P(x) be a propositional function. Universally quantified sentence: For all x in the universe of discourse P(x) is true. Using the universal quantifier  :  x P(x) “for all x P(x)” or “for every x P(x)” (Note:  x P(x) is either true or false, so it is a proposition, not a propositional function.)

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 36 Universal Quantification Example: S(x): x is a UMB student. G(x): x is a genius. What does  x (S(x)  G(x)) mean ? “If x is a UMB student, then x is a genius.” or “All UMB students are geniuses.”

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 37 Existential Quantification Existentially quantified sentence: There exists an x in the universe of discourse for which P(x) is true. Using the existential quantifier  :  x P(x) “There is an x such that P(x).” “There is at least one x such that P(x).” “There is at least one x such that P(x).” (Note:  x P(x) is either true or false, so it is a proposition, but no propositional function.)

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 38 Existential Quantification Example: P(x): x is a UMB professor. G(x): x is a genius. What does  x (P(x)  G(x)) mean ? “There is an x such that x is a UMB professor and x is a genius.” or “At least one UMB professor is a genius.”

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 39 Disproof by Counterexample A counterexample to  x P(x) is an object c so that P(c) is false. Statements such as  x (P(x)  Q(x)) can be disproved by simply providing a counterexample. Statement: “All birds can fly.” Disproved by counterexample: Penguin.

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 40 Induction The principle of mathematical induction is a useful tool for proving that a certain predicate is true for all natural numbers. It cannot be used to discover theorems, but only to prove them.

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 41 Induction If we have a propositional function P(n), and we want to prove that P(n) is true for any natural number n, we do the following: Show that P(0) is true. (basis step) Show that P(0) is true. (basis step) Show that if P(n) then P(n + 1) for any n  N. (inductive step) Show that if P(n) then P(n + 1) for any n  N. (inductive step) Then P(n) must be true for any n  N. (conclusion) Then P(n) must be true for any n  N. (conclusion)

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 42 Induction Example (“Gauss”): … + n = n (n + 1)/2 1.Show that P(0) is true. (basis step) For n = 0 we get 0 = 0. True.

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 43 Induction 2.Show that if P(n) then P(n + 1) for any n  N. (inductive step) … + n = n (n + 1)/ … + n + (n + 1) = n (n + 1)/2 + (n + 1) = (n + 1) (n/2 + 1) = (n + 1) (n/2 + 1) = (n + 1) (n + 2)/2 = (n + 1) (n + 2)/2 = (n + 1) ((n + 1) + 1)/2 = (n + 1) ((n + 1) + 1)/2

September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 44 Induction 3.Then P(n) must be true for any n  N. (conclusion) … + n = n (n + 1)/2 is true for all n  N. End of proof. End of first lecture!