• Nie Znaleziono Wyników

Automaty sko´nczone 19 3.1

N/A
N/A
Protected

Academic year: 2021

Share "Automaty sko´nczone 19 3.1"

Copied!
198
0
0

Pełen tekst

(1)

Automaty i j ¾ezyki formalne Tadeusz Krasi´nski

(2)
(3)

Wst ¾ep v

ROZDZIA×1. Wiadomo´sci wst ¾epne z matematyki 1

1.1. Rachunek zda´n 1

1.2. Teoria zbiorów 1

1.3. Grafy 7

ROZDZIA×2. J ¾ezyki regularne 9

2.1. Alfabety i j ¾ezyki formalne 9

2.2. Wyra·zenia regularne i j ¾ezyki regularne 13

2.3. Podsumowanie 17

ROZDZIA×3. Automaty sko´nczone 19

3.1. Deterministyczne automaty sko´nczone 19

3.2. Niedeterministyczne automaty sko´nczone 25

3.3. Niedeterministyczne automaty sko´nczone z -przej´sciami 32

3.4. Podsumowanie 38

ROZDZIA×4. Twierdzenie Kleene’ego 41

4.1. Twierdzenie Kleene’ego 41

4.2. Podsumowanie 51

ROZDZIA×5. asno´sci j ¾ezyków regularnych 53

5.1. Podstawowe w÷asno´sci j ¾ezyków regularnych 53

5.2. Lemat o Pompowaniu 54

5.3. Algorytmy decyzyjne dla j ¾ezyków regularnych 57

5.4. Podsumowanie 59

ROZDZIA×6. Minimalizacja automatów sko´nczonych 61

6.1. Konstrukcja minimalnego automatu 61

6.2. Algorytm wyznaczania minimalnego automatu 65

6.3. Podsumowanie 70

ROZDZIA×7. Gramatyki i j ¾ezyki bezkontekstowe 71

7.1. De…nicje gramatyk i j ¾ezyków bezkontekstowych 71

7.2. Lewe i prawe wyprowadzenia 77

7.3. Gramatyki regularne 79

7.4. Postacie normalne gramatyk bezkontekstowych 83

7.5. Podsumowanie 90

ROZDZIA×8. asno´sci j ¾ezyków bezkontekstowych 93

8.1. Podstawowe w÷asno´sci j ¾ezyków bezkontekstowych 93 8.2. Lemat o Pompowaniu dla J ¾ezyków Bezkontekstowych 94

8.3. Podsumowanie 99

ROZDZIA×9. Automaty ze stosem 101

9.1. De…nicja automatów ze stosem 101

9.2. Automaty ze stosem i j ¾ezyki bezkontekstowe 113

iii

(4)

9.3. Podsumowanie 120

ROZDZIA×10. Maszyny Turinga 121

10.1. De…nicja maszyny Turinga 121

10.2. Graf maszyny Turinga 126

10.3. Wielota´smowe maszyny Turinga 128

10.4. Niedeterministyczne maszyny Turinga 133

10.5. Podsumowanie 136

ROZDZIA×11. J ¾ezyki rekursywnie przeliczalne 139

11.1. J ¾ezyki rekursywnie przeliczalne a j ¾ezyki bezkontekstowe 139 11.2. J ¾ezyki, które nie s ¾a rekursywnie przeliczalne 143

11.3. J ¾ezyki rekursywne 146

11.4. Gramatyki frazowe 151

11.5. Podsumowanie 158

ROZDZIA×12. J ¾ezyki kontekstowe 159

12.1. Gramatyki i j ¾ezyki kontekstowe 159

12.2. Automaty liniowo ograniczone 164

12.3. Hierarchia Chomsky’ego j ¾ezyków 167

12.4. Podsumowanie 168

ROZDZIA×13. zono´s´c obliczeniowa 171

13.1. zono´s´c obliczeniowa czasowa 171

13.2. De…nicja problemów N P-zupe÷nych 178

13.3. SAT -problem N P-zupe÷ny 181

13.4. Problem drogi Hamiltona 182

13.5. zono´s´c obliczeniowa pami ¾eciowa 184

13.6. Podsumowanie 186

BIBLIOGRAFIA 189

INDEKS 191

(5)

Informatyk¾e mo·zna podzieli´c na dwie podstawowe cz ¾e´sci:

1. podstawowe idee i modele le·z ¾ace u podstaw obliczania i dzia÷ania komputerów, 2. praktyczne techniki konstruowania, budowania i projektowania komputerów i pisania programów komputerowych.

W podr ¾eczniku zajmiemy si ¾e pierwszym aspektem, czyli teoretycznymi podstawy infor- matyki. Przedstawimy podstawowe modele teoretyczne komputerów. Zaczniemy od na- jprostszych zwanych automatami sko´nczonymi i zako´nczymy modelem, który jest powszech- nie uznawany za w÷a´sciwy model komputera tzw. maszyn ¾e Turinga. Modele te nie b ¾ed ¾a doty- czy´c struktury, architektury itp. technicznych aspektów komputerów, lecz ich teoretycznych mo·zliwo´sci oblicze´n. Te modele nie powsta÷y równolegle z pierwszymi komputerami zbu- dowanymi w latach pi ¾e´cdziesi ¾atych. Teoretyczne podstawy oblicze´n zosta÷y zapocz ¾atkowane wcze´sniej, przez matematyków, którzy zajmowali si ¾e problemem, które z funkcji nale·zy uzna´c za obliczalne, tzn. takie, do obliczenia warto´sci których istnieje algorytm (np. dodawanie liczb naturalnych nale·zy uzna´c za funkcj ¾e obliczaln ¾a, gdy·z istnieje znany algorytm dodawa- nia dwóch liczb). Badanie te zwi ¾azane s ¾a z nazwiskami matematyków: Hilberta, Gödla, Turinga. Wymy´slone zosta÷y teoretyczne modele urz ¾adze´n obliczaj ¾acych funkcje obliczalne.

Sta÷y si ¾e one równie·z teoretycznymi modelami wspó÷czesnych komputerów.

Okaza÷o si ¾e, ·ze te modele zwi ¾azane s ¾a z pewnymi j ¾ezykami (rozumiemy tutaj j ¾ezyk w bardzo ogólnym sensie, jako pewne uk÷ady symboli z ustalonego sko´nczonego zbioru sym- boli). Im model reprezentuje wi ¾eksz ¾a ”moc obliczeniow ¾a”, tym bardziej skomplikowany j ¾ezyk mo·zemy z nim zwi ¾aza´c; mianowicie j ¾ezyk akceptowany przez ten model. Ka·zdy konkretny j ¾ezyk reprezentuje pewien problem lub funkcj ¾e. Zwi ¾azek ten zilustrujemy nast ¾epuj ¾acym przyk÷adem.

