Introduction Chapter 0. Three Central Areas 1.Automata 2.Computability 3.Complexity.

Slides:



Advertisements
Similar presentations
Lecture 24 MAS 714 Hartmut Klauck
Advertisements

Basic Structures: Sets, Functions, Sequences, Sums, and Matrices
Basic Structures: Sets, Functions, Sequences, Sums, and Matrices
1 Section 14.1 Computability Some problems cannot be solved by any machine/algorithm. To prove such statements we need to effectively describe all possible.
January 5, 2015CS21 Lecture 11 CS21 Decidability and Tractability Lecture 1 January 5, 2015.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
Review of Mathematical Notation / Terminology
Courtesy Costas Busch - RPI1 A Universal Turing Machine.
Theory of Computation What types of things are computable? How can we demonstrate what things are computable?
CS 454 Theory of Computation Sonoma State University, Fall 2011 Instructor: B. (Ravi) Ravikumar Office: 116 I Darwin Hall Original slides by Vahid and.
CS5371 Theory of Computation Lecture 1: Mathematics Review I (Basic Terminology)
79 Regular Expression Regular expressions over an alphabet  are defined recursively as follows. (1) Ø, which denotes the empty set, is a regular expression.
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
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
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.
MATH 224 – Discrete Mathematics
INTRODUCTION TO THE THEORY OF COMPUTATION INTRODUCTION MICHAEL SIPSER, SECOND EDITION 1.
Mathematical Preliminaries Strings and Languages Preliminaries 1.
Theory of Computation, Feodor F. Dragan, Kent State University 1 Regular expressions: definition An algebraic equivalent to finite automata. We can build.
Week 15 - Wednesday.  What did we talk about last time?  Review first third of course.
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.
Fall 2005Costas Busch - RPI1 Mathematical Preliminaries.
Prof. Busch - LSU1 Mathematical Preliminaries. Prof. Busch - LSU2 Mathematical Preliminaries Sets Functions Relations Graphs Proof Techniques.
Regular Grammars Chapter 7. Regular Grammars A regular grammar G is a quadruple (V, , R, S), where: ● V is the rule alphabet, which contains nonterminals.
Mathematical Notions and Terminology Lecture 2 Section 0.2 Fri, Aug 24, 2007.
CHAPTER 1 Regular Languages
Language: Set of Strings
Theory of Computation, Feodor F. Dragan, Kent State University 1 TheoryofComputation Spring, 2015 (Feodor F. Dragan) Department of Computer Science Kent.
Mathematical Preliminaries
THEORY OF COMPUTATION Komate AMPHAWAN 1. 2.
Chapter 2 With Question/Answer Animations. Section 2.1.
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.
Introduction Episode 0 What is TOC (Theory of Computation) about? Giorgi Japaridze Theory of Computability Subject: The fundamental mathematical properties.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
Problem Statement How do we represent relationship between two related elements ?
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.
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.
Mathematical Foundations of Computer Science Chapter 3: Regular Languages and Regular Grammars.
Introduction Why do we study Theory of Computation ?
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.
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
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.
Theory of Computation. Introduction We study this course in order to answer the following questions: What are the fundamental capabilities and limitations.
Foundations of Computing Science
Introduction Chapter 0.
Formal Language & Automata Theory
BCS2143 – Theory of Computer Science
Introduction to the Theory of Computation
Mathematical Notions and Terminology
Computer Science Department
Jaya Krishna, M.Tech, Assistant Professor
Chapter 7 Regular Grammars
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
Mathematical Preliminaries
Introduction Chapter 0.
Chapter 1 Introduction to the Theory of Computation
Presentation transcript:

Introduction Chapter 0

Three Central Areas 1.Automata 2.Computability 3.Complexity

Complexity Theory Central Question: What makes some problems computationally hard and other easy? – Sorting (easy) – Computers can easily sort a billion items in seconds. – Scheduling (hard) – With real constraints scheduling a thousand courses to avoid room and instructor conflicts can take years of computation. Cryptography (secret encryption) depends on the existence of sufficiently hard problems.

Computability Based on the work of Kurt Gödel, Alan Turing, and Alonzo Church. Some very basic problems cannot be solved by computers. – Example: Determining if a mathematical statement is true or false. Instead of hard vs. easy, Computability centers on solvable vs. unsolvable problems.

Automata Theory We construct a simple, formal and precise model of a computer. – The precision and formality allow us to prove the computability of problems Three types of computer machines 1.Finite Automata 2.Pushdown Automata 3.Turing Machine

