COSC 3340: Introduction to Theory of Computation

Slides:



Advertisements
Similar presentations
Formal Languages Languages: English, Spanish,... PASCAL, C,... Problem: How do we define a language? i.e. what sentences belong to a language? e.g.Large.
Advertisements

Lecture 23UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 23.
1 Languages. 2 A language is a set of strings String: A sequence of letters Examples: “cat”, “dog”, “house”, … Defined over an alphabet: Languages.
Lecture 3UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3.
1 CSCI-2400 Models of Computation. 2 Computation CPU memory.
1 Languages and Finite Automata or how to talk to machines...
Lecture 7UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 7.
Topics Automata Theory Grammars and Languages Complexities
Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:
Lecture 9UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 9.
Lecture 27UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 27.
Lecture 5UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 5.
Lecture 4UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 4.
Fall 2004COMP 3351 Languages. Fall 2004COMP 3352 A language is a set of strings String: A sequence of letters/symbols Examples: “cat”, “dog”, “house”,
Lecture 1 String and Language. String string is a finite sequence of symbols. For example, string ( s, t, r, i, n, g) CS4384 ( C, S, 4, 3, 8) (1,
Introduction to CS Theory Lecture 1 – Introduction Piotr Faliszewski
1 Introduction to Automata Theory Reading: Chapter 1.
UofH - COSC Dr. Verma COSC 3340: Introduction to Theory of Computation Rakesh Verma Computer Science Department University of Houston URL:
Lecture 2UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 2.
CSC312 Automata Theory Lecture # 2 Languages.
CSC312 Automata Theory Lecture # 2 Languages.
Costas Busch - LSU1 Languages. Costas Busch - LSU2 Language: a set of strings String: a sequence of symbols from some alphabet Example: Strings: cat,
By: Er. Sukhwinder kaur.  What is Automata Theory? What is Automata Theory?  Alphabet and Strings Alphabet and Strings  Empty String Empty String 
1 Languages. 2 A language is a set of strings String: A sequence of letters Examples: “cat”, “dog”, “house”, … Defined over an alphabet:
1 Exercise: Prove that the set S = { π : π is a permutation of {1, 2, 3, …, n} for some integer n ≥ 1 } is countable.
Strings and Languages CS 130: Theory of Computation HMU textbook, Chapter 1 (Sec 1.5)
Lecture 11UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 11.
Strings and Languages Denning, Section 2.7. Alphabet An alphabet V is a finite nonempty set of symbols. Each symbol is a non- divisible or atomic object.
Theory of computation Introduction theory of computation: It comprises the fundamental mathematical properties of computer hardware, software,
Lecture 24UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 24.
1 Course Overview Why this course “formal languages and automata theory?” What do computers really do? What are the practical benefits/application of formal.
Introduction Why do we study Theory of Computation ?
Introduction Why do we study Theory of Computation ?
The Big Picture Chapter 3.
C Sc 132 Computing Theory Professor Meiliu Lu Computer Science Department.
Lecture 8UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 8.
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.
Introduction Why do we study Theory of Computation ?
Introduction to Automata Theory
Topic 3: Automata Theory 1. OutlineOutline Finite state machine, Regular expressions, DFA, NDFA, and their equivalence, Grammars and Chomsky hierarchy.
Alphabet, String, Language. 2 Alphabet and Strings An alphabet is a finite, non-empty set of symbols. –Denoted by  –{ 0, 1 } is a binary alphabet. –{
Languages.
Why do we study Theory of Computation ?
COSC 3340: Introduction to Theory of Computation
COSC 3340: Introduction to Theory of Computation
Languages Prof. Busch - LSU.
Languages Costas Busch - LSU.
Theory of Computation Theory of computation is mainly concerned with the study of how problems can be solved using algorithms.  Therefore, we can infer.
COSC 3340: Introduction to Theory of Computation
COSC 3340: Introduction to Theory of Computation
Introduction to Automata Theory
COSC 3340: Introduction to Theory of Computation
COSC 3340: Introduction to Theory of Computation
Undecidable Problems (unsolvable problems)
COSC 3340: Introduction to Theory of Computation
Why do we study Theory of Computation ?
COSC 3340: Introduction to Theory of Computation
Decidable Languages Costas Busch - LSU.
Decidability and Undecidability
COSC 3340: Introduction to Theory of Computation
COSC 3340: Introduction to Theory of Computation
Introduction Reading: Sections 1.5 – 1.7.
COSC 3340: Introduction to Theory of Computation
CSC312 Automata Theory Lecture # 2 Languages.
COSC 3340: Introduction to Theory of Computation
COSC 3340: Introduction to Theory of Computation
Languages Fall 2018.
COSC 3340: Introduction to Theory of Computation
COSC 3340: Introduction to Theory of Computation
COSC 3340: Introduction to Theory of Computation
Presentation transcript:

COSC 3340: Introduction to Theory of Computation Rakesh Verma Computer Science Department University of Houston URL: www.cs.uh.edu/~rmverma UofH - COSC 3340 - Dr. Verma

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 3340 - Dr. Verma

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 3340 - Dr. Verma

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 3340 - Dr. Verma

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 3340 - Dr. Verma

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 3340 - Dr. Verma

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 3340 - Dr. Verma

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 3340 - Dr. Verma

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 3340 - Dr. Verma

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 3340 - Dr. Verma

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

History of the Field Check out: URL:http://www.cs.aue.auc.dk/~hicks/courses/computability-f2003/class-1.pdf UofH - COSC 3340 - Dr. Verma