Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1 Chapter 0 Introduction Some slides are in courtesy of Prof.

Slides:



Advertisements
Similar presentations
Chapter 2 Revision of Mathematical Notations and Techniques
Advertisements

CS 345: Chapter 9 Algorithmic Universality and Its Robustness
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
Introduction to Computability Theory
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
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
1 Languages and Finite Automata or how to talk to machines...
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.
CS 454 Theory of Computation Sonoma State University, Fall 2011 Instructor: B. (Ravi) Ravikumar Office: 116 I Darwin Hall Original slides by Vahid and.
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
Introduction Chapter 0. Three Central Areas 1.Automata 2.Computability 3.Complexity.
Fall 2015 COMP 2300 Discrete Structures for Computation Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1.
CSCI 4325 / 6339 Theory of Computation Chapter One Zhixiang Chen Department of Computer Science University of Texas-Pan American.
INTRODUCTION TO THE THEORY OF COMPUTATION INTRODUCTION MICHAEL SIPSER, SECOND EDITION 1.
1 Chapter 1 Automata: the Methods & the Madness Angkor Wat, Cambodia.
Mathematical Preliminaries Strings and Languages Preliminaries 1.
Week 15 - Wednesday.  What did we talk about last time?  Review first third of course.
Fall 2015 COMP 2300 Discrete Structures for Computation Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1.
Fall 2015 COMP 2300 Discrete Structures for Computation Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1.
1 Chapter 1 Introduction to the Theory of Computation.
CSCI 2670 Introduction to Theory of Computing Instructor: Shelby Funk.
Mathematical Preliminaries. Sets Functions Relations Graphs Proof Techniques.
Prof. Busch - LSU1 Mathematical Preliminaries. Prof. Busch - LSU2 Mathematical Preliminaries Sets Functions Relations Graphs Proof Techniques.
Fall 2015 COMP 2300 Discrete Structures for Computation Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1.
Fall 2015 COMP 2300 Discrete Structures for Computation Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1.
Theory of Computation, Feodor F. Dragan, Kent State University 1 TheoryofComputation Spring, 2015 (Feodor F. Dragan) Department of Computer Science Kent.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 2:20-5:10 PM, Tuesday Place: BL 112.
ICS 253: Discrete Structures I Induction and Recursion King Fahd University of Petroleum & Minerals Information & Computer Science Department.
Mathematical Preliminaries
THEORY OF COMPUTATION Komate AMPHAWAN 1. 2.
Introduction Episode 0 What is TOC (Theory of Computation) about? Giorgi Japaridze Theory of Computability Subject: The fundamental mathematical properties.
CS 203: Introduction to Formal Languages and Automata
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.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 7 Time Complexity Some slides are in courtesy.
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.
Chapter 8 Properties of Context-free Languages These class notes are based on material from our textbook, An Introduction to Formal Languages and Automata,
1 Mathematical Preliminaries. 2 Sets Functions Relations Graphs Proof Techniques.
CompSci 102 Discrete Math for Computer Science March 13, 2012 Prof. Rodger Slides modified from Rosen.
Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1 Chapter 2 Context-Free Languages Some slides are in courtesy.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 4 Decidability Some slides are in courtesy.
Introduction Why do we study Theory of Computation ?
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.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 5 Reducibility Some slides are in courtesy.
Introduction Why do we study Theory of Computation ?
Introduction to Automata Theory
Theory of Computation. Introduction We study this course in order to answer the following questions: What are the fundamental capabilities and limitations.
Introduction Chapter 0.
BCS2143 – Theory of Computer Science
Introduction to the Theory of Computation
Why do we study Theory of Computation ?
Deterministic FA/ PDA Sequential Machine Theory Prof. K. J. Hintz
PROPERTIES OF REGULAR LANGUAGES
Computer Science Department
Jaya Krishna, M.Tech, Assistant Professor
Introduction to Automata Theory
Teori Bahasa dan Automata Lecture 1: Course Overview and Introduction
INTRODUCTION TO THE THEORY OF COMPUTATION
CSCI-2400 Models of Computation.
Teori Bahasa dan Automata Lecture 1: Course Overview and Introduction
Introduction Chapter 0.
Chapter 1 Introduction to the Theory of Computation
Presentation transcript:

Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1 Chapter 0 Introduction Some slides are in courtesy of Prof. Xinhua Zhuang at Dept. of CECS at University of Missouri-Columbia Spring 2016 CISG 5115 Theory of Computation

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Overview Fundamental mathematical models of computation what can and cannot be computed? what computational models? how quickly? how much memory? Examples a compiler detecting the presence of infinite loops? a program checking whether or not two programs compute the same function? a program determining the shortest program to compute a given function? 2

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Motivation and Overview Assess the difficulty of a given problem Measure the quality of a design Two major tasks for the theory of computation devise a universal model of computation characterize problems as solvable, efficiently solvable, simply solvable, etc. Tools for practice grammars: programming languages finite automata: string searching, pattern matching 3

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Automata, Computability, and Complexity What are the fundamental capabilities and limitations of computers? Automata theory definitions and properties of mathematical models of computation finite automaton, push-down automaton, Turing machine Computability theory distinguish solvable problems from unsolvable ones Complexity theory what makes problems computationally hard? examples: sorting problems vs. scheduling problems games: tic-tac-toe, checker, chess, go 4

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University History Late 19th to early 20th century questions about the nature of computing in the context of pure mathematics rigor and formalism in mathematical arguments some great mathematicians: Hilbert, Cauchy, Gödel 1930s and 1940s several universal models of computation (Church-Turing thesis) Gödel and Kleen: the theory of partial recursive functions Alonzo Church: lambda calculus Alan Turing: Turing machine 5

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Recent Development 1950s and 1960s from computability to complexity computing Pioneers: Alan Turing, John von Neumann Stephen Cook and Richard Karp: NP-complete problems Recent years alternative models of computation parallel computing quantum computing DNA computing proof theory randomized computing 6

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Terminologies 7

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Sequences A sequence: a list of objects in some order Tuples : a sequence of k elements is a k -tuple. Repetition is allowed. 8

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Relations Let A and B be sets. A relation R from A to B is a subset. Given an ordered pair, x is related to y by R, written if and only if. The set A is called the domain of R and the set B is called its co- domain. Ex. 9

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University n -ary Relation A more formal way to refer to the kind of relation defined in the previous slide is to call it a binary relation because it is a subset of a Cartesian product of two sets. An n -ary relation to be a subset of a Cartesian product of n sets, where n is any integer greater than or equal to two. Roughly, an n -ary relation to be a subset of a Cartesian product of n sets, where n is any integer greater than or equal to two. 10

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Reflexive Relation Informally, a relation R is Reflexive: Each element is related to itself. 11

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Symmetric Relation Informally, a relation R is Symmetric: If any one element is related to any other element, then the second element is related to the first. 12

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Transitive Relation Informally, a relation R is Transitive: If any one element is related to a second and that second element is related to a third, then the first element is related to the third. 13

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Equivalence Relation Let A be a set and R a relation on A. R is an equivalence relation if, and only if, R is reflexive, symmetric, and transitive. Example Q) Let X be the set of all nonempty subset of {1, 2, 3}. Define a relation R on X as follows: For all A and B in X, Prove that R is an equivalence relation on X. 14 Show R is reflexive, symmetric, and transitive!

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Function A function f from a set X to a set Y, denoted is a relation from X, the domain, to Y, the co-domain, that satisfies following two properties: 1) every element in X is related to some element in Y 2) no element in X is related to more than one element in Y. 15 (Arrow Diagram)

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Function – cont’ 16 The set of values of f taken together is called the range of f or the image of x under f. Followings are same range of f Image of x under f Range: { a,c }

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Function – cont’ Predicate (property) : a function whose range is {True, False}. k -ary function: a function with k arguments. Input:, a k -tuple unary function if k = 1 binary function if k = 2 17

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Graphs A graph consists of a finite set of vertices with lines connecting some of them (edges). Undirected graph degree of a node: the number of edges path: a sequence of nodes connected by edges cycle: a path starts and ends in the same node tree: no cycle Directed graph: in-degree and out-degree directed path directed acyclic graph (DAG) 18

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Strings Strings of characters Alphabet : any finite set, and A string over an alphabet: a finite sequence of symbols from the alphabet Length of a string Empty string: 19

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Strings and Languages Reverse of Substring Concatenation Lexicographic ordering of strings Language : a set of strings 20

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Languages Language : a set of strings Finite / infinite Kleene closure of alphabet, the set of all strings of all lengths over A (arbitrary length) A language L over the alphabet A is a subset of 21

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Proofs Proof: a convincing logical argument that a statement is true. convincing in an absolute sense Methods of proof The pigeonhole principle Proof by construction Proof by contradiction Proof by induction 22

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University The Pigeonhole Principle If there are n pigeonholes, n + 1 or more pigeons, and every pigeon occupies a hole, then some hole must have at least two pigeons. Example To show a 9-color pie chart on a 8-color monitor, two parts must have the same color. 23

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Proof by Construction Prove a particular type of objects exists by constructing the object. Example For each even number n > 2, there exists a 3-regular graph (no loop, no multiple edges) with n nodes. Proof: construct a graph G = ( V, E ) with n nodes as follow. 24

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Proof by Contradiction Assume a theorem is false and then show that this assumption leads to a false consequence. Example The language contains strings with an even number of 1's. Proof: Assume L contains only strings with an odd number of 1's. However, L contains the string 11, which contradicts with the assumption. 25

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Proof by Induction A proof by induction has a predicate P, a basis - is true an induction hypothesis - for some are true. an inductive step - is true given the induction hypothesis. Example Proof: Basis - Induction hypothesis - for Inductive step - 26