Sets {7, 57, 7, 7, 21, 7} = {21, 7, 57} Order does not matter Repetition is not a factor

Infinite Sets

Subsets

Set Descriptions

Set Operations

Venn Diagrams

What would A-B look like? A B

Sequences (Tuples) Order and repetition matter (7, 21, 57) different than (57, 21, 7) (4,3) ordered pair, whereas {4,3} set of size 2 (11, 21, 3, 24, 57) is a 5-tuple

Functions (Relations)

Domain & Range

Example

Binary Function (two inputs) g(x,y) = z where x, y and z are in {0,1,2,3}

Predicate function whose range is {True, False} Example: f(a,b) = a Beats b f(scissors,paper) = scissors Beats paper = TRUE

Binary Relation Predicate whose domain is a set of ordered pairs P: A x A  {True False} Example: A = {paper, stone, scissors} (scissors, stone)  False (stone, scissors)  True Predicates can be described as sets S= { (scissors,stone), (paper, stone), (stone, scissors) }

Equivalence Relation Binary Relation that is 1.Reflexive: f(x,x) is always true 2.Symmetric: if f(x,y) is true then f(y,x) is true 3.Transitive: if f(x,y) and f(y,z) are both true then f(x,z) is true.

Example f(a,b) = a Beat b; Not reflexive: f(paper,paper) = false Not symmetric: f(paper, stone) = true, but f(stone, paper) = false Not transitive: f(paper, stone) and f(stone, scissors) is true, but f(paper, scissors) is false

Example f(a, b)  true if a <= b, otherwise false f(a, b)  a <= b R = {(a,b) | a <= b} Always reflexive: (a,a) is always true for all a’s Not always symmetric: If (a,b) is true then (b,a) might be false. Always transitive: (a,b) and (b,c) imply (a,c)

Question Is this an equivalence relation (i.e., reflexive, symmetric, and transitive)? f(a,b)  a != 1 AND b != 1 R = {(a,b) | a != 1 AND b != 1}

Equivalence Relations f: S x S  {True, False} S = {s 1, s 2, s 3, s 4, s 5 } fs1s1 s2s2 s3s3 s4s4 s5s5 s1s1 True s2s2 s3s3 s4s4 s5s5

Equivalence Relations & Automata We are interested in functions that can separate a set of items into disjoint classes. {{s 1, s 2 }, {s 3, s 4, s 5 }} In automata theory, the items will be languages. The functions will be automata and Turing machines The classes will be – Regular languages – Context-free languages – Context-sensitive languages

Equivalence & Automata Theory The theoretical “heart” of computation Inputs, outputs and algorithms can all be encoded as strings of a language Solving problems can be reduced to defining languages (set of strings) that correspond to correct solutions to a problem. Then, solving a problem reduces to creating an automata that can recognize if a string is in a particular language – i.e., is a string a solution to the encoded problem?

Graph Theory Terminology: Nodes/vertices Edges Degree Self-loop Directed vs. Undirected Graphs Labeled Graph Subgraph

Graph Theory Paths, cycles, trees Outdegree, Indegree Directed path Strongly connected

Meaningful graphs Directed graphs can show relations

Equivalence Relations as Graphs Example to be drawn

Strings & Languages Defining alphabets (symbol domain)

String terminology Length w = abc, |w| = 3 Empty string ɛ Reverse w = abc, w R = cba Substrings of w = {ɛ, a, b, c, ab, bc, abc} – ba, cb, ca, cba, and ac are not substrings of w, but they are subsets if w were considered a set – ac is not a substring, but it is subsequence (confusing) Lexicographic order {ɛ, 0, 1, 00, 01, 10, 11, 000, … }

Language A language is a set of strings Languages can be explicitly described Animals = {cat, dog, cow, …} {w | a n, n > 1} = {a, aa, aaa, aaaa, … } Languages can also be described using – grammar rules and – automata that can recognize strings in the language.

Boolean Logic Review on your own, but

Boolean Logic

Proof by Construction State your claim. Be very specific and describe an object you claim exists Construct the object. Show details and describe parameters Conclusion. Restate your goal in constructing the object.

Example

Proof By Contradiction Assume that the theorem is false – Even though you know it to be true Show that this assumption leads to a contradiction with something that has already been proven true

Example Prove that First, assume that it is rational, i.e., Where m and n are integers Also, m/n is reduced, so one of them has to be even.

Example Prove that Do some algebra We know that m must be even. Why?

Example Prove that We know that n must be even. Why? Thus, m and n are even. Why is this a contradiction?