CSC312 Automata Theory Lecture # 2 Languages.

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

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.
Regular Languages Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 3 Comments, additions and modifications.
Regular Languages Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 3 Comments, additions and modifications.
1 Languages and Finite Automata or how to talk to machines...
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
Finite Automata Chapter 5. Formal Language Definitions Why need formal definitions of language –Define a precise, unambiguous and uniform interpretation.
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:
Fall 2004COMP 3351 Languages. Fall 2004COMP 3352 A language is a set of strings String: A sequence of letters/symbols Examples: “cat”, “dog”, “house”,
1 Regular Expressions/Languages Regular languages –Inductive definitions –Regular expressions syntax semantics Not covered in lecture.
Theory Of Automata By Dr. MM Alam
Finite-State Machines with No Output
Lexical Analysis CSE 340 – Principles of Programming Languages Fall 2015 Adam Doupé Arizona State University
Lecture # 1 (Automata Theory)
Module 2 How to design Computer Language Huma Ayub Software Construction Lecture 7 1.
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,
Lecture Two: Formal Languages Formal Languages, Lecture 2, slide 1 Amjad Ali.
Introduction to Theory of Automata
Two examples English-Words English-Sentences alphabet S ={a,b,c,d,…}
1 Chapter 1 Introduction to the Theory of Computation.
Languages, Grammars, and Regular Expressions Chuck Cusack Based partly on Chapter 11 of “Discrete Mathematics and its Applications,” 5 th edition, by Kenneth.
Grammars CPSC 5135.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 2 Mälardalen University 2006.
Module 2 How to design Computer Language Huma Ayub Software Construction Lecture 8.
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:
1 Exercise: Prove that the set S = { π : π is a permutation of {1, 2, 3, …, n} for some integer n ≥ 1 } is countable.
Introduction to Theory of Automata By: Wasim Ahmad Khan.
Mathematical Notions and Terminology Lecture 2 Section 0.2 Fri, Aug 24, 2007.
Strings and Languages CS 130: Theory of Computation HMU textbook, Chapter 1 (Sec 1.5)
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 2 Mälardalen University 2010.
CS 203: Introduction to Formal Languages and Automata
UNIT - I Formal Language and Regular Expressions: Languages Definition regular expressions Regular sets identity rules. Finite Automata: DFA NFA NFA with.
Lecture # Book Introduction to Theory of Computation by Anil Maheshwari Michiel Smid, 2014 “Introduction to computer theory” by Daniel I.A. Cohen.
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,
1 Strings and Languages Lecture 2-3 Ref. Handout p12-17.
Lecture 02: Theory of Automata:2014 Asif Nawaz Theory of Automata.
L ANGUAGE C ONCEPTS : F ORMAL M ODEL FOR L ANGUAGES Theory of Computer Akram Salah.
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.
Languages and Strings Chapter 2. (1) Lexical analysis: Scan the program and break it up into variable names, numbers, etc. (2) Parsing: Create a tree.
Lecture #2 Advanced Theory of Computation. Languages & Grammar Before discussing languages & grammar let us deal with some related issues. Alphabet: is.
Chapter 1 INTRODUCTION TO THE THEORY OF COMPUTATION.
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. –{
Theory of Computation Lecture #
Lecture # 2.
Languages.
Lexical Analysis CSE 340 – Principles of Programming Languages
Lecture 1 Theory of Automata
Theory of Automata CS3434 Lecture 01.
CIS Automata and Formal Languages – Pei Wang
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.
Mathematical Notions and Terminology
[Week#03,04] (b) - Finite Automata
Jaya Krishna, M.Tech, Assistant Professor
Assume that p, q, and r are in
Specification of tokens using regular expressions
Introduction Reading: Sections 1.5 – 1.7.
Chapter 1 Introduction to the Theory of Computation
Languages Fall 2018.
What is it? The term "Automata" is derived from the Greek word "αὐτόματα" which means "self-acting". An automaton (Automata in plural) is an abstract self-propelled.
Presentation transcript:

CSC312 Automata Theory Lecture # 2 Languages

Alphabet and Strings Alphabet: An alphabet is a finite set of symbols, usually letters, digits, and punctuations. Valid/In-valid alphabets: An alphabet may contain letters consisting of group of symbols for example Σ= {a, ba, bab, d}. Remarks: While defining an alphabet of letters consisting of more than one symbols, no letter should be started with the letter of the same alphabet i.e. one letter should not be the prefix of another. However, a letter may be ended in a letter of same alphabet. Valid alphabet : Invalid alphabet :

Alphabets and Strings String or word: A finite sequence of letters/alphabets Examples: “cat”, “dog”, “house”, “read” … Defined over an alphabet: Language: A language is a set of strings constructed from some alphabet e.g. Urdu, English, Java, the set of all binary strings

Sentences are made up of certain combinations of words. Not all combinations of words lead to a valid English sentence. So we see that some basic units are combined to make bigger units.

Languages How can you tell whether a given sentence belongs to a particular languages Black is cat the The tea is hot I like chocolates two much Rules give a clue to forming as well as validating sentences.

Formal vs. Informal Rules Informal language -> abstract languages Incoherent strings are also understandable Slang, idiom, dialect etc. Raise ambiguity Interpretation varies with region I am through (BrE/AmE) Same words have multiple meanings. Like, light, base, etc.

Summary of Languages Three aspects/specifications Lexical Syntactic Defines valid words/units of a language Syntactic Defines rules for combining the units to form valid sentences (computer programs in context of machines) Semantic Concerned with the interpretation or meaning of a sentence (what output to produce in context of machines) Affected by ambiguity the most.

Formal languages Rules defined explicitly and clearly No ambiguities Universally uniform understanding Lets the machine Interpret an input uniformly every time. i.e. always produces same output for a particular input Avoid crashes because of ambiguity. Explicitly and categorically reject invalid input

Formal Languages Need uniformly understandable notation Representations Alphabet Represents a finite set of fundamental units of lanauges, e.g. for English ={a,b,….z.A,…Z,} ∑ = {0,1} ∑ = {0,1,2,3,4,5,6,7,8,9}

Formal Languages List of words Set of all valid words of a given language, e.g., a language English_Words that contains all valid words of English would have a  = {all entries of the dictionary + punctuation marks and blank space} Denoted by  Is  Finite or Infinite set. Strings: A string a finite sequence of symbols chosen from alphabet. For example 0111100 , 123045, abbbcdeg etc.

String Variable: A letter used for denoting a string String Variable: A letter used for denoting a string. The author uses w, x, y and z as string variable. For example w = 0111100 , x = 123045, z = abbbcdeg Length of String: The number of positions for symbols in the string. For simplicity we can say that it is the number of symbols in the string. For example |w| = 7 , |x| = ? , |z| = ?

Alphabets and Strings We will use small letters for alphabets: Strings

String Operations Let we have following strings Concatenation Reverse

String Length Length: Examples:

Length of Concatenation Example:

Empty String A string with no letters: Observations: Note-1: A language that does not contain any word at all is denoted by  or { }. This language doesn’t contain any word not even the NULL string. i.e. { } ≠ {}

Empty String Note-2: Suppose a language L doesn’t contain NULL then but L ≠ L + {}. Important : NULL is identity element with respect to concatenation.

Substring Substring of string: a subsequence of consecutive characters

Prefix and Suffix Let the string is Prefixes Suffixes prefix suffix

Repeat Operation - w repeated n time; that is, Example: Definition:

The * Operation : the set of all possible strings from alphabet , called closure of alphabets also known as Kleene star operator or Kleene star closure. i.e. infinitely many words each of finite length.

The + Operation : the set of all possible strings from alphabet except , also known as Kleene plus operator. Note : are infinite

Languages A language is a set of strings OR A language is any subset of , usually denoted by L. It may be finite or infinite. Example: Languages: If a string w is in L, we say that w is a sentence of L.

Note that: Sets Set size Set size String length

Another Example An infinite language

Operations on Languages The usual set operations Complement:

Reverse Definition: Examples: Concatenation

Repeat Operation Definition: L concatenated with itself n times. Special case:

More Examples

Star-Closure (Kleene *) Definition: Example:

Positive Closure Definition: Note: L+ includes  if and only if L includes 

Lexicographical Order Assume that the symbols in are themselves ordered. Definition: A set of strings is in lexicographical order if The strings are grouped first according to their length. Then, within each group, the strings are ordered “alphabetically” according to the ordering of the symbols.

Lexicographical Order Ex: Let the alphabet be The set of all strings in Lexicographical order is , a, b, aa, ab, ba, bb, aaa, …., bbb, aaaa, …, bbbb, ….