Introduction Why do we study 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

Properties of Regular Languages
YES-NO machines Finite State Automata as language recognizers.
1 Languages. 2 A language is a set of strings String: A sequence of letters Examples: “cat”, “dog”, “house”, … Defined over an alphabet: Languages.
1 CSCI-2400 Models of Computation. 2 Computation CPU memory.
CS 310 – Fall 2006 Pacific University CS310 Strings, String Operators, and Languages Sections: August 30, 2006.
1 Languages and Finite Automata or how to talk to machines...
1 Lecture 5 Topics –Closure Properties for REC Proofs –2 examples Applications.
CS5371 Theory of Computation Lecture 1: Mathematics Review I (Basic Terminology)
Costas Busch - RPI1 Mathematical Preliminaries. Costas Busch - RPI2 Mathematical Preliminaries Sets Functions Relations Graphs Proof Techniques.
Courtesy Costas Busch - RPI1 Mathematical Preliminaries.
Theoretical Computer Science COMP 335 Fall 2004
Fall 2006Costas Busch - RPI1 Languages. Fall 2006Costas Busch - RPI2 Language: a set of strings String: a sequence of symbols from some alphabet Example:
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,
Regular Languages A language is regular over  if it can be built from ;, {  }, and { a } for every a 2 , using operators union ( [ ), concatenation.
Introduction to CS Theory Lecture 1 – Introduction Piotr Faliszewski
UofH - COSC Dr. Verma COSC 3340: Introduction to Theory of Computation Rakesh Verma Computer Science Department University of Houston URL:
Welcome to Honors Intro to CS Theory Introduction to CS Theory (Honors & Traditional): - formalization of computation - various models of computation (increasing.
CS/IT 138 THEORY OF COMPUTATION Chapter 1 Introduction to the Theory of Computation.
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,
1 Chapter 1 Automata: the Methods & the Madness Angkor Wat, Cambodia.
Introduction to Theory of Automata
1 Strings and Languages. 2 Review Sets and sequences Functions and relations Graphs Boolean logic:      Proof techniques: – Construction, Contradiction,
By: Er. Sukhwinder kaur.  What is Automata Theory? What is Automata Theory?  Alphabet and Strings Alphabet and Strings  Empty String Empty String 
Introduction to CS Theory Lecture 3 – Regular Languages Piotr Faliszewski
1 INFO 2950 Prof. Carla Gomes Module Modeling Computation: Language Recognition Rosen, Chapter 12.4.
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.
1 Languages. 2 A language is a set of strings String: A sequence of letters Examples: “cat”, “dog”, “house”, … Defined over an alphabet:
Welcome to Honors Intro to CS Theory Introduction to CS Theory (Honors & Traditional): - formalization of computation - various models of computation (increasing.
CS 103 Discrete Structures Lecture 10 Basic Structures: Sets (1)
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)
Regular Languages ภาษาปกติ. Jaruloj Chongstitvatana Outline Regular expressions Regular languages Equivalence between languages accepted by.
Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1 Chapter 0 Introduction Some slides are in courtesy of Prof.
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,
Introduction Why do we study Theory of Computation ?
BİL711 Natural Language Processing1 Regular Expressions & FSAs Any regular expression can be realized as a finite state automaton (FSA) There are two kinds.
Set, Alphabets, Strings, and Languages. The regular languages. Clouser properties of regular sets. Finite State Automata. Types of Finite State Automata.
1 Let S = { π : π is a permutation of {1, 2, 3, …, n} for some integer n ≥ 1 }. (a) List the elements of S for n= 1, 2, and 3. (b) Prove that the set S.
Dept. of Computer Science & IT, FUUAST Automata Theory 2 Automata Theory III Properties of Regular Languages 1.Closure 2.Union 3.Concatenation 4.Complement(Negation)
Introduction Why do we study Theory of Computation ?
General Discussion of “Properties” The Pumping Lemma Membership, Emptiness, Etc.
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. –{
Introduction to the Theory of Computation
Language Theory Module 03.1 COP4020 – Programming Language Concepts Dr. Manuel E. Bermudez.
Languages.
Why do we study Theory of Computation ?
CIS Automata and Formal Languages – Pei Wang
Languages Prof. Busch - LSU.
Languages Costas Busch - LSU.
PROPERTIES OF REGULAR LANGUAGES
Theory of Computation Theory of computation is mainly concerned with the study of how problems can be solved using algorithms.  Therefore, we can infer.
Jaya Krishna, M.Tech, Assistant Professor
COP4620 – Programming Language Translators Dr. Manuel E. Bermudez
Why do we study Theory of Computation ?
COSC 3340: Introduction to Theory of Computation
Closure Properties of Regular Languages
Regular Languages ภาษาปกติ.
Introduction Reading: Sections 1.5 – 1.7.
Chapter 1 Introduction to the Theory of Computation
COSC 3340: Introduction to Theory of Computation
CSC312 Automata Theory Lecture # 2 Languages.
Languages Fall 2018.
Terminology and Symbols
Presentation transcript:

Introduction Why do we study Theory of Computation ?

Jaruloj Chongstitvatana Chapter 1 Introduction2 Outline Importance of Theory of Computation Languages Languages and Problems

Jaruloj Chongstitvatana Chapter 1 Introduction3 What is Computation ? Sequence of mathematical operations ? –What are, and are not, mathematical operations? Sequence of well-defined operations –How many operations ? The fewer, the better. –Which operations ? The simpler, the better.

Jaruloj Chongstitvatana Chapter 1 Introduction4 What do we study in Complexity Theory ? What is easy, and what is difficult, to compute ? What is easy, and what is hard for computers to do? Is your cryptograpic scheme safe?

Jaruloj Chongstitvatana Chapter 1 Introduction5 Applications in Computer Science Analysis of algorithms Complexity Theory Cryptography Compilers Circuit design

Jaruloj Chongstitvatana Chapter 1 Introduction6 Alphabet and Strings An alphabet is a finite, non-empty set of symbols. –{ 0, 1 } is a binary alphabet. –{ A, B, …, Z, a, b, …, z } is an English alphabet. A string over an alphabet  is a sequence of any number of symbols from . –0, 1, 11, 00, and are strings over { 0, 1 }. –Cat, CAT, and compute are strings over the English alphabet.

Jaruloj Chongstitvatana Chapter 1 Introduction7 Empty String An empty string, denoted by , is a string containing no symbol. –  is a string over any alphabet.

Jaruloj Chongstitvatana Chapter 1 Introduction8 Length The length of a string x, denoted by length(x), is the number of positions of symbols in the string. Let Σ = { a, b, …, z } length ( automata ) = 8 length(computation) = 11 length ( ε ) = 0 x(i), denotes the symbol in the i th position of a string x, for 1  i  length(x).

Jaruloj Chongstitvatana Chapter 1 Introduction9 String Operations Concatenation Substring Reversal

Jaruloj Chongstitvatana Chapter 1 Introduction10 Concatenation The concatenation of strings x and y, denoted by x  y or x y, is a string z such that: –z ( i ) = x ( i ) for 1  i  length ( x ) –z ( i ) = y ( i ) for length ( x )< i  length ( x )+ length ( y ) Example –automata  computation = automatacomputation

Jaruloj Chongstitvatana Chapter 1 Introduction11 Concatenation The concatenation of string x for n times, where n  0, is denoted by x n –x 0 =  –x 1 = x –x 2 = x x –x 3 = x x x – …– …

Jaruloj Chongstitvatana Chapter 1 Introduction12 Substring Let x and y be strings over an alphabet Σ The string x is a substring of y if there exist strings w and z over Σ such that y = w x z. –ε is a substring of every string. –For every string x, x is a substring of x itself. Example –ε, comput and computation are substrings of computation.

Jaruloj Chongstitvatana Chapter 1 Introduction13 Reversal Let x be a string over an alphabet Σ The reversal of the string x, denoted by x r, is a string such that –if x is ε, then x r is ε. –If a is in Σ, y is in Σ * and x = a y, then x r = y r a.

Jaruloj Chongstitvatana Chapter 1 Introduction14 Example of Reversal (automata) r = (utomata) r a = (tomata) r ua = (omata) r tua = (mata) r otua = (ata) r motua = (ta) r amotua = (a) r tamotua = (  ) r atamotua = atamotua

Jaruloj Chongstitvatana Chapter 1 Introduction15 Σ*Σ* The set of strings created from any number (0 or 1 or …) of symbols in an alphabet  is denoted by  *. That is,  * =  i=  0  i –Let  = { 0, 1 }. –  * = { , 0, 1, 00, 01, 10, 11, 000, 001, 010, 011, … }.

Jaruloj Chongstitvatana Chapter 1 Introduction16 Σ+Σ+ The set of strings created from at least one symbol (1 or 2 or …) in an alphabet  is denoted by  +. That is,  + =  i=  1  i =  i=0..   i -  0 =  i=0..   i - {  } Let  = { 0, 1 }.  + = { 0, 1, 00, 01, 10, 11, 000, 001, 010, 011, … }.  * and  + are infinite sets.

Jaruloj Chongstitvatana Chapter 1 Introduction17 Languages A language over an alphabet Σ is a set of strings over Σ. –Let Σ = {0, 1} be the alphabet. –L e = {  Σ * | the number of 1 ’ s in  is even}. – , 0, 00, 11, 000, 110, 101, 011, 0000, 1100, 1010, 1001, 0110, 0101, 0011, … are in L e

Jaruloj Chongstitvatana Chapter 1 Introduction18 Operations on Languages Complementation Union Intersection Concatenation Reversal Closure

Jaruloj Chongstitvatana Chapter 1 Introduction19 Complementation Let L be a language over an alphabet Σ. The complementation of L, denoted by  L, is Σ *– L. Example: Let Σ = {0, 1} be the alphabet. L e = {  Σ * | the number of 1 ’ s in  is even}.  L e = {  Σ * | the number of 1 ’ s in  is not even}.  L e = {  Σ * | the number of 1 ’ s in  is odd}.

Jaruloj Chongstitvatana Chapter 1 Introduction20 Union Let L 1 and L 2 be languages over an alphabet Σ. The union of L 1 and L 2, denoted by L 1  L 2, is { x | x is in L 1 or L 2 }. Example: { x  {0,1}*| x begins with 0}  { x  {0,1}*| x ends with 0} = { x  {0,1}*| x begins or ends with 0}

Jaruloj Chongstitvatana Chapter 1 Introduction21 Intersection Let L 1 and L 2 be languages over an alphabet Σ. The intersection of L 1 and L 2, denoted by L 1  L 2, is { x | x is in L 1 and L 2 }. Example: { x  {0,1}*| x begins with 0}  { x  {0,1}*| x ends with 0} = { x  {0,1}*| x begins and ends with 0}

Jaruloj Chongstitvatana Chapter 1 Introduction22 Concatenation Let L 1 and L 2 be languages over an alphabet Σ. The concatenation of L 1 and L 2, denoted by L 1  L 2, is { w 1  w 2 | w 1 is in L 1 and w 2 is in L 2 }. Example { x  {0,1}*| x begins with 0}  { x  {0,1}*| x ends with 0} = { x  {0,1}*| x begins and ends with 0 and length(x)  2} { x  {0,1}*| x ends with 0}  { x  {0,1}*| x begins with 0} = { x  {0,1}*| x has 00 as a substring}

Jaruloj Chongstitvatana Chapter 1 Introduction23 Reversal Let L be a language over an alphabet Σ. The reversal of L, denoted by L r, is { w r | w is in L }. Example { x  {0,1}*| x begins with 0} r = { x  {0,1}*| x ends with 0} { x  {0,1}*| x has 00 as a substring} r = { x  {0,1}*| x has 00 as a substring}

Jaruloj Chongstitvatana Chapter 1 Introduction24 Kleene’s closure Let L be a language over an alphabet Σ. The Kleene ’ s closure of L, denoted by L*, is { x | for an integer n  0 x = x 1 x 2 … x n and x 1, x 2, …, x n are in L }. That is, L* =  i  = 0 L i Example: Let Σ = {0,1} and L e = {  Σ * | the number of 1 ’ s in  is even} L e * = {  Σ * | the number of 1 ’ s in  is even} (  L e )* = {  Σ *| the number of 1 ’ s in  is odd}* = {  Σ *| the number of 1 ’ s in  > 0}

Jaruloj Chongstitvatana Chapter 1 Introduction25 Closure Let L be a language over an alphabet Σ. The closure of L, denoted by L +, is { x |for an integer n  1, x = x 1 x 2 …x n and x 1, x 2, …, x n are in L } That is, L + =  i  = 1 L i Example: Let Σ = { 0, 1 } be the alphabet. L e = {  Σ * | the number of 1 ’ s in  is even} L e + = {  Σ * | the number of 1 ’ s in  is even} = L e *

Jaruloj Chongstitvatana Chapter 1 Introduction26 Observation about Closure L + = L *  { ε } ? Example: L = {  Σ * | the number of 1 ’ s in  is even} L + = {  Σ * | the number of 1 ’ s in  is even} = L e * Why? L * = L +  { ε } ?

Jaruloj Chongstitvatana Chapter 1 Introduction27 Languages and Problems Problem –Example: What are prime numbers > 20? Decision problem –Problem with a YES/NO answer –Example: Given a positive integer n, is n a prime number > 20? Language –Example: { n | n is a prime number > 20} = {23, 29, 31, 37, …}

Jaruloj Chongstitvatana Chapter 1 Introduction28 Language Recognition and Problem A problem is represented by a set of strings of the input whose answer for the corresponding problem is “YES”. a string is in a language = the answer of the corresponding problem for the string is “YES” –Let “Given a positive integer n, is n a prime number > 20?” be the problem P. –If a string represents an integer i in { m | m is a prime number > 20}, then the answer for the problem P for n = i is true.

Common misconception Beware

Jaruloj Chongstitvatana Chapter 1 Introduction30 A language is a set L1L1 L2L2

Jaruloj Chongstitvatana Chapter 1 Introduction31 And, there is also a set of languages L1L L2L2 L1L1 L2L2 A class of language