Artificial Intelligence

 The regular expression of the string over Σ={a,b,c} in
which all the a’sprecede the b’swhich in turn precede the
c’s, but without the empty string.
Sol :
String in R : a,b,c,ab,ac,bc,aa,bb,cc,aab,aac,bbc,aac,abbcc,bccc
String not in R : ,ba,ca,cb,cab,acb,bbba,…
There are 3 cases : (a
)+(
b
)+(
R = ( aa*b*c*) + (a*b*bc*) + (a*b*cc*)
a+
b+
c
c+
R = (a+b*c*) + (a*b+c*) + (a*b*c+)
2
)
The regular expression of the string over ={0,1} in which
the string end with 1 and does not contain the substring 00.
Sol :
String in R : 1,01,11,011,101,111,1011,010101,11011101,…
String not in R : ,00,10,001,1001,1100,…
The string are combination of 1 and 01 such as 1 01 = 101
1 1 1 = 111 , 01 01 01 = 010101
R = (1+01)+
3
The regular expression of the string over ={a,b} consists of
all odd-length strings
Sol :
String in R : a,b,aaa,bbb,aab,aba,abb,bba,abbba,…
String not in R : ,ab,ba,aa,bb,abab,abba,aaaa,bbbb,…
The even-length strings are the combination of aa,ab,ba,bb
such as aa ba = aaba , ab ab = abab, bb aa = bbaa .
(aa + ab + ba + bb)*
We need odd-length strings , which is even-length + 1.
So that ,
R = (aa + ab + ba + bb)*(a + b)
4
The regular expression of the string over ={a,b,c} that
begin with a, contain exactly two b's, and end with cc.
Sol :
String in R : abbcc,aaaabcaacbaaacacc,acccaacbacacbcacacc,…
String not in R : ,ab,abc,abbc,babb,bacc,abcc,…
The pattern of string is a
(a+c)*
b
b
(a+c)*
cc
(a+c)*
R = a(a + c)*b(a + c)*b(a + c)*cc
5
The regular expression of the string over ={a,b,c} that do
not contain substring aa.
Sol :
String in R : ,a,b,c,ab,ac,ba,bc,ca,cb,aba,bbb,ccc,babbbac,…
String not in R :,aab,baabc,bcaa,…
Every “a” must be followed by b or c.
R = (b + c + a(b + c))*(λ + a)
6
The regular expression of the string over ={a,b} with an even
number of a's or an odd number of b's.
Sol :
String in R : ,aa,b,ab,ba,bc,aba,bbb,abab,baba,babab,…
String not in R : a,bab,bba,…
There are two cases : 1. even number of a’s
or
2. odd number of b’s
Even number of a’s : b* a b* a b* => (b*ab*ab*)*
Odd number of b’s : (a*ba*ba*)* a*ba* => (a*ba*ba*)*a*ba*
Even # b
R = ((b*ab*ab*)* + (a*ba*ba*)*a*ba*)
7
The regular expression of the string over ={a,b,c} with an
even length and contain exactly one a.
Sol :
String in R : ba,ab,ac,ca,cbac,bcab,bcba,abbbcccb, …
String not in R : ,a,b,c,bab,bba,…
The string pattern is :
(ba+ca+ab+ac)
E(b+c)
E(b+c)
(b+c)a+a(b+c)
= (bb+bc+cb+cc)* = ((b+c)(b+c))*
R = ((b+c)(b+c))*(b+c)a((b+c)(b+c))*
8
E(b+c)
The regular expression of the string over ={a,b} with an odd
length and contain exactly two b’s.
Sol :
String in R : abb,bab,bba,aababaa,aabaaba,abaabaa,abaaba,ababa…
String not in R : ,a,abab,bbaa,ab,bbb,…
There are four cases : 1. E(a) ab E(a) b E(a)
2. E(a) ba E(a) b E(a)
3. E(a) b E(a) ab E(a)
4. E(a) b E(a) ba E(a)
E(a) = (aa)* , O(a) = (aa)*a
R = (aa)*((ab+ba)(aa)*b+(bb+(ab+ba)(aa)*ab)a)(aa)*
9