CSCI-2400 Models of Computation.

Slides:



Advertisements
Similar presentations
Mathematical Preliminaries
Advertisements

Chapter 2 Revision of Mathematical Notations and Techniques
Copyright © Cengage Learning. All rights reserved. CHAPTER 5 SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION.
Courtesy Costas Busch - RPI1 A Universal Turing Machine.
1 CSCI-2400 Models of Computation. 2 Computation CPU memory.
Fall 2005Costas Busch - RPI1 CSCI-2400 Models of Computation.
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.
Fall 2004COMP 3351 A Universal Turing Machine. Fall 2004COMP 3352 Turing Machines are “hardwired” they execute only one program A limitation of Turing.
Theoretical Computer Science COMP 335 Fall 2004
Costas Busch - RPI1 CSCI-2400 Models of Computation.
Fall 2006Costas Busch - RPI1 CSCI-2400 Models of Computation.
Induction and recursion
1 CSCI 2400 section 3 Models of Computation Instructor: Costas Busch.
CS355 - Theory of Computation Lecture 2: Mathematical Preliminaries.
Introduction Chapter 0. Three Central Areas 1.Automata 2.Computability 3.Complexity.
1 CSSE 350 Automata, Formal Languages, and Computability.
Introduction to the Theory of Computation
CSC312 Automata Theory Lecture # 1 Introduction.
1 An Introduction to Formal Languages and Automata Provided by : Babak Salimi webAdd:
Mathematical Preliminaries Strings and Languages Preliminaries 1.
Week 15 - Wednesday.  What did we talk about last time?  Review first third of course.
1 Chapter 1 Introduction to the Theory of Computation.
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15-1 Mälardalen University 2012.
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.
CSC312 Automata Theory Lecture # 1 Introduction.
CSC312 Automata Theory Lecture # 1 Introduction.
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.
Mathematical Preliminaries
Models of Computation. Computation: Computation is a general term for any type of information processing information processing CPU memory.
THEORY OF COMPUTATION Komate AMPHAWAN 1. 2.
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata (LBAs) are the same as Turing Machines with one difference: The input string tape space is the.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
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.
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.
Models of Computation نظریه زبان ها و ماشین ها Iranai.blog.ir IRANAI.BLOG.ir _
Mathematical Induction Section 5.1. Climbing an Infinite Ladder Suppose we have an infinite ladder: 1.We can reach the first rung of the ladder. 2.If.
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.
Introduction to Graph Theory & its Applications
Week 8 - Wednesday.  What did we talk about last time?  Relations  Properties of relations  Reflexive  Symmetric  Transitive.
1 A Universal Turing Machine. 2 Turing Machines are “hardwired” they execute only one program A limitation of Turing Machines: Real Computers are re-programmable.
Chapter 5 1. Chapter Summary  Mathematical Induction  Strong Induction  Recursive Definitions  Structural Induction  Recursive Algorithms.
Chapter 1 INTRODUCTION TO THE THEORY OF COMPUTATION.
CSCE 355 Foundations of Computation
Methods of Proof.
Formal Foundations-II [Theory of Automata]
BCS2143 – Theory of Computer Science
Introduction to the Theory of Computation
Standard Representations of Regular Languages
CS-300 Theory of Computation 2nd Sem 2017 Lecture 1.
Introduction to the Theory of Computation
Models of Computation.
PROPERTIES OF REGULAR LANGUAGES
Induction and recursion
Computer Science Department
CSCE 355 Foundations of Computation
CSCI-2400 Models of Computation Costas Busch - RPI.
Induction and recursion
Mathematical Preliminaries Strings and Languages
Mathematical Preliminaries
Formal Languages, Automata and Models of Computation
Chapter 1 Introduction to the Theory of Computation
Mathematical Induction
Presentation transcript:

CSCI-2400 Models of Computation

Computation memory CPU

temporary memory input memory CPU output memory Program memory

Example: temporary memory input memory CPU output memory Program memory compute compute

temporary memory input memory CPU output memory Program memory compute compute

temporary memory input memory CPU output memory Program memory compute compute

temporary memory input memory CPU Program memory output memory compute compute

Automaton temporary memory Automaton input memory CPU output memory Program memory

Different Kinds of Automata Automata are distinguished by the temporary memory Finite Automata: no temporary memory Pushdown Automata: stack Turing Machines: random access memory

Finite Automaton temporary memory input memory Finite Automaton output memory Vending Machines (small computing power)

Pushdown Automaton Stack Push, Pop input memory Pushdown Automaton output memory Programming Languages (medium computing power)

Turing Machine Random Access Memory input memory Turing Machine output memory Algorithms (highest computing power)

Power of Automata Finite Automata Pushdown Automata Turing Machine

We will show later in class How to build compilers for programming languages Some computational problems cannot be solved Some problems are hard to solve

Mathematical Preliminaries

Mathematical Preliminaries Sets Functions Relations Graphs Proof Techniques

SETS A set is a collection of elements We write

Set Representations C = { a, b, c, d, e, f, g, h, i, j, k } C = { a, b, …, k } S = { 2, 4, 6, … } S = { j : j > 0, and j = 2k for some k>0 } S = { j : j is nonnegative and even } finite set infinite set

A = { 1, 2, 3, 4, 5 } 1 2 3 4 5 A U 6 7 8 9 10 Universal Set: All possible elements U = { 1 , … , 10 }

Set Operations A = { 1, 2, 3 } B = { 2, 3, 4, 5} Union A U B = { 1, 2, 3, 4, 5 } Intersection A B = { 2, 3 } Difference A - B = { 1 } B - A = { 4, 5 } A B U A-B

A A Complement Universal set = {1, …, 7} 4 A A 6 3 1 2 5 7 A = A

{ even integers } = { odd integers } 1 odd even 5 6 2 4 3 7

DeMorgan’s Laws A U B = A B U A B = A U B U

Empty, Null Set: = { } S U = S S = S - = S - S = U = Universal Set

Subset A = { 1, 2, 3} B = { 1, 2, 3, 4, 5 } A B U Proper Subset: A B U

Disjoint Sets A = { 1, 2, 3 } B = { 5, 6} A B = U A B

Set Cardinality For finite sets A = { 2, 5, 7 } |A| = 3

Powersets A powerset is a set of sets S = { a, b, c } Powerset of S = the set of all the subsets of S 2S = { , {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c} } Observation: | 2S | = 2|S| ( 8 = 23 )

Generalizes to more than two sets Cartesian Product A = { 2, 4 } B = { 2, 3, 5 } A X B = { (2, 2), (2, 3), (2, 5), ( 4, 2), (4, 3), (4, 4) } |A X B| = |A| |B| Generalizes to more than two sets A X B X … X Z

FUNCTIONS domain range A B f(1) = a a 1 2 b c 3 f : A -> B If A = domain then f is a total function otherwise f is a partial function

RELATIONS R = {(x1, y1), (x2, y2), (x3, y3), …} xi R yi e. g. if R = ‘>’: 2 > 1, 3 > 2, 3 > 1 In relations xi can be repeated

Equivalence Relations Reflexive: x R x Symmetric: x R y y R x Transitive: x R Y and y R z x R z Example: R = ‘=‘ x = x x = y y = x x = y and y = z x = z

Equivalence Classes For equivalence relation R equivalence class of x = {y : x R y} Example: R = { (1, 1), (2, 2), (1, 2), (2, 1), (3, 3), (4, 4), (3, 4), (4, 3) } Equivalence class of 1 = {1, 2} Equivalence class of 3 = {3, 4}

GRAPHS A directed graph e b d a c Nodes (Vertices) edge Nodes (Vertices) V = { a, b, c, d, e } Edges E = { (a, b), (b, c), (c, a), (b, d), (d, c), (e, d) }

Labeled Graph a b c d e 1 3 5 6 2

Walk e b d a c Walk is a sequence of adjacent edges (e, d), (d, c), (c, a)

Path e b d a c Path is a walk where no edge is repeated Simple path: no node is repeated

Cycle e base b 3 1 d a 2 c Cycle: a walk from a node (base) to itself Simple cycle: only the base node is repeated

Euler Tour a b c d e 1 2 3 4 5 6 7 8 base A cycle that contains each edge once

Hamiltonian Cycle 5 base e 1 b 4 d a 2 3 c A simple cycle that contains all nodes

Finding All Simple Paths b c d e f

Step 1 e b f d a c (c, a) (c, e)

Step 2 e b f d a c (c, a) (c, a), (a, b) (c, e) (c, e), (e, b) (c, e), (e, d)

Step 3 e b f d a c (c, a) (c, a), (a, b) (c, e) (c, e), (e, b) (c, e), (e, d) (c, e), (e, d), (d, f) Repeat the same for each starting node

Trees root parent leaf child Trees have no cycles

root Level 0 Level 1 Height 3 leaf Level 2 Level 3

Binary Trees

PROOF TECHNIQUES Proof by induction Proof by contradiction

Induction We have statements P1, P2, P3, … If we know for some k that P1, P2, …, Pk are true for any n >= k that P1, P2, …, Pn imply Pn+1 Then Every Pi is true

Proof by Induction Inductive basis Find P1, P2, …, Pk which are true Inductive hypothesis Let’s assume P1, P2, …, Pn are true, for any n >= k Inductive step Show that Pn+1 is true

Example Theorem: A binary tree of height n has at most 2n leaves. Proof: let l(i) be the number of leaves at level i l(0) = 1 l(3) = 8

We want to show: l(i) <= 2i Inductive basis l(0) = 1 (the root node) Inductive hypothesis Let’s assume l(i) <= 2i for all i = 0, 1, …, n Induction step we need to show that l(n + 1) <= 2n+1

Induction Step Level n hypothesis: l(n) <= 2n n+1

Induction Step Level n hypothesis: l(n) <= 2n n+1 l(n+1) <= 2 * l(n) <= 2 * 2n = 2n+1

Remark Recursion is another thing Example of recursive function: f(n) = f(n-1) + f(n-2) f(0) = 1, f(1) = 1

Proof by Contradiction We want to prove that a statement P is true we assume that P is false then we arrive at an incorrect conclusion therefore, statement P must be true

Example Theorem: is not rational Proof: Assume by contradiction that it is rational = n/m n and m have no common factors We will show that this is impossible

= n/m 2 m2 = n2 n is even n = 2 k Therefore, n2 is even m is even m = 2 p 2 m2 = 4k2 m2 = 2k2 Thus, m and n have common factor 2 Contradiction!