0% found this document useful (0 votes)
14 views

Lecture 2 - Alphabets-Strings, Languages and Grammars

Uploaded by

mathu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Lecture 2 - Alphabets-Strings, Languages and Grammars

Uploaded by

mathu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 47

ALPHABETS-

STRINGS AND
LANGUAGES
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 (word) over an alphabet Σ is a finite sequence of symbols
chosen from any alphabet Σ.
► 0, 1, 11, 00, and 01101 are strings over {0, 1 }.
► Cat, CAT, and compute are strings over the English alphabet.

2
Empty String
► An empty string, denoted by ε / λ (epsilon / lambda), is a
string containing no symbol.
► ε / λ is a string over any alphabet.

3
Length of a string
► The length of a string x, denoted by length(x) |x|, is the number
of symbols(with repetition) in the string.
Let Σ = {a, b, …, z}
length(automata) = 8
length(computation) = 11
length(ε) = 0
► x(i), denotes the symbol in the ith position of a string x, for 1≤ i ≤
length(x).

4
Powers of an Alphabet
• ∑k to be the set of strings of length k, each of whose symbols is in ∑
Σ* (*- Kleene Closure)
► The set of all strings over an alphabet Σ is denoted by Σ*.
► That is, Σ* = ∪i=∞0 Σi
► Let Σ = {0, 1}.
► Σ* = Σ0 U Σ1 U Σ2 ….
► {0, 1}*= {0, 1}0 U {0, 1}1 U {0, 1}2 ….
= {ε, 0, 1, 00, 01, 10, 11, 000, 001, 010, 011, … }.

6
Σ (+-Positive closure)
+

► The set of all strings created from at least one symbol (1 or 2 or …) in


an alphabet Σ is denoted by Σ+.
► That is, Σ+ = ∪i=∞1 Σ i =
Σ1 U Σ2 ….
= ∪i=0..∞ Σi - Σ0
= ∪ i=0..∞ Σi - {ε}
► Let Σ = {0, 1}. Σ+ = {0, 1, 00, 01, 10, 11, 000, 001, 010, 011, … }.
Σ* and Σ+ are infinite sets.

7
Σ* = Σ0 U Σ1 U Σ2 …. ( includes ε / λ)

Σ+ = Σ1 U Σ2 …. (doesn’t include ε / λ )
Σ+ = Σ*- {ε}
String Operations
► Concatenation
► Suffix, Prefix
► Substring
► Reversal

9
Concatenation
► The concatenation (.) of strings x and y, denoted by x⋅y or xy,
is a string z such that:
► |z| = |x|+|y| (length of z is the sum of the length of x and y)
► xy is not equal to yx

► Example
► automata⋅computation = automatacomputation

10
Concatenation
The concatenation of string x for n times, where n≥0, is denoted
by xn
►x0 = ε
►x1 = x
►x2 = x x
►x3 = x x x

11
Binary relations on strings
1. 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
2. Suffix - u is a suffix of v if there is a w such that v = wu.
► Examples:
► 0 is a suffix of 0 since 0 = ?
► ton is a suffix of appleton since ?
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.

13
Reversal
Let x be a string over an alphabet Σ
The reversal of the string x, denoted by xr, is a
string such that
► if x is ε, then xr is ε.
► If a is in Σ, y is in Σ* and x = a y, then xr = yr a.
► Example: Let x = “computation”
xr = “noitatupmoc”

14
LANGUAGES
• A set of strings all of which are chosen from some Σ* where Σ is a
particular alphabet is called a language. If Σ is an alphabet, and L ⊆ Σ*
then L is a language over Σ .
• Notice that a language over Σ need not include strings with all the
symbols of Σ, so once we have established that L is a language over Σ,
we also know it is a language over any alphabet that is a superset of
Σ.
► Let Σ = {0, 1} be the alphabet.
► Le = {ω ∈ Σ* | the number of 1’s in ω is even}.
► ε, 0, 00, 11, 000, 110, 101, 011, 0000, 1100, 1010, 1001, 0110, 0101,
0011, … are in Le

17
Operations on Languages

► Complementation
► Union
► Intersection
► Concatenation
► Reversal
► Closure

18
Complementation
Let L be a language over an alphabet Σ.
The complementation of L, denoted by , is Σ*–L.

Example:
Let Σ = {0, 1} be the alphabet.
Le = {ω∈Σ* | the number of 1’s in ω is even}.
= {ω∈Σ* | the number of 1’s in ω is not even}.
= {ω∈Σ* | the number of 1’s in ω is odd}.
19
Union

Let L1 and L2 be languages over an alphabet Σ.


The union of L1 and L2, denoted by
L1∪L2, is {x | x is in L1 or L2}.
Example:
Eg.1) {x∈{0,1}*|x begins with 0} ∪ {x∈{0,1}*|x ends with 0}
= {x ∈ {0,1}*| x begins or ends with 0}

