Presentation is loading. Please wait.

Presentation is loading. Please wait.

COSC 3340: Introduction to Theory of Computation

Similar presentations


Presentation on theme: "COSC 3340: Introduction to Theory of Computation"— Presentation transcript:

1 COSC 3340: Introduction to Theory of Computation
Rakesh Verma Computer Science Department University of Houston URL: UofH - COSC Dr. Verma

2 What is this course about?
Course is about models of computation, their power, and relationships. Hierarchy of models of increasing power: DFA < PDA < TM. For each model, we study: What can be computed. (easier) What cannot be computed. (harder) UofH - COSC Dr. Verma

3 Basic Definitions (Reading Assignment: Chapter 0 of text)
1. Alphabet - a finite set of symbols. Notation:  . Examples: Binary alphabet {0,1}, English alphabet {a,...,z,!,?,...} 2. String over an alphabet  - a finite sequence of symbols from . Notation: (a) Letters u, v, w, x, y, and z denote strings. (b) Convention: concatenate the symbols. No parentheses or commas used. Examples: 0000 is a string over the binary alphabet. a!? is a string over the English alphabet. UofH - COSC Dr. Verma

4 Definitions (contd.) 3. Empty string: e or  denotes the empty sequence of symbols. 4. Language over alphabet  - a set of strings over . Notation: L. Examples: {0, 00, 000, ...} is an "infinite" language over the binary alphabet. {a, b, c} is a "finite" language over the English alphabet. UofH - COSC Dr. Verma

5 Definitions (contd.) 5. Empty language - empty set of strings. Notation: . 6. Binary operation on strings: Concatenation of two strings u.v - concatenate the symbols of u and v. Notation: uv Examples: 00.11 = 0011. .u = u. = u for every u. (identity for concatenation) UofH - COSC Dr. Verma

6 Binary relations on strings
Prefix - u is a prefix of v if there is a w such that v = uw. Examples:  is a prefix of 0 since 0 = 0 apple is a prefix of appleton since appleton = apple.ton Suffix - u is a suffix of v if there is a w such that v = wu. 0 is a suffix of 0 since 0 = ? ton is a suffix of appleton since ? UofH - COSC Dr. Verma

7 Binary relations (contd.)
Substring - u is a substring of v if there are x and y such that v = xuy. Examples: let is a substring of appleton since appleton = app.let.on 0 is a substring of 0 since 0 = epsilon.0.epsilon Observe that prefix and suffix are special cases of substring. UofH - COSC Dr. Verma

8 Relevance of strings and languages for this course.
Consider decision problems. Decision problems are problems with Yes/No answers. Examples: (a) Is an array sorted? (b) Is x in that array A? Consider instances, I, of a decision problem D. Example: For problem (a) an instance is just an array. UofH - COSC Dr. Verma

9 Relevance (contd.) We can encode instances of any problem by strings.
Associate language with decision problem D by taking all the strings that encode its yes instances. UofH - COSC Dr. Verma

10 Applications of the Concepts
Are vast, and include: Text processing (editors, etc.) Compiler design Verification through model checking Real world examples are all around you and not just on the desk! UofH - COSC Dr. Verma

11 New Developments DNA Computing Quantum Turing Machines
New Applications are being discovered as we speak! UofH - COSC Dr. Verma

12 History of the Field Check out:
URL: UofH - COSC Dr. Verma


Download ppt "COSC 3340: Introduction to Theory of Computation"

Similar presentations


Ads by Google