Zadanie 1

Transkrypt

Zadanie 1
WŁASNOŚCI JĘZYKÓW REGULARNYCH
Twierdzenie o własnościach języków regularnych. Jeżeli L1 , L 2 są językami regularnymi, to języki L1
*
'
L1 L2 , L1 , L1 L1
L2 ,
L2 , L1 \ L2 są również językami regularnymi.
Lemat o pompowaniu . Jeżeli L jest językiem regularnym, to istnieje liczba naturalna N, taka, że dla
dowolnego słowa A L o długości A N istnieją podsłowa B, C, D takie, że
a) A BCD
b) BC N
c) C
1
d) BC D L dla każdego i N 0
Jeżeli język regularny jest akceptowany przez pewien automat deterministyczny, to liczba N równa się liczbie
stanów tego automatu.
i
PRZYKŁADY
Przykład 6.1.
Udowodnij, że jeżeli L1 jest językiem nieregularnym oraz L2 i L1 L2 są językami regularnymi to
L1 L2 jest językiem nieregularnym.
Rozwiązanie. Przypuśćmy, że L1 L2 jest regularny. Wówczas
L1 ((L1 L2 ) \ L2 )
(L1 L2 )
i na mocy Tw. o własnościach języków regularnych L1 byłby językiem regularnym, co jest sprzeczne z
założeniem.
Przykład 6.2.
Wskaż liczbę naturalną N, dla której język L { a 3n b m : n, m N } spełnia tezę Lematu o pompowaniu.
Rozwiązanie Zauważmy, że L L(( a 3 )* b * ) . Skoro jest to język regularny, to istnieje deterministyczny
automat skończony akceptujący język L.
a
b
b
a
a
b
a
b
a,b
Ponieważ istnieje automat deterministyczny posiadający 5 stanów, więc przyjmujemy N=5. (N
może być mniejsze niż 5 – po minimalizacji automatu, ale teza LOP zachodzi tym bardziej dla N=5)
Niech A będzie dowolnym słowem z języka L o długości co najmniej równej 5. Z definicji języka
L wynika, że A a 3n b m , gdzie n, m N 0 i 3n m 5 .
, C a 3 i wybieramy D {a , b} * takie, że BCD=A. Jeśli n 0 to
Jeśli n 1 to kładziemy B
, C b 3 i wybieramy D {b} * takie, że BCD=A. Zauważmy, że w obu przypadkach
kładziemy B
spełnione są warunki a-c lematu o pompowaniu oraz dla dowolnego i
języka L, ponieważ
i
BC D
a3
3( i 1) 3n 3 m
b1
( i 1) m 1
a
b
b
a 3( n
i 1) m
b
gdy n 1
gdy n 0
N 0 słowo BC
i
D należy do
Przykład 6.3.
3n m
Korzystając z lematu o pompowaniu pokaż, że język L {a b : n m} jest nieregularny.
Rozwiązanie. Przypuśćmy, że język L jest regularny. Istnieje zatem liczba naturalna N, dla której
spełnione są warunki tezy lematu o pompowaniu. Połóżmy
A a3N b N
N . Niech B, C, D będą podsłowami spełniającymi warunki a-c
Oczywiście A L oraz A 4 N 1
lematu o pompowaniu, czyli
a) A BCD
b) BC N
c) C
1
1.
BC
D
A = aaa aaa aaa aaa… aaa b b b … b b
N
3N
Z postaci słowa A oraz z warunków a) i b) wynika, że C składa się wyłącznie z symboli a , których jest
tyle ile wynosi długość słowa C. Z warunków b) i c) wnioskujemy, że C {1,2,, N} .
Zatem
BC 4 D
BC
BCC 3 D
C4
a
3N 3 C
bN
1
a 3( N
|C|)
bN
1
D
BC D = aaa aa aa aa aa a aaa aaa… aaa b b b … b b
4
N
3|C|
Połóżmy n
N
C im
N 1. Z warunku (c) wynika, że
n
N
C
N 1 m.
Zatem słowo
BC 4 D a 3nb m
nie należy do języka L, co jest sprzeczne z warunkiem (d) Lematu o pompowaniu. Tym samym
pokazaliśmy, że język L nie jest regularny.
Przykład 6.4.
Uzasadnij, że język L { A {a , b} :| A(a)| 3n | A(b)| m
n m } jest nieregularny.
Rozwiązanie
Zauważ, że
L(( a 3 )* b* ) \ L {a 3n b m : n m} .
Gdyby język L był regularny, to z Lematu o pompowaniu wynikałoby, że również L(( a 3 )* b* ) \ L jest
językiem regularnym, co jest sprzeczne z Przykładem 6.3.
ZADANIA
Zadanie 6.1
Uzasadnij, że każdy język skończony jest regularny
Zadanie 6.2
Niech L1 , L 2 będą językami regularnymi nad alfabetem . Pokaż, że następujące języki są regularne:
L1 \ L2
a)
L1 L2
b)
Zadanie 6.3
Niech L1 , L 2 będą językami formalnymi nad alfabetem spełniającymi warunek L1 L2
Określ, które zdanie jest prawdziwe:
a)
Jeżeli L1 jest regularny, to L 2 jest również regularny
b)
Jeżeli L 2 jest regularny, to L1 jest również regularny
Zadanie 6.4
Niech L będzie dowolnym językiem skończonym nad alfabetem . Pokaż, że następujące języki są
regularne:
*
L1 { A
: A 4
A L}
a)
b)
L2
{A
*
: A
4
A L}
*
L1 { A
: A 4
A L}
c)
Zadanie 6.5
Udowodnij, że L jest językiem nieregularnym wtedy i tylko wtedy, kiedy L’ jest językiem nieregularnym.
Zadanie 6.6
Udowodnij, że jeżeli L1 jest językiem nieregularnym oraz L2 i L1 L2 są językami regularnymi to
L1 L2 jest językiem nieregularnym.
Zadanie 6.7
Pokaż, że jeżeli L1 jest językiem nieregularnym a L 2 językiem skończonym, to nieregularnym jest język:
L1 L2
a)
L1 \ L2
b)
Zadanie 6.8
Znajdź N naturalne, dla którego poniższe języki spełniają warunki tezy lematu o pompowaniu:
L { A {a, b} * : 3 A }
a)
L { a 2n b {a, b} * : n N }
b)
Zadanie 6.9
Niech A BCD przy czym A n oraz C
k . Znajdź długość słowa:
a)
BC 2 D
BC i D (i N)
b)
Zadanie 6.10
Korzystając z lematu o pompowaniu pokaż, że następujące języki nie są regularne:
L {a n b n 3 : n N}
a)
b)
L {ba 3n b n : n N}
c)
L {a n b m : m n}
L {a n b m a k : m 3n k}
d)
Zadanie 6.11
Określ, czy są regularne następujące języki:
L {a 5n b n : n N}
a)
b)
L {a 5n b m : m, n N}
c)
L {a 5n b m : m n }
d)
L { A {a, b} * : A(a)
5 A(b) }
Zadanie 6.12
Udowodnij, że nie są regularne następujące języki określone nad alfabetem
a)
L {a n : n jest liczbą pierwszą}
b)
L {a n! : n N}
c)
L {a n : n N}
{a} :
2
n
d)
L {a2 : n N}
Zadanie 6.13
Określ, który z następujących języków określonych nad alfabetem
L {a n : n nie jest liczbą pierwszą}
a)
{a} nie jest regularny:
L {a n : n nie jest liczbą parzystą}
b)
Zadanie 6.14
Zbadaj regularność języków określonych nad alfabetem , w zależności od ilości symboli tego alfabetu:
a)
L PALINDROMY
*
L { AA : A
}
b)
Zadanie 6.15
Udowodnij, że nie są regularne następujące języki określone nad alfabetem
{0,1} :
a)
L=DODAWANIE
b)
L=ODEJMOWANIE MODULO
c)
L=MNOŻENIE
d)
L=POTĘGOWANIE
Zadanie 6.16
Pokaż, że dla dowolnej liczby naturalnej n, jeżeli L1 , L2 ,  , Ln są językami regularnymi, to
a)
b)
n
L
i
jest językiem regularnym
i 1
n
L
i
jest językiem regularnym
i 1
Zadanie 6.17
Określ, które zdanie jest prawdziwe:
a)
Jeżeli Li (i
N ) są językami regularnymi, to
L
i
jest językiem regularnym
i 1
b)
Jeżeli Li (i
N ) są językami regularnymi, to
L
i
jest językiem regularnym
i 1
Zadanie 6.18
Wskaż języki nieregularne L1 , L 2 nad alfabetem
{a} , takie, że
L1 L2 jest językiem regularnym
a)
L1 L2 jest językiem regularnym
b)
L1 \ L2 jest językiem regularnym
c)
Zadanie 6.19
{a} , przy czym zakładamy, że L1 jest językiem
Niech L1 , L 2 będą językami nad alfabetem
regularnym a L 2 - nieregularnym. Określ, które zdanie jest prawdziwe:
L1 L2 jest językiem regularnym
a)
L1 L2 jest językiem nieregularnym
b)
L1 L2 jest językiem regularnym
c)
L1 L2 jest językiem nieregularnym
d)
L1 L2 jest językiem regularnym
e)
L1 L2 jest językiem nieregularnym.
f)