Eg.2) L1={0,01,1} L2={1,11}


L1 ∪L2 ={0,01,1,11}
20
Intersection
Let L1 and L2 be languages over an alphabet Σ.
The intersection of L1 and L2, denoted by L1∩L2, is { x | x is in L1
and L2}.

Example:
{ x∈{0,1}*| x begins with 0} ∩ { x∈{0,1}*| x ends with 0}
= { x∈{0,1}*| x begins and ends with 0}
L1={0,01,1} L2={1,11}
L1∩L2 = {1}
21
Concatenation
Let L1 and L2 be languages over an alphabet Σ.
The concatenation of L1 and L2, denoted by L1⋅L2, is {w1⋅w2| w1 is in L1 and
w2 is in L2}.
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}


22

L1{0,10,11}

L2{110,1100}

L1L2 ={0110,10110,11110,01100,101100,111100}

L2L1={1100,11010,…}

L3= { x ∈ {0,1}*| x begins with 0}={0,01,00,010,…}


L4= {x ∈ {0,1}*| x ends with 0} ={0, 10,00,110,…}
L3L4={00,010,…}
L5{ x ∈ {0,1}*| x begins and ends with 0 and length(x) ≥ 2}
Reversal

Let L be a language over an alphabet Σ.


The reversal of L, denoted by Lr, is {wr| w is in L}.
Example
{1, 10, 11,…}
{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}
24
Observation about Closure
L+ = L* − {ε} ?

Example:
L = {ω∈Σ* | the number of 1’s in ω is even}
L+ = {ω∈Σ* | the number of 1’s in ω is even} = Le*

Why?
L* = L+ ∪ {ε} ?
25
Grammars
► Just like English, languages can be ► The sentences formed from the grammar:
described by grammars.
► Example 1: Reeta loves Reeta
S Noun Verb-Phrase Reeta loves Puppy
Verb-Phrase  Verb Noun
Reeta cares Reeta
Noun  { Reeta, Puppy } Reeta cares Puppy
Verb  { loves, cares } Puppy loves Reeta
Puppy loves Puppy
Puppy cares Reeta
Puppy cares Puppy

► They are “in” the Language defined by


the grammar:
Grammars
►A formal grammar G is any compact, precise
mathematical definition of a language L.
►As opposed to just a raw listing of all of the language’s legal
sentences, or just examples of them.

►A grammar implies an algorithm that would generate


all legal sentences of the language.
►Often, it takes the form of a set of recursive definitions.
Grammars (Semi-formal)

►Example 2: subset of the English language

29
►Example 2 continues:
►A derivation of “the boy sleeps”:

30
► Example 2 continues:
► A derivation of “ a dog runs”:

31
► Example 2 continues:
► Language of the grammar:

L = { “a boy runs”,
“a boy sleeps”,
“the boy runs”,
“the boy sleeps”,
“a dog runs”,
“a dog sleeps”,
“the dog runs”,
“the dog sleeps” }

32
Notation

Variable Terminal
or Production
Symbols of
Non-terminal rule
the vocabulary
Symbols of
the vocabulary

33
Grammar – Formal Definition
► G = (V,T,S,P) is a 4-tuple, in which:
►V is a finite set of objects called variables / Nonterminals
►T is a finite set of objects called terminals
►S∈V is a special Variable / Nonterminal, the start symbol.
►in example 2 the start symbol was “sentence”.
►P is a set of productions (to be defined).
►Rules for substituting one sentence fragment for another
►Every production rule must contain at least one Variable on its
left side.
Example 3:
►Grammar: ►Derivation of sentence: aabb:

V={S} T={a,b} P=

►Derivation of sentence:
►Derivation of other sentences:

35
Example 3:
►Grammar: ►Derivation of sentence: aabb:

V={S} T={a,b} P=

►Derivation of sentence:

►Derivation of other sentences:

36
Grammar DERIVATION
► EXAMPLE 4:
► Let G = (V, T, S, P), where
► V = {A, B, S}
► T = {a, b},
► S is a start symbol
► P = {S → ABa, A → BB, B → ab, A → Bb}.
CHOMSKY HIERARCHY
Language Grammar Machine Example
Regular Grammar Deterministic or
Type 3: Regular • Right-linear grammar Nondeterministic a*
Language • Left-linear grammar Finite-state
acceptor

Type 2: Context-free Context-free grammar Nondeterministic anbn


Language Pushdown automaton

Type 1: Context-sensitive Context-sensitive Linear-bounded anbncn


Language grammar automaton

Type 0: Recursively Unrestricted grammar Turing machine Any computable


Enumerable Language function
Class of all languages

You might also like