1 CSCI 2400 section 3 Models of Computation Instructor: Costas Busch.

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.
1 More Properties of Regular Languages. 2 We have proven Regular languages are closed under: Union Concatenation Star operation Reverse.
1 Regular Expressions. 2 Regular expressions describe regular languages Example: describes the language.
Costas Busch - RPI1 Standard Representations of Regular Languages Regular Languages DFAs NFAs Regular Expressions Regular Grammars.
Fall 2005Costas Busch - RPI1 CSCI-2400 Models of Computation.
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.
Fall 2006Costas Busch - RPI1 Non-Deterministic Finite Automata.
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.
Costas Busch - LSU1 Non-Deterministic Finite Automata.
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.
Mathematical Preliminaries Strings and Languages Preliminaries 1.
1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 1 - Intro Mälardalen University 2010.
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.
A Universal Turing Machine
CSC312 Automata Theory Lecture # 1 Introduction.
Language: Set of Strings
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)
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 1 INTRODUCTION TO THE THEORY OF COMPUTATION.
CSCE 355 Foundations of Computation
BCS2143 – Theory of Computer Science
Introduction to the Theory of Computation
CS-300 Theory of Computation 2nd Sem 2017 Lecture 1.
Introduction to the Theory of Computation
PROPERTIES OF REGULAR LANGUAGES
CSCE 355 Foundations of Computation
CSCI-2400 Models of Computation Costas Busch - RPI.
Non-Deterministic Finite Automata
Decidable Languages Costas Busch - LSU.
Elementary Questions about Regular Languages
CSCI-2400 Models of Computation.
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:

1 CSCI 2400 section 3 Models of Computation Instructor: Costas Busch

2 Computation CPU input memory output memory Program memory temporary memory

3 A Model Machine CPU input memory output memory Program memory temporary memory Automaton Internal state

4 Different Kinds of Automata Are dinstinguished by the temporary memory Finite Automata No temporary memory Pushdown Automata Stack Turing Machines Unlimited memory

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

6 input memory output memory stack Pushdown Automaton Pushdown Automaton Programming Languages (medium computing power)

7 input memory output memory memory Turing Machine Turing Machine Algorithms (highest computing power)

8 Accepter input memory Yes or No memory Automaton Language = inputs for which answer is Yes

9 Finite Automaton Languages Pushdown Automaton Languages Turing Machine Languages We will show

10 We will show How to parse Programming Languages Some problems have no algorithms (cannot be solved)

11 Mathematical Preliminaries Sets Functions Relations Graphs Proof Techniques

12 SETS A set is a collection of elements A = { 1, 2, 3 } B = { train, car, bicycle, airplane } We say: 1 is in A ship is not in B

13 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

14 A = { 1, 2, 3, 4, 5 } Universal Set: all possible elements U = { 1, …, 10 } A U

15 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 } U A B A-B

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

even { even integers } = { odd integers } odd Integers

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

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

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

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

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

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

24 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

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

26 RELATIONS R = {(x 1, y 1 ), (x 2, y 2 ), (x 3, y 3 ), …} x i R y i e. g. if R = ‘>’: 2 > 1, 3 > 2, 3 > 1 In relations a x i can be repeated In functions a x i cannot be repeated

27 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

28 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}

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

30 Labeled Graph a b c d e

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

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

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

34 Euler Tour a b c d e base A cycle that contains each edge once

35 Hamiltonian Cycle a b c d e base A simple cycle that contains all nodes

36 Finding All Simple Paths a b c d e f

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

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

39 Step 3 a b c d e f (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

40 Trees root leaf parent child Trees have no cycles

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

42 Binary Trees

43 PROOF TECHNIQUES Proof by induction Proof by contradiction

44 Induction We have statements P 1, P 2, P 3, … If we know for some k that P 1, P 2, …, P k are true for any n >= k that P 1, P 2, …, P n imply P n+1 Then Every P i is true

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

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

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

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

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

50 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

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

52 Sqrt(2) = n/m 2 m 2 = n 2 Therefore, n 2 is even n is even n = 2 k 2 m 2 = 4k 2 m 2 = 2k 2 m is even m = 2 k’ m and n have common factor 2 Contradiction!