Foundations of Computing Science

Slides:



Advertisements
Similar presentations
Complexity Classes: P and NP
Advertisements

Copyright © Cengage Learning. All rights reserved.
Discrete Mathematics Lecture 5 Alexander Bukharovich New York University.
Basic Structures: Sets, Functions, Sequences, Sums, and Matrices
Basic Structures: Sets, Functions, Sequences, Sums, and Matrices
The Engineering Design of Systems: Models and Methods
Review of Mathematical Notation / Terminology
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
CS 310 – Fall 2006 Pacific University Theoretical Computer Science CS 310 Chadd Williams Office Mon 3:00 – 4:00 PM 202 Strain.
CS5371 Theory of Computation Lecture 1: Mathematics Review I (Basic Terminology)
CS 310 – Fall 2006 Pacific University Theoretical Computer Science CS 310 Chadd Williams Office Mon 10:30-11:30 am 202 Strain.
Costas Busch - RPI1 Mathematical Preliminaries. Costas Busch - RPI2 Mathematical Preliminaries Sets Functions Relations Graphs Proof Techniques.
Courtesy Costas Busch - RPI1 Mathematical Preliminaries.
Theoretical Computer Science COMP 335 Fall 2004
1 CSCI 2400 section 3 Models of Computation Instructor: Costas Busch.
 2004 SDU Introduction to the Theory of Computation My name: 冯好娣 My office: 计算中心 430
CS355 - Theory of Computation Lecture 2: Mathematical Preliminaries.
Course Outline Book: Discrete Mathematics by K. P. Bogart Topics:
Introduction Chapter 0. Three Central Areas 1.Automata 2.Computability 3.Complexity.
CMPS 3223 Theory of Computation Automata, Computability, & Complexity by Elaine Rich ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Slides provided.
INTRODUCTION TO THE THEORY OF COMPUTATION INTRODUCTION MICHAEL SIPSER, SECOND EDITION 1.
Week 15 - Wednesday.  What did we talk about last time?  Review first third of course.
Discrete Math for CS Binary Relation: A binary relation between sets A and B is a subset of the Cartesian Product A x B. If A = B we say that the relation.
CSCI 2670 Introduction to Theory of Computing Instructor: Shelby Funk.
Mathematical Preliminaries. Sets Functions Relations Graphs Proof Techniques.
Fall 2005Costas Busch - RPI1 Mathematical Preliminaries.
Prof. Busch - LSU1 Mathematical Preliminaries. Prof. Busch - LSU2 Mathematical Preliminaries Sets Functions Relations Graphs Proof Techniques.
Indian Institute of Technology Kharagpur PALLAB DASGUPTA Graph Theory: Introduction Pallab Dasgupta, Professor, Dept. of Computer Sc. and Engineering,
CompSci 102 Discrete Math for Computer Science
Theory of Computation, Feodor F. Dragan, Kent State University 1 TheoryofComputation Spring, 2015 (Feodor F. Dragan) Department of Computer Science Kent.
Mathematical Preliminaries
CSE 311 Foundations of Computing I Lecture 9 Proofs and Set Theory Autumn 2012 CSE
THEORY OF COMPUTATION Komate AMPHAWAN 1. 2.
Chapter 2 With Question/Answer Animations. Section 2.1.
Introduction to Set theory. Ways of Describing Sets.
Problem Statement How do we represent relationship between two related elements ?
Lecture 1 Overview Topics 1. Proof techniques: induction, contradiction Proof techniques June 1, 2015 CSCE 355 Foundations of Computation.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
1 Mathematical Preliminaries. 2 Sets Functions Relations Graphs Proof Techniques.
Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1 Chapter 0 Introduction Some slides are in courtesy of Prof.
Indian Institute of Technology Kharagpur PALLAB DASGUPTA Graph Theory: Trees Pallab Dasgupta, Professor, Dept. of Computer Sc. and Engineering, IIT
CSCI 115 Course Review.
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
Theory of Computing Topics Formal languages automata computability and related matters Purposes To know the foundations and principles of computer science.
Theory of Computing Topics Formal languages automata computability and related matters Purposes To know the foundations and principles of computer science.
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.
“It is impossible to define every concept.” For example a “set” can not be defined. But Here are a list of things we shall simply assume about sets. A.
English for Economic Informatics I Tomáš Foltýnek Theoretical Foundations of Informatics.
CSE 20: Discrete Mathematics for Computer Science Prof. Shachar Lovett.
Binary Relation: A binary relation between sets A and B is a subset of the Cartesian Product A x B. If A = B we say that the relation is a relation on.
Chapter 5 Relations and Operations
CSCE 355 Foundations of Computation
BCS2143 – Theory of Computer Science
Introduction to the Theory of Computation
Formal Modeling Concepts
Computer Science Department
CSCE 355 Foundations of Computation
Jaya Krishna, M.Tech, Assistant Professor
Propositional Calculus: Boolean Algebra and Simplification
INTRODUCTION TO THE THEORY OF COMPUTATION
CS21 Decidability and Tractability
Relations and Digraphs
CSCI-2400 Models of Computation.
Chapter 8 NP and Computational Intractability
Sungho Kang Yonsei University
Mathematical Preliminaries
CSE 6408 Advanced Algorithms.
Principles of Computing – UFCFA Week 1
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:

Foundations of Computing Science Introduction Foundations of Computing Science Pallab Dasgupta Professor, Dept. of Computer Sc & Engg INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Comments on Alan Turing’s Paper "On Computable Numbers, with an Application to the Entscheidungs Problem." This is a bizarre paper. It begins by defining a computing device absolutely unlike anything I have seen, then proceeds to show—I haven't quite followed the needlessly complicated formalism—that there are numbers that it can't compute. As I see it, there are two alternatives that apply to any machine that will ever be built: Either these numbers are too big to be represented in the machine, in which case the conclusion is obvious, or they are not; in that case, a machine that can't compute them is simply broken! Any tabulating machine worth its rent can compute all the values in the range it represents, and any number computable by a function—that is, by applying the four operations a number of times—can be computed by any modern tabulating machine since these machines—unlike the one proposed here with its bizarre mechanism——have the four operations hardwired. It seems that the "improvement" proposed by Turing is not an improvement over current technology at all, and I strongly suspect the machine is too simple to be of any use. If the article is accepted, Turing should remember that the language of this journal is English and change the title accordingly. Source: http://www.fang.ece.ufl.edu/reject.html INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Curriculum Discrete Structures -- Sets, Relations and Functions; Proof Techniques, Algebraic Structures, Morphisms, Posets, Lattices and Boolean Algebras. Logic -- Propositional Calculus and Predicate Calculus, Satisfiability and Validity, Notions of soundness and completeness Languages AND Automata Theory -- Chomsky Hierarchy of Grammars and the corresponding acceptors, Turing Machines, Recursive and Recursively Enumerable Languages; Operations on Languages, closures with respect to the operations. Computability -- Church-Turing Thesis, Decision Problems, Decidability and Undecidability, Halting Problem of Turing Machines; Problem reduction (Turing and Mapping reduction). Computational Complexity: Time Complexity -- Measuring Complexity, The class P, The class NP, NP-Completeness, Reduction, co- NP, Polynomial Hierarchy. Space Complexity – Savitch’s Theorem, The class PSPACE. INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Additional materials made available during the course. Books Michael Sipser -- Theory of Computation, Cengage Learning India. J.P. Trembley and R. Manohar -- Discrete Mathematical Structures with Applications to Computer Science, McGraw Hill Book Co. John E. Hopcroft and J.D.Ullman -- Introduction to Automata Theory, Languages and Computation, Narosa Pub. House, N. Delhi. H.R. Lewis and C.H.Papadimitrou -- Elements of the Theory of Computation, Prentice Hall, International, Inc. + Additional materials made available during the course. INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Set Theory A set is a group of objects represented as a unit Example: Set of odd positive integers less than 50 and divisible by 5 { 5, 15, 25, 35, 45 } Let A and B be two sets. A is a subset of B (A ⊆ B) if every element of A is also an element of B, i.e., x ∈ A => x ∈ B A is a proper subset of B (A ⊂ B) if A is a subset of B and A ≠ B Example: A ⊂ B, where B = set of odd positive integers less than 50 & divisible by 5 ≡ {5, 15, 25, 35, 45} A = set of odd positive integers less than 50 & divisible by 15 ≡ {15, 45} Set Operations Ā A A B A B A B A B A B Complement (Ā) Intersection (A ∩ B) Union (A U B) Difference (A – B) = (A ∩ B’) Symmetric Difference (A Δ B) DeMorgan’s Law (A U B)’ = A’ ∩ B’ INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Set Theory (contd…) Notations N = Set of natural numbers Z = Set of integers [Z + = Set of positive integers] R = Set of real numbers [R + = Set of positive real numbers] Q = Set of rational numbers C = Set of complex numbers Power Set of A, P(A) is the set of all subsets of A A = { 1, 2 } then P(A) = { Φ, {1}, {2}, {1, 2} }, Here Φ is Null Set Cartesian Product of A and B (written as A × B) is the set of all pairs where the first element is a member of A and the second element is a member of B Example: A = {1, 2} and B = {x, y, z}, Then, A × B = {(1, x), (1, y), (1, z), (2, x), (2, y), (2, z)} INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Function A function (or mapping) is an object that sets up an input-output relationship If f is a function whose output value is b when the input value is a, we write f(a) = b Let f(x1) = y1 and f(x2) = y2. If y1 ≠ y2, then x1 ≠ x2. The set of possible inputs to a function is its domain The set of outputs of a function is its range f is a function with domain D and range R is represented as, f : D  R Example: Consider the function, f : {1, 2, 3, 4, 5, 6}  {0, 1, 2} The function f takes positive integers less than 7 and outputs the result modulo 3; i.e., f(n) = n%3 Domain of f is, D = {1, 2, 3, 4, 5, 6} Range of f is, R = {0, 1, 2} INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Relation A property whose domain is a set of k-tuples (A × A × … × A) is called a relation If k = 2 the relation is called a binary relation Example: less than (<) is a binary relation A binary relation R is an equivalence relation if R satisfies the following conditions: R is reflexive i.e., ∀x, xRx R is symmetric i.e., ∀x ∀y, ( xRy => yRx) R is transitive i.e., ∀x ∀y ∀z, ( xRy and yRz => xRz ) A binary relation R is a partial-order relation if R satisfies the following conditions: R is anti-symmetric i.e., ∀x ∀y, ( xRy and yRx => x ≡ y) k number of As INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Graph An undirected graph is a set of points with lines connecting some of the points G = (V, E) where V is the set of vertices and E is the set of edges Number of edges incident at a particular node (v) is the degree [d(v)] of the node Example: G = (V, E), where Set of Vertices: V ={ v1, v2, v3, v4, v5 } Set of Edges: E ={ e1, e2, e3, e4, e5, e6 } Degrees: d(v1 ) = 2, d(v2 ) = 3, d(v3 ) = 3, d(v4 ) = 3 and d(v5) = 1 v1 v5 v3 v4 v2 e1 e2 e3 e4 e5 e6 INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Graph (contd…) G is a subgraph of H if the nodes of G are a subset of the nodes H, and the edges of G are the edges of H on the corresponding nodes Example: Subgraph H = (VH,EH) where; VH = {v2, v3, v4, v5} and EH = {e3, e4, e5, e6} A path in a graph is a sequence of nodes connected by edges v1, v2, v3, v4, v5 is a path A path is a cycle if it starts and ends in the same node v1, v2, v4, v3 , v1 is a cycle A graph is a tree if it is connected and has no cycle v1 v5 v3 v4 v2 e1 e2 e3 e4 e5 e6 Tree INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Graph (contd…) If a graph has arrows instead of lines, the graph is called a directed graph Edges from vertex i to vertex j are represented as pairs (i, j) Out-degree [d+(v)]: number of arrows pointing from a particular node (v) In-degree [d-(v)]: number of arrows pointing to a particular node (v) Example: G = (V, E) where, Set of vertices, V = {1, 2, 3, 4, 5} Set of directed edges, E = {(1,2), (1,5), (2,1), (2,3), (2,4), (5,3), (5,4)} In-degrees and Out-degrees, d+(1) = 2; d-(1) = 1 d+(2) = 3; d-(2) = 1 d+(3) = 0; d-(3) = 2 d+(4) = 0; d-(4) = 2 d+(5) = 2; d-(5) = 1 1 2 3 4 5 INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Boolean Logic It is a mathematical system built around two values TRUE and FALSE The value TRUE and FALSE are called Boolean values and are often represented by the values 1 and 0 Basic operations are as follows: Negation (~) ,Conjunction ( Λ ) ,Disjunction ( V ) Truth Table of Basic operations: Conjunction Disjunction Negation a b a Λ b 1 a b a V b 1 a ~a 1 INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Boolean Logic (contd…) Several other Boolean operations occasionally appear Exclusive-Or (XOR): P ⊕ Q ≡ (~P Λ Q) V (P Λ ~Q) ≡ ~(P <=> Q) Implication: P => Q ≡ ~P V Q Equality: P <=> Q ≡ (P => Q) Λ (Q => P) Distributive law: P Λ (Q V R) ≡ (P Λ Q) V ( P Λ R) P V (Q Λ R) ≡ (P V Q) Λ (P V R) [Dual] Commutative law: P V Q ≡ Q V P and Q Λ R ≡ R Λ Q INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR