Models of Computation نظریه زبان ها و ماشین ها Iranai.blog.ir IRANAI.BLOG.ir _

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.
Review of Mathematical Notation / Terminology
CS466 (Prasad)L1Sets1 Introduction Language: Set of Strings.
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.
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.
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.
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 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.
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.
Section Recursion 2  Recursion – defining an object (or function, algorithm, etc.) in terms of itself.  Recursion can be used to define sequences.
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
Methods of Proof.
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
Computer Science Department
CSCE 355 Foundations of Computation
CSCI-2400 Models of Computation Costas Busch - RPI.
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:

Models of Computation نظریه زبان ها و ماشین ها Iranai.blog.ir IRANAI.BLOG.ir _

Computation CPUmemory ماشین محاسباتی :

CPU output memory Program memory temporary memory برنامه ای که قرار است اجرا شود را داخل آن می نویسیم. نتیجه محاسبات را نگهداری می کند. input memory

Example: x = 2 input memory temporary memory Program memory F(x) = 8 CPU F(x) = 8 output memory

Automaton حالت کلی ماشین : CPU output memory Program memory temporary memory input memory Automaton قسمت کنترلی ماشین

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 Vending Machines (small computing power) output memory temporary memory input memory ماشین متناهی : ماشین نوع سوم قدرت محاسباتی ضعیف

Pushdown Automaton Programming Languages (medium computing power) output memory input memory ماشین پشته ای : ماشین نوع دوم قدرت محاسباتی بهتر از ماشین متناهی Pushdown Automaton Stack

Turing Machine Algorithms (highest computing power) Turing Machine output memory Random Access Memory input memory ماشین تورینگ : ماشین نوع اول قدرت محاسباتی قوی

Finite Automata Pushdown Automata Turing Machine Power of Automata

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

Sets Functions Relations Graphs Proof Techniques Mathematical Preliminaries مجموعه ها توابع روابط ریاضی گراف ها تکنیک های اثبات

SETS A set is a collection of elements We write زبان توسط مجموعه تعریف می شود.

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 Set Representations

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

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 Set Operations

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

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 A B

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

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

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 )

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 f : A -> B A If A = domain then f is a total function otherwise f is a partial function f(1) = a range a b c B

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 x i 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 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 گراف از دو مجموعه گره ها و یال ها تشکیل می شود.

Labeled Graph e a b c d Walk is a sequence of adjacent edges (e, d), (d, c), (c, a) Path is a walk where no edge is repeated Simple path: no node is repeated راه، دنباله ای از یال (Edge) های همسایه است. ( می تواند تکراری باشد ) مسیر، راهی است که هیچکدام از یال های آن تکراری نباشد.

Cycle Cycle: a walk from a node (base) to itself Simple cycle: only the base node is repeated base e a b c d دور، مسیری است که فقط گره اول در آن تکرار می شود.

Hamiltonian Cycle A Simple cycle that contains all nodes e a b c d base دور هامیلتون، دوری است که همه نودها در آن ها فقط و فقط یکبار طی می شوند.

Finding All Simple Paths e a b c d f (c, a) (c, e) (c, a), (a, b) (c, e), (e, b) (c, e), (e, d) Step 2Step 3 (c, e), (e, d), (d, f) Repeat the same for each starting node Step 1 base

Trees root leaf parent child Trees have no cycles Level 0 Level 1 Level 2 Level 3 Height 3 درخت گرافی است که سیکل ندارد.

PROOF TECHNIQUES Proof by induction Proof by contradiction

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

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

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

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

Induction Step hypothesis: l(n) <= 2 n Level n n+1 l(n+1) <= 2 * l(n) <= 2 * 2 n = 2 n+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 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 p Thus, m and n have common factor 2 Contradiction!

باتشکر از : دکتر وحید خواجه وند