Je´sli dany model potra… np. dodawa´c liczby naturalne (co oznacza, ·ze wczytujemy dwie liczby naturalne i w wyniku otrzymujemy jedn ¾a, b ¾ed ¾ac ¾a ich sum ¾a), to jest to równoznaczne (w warstwie teoretycznej) z tym, ·ze model ten akceptuje trójki liczb (m; n; k) o w÷asno´sci m + n = k i nie akceptuje ·zadnych innych trójek (oznacza to, ·ze wczytujemy trzy liczby naturalne i w wyniku otrzymujemy ”tak” lub ”nie”). Takie trójki liczb mo·zemy uwa·za´c za pewien rodzaj j ¾ezyka (s÷owami tego j ¾ezyka s ¾a trójki liczb (m; n; k) o w÷asno´sci m + n = k;

np. trójka (2; 3; 5) jest s÷owem tego j ¾ezyka, a trójka (2; 1; 5) nie jest). To samo mo·zemy powiedzie´c o dowolnej funkcji, której warto´sci dany model potra… oblicza´c. Zamiast mówi´c, ze model oblicza dan ¾· a funkcj ¾e f (dla ustalenia uwagi za÷ó·zmy, ·ze f jest funkcj ¾a jednej zmi- ennej okre´slon ¾a na zbiorze liczb naturalnych) mo·zemy, tak jak w przypadku dodawania, powiedzie´c, ·ze model ten akceptuje j ¾ezyk, którego s÷owami s ¾a pary (n; f (n)); gdzie f (n) jest warto´sci ¾a funkcji f w punkcie n: Podobnie, zamiast mówi´c o problemach mo·zemy mówi´c o j ¾ezykach, gdy·z na ogó÷z ka·zdym problemem mo·zemy zwi ¾aza´c pewien j ¾ezyk formalny. Zatem b ¾edziemy mówi´c o j ¾ezykach, pami ¾etaj ¾ac, ·ze pod tym poj ¾eciem kryj ¾a si ¾e funkcje, zadania i problemy.

Powy·zsze przyk÷ady uzasadniaj ¾a zwi ¾azek modeli komputerów z pewnymi j ¾ezykami. Jest rzecz ¾a oczywist ¾a, ·ze im wi ¾eksza jest ”moc obliczeniowa” tych modeli (tzn. obliczaj ¾a wi ¾ek- sz ¾a ilo´s´c funkcji, wykonuj ¾a wi ¾eksz ¾a ilo´s´c zada´n lub rozwi ¾azuj ¾a trudniejsze problemy), tym bardziej skomplikowane j ¾ezyki s ¾a akceptowane przez te modele. W zwi ¾azku z tym w rozwa·za- niach teoretycznych nie b ¾edziemy mówi´c o funkcjach, zadaniach i problemach, które modele potra… ¾a obliczy´c lub wykona´c, a tylko o j ¾ezykach przez nie akceptowanych. Im dany model lub rodzaj modeli akceptuje szersz ¾a klas ¾e j ¾ezyków, tym jego moc jest wi ¾eksza.

v

(6)

Z kolei gdy mówimy o j ¾ezykach, to wi ¾ze si ¾e to z poj ¾eciem gramatyki danego j ¾ezyka, rozumianej tutaj jako uk÷ad zasad (regu÷) wed÷ug których powstaj ¾a s÷owa (zdania) danego j ¾ezyka (w warstwie teoretycznej nie odró·zniamy s÷ów od zda´n, gdy·z ka·zde ”zdanie”mo·ze by´c uwa·zane za pewne s÷owo, gdy do alfabetu zaliczymy równie·z spacje, co ma np. miejsce w j ¾ezykach programowania). Zatem b ¾edziemy tak·ze rozwa·za´c problem znalezienia gramatyk, wed÷ug regu÷których powstaj ¾a j ¾ezyki akceptowane przez kolejne modele komputerów. Poj ¾ecie gramatyki wi ¾ze si ¾e te·z z programowaniem, gdy·z programy wczytywane do komputera musz ¾a by´c zbudowane wed÷ug pewnych ustalonych regu÷, które komputer musi zna´c i wed÷ug tych regu÷zrozumie´c program. Tym zagadnieniem zajmuje si ¾e teoria kompilatorów.

Zatem w wyk÷adzie b ¾edziemy równolegle omawia´c:

1. modele teoretyczne komputerów, 2. j ¾ezyki akceptowane przez te modele, 3. gramatyki generuj ¾ace te j ¾ezyki.

Poznamy dok÷adniej cztery modele, pocz ¾awszy od najprostszego do najpot ¾zniejszego, uwa·zanego za w÷a´sciwy model komputera, oraz równowa·zne im klasy j ¾ezyków i gramatyk

Modele Klasy j ¾ezyków Klasy gramatyk

Automaty sko´nczone

J ¾ezyki regularne

Gramatyki regularne Automaty

ze stosem

J ¾ezyki

bezkontekstowe

Gramatyki bezkontekstowe Automaty

liniowo ograniczone

J ¾ezyki kontekstowe

Gramatyki kontekstowe Maszyny

Turinga

J ¾ezyki rekurencyj- nie przeliczalne

Gramatyki frazowe

Po zapoznaniu si ¾e z podstawowymi modelami komputerów omówimy krótko wa·zne po- j ¾ecie z÷zono´sci obliczeniowej problemów (czyli z÷zono´sci obliczeniowej j ¾ezyków). W÷a´sci- wym modelem do tych rozwa·za´n b ¾edzie maszyna Turinga, gdy·z jak wspomnieli´smy powy·zej, jest ona uwa·zana za w÷a´sciwy model komputera. W my´sl de…nicji z÷zono´s´c obliczeniowa problemu (czyli j ¾ezyka zwi ¾azanego z tym problemem) jest to ilo´s´c kroków, któr ¾a musi wykona´c maszyna Turinga rozwi ¾azuj ¾aca dany problem (z÷zono´s´c obliczeniowa czasowa) lub ilo´s´c pami ¾eci, któr ¾a wykorzysta maszyna Turinga rozwi ¾azuj ¾aca dany problem (z÷zono´s´c obliczeniowa pami ¾eciowa). Poznamy wa·zne klasy problemów, P i N P, rozwi ¾azywalnych przez maszyny Turinga w czasie wielomianowym (P dla deterministycznych maszyn Turinga i N P dla niedeterministycznych maszyn Turinga). Najwa·zniejszym teoretycznym prob- lemem informatyki jest problem równo´sci tych klas, czyli pytanie czy zachodzi równo´s´c P = N P. W´sród N P problemów omówimy klas ¾e najtrudniejszych z nich, klas ¾e N P- problemów zupe÷nych, które charakteryzuj ¾a si ¾e tym, ·ze ka·zdy inny N P-problem mo·zna do niego "sprowadzi´c".

Na zako´nczenie podam wyja´snienia dotycz ¾ace uk÷adu tekstu. Ka·zdy rozdzia÷ko´nczy si ¾e podsumowaniem. Podane s ¾a w nim krótko i w mniej formalnym stylu wszystkie najwa·zniejsze poj ¾ecia i twierdzenia wyst ¾epuj ¾ace w tek´scie g÷ównym. U÷atwi to czytelnikowi orientacj ¾e, które fakty s ¾a wa·zne i na które powinien po÷zy´c wi ¾ekszy nacisk. W tek´scie zamieszczone s ¾a zadania ilustruj ¾ace wprowadzane poj ¾ecia. Na ogó÷s ¾a one zwi ¾azane z aktualnie omawianym tematem.

Stosujemy nast ¾epuj ¾ace oznaczenie przy de…niowaniu nowych poj ¾e´c: gdy nowe poj ¾ecie de…niowane jest za pomoc ¾a równo´sci, to u·zywamy symbolu ”:=”, z dwukropkiem od strony nowego poj ¾ecia. Koniec dowodu lub pewnego jego fragmentu (gdy dowód jest przerwany by zilustrowa´c dalsz ¾a cz ¾e´s´c przyk÷adem) zaznaczamy kwadratem " ":

(7)

Wiadomo´sci wst ¾epne z matematyki

Teoria automatów i j ¾ezyków formalnych u·zywa wielu poj ¾e´c matematyki. Dla u÷atwienia czytelnikowi ´sledzenia rozumowa´n oraz unikni ¾ecia mo·zliwych ró·znych interpretacji pewnych poj ¾e´c, w rozdziale tym przedstawimy krótko podstawowe de…nicje poj ¾e´c matematycznych, wyst ¾epuj ¾acych w podr ¾eczniku. Podamy równie·z pewne fakty z których b ¾edziemy korzysta´c w dalszym ci ¾agu.

1.1. Rachunek zda´n

W matematyce rozwa·za si ¾e tylko zdania, które s ¾a prawdziwe lub fa÷szywe. Je´sli p jest takim zdaniem, to mówimy, ·ze jego warto´sci ¾a logiczn ¾a jest 1 (oznaczenie w(p) = 1), gdy jest to zdanie prawdziwe i ·ze jego warto´sci ¾a logiczn ¾a jest 0 (oznaczenie w(p) = 0), gdy jest to zdanie fa÷szywe. Na przyk÷ad dla zdania p : "Suma k ¾atów w trójk ¾acie jest równa ", jego warto´sci ¾a logiczn ¾a jest 1; w(p) = 1: Ze zda´n tworzymy nowe zdania za pomoc ¾a spójników logicznych. W matematyce wyró·znia si ¾e 5 podstawowych spójników (cho´c pewne z nich mo·zna wyrazi´c przez inne). S ¾a to:

1. koniunkcja, czyli spójnik "i" - oznaczenie ^;

2. alternatywa, czyli spójnik "lub" - oznaczenie _;

3. implikacja, czyli spójnik "je´sli ..., to...." - oznaczenie );

4. równowa·zno´s´c, czyli spójnik "... wtedy i tylko wtedy, gdy ...." - oznaczenie ,;

5. negacja, czyli spójnik "nieprawda, ·ze ..." - oznaczenie :

W przypadku czterech pierwszych z nich z dwóch zda´n danych tworzymy nowe jedno zdanie, w przypadku za´s pi ¾atego z danego zdania tworzymy nowe jedno zdanie. Tworz ¾ac nowe zdania z÷zone np. zdanie ((p ^ ( (q))) ) (( (r _ p)) ^ q); w celu unikni ¾ecia zapisu wielu nawiasów, przyjmuje si ¾e nast ¾epuj ¾ac ¾a hierarchi ¾e spójników: ; ^; _; ); , : Wówczas powy·zsze zdanie zapiszemy w skrócie p^ q ) (r _ p) ^ q: Przyjmuje si ¾e, ·ze warto´sci logiczne nowych zda´n, utworzonych za pomoc ¾a powy·zszych spójników, wyra·zaj ¾a si ¾e w nast ¾epuj ¾acy sposób w zale·zno´sci od warto´sci logicznych zda´n wyj´sciowych.

p q p ^ q p _ q p ) q p , q p

0 0 0 0 1 1 1

1 0 0 1 0 0 0

0 1 0 1 1 0 1

1 1 1 1 1 1 0

Wówczas korzystaj ¾ac z powy·zszej tabeli mo·zemy ka·zdemu zdaniu z÷zonemu przypisa´c warto´s´c logiczn ¾a. Na przyk÷ad, je´sli w(p) = 1; w(q) = 0; w(r) = 0; to dla powy·zszego zdania zonego p^ q ) (r _ p) ^ q ÷atwo obliczamy, ·ze jego warto´s´c logiczna jest równa 0:

Zdania z÷zone, których warto´s´c logiczna jest zawsze równa 1 (bez wzgl ¾edu na warto´sci log- iczne zda´n wchodz ¾acych w jego sk÷ad) nazywamy tautologiami. Na przyk÷ad tautologiami s ¾a zdania: p_ p; (p ) q) , p _ q:

1.2. Teoria zbiorów

Zbiór liczb naturalnych1; 2; 3; ::: oznaczamy przez N. Zbiór liczb naturalnych wraz z zerem czyli 0; 1; 2; 3; ::: oznaczamy przez N0. Zbiór liczb ca÷kowitych0; 1; 2; 3; ::: oz- naczamy przez Z. Zbiory N, Z rozwa·zamy ze zwyk÷ymi dzia÷aniami dodawania, mno·zenia, dzielenia i nierówno´sciami > i > :

1

(8)

Je´sli X jest dowolnym zbiorem i x jest jego elementem, to mówimy, ·ze x nale·zy doX i fakt ten zapisujemy nast ¾epuj ¾aco: x 2 X: Gdy X i Y s ¾a zbiorami i ka·zdy element zbioru X nale·zy równie·z do Y; to zapisujemy to X Y i mówimy, ·ze X zawiera si ¾e w Y lub ·ze X jest podzbiorem Y: Je´sli X Y i X 6= Y (tzn. zbiór Y oprócz elementów z X ma jeszcze inne elementy), to piszemy wówczas: X Y i mówimy, ·ze zawieranie jest w÷a´sciwe:

Zbiór pustytzn. zbiór nie zawieraj ¾acy ·zadnego elementu oznaczamy przez ;:

Gdy X jest zbiorem sko´nczonym i jego elementami s ¾a x1; x2; :::; xn; to piszemy X = fx1; x2; :::; xng:

Je´sli w zbiorze X okre´slona jest pewna w÷asno´s´c W elementów tego zbioru, któr ¾a pewne elementy tego zbioru maj ¾a a pewne nie, to zbiór tych, które maj ¾a t ¾e w÷asno´s´c oznaczamy nast ¾epuj ¾aco

fx 2 X : W(x)g:

Na przyk÷ad, zbiór liczb naturalnych podzielnych przez ustalon ¾a liczb ¾e k 2 N zapiszemy fn 2 N : istnieje m 2 N taka, ·ze n = mkg:

O dowolnej liczbie n powy·zszego zbioru mówimy, ·ze k dzieli n i zapisujemy to kjn: Wówczas zbiór liczb pierwszychmo·zemy zde…niowa´c

P := fn 2 N : nie istnieje m 2 N taka, ·ze 1 < m < n i mjng:

Podstawow ¾a metod ¾a dowodzenia twierdze´n dotycz ¾acych liczb naturalnych jest zasada indukcji matematycznej.

Je´sli dana jest pewna w÷asno´s´c W liczb naturalnych (precyzyjnie, dany jest podzbiór W zbioru N, interpretowany jako zbiór tych liczb naturalnych, które t ¾e w÷asno´s´c W maj ¾a) i spe÷nione s ¾a dwa warunki:

1. liczba 1 ma w÷asno´s´c W (tzn. 12 W );

2. dla ka·zdego k 2 N z zachodzenia w÷asno´sci W dla liczby k wynika, ·ze w÷asno´s´c W ma równie·z liczba k + 1 (tzn. dla ka·zdego k prawdziwa jest implikacja k 2 W ) (k + 1) 2 W ), to w÷asno´s´c W maj ¾a wszystkie liczby naturalne (tzn. N =W ).

Uwaga 1.1. Zauwa·zmy, ·ze w warunku 2 zasady indukcji, nastr ¾eczaj ¾acym najwi ¾ecej trud- no´sci w zrozumieniu tej zasady, wykazujemy, ·ze dla dowolnego k 2 N prawdziwa jest im- plikacja W(k) ) W(k + 1); a prawdziwo´s´c implikacji nie jest równowa·zna prawdziwo´sci W(k):

Przyk÷ad 1.2. Wyka·zemy za pomoc ¾a zasady indukcji matematycznej, ·ze dla dowolnego n 2 N zachodzi równo´s´c

(1.1) 1 + 2 + + n = n(n + 1)

2 :

1. n = 1: W tym przypadku suma po lewej stronie wzoru redukuje si ¾e do jednego sk÷adnika równego 1: Prawa strona po podstawieniu n = 1 ma równie·z warto´s´c 1: Zatem wzór jest prawdziwy dla n = 1:

2. We´zmy dowoln ¾a liczb ¾e k 2 N. Musimy wykaza´c, ·ze je´sli wzór (1:1) zachodzi dla liczby k, czyli

(1.2) 1 + 2 + + k = k(k + 1)

2 ;

to zachodzi dla liczby (k + 1); czyli

(1.3) 1 + 2 + + k + (k + 1) = (k + 1)(k + 2)

2 :

Istotnie, je´sli prawdziwa jest równo´s´c (1:2); to wtedy

1 + 2 + + k + (k + 1) = (1 + 2 + + k) + (k + 1)

= k(k + 1)

2 + (k + 1) = (k + 1)(k + 2)

2 :

Wykazali´smy, ·ze zachodzi wzór (1:3): Zatem na mocy zasady indukcji matematycznej wzór (1:1) jest prawdziwy dla wszystkich n 2 N.

(9)

Zadanie 1.3. Udowodni´c za pomoc ¾a zasady indukcji:

1. n < 2n dla n 2 N:

2. log n < n dla n 2 N:

3. (1 + 2 + ::: + n)2 = 13+ 23+ ::: + n3 dla n 2 N:

4. Liczba mo·zliwych wyborów k liczb z zadanych n liczb f1; 2; :::; ng jest równa n

k := n!

k!(n k)!:

5. Liczba mo·zliwych rozmieszcze´n k liczb w n komórkach (liczby w komórkach mog ¾a si ¾e powtarza´c) wynosi kn:

6. Wzór dwumianowy Newtona (a + b)n= an+ n

1 an 1b + n

2 an 2b2+ + n

n 1 abn 1+ bn:

Blisko z zasad ¾a indukcji matematycznej zwi ¾azana jest metoda de…niowania przez indukcj ¾e. Polega ona na tym, ·ze do zde…niowania pewnego poj ¾ecia P(n) dla ka·zdej liczby naturalnej n wystarczy:

1. zde…niowa´c to poj ¾ecie dla liczby 1;

2. poda´c zasad ¾e w jaki sposób dla ka·zdego k z poj ¾e´c P(i) dla i 6 k powstaje poj ¾ecie P(k + 1):

Wówczas to poj ¾ecie b ¾edzie okre´slone dla wszystkich liczb naturalnych n 2 N.

Przyk÷ad 1.4. Podamy de…nicj ¾e indukcyjn ¾a funkcji silnia f (n) = n!:

1: f (1) = 1! := 1:

2: dla dowolnego k okre´slamy f (k + 1) := f (k)(k + 1); czyli (k + 1)! := k!(k + 1):

Przyk÷ad 1.5. Okre´slimy nast ¾epuj ¾ace zbiory Pn dla ka·zdego n 2 N za pomoc ¾a de…nicji indukcyjnej:

1. P1 = f1; 4; 5g;

2. Pk+1= fzbiór sum par liczb z Pkg = fa + b : a; b 2 Pkg:

Na przyk÷ad P2= f1 + 1; 1 + 4; 1 + 5; 4 + 4; 4 + 5; 5 + 5g = f2; 5; 6; 8; 9; 10g: Okre´slili´smy indukcyjnie zbiory Pn dla n 2 N. Nie jest ÷atwo poda´c elementy np. zbioru P100; jednak zbiory Pn s ¾a okre´slone i to jednoznacznie dla ka·zdego n 2 N.

Zadanie 1.6. Poda´c najmniejszy i najwi ¾ekszy element zbioru P100:

Przypomnimy teraz podstawowe operacje teorio-mnogo´sciowe na zbiorach. Dla dowol- nych dwóch zbiorów X; Y okre´slamy ich:

1. sum ¾e

X [ Y := fx : x 2 X lub x 2 Y g;

2. iloczyn lub inaczej cz ¾e´s´c wspóln ¾a

X \ Y := fx : x 2 X i x 2 Y g;

3. ró·znic ¾eX i Y

X n Y := fx : x 2 X i x =2 Y g:

(10)

4. gdy X Y , to dope÷nieniemX w Y nazywamy ró·znic ¾e Y n X

W przypadku, gdy zbiór (przestrze´n) Y jest ustalony, to dope÷nienie X w Y oznaczamy krótko przez X0:

Jedn ¾a z wa·zniejszych w÷asno´sci poznanych operacji (oprócz oczywistych w rodzaju przemi- enno´sci sumy, iloczynu itp.) s ¾a prawa de Morgana dla zbiorów. Mianowicie, je´sli jest ustalon ¾a przestrzeni ¾a (zbiorem), to dla dowolnych dwóch podzbiorów X; Y zachodz ¾a równo´sci

(X [ Y )0= X0\ Y0;

(X \ Y )0= X0[ Y0:

Inaczej mówi ¾ac, dope÷nienie sumy zbiorów jest równe iloczynowi dope÷nie´n i podobnie dope÷nie- nie iloczynu zbiorów jest równe sumie dope÷nie´n.

Zadanie 1.7. Udowodni´c, ze dla dowolnych zbiorów X; Y; Z zachodz ¾a równo´sci:

1. X \ (Y [ Z) = (X \ Y ) [ (X \ Z);

2. X [ (Y \ Z) = (X [ Y ) \ (X [ Z):

Zadanie 1.8. Udowodni´c, ze dla dowolnych zbiorów X; Y zachodz ¾a równo´sci:

1. (X0)0= X;

2. X n Y = X \ Y0:

Zadanie 1.9. Udowodni´c prawa de Morgana.

Dla dowolnego zbioru X przezP(X) oznaczamy zbiór wszystkich jego podzbiorów.

Na przyk÷ad, je´sli zbiór X ma trzy elementy np. X = fx; y; zg; to

P(X) = f;; fxg; fyg; fzg; fx; yg; fy; zg; fx; zg; fx; y; zgg:

(11)

Zauwa·zmy, ·ze wtedy P(X) ma 23 = 8 elementów. Jest tak ogólnie, gdy·z je´sli zbiór X ma n elementów, to zbiórP(X) ma 2n elementów.

Zadanie 1.10. Udowodni´c za pomoc ¾a indukcji matematycznej ostatnie stwierdzenie.

Wa·zn ¾a operacj ¾a na zbiorach jest iloczyn kartezja´nski. Dla dowolnych zbiorów X; Y przez X Y oznaczamy zbiór wszystkich par (x; y); gdzie pierwszy element pary x nale·zy do X;

a drugi element y do Y; i nazywamy iloczynem kartezja´nskimX i Y . Zatem X Y := f(x; y) : x 2 X i y 2 Y g:

Zauwa·zmy, ·ze ; X = X ; = ;:

Podobnie dla trzech zbiorów X; Y; Z przez X Y Z oznaczamy zbiór wszystkich trójek (x; y; z); gdzie x 2 X; y 2 Y; z 2 Z i tak dalej dla dowolnej sko´nczonej rodziny zbiorów.

W przypadku, gdy rozwa·zamy iloczyn kartezja´nski tego samego zbioru X; to iloczyn ten oznaczamy krótko przez X2 = X X i ogólnie Xn= X X ::: X

| {z }

n-razy

: Elementy zbioru Xn nazywamy n-tkami z X:

Podstawowym poj ¾eciem zwi ¾azanym z iloczynem kartezja´nskim jest relacja. Dla dowol- nych dwóch zbiorów X; Y relacj ¾a mi ¾edzy elementamiX i Y (krótko relacj ¾a) nazywamy dowolny podzbiór R X Y: Zatem relacj ¾a jest ka·zdy wyró·zniony zbiór par (x; y); gdzie x 2 X; y 2 Y:

Przyk÷ad 1.11. Niech X = f1; 2; 3g; Y = f4; 5; 6g: Okre´slimy relacj ¾e R X Y (czyli wyró·znimy pewne pary (x; y); gdzie x 2 X; y 2 Y ) nast ¾epuj ¾aco

R := f(x; y) 2 X Y : x y dzieli si ¾e przez 2 (w Z)g:

Zatem R jest zbiorem nast ¾epuj ¾acych par

R = f(1; 5); (2; 4); (2; 6); (3; 5)g X Y:

Nie nale·z ¾a do R pary (1; 4); (1; 6); (2; 5); (3; 4); (3; 6).

W matematyce wyró·znia si ¾e pewne klasy relacji, spe÷niaj ¾ace dodatkowe warunki. Jedn ¾a z nich jest relacja równowa·zno´sci. Relacj ¾e R X X (zauwa·zmy, ·ze jest to relacja mi ¾edzy ele- mentami tego samego zbioru) nazywamy relacj ¾a równowa·zno´sci, gdy spe÷nia ona warunki:

1. (x; x) 2 R dla ka·zdego x 2 X (tzn. ka·zdy element z X jest w relacji z samym sob ¾a) - zwrotno´s´c relacji,

2. je´sli (x; y) 2 R; to (y; x) 2 R (tzn. je´sli x jest w relacji z y; to równie·z y jest w relacji z x) - symetria relacji,

3. je´sli (x; y) 2 R i (y; z) 2 R to (x; z) 2 R (tzn. je´sli x jest w relacji z y i y jest w relacji z z; to równie·z x jest w relacji z z) - przechodnio´s´c relacji.

Przyk÷ad 1.12. 1. Relacja z przyk÷adu 1.11 nie jest relacj ¾a równowa·zno´sci, bo nie jest okre´slona w tym samym zbiorze.

2. Je´sli okre´slimy relacj ¾e R N N tym samym wzorem co w przyk÷adzie 1.11 tzn.

R := f(x; y) 2 N N : x y dzieli si ¾e przez 2 (w Z)g;

to jest ona relacj ¾a równowa·zno´sci, bo:

1. pary (n; n) 2 R; bo n n = 0 dzieli si ¾e przez 2;

2. je´sli (m; n) 2 R; tzn. m n dzieli si ¾e przez 2; to równie·z n m = (m n) dzieli si ¾e przez 2; a zatem (m; n) 2 R;

3. je´sli (m; n) 2 R i (n; k) 2 R; tzn. m n i n k dziel ¾a si ¾e przez 2; to równie·z m k = (m n) + (n k) dzieli si ¾e przez 2; a zatem (m; k) 2 R; :

Relacja równowa·zno´sci R w zbiorze X dzieli ten zbiór na roz÷¾aczne i niepuste podzbiory.

Podzia÷ten otrzymujemy w nast ¾epuj ¾acy sposób. Je´sli x 2 X; to zbiór wszystkich elementów y z X b ¾ed ¾acych w relacji z x tzn. zbiór fy 2 X : (x; y) 2 Rg jest pewnym niepustym podzbiorem X; który oznaczamy przez Ax(zauwa·zmy, ·ze x 2 Ax). Tak otrzymane podzbiory X daj ¾a oczywi´scie w sumie ca÷e X i spe÷niaj ¾a warunek: dla dowolnych x; y 2 X albo Ax = Ay

(12)

(gdy x i y s ¾a w relacji), albo Ax\ Ay = ; (gdy x i y nie s ¾a w relacji). To daje nam rozk÷ad zbioru X na roz÷¾aczne, niepuste i daj ¾ace w sumie X podzbiory zwane klasami abstrakcji relacji R.

Przyk÷ad 1.13. Relacja z Przyk÷adu 1.12, pkt 2 dzieli nam zbiór N na dwie klasy ab- strakcji

A1 = f1; 3; 5; ::g = fliczby nieparzysteg;

A2 = f2; 4; 6; ::g = fliczby parzysteg:

Oczywi´scie A1 = A3= A5= ::: i A2 = A4= A6= :::

Zadanie 1.14. Wykaza´c, ·ze nast ¾epuj ¾ace relacje w N, N N i Z (Z n f0g) s ¾a relacjami równowa·zno´sci:

1. R = f(n; m) 2 N N : n m dzieli si ¾e przez ustalon ¾a liczb ¾e k 2 Ng;

2. R = f((n; m); (k; l)) 2 (N N) (N N) : n + l = k + mg;

3. R = f((n; m); (k; l)) 2 (Z Znf0g) (Z Znf0g) : n l = k mg:

Inn ¾a wa·zn ¾a klas ¾a relacji s ¾a funkcje. Jak wiadomo, funkcj ¾a f : X ! Y ze zbioru X (dziedzina funkcji f ) w zbiór Y (przeciwdziedzina lub zbiór warto´sci f ) nazywamy

”przyporz ¾adkowanie”, które ka·zdemu x 2 X przypisuje jedno y 2 Y oznaczane przez f(x):

Zatem funkcja to po prostu zbiór par (x; f (x)) 2 X Y; czyli pewna relacja Rf w X Y: Z tej intuicyjnej de…nicji funkcji wynika, ·ze relacja ta spe÷nia nast ¾epuj ¾ace warunki:

1. dla ka·zdego x 2 X istnieje y 2 Y; ·ze (x; y) 2 Rf (odpowiada to warunkowi, ·ze funkcja f jest okre´slona dla ka·zdego x 2 X);

2. dla ka·zdego x 2 X istnieje tylko jedno y 2 Y; ·ze (x; y) 2 Rf (odpowiada to warunkowi, ze danemu x 2 X przypisany jest tylko jeden element ze zbioru Y ):·

Zatem precyzyjnie okre´sla si ¾e funkcj ¾e ze zbioruX w zbiór Y jako dowoln ¾a relacj ¾e R X Y; spe÷niaj ¾ac ¾a powy·zsze dwa warunki. Oczywi´scie b ¾edziemy dalej stosowa´c tradycyjny zapis dotycz ¾acy funkcji.

Przyk÷ad 1.15. Dla funkcji f : N ! Z okre´slonej wzorem f(n) = 2n zbiorem par relacji Rf odpowiadaj ¾acej tej funkcji jest

Rf = f(n; 2n) : n 2 Ng = f(1; 2); (2; 4); :::g N Z (bo f (1) = 2; f (2) = 4; : : :).

Zadanie 1.16. Która z relacji jest funkcj ¾a:

1. R = f(x2; x) : x 2 Ng N N;

2. R = f(x; x2) : x 2 Ng N N:

Uwaga 1.17. W wielu miejscach podr ¾ecznika b ¾edziemy rozwa·za´c funkcje f : X ! P(Y ) ze zbioru X w zbiór wszystkich podzbiorów zbioru Y; czyli funkcje które ka·zdemu elementowi x 2 X przypisuj ¾a pewien podzbiór A Y: Nie ma tutaj sprzeczno´sci z poj ¾eciem funkcji (z warunkiem, ·ze ka·zdemu elementowi x 2 X przypisujemy tylko jeden element przeci- wdziedziny), gdy·z w tym przypadku zbiorem warto´sci nie jest Y; lecz zbiór jego podzbiorów P(Y ).

Ci ¾agiem niesko´nczonymo warto´sciach w zbiorze niepustym X nazywamy ka·zd ¾a funkcj ¾e f : N !X: Ci ¾agiem sko´nczonym o warto´sciach w zbiorze niepustym X nazywamy ka·zd ¾a funkcj ¾e f : Jn!X; gdzie Jn:= f1; 2; : : : ; ng: Wówczas f nazywamy ci ¾agiem n-elementowym.

Przyjmuj ¾ac ak:= f (k) dla k 2 N lub k 2 Jn ci ¾ag f oznaczamy:

(ak)k2N lub (ak) w przypadku ci ¾agu niesko´nczonego, (ak)nk=1 lub (a1; : : : ; an) w przypadku ci ¾agu sko´nczonego.

Zauwa·zmy, ·ze ci ¾agi sko´nczone (a1; : : : ; an) o warto´sciach w X mo·zemy uto·zsamia´c z elementami iloczynu kartezja´nskiego Xn= X X; czyli z n-tkami z X:

Uwaga 1.18. Nale·zy odró·znia´c ci ¾ag sko´nczony od zbioru sko´nczonego. Uk÷ad (a1; : : : ; an) to ci ¾ag sko´nczony, a fa1; : : : ; ang to zbiór sko´nczony z÷o·zony z elementów a1; : : : ; an: Na

(13)

przyk÷ad, (1; 1; 2) to ci ¾ag trójelementowy, gdy tymczasem f1; 1; 2g = f1; 2g = f2; 1g jest zbiorem dwuelementowym.

Zadanie 1.19. 1. Ile jest ci ¾agów 3-elementowych o warto´sciach w zbiorze 2 elemen- towym.

2. Ile jest ci ¾agów n-elementowych o warto´sciach w zbiorze k elementowym (zob. Zadanie .1.3, pkt 5).

3. Ile jest podzbiorów n-elementowych o warto´sciach w zbiorze k elementowym (zob.

Zadanie .1.3, pkt 4).

1.3. Grafy

Poj ¾ecie grafu w rozwa·zanej teorii jest bardzo ogólne. Jest to uk÷ad z÷zony ze sko´nczonego zbioru Q; którego elementy nazywamy wierzcho÷ków, wyró·znionego zbioru par (uporz ¾ad- kowanych) tych wierzcho÷ków zwanych kraw¾edziami oraz dodatkowo kraw¾edzie s ¾a oznaczone tzn. przypisane s ¾a im elementy pewnego sko´nczonego zbioru (oznaczenia te zwane s ¾a równie·z etykietami). Zatem precyzyjnie grafem o zbiorze wierzcho÷ków Q i zbiorze oznacze´n kraw¾edzi nazywamy dowoln ¾a par ¾e (Q; G); gdzie Q jest zbiorem sko´nczonym i G Q Q : Nie wykluczamy to przypadku = ;; tzn. grafu bez oznacze´n kraw¾edzi. Wtedy rozumiemy, ze G· Q Q:

Je´sli (s; t; a) 2 G tzn. (s; t; a) jest kraw¾edzi ¾a o etykiecie a, to rysujemy to nast ¾epuj ¾aco

Gdy (s; t; a); (s; t; b) 2 G; tzn. mamy dwie kraw¾edzie o tych samych wierzcho÷kach, to dla oszcz ¾edno´sci rysujemy to nast ¾epuj ¾aco

Zauwa·zmy, ·ze w my´sl naszej de…nicji mo·zliwe s ¾a kraw¾edzie ÷¾acz ¾ace ten sam wierzcho÷ek tzn. mog ¾a istnie´c kraw¾edzie (s; s; a) 2 G

Drog ¾a w gra…e G nazywamy ka·zdy ci ¾ag wierzcho÷ków (s1; s2; :::; sn); n > 2; takich, ze ka·· zde dwa s ¾asiednie wierzcho÷ki w tym ci ¾agu stanowi ¾a kraw¾ed´z grafu G tzn. (s1; s2; a1);

(s2; s3; a2); :::; (sn 1; sn; an 1) 2 G dla pewnych a1; a2; :::; an 12 :

Drog ¾e (s1; s2; :::; sn) w gra…e G nazywamy cyklem, gdy s1 = sn:

Graf G nazywamy drzewem, gdy 1. w G nie istniej ¾a cykle,

(14)

2. w G wyró·zniony jest jeden wierzcho÷ek s0 (zwany korzeniem G) taki, ·ze dla ka·zdego innego wierzcho÷ka s grafu G istnieje dok÷adnie jedna droga od s0 do s:

(15)

J ¾ezyki regularne

W rozdziale tym poznamy najprostsz ¾a klas ¾e j ¾ezyków formalnych - j ¾ezyki regularne. S ¾a one generowane przez wyra·zenia regularne. Klasa tych j ¾ezyków b ¾edzie akceptowana przez najprostsze modele komputerów tzw. automaty sko´nczone, które poznamy w Rozdziale 3.

2.1. Alfabety i j ¾ezyki formalne

Alfabetem nazywamy dowolny sko´nczony zbiór (mo·ze to by´c równie·z zbiór pusty ;).

B ¾edziemy oznaczali go zwykle przez (du·za litera grecka sigma): Elementy alfabetu nazywamy symbolami.

Przyk÷ad 2.1. Poniewa·z alfabet zde…niowali´smy bardzo ogólnie, jako dowolny sko´nczony zbiór, wi ¾ec przyk÷adami alfabetów mog ¾a by´c nast ¾epuj ¾ace zbiory: = f0; 1g; = fxg; = fa; bg; = f0; 1; :::; 9g; = flitery alfabetu ÷aci´nskiegog = fa; b; c; :::; zg; = ftrue, falseg:

W tym ostatnim przyk÷adzie zbiór jest dwuelementowy, a wi ¾ec alfabet ten zawiera dwa symbole. Nie s ¾a alfabetami: zbiór liczb naturalnych N =f1; 2; 3; : : :g; zbiór liczb ca÷kowitych Z =f0; 1; 2; 3; : : :g; bo nie s ¾a zbiorami sko´nczonymi.

Niech b ¾edzie dowolnym alfabetem. S÷owem utworzonym z alfabetu (lub krótko owem z ) nazywamy dowolny, sko´nczony ci ¾ag z lub inaczej dowoln ¾a n-tk¾e, n > 1 z alfabetu ; czyli dowolny element iloczynu kartezja´nskiego n = | :::{z }

n-razy

; gdzie n jest dowoln ¾a liczb ¾a naturaln ¾a. Zatem, je´sli a1; a2; :::; an 2 ; to s÷owem z alfabetu jest (a1; a2; :::; an): Dodatkowo okre´slamy s÷owo puste jako ci ¾ag 0 symboli z alfabetu : S÷owo puste b ¾edziemy oznacza´c symbolem (lambda): Oczywi´scie w dalszym ci ¾agu b ¾edziemy za- ada´c, ·ze symbol nie nale·zy do ·zadnego z alfabetów, które b ¾edziemy rozwa·za´c.

Uwaga 2.2. Ze wzgl ¾edu na trudno´s´c w precyzyjnym zrozumieniu poj ¾ecia s÷owa pustego podajemy jego ´scis÷¾a de…nicj ¾e w j ¾ezyku teorii zbiorów. Mianowicie, zauwa·zmy, ·ze ka·zda n- tka z dla n > 1 mo·ze by´c zde…niowana jako funkcja f : Jn ! ; gdzie Jn := f1; :::; ng:

Wówczas w tym uj ¾eciu s÷owo puste jest jedyn ¾a funkcj ¾a odwzorowuj ¾ac ¾a zbiór pusty ; w tzn.

: ; ! :

Je´sli (a1; a2; :::; an) 2 n jest s÷owem z tzn. a1; a2; :::; an 2 ; to w rozwa·zanej teorii oznaczamy je nast ¾epuj ¾aco a1a2:::an (powód przyj ¾ecia takiego oznaczenia poznamy za chwil ¾e, gdy zde…niujemy poj ¾ecie z÷zenia s÷ów). Ponadto dla skrócenia zapisów przyjmujemy umow¾e, ze je´sli jaki´s symbol wyst ¾· epuje w danym s÷owie wielokrotnie obok siebie to stosujemy zapis pot ¾egowy. Na przyk÷ad a2 to aa; x5= xxxxx itp.

Przyk÷ad 2.3. 1. Niech = fa; bg: Wówczas s÷owami z tego alfabetu s ¾a: aabaaa = a2ba3; a; ; bbbb = b4; a0 = .

2. Niech = flitery alfabetu ÷aci´nskiegog: Wówczas s÷owami z tego alfabetu s ¾a: abbbb;

ala; student:

3. Niech = fa; b; +; ; (; )g: Wówczas s÷owami z tego alfabetu s ¾a: (a + b) b2; a b; ((+));

(2+)3 = ((+))):

Poniewa·z b ¾edziemy zajmowa´c si ¾e formalnymi w÷asno´sciami s÷ów i zbiorów s÷ów, wi ¾ec na ogó÷b ¾edziemy stosowa´c nast ¾epuj ¾ace oznaczenia:

1. symbole rozwa·zanego alfabetu b ¾edziemy oznacza´c pocz ¾atkowymi ma÷ymi literami alfabetu ÷aci´nskiego tzn. a; b; c; :::, ewentualnie z indeksami a1; a2; :::.

9

(16)

2. s÷owa z rozwa·zanego alfabetu b ¾edziemy oznacza´c pocz ¾atkowymi du·zymi literami alfabetu ÷aci´nskiego tzn. A; B; C; :::, ewentualnie z indeksami A1; A2; :::.

Je´sli jest alfabetem, to domkni ¾eciem nazywamy zbiór wszystkich s÷ów utworzonych z alfabetu i oznaczamy : Zauwa·zmy, ·ze zgodnie z nasza de…nicj ¾a s÷owo puste jest s÷owem utworzonym z alfabetu ; a wi ¾ec zawsze 2 :

Przyk÷ad 2.4. 1. Niech = fag: Wówczas = f ; a; aa; aaa; :::g = f ; a; a2; a3; :::g = fan: n 2 N0 = N [ f0gg:

2. Niech = ;: Wówczas = ; = f g:

3. Niech = fa; bg: Wówczas = f ; a; b; aa; ab; bb; ba; ::::g:

Je´sli A 2 jest s÷owem z ró·znym od s÷owa pustego i A = a1a2:::an, gdzie a1; a2; :::; an2 , to n nazywamy d÷ugo´sci ¾a s÷owa A i oznaczamy jAj tzn. jAj = n: Dodatkowo przyjmu- jemy j j = 0:

Przyk÷ad 2.5. 1. Niech = fa; bg: Wówczas jaabbj = 4; a2b3 = 5; j j = 0:

2. Niech = f0; 1g: Wówczas j000j = 3; j1j = 1:

Zadanie 2.6. Ile s÷ów mo·zna utworzy´c z alfabetu ÷aci´nskiego (24 symbole) o d÷ugo´sci 0, o d÷ugo´sci 1, o d÷ugo´sci 2, o d÷ugo´sci 100?

Zadanie 2.7. Niech = fa; bg; 1 = fag; 2 = fbg: Opisa´c s÷owa nale·z ¾ace do n ( 1[ 2):

J ¾ezykiem formalnym (lub krótko j ¾ezykiem)nazywamy dowolny zbiór s÷ów z dowol- nego alfabetu : Poniewa·z przez oznaczyli´smy zbiór wszystkich s÷ów z ; wi ¾ec inaczej mówi ¾ac j ¾ezykiem formalnym nazywamy dowolny podzbiór ; tzn. dowolny zbiór s÷ów L taki, ·ze

L :

W dalszym ci ¾agu j ¾ezyki b ¾edziemy oznacza´c liter ¾a L (od angielskiego s÷owa ”language”), ewentualnie z indeksami np. L1; L2; :::.

Z powy·zszej de…nicji wynika, ·ze je´sli dany jest jaki´s alfabet ; to wyró·znienie w jakikol- wiek sposób pewnych s÷ów utworzonych z tego alfabetu jest ju·z okre´sleniem pewnego j ¾ezyka.

Nie narzucamy tutaj ·zadnych warunków na zbiór s÷ów tworz ¾acych dany j ¾ezyk. W szczegól- no´sci nie zak÷adamy, czy ma to by´c zbiór sko´nczony, niesko´nczony, niepusty itp.

Przyk÷ad 2.8. 1. Niech = f0; 1; :::; 9g: Wówczas przyk÷adami j ¾ezyków z s ¾a:

(i) L = fdowolne s÷owo nie zaczynaj ¾ace si ¾e od symbolu 0g = f1; 2; :::; 10; 11; :::g : Zauwa·zmy, ·ze s÷owa 0; 011; 001 =2 L: J ¾ezyk L mo·ze by´c uto·zsamiony ze zbiorem liczb naturalnych N;

(ii) L = ; ; (iii) L = f g :

2. Niech = flitery alfabetu polskiegog = fa; ¾a; b; c; c; :::; _z; zg: Wówczas przyk÷adami j ¾ezyków z s ¾a:

(i) L = fzbiór s÷ów w danym s÷owniku j ¾ezyka polskiegog ; (ii) L = fkot; piesg - j ¾ezyk sk÷adaj ¾acy si ¾e tylko z dwóch s÷ów.

3. Niech = fa; bg: Wówczas przyk÷adami j ¾ezyków z s ¾a:

(i) L = fanbn: n 2 Ng = fab; aabb; aaabbb; :::g ;

(ii) L = fpalindromyg = fs÷owa z ; które czytane zarówno od lewej jak i od prawej strony s ¾a takie sameg = f ; a; b; aa; bb; aba; aaa; ::::g = fa1a2:::an 2 : a1a2:::an = anan 1:::a1g: J ¾ezyk ten ma nazw ¾e w÷asn ¾a: PALINDROMY.

(iii) L = fparzyste palindromyg = fA 2PALINDROMY: jAj jest liczb ¾a parzyst ¾ag=f ; aa; bb; aaaa; :::g.

J ¾ezyk ten ma równie·z nazw ¾e w÷asn ¾a: PPALINDROMY.

(iv) L = fnieparzyste palindromyg = fA 2PALINDROMY: jAj jest liczb ¾a nieparzyst ¾ag=fa; b; aaa; :::g.

J ¾ezyk ten ma równie·z nazw ¾e w÷asn ¾a: NPALINDROMY.

Zadanie 2.9. Udowodni´c, ·ze ilo´s´c s÷ów w j ¾ezyku PALINDROMY o d÷ugo´sci 2n jest taka sama jak ilo´s´c s÷ów o d÷ugo´sci 2n 1 dla dowolnego n 2 N.

Cytaty

Powiązane dokumenty

- transport posiłków w atestowanych termosach gwarantujących utrzymanie odpowiedniej temperatury oraz jakości przewożonych potraw. Wykonawca zobowiązany jest do

Julita Wiewiórka oraz Mateusz Przeździecki e-mail: zamowienia@sybir.bialystok.pl. Wykonawca jest związany ofertą od dnia upływu terminu składania ofert przez okres 30 dni tj. W

5) który naruszył obowiązki dotyczące płatności podatków, opłat lub składek na ubezpieczenia społeczne lub zdrowotne, co zamawiający jest w stanie wykazać za pomocą stosownych

5) imienny wykaz osób, które będą wykonywać przedmiot zamówienia, o których mowa w Rozdziale VI ust. 2) wraz z informacjami na temat kwalifikacji zawodowych niezbędnych

3) Wykonawcach, którzy zostali wykluczeni z postępowania o udzielenie zamówienia, podając uzasadnienie faktyczne i prawne.. Umowa może zostać zawarta po upływie

St., musimy zgóry zaznaczyć, że nie wchodzimy w roztrząsanie zasad gospodarki oraz zw racam y uwagę, że część spraw ozdaw ­ cza musi być bardzo niekom pletna

Zamawiający nie zastrzega do osobistego wykonania żadnej części zamówienia. Wykonawca może powierzyć wykonanie części zamówienia podwykonawcy, pod warunkiem

wspólnie, Zamawiający zażąda przed zawarciem umowy w sprawie zamówienia publicznego, umowy regulującej współpracę tych Wykonawców. Zamawiający zawiera umowę w sprawie