Top Banner
312
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: AKrylovas_DiskrMatem_20080316
Page 2: AKrylovas_DiskrMatem_20080316

ii

DISKREČIOJI MATEMATIKA

Aleksandras Krylovas

Vilniaus Gedimino technikos universitetas

negalutinis variantas

2008 03 16

Vilnius, 2008

Page 3: AKrylovas_DiskrMatem_20080316

Turinys

Pratarmė . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ixŽymenys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

1 Logika 11.1. Propozicinės formulės . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1. Įvadas . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.2. Formulės apibrėžimas . . . . . . . . . . . . . . . . . . 21.1.3. Formulės gylis . . . . . . . . . . . . . . . . . . . . . . 41.1.4. Rekursinis formulės apibrėžimas . . . . . . . . . . . . 51.1.5. Prefiksinis ir postfiksinis formulės pavidalas . . . . . . 7

1.2. Teiginių algebra . . . . . . . . . . . . . . . . . . . . . . . . . . 101.2.1. Teiginio sąvoka . . . . . . . . . . . . . . . . . . . . . . 101.2.2. Loginės operacijos . . . . . . . . . . . . . . . . . . . . 101.2.3. Teiginių algebros formulės . . . . . . . . . . . . . . . . 14

1.3. Logikos formulių semantika . . . . . . . . . . . . . . . . . . . 161.3.1. Tautologijos . . . . . . . . . . . . . . . . . . . . . . . . 161.3.2. Teisingumo lentelės . . . . . . . . . . . . . . . . . . . . 181.3.3. Logikos dėsniai . . . . . . . . . . . . . . . . . . . . . . 191.3.4. Konjunkcijos ir disjunkcijos savybės . . . . . . . . . . 201.3.5. Implikacijos savybės . . . . . . . . . . . . . . . . . . . 201.3.6. Tautologijų nustatymo taisyklės . . . . . . . . . . . . . 211.3.7. Loginis išvedamumas . . . . . . . . . . . . . . . . . . . 22

1.4. Formalizuotas teiginių skaičiavimas . . . . . . . . . . . . . . . 251.4.1. Teisingų samprotavimų taisyklės . . . . . . . . . . . . 251.4.2. Aksiominis metodas . . . . . . . . . . . . . . . . . . . 261.4.3. Formaliosios teorijos savybės . . . . . . . . . . . . . . 29

1.5. Predikatų logika . . . . . . . . . . . . . . . . . . . . . . . . . 311.5.1. Kvantoriai ir predikatai . . . . . . . . . . . . . . . . . 311.5.2. Operacijos su predikatais . . . . . . . . . . . . . . . . 321.5.3. Termai ir formulės . . . . . . . . . . . . . . . . . . . . 35

iii

Page 4: AKrylovas_DiskrMatem_20080316

iv TURINYS

1.5.4. Suvaržytieji ir laisvieji kintamieji . . . . . . . . . . . . 361.5.5. Predikatų skaičiavimo dėsniai . . . . . . . . . . . . . . 371.5.6. Aksiominės teorijos sąvoka . . . . . . . . . . . . . . . 401.5.7. Formalioji aritmetika . . . . . . . . . . . . . . . . . . . 421.5.8. Matematinės indukcijos principas . . . . . . . . . . . . 431.5.9. Giodelio nepilnumo teoremos . . . . . . . . . . . . . . 45

Klausimai ir užduotys . . . . . . . . . . . . . . . . . . . . . . . . . 45Pastabos ir komentarai . . . . . . . . . . . . . . . . . . . . . . . . . 47

2 Bulio funkcijos 492.1. Bendrosios sąvokos . . . . . . . . . . . . . . . . . . . . . . . . 49

2.1.1. Bulio funkcijos apibrėžimas . . . . . . . . . . . . . . . 492.1.2. Vieno kintamojo Bulio funkcijos . . . . . . . . . . . . 502.1.3. Dviejų kintamųjų Bulio funkcijos . . . . . . . . . . . . 512.1.4. Funkcijų reiškimas formulėmis . . . . . . . . . . . . . 52

2.2. Dualumo principas . . . . . . . . . . . . . . . . . . . . . . . . 542.2.1. Dualioji funkcija . . . . . . . . . . . . . . . . . . . . . 542.2.2. Dualumo principas . . . . . . . . . . . . . . . . . . . . 54

2.3. Normaliosios formos . . . . . . . . . . . . . . . . . . . . . . . 592.3.1. Disjunkcinės ir konjunkcinės formos . . . . . . . . . . 592.3.2. Tobuloji disjunkcinė normalioji forma . . . . . . . . . 602.3.3. Tobuloji konjunkcinė normalioji forma . . . . . . . . . 622.3.4. Loginės schemos . . . . . . . . . . . . . . . . . . . . . 632.3.5. Karno diagramos . . . . . . . . . . . . . . . . . . . . . 64

2.4. Pilnosios funkcijų sistemos . . . . . . . . . . . . . . . . . . . . 692.4.1. Pilnųjų sistemų pavyzdžiai . . . . . . . . . . . . . . . 692.4.2. Uždarosios funkcijų klasės . . . . . . . . . . . . . . . . 702.4.3. Svarbiausios Bulio funkcijų uždarosios klasės . . . . . 702.4.4. Sistemos pilnumo būtinos ir pakankamos sąlygos . . . 79

Klausimai ir užduotys . . . . . . . . . . . . . . . . . . . . . . . . . 85Pastabos ir komentarai . . . . . . . . . . . . . . . . . . . . . . . . . 86

3 Aibės 873.1. Aibės ir poaibiai . . . . . . . . . . . . . . . . . . . . . . . . . 87

3.1.1. Aibės sąvoka . . . . . . . . . . . . . . . . . . . . . . . 873.1.2. Aibės poaibiai . . . . . . . . . . . . . . . . . . . . . . 89

3.2. Veiksmai su aibėmis . . . . . . . . . . . . . . . . . . . . . . . 933.2.1. Operacijų su aibėmis apibrėžimai . . . . . . . . . . . . 933.2.2. Veiksmų su aibėmis reiškimas predikatais . . . . . . . 943.2.3. Operacijų su aibėmis savybės . . . . . . . . . . . . . . 96

Page 5: AKrylovas_DiskrMatem_20080316

TURINYS v

3.2.4. Aibių Dekarto sandauga . . . . . . . . . . . . . . . . . 973.3. Aibės galia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

3.3.1. Ekvivalenčiosios aibės . . . . . . . . . . . . . . . . . . 983.3.2. Skaičiosios aibės . . . . . . . . . . . . . . . . . . . . . 1013.3.3. Kontinuumo galios aibės . . . . . . . . . . . . . . . . . 104

Klausimai ir užduotys . . . . . . . . . . . . . . . . . . . . . . . . . 107Pastabos ir komentarai . . . . . . . . . . . . . . . . . . . . . . . . . 108

4 Sąryšiai 1094.1. Pagrindiniai apibrėžimai . . . . . . . . . . . . . . . . . . . . . 109

4.1.1. Sąryšių pavyzdžiai . . . . . . . . . . . . . . . . . . . . 1094.1.2. Binariųjų sąryšių savybės . . . . . . . . . . . . . . . . 1154.1.3. Veiksmai su sąryšiais . . . . . . . . . . . . . . . . . . . 1214.1.4. Sąryšių sąjunga ir sankirta . . . . . . . . . . . . . . . 1214.1.5. Sąryšių kompozicija . . . . . . . . . . . . . . . . . . . 1214.1.6. Sąryšio tranzityvumas . . . . . . . . . . . . . . . . . . 125

4.2. Ekvivalentumo sąryšiai . . . . . . . . . . . . . . . . . . . . . . 1304.2.1. Apibrėžimai ir pavyzdžiai . . . . . . . . . . . . . . . . 1304.2.2. Ekvivalentumo klasės . . . . . . . . . . . . . . . . . . 131

4.3. Tvarkos sąryšiai . . . . . . . . . . . . . . . . . . . . . . . . . . 1324.3.1. Apibrėžimai ir pavyzdžiai . . . . . . . . . . . . . . . . 1324.3.2. Sutvarkytosios aibės . . . . . . . . . . . . . . . . . . . 133

4.4. Funkcijos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1354.4.1. Injekcija. Siurjekcija. Bijekcija . . . . . . . . . . . . . 1354.4.2. Perstatos . . . . . . . . . . . . . . . . . . . . . . . . . 137

4.5. Asimptotiniai sąryšiai . . . . . . . . . . . . . . . . . . . . . . 1384.5.1. Skaičių sekos . . . . . . . . . . . . . . . . . . . . . . . 1384.5.2. Sąryšis O didžioji . . . . . . . . . . . . . . . . . . . . . 1404.5.3. Asimpotinio ekvivalentumo sąryšis ≍ . . . . . . . . . . 1434.5.4. Sąryšis o mažoji . . . . . . . . . . . . . . . . . . . . . 1444.5.5. Asimptotinės aproksimacijos . . . . . . . . . . . . . . 147

Klausimai ir užduotys . . . . . . . . . . . . . . . . . . . . . . . . . 149Pastabos ir komentarai . . . . . . . . . . . . . . . . . . . . . . . . . 151

5 Kombinatorika 1535.1. Baigtinių aibių elementų kombinacijos . . . . . . . . . . . . . 153

5.1.1. Baigtinių aibių poaibiai . . . . . . . . . . . . . . . . . 1535.1.2. Perstatos ir lotyniškieji kvadratai . . . . . . . . . . . . 155

5.2. Permanentas . . . . . . . . . . . . . . . . . . . . . . . . . . . 1605.2.1. Permanento apibrėžimas . . . . . . . . . . . . . . . . . 160

Page 6: AKrylovas_DiskrMatem_20080316

vi TURINYS

5.2.2. Permanento savybės . . . . . . . . . . . . . . . . . . . 1625.2.3. Inversijų skaičius . . . . . . . . . . . . . . . . . . . . . 163

5.3. Aibių skaidinai . . . . . . . . . . . . . . . . . . . . . . . . . . 1655.3.1. Aibės skaidinys į blokus . . . . . . . . . . . . . . . . . 1655.3.2. Aibės skaidinys į ciklus . . . . . . . . . . . . . . . . . 168

5.4. Kombinatoriniai principai . . . . . . . . . . . . . . . . . . . . 1725.4.1. Kombinacijų daugybos taisyklė . . . . . . . . . . . . . 1725.4.2. Sudėties taisyklė . . . . . . . . . . . . . . . . . . . . . 1745.4.3. Įdėties pašalinimo principas . . . . . . . . . . . . . . . 174

5.5. Generuojančiosios funkcijos . . . . . . . . . . . . . . . . . . . 1775.5.1. Generuojančiųjų funkcijų pavyzdžiai . . . . . . . . . . 1775.5.2. Generuojančiųjų funkcijų savybės . . . . . . . . . . . . 1815.5.3. Fibonačio skaičiai . . . . . . . . . . . . . . . . . . . . 1835.5.4. Skaičių skaidiniai . . . . . . . . . . . . . . . . . . . . . 184

5.6. Rekurenčiosios lygtys . . . . . . . . . . . . . . . . . . . . . . . 1875.6.1. Homogeninės lygtys . . . . . . . . . . . . . . . . . . . 1875.6.2. Nehomogeninė lygtis . . . . . . . . . . . . . . . . . . . 189

Klausimai ir užduotys . . . . . . . . . . . . . . . . . . . . . . . . . 192Pastabos ir komentarai . . . . . . . . . . . . . . . . . . . . . . . . . 192

6 Grafai 1936.1. Pagrindiniai apibrėžimai . . . . . . . . . . . . . . . . . . . . . 193

6.1.1. Multigrafas . . . . . . . . . . . . . . . . . . . . . . . . 1936.1.2. Paprastasis grafas . . . . . . . . . . . . . . . . . . . . 1946.1.3. Neorientuotasis grafas . . . . . . . . . . . . . . . . . . 1946.1.4. Grafo viršūnių laipsniai . . . . . . . . . . . . . . . . . 196

6.2. Grafų jungumas . . . . . . . . . . . . . . . . . . . . . . . . . . 1996.2.1. Maršrutai ir grandinės . . . . . . . . . . . . . . . . . . 1996.2.2. Grafo jungiosios komponentės . . . . . . . . . . . . . . 2016.2.3. Jungumo sąryšys . . . . . . . . . . . . . . . . . . . . . 2026.2.4. Grafo metrinės charakteristikos . . . . . . . . . . . . . 204

6.3. Operacijos su grafais . . . . . . . . . . . . . . . . . . . . . . . 2066.3.1. Grafų sąjunga ir sankita . . . . . . . . . . . . . . . . . 2066.3.2. Pografis ir papildinys . . . . . . . . . . . . . . . . . . 2076.3.3. Grafo viršūnės pašalinimas . . . . . . . . . . . . . . . 2086.3.4. Grafo briaunos pašalinimas . . . . . . . . . . . . . . . 2096.3.5. Grafo viršūnių sutapatinimas . . . . . . . . . . . . . . 209

6.4. Grafų skaidumas . . . . . . . . . . . . . . . . . . . . . . . . . 2106.4.1. Grafo sujungimo taškai . . . . . . . . . . . . . . . . . 2106.4.2. Grafo blokai . . . . . . . . . . . . . . . . . . . . . . . 213

Page 7: AKrylovas_DiskrMatem_20080316

TURINYS vii

6.4.3. Skiriančioji aibė ir kirpis . . . . . . . . . . . . . . . . . 2156.5. Grafo ciklai . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218

6.5.1. Karaliaučiaus tiltų uždavinys . . . . . . . . . . . . . . 2186.5.2. Oilerio grafas . . . . . . . . . . . . . . . . . . . . . . . 2186.5.3. Oilerio ciklo konstravimas . . . . . . . . . . . . . . . . 2216.5.4. Hamiltono grafas . . . . . . . . . . . . . . . . . . . . . 2236.5.5. Briauninis grafas . . . . . . . . . . . . . . . . . . . . . 2246.5.6. Grafo nepriklausomi ciklai . . . . . . . . . . . . . . . . 2276.5.7. Grafo ciklomatinis skaičius . . . . . . . . . . . . . . . 229

6.6. Grafo stabilieji poaibiai . . . . . . . . . . . . . . . . . . . . . 2336.6.1. Vidinis stabilumas . . . . . . . . . . . . . . . . . . . . 2336.6.2. Išorinis stabilumas . . . . . . . . . . . . . . . . . . . . 235

6.7. Grafų izomorfizmas . . . . . . . . . . . . . . . . . . . . . . . . 2386.7.1. Izomorfizmo apibrėžimas . . . . . . . . . . . . . . . . . 2386.7.2. Žymėtieji ir nežymėtieji grafai . . . . . . . . . . . . . . 2386.7.3. Grafų teorijos invariantai . . . . . . . . . . . . . . . . 2396.7.4. Grafų skaičius . . . . . . . . . . . . . . . . . . . . . . 239

6.8. Planarumas ir nuspalvinimas . . . . . . . . . . . . . . . . . . 2416.8.1. Planarieji grafai . . . . . . . . . . . . . . . . . . . . . 2416.8.2. Planarumo kriterijus . . . . . . . . . . . . . . . . . . . 2426.8.3. Grafo taisyklingas nuspalvinimas . . . . . . . . . . . . 2456.8.4. Grafo chromatinis skaičius . . . . . . . . . . . . . . . . 2466.8.5. Planariųjų grafų nuspalvinimas . . . . . . . . . . . . . 247

6.9. Grafų matricos . . . . . . . . . . . . . . . . . . . . . . . . . . 2486.9.1. Gretimumo matrica . . . . . . . . . . . . . . . . . . . 2486.9.2. Incidencijų matrica . . . . . . . . . . . . . . . . . . . . 250

6.10. Orientuotieji grafai . . . . . . . . . . . . . . . . . . . . . . . . 2526.10.1. Pusmaršrutis . . . . . . . . . . . . . . . . . . . . . . . 2526.10.2. Stiprumas . . . . . . . . . . . . . . . . . . . . . . . . . 2536.10.3. Branduolys . . . . . . . . . . . . . . . . . . . . . . . . 2546.10.4. Srautas . . . . . . . . . . . . . . . . . . . . . . . . . . 254

Klausimai ir užduotys . . . . . . . . . . . . . . . . . . . . . . . . . 256Pastabos ir komentarai . . . . . . . . . . . . . . . . . . . . . . . . . 257

7 Algoritmai 2597.1. Algoritmo sąvoka . . . . . . . . . . . . . . . . . . . . . . . . . 259

7.1.1. Euklido algoritmas . . . . . . . . . . . . . . . . . . . . 2597.1.2. Bendrieji algoritmo parametrai . . . . . . . . . . . . . 260

7.2. Tiuringo mašina . . . . . . . . . . . . . . . . . . . . . . . . . 2617.2.1. Tiuringo mašinos aprašymas . . . . . . . . . . . . . . 261

Page 8: AKrylovas_DiskrMatem_20080316

viii TURINYS

7.2.2. Rekursyviosios funkcijos . . . . . . . . . . . . . . . . . 2657.2.3. Rekusryviųjų funkcijų skaičiavimas Tiuringo mašina . 267

7.3. Pseudokodas . . . . . . . . . . . . . . . . . . . . . . . . . . . 2697.3.1. Algoritmų užrašymas . . . . . . . . . . . . . . . . . . . 2697.3.2. Pseudokodo operatoriai . . . . . . . . . . . . . . . . . 270

7.4. Algoritmų sudėtingumas . . . . . . . . . . . . . . . . . . . . . 2727.4.1. Sudėtingumo sąvoka . . . . . . . . . . . . . . . . . . . 2727.4.2. Polinominis sudėtingumas . . . . . . . . . . . . . . . . 2737.4.3. Sunkieji uždaviniai . . . . . . . . . . . . . . . . . . . . 274

Klausimai ir užduotys . . . . . . . . . . . . . . . . . . . . . . . . . 277Pastabos ir komentarai . . . . . . . . . . . . . . . . . . . . . . . . . 278Atsakymai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279

Page 9: AKrylovas_DiskrMatem_20080316

TURINYS ix

Pratarmė

Pavadinimas diskrečioji matematika (lotyniškas žodis discretus reiškia”atskiras“) skam-

ba lyg ir provokuojačiai, tarsi nurodant jos priešpriešą – kitą matematiką, ne diskrečiąją,tolydžiąją. Ir toks šių žodžių suvokimas nėra klaidingas, nors vadinti matematiką to-lydžiąja kiek neįprasta. Bet neįprasta tik dėl istoriškai susiformavusių terminų aukštoji

matematika, matematinė analizė, diferencialinis ir integralinis skaičiavimai. O visų šiųdalykų pagrindą, branduolį formuoja būtent tolydumo prielaida. Visų pirma, nepriklau-somas kintamasis įgyja ne tik atskirąsias, diskrečiąsias reikšmes, bet, daug svarbiau, kadtokios reikšmės aplinkoje kintamasis įgyja ir visas jai artimas reikšmes ištisai, nenutrūks-tamai, tolydžiai. Prisiminkime, kad realiųjų skaičių tiesės atkarpoje [0, 1] egzistuoja begalo daug skaičių (tarp bet kurių dviejų skirtingų skaičių x < y visada yra kitas jiemsnelygus skaičius z : x < z < y): jų yra tiek daug, kad realiaisiais skaičiais užpildomivisi šios atkarpos taškai – bet kurį jos tašką vienareikšmiškai galima nurodyti realiuojuskaičiumi ir atvirkščiai – realųjį skaičių taip pat vienareikšmiškai vaizduojame atkarpostašku. Toks nepriklausomo kintamojo nenutrūkstamumas leidžia padaryti kitą žingsnį irapibrėžti priklausomo kintamojo – funkcijos – ribą ir kai ji sutampa su funkcijos reikš-me, pastaroji vadinama tolydžiąja. Tolydžiosios funkcijos reikšmės fiksuotame taške irjos reikšmių artimuose taškuose skirtumas vadinamas funkcijos pokyčiu ir nyksta, kainagrinėjama vis mažesnė taško aplinka (pereinama prie ribos). Taigi funkcijų ribų teori-jai, kaip ir ant jos pamatų

”statomiems“ diferencialiniam ir integraliniiam skaičiavimams,

visiškai pagrįstai tinka pavadinimas tolydžioji matematika. Įdomu pastebėti, kad šiemsabiem skaičiavimams vystytis ir susiformuoti šiuolaikiniu pavidalu nepaprastą vaidmenįsuvaidino Leibnico1 darbai, kurių esmė buvo pagrįsti perėjimą nuo baigtinių (diskrečiųjų)prie begalinių (tolydžiųjų) struktūrų. Šios struktūros yra algebros – matematikos dalies,nagrinėjančios įvairiausių reiškinių pertvarkius, veiksmus, formas, – objektas.

Antra vertus, pertvarkomų algebrinių reiškinių prigimtis – antraeilis klausimas. Taisreiškiniais gali būti ir tolydžiosios funkcijos – polinomai, ir abstraktieji operatoriai, ir na-tūralieji skaičiai. Pastarųjų diskretiškumas akivaizdus, tačiau juos nagrinėjanti skaičiųteorija yra tradicinis, klasikinis algebros skyrius. Kiti ryškiai diskrečiojo pobūdžio ma-tematiniai uždaviniai atsiranda gerai žinomoje kombinatorikoje, nagrinėjančioje daiktųpasirinkimų iš tam tikro rinkinio ir jų skirtingų dėstinių kombinacijas.

Taigi ir klasikinėje matematikoje yra sričių, kurioms būdingas diskretiškumas ir todėlreikalaujančių atitinkamų tyrimo metodų. Šios sritys atsirado senovės matematikoje, buvojos dalimi, vystėsi kartu su matematikos mokslu. Tačiau XX amžiaus viduryje diskrečiojimatematika formuojasi kaip savarankiška matematikos sritis. Šį atsiskyrimą, visų pirma,paskatino naujų mokslų – kibernetikos ir informatikos – atsiradimas. Antra, kompiuterinėstechnikos plėtra sudarė prielaidą praktinių uždavinių sprendimui. O tai sąlygojo algoritmų,duomenų saugojimo ir perdavimo, informacijos apdorojimo tyrimus.

Diskrečiąja matematika arba diskrečiąja analize vadinama matematikos sritis, tyrinė-janti matematikos diskrečiąsias struktūras ir realiųjų reiškinių diskrečiuosius matematiniusmodelius. Nagrinėjamos diskrečiosios struktūros gali būti ne tik baigtinės, bet ir begali-nės, tačiau skaičiosios2 aibės. Taigi baigtines struktūras tyrinėjanti baigtinė matematika

1Gottfried Wilhelm Leibniz (1646–1716) – vokiečių filosofas ir matematikas2Tokių aibių elementai gali būti sunumeruoti, t. y. kiekvienam aibės elementui pri-

skiriamas natūralusis skaičius bei skirtingiems elementams priskiriami skirtingi skaičiai(žr. 3.3.2. 101 psl.)

Page 10: AKrylovas_DiskrMatem_20080316

x TURINYS

yra tik siauresnė diskrečiosios matematikos dalis.Diskrečiosios matematikos sritys, be minėtosios kombinatorikos, yra grafų teorija ir

matematinė logika. Vienas iš svarbiausių matematinės logikos klausimų yra uždaviniųišsprendžiamumas, tiriamas algoritmų teorijos metodais. Diskrečiosios matematikos ypa-tumas yra tas, kad baigtinių struktūrų uždavinių išsprendžiamumas dažnai būna akivaiz-dus, ir sprendinys teoriškai randamas visų variantų perrinkimu. Tačiau dėl milžiniškovariantų skaičiaus tai praktiškai neįmanoma. Todėl svarbu žinoti, ar egzistuoja efekty-vesni uždavinio sprendimo algoritmai. Šiuos klausimus nagrinėja uždavinių sudėtingumo

teorija.Išvardykime ir kitus diskrečiosios matematikos skyrius: informacijos kodavimas, baigti-

niai automatai, formaliosios gramatikos ir kt. Praplėsdami diskrečiosios matematikosobjektą, galėtume jai priskirti ir kai kuriuos skaičių teorijos, skaičiavimo matematikos,

tikimybių teorijos, matematinio programavimo klausimus.Kol moksliniai tyrimai apsiribodavo teoriniais algoritmų teorijos klausimais, prakti-

nio uždavinio sprendimo laikas, naudojamų kompiuterių atmintis ir kiti panašūs dalykainebuvo aktualūs. Kompiuterinės technikos plėtra suteikė praktines galimybes realiemsdiskrečiojo pobūdžio uždaviniams spręsti ir paskatino matematikų domėjimąsi diskre-čiosios matematikos problemoms. Todėl pastaraisiais metais diskrečiosios matematikoskursas vis dažniau įtraukiamas į aukštųjų mokyklų mokymo programas, ruošiant ne tikmatematikus ir informatikus, bet ir inžinierius.

Palyginus su tradiciniais aukštosios matematikos kursais, diskrečioji matematika yranaujas ir dėstymo metodikos požiūriu dalykas, nepakankamai aprūpintas didaktine me-džiaga. Matematikams skirtuose vadovėliuose dėstomi atskiri diskrečiosios matematikosskyriai: matematinė logika, Bulio funkcijos, kombinatorinė analizė, aibių, sąryšių, grafų,informacijos kodavimo, algoritmų ir kitos teorijos. Tai primena aukštosios matemati-kos palyginimą su atskirai dėstomais analizinės ir diferencialinės geometrijos, algebrosir skaičių teorijos, diferencialinio ir integralinio skaičiavimų, diferencialinių lygčių ir lyg-čių dalinėmis išvestinėmis kursais. Aukštosios matematikos kursų turinio, formuluojamųteoremų bendrumo, įrodymų griežtumo lygio, teikiamų pavyzdžių bei tipinių uždaviniųsunkumo didaktinių klausimų paprastai nekyla, ir naujų mokomųjų knygų bei vadovėliųautoriai laikosi mažiausiai per 6 – 7 pastaruosius dešimtmečius susiklosčiusių tradicijų.Tačiau diskrečioji matematika tokių tradicijų dar neturi net dalyko turinio atžvilgiu irišvardyti didaktikos klausimai neišspręsti ne tik lietuvių, bet ir kitomis kalbomis parašy-toje diskrečiosios matematikos mokomojoje literatūroje. Pastebėkime, kad lietuvių kalbaišleistas tik vienas (Kauno technologijos universitete) diskrečiosios matematikos vadovėlis[1], kur pagrindinis dėmesys skirtas diskrečiosios matematikos, daugiausiai grafų teori-jos uždavinių sprendimo algoritmų sudarymui. Vilniaus universitetas išleido dvi mokymopriemones: 1989 m. [2] ir 2003 m. [3] (elektroniniu pavidalu3 ). Mums žinomas tik vienaslietuvių kalba išleistas diskrečiosios matematikos uždavinynas [4] ir jo antrasis papildytasvariantas [5].

Paminėkime keletą žinomų autoriui diskrečiosios matematikos vadovėlių anglų [6], [7],[8][9] ir rusų [10], [11] kalbomis. Daugiau literatūros nuorodų ir komentarų pateikiama

3Daug medžiagos galima rasti Vilniaus universiteto Matematikos ir informatikos fakul-teto dėstytojų elektroniniuose konstektuose:http://www.mif.vu.lt/katedros/ttsk/bylos/man/man.html;http://www.mif.vu.lt/katedros/cs/Staff/VisiI.htm;http://www.mif.vu.lt/katedros/matinf/asm/vs/vs0.htm.Taip pat autoriaus studijų puslapyje: http://inga.vgtu.lt/ akrl/

Page 11: AKrylovas_DiskrMatem_20080316

TURINYS xi

kiekvieno vadovėlio skyriaus pabaigoje.Autorius daug metų dėsto diskrečiosios matematikos ir algoritmų teorijos kursus Vil-

niaus Gedimino technikos universiteto Fundamentinio mokslo fakulteto studentams, odiskrečiąją matematiką – dar ir Elektronikos fakultete. Šios patirties įtaka vadovėliui yradidelė. 2003 m. buvo išleisti autoriaus diskrečiosios matematikos dėstomo kurso konspek-tai [12], [13], o 2004 m. – jų pertvarkytas variantas [14]. Šie konspektai sudarė 2005 m.ir 2006 m. išleistų mokomųjų knygų [15], [16] pagrindą. Vadovėlis kartoja šių mokymopriemonių medžiagą, tačiau jų turinys yra smarkiai praplėstas, papildytas naujais skyriais,pavyzdžiais ir uždaviniais, dėstymo stilius yra gerokai detalesnis.

Diskrečiosios matematikos uždavinių sprendimo algoritmų kūrimas, analizė, taikymųypatumai sudaro pakankamai savarankišką objektą ir mokslo, ir mokymo prasme. Todėlalgoritmų dalies apimties ir dėstymo stiliaus pasirinkimo klausimai diskrečiosios matema-tikos vadovėliuose sprendžiami gana įvairiai. Kartais algoritmų tekstai užima labai didelę,vos ne pagrindinę knygos dalį (pvz. [1], [17]), kartais jų vieta gerokai kuklesnė. Šiamevadovėlyje algoritmams skirtas paskutinis skyrius. Minėjome, kad kombinatorikos, grafųteorijos, kitų diskrečiosios matematikos skyrių uždavinius teoriškai galima išspręsti varian-tų perrinkimu, tačiau praktikoje tai yra neįmanoma dėl jų didelio skaičiaus. Tuo tarpugeri sprendimo algoritmai dažnai apskritai nėra žinomi, ir todėl svarbu ne tik sudaryti irrealizuoti uždavinio sprendimo algoritmą, bet ir gebėti jį tirti. Autoriaus ilgiametė diskre-čiosios matematikos dėstymo patirtis rodo, kad gilesnio požiūrio į algoritmus būtinumasne visada pakankamai suprantamas ir tai yra rimta diskrečiosios matematikos metodųtaikytojų žinių spraga. Todėl pagrindinis dėmesys skiriamas bendriems algoritmų teorijosklausimas, o konkrečių algoritmų nagrinėjima nedaug. Atkreipkime skaitytojo dėmesį į netpenkių algoritmams skirtų prof. R. Čiegio vadovėlių seriją. Bet kurio, ypač skaičiavimomatematikos, uždavinio sprendimo algoritmas numato atliekamo darbo diskretizavimą –išskaidymą į atskirus veiksmus. Todėl R. Čiegio skaičiavimo matematikos vadovėliuose[18], [19] nemažai dėmesio skiriama algoritmams, o jo vadovėliai [20], [21], [22] tiesiogskirti algoritmų teorijai ir jų taikymams.

Vadovėlyje daug dėmesio skiriama pačių uždavinių formulavimui ir teisingam suprat-imui, detaliai nagrinėjami mažų dimensijų atvejai, kai uždavinys sprendžiamas tiesioginiuvariantų perrinkimu. Teisingai suprasti uždavinį padės kiekvieno skyriaus pabaigoje pa-teikiamos užduotys ir žinių pasitikrinimo testai. Visi testų klausimai turi pateiktus atsa-kymų variantus, iš kurių teisingas yra tik vienas. Skaitytojas juos ras vadovėlio 279 – 284puslapiuose. Skaitytojui pravers ir surašyti į lentelę žymėjimai, detali dalykinė rodyklė.Kiekvieno vadovėlio skyriaus pabaigoje pateikti cituotos ir papildomos literatūros komen-tarai. Kad palengvinti literatūros paiešką, nurodėme knygų ISBN. Turėdami galvoje, kadvadovėlio skyriai bus skaitomi nebūtinai jų pateikimo tvarka, mes dažnai naudojame va-dovėlio nuorodas į kitas teksto vietas. Vis dėlto rekomenduojame pirma susipažinti supirmojo – matematinės logikos – skyriaus medžiaga, kuria nuolat remiamės dėstydamikitus vadovėlio skyrius.

Vadovėlis parengtas parėmus Lietuvos valstybiniam mokslo ir studijų fondui

Autorius

Page 12: AKrylovas_DiskrMatem_20080316

xii TURINYS

Page 13: AKrylovas_DiskrMatem_20080316

TURINYS xiii

Žymenys

Žymenys Paaiškinimai Puslapiai4

¬neigimas – loginė operacija;tekste naudojama kaip sutrumpinimas:¬A –

”netiesa, kad A“

11

&konjunkcija – loginė operacija;sutrumpinimas: A & B –

”A ir B“;

”kartu A ir B“

11

∨disjunkcija – loginė operacija;sutrumpinimas: A ∨B –

”A arba B“;

”bent vienas iš A, B“

11

⇒implikacija – loginė operacija;sutrumpinimas: A⇒ B –

”jei A, tai ir B“;

”iš A išplaukia B“

11

ekvivalentumas – loginė operacija;sutrumpinimas: A⇔ B –

”A tada

ir tik tada, kai B“;

”A ir B arba karu teisingi,

arba kartu klaidingi “

11

⊕ sudėtis moduliu du – loginė operacija 13

∃ egzistavimo kvantorius;keičia žodžius

”yra“,

”egzistuoja“

31

∃!”egzistuoja vienintelis“; 31

∀ bendrumo kvantorius;keičia žodžius

”kiekvienas“,

”bet kuris“

31

P+ predikato P teisingumo aibė; 32

4Vadovėlio puslapiai, kuriuose aiškinamos sąvokos ir jų žymenys.

Page 14: AKrylovas_DiskrMatem_20080316

xiv TURINYS

Žymenys Paaiškinimai Puslapiai

:===! =

:= – priskyrimo operacija;mes paprastai laikomės C + + notacijos(žr., pavyzdžiui, [23]) iržymime priskyrimą lygybės ženklu =;palyginimo operacijos žymimos taip:== –

”lygu“,

! = –”nelygu“

259

∨:= – griežtoji disjunkcija;kitas pavadinimas Bulio funkcijos ⊕ –sudėtis moduliu du

13

|= tautologija(tapačiai teisinga loginė formulė)

16

∼= ekvivalenčiųjųformulių žymėjimas

16

Page 15: AKrylovas_DiskrMatem_20080316

1 skyrius

Logika

1.1. Propozicinės formulės

1.1.1. Įvadas

Diskrečiosios matematikos dėstymą pradedame nuo abstrakčios ir tik-riausiai negirdėtos propozicinės1 formulės sąvokos. Ši sąvoka turėtų parodytiskaitytojui, kad diskrečioji matematika beveik nereikalauja ankstesnių (pa-vyzdžiui, mokyklinės) matematikos kursų konkrečių žinių. Tačiau diskrečiojimatematika gali pasirodyti ir pakankamai sunkiu dalyku dėl kiek neįprastoabstraktaus požiūrio į studijuojamus klausimus. Norime, kad skaitytojasneišsigąstų abstrakcijų ir pradėtų iš karto teisingai mąstyti. Paaiškinsimekas yra propozicinė formulė. Prisiminkime, kad aritmetikoje, algebroje, taippat, ir fizikoje, chemijoje, ekonomikoje rašomos įvairios, labai skirtingos sa-vo pavidalu bei turiniu formulės. Formulėmis vadiname, pavyzdžiui, tokiusreiškinius x+ y = z, A ·B, w3. Raidės x, y, z,A,B,w gali reikšti ir skaičius,ir matricas, ir, tarkime, cheminius elementus. Vietoje zenklų +, ·, . . .3 galibūti −, :, . . .5, arba kiti, pavyzdžiui, ⋄, ∗, ♯, kurių prasmės galime ir nežinoti.Mes norėsime išsiaiškinti kas yra formulė pačiu bendriausiu, abstrakčiuoju,kurį tik galime įsivaizduoti, atveju, kai svarbūs tik bendrieji formulių suda-rymo principai ir nenurodoma jokia šių formulių interpretacija (turinys).

Supratus, kad abstrakčioji propozicinė formulė yra savotiškas”indas“,

1Lotyniškas žodis propositio turi daug reikšmių: įvaizdis, vyriausiasis dėsnis, tema,tikslas, trumpas dėstymas. Mes vadiname formules propozicinėmis norėdami pabrėžti,kad svarbi tik bendroji formulės struktūra, jos pavidalas, sudedamųjų dalių (simbolių) vie-tos (pozicijos). Įstačius vietoje abstrakčių simbolių konkrečius operacijų ženklus, suteikusabstrakčioms raidėms įgyjančių žinomas reikšmes kintamųjų prasmę, gausime konkretes-nes formules, pavyzdžiui, aritmetines, algebrines, logines ir pan.

1

Page 16: AKrylovas_DiskrMatem_20080316

2 1 SKYRIUS. LOGIKA

galėsime nesunkiai suprasti ir konkretesnį”įdėtą“ į tą indą turinį. Tai bus

mūsų antrasis žingsnis, kai mes pritaikysime propozicinių formulių sudarymoprincipus loginėms formulėms konstruoti: pirma teiginių algebros formulėms,po to – predikatų skaičiavimo. Propozicinių formulių turinį, taip pat, galisudaryti formaliųjų gramatikų, dirbtinių kalbų, abstrakčiųjų automatų, kitųteorijų uždaviniai.

Mes pamatysime, kad propozicinės formulės apibrėžimas bus kelios vie-nareikšmiškai aprašytų veiksmų taisyklės arba, kitaip tariant, algoritmas –kitas labai svarbus diskrečiosios matematikos objektas, kurio įvairias pusesnagrinėsime visuose vadovėlio skyriuose.2 Apibrėžę propozicinę formulę, pa-bandysime pažiūrėti, kiek skirtingų formulių galėsime surašyti, jei paimti,pavyzdžiui, tik kelias raides ir kelis operacijų ženklus. Pamatysime, kad tųformulių kiekis ne tik didelis, jis auga tiesiog milžinišku greičiu. Tai yra svar-biausias diskrečiosios matematikos ypatumas – teoriškai būtų galima vienąkartą peržiūrėti visus atvejus ir visiems laikams surašyti juos į kokią duo-menų bazę. Tada ir teoriniai klausimai nebūtų įdomūs – pakaktų tinkamaisuformuluoti užklausą bazei ir sužinoti atsakymą. Deja, tokiai bazei patal-pinti neužtektų ne tik visų egzistuojančių pasaulyje kompiuterių atmintiesnet ir tuo atveju jei ši atmintis būtų milijonais ir milijardais kartų didesnė.Būtent todėl reikia suprasti, kad diskrečioji matematika nagrinėja iš pirmožvilgsnio paprastus objektus ir jų kombinacijas, kurių pradžioje yra nedaug.Tačiau svarbūs kombinacijų sudarymo procesai, kurie turi didelį pagreitį irkuriems analizuoti būtini algoritmai.

Taigi čia mes panagrinėsime kiek daugiau sąvokų negu tiesiogiai reikėskitiems matematinės logikos klausimams išdėstyti, kadangi tai leidžia iš kar-to paaiškinti minėtas diskrečiosios matematikos problemas.

1.1.2. Formulės apibrėžimas

1.1 apibrėžimas. Formaliosios teorijos abėcėle A vadinami šie sim-boliai

• propozicinės raidės: x, y, z, u, v, w;

• propozicinės jungtys: ir ;

• skliaustai: ( ir ).

2Pastebėkime, kad vadovėlyje mes dažnai grįžtame prie kai kurių sąvokų, nagrinėjamekitus jų aspektus, rodome naujus taikymus. Tokiais atvejais nurodome atitinkamus vado-vėlio puslapius. Skaitytojas kartais gali rasti nuorodas ir į vėliau nagrinėjamus vadovėlyjeklausimus. Tada paprastai iš karto teikiama būtina klausimo supratimui informacija,tačiau nurodoma ir kur paminėta sąvoka bus nagrinėjama plačiau.

Page 17: AKrylovas_DiskrMatem_20080316

1.1. PROPOZICINĖS FORMULĖS 3

Bet kuri apibrėžtos abėcėlės A simbolių seka vadinama žodžiu.

Pavyzdžiui, z1 = x(y)uw ir z2 = ((xz)) yra žodžiai. Kaip ir natūralio-je kalboje ne visi užrašyti raidėmis žodžiai turi prasmę. Formalioje teorijojeišskiriami žodžiai, sudaryti pagal apibrėžiamas taisykles. Tokie žodžiai va-dinami formulėmis.

1.2 apibrėžimas. Formulėmis vadinami tokie žodžiai

• (1) propozicinės raidės x, y, z, u, v, w yra formulės;

• (2) jei F yra formulė, tai (F ) irgi yra formulė;

• (2) jei F1 ir F2 yra formulės, tai (F1F2) irgi yra formulė;

• (3) nėra formulių, gautų ne pagal (1), (2) arba (2) taisyklę.

Taigi z1 = x(y)uw yra žodis, bet nėra formulė, o žodis z2 = ((xz))yra formulė. Pastebėkime, kad žodis z3 = (xz) formaliai irgi nėra formulė,kadangi taisyklė (2) reikalauja rašyti skliaustus. Tačiau patogu susitar-ti nerašyti išorinių skliaustų, kadangi jie neteikia jokios informacijos.Todėl susitarkime, kad žodis z3 irgi yra formulė.

1.1 pastaba. Propozininės formulės 1.2 apibrėžime galima pakeistiraidžių ir jungčių kiekį bei žymenis.

1.1 pavyzdys. Paimkime tokias propozines jungtis +, −, ·, :ir gausime gerai žinomas aritmetines operacijas:

x+yz−uvw2

= ((x+ y) : (z − u)) : ((v : (w · w))) .

Pažymėkime vienvietes3 aritmetines operacijas, pavyzdžiui, taip: z2 =2z, z3 = 3z, z4 = 4z. Tada aritmetinį reiškinį galima perrašyti:

x2y3w4 = (((2x) · (3y)) · (4w)).

Pastebėkime, kad jei pažymėti (kėlimo laipsniu) opereciją kitaip, galima tąpačią formulę perrašyti x2 ·y3 ·w4 arba x2 ·y3 ·w4. Tai yra susitarimo reika-las! Taigi propozicinės formulės apibrėžime (F ) yra kažkokios abstrakčios(mums visai nerikia žinoti kokį veiksmą ši operacija atlieka) unariosios ope-racijos žymuo.

3Vienvietės (unariosios) operacijos atliekamos su vienu operandu, dvivietės (binario-sios) – su dviem, trivietės (ternariosios) – su trims ir t. t.

Page 18: AKrylovas_DiskrMatem_20080316

4 1 SKYRIUS. LOGIKA

1.2 pastaba. Atkreipkime dėmesį, kad lygybės ženklas (=) nėraoperacija, o reiškia kitą tos pačios formulės žymėjimą, t. y. keičiažodžius

”Susitarkime, kad tą pačią formulę rašysime (žymėsime) dar

ir taip“.

1.1.3. Formulės gylis

1.3 apibrėžimas. Formulės dalis, kuri irgi yra formulė, vadinamapoformuliu.

Formulė F = ((xy)) turi tris poformulius:F1 = x, F2 = y – propozicinės raidės. Jos yra formulės pagal (1) formulės1.2 apibrėžimo taisyklę;F3 = (F1F2) – (2) taisyklė;F = (F3) – (2) taisyklė.

Įrodykime, kad žodis z = ((xy)((uv))) yra formulė. Išskiriame for-mulės z poformulius: F1 = x, F2 = y, F3 = u, F4 = v, F5 = (F1F2),F6 = (F3F4), F7 = (F6), z = (F5F7). Taigi formulė z gauta pagal (1),(2) ir (2) taisykles.

Matome, kad analizuodami formulę, galime išskirti tokius poformulius

(F 0) propozicinės raidės;

(F 1) formulės, gautos iš propozicinių raidžių, vieną kartą pritaikius (2)arba (2) taisyklę;

(F 2) formulės, gautos iš propozicinių raidžių arba iš gautų pagal (F1), vienąkartą pritaikius (2) arba (2) taisyklę (jei, jos dar nebuvo gautos F 0

ir F 1 žingsniais);

· · · · · · · · · · · · · · · · · · · · ·

(Fn) formulės, gautos iš visų anksčiau gautų (F 0) – (Fn−1) formulių, vienąkartą pritaikius (2) arba (2) taisyklę (jei jos dar nebuvo gautos).

Taigi bet kurią formulę gausime atlikus tam tikrą žingsnių skaičių n:(F 0), (F 1), . . ., (Fn).

1.4 apibrėžimas. Formulės F gyliu vadinamas mažiausias skaičius n, kaiatlikus žingsnius (F 0), (F 1), . . ., (Fn) gaunama formulė F .

Page 19: AKrylovas_DiskrMatem_20080316

1.1. PROPOZICINĖS FORMULĖS 5

Raskime formulės F = ( (( (x y) ) ( (u v) )) ) gylį.Užrašykime visus formulės F poformulius, kai viršutinis indeksas reiškia po-formulio gylį:

(F 0) F 01 = x, F 0

2 = y, F 03 = u, F 0

4 = v;

(F 1) F 15 = (F 0

1 F02 ), F 1

6 = (F 03 F

04 );

(F 2) F 27 = (F 1

5 ), F 28 = (F 1

6 );

(F 3) F 39 = (F 2

7 F28 );

(F 4) F = (F 39 ).

Taigi formulės F gylis lygus keturiems.

1.3 pastaba. Ištirtos formulės F gylis atsitiktinai sutapo su raidžių x, y,u, v skaičiumi 4.

Tai nesunku patikrinti tokiais pavyzdžiais (nerašome išorinių skliaustų).Visų sių formulių gylis lygus trims.

( (x1 x2)) ( (x3 x4) );

( (x1 x2)) ( (x1 x2) );

( ( (x1 x2)) (x1 x2) ).

1.1.4. Rekursinis formulės apibrėžimas

Apibrėžkime formulę algoritmiškai, t. y. nurodykime atliekamų veiksmųtvarką, kad gauti formulių aibę.4 Tarkime, kad turime propozicines raides,kurias pažymėkime x1, x2, . . ., ir dvi propozicines jungtis: , . Visas galimasformules F gauname teoriškai be galo daug kartų taikydami taisykles (X)ir (Y Z). Čia X, Y , Z bet kurios jau sukonstruotos formulės. Taigi turimenulinio gylio formules F0 = x1, x2, . . ., o visų aukštesnių gylių formulesgauname taip: imame visas jau gautas formules ir taikome taisykles (X),(Y Z). Jei gauname naują formulę, tai jos gylis bus vienetu didesnis neguiki šiol turimas maksimalus gylis.

4Čia mes suprantame aibę kaip ją sudarančių formulių sąrasą. Ženklas ∪ reiškia aibiųsąjungą (žr. 3.2.1. 93 psl.): A ∪ B – visos formulės, kurios buvo aibėje A, aibėje B, arbair ten, ir ten. Tų pačių aibės elementų (formulių) du kartus nerašome.

Page 20: AKrylovas_DiskrMatem_20080316

6 1 SKYRIUS. LOGIKA

1.2 pavyzdys. Surašykime visas nulinio ir pirmojo lygio formules irdalį antrojo gylio formulių, kai turime tik dvi raides x1, x2 ir dvioperacijas , :

F0 = x1, x2;F1 = F0 ∪ (x1), (x2), (x1x1), (x1x2), (x2x1), (x2x2);

F2 = F1∪((x1)), ((x2)), ((x1x1)), ((x1x2)), ((x2x1)), ((x2x2)),

((x1)x1), ((x1)x2), (x1(x1)), (x2(x1)),

((x2)x1), ((x2)x2), (x1(x2)), (x2(x2)), . . .

. . . , ((x2x2)(x2x2))

Teoriškai galime konstruoti bet kurio gylio formules ir kai turime be galodaug kintamųjų (raidžių). Suformuluokime rekursinį formulių sudarymoalgoritmą kaip formalų apibrėžimą. Pradžioje turime nulinio gylio formules(raidžių aibę). Tarkime, kad padarėme n žinsnių ir pagaminome visas n-ojogylio formules. Tada galime atlikti n+1-ąjį žingsnį ir gaminame visas n+1-ojo gylio formules. Visų formulių (begalinė) aibė gaunama kaip visų gyliųformulių aibių sąjunga.

1.5 apibrėžimas. (rekursinis) F0 = x1, x2, . . .;

Fn+1 = Fn ∪ (X), X ∈ Fn ∪ (Y Z), Y, Z ∈ Fn;

F =⋃

n=0,1,...Fn;

Formulės F ∈ F gyliu vadinamas skaičius n0 = minF∈Fn

n.

Tarkime, kad turime dešimt propozicinių raidžių x1, x2, . . ., x10 ir dvipropocines jungtis: vienvietę (unariąją) ¬ ir dvivietę (binariąją) ⇒. Tadaturime dešimt nulinio gylio formulių

F0 = x1, x2, . . . , x10.

Rašome |F0| = 10. Pirmojo ir nulinio gylio formulių turėsime jau 120:

F1 = (¬x1) , . . . , (¬x10) , (x1 ⇒ x1) , (x1 ⇒ x2) , . . . , (x10 ⇒ x10) ∪ F0.

Taigi turime |F1| = 120 ir kartodami samprotavimus gauname |F2| ≈1, 4 · 104. Akivaizdu, kad |F3| ≈ 2, 0 · 108, |F4| ≈ 4, 0 · 1016. Matome,kad formulių skaičius labai greitai auga ir jau penktojo arba šeštojo gylio

Page 21: AKrylovas_DiskrMatem_20080316

1.1. PROPOZICINĖS FORMULĖS 7

formulių skaičius yra milziniškas, nors ir baigtinis. Todėl praktiškai neįma-noma nustatyti formulės gylį visų pagamintų formulių F0, F2, F3, · · · , Fntiesioginiu perrinkimu, nors taip išspręsti uždavinį teoriškai galima. Taip patpastebėkime, kad neįmanoma ir patalpinti tiek formulių į bet kokių kom-piuterių atmintį. Tai yra tipinė diskrečiosios matematikos problema, kaiuždavinys teoriškai išsprendžiamas perrinkus visus variantus, tačiau prakti-koje toks sprendimo būdas beprasmis, kadangi šių variantų labai daug. Dėlneaprėpiamo variantų skaičiaus spręsti panašius uždavinius tiesioginiu per-rinkimu nepadės ir informacinių technologijų plėtra. Todėl vienintelė išeitis– konstruoti efektyvesnius uždavinių sprendimo algoritmus! Apie algorit-mus kalbėsime beveik visuose vadovėlio skyriuose, tačiau dar daugiau dė-mėsio skirsime tam, kad uždaviniai būtų teisingai formuluojami ir teisingaisuprantami. Juk spręsti nesuprastą uždavinį yra beprasmiškas užsiėmimas,o teisingai suprasti uždavinį – nemaža jo sprendimo proceso dalis.

1.1 testas

1 Formulės u ↓ w gylis yra1© trys; 2© vienas; 3© nulis; 4© keturi; 5© du.

2 Formulės x⇔ t gylis yra1© nulis; 2© trys; 3© vienas; 4© du; 5© keturi.

3 Formulės v ∨ z gylis yra1© nulis; 2© keturi; 3© du; 4© vienas; 5© trys.

1.1.5. Prefiksinis ir postfiksinis formulės pavidalas

Jau buvome pastebėję (žr. 3 psl.), kad galima susitarti nerašyti išoriniųskliaustų. Parodykime, kad galime rašyti formules ir visai be skliaustų!Tarkime, kad x1, x2, . . . – propozicinės raidės, ⊤, ⊥ – vienvietės propozicinėsjungtys, ⋄, , ∇ – dvivietės. Tada formules užrašome prefiksiniu pavidalu:

(⊤X) = ⊤X, (⊥X) = ⊥X;

(Y ⋄ Z) = ⋄Y Z, (YZ) = Y Z, (Y∇Z) = ∇Y Z.

Page 22: AKrylovas_DiskrMatem_20080316

8 1 SKYRIUS. LOGIKA

Lygybės ženklas (=) reiškia kitą tos pačios formulės žymėjimą. Taigi galimetaip perrašyti užrašytus įprastiniu (infiksiniu) pavidalu formules:

(⊤x1) ⋄ (⊥x2) = ⋄⊤x1⊥x2;

(⊥x3)∇(⊤x4) = ∇⊥x3⊤x4;

⊤ ((⊤x1) ⋄ (⊥x2)) = ⊤ ⋄ ⊤x1⊥x2;

⊥ ((⊥x3)∇(⊤x4)) = ⊥∇⊥x3⊤x4;

⊤ ( (⊤ ((⊤x1) ⋄ (⊥x2))) (⊥ ( (⊥x3)∇(⊤x4))) ) =

= ⊤⊤ ⋄ ⊤x1⊥x2⊥∇⊥x3⊤x4.

1.3 pavyzdys. Perrašykime formulę

: −+ xy zv ⋆ wu

infiksiniu pavidalu. Atliekamus pertvarkius rodome skliaustais:

: −+ xy zv ⋆ wu =

: −+ xy zv (⋆wu) =

: −+ xy zv (w ⋆ u) =

: −+ xy (zv) (w ⋆ u) =

: −+ xy (z v) (w ⋆ u) =

: − (+xy) (z v) (w ⋆ u) =

: − (x+ y) (z v) (w ⋆ u) =

: ((x+ y) − (z v) ) (w ⋆ u) =

((x+ y) − (z v) ) : (w ⋆ u)

Panašiai apibrėžiamas postfiksinis formulių pavidalas:

(⊤X) = X⊤, (⊥X) = X⊥;

(Y ⋄ Z) = Y Z⋄, (YZ) = Y Z, (Y∇Z) = Y Z∇.

Taigi bet kurią formulę galime parrašyti infiksiniu (operacijos tarp ope-randų; reikia skliaustų), prefiksiniu (operacijos prieš operandus; skiaustųnereikia) arba postfiksiniu pavidalu (operacijos po operandu; skliaustų ne-reikia).

Pavyzdžiui, gerai žinomą aritmetinę formulę galma perrašyti taip:

(x+ y) · z = ·+ xyz = xy + z·

Page 23: AKrylovas_DiskrMatem_20080316

1.1. PROPOZICINĖS FORMULĖS 9

Pastebėkime dar, kad

xyz + · = x · (y + z) = ·x+ yz, xyz ·+ = x+ (y · z) = +x · yz

Tačiau nepamirškime, kad ženklai + ir · gali reikšti ne tik aritmetinius veiks-mus. Jie gali turėti ir visai kitą prasmę, kuri, kai kalbama apie propozicinesformules, visai nesvarbi. Taip pat atkreipkime dėmesį, kad propozicinių (t. y.turinčių formulėje savo vietas – pozicijas) raidžių eilės tvarka visais atvejaisnesikeičia.

1.2 testas

1 w&s⇒ x ∨ t =

1© w&(s⇒(x∨t));2© ((w&s)⇒x)∨t;3© (w&(s⇒x))∨t;4© (w&s)⇒(x∨t);5© w&((s⇒x)∨t).

2 v ⇒ t&r ∨ q =

1© (v⇒(t&r))∨q;2© ((v⇒t)&r)∨q;3© v⇒(t&(r∨q));4© v⇒((t&r)∨q);5© (v⇒t)&(r∨q).

3 |u⇒ qv = 1© uqv|⇒; 2© uqv⇒|; 3© uq⇒v|; 4© uq|v⇒.

4 &⊕ guq = 1© guq&⊕; 2© guq⊕&; 3© gu⊕q&; 4© gu&q⊕.

5 (q ∨ r)⇔ s = 1© ⇔∨sqr; 2© ∨⇔sqr; 3© ⇔∨qrs; 4© ∨⇔qrs.

6 g ⊕ (w ⇔ z) = 1© ⇔⊕wzg; 2© ⊕g⇔wz; 3© ⇔⊕gwz; 4© ⇔g⊕wz.

Page 24: AKrylovas_DiskrMatem_20080316

10 1 SKYRIUS. LOGIKA

1.2. Teiginių algebra

1.2.1. Teiginio sąvoka

Logika nagrinėja mąstymo dėsnius, užtikrinančius jo taisyklingumą, t. y.apibrėžtumą, neprieštaringumą, nuoseklumą, pagrįstumą. Viena pagrindi-nių, bazinių, pirminių logikos sąvokų yra teiginys – toks sakinys, tvirti-nimas, reiškimas, kuris visada yra arba teisingas, arba klaidingas. Pa-vyzdžiui, sakinys

”2>5“ klaidingas ir todėl yra teiginys. Sakiniai

”mokykis“

arba”nerūkyk“ nėra teiginiai. Sakinys

”α = β“ irgi nėra teiginys, kadangi

jis gali būti ir teisingas, ir klaidingas, priklausomai nuo α ir β reikšmių.5

Pateiksime kitus teiginių pavyzdžius:T1 =

”Kaunas nėra Lietuvos sostinė“.

T2 =”Vasaris yra žiemos mėnuo“.

T3 =”π yra iracionalusis skaičius“.

T4 =”Jonas Petraitis nėra technikos universiteto studentas“.

Nagrinėjamų logikoje samprotavimų turinys nėra svarbus: logika domisiteisingų samprotavimų sudarymo formomis. Todėl svarbios yra tik teiginiųreikšmės: tiesingas arba klaidingas, kurios žymimos

”TRUE“,

”FALSE“,

”T“,

”F“,

”t“,

”k“,

”1“,

”0“, . . . ir vadinamos loginėmis konstantomis.

Abstraktieji teiginiai žymimi raidėmis su indeksais arba be jų: A,B, . . .,c, d, e, . . ., f1, h2, . . . ir vadinami loginiais kintamaisiais.

1.6 apibrėžimas. Tarkime, kad kintamasis x įgyja dvi reikšmes t –tiesa arba k – klaida (rašome6 x ∈ t, k). Tada x vadiname loginiukintamuoju.

Taigi teiginių T1, T2, T3 reikšmė yra”tiesa“, o teiginio T4 reikšmės mes

galime ir nežinoti. Todėl tokius teiginius kartais patogiau laikyti loginiaiskintamaisiais.

1.2.2. Loginės operacijos

Matematinė logika nagrinėja matematinių samprotavimų formas ir pla-čiai naudoja simbolius bei formules. Iš teiginių, kuriuos galima pavadintipirminiais, elementariais arba loginiais kintamaisiais, sudaromi nauji, sudė-tiniai teiginiai. Naujiems teiginiams sudaryti apibrėžiamos loginės opera-

5Tokio pavidalo sakiniai vadinami predikatais ir bus nagrinėjami vėliau (žr. 1.5.1.)31 psl.

6Skaitome”x priklauso aibei t, k“ arba

”x yra aibės

”t, k“ elementas; žr. 3.1.1.

87 psl.

Page 25: AKrylovas_DiskrMatem_20080316

1.2. TEIGINIŲ ALGEBRA 11

cijos, kurios formalizuoja matematinių teoremų įrodymus. Tarkime, kad xir y yra teiginiai (loginiai kintamieji). Atliekant su x ir y logines operacijas(veiksmus), gaunami nauji teiginiai.

1.7 apibrėžimas. Teiginio T neigimu vadinamas naujas teiginys,kurį žymime T arba ¬T ir skaitome

”ne T“,

”netiesa, kad T“. Kai

loginio kintamojo T reikšmė yra”tiesa“, tai kintamojo T reikšmė yra

”klaida“, ir atvirkščiai, kai T –

”klaida“ — T –

”tiesa“.

Šį neigimo operacijos apirėžimą patogu užrašyti tokia lentele

T T

k tt k

Pavyždžiui, kai T1 =”Kaunas nėra Lietuvos sostinė“, teiginys T 1 skaito-

mas”netiesa, kad Kaunas nėra Lietuvos sostinė“ ir yra klaidingas.

Neigimo operacija atliekama su vienu kintamuoju. Priminsime (žr. 3 psl.),kad tokia operacija vadinama unariąja arba vienviete. Kitos loginės ope-racijos atliekamos su dviem kintamaisiais ir vadinamos binariosiomis arbadvivietėmis.

Apibrėžimai (binariosios loginės operacijos):

disjunkcija žymima ∨ (skaitoma”x arba y“): teiginys x ∨ y yra teisingas,

kai teisingas bent vienas iš teiginių x, y (t. y. teisingas yra bent kurisnors iš x, y, tačiau jie gali būti teisingi ir abu);

konjunkcija žymima & (skaitoma”x ir y“): teiginys x & y yra teisingas,

kai teisingi abu teiginiai x, y (t. y. teisingas ir x, ir y);

implikacija žymima ⇒ ( skaitoma”jei x, tai y“ arba

”iš x išplaukia y“):

teiginys x ⇒ y yra klaidingas tik tuo atveju, kai teiginys x yrateisingas, o y – klaidingas (t. y. implikacija klaidinga kai iš tiesosišplaukia melas, o visais kitais avejais implikacija yra teisinga 7);

7Paaiškinkime implikacijos įgyjamų reikšmių pagrįstumą tokiu pavyzdžiu. Tėvas paža-dėjo sūnui studentui:

”Jei išlakysi diskrečiosios matematikos egzaminą, padovanosiu tau

naują kompiuterį“. Šį pažadą (P ) galime užrašyti implikcijos pavidalu: P = E ⇒ K.Galimi tik tokie keturi atvejai.(1) E = k, K = k: sūnus neišlaikė egzamino; tėvas jam nenupirko kompiuterio;

Page 26: AKrylovas_DiskrMatem_20080316

12 1 SKYRIUS. LOGIKA

ekvivalentumas žymima⇔ (skaitoma”x tada ir tik tada, kai y“): teiginys

x ⇔ y yra teisingas, kai abu teiginiai x, y yra teisingi arba abuklaidingi (dar sakome, kad sąlyga x yra būtina ir pakankama8 sąlygaiy.

Surašykime apibrėžtas logines operacijas į lentelę.

x y x ∨ y x & y x ⇒ y y ⇒ x x⇔ y

k k k k t t t

k t t k t k k

t k t k k t k

t t t t t t t

Taigi jei raide J pažymėtas teiginys”Jonas yra studentas“, P –

”Petras

yra studentas“, tai teiginys J ∨ P skaitomas”Jonas arba Petras yra stu-

dentas“ ir reiškia, kad kuris nors iš jų, arba jie abu yra studentas. T. y.studentas – bent vienas iš jų. Todėl loginė operacija

”arba“ – disjunkcija

(∨) neprieštarauja operacijai”ir“ – konjunkcijai (&). Teiginys J & P skai-

tomas”Jonas ir Petras yra studentai“ ir reiškia, kad jie abu (t. y. ir vienas,

ir kitas) yra studentai. Teiginys J ⇒ P skaitomas”jei Jonas yra studentas,

tai ir Petras – studentas“, t. y. iš prielaidos, kad”Jonas yra studentas“ gali-

ma padaryti išvadą, kad ir”Petras yra studentas“. Teiginio J ⇔ P prasmė:

Jonas ir Petras arba abu yra, arba abu nėra studentai.

Dar kartą pastebėkime, kad teiginių turinys visai nesvarbus ir gali ne-turėti prasmės. Pavyzdžiui, teiginys

”Jei Kaunas Lietuvos sostinė, tai visi

(2) E = k, K = t: sūnus neišlaikė egzamino; tėvas jam vis dėlto nupirko kompiuterį;(3) E = t, K = k: sūnus išlaikė egzaminą; tėvas, nors ir žadėjo, tačiau nenupirko jamkompiuterio;(4) E = t, K = t sūnus išlaikė egzaminą; tėvas, kaip ir žadėjo, nupirko jam kompiuterį.Matome, kad trečiuoju (3) atveju tėvas pasakė netiesą ir P = k. Akivaizdu, kad ket-virtuoju (4) atveju jis sakė tiesą ir P = t. Pirmuoju (1) atveju tėvo pažadas irgi buvotiesa (P = t), kadangi jis žadėjo nupirkti kompiuterį, jei sūnus išlaikys egzaminą, bet tasneišlaikė. Todėl jis kompiuterio ir nenupirko ir jo pažadas nebuvo melas. Svarbu suprasti,kad tėvo pažadas nėra melas ir antruoju (2) atveju, kadangi jis nupirko kompiuterį, ne-žiūrėdamas į sūnaus nesėkmę egzamine. Juk jis gi žadėjo nupirkti kompiuterį, jei sūnusišlaikys egzaminą, bet nesakė, kad nepirks kompiuterio, jei tas neišlaikys. Taigi antruoju(2) atveju P = t.

8Jei turime implikaciją x ⇒ y, tai sakome, kad sąlyga y yra būtina sąlygai x (kitaipx negali būti teisinga), o sąlyga x yra pakankama sąlygai y (jos pakanka, kad teiginys ybūtų teisingas).

Page 27: AKrylovas_DiskrMatem_20080316

1.2. TEIGINIŲ ALGEBRA 13

skaičiai yra neigiami“ užrašomas matematinės logikos simboliais k ⇒ k iryra teisingas.

Antra vertus, konkrečių samprotavimų loginė analizė ne tik turi pras-mę, bet ir padeda rasti klaidas. Išnagrinėkime tokius samprotavimus.

”Jei

studentas lankys diskrečiosios matematikos paskaitas ir atliks privalomasužduotis, tai jis išlaikys egzaminą. Studentas X lankė diskrečiosios mate-matikos paskaitas, tačiau neatliko užduočių. Todėl jis neišlaikys egzamino“.Raskime šių samprotavimų klaidą. Pažymėkime P teiginį

”Studentas X

lankė diskrečiosios matematikos paskaitas“, U – teiginį”Studentas X atliko

privalomas diskrečiosios matematikos užduotis“, E=”Studentas X išlaikys

egzaminą“. Tada pirmąjį sakinį užrašome tokios implikacijos pavidalu

P & U ⇒ E

ir laikome teisinga9 samprotavimų schema (arba teisingu sąlyginiu teiginiu).Tada žinome kintamųjų P , U reikšmes P = t, U = k ir turime samprotavi-mu schemą: (t&k ⇒ E) = t. Bet iš čia neišplauka, kad E = k, kadangiimplikacija bus teisinga ir kai E = t. Tai ir įrodo samprotavimų loginį ne-pagrįstumą. Samprotavimai klaidingi ir turinio prasme, kadangi studentaskartais gali ir atsitiktinai išlaikyti egzaminą.

1.4 pastaba. Disjunkcija kartais yra vadinama logine suma, o kon-junkcija – logine sandauga. Jei logines konstantas k ir t pažymėti 0ir 1 bei į simbolius 0 ir 1 žiūrėti kaip į skaičius, tai x & y = x · y,x∨ y = x⊕ y⊕x · y. Operacija ⊕ vadinama sudėtimi moduliu du:0 ⊕ 0 = 0, 1 ⊕ 1 = 0, 0 ⊕ 1 = 1 ⊕ 0 = 1. Sudėtis moduliu dukartais vadinama griežtąja disjunkcija ir žymima ∨.

1.5 pastaba. Implikaciją galima apibrėžtišiomis išvedimų taisyklėmis:a) iš teisingos prielaidos (antecedento) išplaukia tik teisinga išvada(konsekventas);b) klaidinga išvada išplaukia tik iš klaidingos prielaidos.

1.6 pastaba. Loginės operacijos literatūrojegali būti pažymėtos ir kitaip:∼, ′ (neigimas), ∧ (konjunkcija), →, ⊃ (implikacija), ↔, ≡, ∼= (ekvi-valentumas).

9Dar kartą pabrėžkime, kad logika nenagrinėja teiginių teisingumo turinio prasme.Užrašyta formulė suprantama, kad iš teisingos prielaidos išplaukia teisinga prielaida ir ne-taikoma teiginių turinio analizei. Pavyzdžiui, pats paskaitų lankymo faktas dar nereiškia,kad studentas gavo pakankamai informacijos ir ją teisingai suprato.

Page 28: AKrylovas_DiskrMatem_20080316

14 1 SKYRIUS. LOGIKA

1.3 testas

1

Kuri loginė operacija (∗) apibrėžta lentele?x z x ∗ zk k tk t tt k kt t t

1© x ⇒ z ;2© x ⇔ z ;3© x ∨ z ;4© x&z .

2

Kuri loginė operacija (∗) apibrėžta lentele?v r v ∗ rk k tk t kt k kt t t

1© v&r ;2© v ⇔ r ;3© v ⇒ r ;4© v ∨ r .

31. implikacija ←→ A. ⇒2. disjunkcija ←→ B. &3. konjunkcija ←→ C. ∨

1© ABC; 2© BCA;3© CBA; 4© ACB;5© BAC; 6© CAB.

41. ⇒ ←→ A. ekvivalentumas2. ⇔ ←→ B. neigimas3. ¬ ←→ C. implikacija

1© CBA; 2© ACB;3© ABC; 4© BAC;5© CAB; 6© BCA.

1.2.3. Teiginių algebros formulės

Panašiai kaip nagrinėjome propozicines formules (žr. 1.1 apibrėžimą2 psl.) apibrėžiame logikos formules. Kadangi propozinių jungčių žymėnysir jų kiekis iš esmės nekeičia apibrėžimo (žr. 1.1 past. 3 psl.), paimkimejau išnagrinėtų loginių operacijų simbolius: ¬, &, ∨, ⇒, ⇔. Tačiau mesnereikalaujame, kad šios operacijos būtų kaip nors apibrėžtos. Todėl šiasoperacijas bus galima apibrėžti (kai norėsime palyginti dviem skirtingaisbūdais konstruojamas teorijas; žr. 1.6 teoremą 30 psl.) taip, kaip anksčiau(12 psl. lentelė), bet tai nėra būtina. Pavyzdžiui, galima nagrinėti dau-giareikšmę logiką (1.10 pavyzdys 30 psl.). Pakartokime, kad propozicinės

Page 29: AKrylovas_DiskrMatem_20080316

1.2. TEIGINIŲ ALGEBRA 15

formulės apibrėžiamos nesiremiant jokia jų interpretacija.

1.8 apibrėžimas. Teiginių algebros abėcėle vadinama aibė

A = a, b, . . . , A,B, . . . , x1, · · · , Y2, · · · ,

¬, &, ∨,⇒, ⇔,

( , ) .Aibės A elementai – loginiai kintamieji, loginės operacijos bei skliaus-tai vadinami raidėmis.

1.9 apibrėžimas. Formulės apibrėžiamos jų sudarymo taisyklėmis:(1) a, b, . . . , A,B, . . . , x1, · · · , Y2, · · · yra formulės;(2) jei A yra formulė, tai (¬A) – formulė;(3) jei A ir B yra formulės, tai

(A&B), (A ∨B), (A⇒ B), (A⇔ B) – formulės;(4) kitų formulių nėra.

Žodis z1 = A&¬B nėra sudarytas pagal (1)-(4) taisykles ir todėl nė-ra formulė. Norėdami jį pataisyti, turime rašyti papildomus skliaustus:z′1 = (A&(¬B)). Tačiau šių skliaustų prasmė akivaizdi ir jie yra praktiškainereikalingi. Todėl galima susitarti nerašyti išorinių skliaustų (žr. 3 psl.)Tada z′′1 = A&(¬B) yra formulė.

Dar svarbesnis yra susitarimas dėl loginių operacijų prioriteto (pirme-nybės10). Operacijos ¬, &, ∨, ⇒, ⇔ surašytos prioriteto mažėjimo tvarka,t. y. neigimas (¬) turi aukščiausią prioritetą, o ekvivalentumas (⇔) – že-miausią. Tada, jei A&(¬B) yra formulė, tai ir A&¬B yra ta pati formulė.Jei (A&B)⇒ C yra formulė, tai A&B ⇒ C irgi yra ta pati formulė.

Atkreipkime dėmesį, kad operacijų prioritetų nustatymas neleidžia visaiatsisakyti skliaustų. Pavyzdžiui, formulė A∨B&C reiškia tik antrą iš dviejųiš esmės skirtingų formulių: x = (A∨B)&C arba y = A∨ (B&C). Formuliųužrašymas be skliaustų pavidalu

”operacija operandai“ vadinamas prefik-

siniu, o kitas pavidalas –”operandai operacija“ – postfiksiniu (tradicinis

pavidalas su skliaustais – infiksinis). Prefiksinis bei postfiksinis formuliųpavidalai leidžia visai nerašyti skliaustų. Pavyzdžiui, prefiksiniu pavidaluužrašytą formulę x = & ∨ ABC galima perrašyti taip: x = &wC = w&C.

10Prisiminkime, kad aritmetinė skaičių daugybos (·) operacija turi didesnį prioritetą,negu sudėties operaciją (+). Todėl paprastai nerašome skliaustų, kai x ·y + z = (x ·y)+ z.Tačiau x · y + z 6= x · (y + z) ir šiuo atveju skaliaustai yra būtini.

Page 30: AKrylovas_DiskrMatem_20080316

16 1 SKYRIUS. LOGIKA

Čia pažymėta w = ∨AB = A ∨ B. Taigi perrašome formulę infiksiniu pa-vidalu: x = (A ∨ B)&C. Tą pačią formulę užrašome postfiksiniu pavidalu:x = w&C = wC& = AB ∨ C&. (Čia buvo pažymėta w = A ∨B). Panašiaiužrašome formules:

∨A&BC = ABC&∨ = A ∨ (B & C),

¬p&(x ∨ y ⇒ z) = &¬p⇒ ∨xyz = p¬xyz ⇒ ∨&.

Ir vėl nepamirškime (žr. 1.2 pastabą 4 psl.), kad lygybės ženklas (=) reiš-kia tik kitą tos pačios formulės pavidalą (susitarimą kitaip tą pačią formulęžymėti) ir nėra teiginių algebros abėcėlės elementas. Kitame paragrafe mesapibrėšime loginių formulių lygiavertiškumo arba ekvivalentumo (∼=) sąvoką.

1.3. Logikos formulių semantika

1.3.1. Tautologijos

Tarkime, kad X = (x1, x2, . . . , xn) yra loginių kintamųjų rinkinys,F (X) – loginė formulė.

Apibrėžimai

Loginių kintamųjų xj reikšmių t, k rinkinį ν = (ν1, ν2, . . . , νn) vadi-name loginių kintamųjų interpretacija. Pavyzdžiui, ν(1) = (k, t, k)ir ν(2) = (t, k, t) yra dvi kintamųjų (x, y, z) interpretacijos.

Formulė F vadinama įvykdomąja, jei egzistuoja tokia interpretacijaν, kad F (ν) = t.Pavyzdžiui, formulė f(x, y) = x & y yra įvykdomoji, kadangi egzis-tuoja interpretacija ν = (t, t) ir f(ν) = f(t, t) = t.

Formulė F vadinama tautologija (tapačiai teisinga), jei ji įgyjareikšmę t, esant bet kuriai interpretacijai. Tautologijas žymime ženklu|=.

Formulė F vadinama prieštara (tapačiai klaidinga), esant bet ku-riai interpretacijai ν: F (ν) = k. Pastebėkime, kad F yra prieštaratada ir tik tada, kai ¬F – tautologija.

Formulės F ir G vadinamos ekvivalenčiosiomis, jei esant visomsinterpretacijoms ν: F (ν) = G(ν). Ekvivalenčiąsias formules žymimeženklu ∼=.

Page 31: AKrylovas_DiskrMatem_20080316

1.3. LOGIKOS FORMULIŲ SEMANTIKA 17

Pastebėkime, kad ekvivalenčiosios formulės turi tris savybes11:refleksyvumo (F ∼= F );simetriškumo (jei F1

∼= F2, tai F2∼= F1);

tranzityvumo (jei F1∼= F2 ir F2

∼= F3, tai F1∼= F3).

1.1 teorema. Formulės F ir G yra ekvivalenčiosios tada ir tik tada,kai formulė (F ⇔ G) yra tautologija. Arba trumpiau, F ∼= G tada, irtik tada, kai |= F ⇔ G.Įrodymas. Būtinumas. Tarkime, kad F (X) ∼= G(X). Reikia įro-dyti, kad tada |= F ⇔ G. Esant bet kuriam kintamųjų X =(x1, . . . , xn) reikšmių rinkiniui (interpretacijai) X = ν = (ν1, . . . , νn)turime F (ν) = G(ν). Todėl turime vieną iš dviejų atvejų: F (ν) =G(ν) = t arba F (ν) = G(ν) = k. Bet tada F (ν) ⇔ G(ν) = t⇔ t = tarba k ⇔ k = t ir F (X)⇔ G(X) yra tautologija(žymime |= F ⇔ G.)Pakankamumas Tarkime, kad |= F ⇔ G. Tada esant bet kuriamX: F (X) ⇔ G(X) = t. Įmame bet kurią interpretaciją X = ν irgauname (iš ekvivalentumo ⇔ operacijos apibrėžimo 12 psl.) vienąiš dviejų atvejų: F (ν) = G(ν) = t arba F (ν) = G(ν) = k. Todėlformulės F (X), G(X) įgyja tas pačias reikšmes ir pagal apibrėžimąyra ekvivalenčiosios (rašome F ∼= G). Teorema įrodyta.

1.7 pastaba. Vietoje žodžių”tada ir tik tada, kai“ būtų galima rašy-

ti kurį nors ekvivalentumo ženklą (≡,⇔,↔). Tada pastarasis teiginysužrašomas taip: F1

∼= F2 ↔ |= F1 ⇔ F2. Tokiu atveju reikia su-sitarti, kad (⇔) reiškia predikatų kalbos ekvivalentumo operaciją, oženklas (↔) – mūsų paaiškinimų kalbos – metateorijos – ekvivalen-tumą, t. y. teiginį

”tada ir tik tada, kai“.

Pateiksime ekvivalenčiųjų formulių pavyzdžius.

¬¬F ∼= F ;F ⇒ G ∼= ¬G⇒ ¬F ;F ⇔ G ∼= ¬F ⇔ ¬G;

11Ekvivalentumas yra bendroji matematikos sąvoka, kurią mes detaliai nagrinėsime4.2.1. paragrafe 130 psl.

Page 32: AKrylovas_DiskrMatem_20080316

18 1 SKYRIUS. LOGIKA

F ∨ F ∼= F ;F&F ∼= F ;

F ⇒ G ∼= ¬F ∨G;F ⇒ G ∼= ¬(F&¬G);

F ∨ t ∼= t;F&t ∼= F ;F ∨ k ∼= F ;F&k ∼= k.

Visas formules galima įrodyti tiesioginiu patikrinimu. Pavyzdžiui, formulėsF ir F & t visada įgyja tą pačią reikšmę (lygybės ženklas reiškia konkrečiąformulės reikšmę esant konkrečiai realizacijai):kai F = t, turime F & t = t & t = t;kai F = k, turime F & t = k & t = k.Taigi įrodyta, kad F & t ∼= F .

1.3.2. Teisingumo lentelės

Žinodami įeinančių į loginę formulę loginių kintamųjų reikšmes, atliekamelogines operacijas (žr. 12 psl.) ir surandame formulės reikšmes. Visas for-mulės reikšmes įrašome į teisingumo reikšmių lentelę. Taigi teisingumolentelė teikia pilną informaciją apie loginę formulę.

1.4 pavyzdys. Formulės

f(x1, x2, x3) = (x1 ⇒ x2) & (x1 ⇒ x3)

reikšmes bei jų skaičiavimo eigą nusako ši teisingumo reikšmių lentelė.

x1 x2 x3 x1 x2 x1 ⇒ x2 x1 ⇒ x3 f(x1, x2, x3)

k k k t t t k k

k k t t t t t t

k t k t k t k k

k t t t k t t t

t k k k t t t t

t k t k t t t t

t t k k k k t k

t t t k k k t k

Page 33: AKrylovas_DiskrMatem_20080316

1.3. LOGIKOS FORMULIŲ SEMANTIKA 19

1.8 pastaba. Formulės teisingimo lentele vadinama tik dalis pateik-tos lentelės: trys pirmieji stulpeliai x1, x2, x3 ir paskutinis stulpelisf(x1, x2, x3). Tačiau, kad nekartoti pirmųjų trijų stulpelių, į teisingu-mo lenteles įrašome ir tarpinius skaičiavimus.

1.3.3. Logikos dėsniai

Tapačiai teisingos formulės – tautologijos – dar vadinamos logikos dės-niais. Surašykime svarbiausius iš jų į lentelę.12

Pavadinimas Formulė

negalimo trečiojo dėsnis x ∨ x

dvigubasis neigimas x ⇔ x

prieštaravimas x & x

tapatybės dėsnis x ⇒ x

”modus ponens“ x & (x⇒ y) ⇒ y

”modus tollens“ (x⇒ y)& y ⇒ x

silogizmas (x ⇒ y) & (y ⇒ z) ⇒ (x ⇒ z)

kontrapozicija x ⇒ y ⇔ y ⇒ x

de Morgano dėsniaix & y ⇔ x ∨ y

x ∨ y ⇔ x & y

Visos formulės įrodomos, sudarant jų teisingumo reikšmių lenteles.Įrodykime, pavyzdžiui, pirmąjį de Morgano13 dėsnį:

x y x y x & y x & y x ∨ y x & y ⇔ x ∨ y

k k t t k t t t

k t t k k t t t

t k k t k t t t

t t k k t k k t

12Atkreipkime dėmesį, kad ekvivalentumo ženklas ⇔ yra loginė operacija. Visų lentelėsformulių reikšmė lygi t, t. y. jos visos yra tautologijos. Taikydami 1.1 teoremą (17 psl.),formules F ⇔ G galime perrašyti pavidalu F ∼= G. Pavyzdžiui, x ⇔ x ∼= t ir x ∼= x.

13Augustus de Morgan (1806 – 1871) – škotų matematikas ir logikas.

Page 34: AKrylovas_DiskrMatem_20080316

20 1 SKYRIUS. LOGIKA

Iš lentelės matome, kad formulė x & y ⇔ x∨y yra tautologija, kurią galimaperrašyti ir taip: x & y ∼= x ∨ y.

1.3.4. Konjunkcijos ir disjunkcijos savybės

Kaip ir anksčiau, visos pateikiamos tautologijos įrodomos tiesioginiu patik-rinimu. Taigi visų formulių teisingumo lentelės dešinysis stulpelis bus užpil-dytas logine konstanta t.

Pavadinimas Formulė

idempotentumas x ∨ x ⇔ xx & x ⇔ x

konjunkcijoskomutatyvumas(perstatomumas)

x & y ⇔ y & x

disjunkcijoskomutatyvumas(perstatomumas)

x ∨ y ⇔ y ∨ x

konjunkcijosasociatyvumas(jungiamumas)

(x & y) & z ⇔ x & (y & z)

disjunkcijosasociatyvumas(jungiamumas)

(x ∨ y) ∨ z ⇔ x ∨ (y ∨ z)

distributyvumas(skirstomumas)

x & (y ∨ z) ⇔ x & y ∨ x & z

x ∨ y & z ⇔ (x ∨ y) & (x ∨ z)

absorbcijios(sugerties)dėsniai

x & (x ∨ y) ⇔ xx ∨ x & y ⇔ x

1.3.5. Implikacijos savybės

Surašykime į lentelę dar kelias nesunkiai patikrinamas tautologijas.

Page 35: AKrylovas_DiskrMatem_20080316

1.3. LOGIKOS FORMULIŲ SEMANTIKA 21

Pavadinimas Formulė

įvedimo irpašalinimoschemos

x ⇒ (y ⇒ x)(x ⇒ y) ⇒ ((x⇒ (y ⇒ z)) ⇒ (x ⇒ z))x ⇒ (y ⇒ x ∨ y)x & y ⇒ x(x ⇔ y) ⇒ (x ⇒ y)

distributyvumo(skirstomumo)dėsniai

x ∨ (y ⇒ z) ⇔ x ∨ y ⇒ x ∨ zx ⇒ y & z ⇔ (x ⇒ y) & (x ⇒ z)x ⇒ y ∨ z ⇔ (x ⇒ y) ∨ (x ⇒ z)x ⇒ (y ⇔ z) ⇔ (x ⇒ y ⇔ x ⇒ z)

1.3.6. Tautologijų nustatymo taisyklės

Teisingumo reikšmių lentelės metodas yra universalus, tačiau reikalaujan-tis daug darbo. Kartais įrodyti, kad formulė yra tautologija galima greičiau,taikant atskyrimo (modus ponens) taisyklę.

1.2 teorema. Tarkime, kad formulės F ir F ⇒ G yra tautologijos.Tada formulė G irgi yra tautologija, t. y. iš |= F ir |= F ⇒ G išplau-kia |= G.Įrodymas. Jei šis teiginys nėra teisingas, t. y. G(X) nėra tautologija,egzistuoja tokia loginių kintamųjų interpretacija (rinkinys X = ν),kuriai esant formulė G(X) įgyja reikšmę k – klaida: G(ν) = k. Ka-dangi F yra tautologija, gauname kad esant šiai interpretacijai ν:t ⇒ k = k ir tada formulė F ⇒ G nėra tautologija. Tai prieštaraujateoremos prielaidai, kad |= F ⇒ G.

Taigi jei turime tautologiją X ⇒ Y , įstatę vietoje X bet kurią kitątautologiją, gauname naują tautologiją.

1.5 pavyzdys. Iš |= X ⇒ Y ∨X ir |= X ⇒ X gauname|= (X ⇒ X)⇒ Y ∨ (X ⇒ X).

1.6 pavyzdys. Iš |= X ⇒ Y ∨X ir |= X & Y ⇒ Y gauname|= (X & Y ⇒ Y ) ⇒ Y ∨ (X & Y ⇒ Y ).

Suformuluokime dar vieną tautologijų įrodymo taisyklę. Tarkime, kad xyra formulės F poformulis. Jei formulėje F poformulį x pakeisime formuleH, gausime naują formulę, kurią žymėsime SHx F . Jei formulė F buvo tauto-logija, tai jos visos reikšmės lygios t ir nepriklauso nuo x. Todėl ir pakeitus

Page 36: AKrylovas_DiskrMatem_20080316

22 1 SKYRIUS. LOGIKA

x į H reikšmės nepasikeis ir formulė liks tautologija. Trumpiau, iš |= Fišplaukia |= SHx F .

1.7 pavyzdys. Iš |= x ⇒ x gaunameSx∨yx (x⇒ x) = |= x ∨ y ⇒ x ∨ y;Sz&w∨yx (x⇒ x) = |= z & w ∨ y ⇒ z & w ∨ y;

S(x∨z)&w∨yx (x⇒ x) = |= (x ∨ z) & w ∨ y ⇒ (x ∨ z) & w ∨ y.

Kartais tautologijai įrodyti patogu taikyti prieštaros bei ekvivalen-čiųjų pertvarkių metodus.

1.8 pavyzdys. Įrodykime prieštaros metodu, kad formulė F = (A⇒(B ⇒ A)) yra tautologija. Sprendžiame loginę lygtį14 F (X) = k. Imp-likacija (⇒) įgyja klaidingą reikšmę (žr. 12 psl.) tik kai t⇒ k. Taigituri būti A = t, (B ⇒ A) = k. Gauname, kad turi būti (B ⇒ t) = k,bet implikacija tokių reikšmių neturi, nepriklausomai nuo B. Todėllygtis F (X) = k neturi sprendinių ir visais atvejais gauname F = t, t.y. formulė F yra tautologija.

1.9 pavyzdys. Ekvivalenčiųjų pertvarkių metodu įrodykime,kad formulė

A & B ∨ (A ∨B)

yra tautologija. Taikome dvigubo neigimo dėsnį:A & B ∼= A & B. Reiškiniui A & B taikome de Morgano dėsnį:A & B ∼= A ∨B. Taigi taikydami negalimo trečiojo dėsnį, gaunameA ∨B ∨ (A ∨B) ∼= t.

1.3.7. Loginis išvedamumas

1.10 apibrėžimas. Formulė H(x1, x2, . . . , xn) vadinama loginių for-mulių F1(x1, x2, . . . , xn), F2(x1, x2, . . . , xn), . . ., Fm(x1, x2, . . . , xn)logine išvada, kai H įgyja reikšmę t, jei visos formulės Fj įgijo reikš-mę t.

Taigi teisingumo lentelėje

14Išspręsti lygtį F (X) = k – reiškia rasti tokią kintamųjų reaizaciją X = ν, kad F (ν) =k. Pastebėkime, kad mes įrodome formulę bedruoju atveju, kai A ir B bet kurios loginėsformulės. Įrodomi nežinome ne tik kaip jos priklauso nuo kintamųjų X = (x1, . . . , xn),bet ir kiek tų kintamųjų yra.

Page 37: AKrylovas_DiskrMatem_20080316

1.3. LOGIKOS FORMULIŲ SEMANTIKA 23

x1 x2 · · · xn F1 F2 · · · Fm Hnegali būti tokių eilučių

x01 x0

2 · · · x0n t t · · · t k

Iš čia gauname, kad jei išvedimo (įrodymo) prielaidos F1, F2, . . ., Fmyra tautologijos, tai loginė išvada H irgi yra tautologija.

Formulių F1, . . . , Fm loginę išvadą žymėsime taip:

F1, F2, . . . , Fm |= H.

1.3 teorema. (Loginės išvados požymis.) Formulė H yra formulės Floginė išvada tada ir tik tada, kai implikacija F ⇒ H yra tautologi-ja. Kitaip sakant sąlyga F |= H yra būtina ir pakankama, kad būtų|= F ⇒ H).Įrodymas. Būtinumas. Iš F |= H pagal išvados apibrėžimą turimet ⇒ t = t (negalimas atvejis t ⇒ k = k). Kai F = k, pagalimplikacijos apibrėžimą, k ⇒ H = t. Taigi F ⇒ H = t visaisatvejais yra tautologija.Pakankamumas. Kai implikacija F ⇒ H yra tautologija, teisingu-mo lentelėje (F,H,F ⇒ H) negali būti eilutės t, k, t. Todėl lentelėje(F,H) nėra elutės (t, k) ir H yra formulės F išvada.

Panašiai galima įrodyti ir kitus loginės išvados požymius:F1, F2, . . . , Fm |= H tada ir tik tada, kai F1 & F2 & · · · & Fm |= H;F1, F2, . . . , Fm |= H tada ir tik tada, kai |= F1 & F2 & · · · & Fm ⇒ H.

1.4 testas

1Iš dėsnioišplaukia, kadp&s =

A p ∨ sB silogizmoC de MorganoD p ∨ s

1© BA;2© CA;3© CD;4© BD.

2Iš dėsnioišplaukia, kadg ⇒ u⇔

A kontrapozicijosB g ⇒ uC u⇒ gD de Morgano

1© DB;2© AB;3© AC;4© DC.

Page 38: AKrylovas_DiskrMatem_20080316

24 1 SKYRIUS. LOGIKA

31. ((y ∨ g)&r)⇔ ((y&r) ∨ (g&r)) ←→ A. komutatyvumas2. ((y&g)&r)⇔ (y&(g&r)) ←→ B. distributyvumas3. (y&g)⇔ (g&y) ←→ C. asociatyvumas1© BAC; 2© ABC; 3© BCA; 4© CAB; 5© CBA; 6© ACB.

41. s&s ←→ A. negalimas trečiasis2. s ∨ s ←→ B. prieštaravimas3. s⇔ s ←→ C. dvigubas neigimas1© ABC; 2© CBA; 3© BAC; 4© CAB; 5© ACB; 6© BCA.

5Kuri loginė formulė yra tautologija?(G) r⇔ r;(H) r ⇔ r;

1© abi funkcijos;2© (G);3© nė viena;4© (H).

6Kuri loginė formulė yra prieštara?(Q) w ⇒ w;(R) w ∨ w;

1© nė viena;2© (R);3© abi funkcijos;4© (Q).

71. y ∨ y ⇔ A. x&y2. y ∨ y ⇔ B. t3. y&x ⇔ C. y

1© CAB; 2© ABC;3© ACB; 4© CBA;5© BAC; 6© BCA.

81. r⇒ r ⇔ A. r2. r⇒ r ⇔ B. t3. r⇒ r ⇔ C. r

1© ACB; 2© BAC;3© ABC; 4© CBA;5© BCA; 6© CAB.

9 p ∨ (k ⇒ p) = 1© p; 2© p; 3© k; 4© t.

10 t⇔ y = 1© y; 2© t; 3© y; 4© k.

Page 39: AKrylovas_DiskrMatem_20080316

1.4. FORMALIZUOTAS TEIGINIŲ SKAIČIAVIMAS 25

1.4. Formalizuotas teiginių skaičiavimas

1.4.1. Teisingų samprotavimų taisyklės

Kai kurios tautologijos leidžia išskirti teisingų samprotavimų struktūrą,t. y. atsakyti į klausimą kas iš ko išplaukia. Išnagrinėkime tautologiją|= F & (F ⇒ G) ⇒ G. Iš loginės išvados požymio 1.3.7. teoremos (23 psl.)gauname F,F ⇒ G |= G, t. y. jei turime dvi formules F ir F ⇒ G,tai gauname dar vieną formulę G. Ši samprotavimų schema – išvedimotaisyklė – vadinama ”modus ponens“ taisykle ir užrašoma taip

F, F ⇒ G

∴ G

Taisyklė reiškia, kad jei turime teisingą teoremos prielaidą F ir įrodėmeimplikaciją (teoremą) F ⇒ G bus teisinga ir teoremos išvada G. Taigi

”modus ponens“ yra išvados atskyrimo nuo prielaidos taisyklė.

Kita teisingų samprotavimų taisyklė pagrįsta tokia tautologija((F ⇒ G) & ¬G)⇒ ¬F ir vadinama

”modus tollens“:

F ⇒ G, ¬G∴ ¬F

Taigi jei esame įrodę implikaciją (teoremą) ir teoremos išvada yra klaidinga,tai bus klaidinga ir teoremos prielaida. Kitaip tariant turime prielaidosatskyrimo nuo išvados taisyklę.

Surašykime į lentelę dar kelias išvedimo taisykles.

Tautologija Išvedimo taisyklė

(1) x ⇒ x ∨ yx

∴ x ∨ y

(2) x & y ⇒ xx & y

∴ x

(3) ((x ⇒ y) & (z ⇒ w)) &(x⇒ y)&(z ⇒ w), x ∨ z

∴ y ∨ w(x ∨ z)⇒ y ∨ w

Page 40: AKrylovas_DiskrMatem_20080316

26 1 SKYRIUS. LOGIKA

(4) (x ⇒ y)⇒ (y ⇒ x)x⇒ y

∴ y ⇒ x

(5) (x ⇒ y) & (y ⇒ z) ⇒ x⇒ y , y ⇒ z

∴ x ⇒ z(x ⇒ z)

(6) x ⇒ (y ⇒ z) ⇔ x ⇒ (y ⇒ z)

∴ y ⇒ (x ⇒ z)y ⇒ (x ⇒ z)

(7) x ⇒ (y ⇒ z) ⇔ x ⇒ (y ⇒ z)

∴ x & y ⇒ zx & y ⇒ z

(8) (x & y ⇒ z) ⇒ x & y ⇒ z

∴ x ⇒ (y ⇒ z)(x ⇒ (y ⇒ z))

Šios taisyklės vadinamos taip:(1) – disjunkcijos įvedimo;(2) – konjunkcijos pašalinimo;(3) – konstrukcinė dilema;(4) – kontrapozicija;(5) – silogizmas;(6) – prielaidų perstata;(7) – prielaidų sujungimas;(8) – prielaidų atskyrimas.

1.4.2. Aksiominis metodas

Nagrinėsime kitą logikos dėsnių įrodymo metodą. Pirma pasirinksimekelis pradinius dėsnius – aksiomas, leidžiančias gauti kitus logikos dėsnius.Toliau suformuluosime taisykles, pagal kurias galima įrodyti logikos dėsnius– teoremas. Visų šių aksiomų, taisyklių ir teoremų aibė sudaro formaliąjąarba aksiominę teoriją. Kaip tokios teorijos pavyzdį, mes išnagrinėsimeformalizuotą teiginių skaičiavimą L.

(S) Teorijos L simboliai yra dvi loginės operacijos ¬ ir ⇒ (kitos ope-racijos bus apibrėžtos vėliau), loginiai kintamieji x, y, A1, A2, . . . irpagalbiniai simboliai ( , ) (skliaustai ir kablelis).

Page 41: AKrylovas_DiskrMatem_20080316

1.4. FORMALIZUOTAS TEIGINIŲ SKAIČIAVIMAS 27

(F) Teorijos L formulės sudaromos pagal tokias taisykles:(a) kintamieji yra formulės;

(b) jei X yra formulė, tai ir (¬X) – formulė;(c) jei X ir Y yra formulės, tai (X ⇒ Y ) irgi yra formulė;(d) nėra kitaip (ne pagal (a)–(c)) sudarytų formulių.Kaip ir anksčiau (žr. 1.2 pastabą 4 psl.) susitarkime nerašyti išoriniųskliaustų.

(A) Kokios bebūtų formulės A, B, C, formulės

(A1) A⇒ (B ⇒ A);(A2) (A⇒ (B ⇒ C))⇒ ((A⇒ B)⇒ (A⇒ C));(A3) (¬B ⇒ ¬A)⇒ ((¬B ⇒ A)⇒ B).

yra teorijos L aksiomos.

(MP) Teorijos L išvedimo taisyklė yra”modus ponens“: formulė B yra

tiesioginė išvada iš A ir A⇒ B (trumpiau rašysime MP(A, A⇒ B).

Pastebėkime, kad reiškiniai (A1) – (A3) yra aksiomos, kai vietoje A, B,C rašomos konkrečios formulės, pavyzdžiui, propoziciniai kintamieji. Todėlkiekvienas iš šių reiškinių apibrėžia be galo daug formulių ir jos visos vadi-namos aksiomomis, o reiškiniai (A1) – (A3) vadinami aksiomų schemomis.

1.11 apibrėžimas. Formulės F išvedimu iš formulių aibės (rinki-nio) Γ (rašome Γ ⊢ F ) vadinama tokia baigtinė formulių seka F1, F2,. . ., Fs, kad kiekviena formulė Fj yra

arba aksioma,

arba formulė iš Γ,

arba formulė, gauta iš ankstesniųjų formulių Fk, Fl (k, l < j), pritaikiusMP taisyklę;

arba paskutinioji išvedimo formulė Fs sutampa su F .

Rinkinio Γ formulės vadinamos hipotezėmis (išvedimo prielaidomis).Kai tokių prielaidų nėra, t. y. aibė Γ yra tuščioji15 Γ = ∅, formulėF vadinama teorijos L teorema ir žymima ⊢ F . Kai reikia pabrėžti,kad kalbama apie teoriją L rašoma Γ ⊢L F

15Tuščiąja vadiname aibę (žymime ∅), kuri neturi nė vieno elemento (žr. 89 psl.)

Page 42: AKrylovas_DiskrMatem_20080316

28 1 SKYRIUS. LOGIKA

1.4 teorema. ⊢ A ⇒ A.Įrodymas. Įstatome į (A2) B = (A⇒ A) ir C = A.Trumpiau rašome SA,A⇒A,A

A,B,C (A2). Taigi(F1) (A⇒ ((A⇒ A)⇒ A))⇒ ((A⇒ (A⇒ A))⇒ (A⇒ A)).Rašydami (A1) formulėje A⇒ A vietoje B (t. y. SA,A⇒A

A,B (A1)), gau-name(F2) A⇒ ((A⇒ A)⇒ A).Taikome gautoms formulėms išvedimo taisyklę MP(F1,F2):(F3) ((A⇒ (A⇒ A))⇒ (A⇒ A).Vėl taikome aksiomą SA,AA,B(A1):(F4) A⇒ (A⇒ A).Galutinai pagal MP(F3,F4) taisyklę gauname(F5) A⇒ A.

1.5 teorema. (Dedukcijos teorema; Erbranas16, 1930)Jei Γ yra formulių rinkinys, A – formulė ir Γ, A ⊢ F , tai Γ ⊢ A⇒ F .Įrodymas. Tarkime, kad F1, F2, . . ., Fs yra formulės F išvedimas išhipotezių Γ ir formulės A. Taigi Fs = F .

Pirma išnagrinėkime atvejį s = 1. Tada F1 yra arba aksioma, arbaformulė iš Γ, arba F1 = A = F . Pastaruoju atveju jau įrodyta kad⊢ F ⇒ F . Pirmaisiais dviem atvejais turime aksiomą SF1,A

A,B (A1):F1 ⇒ (A⇒ F1) (A1′) ir taikome taisyklę MP(F1,A⇒ F1).

Bendruoju atveju (s > 1) taikome matematinės indukcijos principą(žr. 1.5.8. 43 psl.) Darome prielaidą, kad Γ ⊢ A⇒ Fk, kai k < i 6 s.Reikia įrodyti teiginį Γ ⊢ A⇒ Fi. Formulė Fi visada yra vieną iš šiųketurių: 1) Fi yra aksioma, arba 2) Fi yra formulė iš Γ, arba 3) Fisutampa su A arba 4) Fi gauta pritaikius taisyklę MP(Fj , Fj ⇒ Fi),(j < i). Pirmieji trys atvejai nagrinėjami, kaip jau išnagrinėtas atvejiss = 1.

Ketvirtuoju atveju turime indukcinę prielaidąΓ ⊢ A⇒ Fj ; (P1)Γ ⊢ A⇒ (Fj ⇒ Fi). (P2)

Taikome SA,Fj,Fi

A,B,C (A2):(A⇒ (Fj ⇒ Fi))⇒ ((A⇒ Fj)⇒ (A⇒ Fi)). (A2′).Pagal MP(P2, A2′):(A⇒ Fj)⇒ (A⇒ Fi). (R).Ir vėl taikome MP(P1,R). Taigi gavome A ⇒ Fi ir, pagal indukciją,

16Jacques Herbrand (1908 – 1931) – prancūzų matematikas.

Page 43: AKrylovas_DiskrMatem_20080316

1.4. FORMALIZUOTAS TEIGINIŲ SKAIČIAVIMAS 29

teiginys Γ ⊢ A⇒ Fi teisingas su visais i. Todėl jis teisingas, kai i = sir turime Fs = F arba Γ ⊢ A⇒ F . Teorema įrodyta.

Pastebėkime, kad formulių aibė gali būti tuščioji (Γ = ∅). Tada išdedukcijos teoremos gauname, kad iš A ⊢ F išplaukia ⊢ A ⇒ F , t. y.išvesta (įrodyta) implikacija A⇒ F yra teorijos L teorema.

Įrodykime dar, kad bet kurioms formulėms A, B, C galioja išvedimas:A⇒ B, B ⇒ F ⊢ A⇒ F .Sukonstruokime tokį formulės F išvedimą:A⇒ B, B ⇒ F , A, B, F .Čia pirmosios trys formulės yra hipotezės, formulęB gauname pagal MP(A,A⇒B), o formulę F – pagal MP(B, B ⇒ F ). Taigi turime A ⇒ B, B ⇒ F ,A ⊢ F ir taikome dedukcijos teoremą. Gautą rezultatą galima užrašytiimplikacijos įvedimo taisyklės pavidalu:

Γ, A ⊢ F∴ Γ ⊢ A ⇒ F

1.9 pastaba. Aksiomose (A1) – (A3) panaudotos tik dvi loginės ope-racijos: neigimas (¬) bei implikacija (⇒). Todėl teiginių algebrosformules galima apibrėžti nenaudojant kitų operacijų. Konjunkcijos,disjunkcijos bei ekvivalentumo operacijos apibrėžiamos taip:

(D1) (A & B) pažymėta (¬(A ⇒ ¬B));(D2) (A ∨ B) pažymėta ((¬A)⇒ B));(D3) (A ⇔ B) pažymėta ((A ⇒ B) & (B ⇒ A)).

Galima įrodyti tokias loginių operacijų įvedimo ir pašalinimo taisykles:

Γ ⊢ F, Γ ⊢ G∴ Γ ⊢ F & G

Γ, G ⊢ F, Γ,H ⊢ F∴ Γ, G ∨H ⊢ F

Γ ⊢ F∴ Γ ⊢ F ∨G

Γ ⊢ F & G

∴ Γ ⊢ F

1.4.3. Formaliosios teorijos savybės

Teorijai L apibrėžti nebuvo jokių reikalavimų operacijoms ¬ ir ⇒. Tar-kime, kad jos apibrėžtos taip, kaip ir ankščiau (12 psl.)

Page 44: AKrylovas_DiskrMatem_20080316

30 1 SKYRIUS. LOGIKA

A B ¬A ¬B A⇒ B B ⇒ A

k k t t t tk t t k t kt k k t k tt t k k t t

Esant taip apibrėžtoms operacijoms visos aksiomos – formulės gautospagal (A1) – (A3) schemą – įgyja reikšmę t, todėl yra tautologijos (žymime|=). Kai A ir A⇒ F yra tautologijos, F irgi tautologija. Taigi pagal MP(A,A ⇒ F ) taisyklę iš tautologijų gauname tik tautologijas. Tarkime, kad Fyra teorijos L teorema (⊢ F ). Tai reiškia, kad egzistuoja išvedimas F1,F2, . . ., Fs ⊢ F ir visos formulės Fj yra arba aksiomos arba gautos pagalMP(Fk,Fk ⇒ Fj), (k < j) taisyklę. Matome, kad visos formulės Fj yratautologijos. Todėl įrodytas toks teiginys.

1.6 teorema. Jei ⊢ F , tai |= F .

Teisingas ir atvirkštinis teiginys: jei |= F , tai ⊢ F .Taigi teorijos L formulė yra teorema tada ir tik tada, kai ji yra

teiginių algebros tautologija. Ši teorijos savybė vadinama pilnumu.Kita svarbi formaliosios teorijos savybė – jos neprieštaringumas: ne-

egzistuoja tokia teorijos formulė A, kad ir A, ir ¬A yra teoremos. Iš tauto-logijos apibrėžimo išplaukia, kad teorija L neprieštaringa.

Pateiktos lentelėje loginių operacijų reikšmės gali būti ir kitos. Tai jaunebus teiginių skaičiavimas, bet visos teorijos L formulės gali būti apska-čiuotos. Išnagrinėkime daugiareikšmės logikos pavyzdį.

1.10 pavyzdys.A B ¬A A⇒ B B ⇒ (A⇒ B)

k k n k kk n n t kk t n t kn k n t tn n n t kn t n k kt k k k kt n k k tt t k k k

Page 45: AKrylovas_DiskrMatem_20080316

1.5. PREDIKATŲ LOGIKA 31

Pastebėkime, kad dešinysis teisingumo lentelės stulpelis yra aksioma(A1). Jei suskaičiuoti formulių (A2) ir (A3) reikšmes, gausime vieną kons-tantą k. Tokios, įgyjančios tą pačią reikšmę k, formulės vadinamos išskir-tosiomis. Taigi visos (A2), (A3) aksiomos yra išskirtosios, o (A1) – nėra.Pagal taisyklę MP(A, A ⇒ F ) iš išskirtųjų formulių A ir A ⇒ F gaunameišskirtąją formulę F . Iš čia išplaukia, kad formulė (A1) negali būti išvesta išformulių (A2) ir (A3) pagal MP taisyklę. Todėl aksioma (A1) nepriklausonuo kitų aksiomų.

1.5. Predikatų logika

1.5.1. Kvantoriai ir predikatai

Kai kurių loginių samprotavimų nepavyksta išreikšti teiginiaias. Pavyz-džiui, sakiniai

”Realusis skaičius x > π“,

”α = β “

nėra teiginiai, kadangi jie gali būti ir teisingi, ir klaidingi, priklausomainuo x, α, β reikšmių.

Išnagrinėkime šiuos samprotavimus:

”Visi Jono draugai yra studentai. Petras yra Jono draugas.

Todėl Petras yra studentas“.

”Kai kurių šalių sostinės yra miestai. Todėl yra sostinės, kurios yra kaimai.“

Jų teisingumui nustatyti reikia ne tik žinoti ar teisingi atskiri šių sudė-tinių samprotavimų teiginiai, bet ir teisingai suprasti tokius reiškinius, kaip

”visi“,

”kai kurie“,

”kiekvienas“ ir pan.

Apibrėžkime dar dvi logines operacijas, kurios vadinamos egzistavimo(žymimas ∃) ir bendrumo (∀) kvantoriais.17 Egzistavimo kvantorius nu-rodo, kad yra, galima rasti, egzistuoja tam tikras objektas: ∃α p(α) skaitoma

”yra tokia (tokios) α, kuri turi savybę p“. Bendrumo kvantorius nurodo, kad

savybę p turi visi objektai α: ∀α p(α) skaitoma”visoms (kokia bebūtų) α,

galioja sąlyga p“.17Egzistavimo kvantoriaus žymėjimas ∃ – angliško žodžio Exist (egzistuoti, būti) pirmo-

sios raidės veidrodinis atvaizdas. Bendrumo kvanroriaus žymėjimas – angliško žodžio Any

(bet koks, bet kuris) apversta pirmoji raidė. Kvantoriaus (nuo lotyniško žodžio”quantum“

– kiek) terminą 1885 m. pasiūlė Pyrsas (žr. ?? psl.) Žymėjimas ∃! reiškia, kad egzistuoja

vienintelis objektas.

Page 46: AKrylovas_DiskrMatem_20080316

32 1 SKYRIUS. LOGIKA

Norėdami nagrinėti tokius sakinius, kaip”α = β “ turime pasitikslinti

kintamųjų α, β prigimtį: tai gali būti skaičiai, matricos, funkcijos ir t. t. To-kius kintamuosius vadiname dalykiniais (individiniais) kintamaisiais arbatiesiog kintamaisiais ir žymime x, y, z, . . . , x1, y2, . . . Dalykinių kintamųjųreikšmes vadiname konstantomis ir žymime α, β, . . . , α1, β2, . . .. FunkcijaP (x1, x2, . . . , xn) vadinama predikatu, jei esant bet kuriai dalykinių kinta-mųjų x1, x2, . . . , xn realizacijai α1, α2, . . . , αn, P (α1, α2, . . . , αn) yra teiginys.

Pavyzdžiui, kai x ir y yra realieji skaičiai, galime nagrinėti tokius predi-katus:

P (x, y) =”x2 > y “,

G(x) =”sinx > cos x “,

R(y) =”y2 = e−y“.

Tada P (1, 0) yra teisingas teiginys, G(0) – klaidingas. Teiginys R(α) įgyjateisingą reikšmę (t), kai y = α yra lygties y2ey = 1 šaknis.

Taikydami kvantorius ir predikatus, galime sudaryti tokius teiginius:∀x∃yP (x, y), ∃xG(x) – teisingi teiginiai; ∀yR(y) – klaidingas teiginys.

Pažymėkime D(x, y) sakinį”x ir y yra draugai “. Sakinį

”y yra studentas

“ pažymėkime S(y), J – Jonas, P – Petras. Tada samprotavimus, kad,”jei

visi Jono draugai yra studentai, o Petras yra Jono draugas, tai ir Petras yrastudentas“ galime užrašyti taip

∀y (D(J, y)⇒ S(y)) ,D(J, P )

∴ S(P )

Taigi čia D(x, y) ir S(y) yra predikaitai, x, y – dalykiniai kintamieji,J , P – dalykinės konstantos.

1.5.2. Operacijos su predikatais

Predikatas P (x1, x2, . . . , xn) įgyja reikšmes t ir k, priklausomai nuo kinta-mųjų x1, x2, . . . , xn reikšmių. Kiekvienas kintamasis xj priklauso tam tikraiaibei Mj ir 18 (x1, x2, . . . , xn) ∈M1×M2×· · ·×Mn. Šią aibę vadiname predi-kato apibrėžimo sritimi. Priklausomai, nuo apibrėžimo srities, predikatosavybės gali iš esmės pasikeisti. Pavyzdžiui, predikatas

”x2 +y2 = −1“ įgyja

reikšmę k, kai (x, y) ∈ R×R = R2. Tačiau, šio predikato reikšmė gali būtiir t, jei x ir y yra kompleksiniai skaičiai.

1.12 apibrėžimas. Predikato P (x1, x2, . . . , xn), apibrėžto srityjeM1×M2×· · ·×Mn, teisingumo aibe vadinama aibė P+ ⊂M1×· · ·×Mn,

18Žymėjimas reiškia, kad kiekvienas kintamasis xj kinta savo srityje Mj nepriklausomainuo kitų kintamųjų; žr. 3.2.4. paragrafą 97 psl.

Page 47: AKrylovas_DiskrMatem_20080316

1.5. PREDIKATŲ LOGIKA 33

jei predikatas P įgyja reikšmę t su visais x1, . . ., xn iš aibės P+ ir įgyjareikšmę k, kai (x1, . . . , xn) /∈ P+, t. y.

P (x) = t, kai x ∈ P+

P (x) = k, kai x /∈ P+.

Pavyzdžiui, predikato P (x, y) =”x2 + y2 = 1“ apibrėžimo sritis yra aibė

R2 = R×R (taip žymime visų realiųjų skaičių porų aibę; žr. 97 psl.), jo tei-singumo aibė P+ – apskritimas su centru koordinačių pradžioje ir spinduliu1.

1.13 apibrėžimas. Predikatas P (x1, . . . , xn) vadinamastautologija (tapačiai teisingu), kai P+ = M1 × · · · ×Mn;prieštara (tapačiai klaidingu), kai P+ = ∅;įvykdomuoju, kai P+ 6= ∅;paneigiamuoju, kai P+ 6= M1 × · · · ×Mn.

1.14 apibrėžimas. Du predikatai P (x1, x2, . . . , xn) irQ(x1, x2, . . . , xn)vadinami lygiaverčiais (ekvivalenčiais, rašome P ∼= Q ), kai1) jie apibrėžti toje pačioje srityje M1 ×M2 × · · · ×Mn;2) jų teisingumo aibės sutampa: P+ = Q+.

Pavyzdžiui, predikatai√x · y = 9 ir

√x ·√y = 9 yra lygiaverčiai (ekviva-

lentieji), jei x > 0 ir y > 0, tačiau jie nėra lygiaverčiai, jei pirmąjį nagrinėti,kai x · y > 0.

Tarkime, kad predikatai P , Q turi bendrą apibrėžimo sritį ir fiksuotastaškas (x0

1, x02, . . . , x

0n) – dalykinių konstantų rinkinys – priklauso šiai sričiai

(aibei). Tada P 0 = P (x01, x

02, . . . , x

0n), Q

0 = Q(x01, x

02, . . . , x

0n) yra teiginaiai

ir todėl jiems apibrėžtos visos mums žinomos (žr. 12 psl.) loginės operacijos:

¬P 0, ¬Q0, P 0 ⇒ Q0, Q0 ⇒ R0, P 0 ⇔ Q0, P 0 & Q0, P 0 ∨Q0.

Taigi P ∼= Q tada ir tik tada, kai naujas predikatas (P ⇔ Q) yra tautologija.

1.15 apibrėžimas. Predikatas Q(x1, . . . , xn) vadinamas predikatoP (x1, . . . , xn) logine išvada (rašome P |= Q), jei predikato P reikšmėlygi t su visais tais x1, . . . , xn, kai Q įgyja reikšmę t.

Loginę išvadą galima apibrėžti ir kitaip19 P+ ⊂ Q+.19Žymėjimas reiškia, kad visi aibės P+ elementai yra ir aibės Q+ (arba kitaip: aibė P+

yra aibės Q+ poaibis (dalis)); žr. 3.1.2. 89 psl.

Page 48: AKrylovas_DiskrMatem_20080316

34 1 SKYRIUS. LOGIKA

Pavyzdžiui, natūraliųjų skaičių aibėje apibrėžti predikataiD3(n) =

”n dalus iš 3 “ ir D6(n) =

”n dalus iš 6 “.

Tada D6(n) |= D3(n) – jei skaičius n dalus iš 6, tai jis dalus ir iš 3. Taippat galioja: D+

6 = 6, 12, 18, . . . ⊂ D+3 = 3, 6, 9, 12, 15, 18, . . ..

Pastebėkime dar, kad P |= Q tada ir tik tada, kai P ⇒ Q yra tautologija.

Iš čia gauname, kad du predikatai P ir Q yra lygiaverčiai (P ∼= Q ), tadair tik tada, kai P ⇒ Q ir Q ⇒ P yra tautologijos. (Predikatas P ⇔ R irgibus tautologija.) Dar pastebėkime, kad šiuo atveju predikatų teisingumosritys lygios: P+ = Q+.

Tarkime, kad predikatai P ir Q apibrėžti toje pačioje aibėje M1×M2×· · · ×Mn ir predikatas Q yra tautologija. Tada koks bebūtų predikatas P ,turime P |= Q.

Tarkime, kad P ⇒ Q ir P yra tautologijos. Tada predikatas Q irgi yratautologija.

1.16 apibrėžimas. Predikatas ¬P vadinamaspredikato P neiginiu, jei1) jis turi tą pačią apibrėžimo sritį;2) įgyja reikšmę k, kai P lygus t ir įgyja reikšmę t, priešingu atveju.

1.11 pavyzdys. P (x) =”x > 0 “, ¬P (x) =

”x < 0 “.

1.12 pavyzdys. L(f) =”f(x) yra lyginė realiojo kintamojo x funk-

cija “, ¬L(f) =”f(x) nėra lyginė realiojo kintamojo x funkcija “.

Pastebėkime, kad ¬L(f) nėra predikatasN(f) =

”f(x) yra nelyginė realiojo kintamojo x funkcija “.

1.17 apibrėžimas. Predikatų P (x1, x2, . . . , xn) ir Q(y1, y2, . . . , ym),apibrėžtų aibėse M1 × · · · ×Mn ir K1 × · · · ×Km, konjunkcija, va-dinamas predikatas

P (x1, x2, . . . , xn) & Q(y1, y2, . . . , ym),

apibrėžtas srityje M1 × · · · ×Mn×K1 × · · · ×Km ir įgyjantis reikšmęt tik ir tik tuo atveju, kai abu predikatai P ir Q lygūs t.Predikatų P ir Q disjunkcija, vadinamas predikatas

P (x1, x2, . . . , xn) ∨ Q(y1, y2, . . . , ym),

apibrėžtas srityje M1 × · · · ×Mn×K1 × · · · ×Km ir įgyjantis reikšmęt tik ir tik tuo atveju, kai bent vienas predikatas P ir Q lygus t.

Page 49: AKrylovas_DiskrMatem_20080316

1.5. PREDIKATŲ LOGIKA 35

1.13 pavyzdys. Tarkime, kad atkarpoje [−1, 1] ⊂ R apibrėžti predi-katai: P (x) =

”|x| < 1 “, Q(x) =

”x 6= 0 “. Tada

(P & Q)+ = (−1, 0) ∪ (0, 1); (P ∨Q)+ = [−1, 1].

1.5 testas

11. 8 = 7 ←→ A. kvantorius2. ∃ ←→ B. teiginys3. g = w ←→ C. predikatas

1© BAC; 2© CBA;3© ACB; 4© CAB;5© ABC; 6© BCA.

21. y < r ←→ A. konstanta2. sinπ > 7 ←→ B. teiginys3. 1 ←→ C. predikatas

1© BAC; 2© CBA;3© CAB; 4© ABC;5© BCA; 6© ACB.

31. ∀ ←→ A. predikatas2. sinπ > 2 ←→ B. kvantorius3. t > w ←→ C. teiginys

1© ACB; 2© BCA;3© CBA; 4© ABC;5© CAB; 6© BAC.

1.5.3. Termai ir formulės

Predikatų logika formalizuojama pagal tą pačią schemą kaip ir teigi-nių logika: apibrėžiama abėcėlė, formulių sudarymo taisyklės, aksiomos beiišvedimo taisyklės.

Veiksmams su dalykiniais kintamaisiais pažymėti naudojamos funkci-nės raidės. Pavyzdžiui, dviejų skaičių x1, x2 sumą x1 + x2 galima išreikštifunkcine raide p2

1(x1, x2). Taigi žymime visus leistinus dalykinių kintamųjųbei konstantų reiškinius f, g, . . . , f1, g2, . . . ir vadiname juos funkcinėmisraidėmis. Tai gali būti, pavyzdžiui, aritmetinės operacijos arba trigonomet-rinės funkcijos. Toliau nagrinėjame visus reiškinius, kuriuos galima sudaryti,taikant tas operacijas arba funkcijas.

1.18 apibrėžimas. Termais vadiname reiškinius, kuriuos galima gau-ti pagal šias taisykles:(a) kiekviena konstanta arba kintamasis yra termas;(b) jei f yra funkcinė raidė ir t1, t2, . . . , tn – termai,tai f(t1, t2, . . . , tn) yra termas;(c) nėra termų, gautų ne pagal (a), (b) taisykles.

Page 50: AKrylovas_DiskrMatem_20080316

36 1 SKYRIUS. LOGIKA

Predikatų kalbos abėcėlė apibrėžiama kaip šių elementų aibė:1) loginių operacijų: ¬, &, ∨, ⇒, ⇔;2) pagalbinių simbolių: skliaustų

”( “,

”) “ bei kablelio

”, “;

3) kvantorių: ∀, ∃;4) kintamųjų;5) konstantų;6) funkcinių raidžių;7) predikatinių raidžių (predikatų).

Jei t1, t2, . . . , tn yra termai, o P yra predikatas, tai P (t1, t2, . . . , tn) va-diname elementariąja formule (atomine formule).Predikatų skaičiavimo formulės apibrėžiamos šiomis taisyklėmis:(a) elementariosios formulės yra formulės;(b) jei A ir B yra formulės, x – kintamasis, tai(¬A), (A&B), (A ∨B), (A⇒ B), (A⇔ B), (∀xA), (∃xA)yra formulės;(c) nėra formulių, gautų ne pagal (a), (b) taisykles.

1.5.4. Suvaržytieji ir laisvieji kintamieji

1.19 apibrėžimas. Kintamojo įeitis į formulę nusakoma šio kinta-mojo simboliu bei jo vietos formulėje numeriu. Vietos, kur prieš kin-tamąjį yra kvantorius, neskaičiuojamos.

1.14 pavyzdys. Formulėje P (x, z)⇒ (∀z(Q(y, z) ∨ (y ⇒ z))) yraviena kintamojo x įeitis;dvi kintamojo y įeitys;trys kintamojo z įeitys.

Kaip ir teiginių algebros formulėse (žr. 1.9 apibrėžimą 15 psl.) galimaišskirti predikatų skaičiavimo formulių poformulius. Išnagrinėto pavyzdžioformulėje turime poformulius y ⇒ z, Q(y, z), Q(y, z) ∨ (y ⇒ z) ir t. t.

Kintamojo x įeitis į formulę F vadinama laisvąja, jei ji nepriklauso jo-kiai formulės F daliai (poformuliui), prasidedančiai ∀x arba ∃x. Priešinguatveju kintamojo x įeitis vadinama suvaržytąja formulėje F . Kintama-sis vadinamas laisvuoju formulėje F , jei jis turi bent vieną laisvąją įeitį.Formulė vadinama uždarąja, jei ji neturi laisvųjų kintamųjų.

Kai visi formulės F kintamieji x1, x2, . . . , xn yra laisvieji, rašomeF (x1, x2, . . . , xn).

Susitarkime, kad formulės F , ∀xF ir ∃xF yra ekvivalenčios, kai F ne-priklauso nuo x.

Page 51: AKrylovas_DiskrMatem_20080316

1.5. PREDIKATŲ LOGIKA 37

1.5.5. Predikatų skaičiavimo dėsniai

Egzistavimo ir bendrumo kvantorių reiškimas vienas kitu

∃xP (x)⇔ ∀xP (x)

∀xP (x)⇔ ∃xP (x)

Šios formulės dar vadinamos de Morgano dėsniais predikatams.Įrodykime pirmąją formulę. Tarkime, kad x0 tokia dalykinio kintamojo

reikšmė, kad P (x0) = t. Tada ∃xP (x) = t ir šio teiginio neiginys lygus k.Galimi du atvejai: 1) egzistuoja kitas x1, kad P (x1) = k, tada P (x1) = t irteiginys ∀xP (x) yra klaidingas, t. y. gauname k = k; arba 2) tokio x1 nėrair P (x) = t arba P (x) = k su visais x: (∀xP (x)) = k, t. y. vėl gaunamek = k.

Dabar tarkime, kad tokio x0, kad P (x0) = t pasirinkti negalima. Tada∀xP (x) = ∀xk = t. Iš kitos pusės, teiginys ∃xP (x) nuo x nepriklauso (yratapačiai klaidingas), o jo neiginys lygus t. Taigi gauname t = t.

Kvantorių sąveika su konjunkcija ir disjunkcija

∀x(P (x)&Y )⇔ (∀xP (x))&Y

∀x(P (x) ∨ Y )⇔ (∀xP (x)) ∨ Y

∃x(P (x)&Y )⇔ (∃xP (x))&Y

∃x(P (x) ∨ Y )⇔ (∃xP (x)) ∨ Y

∀x(P1(x)&P2(x))⇔ (∀xP1(x)) & (∀xP2(x))

∃x(P1(x) ∨ P2(x))⇔ (∃xP1(x)) ∨ (∃xP2(x))

((∀xP1(x)) ∨ ∀(xP2(x)))⇒ ∀x(P1(x) ∨ P2(x))

((∃xP1(x)) & ∃(xP2(x)))⇒ ∃x(P1(x) & P2(x))

Pastebėkime, kad bendrumo kvantorius neturi distributyvumo savybėsdisjunkcijos atžvilgiu: bendru atveju nėra ekvivalenčios formulės ∀x(P1(x)∨P2(x)) ir (∀xP1(x)) ∨ (∀xP2(x)).

Egzistavimo kvantorius neturi distributyvumo savybės konjunkcijos at-žvilgiu: nėra ekvivalenčios formulės ∃x(P1(x)&P2(x)) ir (∃xP1(x)) & (∃xP2(x)).

Page 52: AKrylovas_DiskrMatem_20080316

38 1 SKYRIUS. LOGIKA

Kvantorių sąveika su implikacija

∀x(P (x)⇒ Q)⇔ (∃xP (x))⇒ Q

∃x(P (x)⇒ Q)⇔ (∀xP (x))⇒ Q

∀x(Q⇒ P (x))⇔ Q⇒ (∀xP (x))

∃x(Q⇒ P (x))⇔ Q⇒ (∃xP (x))

Įrodykime, pavyzdžiui, pirmąją formulę. Ji nebus tautologija, jei ekvivalen-tumo operandai įgyja skirtingas reikšmes, t. y. turime du atvejus:

∀x(P (x)⇒ Q) = k, (∃xP (x))⇒ Q = t, (1)

∀x(P (x)⇒ Q) = t, (∃xP (x))⇒ Q = k. (2)

Pirmuoju atveju turi būti P (x) = t ir Q = k. Todėl ∃xP (x) = t ir(∃xP (x)) ⇒ Q = t ⇒ k = k. Taigi atvejis (1) neįmanomas. Antruojuatveju turi būti ∃xP (x) = t ir Q = k. Tada kairėje (2) formulės pusėjeturi būti P (x) ⇒ Q = k ⇒ k = t su visais x. Bet tai prieštarauja, kad∃xP (x) = t. Taigi atvejis (2) irgi yra negalimas ir pirmoji formulė įrodyta.

Kvantorių pašalinimo ir įvedimo dėsniai

∀xP (x)⇒ P (y)

P (y)⇒ ∃xP (x)

Kvantorių komutatyvumas

∀x∀yP (x, y)⇔ ∀y∀xP (x, y)

∃x∃yP (x, y)⇔ ∃y∃xP (x, y)

∃x∀yP (x, y)⇒ ∀y∃xP (x, y)

Page 53: AKrylovas_DiskrMatem_20080316

1.5. PREDIKATŲ LOGIKA 39

1.6 testas

Įrodykite predikatų teorijos dėsnį ∀wR(w)⇒ R(u) (F )

1Pažymėkime L predikato

(A) teisingumo(B) apibrėžimo(C) reikšmių

sritį ir R+ – jo(A) apibrėžimo(B) reikšmių(C) teisingumo

sritį.

1© CA; 2© BC; 3© AC;4© CB; 5© BB; 6© BA;7© AA; 8© CC; 9© AB.

2

(1) Tarkime, kad L 6= ∅ ir R+ = L. Tada(A) ∀wR(w) = t

(B) ∀wR(w) = kir (A) R(u) = t

(B) R(u) = k.

Čia u – (A) loginis(B) dalykinis

kintamasis

Taigi turime t⇒ t ir (F ) = t.1© AAA; 2© BBB; 3© BAA; 4© BBA;5© BAB; 6© AAB; 7© ABB; 8© ABA.

3(2) Tarkime, kad L 6= ∅ ir R+ 6= L. Tada

(A) ∀wR(w) = t

(B) ∀wR(w) = kir (A) (F ) = (t⇒ R(u))

(B) (F ) = (k ⇒ R(u))

Taigi šiuo atveju (A) (F ) = k

(B) (F ) = t.

1© BAB; 2© BBB; 3© BBA; 4© AAA;5© ABA; 6© BAA; 7© ABB; 8© AAB.

4(3) Tarkime, kad L = ∅. Tada

(A) R+ 6= ∅(B) R+ = ∅ ir (A) ∀wR(w) = k

(B) ∀wR(w) = t

Taigi turime (A) antrąjį (2)(B) pirmąjį (1)

atvejį.1© BAA; 2© AAB; 3© BAB; 4© BBB;5© ABA; 6© ABB; 7© AAA; 8© BBA.

Didesnių už 2 natūraliųjų skaičių aibėje apibrėžti predikatai:F (x) – "x yra pirminis skaičius",E(x) – "x yra lyginis skaičius",W (x) – "x yra nelyginis skaičius".

Page 54: AKrylovas_DiskrMatem_20080316

40 1 SKYRIUS. LOGIKA

5 Sakinys "visi pirminiai skaičiai yranelyginiai arba nėra lyginiai" išreiškiamas taip:1© ∃xF (x)⇒W (x)∨E(x); 2© ∃xW (x)⇒F (x)∨E(x);3© ∀xF (x)⇒W (x)∨¬E(x); 4© ∃xW (x)⇒F (x)∨¬E(x);5© ∀xE(x)⇒F (x)∨¬W (x); 6© ∀xF (x)⇒W (x)∨E(x);7© ∃xF (x)⇒W (x)∨¬E(x); 8© ∀xE(x)⇒F (x)∨W (x).

6Kuris teiginys yra teisingas?(T1) ∀xF (x)⇒W (x);(T2) ∀x¬W (x)⇒ F (x).1© (T2); 2© abu teiginiai; 3© nė vienas; 4© (T1).

1.5.6. Aksiominės teorijos sąvoka

Teorijos K simboliai yra loginės operacijos, kvantoriai, pagalbiniai sim-boliai, dalykiniai kintamieji ir predikatinės raidės. Dar teorija gali turėtifunkcinių raidžių ir dalykinių konstantų. Taigi skirtingos teorijos skiriasisimbolių abėcėlėmis, tačiau pagrindinė abėcėlės dalis yra būtina.

Teorijos K aksiomas sudaro dvi aksiomų grupės: loginės aksiomos irtikrinės teorijos aksiomos (neloginės). Šios formulės yra teorijos K loginėsaksiomos:

(A1) A⇒ (B ⇒ A);

(A2) (A⇒ (B ⇒ C))⇒ ((A⇒ B)⇒ (A⇒ C));

(A3) (¬B ⇒ ¬A)⇒ ((¬B ⇒ A)⇒ B);

(A4) (∀xF (x))⇒ F (y);

(A5) F (x)⇒ (∃xF (x)).

Kaip ir teiginių skaičiavimas, teorija K turi išvedimo taisykles:

(MP) modus ponens taisyklė:A, A⇒ B

∴ B;

(∀ – taisyklė)A⇒ B(x)

∴ A⇒ (∀xB(x));

(∃ – taisyklė)A(x)⇒ B

∴ (∃xA(x))⇒ B.

Page 55: AKrylovas_DiskrMatem_20080316

1.5. PREDIKATŲ LOGIKA 41

Tikrinės teorijos K aksiomos apibrėžia konkrečią teoriją. Jei teorija K api-brėžta tik loginėmis aksiomomis bei išvedimo taisyklėmis, turime formali-zuotą predikatų skaičiavimą.

Parodykime, kaip įrodomos predikatų skaičiavimo teoremos.

1.15 pavyzdys. ∀x(A⇒ B(x)) ⊢ A⇒ (∀xB(x)):(a) ∀x(A⇒ B(x)) hipotezė;(b) ∀x(A⇒ B(x))⇒ (A⇒ B(x)) (A4);(c) A⇒ B(x) (a), (b) ir (MP);(d) A⇒ (∀xB(x)) (c) ir (∀ – taisyklė);

Parodykime, kaip gali būti apibrėžtos teorijos tikrinės aksiomos. Tarki-me, kad teorija neturi funkcinių raidžių bei dalykinių konstantų ir turi tikvieną predikatinę raidę P . Teorija apibrėžiamia dviem tikrinėmis aksiomo-mis

(a) ∀x(¬P (x, x));

(b) ∀x∀y∀z(P (x, y) & P (y, z)⇒ P (x, z)).

Tarkime, kad predikatas P (x, y) turi tokią prasmę”x < y“. Tada predikato

¬P (x, x) prasmė yra”x ≮ x“ ir aksiomos (a), (b) vadinamos antireflek-

syvumu bei tranzityvumu. Taigi turime aksiominę dalinės tvarkos teoriją(žr. 4.3.1. paragrfą 132 psl.)

Kitas aksiominės teorijos pavyzdys yra grupių teorija. Turime vienąpredikatinę raidę P (x, y), vieną dalykinę konstantą c ir vieną funkcinę raidęf(x, y). Teorijos tikrinės aksiomos yra šios:

(a) ∀x∀y∀zP (f(x, f(y, z)), f(f(x, y), z));

(b) ∀xP (f(c, x), x);

(c) ∀x∃yP (f(x, y), c);

(d) ∀xP (x, x);

(e) ∀x∀yP (x, y)⇒ P (y, x);

(f) ∀x∀y∀zP (x, y) & P (y, z)⇒ P (x, z);

(g) ∀x∀y∀zP (y, z)⇒ P (f(x, z), f(y, z))&P (f(y, x), f(z, x)).

Page 56: AKrylovas_DiskrMatem_20080316

42 1 SKYRIUS. LOGIKA

Pastebėkime, kad čia c yra grupės neutralusis elementas, predikatas P (x, y)reiškia lygybę

”x = y“, funkcine raide f(x, y) pažymėta grupės operacija

x ∗ y. Aksiomas (a), (b) ir (c) galima užrašyti taip:

(a) ∀x∀y∀z(x ∗ (y ∗ z)) = ((x ∗ y) ∗ z);

(b) ∀x(c ∗ x) = x;

(c) ∀x∃y(x ∗ y) = c.

Panašiai galima perrašyti ir kitas aksiomas. Komutatyvioji grupė reikalaujadar vienos aksiomos: ∀x∀yP (f(x, y), f(y, x)) arba ∀x∀y x ∗ y = y ∗ x.

Pastebėkime, kad lygybės predikatas (=) apibrėžiamas tokiomis savybė-mis:

(refleksyvumas) ∀x x = x;

(keitinys) (x = y) ⇒ (A(x, x) ⇒ A(x, y)), A(x, y) – bet kuri teorijosformulė.

Jei šios savybės yra teorijos aksiomos K arba teoremos, K vadinama teorijasu lygybe.

1.5.7. Formalioji aritmetika

Formalioji aritmetika apibrėžiama viena predikatine raide P (x, y), vienakonstanta c ir trimis funkcinėmis raidėmis f(x), g(x, y) ir h(x, y). Teorijostikrinės aksiomos:

(A1) P (x, y)⇒ (P (x, z)⇒ P (y, z));

(A2) P (x, y)⇒ P (f(x), f(y));

(A3) ¬P (c, f(x));

(A4) P (f(x), f(y))⇒ P (x, y);

(A5) P (g(x, c), x);

(A6) P (g(x, f(y)), f(g(x, y));

(A7) P (h(x, c), c);

(A8) P (h(x, f(y)), g(h(x, y), x));

Page 57: AKrylovas_DiskrMatem_20080316

1.5. PREDIKATŲ LOGIKA 43

(A9) (A(0)⇒ (∀x(A(x)⇒ A(f(x)))⇒ ∀xA(x)),A(x) – bet kuri teorijos formulė.

Taigi čia predikatas P (x, y) reiškia lygybę, konstanta c yra 0, funkcinėmisraidėmis g(x, y) ir h(x, y) pažymėtos sudėties ir daugybos operacijos, raidėf(x) reiškia skaičių x+1. Pastebėkime, kad iš (A3) išplaukia, kad čia visi xyra natūralieji. Aksioma (A9) vadinama matematinės indukcijos principu.

Natūraliųjų skaičių formaliųjų apibrėžimų yra daug. Pateiksime dar vie-ną formaliosios aritmetikos aksiomų sistemą. Predikatų skaičiavimas turi1) dalykinę konstantą 0;2) dvivietes funkcijas + ir ·, vienvietę (paskesniojo nario) funkciją ′;3) dvivietį predikatą =;4) aksiomų schemas (P – bet kuri formulė, t, t1, t2 – bet kurie termai):(A1) (P (0) & ∀x(P (x)⇒ P (x′))⇒ ∀xP (x);(A2) t

′1 = t′2 ⇒ t1 = t2;

(A3) ¬(t′ = 0);(A4) t1 = t2 ⇒ (t1 = t3 ⇒ t2 = t3);(A5) t1 = t2 ⇒ t′1 = t′2;(A6) t+ 0 = t;(A7) t1 + t′2 = (t1 + t2)

′;(A8) t · 0 = 0;(A9) t1 · t′2 = t1 · t2 + t1.

1.5.8. Matematinės indukcijos principas

Kai reikia įrodyti kurį nors teiginį P (n), teisingą visiems sveikiesiemsarba natūraliesiems skaičiamas, turime įrodyti, kad teiginys ∀nP (n) yra tau-tologija. Kadangi šio teiginio neigimas ¬(∀nP (n)) yra ∃n(¬P (n)), įrodyti,kad P (n) negalioja visiems n, galima vienu kontrapavyzdžiu, t. y. rastitokį skaičių n0, kad ¬P (n0) = t. Tačiau įrodyti, kad tokio n0 nėra ir P (n)galioja visada gali būti sunku. Dažnai tokiems įrodymams taikomas

Matematinės indukcijos principas:Tarkime, kad P (n) yra toks predikatas, kad

1) P (1) = t;2) ((∀k) (P (k)⇒ P (k + 1))) = t.Tada ((∀n)P (n)) = t, t. y. P (n) teisingas visiems natūraliesiems skaičiamsn.

Page 58: AKrylovas_DiskrMatem_20080316

44 1 SKYRIUS. LOGIKA

1.16 pavyzdys. Matematine indukcija įrodykime formulę

1 + 2 + 3 + · · ·+ n =n∑

j=1

=n(n+ 1)

2,

kuri išplaukia iš gerai žinomos aritmetinės progresijos ak+1 = ak + d

sumos formulėsn∑

k=1

ak =a1 + an

2n.

Pažymėję įrodoma formulę S(n), turime 1 =1(1 + 1)

2ir todėl

S(1) = t. Tarkime, kad S(k) = t. Reikia įrodyti, kad tada ir S(k +

1) = t. Taigi reikia įrodyti, kad jeik∑

j=1j =

k(k + 1)

2, tai

k+1∑

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

2 . Turime

k+1∑

j=1

j =k∑

j=1

j + (k + 1) (sudėties asociatyvumas)

=k(k + 1)

2+ (k + 1) (indukcijos prielaida)

=

(k

2+ 1

)

· (k + 1) (sudėties ir daugybos distributyvumas)

=k + 2

2(k + 1) (ekvivalentus reiškinio žymėjimas)

Taigi gavome, kad S(k) ⇒ S(k + 1) ir, remdamiesi matematinės in-

dukcijos principu, darome išvadą, kad formulėn∑

j=1j = n(n+1)

2 galioja

visiems natūraliesiems n.

1.17 pavyzdys. Įrodykime formulę

12 + 22 + 32 + · · ·+ n2 =

n∑

j=1

j2 =n(n+ 1)(2n + 1)

6.

Turime P (1) = t:

12 =1(1 + 1)(2 · 1 + 1)

6.

Page 59: AKrylovas_DiskrMatem_20080316

1.5. PREDIKATŲ LOGIKA 45

Įrodome P (k)⇒ P (k+1), t. y. kad jei formulėk∑

j=1j2 =

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

6

yra teisinga, tai bus teisinga ir formulėk+1∑

j=1j2 =

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

6.

Pertvarkome reiškinius:

12 + 22 + 32 + · · ·+ k2 + (k + 1)2 =

k∑

j=1

j2 + (k + 1)2 =

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

6+ (k + 1)2 =

k(k + 1)(2k + 1) + 6(k + 1)2

6=

(k + 1)(2k2 + 7k + 6)

6=

(k + 1)(2k + 3)(k + 2)

6.

1.5.9. Giodelio nepilnumo teoremos

Aksiominis metodas turi principinius apribojimus. Juos nustato Giode-lio20 teoremos (1931), kurias pateiksime be įrodymo (žr. [24], [25]).

1.7 teorema. Bet kuri pakankamai turininga (pavyzdžiui, kai jai pri-klauso formalioji aritmetika) formalioji teorija turi tokią teisingą for-mulę F , kad nei F , nei ¬F nėra išvedamosios šios teorijos formulės.

1.8 teorema. Bet kurioje pakankamai turiningoje (pavyzdžiui, kaijai priklauso formalioji aritmetika) formaliojoje teorijoje formulė F ,tvirtinanti, kad ši teorija yra neprieštaringa, nėra išvedamoji.

Pastebėkime, kad tai nereiškia, kad teorija yra prieštaringa (formaliojiaritmetika neprieštaringa). Tai reiškia, kad teorijos neprieštaringumas ne-gali būti nustatytas pačios teorijos priemonėmis. Jis gali būti nustatytaskitos, platesnės teorijos priemonėmis.

Klausimai ir užduotys

1.1 Raidėmis U , B ir C pažymėti teiginiai: U = "Vitas yra studentas";B = "Skirmantas yra studentas"; C = "Jonas yra studentas".(a) Tada teiginį "Ne visi šie vaikinai yra studentai" galima išreikšti formule

1© U&B&C ∨ U&B&C ∨ U&B&C; 2© U ∨B ∨ C;3© U ∨B ∨ C; 4© U&B&C;5© U&B ∨ C; 6© U&B&C ∨ U&B&C.

20Kurt Gödel (1906 – 1978) – austrų logikas ir matematikas.

Page 60: AKrylovas_DiskrMatem_20080316

46 1 SKYRIUS. LOGIKA

(b) Tą patį teiginį galima užrašyti ir taip1© U&B&C;2© (U ∨B ∨ C)&U&B ∨ U&C ∨B&C;

3© U&B&C ∨ U&B ∨ U&C ∨B&C;4© U&B&C ∨ U&B ∨ U&C ∨B&C;5© U ∨B ∨C;6© U ∨B ∨C.

(c) Formulė U&B ∨ C reiškia, kad1© kas nors (arba Vitas, arba Skirmantas) nėra studentas,

o Jonas tikrai nėra studentas;2© ir Vitas, ir Skirmantas nėra studentas arba (bet ne visi)

Jonas nėra studentas;3© ir Vitas, ir Skirmantas nėra studentas arba (gal ir visi)

Jonas nėra studentas;4© arba Vitas, arba Skirmantas nėra studentas (bet ne abu) ir

Jonas nėra studentas.

1.2 Turnyre dalyvauja šeši sportininkai: Liutauras, Gediminas, Vilius, Ry-tis, Tomas, Antanas. Tą pačią rungtynių vietą gali užimti tik vienas sporti-ninkas. Penki sportinės loterijos lošėjai prognozavo tokius rezultatus:1) Rytis – ketvirtas, Vilius – trečias;2) Vilius – pirmas, Gediminas – penktas;3) Antanas – pirmas, Liutauras – trečias;4) Rytis – ketvirtas, Tomas – penktas;5) Liutauras – ketvirtas, Gediminas – antras.Yra žinoma, kad kiekvienas lošėjas atspėjo bent vieną turnyro rezultatą.

(a) Kas buvo pirmas?(b) Kas buvo antras?(c) Kas buvo paskutinis?(d) Kelintas buvo Liutauras?(e) Kelintas buvo Rytis?

1.3 Nustatykite propozicinės formulės(((q&a)⇒ t)⇔ (a ∨ r))&(t⇒ (q ⇔ (r ↓ (a | t))))gylį. Perrašykite šią formulę postfiksiniu pavidalu.

1.4 Nustatykite, kurios iš šių loginių formuliųy ⇒ y,

Page 61: AKrylovas_DiskrMatem_20080316

1.5. PREDIKATŲ LOGIKA 47

(x&y)⇒ x,(x&y)⇒ y(x&y)⇒ k (k – klaidingas teiginys)

yra ekvivalenčios implikacijai x⇒ y.

1.5 Raskite tokią loginę formulę F (x, y, z), kad abi loginės formulėsz ⇒ F ⇔ z ⇒ x&y,F ⇒ z ⇔ x ∨ y ⇒ z

būtų tautologijos.

1.6 Išspreskite loginę lygtį (t – teisingas teiginys)

((x⇔ F )⇔ x&y ⇒ z)⇔ t,

t.y. raskite tokią loginę formulę F (x, y, z), kad lygties kairiosios pusės for-mulė būtų tautologija.

1.7 Predikatai

”x3 − 2x2 − 5x+ 6 = 0“,

”x− 2 = 1“

apibrėžti realiųjų skaičių aibėje. Kuris iš šių predikatų yra kito loginė išva-da?

1.8 Įrodykite, kad ((∀x P (x)) ∨ (∀x Q(x))⇒ (∀x(P (x) ∨Q(x)).

1.9 Įrodykite, kad (∀n > 2) n2 > 2n.

1.10 Įrodykite, kad 1 + x+ x2 + x3 + · · · + xn =1− xn+1

1− x .

Pastabos ir komentarai

Graikiškas žodis logos (λoγoς) reiškia”mintį“,

”žodį“,

”protą“,

”sąvoką“. Logika arba

formalioji logika nagrinėja teisingo mąstymo dėsnius ir formas, kai samprotavimų turinysnėra svarbus. Matematinė logika, dar vadinama simboline arba teorine logika, taiko ma-tematinius metodus ir susiformavo kaip savarankiškas matematikos skyrius. Jos objektąsudaro matematinių teoremų įrodymai ir matematinės teorijos. Matematinė logika yravisos matematikos teorinių pagrindų tyrimo įrankis. Šie tyrimai sudaro matematikos šakąvadinamą įrodymų teorija arba metamatematika. 20 amžiaus antroje pusėje kompiuteri-nės technikos plėtra paskatino naujų logikos taikymų atsiradimą: duomenų ir žinių bazių,ekspertinių sistemų, kitų dirbtinio intelekto kūrimo proceso elementų.

Matematinė logika, kaip savarankiškas šiuolaikinės matematikos skyrius, susiformavoXIX amžiaus pabaigoje – XX amžiaus pradžioje ir yra visos matematikos teorinis pagrin-das. Logikos pagrindinis mokslinis rezultatas – sukurtas aksiominis metodas – apibrėžia

Page 62: AKrylovas_DiskrMatem_20080316

48 1 SKYRIUS. LOGIKA

šiuolaikinį mokslinio griežtumo standartą. Žinoti kas yra griežtas įrodymas svarbu netik matematikams teoretikams, kurių išsilavinimas iš prigimties remiasi teiginių įrody-mais. To reikia ir būsimiesiems taikomosios matematikos bei informacinių technologijųspecialistams. Juk teisingai sudarytas kompiuterinės programos kodas reikalauja tokiopat griežtumo kaip ir teoremos įrodymas. Matematinė logika yra galingas įrodymų teo-rijos įrankis, kurį mes aktyviai taikysime dėstydami visus kitus vadovėlio skyrius. Mestaip pat aktyviai taikome matematinės logikos simbolius. Tai leidžia trumpai ir tiksliaidėstyti mintį, bet prie tokio dėstymo stiliaus reikia priprasti. Todėl tą pačią informacijądažnai aiškiname ir patiksliname žodžiais. Matematinių ir ne tik matematinių teiginiųįrodymų griežtumas priklauso nuo tiksliai apibrėžtų tų teiginių galiojimo sąlygų. Reikala-vimai teoremos įrodymui priklauso ir nuo nagrinėjamų klausimų konteksto. Logika leidžiaformalizuoti įrodymo lygį iki tam tikro algoritmo, kurį gali realizuoti ir kompiuterinė prog-rama. Tokio formalizavimo kaina – labai smulkus visų įrodymo žingsnių detalizavimas,labiau tinkamas kompiuterinei programai negu žmogui. Antra vertus, sujungus žingsniusį blokus, įrodymas tampa suprantamesnis, tačiau čia slypi pavojus nepastebėti padary-tų samprotavimo klaidų. Logika ir yra tas įrankis, kuris taikomas įrodymų teisingumuiužtikrinti.

Matematikams teoretikams universitetinės programos dažnai numato atskirus logikoskursus. Nurodykime keletą specializuotų universitetinių matematinės logikos vadovėlių iruždavinynų. Lietuvių kalba išleisti S. Norgėlos matematinės logikos vadovėliai [24] ir [25],yra išverstas iš prancūzų kalbos vadovėlis [26]. Paminėkime dar mokymo priemones [27],[28]. Klasikinio E. Mendelsono matematinės logikos vadovėlio [29] pirmasis leidimas pasi-rodė 1964 metais. Literatūros sąraše nurodytas jo 14-sis leidimas. Rašydami šį vadovėlioskyrių, mes taip pat atsižvelgėme į logikos vadovėlius [30], [31] ir uždavinynus [32], [33].

Diskrečiosios matematikos vadovėliai paprastai turi matematikos logikos skyrius, ta-čiau jų apimtis gali būti gana skirtinga. Panašiai kaip ir mūsų vadovėlyje, knygose [34] ir[10] nagrinėjama teiginių logika, aksiominio metodo pagrindai ir predikatų logikos elemen-tai. Šie klausimai, tačiau trumpai, dėstomi ir vadovėliuose [1], [17]. Vadovėliuose [35], [11]daug dėmesio skiriama Bulio funkcijoms, bet tradiciniai matematinės logikos klausimainenagrinėjami.

Taigi diskrečiosios matematikos vadovėlių autorių nuomonė dėl matematinės logikos

skyriaus vaidmens rašomuose vadovėliuose dar nesusiklostė. Mes pakankamai detaliai iš-

dėstėme pagrindinius matematinės logikos klausimus, bet jos vaidmenį dėstant diskrečiąją

matematiką matome ne tik supažindinti studijuojančius su pačios logikos problemomis ir

metodais. Mums atrodo daug svarbiau remtis matematine logika, kad rasti griežtumo ir

formalizavimo lygį, tinkamą palyginus naujam matematiniam dalykui dėstyti. Vadovėlyje

matematiškai apibrėžiamos visos nagrinėjamos sąvokos. Įrodoma nemažai teoremų, tačiau

gerokai daugiau paliekama įrodyti skaitytojui. Tokiu atveju įrodymo eiga būna prieš tai

aptariama. Kartais be įrodymo formuluojami žinomi teorijos faktai. Skaitytojas gali juos

rasti kiekvieno skyriaus pabaigoje rekomenduojamoje literatūroje.

Page 63: AKrylovas_DiskrMatem_20080316

2 skyrius

Bulio funkcijos

2.1. Bendrosios sąvokos

2.1.1. Bulio funkcijos apibrėžimas

Logikos algebros funkcijos, kai jų pačių bei jų argumentų reikšmės lygios0 arba 1, yra vienas iš pagrindinių diskrečiosios matematikos objektų, ypačtokių jos skyrių, kaip matematinė logika ir matematinė kibernetika. Kitaipšios funkcijos dar vadinamos Bulio1 funkcijomis, kuris pirmas pradėjo taikytimatematikos principus logikoje.

2.1 apibrėžimas. Tarkime, kad nepriklausomi kintamieji x1, x2, . . . , xnir priklausomas kintamasis – funkcija f(x1, x2, . . . , xn) įgyja tik dvireikšmes, kurias žymėsime 0, 1. Tokias funkcijas bei kintamuosius va-dinsime buliniais arba Bulio kintamaisiais ir bulinėmis funkci-jomis. Taigi Bulio funkcija f(x1, x2, . . . , xn) yra atvaizdis 0, 1n →0, 1.

Bet kurią Bulio funkciją galima apibrėžti jos teisingumo lentele:

x1 x2 . . . xn f(x1, x2, . . . , xn)

0 0 . . . 0 f(0, 0, . . . , 0)

0 0 . . . 1 f(0, 0, . . . , 1)

. . . . . . . . . . . . . . . . . . . . .

0 1 . . . 1 f(0, 1, . . . , 1)

1 1 . . . 1 f(1, 1, . . . , 1)

2.1 pastaba. Skirtingų n kintamųjų Bulio funkcijų yra 22n.

1George Boole (1815 – 1864) – anglų matematikas ir logikas.

49

Page 64: AKrylovas_DiskrMatem_20080316

50 2 SKYRIUS. BULIO FUNKCIJOS

2.2 apibrėžimas. Bulio funkcijos f(x1, x2, . . . , xn) kintamasis xj (1 6

j 6 n) vadinamas fiktyviuoju, jei visoms kintamųjų x1, . . ., xj−1,xj+1, . . ., xn reikšmėms

f(. . . , xj−1, 0, xj+1, . . .) = f(. . . , xj−1, 1, xj+1, . . .).

Kintamieji, kurie nėra fiktyvieji vadinami esminiais.

2.1 pavyzdys. Tarkime, kad trijų kintamųjų x, y, z Bulio funkcijaf(x, y, z) apibrėžta tokia lentele

x y z f(x, y, z)

0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 01 1 0 11 1 1 1

Matome, kad ketvirtasis stulpelis sutampa su antruoju, t. y. funk-cija f(x, y, z) išreiškiama tik vienu kintamuoju y ir todėl galima rašyti2

f(x, y, z) = y. Funkcija f(x, y, z) nepriklauso nuo kitų dviejų kintamųjų xir y ir todėl jie yra fiktyvieji. Pastebėkime, kad tą pačią funkciją galimaišreikšti ir kitomis formulėmis, į kurias šie kintamieji įeina:

f(x, y, z) = y = y & (x ∨ x) = y & (y ∨ y) ∨ x &x.

Taigi fiktyvieji kintamieji gali ir neįeiti, ir įeiti į formulę, tačiau jei funkcijaišreiškiama formule, kurioje kintamojo nėra – jis yra fiktyvusis.

2.1.2. Vieno kintamojo Bulio funkcijos

Vieno kintamojo x Bulio funkcijų f(x) yra tik keturios:

2Susitarkime rašyti lygybės ženklą (=), kai tą pačią Bulio funkciją reiškiame skir-tingomis formulėmis. Taigi rašome f(x1, x2, . . . , xn) = g(x1, x2, . . . , xn), kai sutampa šiųBulio funkcijų teisingumo lentelės, t. y. kai lygybė galioja bet kuriam kintamųjų rinkiniui(x1, x2, . . . , xn) ∈ 0, 1n.

Page 65: AKrylovas_DiskrMatem_20080316

2.1. BENDROSIOS SĄVOKOS 51

x f(x) = 0 f(x) = x f(x) = x f(x) = 1

0 0 0 1 11 0 1 0 1

Funkcijos f(x) = 0 ir f(x) = 1 yra konstantos ir x šiuo atveju – fiktyvusiskintamasis. Kitos dvi funkcijos išreiškiamos kintamuoju x arba jo neiginiux: f(x) = x, f(x) = x ir šioms funkcijoms x yra esminis kintamasis.

Jei formulė priklauso nuo vieno kintamojo x, ji išreiškia kurią nors vienąiš keturių surašytų lentelėje funkcijų. Taigi tokią formulę visada galimasupaprastinti ir išreikšti konstanta 0 arba 1, kintamuoju x arba jo neiginiux.

2.2 pavyzdys. Supaprastinkime formulę

(x⇒ (x⇒ x))⇒ x.

Kai x = 0, turime

(0⇒ (0⇒ 1))⇒ 0 = (0⇒ 1)⇒ 0 = 1⇒ 0 = 0.

Kai x = 1, turime

((1⇒ (1⇒ 0))⇒ 1) = ((1⇒ 0)⇒ 1) = (0⇒ 1) = 1.

Taigi gauname, kad

((x⇒ (x⇒ x))⇒ x) = x.

2.1.3. Dviejų kintamųjų Bulio funkcijos

Išnagrinėkime visas dviejų kintamųjų Bulio funkcijas f(x1, x2). Kadangikintamieji įgyja tik dvi reikšmes 0, 1 ir funkcijos reikšmių irgi yra tik dvi,tai egzistuoja lygiai 16 (žr. 2.1 pastabą; 49 psl.) skirtingų dviejų kintamųjųBulio funkcijų. Surašykime visas jas į lentelę.

x1 x2 f0 f1 f2 f3 f4 f5 f6 f7

0 0 0 1 0 1 0 1 0 10 1 0 0 1 1 0 0 1 11 0 0 0 0 0 1 1 1 11 1 0 0 0 0 0 0 0 0

Page 66: AKrylovas_DiskrMatem_20080316

52 2 SKYRIUS. BULIO FUNKCIJOS

x1 x2 f8 f9 f10 f11 f12 f13 f14 f15

0 0 0 1 0 1 0 1 0 10 1 0 0 1 1 0 0 1 11 0 0 0 0 0 1 1 1 11 1 1 1 1 1 1 1 1 1

2.1.4. Funkcijų reiškimas formulėmis

Funkcijos f0 ir f15 yra konstantos: f0 = 0, f15 = 1. Funkcija f10 = x2

nepriklauso nuo kintamojo x1, o funkcija f12 = x1 – nuo x2. Funkcijos f0 irf15 neturi esminių kintamųjų. Funkcijų f10 ir f12 esminiai kintamieji yra x2

ir x1, o fiktyvieji – x1 ir x2.Funkcijos f3, f5, f8, f9, f11, f13, f14 išreiškiamos apibrėžtomis ?? skyriuje

(?? psl.) loginėmis operacijomis:

f3 f5 f8 f9 f11 f13 f14

x1 x2 x1&x2 x1 ⇔ x2 x1 ⇒ x2 x2 ⇒ x1 x1 ∨ x2

Funkcijos f1, f2, f4, f6 ir f7 išreiškiamos žinomų operacijų neiginiais:

f1 f2 f4 f6 f7

x1 ∨ x2 x2 ⇒ x1 x1 ⇒ x2 x1 ⇔ x2 x1&x2

?? skyriuje (žr. ?? psl.) buvo minėta funkcija ⊕, kuri vadinama sudė-timi moduliu du. Galima įrodyti (pakanka sudaryti teisingumo lentelę),kad

(x1 ⊕ x2)⇔ ((x1 ∨ x2)&(x1 ∨ x2)).

Taigi

f6(x1, x2) = x1 ⊕ x2 = (x1 ∨ x2)&(x1 ∨ x2).

Funkcija f1 yra vadinama Pyrso3 rodykle ir žymima ↓:

f1(x1, x2) = x1 ↓ x2 = x1 ∨ x2 = x1&x2.

Funkcija f7 žymima | ir vadinama Šeferio4 brūkšneliu:

f7(x1, x2) = x1| x2 = x1&x2 = x1 ∨ x2.

3Charles Peirce (1839 – 1914) – amerikiečių matematikas, filosofas ir logikas.4Henry Sheffer (1883 – 1964) – amerikiečių logikas.

Page 67: AKrylovas_DiskrMatem_20080316

2.1. BENDROSIOS SĄVOKOS 53

2.1 teorema. Bet kuri loginė formulė gali būti užrašyta, taikant tikvieną loginę operaciją (↓) arba (|).Įrodymas. Pakanka įsitikinti, kad neigimas išreiškiamas taip: x =(x|x). Tada (x & y) = ((x|y) | (x|y)). Disjunkciją išreiškiame, tai-kydami šias formules ir de Morgano dėsnį (arba žr. formules (D1)– (D3), 29 psl.) Pastebėję, kad (x ↓ y) = (x&y), gauname įrodymąPyrso rodyklei.

2.1 testas

1 Kuri loginė operacija (∗) apibrėžta lentele?

q s q ∗ s0 0 10 1 01 0 01 1 0

1© q&s ; 2© q ⊕ s ;3© q ↓ s ; 4© q|s ;5© q ⇔ s ; 6© q ⇒ s .

2 Kuri loginė operacija (∗) apibrėžta lentele?

u s u ∗ s0 0 10 1 11 0 11 1 0

1© u⇒ s ; 2© u⊕ s ;3© u ↓ s ; 4© u&s ;5© u|s ; 6© u ∨ s .

3 Kuri loginė operacija (∗) apibrėžta lentele?

s v s ∗ v0 0 00 1 11 0 11 1 0

1© s⇔ v ; 2© s&v ;3© s|v ; 4© s ↓ v ;5© s⊕ v ; 6© s ∨ v .

Page 68: AKrylovas_DiskrMatem_20080316

54 2 SKYRIUS. BULIO FUNKCIJOS

2.2. Dualumo principas

2.2.1. Dualioji funkcija

2.3 apibrėžimas. Funkcija f1(x1, x2, . . . , xn) vadinamadualiąja funkcijai f2(x1, x2, . . . , xn), jei

f1(x1, x2, . . . , xn) = f2(x1, x2, . . . , xn).

Pavyzdžiui, funkcijos 1 dualioji yra funkcija 0: f(x) = 1 = x ∨ x,

f(x) = x ∨ (x) = (x) & x = x & x = 0.

Pastebėkime, kad

f2(x1, x2, . . . , xn) = f2(x1, x2, . . . , xn) = f1(x1, x2, . . . , xn).

Taigi jei funkcija f1 yra dualioji funkcijai f2, tai ir funkcija f2 yra dualiojifunkcijai f1. Pavyzdžiui, kai f1(x, y) = x ∨ y ir f2(x, y) = x&y turime

f1(x, y) = x ∨ y = x & y = x & y = f2(x, y),

f2(x, y) = x & y = x ∨ y = x ∨ y = f1(x, y).

Funkcijos f(x1, x2, . . . , xn) dualiąją funkciją f(x1, . . . , xn) žymėsimef∗(x1, . . . , xn). Tada f∗1 (x, y) = f2(x, y) ir f∗2 (x, y) = f1(x, y). Arba bend-ruoju pavidalu:

f∗∗ = (f∗)∗ = f.

2.2.2. Dualumo principas

Tarkime, kad funkcijos F = F (f1, f2, . . . , fm) dualioji yra F ∗(f1, f2, . . . , fm)ir f∗i (x1, x2, . . . , xn), i = 1, 2, . . . ,m yra dualiosios funkcijų fi(x1, x2, . . . , xn).Tada galioja dualumo principas: sudėtinės funkcijos

G(x1, x2, . . . , xn) = F (f1(x1, . . . , xn), . . . , fn(x1, . . . , xn))

dualioji funkcija yra

F ∗(f∗1 (x1, x2, . . . , xn), f∗2 (x1, x2, . . . , xn), . . . , f

∗m(x1, x2, . . . , xn)).

Page 69: AKrylovas_DiskrMatem_20080316

2.2. DUALUMO PRINCIPAS 55

2.3 pavyzdys. Funcijos F (u, v) = u ∨ v dualioji yra

F ∗(u, v) = u ∨ v = u & v.

Funkcių u(x) = x ir v(y) = y dualiosios funkcijos yra:u∗(x) = x = x, v∗(y) = y = y.Taigi funkcijos F (x, y) = F (u(x), v(y)) dualioji yraF ∗(x, y) = F ∗(u∗(x), v∗(y)) = x & y.

Dualiosios funkcijos f∗(x1, . . . , xn) teisingumo lentelę, gauname iš funk-cijos f(x1, . . . , xn) teisingumo lentelės, keisdami visus 0 ir 1 vietomis.

2.4 pavyzdys. Raskime pateiktos lentelėje funkcijos f(x1, x2, x3)dualiąją funkciją f∗(x1, x2, x3).

x1 x2 x3 f(x1, x2, x3) x1 x2 x3 f(x1, x2, x3)

0 0 0 0 1 1 1 f(0, 0, 0) = 1

0 0 1 0 1 1 0 f(0, 0, 1) = 1

0 1 0 0 1 0 1 f(0, 1, 0) = 1

0 1 1 1 1 0 0 f(0, 1, 1) = 0

1 0 0 0 0 1 1 f(1, 0, 0) = 1

1 0 1 1 0 1 0 f(1, 0, 1) = 0

1 1 0 1 0 0 1 f(1, 1, 0) = 0

1 1 1 1 0 0 0 f(1, 1, 1) = 0

Taigi rašydami Bulio kintamųjų rinkinius įprastinėse vietose, gau-name

x1 x2 x3 f∗(x1, x2, x3)

0 0 0 f(1, 1, 1) 0

0 0 1 f(1, 1, 0) 0

0 1 0 f(1, 0, 1) 0

0 1 1 f(1, 0, 0) 1

1 0 0 f(0, 1, 1) 0

1 0 1 f(0, 1, 0) 1

1 1 0 f(0, 0, 1) 1

1 1 1 f(0, 0, 0) 1

Page 70: AKrylovas_DiskrMatem_20080316

56 2 SKYRIUS. BULIO FUNKCIJOS

2.4 apibrėžimas. Funkcija f(x1, . . . , xn) vadinama savidualiąja, kai

f∗(x1, . . . , xn) = f(x1, . . . , xn).

Pavyzdžiui, funkcija f(x, y, z) = x&y ∨ x&z ∨ y&z yra savidualioji. Iš-nagrinėtame 2.4 pavyzdyje pateikta jos teisingumo lentelė.

Dualiosios funkcijos konstravimo algoritmas

Tarkime, kad funkcija f(x1, . . . , xn) išreikšta formule, kurioje yra kintamiejibei jų neigimai ir keturios operacijos: 0, 1, &, ∨. Tada dualioji funkcijaf∗(x1, . . . , xn) išreiškama formule, kurią gauname pakeitus

• 0 −→ 1;

• 1 −→ 0;

• & −→ ∨;

• ∨ −→ &;

• neigimo operacija nekeičiama.

2.5 pavyzdys. Taikome aprašytą dualiosios funkcijos radimo algorit-mą funkcijai

f(x1, x2) = x1 & x2 ∨ x1 & x2

Keičiame

(x1 [& −→ ∨] x2) [∨ −→ &] (x1 [& −→ ∨] x2).

Taigif∗(x1, x2) = (x1 ∨ x2) & (x1 ∨ x2).

2.6 pavyzdys. Parodykime dar kartą, kad (jau nagrinėta) funkcija

f(x, y, z) = x&y ∨ x&z ∨ y&z

yra savidualioji. Turime

f∗(x, y, z) = ((x&y) ∨ (x&z) ∨ (y&z))∗ = (x ∨ y) & (y ∨ z) & (y ∨ z) =

(x&x ∨ x&z ∨ y&x ∨ y&z) & (y ∨ z) =

Page 71: AKrylovas_DiskrMatem_20080316

2.2. DUALUMO PRINCIPAS 57

x&x&y∨x&z&y∨y&x&y∨y&z&y∨x&x&z∨x&z&z∨y&x&z∨y&z&z =

x&y ∨ x&z&y ∨ y&x ∨ y&z ∨ x&z ∨ x&z ∨ y&x&z ∨ y&z =

x&y ∨ x&z ∨ x&y ∨ x&y&z ∨ y&z =

x&y ∨ x&z ∨ y&z ∨ x&y&z =

x&y ∨ x&z ∨ y&z&(1 ∨ x) =

x&y ∨ x&z ∨ y&z&1 = x&y ∨ x&z ∨ y&z = f(x, y, z).

2.2 pastaba. Susitarkime, kad konjunkcijos operacijos ženklą (&)5

galima praleisti (kaip tašką – daugybos operaciją – algebroje):

xy ∨ xz ∨ yz = x&y ∨ x&z ∨ y&z.

2.2 testas

5ampersand (angl.)

Page 72: AKrylovas_DiskrMatem_20080316

58 2 SKYRIUS. BULIO FUNKCIJOS

1 Funkcija f(q, y) yra savidualioji tada ir tik tada, kai1© 1− f(0, 0) = f(1, 1) & f(0, 1) = 1− f(1, 0) ;2© f(0, 0) = f(1, 1) & f(0, 1) = 1− f(1, 0) ;3© 1− f(0, 0) = f(1, 1) ∨ f(0, 1) = f(1, 0) − 1 ;4© f(0, 0) = 1− f(1, 1) ∨ f(0, 1) = 1− f(1, 0) ;5© f(1, 1) = f(1, 0) & f(0, 0) = f(0, 1) .

2

Funkcijap(t, s, z)apibrėžtalentele

t s z p0 0 0 1

0 0 1 0

0 1 0 1

0 1 1 1

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 0Tadap∗(t, s, z) =

p∗

1

0

1

1

1

0

0

0

; 2©

p∗

1

0

1

1

0

0

1

0

; 3©

p∗

1

0

1

1

0

1

0

0

; 4©

p∗

1

1

1

0

0

0

1

0

.

3 Kuris teiginys yra teisingas?(A) p(t, s, z) = (p(t, s, z))∗; (B) p(t, s, z) = ((p(t, s, z))∗)∗.1© abu teiginiai; 2© (B) ; 3© (A) ; 4© nė vienas.

Page 73: AKrylovas_DiskrMatem_20080316

2.3. NORMALIOSIOS FORMOS 59

2.3. Normaliosios formos

2.3.1. Disjunkcinės ir konjunkcinės formos

Pažymėkime

xσ =

x, σ = 0

x, σ = 1.

T. y. xx = 1 ir kai x 6= y : xy = 0.Pastebėkime dar, kad xσ = xσ = xσ.

2.5 apibrėžimas. Formulė xσ11 &xσ2

2 & . . .&xσnn vadinama

elementariąja konjunkcija.Čia σ = (σ1, σ2, . . . , σn) yra nulių ir vienetų rinkinys, o kai kuriekintamieji xj gali ir kartotis.

Kaip jau susitarėme (2.2 pastaba 57 psl.), kartais gali būti praleistasdisjunkcijos ženklas (&). Taigi šie reiškiniai yra elementariosios konjunkcijos

x1&x2&x3, x1x2x3x1x2, x2&x4, x3x1x2.

Formulėsx1&x2&x3, x1x1, x3x3&x2&x1

nėra elementariosios konjunkcijos.

2.6 apibrėžimas. Elementariųjų konjunkcijų disjunkcija vadinamadisjunkcine normaliąja forma.

Pavyzdžiui, šios formulės yra disjunkcinės normaliosios formos:

x1&x2 ∨ x3&x4&x5, x1x3x4 ∨ x2 ∨ x3.

Formulėsx1&1&x4 ∨ 0, x1x9 ∨ x2x4

nėra disjunkcinės normaliosios formos.Tarkime, kad Bulio funkcija f(x1, x2, . . . , xn) išreikšta disjunkcine nor-

maliąja forma. Funkcija f tapačiai lygi nuliui (yra prieštara) tada ir tiktada, kai kiekviena elementarioji konjunkcija turi kurį nors kintamąjį xj irjo neiginį xj .

2.7 apibrėžimas. Elementarioji konjunkcija vadinama taisyklingą-ja, kai kiekvienas kintamasis x

σj

j įeina į ją ne daugiau, kaip vieną kartą(t. y. skaičiuojant ir neiginius).

Page 74: AKrylovas_DiskrMatem_20080316

60 2 SKYRIUS. BULIO FUNKCIJOS

Taigi šios formulės taisyklingosios elementariosios konjunkcijos

x1&x2&x3, x5&x3&x4.

Šios elementariosios konjunkcijos nėra taisyklingosios

x2&x2&x3, x4&x3&x3.

2.8 apibrėžimas. Formulė xσ11 ∨xσ2

2 ∨ . . .∨xσnn vadinama elementa-

riąja disjunkcija. Elementariųjų disjunkcijų konjunkcija vadinamakonjunkcine normaliąja forma.

Tarkime, kad Bulio funkcija f(x1, x2, . . . , xn) išreikšta konjunkcine nor-maliąja forma. Funkcija f tapačiai lygi vienam (yra tautologija) tada ir tiktada, kai kiekviena elementarioji konjunkcija turi kurį nors kintamąjį xj irjo neiginį xj.

Pavyzdžiui, šios formulės yra taisyklingosios elementariosios disjunkcinėsformos

x1 ∨ x2 ∨ x4, x2 ∨ x5 ∨ x4 ∨ x7.

2.3.2. Tobuloji disjunkcinė normalioji forma

2.9 apibrėžimas. Taisyklingoji elementarioji konjunkcija (disjunk-cija) vadinama pilnąja kintamųjų x1, x2, . . ., xn atžvilgiu, jei kiek-vienas kintamasis x

σj

j įeina į ją lygiai vieną kartą (t. y. įeina arbakintamasis xj arba jo neiginys xj).

2.10 apibrėžimas. Disjunkcinė (konjunkcinė) normalioji forma vadi-nama tobuląja, kai visos ją sudarančios elementariosios konjunkcijos(disjunkcijos) yra pilnosios (kintamųjų x1, x2, . . ., xn atžvilgiu) ir nėravienodų elementariųjų konjunkcijų (disjunkcijų).

2.7 pavyzdys. Ši disjunkcinė forma yra tobuloji

x1&x2&x3 ∨ x1&x2&x3 ∨ x1&x2&x3.

Bulio funkciją galima taip išskleisti jos kintamaisiais:

f(x1, x2) = x1&f(1, x2) ∨ x1&f(0, x2).

Taikant šią formulę dar kartą, gaunama fukcijos f(x1, x2) tobuloji normaliojidisjunkcinė forma:

f(x1, x2) = x1&x2&f(1, 1)∨x1&x2&f(1, 0)∨x1&x2&f(0, 1)∨x1&x2&f(0, 0).

Page 75: AKrylovas_DiskrMatem_20080316

2.3. NORMALIOSIOS FORMOS 61

Pastebėję, kad 0&x = 0, paliksime tik tuos narius, kur f(· · · ) = 1.

Suformuluokime Bulio funkcijos tobulosios normaliosios disjunkcinės for-mos konstravimo algoritmą (taisyklę).1) Teisingumo lentelėje pasirenkame tas eilutes (kintamųjų x1, x2, . . ., xnrealizacijas σ1, σ2, . . ., σn), kur funkcijos reikšmė lygi 1.2) Rašome disjunkcinėje formoje tiek taisyklingųjų elementariųjų konjunk-cijų xσ1

1 &xσ22 & . . .&xσn

n , kiek teisingumo lentelėje yra vienetų.3) Neigimus rašome su tais kintamaisiais xj, kur σj = 0. Pavyzdžiui,(x0

1&x02&x

13&x

14) = (x1&x2&x3&x4).

2.8 pavyzdys. Užrašykime funkcijos, apibrėžtos jos teisingumo reikš-mių lentele, disjunkcinę normaliąją formą.

x1 x2 x3 f(x1, x2, x3)

0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 11 0 1 11 1 0 01 1 1 0

Matome, kad nelygios nuliui tik trys funkcijos reikšmės: f(0, 0, 1),f(1, 0, 0) ir f(1, 0, 1). Todėl funkcijos disjunkcinė normalioji forma yra tokia:

f(x1, x2, x3) = x1x2x3 ∨ x1x2x3 ∨ x1x2x3.

Kiekviena (išskyrus const = 0) Bulio funkcija užrašoma disjunkcine nor-maliąja forma:

f(x1, x2, . . . , xn) =∨

f(σ1,σ2,...,σn)=1

xσ11 x

σ22 · · · xσn

n .

Dar kartą atkreipkime dėmesį, kad formulėje yra visi kintamieji x1, x2, . . . , xn.Ši disjunkcinė forma yra vadinama tobuląja.

Taikydami ekvivalenčiuosius loginius pertvarkius

x ∨ xy = x(x ∨ y) = x,

Page 76: AKrylovas_DiskrMatem_20080316

62 2 SKYRIUS. BULIO FUNKCIJOS

xy ∨ xy = x,

x ∨ xy = x ∨ y,bet kurią disjunkcinę normaliąją formą, galima suvesti į tobuląją.

2.9 pavyzdys. Pertvarkome reiškinį:

xy ∨ x z = xyz ∨ xyz ∨ xyz ∨ x y z.

2.3.3. Tobuloji konjunkcinė normalioji forma

Panašiai disjunkcinei normaliąjai formai Bulio funkcija išreiškiama to-buląja konjunkcine6 normaliąja forma:

f(x1, x2, . . . , xn) =∧

f(σ1,σ2,...,σn)=0

(

xσ11 ∨ xσ2

2 ∨ · · · ∨ xσnn

)

.

Įrodykime, kad kiekvieną Bulio funkciją f(x1, x2, . . . , xn) (išskyrus const =1) galima išreikšti tobuląja konjunkcine normaliąja forma. Užrašome dua-liosios funkcijos f∗(x1, x2, . . . , xn) disjunkcinę tobuląją normalinę formą:

f∗(σ1,σ2,...,σn)=1

xσ11 &xσ2

2 & · · ·&xσnn .

Taikome dualiosios funkcijos f∗(x1, x2, . . . , xn) apibrėžimą:

f(x1, x2, . . . , xn) = f∗(x1, x2, . . . , xn) =

f∗(σ1,σ2,...,σn)=1

xσ11 &xσ2

2 & · · ·&xσnn

Taikome de Morgano formulę7

f(x1, x2, . . . , xn) =∧

f∗(σ1,σ2,...,σn)=1

(

xσ11 ∨ xσ2

2 ∨ · · · ∨ xσnn

)

=

=∧

f∗(σ1,σ2,...,σn)=1

(xσ11 ∨ xσ2

2 ∨ · · · ∨ xσnn )

6Čia konjunkcijos operacija pažymėta ∧.7Pastebėkime, kad formulė x1 & x2 = x1 ∨ x2 nesunkiai apibendrinama n kintamųjų

atvejui: x1&x2& · · ·&xn = x1 ∨ x2 ∨ · · · ∨ xn.

Page 77: AKrylovas_DiskrMatem_20080316

2.3. NORMALIOSIOS FORMOS 63

2.1 pav. Pagrindiniai loginiai elementai

Pastebėję, kad f∗(σ1, σ2, . . . , σn) = 1, kai f(σ1, σ2, . . . , σn) = 0, gaunameįrodomą formulę.

Suformuluokime Bulio funkcijos tobulosios normaliosios konjunkcinės for-mos konstravimo algoritmą (taisyklę).1) Teisingumo lentelėje pasirenkame tas eilutes (kintamųjų x1, x2, . . ., xnrealizacijas σ1, σ2, . . ., σn), kur funkcijos reikšmė lygi 0.2) Rašome konjunkcinėje formoje tiek taisyklingųjų elementariųjų disjunk-cijų xσ1

1 ∨ xσ22 ∨ . . . ∨ xσn

n , kiek teisingumo lentelėje yra vienetų.3) Neigimus rašome su tais kintamaisiais xj, kur σj = 1. Pavyzdžiui,

(x01 ∨ x0

2 ∨ x13 ∨ x1

4) = (x1 ∨ x2 ∨ x3 ∨ x4).Taigi (61 psl.) lentelėje apibrėžtos funkcijos f(x1, x2, x3) tobuloji kon-

junkcinė normalioji forma yra

(x1 ∨ x2 ∨ x3)&(x1 ∨ x2 ∨ x3)&(x1 ∨ x2 ∨ x3)&(x1 ∨ x2 ∨ x3)&(x1 ∨ x2 ∨ x3).

2.3.4. Loginės schemos

Parodykime vieną Bulio funkcijų taikymo elektronikoje sritį – logines sche-mas, kai operuojama tik dviem signalų lygiais 0 ir 1. Logines funkcijasvykdo loginiai elementai, kurių schemas sudaro jungikliai (raktai), valdomischemos loginiais kintamaisiais. Pagrinrindiniai loginiai elementai parodyti2.1 pav. (63 psl.)

Trijų pagrindinių elementų schema parodyta 2.2 pav. Pastebėkime, kadši schema realizuoja Bulio funkciją

f(x, y, z) = x & y ∨ z,

kuria galima perrašyti tobuląja disjunkcine normaliąja forma:

f(x, y, z) = x&y ∨ z = x&y(z ∨ z) ∨ (x ∨ x)&(y ∨ y)&z =

Page 78: AKrylovas_DiskrMatem_20080316

64 2 SKYRIUS. BULIO FUNKCIJOS

2.2 pav. Trijų loginių elementų schema

2.3 pav. Dviejų kintamųjų funkcijos Karno diagrama

x&y&z ∨ x&y&z ∨ x&y&z ∨ x&y&z ∨ x&y&z ∨ x&y&z =

x&y&z ∨ x&y&z ∨ x&y&z ∨ x&y&z ∨ x&y&z.

Realizuoti tokią funkciją loginiais elementais sunkiau. Todėl pirma reikiaminimizuoti disjunkcinę formą, t. y. taikant formules

F ∨ F = 1, 1&F = F, 0 ∨ F = F

sumažinti elementariųjų konjunkcijų skaičių ir jų ilgius8

2.3.5. Karno diagramos

Disjunkcinių formų minimizavimui patogus kitas Bulio funkcijos reiškimobūdas – Karno9 diagrama. Visos disjunkcinės formos pilnosios elementario-sios konjunkcijos surašomos į lentelę. Dviejų kintamųjų funkcija f(x, y) turiketurias pilnasias elementarias konjunkcijas

x & y x & y

x & y x & y

Tokį elementariųjų konjunkcijų išdėstymą galima parodyti 2.3 pav. (64 psl.)diagrama. Dabar išnagrinėsime disjunkcinės formos minimizavimo būdus.Tarkime, kad turime

x & y ∨ x & y = x & (y ∨ y) = x & 1 = x.

Page 79: AKrylovas_DiskrMatem_20080316

2.3. NORMALIOSIOS FORMOS 65

2.4 pav. Kintamojo x Karno diagrama

2.5 pav. Kintamojo y Karno diagrama

Šį atvejį galima pavaizduoti diagrama (2.4 pav., 65 psl.) Taigi jei funkcijostobuloji normalioji disjunkcinė forma turi parodytas 2.4 pav. (65 psl.) Kar-no diagramoje elementariasias konjunkcijas, vietoje jų galima rašyti vienąkintamąjį x.

Panašiai minimizuojame kitų dviejų elementariųjų konjunkcijų disjunk-ciją.

x & y ∨ x & y = (x ∨ x) & y = 1 &y = y.

Tai vaizduojame 2.5 pav. (65 psl.) diagrama. Taigi pavaizduotą 2.6 pav.(65 psl.) diagramoje funkciją galima užrašyti dviem būdais:

f(x, y) = x ∨ x & y = y ∨ x & y.

Pastebėkime, kad šios funkcijos tobuloji konjunkcinė forma dar trumpes-nė: f(x, y) = x ∨ y.

8Elementariosios konjunkcijos xσ1

j1&xσ2

j2& · · ·&x

σk

jkrangu vadinamas skirtingų kintamų-

jų skaičius k. Taigi minimizuojama visų elementariųjų konjunkcijų rangų suma.9Maurice Karnaugh (1924– ) – amerikiečių fizikas.

2.6 pav. Funkcijos x ∨ y Karno diagrama

Page 80: AKrylovas_DiskrMatem_20080316

66 2 SKYRIUS. BULIO FUNKCIJOS

2.7 pav. Trijų kintamųjų funkcijos Karno diagrama

2.8 pav. Funkcijos f(x, y, z) = x Karno diagrama

Trijų kintamųjų funkcijos Karno diagrama pavaizduota 2.7 pav. (66 psl.)Paveiksluose 2.8 pav. (66 psl.), 2.9 pav. (66 psl.) ir 2.10 pav. (67 psl.) pa-rodyta, kaip grupuojamos taisyklingosios elementariosios kojunkcijos, kuriųdisjunkcijos atitinkamai lygios x, y ir z. Pavyzdžiui:

x&y&z ∨ x&y&z ∨ x&y&z ∨ x&y&z = x&z ∨ x&z = x.

2.3 testas

2.9 pav. Funkcijos f(x, y, z) = y Karno diagrama

Page 81: AKrylovas_DiskrMatem_20080316

2.3. NORMALIOSIOS FORMOS 67

2.10 pav. Funkcijos f(x, y, z) = z Karno diagrama

Bulio funkcija S(f, q) apibrėžta formule (f ∨ f)&((f ⇒ q)&(f ⇒ q)).

1Kuris teiginys yra teisingas?(A) Funkcija S(f, q) nekeičia nulio.(B) Funkcija S(f, q) nekeičia vieneto.

1© teiginys (A);2© nė vienas;3© abu teiginiai;4© teiginys (B).

2 Loginė lygtis S(f, q) = 1 sprendin į/ius/ių .

1© turi keturis; 2© neturi; 3© turi tris;4© turi du; 5© turi vieną.

3 Funkcijos S(f, q) tobuloji disjunkcinė normalioji forma yra1© f&q; 2© f&q ∨ f&q ∨ f&q;3© f&q ∨ f&q; 4© f&q ∨ f&q ∨ f&q.

4 Funkcijos S(f, q) tobuloji konjunkcinė normalioji forma yra1© (f ∨ q)&(f ∨ q);2© (f ∨ q);3© (f ∨ q)&(f ∨ q)&(f ∨ q);4© (f ∨ q).

Page 82: AKrylovas_DiskrMatem_20080316

68 2 SKYRIUS. BULIO FUNKCIJOS

Bulio funkcija H(g, p) apibrėžta formule (g ⇒ p)&(g ⇒ p).

5Kuris teiginys yra teisingas?(A) Funkcija H(g, p) nekeičia nulio.(B) Funkcija H(g, p) nekeičia vieneto.

1© teiginys (A);2© abu teiginiai;3© nė vienas;4© teiginys (B).

6 Loginė lygtis H(g, p) = 0 sprendin į/ius/ių .

1© turi tris; 2© turi du; 3© turi vieną;4© turi keturis; 5© neturi.

7 Funkcijos H(g, p) tobuloji disjunkcinė normalioji forma yra1© g&p ∨ g&p; 2© g&p ∨ g&p ∨ g&p;3© g&p ∨ g&p; 4© g&p ∨ g&p.

8 Funkcijos H(g, p) tobuloji konjunkcinė normalioji forma yra1© (g ∨ p)&(g ∨ p);2© (g ∨ p)&(g ∨ p);3© (g ∨ p);4© (g ∨ p)&(g ∨ p).

Bulio funkcija S(w, u) apibrėžta formule (w ⇒ u)&(w ⇒ u).

9Kuris teiginys yra teisingas?(A) Funkcija S(w, u) nekeičia nulio.(B) Funkcija S(w, u) nekeičia vieneto.

1© teiginys (A);2© abu teiginiai;3© nė vienas;4© teiginys (B).

10 Loginė lygtis S(w, u) = 1 sprendin į/ius/ių .

1© turi keturis; 2© turi tris; 3© turi vieną;4© turi du; 5© neturi.

Page 83: AKrylovas_DiskrMatem_20080316

2.4. PILNOSIOS FUNKCIJŲ SISTEMOS 69

11 Funkcijos S(w, u) tobuloji disjunkcinė normalioji forma yra1© w&u ∨ w&u ∨ w&u; 2© w&u;3© w&u ∨ w&u; 4© w&u ∨ w&u.

12 Funkcijos S(w, u) tobuloji konjunkcinė normalioji forma yra1© (w ∨ u)&(w ∨ u)&(w ∨ u);2© (w ∨ u);3© (w ∨ u)&(w ∨ u);4© (w ∨ u)&(w ∨ u).

2.4. Pilnosios funkcijų sistemos

2.4.1. Pilnųjų sistemų pavyzdžiai

2.11 apibrėžimas. Bulio funkcijų (operacijų10) sistema f1, f2, . . .,fs, . . . vadinama pilnąja, jei bet kurią Bulio funkciją f(x1, x2, . . . , xn)galima išreikšti šios sistemos operacijomis (funkcijomis):

f(x1, x2, . . . , xn) = fj1

(

fj2

(

· · · fj3(· · ·(

fjk(xi1 , . . . , xim)

)

· · ·)

· · ·)

.

Kitaip sakant, pilnosios funkcijų sistemos operecijų pakanka išreikšti betkurią Bulio funkciją. Pateiksime jau žinomų mums pilnųjų sistemų pavyz-džius.

2.10 pavyzdys. Visų Bulio funkcijų aibė yra pilnoji sistema.

2.11 pavyzdys. Funkcijų sistema x1, x1 & x2, x1∨x2 yra pilnoji.

2.12 pavyzdys. Sistemos x1, x1 & x2 ir x1, x1∨x2 yra pilnosios.

2.13 pavyzdys. Sistemos x1 ↓ x2 ir x1|x2 yra pilnosios.

2.14 pavyzdys. Sistema 0, 1 nėra pilnoji.

2.2 teorema. Tarkime, kad funkcijų sistema F = f1, f2, . . . , fs, . . .yra pilnoji ir kiekvieną funkciją fj galima išreikšti kitos sistemos G =g1, g2, . . . , gn, . . . funkcijomis. Tada sistema G irgi yra pilnoji.

10Bulio funkcijas dar vadiname operacijomis. Pavyzdžiui, operacijomis & arba ∨ vadi-name funkcijas f(x, y) = x & y arba g(x, y) = x ∨ y.

Page 84: AKrylovas_DiskrMatem_20080316

70 2 SKYRIUS. BULIO FUNKCIJOS

Pavyzdžiui, funkcijų sistema x, x1 & x2 yra pilnoji ir x1 & x2 =x1 ∨ x2 (de Morgano formulė). Todėl sistema x, x1 ∨ x2 irgi pilnoji.

2.4.2. Uždarosios funkcijų klasės

2.12 apibrėžimas. Tarkime, kad F = f1, f2, . . . , fs, . . . yra Buliofunkcijų sistema. Visų funkcijų, kurias galima išreikšti sudarytomis išfunkcijų f1, f2, . . . formulėmis, aibė vadinama klasės F uždariniu iržymima [F ].

Uždarymo operacijos savybės

1. F ⊂ [F ];

2. [[F ]] = [F ];

3. Jei F1 ⊂ F2, tai [F1] ⊂ [F2];

4. [F1] ∪ [F2] ⊂ [F1 ∪ F2].

Paaiškinkime pastarąją formulę tokiu pavyzdžiu. Tarkime, kad turimearitmetinių veiksmų sistemas F1 = +, F2 = ·. Tada [F1] = x +x, x + y, x + y + z, . . ., [F2] = x · x, x · y, x · y · z, . . .. Tada [F1 ∪ F2] =x1 + y1 + z1 + · · ·+ (x2 + y2 + · · · )2 + · · · , t. y. kelių kintamųjų (tačiau nevisų11) polinomų aibė.

2.13 apibrėžimas. Funkcijų klasė F vadinamauždarąja, jei [F ] = F .

Taigi funkcijų sistema F yra pilnoji tada ir tik tada, kai [F ] yra visųBulio funkcijų aibė.

2.4.3. Svarbiausios Bulio funkcijų uždarosios klasės

Nekeičiančios nulio funkcijos

2.14 apibrėžimas. Bulio funkciją f(x1, x2, . . . , xn) vadiname nekei-čiančia nulio, jei

f(0, 0, . . . , 0) = 0.

Visų tokių (nekeičiančių nulio) funkcijų klasę (aibę) žymėsime T0.

11Negausime, pavyzdžiui, polinomų x arba 1, kadangi neturime konstantų.

Page 85: AKrylovas_DiskrMatem_20080316

2.4. PILNOSIOS FUNKCIJŲ SISTEMOS 71

Tarkime, kad fj ∈ T0, t. y. fj(0, 0, . . . , 0) = 0. Tada bet kuri sudėtinėfunkcija

F (x1, x2, . . . , xn) = fj1(fj2(xi1 , xi2 , · · · ), fj3(· · · ), · · · )

ir nekeičia nulio:

F (0, 0, · · · , 0) = fj1(fj2(0, 0, · · · , 0), fj3(0, 0, · · · , 0), · · · ) = fj1(0, 0, · · · , 0) = 0.

Taigi ∀F ∈ T0 ir todėl klasė T0 yra uždaroji.

Nekeičiančios vieneto funkcijos

2.15 apibrėžimas. Nekeičiančių vieneto Bulio funkcijų klasė api-brėžiama taip:

T1 = f : f(1, 1, . . . , 1) = 1.

Pavyzdžiui, funkcijos f(x) = x, g(x, y) = x ∨ y, h(x, y) = x&y pri-klauso abiem klasėms, o funkcija w(x) = x – nė vienai.

Akivaizdu, kad [T1] = T1, t. y. klasė yra uždaroji.

2.4 testas

1

Kuri funkcijanekeičia vieneto?R(y, q) = 0;P (y, q) = 1;

1© P ;2© nė viena ;3© R ;4© abi funkcijos .

2

Kuri funkcijanekeičia nulio?H(w, z) = w ⊕ z;P (w, z) = 0;

1© H ;2© abi funkcijos ;3© nė viena ;4© P .

3

Kuri funkcijanekeičia vieneto?Q(u, r) = u;P (u, r) = u ↓ r;

1© abi funkcijos ;2© Q ;3© nė viena ;4© P .

Page 86: AKrylovas_DiskrMatem_20080316

72 2 SKYRIUS. BULIO FUNKCIJOS

4

Kuri funkcijanekeičia nulio?G(g, s) = g ↓ s;Q(g, s) = g ⊕ s;

1© Q ;2© G ;3© nė viena ;4© abi funkcijos .

Savidualiųjų funkcijų klasė

2.16 apibrėžimas. Savidualiųjų funkcijų klasę pažymėkime:

T∗ = f : f(x1, x2, . . . , xn) = f∗(x1, x2, . . . , xn).

Šiai klasei priklauso, pavyzdžiui, funkcijos f(x) = x ir w(x) = x.

Tarkime, kad funkcijos f , f1, f2, . . ., fm ∈ T∗. Taikydami funkcijai

F (x1, x2, . . . , xn) = f (f1(x1, . . . , xn), . . . , fm(x1, . . . , xn))

dualumo principą, gauname, kad

F ∗ = f∗ (f∗1 , . . . , f∗m) = f (f1, . . . , fm) = F.

Taigi F ∈ T∗ ir [T∗] = T∗.

2.3 pastaba. Dviejų kintamųjų savidualiajai funkcijai f(x, y) galiojalygybės:

f(0, 0) = f(1, 1), f(0, 1) = f(1, 0).

Todėl savidualiosios funkcijos teisingumo lentelėje turi būti du nuliaiir du vienetai. Iš čia išplaukia, kad funkcijos &, ∨, ⇒, |, ↓ nėrasavidualiosios. Pastebėkime, kad ši sąlyga yra būtina, bet nėra pa-kankama. Pavyzdžiui, (⊕)∗ = ⇔ ir todėl funkcijos ⊕, ⇔ irgi nėrasavidualiosios.

2.1 pratimas. Užrašykite (analogiškas 2.3 pastabai) lygybes trijų kin-tamųjų savidualiajai funkcijai ir suskaičiuokite kiek tokių funkcijų yra.

2.5 testas

Page 87: AKrylovas_DiskrMatem_20080316

2.4. PILNOSIOS FUNKCIJŲ SISTEMOS 73

1 Bulio funkcijos g(δ, ξ) = δ ∨ ξ dualioji funkcija yra1© δ ⇔ ξ; 2© δ|ξ; 3© δ&ξ; 4© δ;5© δ ⊕ ξ; 6© δ&ξ; 7© δ ↓ ξ; 8© δ ∨ ξ.

2

Kuris teiginys yra teisingas?Funkcija g(δ, ξ)(A) yra savidualioji;(B) nekeičia nulio;(C) nekeičia vieneto.

1© (B) ir (C); 2© visi teiginiai;3© nė vienas; 4© (A);5© (B); 6© (C);7© (A) ir (B); 8© (A) ir (C).

3 Bulio funkcijos h(µ, δ) = (µ ∨ δ)&(µ ∨ δ) dualioji funkcija yra1© µ; 2© µ&δ; 3© µ&δ; 4© µ⇔ δ;5© δ; 6© µ|δ; 7© µ ∨ δ; 8© µ⊕ δ.

4

Kuris teiginys yra teisingas?Funkcija h(µ, δ)(A) yra savidualioji;(B) nekeičia nulio;(C) nekeičia vieneto.

1© (A) ir (C); 2© (B) ir (C);3© (C); 4© nė vienas;5© (A); 6© (A) ir (B);7© visi teiginiai; 8© (B).

Monotoninės funkcijos

2.17 apibrėžimas. Tarkime, kad

α = (α1, α2, . . . , αn), β = (β1, β2, . . . , βn)

yra du Bulio kintamųjų rinkiniai ir α 6= β. Susitarkime rašyti

(α1, α2, . . . , αn) ≺ (β1, β2, . . . , βn),

kaiαj 6 βj (∀j = 1, 2, . . . , n).

2.15 pavyzdys. Turime α1 = β1 = 0, α2 = β2 = 1, α3 = β3 = 1,α4 = β4 = 1, α5 = β5 = 0, α6 = 0 < β6 = 1, α7 = 0 < β7 = 1. Todėl

(0, 1, 1, 1, 0, 0, 0) ≺ (0, 1, 1, 1, 0, 1, 1).

Page 88: AKrylovas_DiskrMatem_20080316

74 2 SKYRIUS. BULIO FUNKCIJOS

2.11 pav. Trijų kintamųjų monotoninė funkcija

Pastebėkime, kad ne visi Bulio kintamųjų rinkiniai α ir β išpildo kuriąnors iš sąlygų α ≺ β arba β ≻ α. Pavyzdžiui, (0, 0) ≺ (0, 1) ≺ (1, 1), tačiaunegalima rašyti (0, 1) ≺ (1, 0) arba (0, 1) ≻ (1, 0).

2.18 apibrėžimas. Apibrėžkime monotoninių funkcijų klasę

T6 = f : α ≺ β ⇒ f(α) 6 f(β).

Taigi vieno kintamojo funkcija f(x) yra monotoninė, kai f(0) 6 f(1).Todėl funkcijos 0, 1 ir x yra monotoninės, o x – nėra.

Dviejų kintamųjų funkcija f(x, y) yra monotoninė, kai galioja visos (še-šios) nelygybės:

f(0, 0) 6 f(0, 1) 6 f(1, 1),

f(0, 0) 6 f(1, 0) 6 f(1, 1).

Gauname, kad funkcijos g(x, y) = x∨ y ir h(x, y) = x & y yra monotoninės,o funkcijos x⇒ y, x⇔ y, x⊕ y, x | y, x ↓ y – nėra.

Pavaizduokime grafiškai (2.11 pav., 74 psl.) nelygybių patikrinimo sche-mą trijų kintamųjų funkcijai.

2.3 teorema.[T6

]= T6.

Įrodymas. Tarkime, kad kad funkcijos f , f1, f2, . . ., fm ∈ T6 ir

F (x) = F (x1, x2, . . . , xn) = f (f1(x1, . . . , xn), . . . , fm(x1, . . . , xn)) .

Page 89: AKrylovas_DiskrMatem_20080316

2.4. PILNOSIOS FUNKCIJŲ SISTEMOS 75

Jei

α = (α1, α2, . . . , αn) ≺ β = (β1, β2, . . . , βn) ,

tai ∀j = 1, 2, . . . ,m: fj(α) 6 fj(β). Todėl

(f1(α), . . . , fm(α)) ≺ (f1(β), . . . , fm(β))

ir, kadangi funkcija f irgi monotoninė, turime

f (f1(α), . . . , fm(α)) 6 f (f1(β), . . . , fm(β)) .

Taigi įrodėme, kad F (α) 6 F (β) ir F ∈ T6. Arba [T6] = T6.

2.16 pavyzdys. Parodykime, kaip pritaikyti monotoninės funkcijossąvoką informacijos apie žmogaus turtą modeliavimui. Tarkime, kadiš tam tikros duomenų bazės prieinama informacija ar žmogus turi:

• automobilį (bulinis kintamasis a = 1, kai turi ir a = 0 priešingu atve-ju);

• nekilnuojamąjį turtą (bulinis kintamasis n);

• vertybinius popierius (v).

Mes norime sukonstruoti Bulio funkcijas T (a, n, v), kurios leistųatsakyti į klausimą ar žmogus yra turtingas. Kadangi nėra informa-cijos apie žmogaus turimų vertybių kainą, galima operuoti tik trijųBulio kintamųjų (a, n, v) reikšmėmis. Tarkime, kad mums labai svar-bu ar jis turi automobilį ir tokio turėjimo pakanka tam, kad pavadintižmogų turtingu, o neturėjimo – neturtingu. Tada T (0, n, v) = 0 irT (1, n, v) = 1. Aišku, kad jei mes pavadinome turtingu žmogų, turin-tį tik automobilį T (1, 0, 0) = 1, tai privalome turtingais laikyti ir tuos,kurie turi automobilį ir dar bent vieną iš vertybių n, v. Todėl turimepareikalauti T (1, 1, 0) = T (1, 0, 1) = T (1, 1, 1) = 1. Jei žmogus neturiatomobilio (a = 0), tai šios funkcijos T reikšmės lygios nuliui:T (0, 0, 0) = (0, 0, 1) = T (0, 1, 0) = T (0, 1, 1) = 0.Taigi funkcija T (a, n, v) gali būti užrašyta lentele:

Page 90: AKrylovas_DiskrMatem_20080316

76 2 SKYRIUS. BULIO FUNKCIJOS

a n v T (a, n, v)

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 1

1 1 1 1

Taigi matome, kad T (a, n, v) = a yra monotoninė funkcija.

Aišku, kad turtingu galima pavadinti ir žmogų, turintį bent kąnors iš trijų vertybių a, n, v. Tada turėsime kitą monotoninę funkcijąT1(a, n, v) = a ∨ n ∨ v.

Jei norėsime laikyti turtingu tik turintį visas šias vetybes žmogų,gausime T2(a, n, v) = a & n & v. Ši funkcija irgi monotoninė.

2.6 testas

1

Kuri funkcijayra monotoninė?H(s, g) = 0;Q(s, g) = s;

1© abi funkcijos ;2© nė viena ;3© H ;4© Q .

2

Kuri funkcijayra monotoninė?Q(q, p) = q ⇔ p;R(q, p) = q ↓ p;

1© nė viena ;2© abi funkcijos ;3© Q ;4© R .

3

Kuri funkcijayra monotoninė?R(g, y) = g ⇒ y;Q(g, y) = g&y;

1© abi funkcijos ;2© nė viena ;3© Q ;4© R .

Page 91: AKrylovas_DiskrMatem_20080316

2.4. PILNOSIOS FUNKCIJŲ SISTEMOS 77

Tiesinės funkcijos

2.19 apibrėžimas. Tiesinių funkcijų klasė apibrėžiama taip:12:

TL = f : f(x1, x2, . . . , xn) = c0 ⊕ c1&x1 ⊕ c2&x2 ⊕ · · · ⊕ cn&xn.

Čia cj ∈ 0, 1 yra tiesinio darinio koeficientai.

Taigi Bulio funkcija vadinama tiesine, kai ją galima išreikšti tiesiniu da-riniu.

Funkcijos f(x) = x ir w(x) = x yra tiesinės:f(x) = x = 0⊕ 1&x, w(x) = x = x⊕ 1 = 1⊕ 1&x.

2.17 pavyzdys. Parodysime, kad funkcija g(x, y) = x∨ y nėra tiesi-nė. Bandome išreikšti funkciją g(x, y) tiesinio darinio su neapibrėžtaiskoeficientais c0, c1, c2 pavidalu:

g(x, y) = x ∨ y = c0 ⊕ c1&x⊕ c2&y.

Imdami Bulio kintamųjų x ir y atskiras reikšmes, gauname:

g(0, 0) = 0 ∨ 0 = 0 = c0 ⊕ c1&0⊕ c2&0 = c0,

g(0, 1) = 0 ∨ 1 = 1 = 0⊕ c1&0⊕ c2&1 = c2,

g(1, 0) = 1 ∨ 0 = 1 = 0⊕ c1&1⊕ 1&0 = c1.

Taigi visi koeficientai rasti: c0 = 0, c1 = 1, c2 = 1 ir turime g(x, y) =x⊕ y. Tačiau, g(1, 1) = 1 ∨ 1 = 1 6= 1⊕ 1 = 0 ir todėl x ∨ y 6= x⊕ y.

Parodysime, kad funkcijų sistema TL yra uždaroji: [TL] = TL. Tarkime,kad f , f1, f2, . . ., fm ∈ TL. Tada (konjunkcijos ženklo & nerašome)

f(f1, . . . , fm) = c0 + c1f1 + · · ·+ cmfm,

fj(x1, . . . , xn) = cj0 + cj1x1 + cj2x2 + · · ·+ cjnxn, j = 1, 2, . . . ,m

ir sudėtinę funkciją

F (x) = F (x1, x2, . . . , xn) = f (f1(x1, . . . , xn), . . . , fm(x1, . . . , xn))

12Skliaustų nerašome, kadangi operacijos & prioritetas yra didesnis, negu operacijos ⊕.

Page 92: AKrylovas_DiskrMatem_20080316

78 2 SKYRIUS. BULIO FUNKCIJOS

galima išreikšti taip:

F (x) = c0+c1(c0 + c10x1 + · · · + c1nxn

)+· · ·+cm (c0 + cm0 x1 + · · ·+ cmn xn) =

= C0 + C1x1 + C2x2 + · · ·+ Cnxn.

Čia pažymėtac0 + c1&c

10 + · · ·+ cm&cm0 = C0,

c1&c11 + · · ·+ cm&cm1 = C1,

· · · · · · · · · · · · · · ·c1&c

1n + · · · + cm&cmn = Cn.

Taigi įrodėme, kad funkcija F (x) yra tiesinė ir todėl tiesinių funkcijų klasėuždara.

2.20 apibrėžimas. Polinomu vadinsime funkciją, reiškiama formule

P (x1, x2, . . . , xn) =⊕

(i1,i2,...,ik), 06k6n

c(i1,i2,...,ik)xi1&xi2& · · ·&xik , c(··· ) ∈ 0, 1.

Maksimalus skaičius k, kai c(i1,i2,...,ik) = 1,vadinamas polinomo laipsniu.

Taigi polinomu vadiname formulę, užrašytą konstantomis 0, 1 ir ope-racijomis &, ⊕.13 Pavyzdžiui, x&y&z ⊕ x&z ⊕ y ⊕ 1 yra trečiojo laipsniopolinomas.

2.4 teorema. Bet kuri Bulio funkcija reiškiama (vieninteliu) polino-mu. Įrodymui pakanka išreikti funkciją tobuląja konjunkcine norma-liąja forma ir pastebėti, kad disjunkciją ir neigimą galima užrašytitaip:

x = x⊕ 1, x ∨ y = x⊕ y ⊕ x&y.

2.4 pastaba. Tiesinė funkcija yra pirmojo arba nulinio laipsnio poli-nomas. Disjunkcija, kaip jau buvo parodyta (2.17 pavyzdys, 77 psl.),nėra tiesinė funkcija. Tai matome ir iš pateiktos formulės x ∨ y =x ⊕ y ⊕ x & y, kadangi ji yra antrojo laipsnio polinomas ir todėl šifunkcija nėra tiesinė.

13Konjunkcijos operacijos ženklo & galima nerašyti, o konstanta 0 reikalinga tik tam,kad eliminuoti iš reiškinio nereikalingas elementariasias konjunkcijas.

Page 93: AKrylovas_DiskrMatem_20080316

2.4. PILNOSIOS FUNKCIJŲ SISTEMOS 79

2.18 pavyzdys. Parodykime, kad implikacija x ⇒ y nėra tiesinėfunkcija. Reiškiame funkciją polinomu:

x⇒ y = x ∨ y = x⊕ y ⊕ x&y =

(x⊕ 1)⊕ y ⊕ (x⊕ 1) & y = x⊕ 1⊕ (y ⊕ y)⊕ x&y =

x⊕ 1⊕ 0⊕ x&y = x⊕ 1⊕ x&y.Taigi implikacija irgi (kaip konjunkcija ir disjunkcija) yra antrojolaipsnio polinomas.

2.7 testas

1 Bulio funkcija w(λ, η) = λ&η ∨ λ&η ∨ λ&η yra žymima1© λ⇔ η; 2© λ ∨ η; 3© λ⊕ η; 4© λ⇒ η;5© λ ↓ η; 6© λ&η; 7© λ|η.

2Kuris teiginys yra teisingas?Funkcija w(λ, η)(A) yra monotoninė;(B) yra tiesinė.

1© nė vienas;2© (B);3© (A);4© visi teiginiai.

3 Bulio funkcija w(β, λ) = (β ∨ λ)&(β ∨ λ) yra žymima1© β ∨ λ; 2© β ↓ λ; 3© β&λ; 4© β ⇔ λ;5© β ⊕ λ; 6© β|λ; 7© β ⇒ λ.

4Kuris teiginys yra teisingas?Funkcija w(β, λ)(A) yra monotoninė;(B) yra tiesinė.

1© (B);2© visi teiginiai;3© nė vienas;4© (A).

2.4.4. Sistemos pilnumo būtinos ir pakankamos sąlygos

Bet kuri Bulio funkcija išreiškiama disjunkcine arba konjunkcine nor-maliąja forma. Todėl funkcijų (rašome atitinkančias operecijas) sistema

Page 94: AKrylovas_DiskrMatem_20080316

80 2 SKYRIUS. BULIO FUNKCIJOS

¬,&,∨ yra pilnoji. Taikant de Morgano dėsnius, konjunkciją galima iš-reikšti neigimu bei disjunkcija ir atvirkščiai. Taigi pilnosios yra ir šios sis-temos: ¬,∨ , ¬,&. Prisiminkime, kad mes žinome dar tris pilnąsiasfunkcijų sistemas: ¬,⇒, |, ↓. (žr. 2.10 – 2.11 pavyzdžius, 69 psl.)

2.1 lema. Tarkime, kad f(x1, x2, . . . , xn) /∈ T∗. Tada taikant funkci-jas x ir x iš jos galima gauti nesavidualiąją vieno kintamojo funkciją,t. y. konstantą.Įrodymas. Funkcija f(x1, x2, . . . , xn) nėra savidualioji. Todėl egzis-tuoja toks rinkinys α1, α2, . . ., αn, kad

f(α1, α2, . . . , αn) = f(α1, α2, . . . , αn).

Pažymėkime funkcijas ϕj(x) = xαj (j = 1, 2, . . . , n) ir apibrėžkimevieno kintamojo funkciją

ϕ(x) = f(ϕ1(x), ϕ2(x), . . . , ϕ2(x)).

Pastebėję, kad 0αj = αj ir 1αj = αj , turime

ϕ(0) = f(ϕ1(0), ϕ2(0), . . . , ϕn(0)) = f(0α1 , 0α2 , . . . , 0αn) =

f(α1, α2, · · · , αn) = f(α1, α2, · · · , αn) =

f(1α1 , 1α2 , . . . , 1αn) = f(ϕ1(1), ϕ1(1), . . . , ϕn(1)) = ϕ(1).

Taigi ϕ(0) = ϕ(1) ir ϕ(x) = 0 arba ϕ(x) = 1 t. y. konstanta.

2.2 lema. Tarkime, kad f(x1, x2, . . . , xn) /∈ T6. Tada taikant funkci-jas 0 ir 1 iš jos galima gauti nemonotoninę vieno kintamojo funkciją,t. y. x.Įrodymas. Funkcija f(x1, x2, . . . , xn) nėra monotoninė. Todėl egzis-tuoja tokie du rinkiniai

(α1, . . . , αj−1, 0, αj+1, . . . , αn) ir

(α1, . . . , αj−1, 1, αj+1, . . . , αn),

kad

f(α1, . . . , αj−1, 0, αj+1, . . . , αn) > f(α1, . . . , αj−1, 1, αj+1, . . . , αn).

Taigi vieno kintamojo funkcija

ϕ(x) = f(α1, . . . , αj−1, x, αj+1, . . . , αn)

Page 95: AKrylovas_DiskrMatem_20080316

2.4. PILNOSIOS FUNKCIJŲ SISTEMOS 81

nėra monotoninė:

ϕ(0) = f(α1, . . . , αj−1, 0, αj+1, . . . , αn) > f(α1, . . . , αj−1, 1, αj+1, . . . , αn) = ϕ(1).

Taigi ϕ(0) = 1 ir ϕ(1) = 0 arba ϕ(x) = x.

2.3 lema. Tarkime, kad f(x1, x2, . . . , xn) /∈ TL. Tada taikant funkci-jas 0, 1, x ir x iš jos galima gauti funkciją x1 & x2.Įrodymas. Bet kurią funkciją galima išreikšti polinomu

f(x1, x2, . . . , xn) =⊕

(j1,j2,...,js)

aj1,j2...jn&xj1&xj2& · · ·&xjs.

Funkcija f(x1, x2, . . . , xn) netiesinė. Todėl ji turi bent vieną konjunk-ciją. Dėl apibrėžtumo laikykime, kad tai yra konjunkcija x1 & x2.Taigi reiškinį galima pertvarkyti taip:

(j1j2,...,js)

aj1j2...jn&xj1&xj2& · · ·&xjs = x1&x2&f12(x3, . . . , xn)⊕

x1&f1(x3, . . . , xn)⊕ x2&f2(x3, . . . , xn)⊕ f0(x3, . . . , xn)

ir f12(x3, . . . , xn) 6≡ 0. Todėl egzistuoja toks rinkinys (α3, . . . , αn),kad

f12(α3, . . . , αn) = 1.

Apibrėžkime funkciją

ϕ(x1, x2) = f(x1, x2, α3, . . . , αn) = x1&x2 ⊕ α&x1 ⊕ β&x2 + γ.

Parodykime, kad funkcija

ψ(x1, x2) = ϕ(x1 ⊕ β, x2 ⊕ α)⊕ α&β ⊕ γ = x1&x2.

Turime

ϕ(x1⊕β, x2⊕α)⊕α&β+γ = (x1⊕β)&(x2⊕α)⊕α&(x1⊕β)⊕β&(x2⊕α)⊕ =

γ ⊕ α&β ⊕ γ = x1&x2 ⊕ (α&x1 ⊕ α&x1)⊕ (β&x2 ⊕ β&x2)⊕

(α&β ⊕ α&β ⊕ α&β ⊕ α&β)⊕ (γ ⊕ γ) =

x1&x2 ⊕ 0⊕ 0⊕ 0 = x1&x2.

Page 96: AKrylovas_DiskrMatem_20080316

82 2 SKYRIUS. BULIO FUNKCIJOS

Bendruoju atveju nustatyti funkcijų sistemos pilnumą leidžia Posto14

teorema.

2.5 teorema. Bulio funkcijų sistema F yra pilnoji tada ir tik tada,kai ji turi bent po vieną funkciją, nepriklausančią kiekvienai klaseiT0, T1, T∗, T6, TL, t. y. galima nurodyti bent vieną funkciją kuri nėranekeičianti nulio, nėra nekeičianti vieneto ir t. t.Įrodymas. Būtinumas. Žymėsime F ⊂ Tj, kai visos sistemos funkcijosturi atitinkamą savybę (nekeičia nulio, vieneto ir t. t.) Pavyzdžiui, jeiF neturi nė vienos nekeičiančios nulio funkcijos, tai F 6⊂ T0. Tarkime,kad F ⊂ Tj (∃j ∈ 0, 1, ∗,6, L ir sistema F yra pilnoji. Tada [F ] yravisų Bulio funkcijų aibė. Bet [F ] ⊂ [Tj ], o [Tj ] nesudaro visų Buliofunkcijų aibės. Taigi gavome prieštaravimą ir būtinumas įrodytas.Pakankamumas. Turime F 6⊂ Tj (∀j ∈ 0, 1, ∗,6, L). Todėl sistemo-je yra tokios funkcijos fj ∈ F (j /∈ 0, 1, ∗,6, L), kad

f0 /∈ T0, f1 /∈ T1, f∗ /∈ T∗, f6 /∈ T6, fL /∈ TL.

Įrodykime, kad šios penkios funkcijos leidžia išreikšti funkcijas x irx1&x2, t. y. ir visas Bulio funkcijas.1) Konstantų 0 ir 1 konstravimas.Paimkime ϕ(x) = f0(x, x, . . . , x). Galimi du atvejai: f0(1, 1, . . . , 1) =1 ir f0(1, 1, . . . , 1) = 0. Pirmuoju atveju ϕ(x) = 1 – konstanta. Ant-rąją konstantą gauname taip: f1(1, 1, . . . , 1) = 0. Antruoju atvejuϕ(x) = x ir funkcijai f∗ taikome 2.1 lemą ir gauname kitą konstantą.Taigi antruoju atveju turime abi konstantas ir neigimo operaciją.2) Grįžtame prie pirmojo atvejo. Turime konstantas 0, 1, tačiau darneturime neigimo operacijos. Taikome funkcijai f6 2.2 lemą. Gauna-me funkciją x.3) Turime funkcijas 0, 1, x ir taikome funkcijai FL 2.3 lemą. Gaunamefunkciją x1&x2.Taigi sukonstravome pilnąją operacijų sistemą 6=,& ir galime išreikš-ti bet kurią Bulio funkciją. Pakankamumas įrodytas.

2.19 pavyzdys. Parodykime, kad sistema 0, 1,&,⊕ yra pilnoji.Užpildome lentelę.

14Emil Leon Post (1897 – 1954) – amerikiečių matematikas ir logikas.

Page 97: AKrylovas_DiskrMatem_20080316

2.4. PILNOSIOS FUNKCIJŲ SISTEMOS 83

T0 T1 T∗ T6 TL0 ∈ /∈ /∈ ∈ ∈1 /∈ ∈ /∈ ∈ ∈& ∈ ∈ /∈ ∈ /∈⊕ ∈ /∈ /∈ /∈ ∈

Matome, kad klasei T0 nepriklauso funkcija 1, klasei T1 nepriklausofunkcijos 0 ir ⊕, visos sistemos 0, 1,&,⊕ funkcijos nėra savidualio-sios (/∈ T∗), sistemoje yra (bent viena) funkcija (⊕) nepriklausantiklasei T6 (funkcija ⊕ nėra monotoninė) ir sistemoje yra netiesinėfunkcija (& /∈ TL). Taigi 2.5 sąlygos galioja ir todėl operacijų sistema0, 1,&,⊕ yra pilnoji.

2.5 pastaba. Iš užpildytos lentelės matome, kad funkcijų sistema15

1,&,⊕ irgi yra pilnoji, tačiau šios operacijų sistemos nėra pilno-sios:

0,&,⊕ – visos funkcijos nekeičia nulio (∈ T0);0, 1,& – visos funkcijos yra monotoninės (∈ T6);0, 1,⊕ – visos funkcijos yra tiesinės (∈ TL).

2.8 testas

1 Kuri loginių operacijų sistema yra pilnoji ?(A) ⊕, 0, 1; (B) ⊕,∨.1© nė viena; 2© (B); 3© abi sistemos; 4© (A).

2 Kuri loginių operacijų sistema yra pilnoji ?(A) ⊕, 1,∨; (B) ⇒, 1.1© nė viena; 2© (A); 3© abi sistemos; 4© (B).

3 Kuri loginių operacijų sistema yra pilnoji ?(A) ⊕,∨; (B) ⊕, 1,&.1© (B); 2© nė viena; 3© (A); 4© abi sistemos.

15Pastebėkime, kad šiomis operacijomis užrašomi polinomai ir sistemos pilnumas išplau-kia iš 2.4 teoremos (78 psl.)

Page 98: AKrylovas_DiskrMatem_20080316

84 2 SKYRIUS. BULIO FUNKCIJOS

4 Kuri loginių operacijų sistema yra pilnoji ?(A) ⊕,⇔,∨; (B) ∨,¬.1© (B); 2© abi sistemos; 3© nė viena; 4© (A).

5 Kuri loginių operacijų sistema yra pilnoji ?(A) ⇒,⇔; (B) ⊕,⇔.1© (B); 2© nė viena; 3© abi sistemos; 4© (A).

6 Kuri loginių operacijų sistema yra pilnoji ?(A) ⇒,¬; (B) ⊕,⇔.1© abi sistemos; 2© (B); 3© (A); 4© nė viena.

7 Kuri loginių operacijų sistema yra pilnoji ?(A) ∨,&; (B) ⇒, 0.1© (B); 2© abi sistemos; 3© nė viena; 4© (A).

8 Kuri loginių operacijų sistema yra pilnoji ?(A) ∨,¬; (B) ⊕, 1,∨.1© nė viena; 2© abi sistemos; 3© (A); 4© (B).

9 Kuri loginių operacijų sistema yra pilnoji ?(A) ⇒,&; (B) ⇒, 1.1© (A); 2© abi sistemos; 3© nė viena; 4© (B).

10 Kuri loginių operacijų sistema yra pilnoji ?(A) ↓; (B) ⇒,∨.

1© abi sistemos; 2© (A); 3© (B); 4© nė viena.

Page 99: AKrylovas_DiskrMatem_20080316

2.4. PILNOSIOS FUNKCIJŲ SISTEMOS 85

Klausimai ir užduotys

2.1 Sudarykite funkcijos

L(w, b, v) = ((b⊕ w) | v) ↓ b

teisingumo lentelę, atsakykite į klausimus ir atlikite užduotis.

a) Kiek sprendinių turi loginė lygtis L(w, b, v) = 0?

b) Ar funkcija L(w, b, v) yra savidualioji, monotoninė, tiesinė?

c) Užrašykite funkcijos L(w, b, v) tobuląją normaliąją disjunkcinę formą.

d) Užrašykite funkcijos L(w, b, v) tobuląją normaliąją konjunkcinę formą.

2.2 Kiek sprendinių turi loginė lygtis

L(a, c, z) = ((c⊕ a) | z) ↓ c = 1?

Ar funkcija L(a, c, z) yra savidualioji, monotoninė, tiesinė?Užrašykite funkcijos L(a, c, z) tobuląją normaliąją disjunkcinę formą.Užrašykite funkcijos L(a, c, z) tobuląją normaliąją konjunkcinę formą.

2.3 Funkcijos α(x, y, z), β(x, y, z), γ(x, y, z) apibrėžtos jų teisingumo len-telėmis:

x y z α β γ

0 0 0 1 1 10 0 1 0 1 10 1 0 0 1 10 1 1 0 0 11 0 0 0 1 11 0 1 0 0 11 1 0 1 0 01 1 1 0 0 1

Sudarykite iš funkcijų α, β ir γ pilnasias operacijų sistemas.

2.4 Funkcijos α(x, y, z), β(x, y, z), γ(x, y, z) apibrėžtos jų teisingumo len-telėmis:

Page 100: AKrylovas_DiskrMatem_20080316

86 2 SKYRIUS. BULIO FUNKCIJOS

x y z α β γ

0 0 0 0 1 10 0 1 1 1 00 1 0 0 0 10 1 1 1 0 11 0 0 1 0 01 0 1 0 0 01 1 0 1 1 11 1 1 0 1 0

Sudarykite iš funkcijų α, β ir γ pilnasias operacijų sistemas.

2.5 Funkcijos α(x, y, z), β(x, y, z), γ(x, y, z) apibrėžtos jų teisingumo len-telėmis:

x y z α β γ

0 0 0 0 0 00 0 1 0 0 00 1 0 1 1 10 1 1 1 1 01 0 0 0 0 11 0 1 0 0 01 1 0 0 1 11 1 1 1 1 1

Sudarykite iš funkcijų α, β ir γ pilnasias operacijų sistemas.

Pastabos ir komentarai

Bulio funkcijos buvo pritaikytos simbolinės logikos uždaviniams spręsti Džoržo Buliodarbuose 1847 metais. Vėliau jos buvo taikomos ne tik logikoje, bet ir kituose matematikosskyriuose ir taikymuose. Bulio funkcijos labai patogios tokių valdymo sistemų modelia-vimui, kaip kontaktinių schemų, funkcinių elementų schemų, loginių tinklų. Šią taikymųkryptį pradėjo XX amžiaus viduryje K.Šenonas16. Bulio funkcijos taip pat taikomos kaikuriems sveikaskaisčio matematinio programavimo užgaviniams spręsti.

Bulio funkcijoms skiriama nemažai dėmesio diskrečiosios matematikos vadovėliuose[35], [36]. Paminėkime ir specializuotus Bulio funkcijų teorijos vadovėlius [37], [38].

16Claude Shannon (1916 – 2001) – amerikiečių inžinierius ir matematikas

Page 101: AKrylovas_DiskrMatem_20080316

3 skyrius

Aibės

3.1. Aibės ir poaibiai

3.1.1. Aibės sąvoka

Kantoras supranta aibę, kaip bet kurį, apibrėžtų ir skiriamų vienasnuo kito mūsų intuicija, objektų rinkinį. Šis rinkinys suvokiamas, kaip šiųobjektų, narių, elementų vieninga visuma. Taigi kalbant apie bet kurią aibęA būtina turėti galimybę atsakyti į klausimą, ar elementas a jai priklauso.Kai a yra aibės A elementas, t. y. priklauso jai, rašome1 a ∈ A. Jei y nėrašios aibės elementas (nepriklauso jai) rašome y /∈ A arba y∈A.

Aibių pavyzdžiaiA = a1, a2, . . . , an;N = 1, 2, 3, . . . – natūraliųjų skaičių aibė;P = 2, 3, 5, 7, 11, 13, 17, 19, 23, . . . – pirminių skaičių aibė;L = n ∈ N : n = 2k, k = 1, 2, . . . – lyginių natūraliųjų skaičių aibė;C = 1, 2, 1, 2;D = N.

Matome, kad aibės gali būti baigtinės, t. y. turėti baigtinį elementųskaičių. (Aibės A, C ir D baigtinės.) Aibės A = a1, . . . , an elementųskaičių n žymime |A| = n. Aibė C turi tris elementus (kurie yra aibės1, 2, 1, 2): |C| = 3. Aibė D turi vieną elementą (|D| = 1), kuris yrabegalinė natūraliųjų skaičių aibė N . Skaičių aibės P ir L irgi yra begalinės.

Aibių teorija gali būti konstruojama įvairiais būdais, pavyzdžiui, kaipformalioji aksiominė teorija (žr. 1.5.6., 40 p.). Čia dėstomi intuicionistinės

1Ženklas ∈ yra graikiško žodžio ǫ στι –”yra“,

”būti “ pirmosios raidės stilizacija.

87

Page 102: AKrylovas_DiskrMatem_20080316

88 3 SKYRIUS. AIBĖS

aibių teorijos principai. Pačios aibės sąvoka yra pirminė, neapibrėžiama.Tačiau aibių savybėms tirti formuluojami ekstensionalumo ir abstrakcijosprincipai, kurie padeda paaiškinti kai kurias teorijos taisykles.

Intuityvusis ekstensionalumas (apimties principas). Dvi aibės yralygios tada ir tik tada, kai jas sudaro tie patys elementai.

Iš čia išplaukia, kad a, a = a, nes abiem atvejais užrašyta ta pati ai-bė, sudaryta iš vieno elemento a. Sustarkime, rašydami aibes, jų elementųnekartoti.

Dar iš apimpties principo išplaukia tokia lygybė a, b = b, a, kadangisvarbu žinoti aibės elementus, o nustatyti jų eilės tvarką visai nebūtina. Taikitas, atskirai nagrinėjamas klausimas.

Užrašykime dar ir tokią nelygybę 1, 1, 2, 2 6= 1, 2, kadangipirmąją aibę sudaro trys elementai (kurie yra ir aibės) 1, 1, 2, 2, oantrąją aibę sudaro du elementai – simboliai 1 ir 2. Panašiai gauname, kadN 6= N.

Išnagrinėtų pavyzdžių aibę L = 2, 4, 6, . . . galima apibrėžti ir taip L =x : x lyginis skaičius arba bendruoju atveju x : P (x). Čia P (x) tamtikra x savybė – predikatas2 . Kai vietoje raidės x įmame konkrečią reikšmęa, tai P (a) turi būti teisingas teiginys. Pavyzdžiui, jei P (x) yra x savybėdalus iš 5, gauname teisingus teiginius P (5), P (10), P (15), . . .. Taigi x :P (x) = 5, 10, 15, 20, . . ..

Intuityvioji abstrakcija. Bet kuri forma P (x) apibrėžia tam tikrą aibęA, taip nurodant jos elementų a savybę, kad tik su šiaias objektais P (a) yrateisingas teiginys.

Neatsargus abstrakcijos princicipo taikymas gali būti pavojingas. Būtenttai rodo Raselo3 paradoksas: aibės apibrėžimas, nurodant tam tikrą visųaibės elementų savybę, gali būti nekorektiškas. Apibrėžkime aibę Y , kurioselementai yra tokios aibės X, kad aibė X nėra savo elementas: X /∈ X:

Y = X : X /∈ X.

Ar aibė Y ∈ Y ? Jei Y ∈ Y , tai pagal aibės apibrėžimą Y /∈ Y . Jei Y /∈ Y ,tai Y ∈ Y . Gavome loginį prieštaravimą.

2T.y. x priklauso aibei, kai P (x) = t ir P (x) = k, jei x nepriklauso aibei A. Kitaip tai

galima užrašyti aibės A charakteristinės funkcijos χA(x) =

1, kai x ∈ A0, kai x /∈ A

pavidalu.

3Bertrand Arthur William Rassel (1872 – 1970) – anglų matematikas, logikas ir filoso-fas.

Page 103: AKrylovas_DiskrMatem_20080316

3.1. AIBĖS IR POAIBIAI 89

Tam, kad išvengti panašių problemų, reikia uždrausti nagrinėti visasaibes vienu metu. Taigi jokia aibė negali būti jos pačios elementu.

Patogu įvesti universaliosios4 aibės U sąvoką ir nagrinėti tuos jos ele-mentus x ∈ U , kurie turi tam tikrą savybę p(x). Taigi aibė P apibrėžiamajos savybe p(x):

P = x ∈ U : p(x) = t.Tada visų aibių visus elementus mes išsirenkame tarp jau egzistuojančių ai-bės U elementų. Jei nė vienas elementas x ∈ U neturi savybės p(x), tai aibėP neturi elementų. Tokia aibė vadinama tuščiąja ir žymima ∅.

Paveiksle pavaizduota universalioji aibė U ir aibės A, B, C, D. Šiosfigūros vadinamos Oilerio5 ir Veno6 diagramomis.

3.1 pav. Universalioji aibė U ir aibės A, B, C, D

3.1.2. Aibės poaibiai

3.1 apibrėžimas. Aibė A vadinama aibės B poaibiu, jei visi aibėsA elementai yra ir aibės B elementai. Rašome A ⊂ B arba B ⊃ A.

Kai aibės A, B apibrėžiamos jų savybėmis a(x), b(x), tai savybė a(x)turi būti

”stipresnė “, t. y. iš aibės A elementų reikalaujama daugiau. Pa-

vyzdžiui,

4Universalioji aibė visada priklauso nuo konkretaus uždavinio. Pavyzdžiui, nagrinėjantnatūraliųjų skaičių savybes, U gali būti racionalieji, realieji arba kompleksiniai skaičiai.

5Leonhard Euler (1707 – 1783) – šveicarų matematikas, mechanikas ir fizikas.6Jonh Venn (1834 – 1923) – anglų logikas.

Page 104: AKrylovas_DiskrMatem_20080316

90 3 SKYRIUS. AIBĖS

a(x) –”x yra pirminis skaičius ir x > 2 “,

b(x) –”x yra nelyginis skaičius ir x > 2 “.

Visi pirminiai skaičiai (didesni už 2) yra nelyginiai, bet atvirkštinis teiginysnėra teisingas. Todėl sakome, kad savybė b(x) išplaukia iš savybės a(x) irrašome a(x)⇒ b(x).7

Taigi aibių A = x ∈ U : a(x) ir B = x ∈ U : b(x) poaibio apibrėžimągalima užrašyti reikalvimu a(x)⇒ b(x).

Pastebėkime, kad”maksimaliais “ reikalavimais apibrėžiama tuščioji ai-

bė:∅ = x ∈ U : a(x) ≡ k

Šiems reikalavimams neatitinka nė vienas elementas. Todėl bet kuri kitasąlyga b(x) reikalauja iš elementų mažiau ir iš čia išplaukia, kad bet kuriaiaibei B galioja formulė

∅ ⊂ BIš poaibio apibrėžimo dar išplaukia, kad

A ⊂ A

Taigi bet kuri netuščioji aibė A turi du poabius: ∅ ir A. Visi kiti aibėspoaibiai vadinami tikriniais8.

Tarkime, kad aibė A = a1, a2, . . . , an yra baigtinė: |A| = n (|∅| = 0).Tada aibė A turi tokius poaibius:

∅,

a1, a2, . . . , an,a1, a2, a1, a2, . . . , an−1, an,

· · · · · · · · · · · · · · · · · ·a1, a2, . . . , an−1, . . . , a2, a3, . . . , an,

A.

Visus šiuos poabius galima užkoduoti n nulių ir vienetų sekomis. Sunume-ruokime visus elementus (a1, a2, . . . , an) ir susitarkime, kad nulis i-ojoje vie-toje reiškia, kad elementas ai nepriklauso poaibiui, o vienetas – kad priklau-so. Pavyzdžiui, tuščioji aibė koduojama visais nuliais (0, 0, . . . , 0), aibė A –visais vienetais (1, 1, . . . , 1). Poaibis a1, a2 koduojamas (1, 1, 0, . . . , 0), o

7Ženklu ⇒ žymima loginė operacija implikacija (žr. ?? p.).8Literatūroje kartais taikomi žymėjimai X ⊆ Y , Y ⊇ X. Tokiu atveju žymėjimas

X ⊂ Y reiškia, kad X 6= Y .

Page 105: AKrylovas_DiskrMatem_20080316

3.1. AIBĖS IR POAIBIAI 91

poaibis a2, a3, . . . , an – (0, 1, 1, . . . , 1). Taigi visų aibės A poaibių yra tiek,kiek skirtingų skaičių užrašoma n nuliais ir vienetais dviejetainėje sistemoje:x = 1 + 2 + 22 + 23 + · · · 2n−2 + 2n−1 = 2n. Taigi aibės |A| = n poaibiųskaičius lygus 2n.

Pavyzdžiui, tuščioji aibė ∅ turi vieną (20 = 1) poaibį (save).Aibė A = a turi du poabius (21 = 2): ∅ ir A.Aibė A = 0, 1, 0, 1 turi tris elementus: 0 ∈ A, 1 ∈ A, 0, 1 ∈ Abei aštuonis poaibius (23 = 8):∅, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1.

3.2 pav. Aibės poaibiai

Pavaizduotoms 3.2 paveiksle aibėms A, B, C galioja formulės: A ⊂ B,B ⊂ C, A ⊂ C arba trumpiau A ⊂ B ⊂ C.

Aibės A = a1, a2, . . . , an visų poaibių aibė vadinama buleanu ir žy-mima

2A = ∅, a1, a2, . . . , a1, a2, . . . , a1, a2, a3, · · · , A.

Turime baigtinės aibės poaibių skaičiaus formulę

∣∣2A∣∣ = 2|A| (3.1)

3.1 testas

1Kuris teiginys yra teisingas?(A) u ∈ u, p(B) u ⊂ u, p

1© nė vienas;

2© (B);

3© (A);

4© abu teiginiai.

Page 106: AKrylovas_DiskrMatem_20080316

92 3 SKYRIUS. AIBĖS

2Kuris teiginys yra teisingas?(A) x, q ⊂ v, x, q(B) v, x ⊂ v, x, q

1© abu teiginiai;

2© (B);

3© (A);

4© nė vienas.

3Kuris teiginys yra teisingas?(A) ∅ ∈ z, s, q(B) s, ∅ ⊂ z, s, q

1© nė vienas;

2© (B);

3© (A);

4© abu teiginiai.

4Kuris teiginys yra teisingas?(A) r ⊂ r, v(B) v ∈ r, v

1© (A);

2© abu teiginiai;

3© nė vienas;

4© (B).

5Kuris teiginys yra teisingas?(A) r, q ⊂ r, q, w(B) r, w ⊂ r, q, w

1© (A);

2© abu teiginiai;

3© (B);

4© nė vienas.

6Kuris teiginys yra teisingas?(A) z ∈ p, z, w(B) z,w ⊂ p, z, w

1© (B);

2© nė vienas;

3© abu teiginiai;

4© (A).

7Kuris teiginys yra teisingas?(A) z ∈ z, p(B) p ⊂ z, p

1© (A);

2© (B);

3© abu teiginiai;

4© nė vienas.

Page 107: AKrylovas_DiskrMatem_20080316

3.2. VEIKSMAI SU AIBĖMIS 93

8Kuris teiginys yra teisingas?(A) u, p ⊂ u, v, p(B) u, p ⊂ u, v, p

1© (B);

2© nė vienas;

3© abu teiginiai;

4© (A).

9Kuris teiginys yra teisingas?(A) w, z ∈ w, z, r(B) ∅ ⊂ w, z, r

1© nė vienas;

2© (A);

3© (B);

4© abu teiginiai.

3.2. Veiksmai su aibėmis

3.2.1. Operacijų su aibėmis apibrėžimai

Tarkime, kad aibės A ir B apibrėžtos savybėmis a(x), b(x):

A = x ∈ U : a(x), B = x ∈ U : b(x).

Aibių A ir B sąjunga vadinama aibė, kurios elementai priklauso bent vienaiaibei A arba B, t. y. turi kurią nors vieną savybę a(x), b(x) arba abi šiassavybes. Sąjungą žymime A ∪B.

Aibių A ir B sankirta vadinama aibė, kurios elementai priklauso ir aibeiA, ir aibei B, t. y. būtinai turi abi savybes a(x) ir b(x). Sankirta žymimaA ∩B.

PavyzdžiaiA = 1, 1, 1, 2, 3, B = 1, 2, 3, 4,A ∪B = 1, 1, 1, 2, 2, 3, 3, 4,A ∩B = 1.

Aibių A ir B skirtumas A \B – aibė, sudaryta iš tų aibės A elementų,kurie nėra aibės B elementai, t. y. turi savybę a(x) ir neturi savybės b(x).

PavyzdžiaiA = 1, 1, 2, 2, 3, B = 1, 2, 2, 3, 4,A \B = 1, 2,B \ A = 2, 4.Pastebėkime, kad A \B 6= B \ A.

Page 108: AKrylovas_DiskrMatem_20080316

94 3 SKYRIUS. AIBĖS

3.3 pav. Veiksmai su aibėmis

Dar vienos unariosios9 operacijos rezultatas – aibės A papildinys yraaibė A, sudaryta iš tų (universaliosios aibės U) elementų, kurie nėra aibėsA elementai:

A = U \ A = x ∈ U : x /∈ A

3.2.2. Veiksmų su aibėmis reiškimas predikatais

Aibės A ir B, apibrėžtos universaliosios aibės U elementų savybėmisa(x) ir b(x), ir operacijos su aibėmios predikatų kalba išreiškiamos taip:1) predikatai a(x) ir b(x) apibrėžti aibėje U ;2) aibė A yra predikato a(x) teisingumo aibė:

A = a+ = x ∈ U : a(x) = t;

3) aibė B yra predikato b(x) teisingumo aibė:

B = b+ = x ∈ U : b(x) = t;

4) aibių A ir B sąjunga ir sankirta apibrėžiamos predikatų a(x) ir b(x)disjunkcija ir konjunkcija:

A ∪B = x ∈ U : a(x) ∨ b(x) = t = (a ∨ b)+,A ∩B = x ∈ U : a(x) & b(x) = t = (a & b)+;

9Unarioji (vienvietė) operacija atliekama su vienu operandu ( kintamuoju), o bina-riosios (dvivietės) – su dviem. Taigi aibių sąjungos, sankirtos ir atimties operacijos yrabinariosios.

Page 109: AKrylovas_DiskrMatem_20080316

3.2. VEIKSMAI SU AIBĖMIS 95

5) aibių A ir B papildiniai apibrėžiami predikatų a(x) ir b(x) neigimais:

A = x ∈ U : a(x) = t, B = x ∈ U : b(x) = t;

6) aibių A ir B skirtumai apibrėžiami taip:

A \B = x ∈ U : a(x) & b(x) = t, B \A = x ∈ U : b(x) & a(x) = t.

Taigi aibių A ir B sąjungą sudaro tie universaliosios aibės elementai,kurie turi savybę a(x) arba b(x) (a(x) ∨ b(x)). Šių aibių sankirta sudarytaiš elementų, turinčių abi savybes a(x) ir b(x) (a(x) & b(x)). Iš disjunkci-jos ir konjunkcijos komutatyvumo ir asociatyvumo savybių išplaukia aibiųsąjungos ir sankirtos komutatyvumas ir asociatyvumas:

A ∪B = B ∪A, A ∩B = B ∩A,(A ∪B) ∪ C =

A ∪ (B ∪ C) , (A ∩B) ∩ C =

A ∩ (B ∩ C) .

Visos aibių teorijos formulės (žr. 3.2.3., 96 p.) išplaukia iš logikos dėsnių(t. y. iš operacijų ∨, &, ¬, ⇒, ⇔. Įrodykime, pavyzdžiui, de Morganoformulę:

A ∩B = x : a(x) & b(x) = t =

x : a(x) ∨ b(x) = t =

x : a(x) = t ∪ x : b(x) = t = A ∪B

3.2 testas

1 z,w \ u =

1© w; 2© z, u;3© z,w; 4© u;5© ∅; 6© z,w, u;7© z; 8© w, u.

2 y, s ∪ s =

1© z; 2© z, s;3© z, y, s; 4© s;5© y, s; 6© ∅;7© y; 8© z, y.

Page 110: AKrylovas_DiskrMatem_20080316

96 3 SKYRIUS. AIBĖS

3 g ∩ v, z =

1© v, g, z; 2© g, z;3© z; 4© g;5© ∅; 6© v, g;7© v; 8© v, z.

3.2.3. Operacijų su aibėmis savybės

1 A ∪B = B ∪A komutatyvumo2 A ∩B = B ∩A dėsniai3 (A ∪B) ∪ C = A ∪ (B ∪ C) asociatyvumo4 (A ∩B) ∩ C = A ∩ (B ∩ C) dėsniai5 A ∪ (B ∩ C) = (A ∪B) ∩ (A ∪ C) distributyvumo6 A ∩ (B ∪ C) = (A ∩B) ∪ (A ∩ C) dėsniai7 A ∪B = A ∩B de Morgano8 A ∩B = A ∪B dėsniai9 A ∪A = A idempotentumo10 A ∩A = A dėsniai11 A ∪ ∅ = A12 A ∩ U = A U – universalioji aibė13 A ∪A = U

14 A ∩A = ∅15

(A)

= A dvigubo neigimo dėsnis

Įrodykime, pavyzdžiui, 13 formulę. Aibė A ∪ A sudaryta iš elementų,kurie priklauso kuriai nors iš aibių A, A arba joms abiems (tokių nėra, žr.14 formulę). Aibei A priklauso visi universaliosios aibės U elementai, kurienepriklauso aibei A. Bet kuris elementas arba priklauso aibei A, arba jainepriklauso. Bet tada jis priklauso aibei A. Todėl bet kuris universaliosiosaibės U elementas priklauso aibei A arba aibei A, t. y. priklauso jų sąjungaiA ∪A. Taigi įrodėme, kad U ⊂ A ∪A. Kadangi bet kurių aibių sąjunga (irvisos kitos operacijos) yra universliosios aibės poaibis (A∪A ⊂ U), remiantisekstensionalumo (apimties) principu, gaunama 13 lygybė.

3.3 testas

1 S ∩ ∅ = 1© ∅; 2© S; 3© Ω; 4© S2; 5© S.

Page 111: AKrylovas_DiskrMatem_20080316

3.2. VEIKSMAI SU AIBĖMIS 97

2 G ∪ ∅ = 1© Ω; 2© G; 3© G; 4© G2; 5© ∅.

3 T ∪ T = 1© T; 2© Ω; 3© T 2; 4© T ; 5© ∅.

4 S ∪ Z = 1© S∪Z; 2© S∪Z; 3© S∩Z; 4© ∅; 5© S∩Z.

5 H ∩ V = 1© H∪V ; 2© H∩V ; 3© ∅; 4© H∩V ; 5© H∪V .

3.2.4. Aibių Dekarto sandauga

Tarkime, kad turime dvi aibes A = a1, a2, . . . , an irB = b1, b2, . . . , bm. Aibė

A×B = (ai, bj), i = 1, 2, . . . , n, j = 1, 2, . . . ,m

vadinama aibių A ir B Dekarto10 sandauga. Begalinių aibių atveju

A×B = (a, b) : a ∈ A, b ∈ B.

Pavyzdžiai1. Tarkime, kad A = a, b, c, B = 1, 7, 11, 13. Visos elementų porossudaro aibių Dekarto sandaugas:

A×B = (a, 1), (a, 7), (a, 11), (a, 13), (b, 1), (b, 7), (b, 11),

(b, 13), (c, 1), (c, 7), (c, 11), (c, 13);B ×A = (1, a), (7, a), (11, a), (13, a), (1, b), (7, b), (11, b),

(13, b), (1, c), (7, c), (11, c), (13, c).

2. Turime dvi reailiųjų skaičių tiesės atkarpas A = [0, 1] ⊂ R ir B = [1, 2] ⊂R. Aibės A × B = (x, y) : 0 6 x 6 1, 1 6 y 6 2 ir B × A = (x, y) :1 6 x 6 2, 0 6 y 6 1 yra du skirtingi stačiakampiai realiųjų skaičių porųplokštumoje R2 = R×R.

10René Descartes (1596 – 1650) – prancūzų filosofas ir matematikas.

Page 112: AKrylovas_DiskrMatem_20080316

98 3 SKYRIUS. AIBĖS

3. Trijų aibių A = 1, 2, B = a, b, C = ⊲⊳, ♯, ⋆ Dekarto sandauga:

A×B × C = (1, a, ⊲⊳), (1, a, ♯), (1, a, ⋆), (1, b, ⊲⊳), (1, b, ♯), (1, b, ⋆),(2, a, ⊲⊳), (2, a, ♯), (2, a, ⋆), (2, b, ⊲⊳), (2, b, ♯), (2, b, ⋆).

Matome, kad bendruoju atveju A× B 6= B × A. Tačiau, jei šios aibėsyra baigtinės, jos turi tiek pat elementų: |A×B| = |B ×A| = |A| · |B|.

Kai A = B turime A×B = B ×A = A×A = A2.Pastebėkime, kad aibių Dekarto sandaugai galioja asociatyvumo dėsnis:

A× (B × C) = A× (b, c), b ∈ B, c ∈ C =

(a, (b, c)) : a ∈ A, b ∈ B, c ∈ C =

((a, b), c) : a ∈ A, b ∈ B, c ∈ C =

(a, b) : a ∈ A, b ∈ B × C = (A×B)× C

Todėl galima apibrėžti trijų aibių Dekarto sandaugą:

A× (B × C) = (A×B)× C = (3.2)

(a, b, c) : a ∈ A, b ∈ B, c ∈ C =

A×B × C.

Apibendrinkime šį veiksmą ir apibrėžkime aibės kėlimo laipsniu operacijąA3 = A2 ×A = A×A2, . . ., An = A×An−1 = An−1 ×A.

3.3. Aibės galia

3.3.1. Ekvivalenčiosios aibės

Tarkime, kad turime dvi aibes A ir B. Jei pagal tam tikrą taisyklęf(a) kiekvienam aibės A elementui priskiriamas vienas ir tik vienas aibėsB elementas, tai sakome, kad apibrėžta funkcija arba atvaizdas ir rašomef : A −→ B. Aibė A vadinama funkcijos f(a) apibrėžimo sritimi. AibėsB elementas b = f(a) vadinamas elemento a vaizdu, o pats elementas avadinamas pirmavaizdžiu.

Pastebėkime, kad vienas vaizdas gali turėti kelis pirmavaizdžius: galibūti a1 6= a2, bet f(a1) = f(a2). Kai šis atvejis yra neįmanomas, t. y. kaiskirtingi elementai visada turi skirtingus vaizdus, funkcija vadinama injek-cija.

Visų vaizdų aibė f(A) = f(a), a ∈ A ⊂ B bendruoju atveju nesu-tampa su visa aibe B. Tuo atveju, kai f(A) = B, funkcija f vadinama

Page 113: AKrylovas_DiskrMatem_20080316

3.3. AIBĖS GALIA 99

siurjekcija. Kai funkcija yra kartu ir injekcija, ir siurjekcija, ji vadinamabijekcija.

Bijekcija yra abipus vienareikšmis atvaizdis. Šiuo atveju egzistuoja at-virkštinis atvaizdis f−1(b), kurio apibrėžimo sritis yra aibė B. Taigi turimef−1(B) = A, f

(f−1(B)

)= A, f−1 (f(A)) = B.

Pavyzdžiai1. Funkcija f(x) = x2 : R→ R apibrėžta realiųjų skaičių aibėje. Funkcijanėra injekcija, kadangi f(−x) = f(x). Visų vaizdų aibė f(R) = [0,+∞) 6=R. Todėl funkcija nėra siurjekcija.2. Funkcija f(n) = 2n − 1 : N → N atvaizduoja natūraliųjų skaičių aibęN į tą pačią aibę. Funkcija yra injekcija, bet nėra siurjekcija: f(N) = N =1, 3, 5, . . . 6= N .3. Pakeiskime 2-ojo pavyzdžio sąlygą: f(n) = 2n − 1 : N → N , N =1, 3, 5, . . .. Ši funkcija yra bijekcija ir turi atvirkštinę f−1(k) = k+1

2 : N →N . Taigi šiuo atveju nagrinėjamas teigiamų lyginių skaičių atvaizdis į aibęN .4. Funkcija g(n) = n2 : N → K, K = 1, 4, 9, 16, 25, . . . atvaizduoja natū-raliųjų skaičių aibę N į natūraliųjų skaičių kvadratų aibę K ir yra bijekcija.Aibėje K apibrėžta atvirkštinė funkcija g−1(k) =

√k : K → N .

3.2 apibrėžimas. Aibės A ir B vadinamos ekvivalenčiosiomis, jeiegzistuoja bijekcija f : A→ B. Žymime A ∼ B.

Baigtinės aibės A ir B yra ekvivalenčiosios tada ir tik tada, kai jos turitiek pat elementų, t. y. sąlygai A ∼ B būtina ir pakankama sąlyga: |A| =|B|.

Išnagrinėtų pavyzdžių aibės yra begalinės. Todėl ekvivalentumui nusta-tyti reikia nurodyti abipus vienareikšmį atvaizdį vienos aibės į kitą. TaigiN ∼ N , N ∼ K.

Parodykime, kad R ∼ [0, 1]. Funkcija f(x) = tg π2 (2x− 1) : [0, 1] → R

yra bijekcija. Atvirkštinė funkcija f−1(y) = 1π

arctg (y) + 12 : R→ [0, 1].

Iš 3.2 apibrėžimo išplaukia ekvivalentumo savybės.1) Jei A = B, tai turime bijekciją f(a) = a ir todėl A ∼ A (refleksyvumas11).2) Jei A ∼ B tai egzistuoja bijekcija f(A) = B. Tada f−1(B) = A ir B ∼ A(simetriškumas).

11Refleksyvumo, simetriškumo ir tranzityvumo sąvokos bus griežtai apibrėžtos sąryšių

teorijoje (??, ?? p.).

Page 114: AKrylovas_DiskrMatem_20080316

100 3 SKYRIUS. AIBĖS

3) Jei A ∼ B ir B ∼ C, tai egzistuoja bijekcijos f(A) = B ir g(B) = C.Tada sudėtinė funkcija (kompozicija) f(g(a)) : A→ C, f(g(A)) = f(B) = Cirgi yra bijekcija. Todėl turime A ∼ C (tranzityvumas).

Taigi išnagrinėtų pavyzdžių aibės N ir K yra ekvivalenčios: N ∼ K.

Page 115: AKrylovas_DiskrMatem_20080316

3.3. AIBĖS GALIA 101

3.4 testas

1Kuri funkcija yra injekcija R −→ R?(F1) p(u) = −10;(F2) p(u) = −100u39 + 63.

1© (F2);

2© nė viena;

3© (F1);

4© abi funkcijos.

2Kuri funkcija yra injekcija R −→ R?(F1) g(z) = 35;(F2) g(z) = 16z28 − 81.

1© (F1);

2© nė viena;

3© abi funkcijos;

4© (F2).

3Kuri funkcija yra injekcija R −→ R?(F1) f(t) = −63t− 22;(F2) f(t) = 98t37 + 29.

1© nė viena;

2© abi funkcijos;

3© (F1);

4© (F2).

4 Funkcija f(s) = ln(1 + 19s), s > 01© yra injekcija, bet nėra siurjekcija [0, +∞) −→ [0, +∞);2© yra siurjekcija, bet nėra injekcija [0, +∞) −→ [0, +∞);3© yra bijekcija [0, +∞) −→ [0, +∞);4© nėra nei siurjekcija, nei injekcija [0, +∞) −→ [0, +∞).

5 Funkcija g(v) = cos(75v)1© yra siurjekcija, bet nėra injekcija R −→ [−1, 1];2© yra injekcija, bet nėra siurjekcija R −→ [−1, 1];3© yra bijekcija R −→ [−1, 1];4© nėra nei siurjekcija, nei injekcija R −→ [−1, 1].

3.3.2. Skaičiosios aibės

3.3 apibrėžimas. Aibės, ekvivalenčios natūraliųjų skaičių aibei N ,

Page 116: AKrylovas_DiskrMatem_20080316

102 3 SKYRIUS. AIBĖS

vadinamos skaičiosiomis.

Jau žinome, kad skačiosios yra visų teigiamų nelyginių skaičių bei natū-raliųjų skaičių kvadratų aibės.

Tarkime, kad A ∼ N . Tada egzistuoja bijekcija f(n) : N → A ir todėlkiekvienas aibės A elementas a turi numerį n: a = f(n). Taigi bet kuriosskaičiosios aibės elementus galima sunumeruoti: A = a1, a2, a3, . . ..

3.1 pastaba. Sveikųjų skaičių aibė Z = . . . ,−3,−2,−1, 0, 1, 2, 3, . . .yra skaičioji. Sunumeruokime sveikuosius skaičius, pavyzdžiui, taip

0, 1,−1, 2,−2, 3,−3, . . . .

3.1 teorema. Jei A yra skaičioji aibė ir B ⊂ A, tai B yra skaičiojiarba baigtinė aibė.Įrodymas. Sunumeruokime aibės A elementus: a1, a2, a3, . . . ir išsi-rinksime iš jų poaibio B elementus aB1 , aB2 , aB3 , . . .. Taigi aibės Belementus irgi galima sunumeruoti: b1 = aB1 , b2 = aB2 , b3 = aB3 , . . ..Jei šių elementų be galo daug – aibė B yra skaičioji. Priešingu atveju– ji baigtinė.

3.2 pastaba. Visi begaliniai natūraliųjų skaičių aibės N poaibiai yraskaičiosios aibės.

Pavyzdžiui, lyginių ir pirminių skaičių aibės yra skaičiosios.

3.2 teorema. Skaičiųjų aibių skaičioji sąjunga yra skaičioji aibė.

Įrodymas. Turime∞⋃

j=1Aj ir aibės Aj skaičiosios. Sunumeruokime ai-

bių Aj elementus aj1, aj2, aj3, . . .. Visus sąjungos∞⋃

j=1Aj elementus

surašykime į begalinę lentelę, praleisdami pasikartojančius elementus:antroji eilutė a21, a22, . . . sudaroma iš tų elementų a21, a22, . . ., kuriųnebuvo pirmoje eilutėje; trečioji eilutė a31, a32, . . . sudaroma iš ele-mentų, kurių nebuvo pirmoje ir antroje eilutėse ir t. t. Taigi turimevisus skirtingus aibių sąjungos elementus

a11 a12 a13 a14 · · ·a21 a22 a23 a24 · · ·a31 a32 a33 a34 · · ·a41 a42 a43 a44 · · ·· · · · · · · · · · · · · · ·

Page 117: AKrylovas_DiskrMatem_20080316

3.3. AIBĖS GALIA 103

Teoremos įrodymui liko sunumeruoti šios lentelės elementus. Tai ga-lime padaryti, pavyzdžiui, taip

1 2 6 7 15 16 · · ·3 5 8 14 17 · · · · · ·4 9 13 18 · · · · · · · · ·10 12 19 · · · · · · · · · · · ·11 20 · · · · · · · · · · · · · · ·· · · · · · · · · · · · · · · · · · · · ·

3.3 pastaba. Skaičiųjų aibių A ir B Dekarto sandauga A × B yraskaičioji aibė.Įrodymą gausime surašę visas poras (a1, b1), (a1, b2), (a2, b1), . . . į len-telę ir sunumeravę visus lentelės elementus.

3.3 teorema. Racionaliųjų skaičių aibė Q yra skaičioji.Įrodymas. Bet kurį racionalųjį skaičių r užrašome taisyklingąja trup-mena r = m

n, m ∈ Z, n ∈ N . Natūralųjį skaičių n vadiname ra-

cionaliojo skaičiaus r aukščiu. Visų aukščio n skaičių aibė Qn yraskaičioji, kadangi trupmenos r = m

nskaitiklis m yra sveikasis skai-

čius, o sveikųjų skaičių aibė yra skaičioji. Racionaliųjų skaičių aibę

Q galima užrašyti kaip sąjungą: Q =∞⋃

n=1Qn. Taigi Q yra skaičiųjų

aibių skaičioji sąjunga ir todėl yra skaičioji aibė.

3.4 teorema. Aibė 2N nėra skaičioji.Įrodymas. Bet kurį natūraliųjų skaičių aibės N poaibį P galima už-koduoti begaline nulių ir vienetų seka:

p = (a1, a2, . . . , an, . . .), an =

1, n ∈ P,0, n /∈ P.

Tarkime, kad visų poaibių P ∈ N aibė yra skaičioji. Tada visas sekasp galima sunumeruoti:

p(1) = (a(1)1 , a

(1)2 , . . . , a

(1)n , . . .),

p(2) = (a(2)1 , a

(2)2 , . . . , a

(2)n , . . .),

· · · · · · · · · · · · · · · · · · · · · · · · · · ·p(k) = (a

(k)1 , a

(k)2 , . . . , a

(k)n , . . .),

· · · · · · · · · · · · · · · · · · · · · · · · · · ·

Sukonstruokime dar vieną seką s = (s1, s2, s3, . . . , sk, . . .), s1 = 1 −a

(1)1 , s2 = 1 − a

(2)2 , s3 = 1 − a

(3)3 , . . ., sk = 1 − a

(k)k , . . .. Taigi sj

Page 118: AKrylovas_DiskrMatem_20080316

104 3 SKYRIUS. AIBĖS

irgi yra nuliai ir vienetai, kurie parinkti taip, kad s 6= p(1), s 6= p(2),s 6= p(3), . . ., s 6= p(k), . . .. Todėl sukonstruota nauja seka, kuri nurododar vieną aibės N poaibį. Tai prieštarauja padarytai prielaidai, kadaibė 2N yra skaičioji.

3.3.3. Kontinuumo galios aibės

Begalinėms aibėms tirti gali būti svarbu nustatyti, kuri begalinė aibėturi

”daugiau“elementų. Aibės A elementų skaičių apibūdina jos galia, ku-

rią pažymėkime |A|. Kaip ir anksčiau, baigtinės aibės A = a1, a2, . . . , anatveju |A| = n, t. y. galia lygi aibės elementų skaičiui. Begalinių aibių ga-lioms įvertinti taikomi simboliai, kurie vadinami kardinaliniais skaičiais,o begalinės aibės galia dažnai žymima Card A = |A|.

Susitarkime, kad bet kurių ekvivalenčiųjų aibių galios lygios ir pažymė-kimė natūraliųjų skaičių aibės N galią |N | = ℵ0

12.

Kadangi visi begaliniai natūraliųjų skaičių aibės N poaibiai yra skaičio-sios aibės, kardinalinis skaičius ℵ0 yra

”mažiausias“. Taigi tarp visų begali-

nių aibių”mažiausiosios“ yra skaičiosios.

Tarkime, kad A ir B yra baigtinės aibės. Jei jos neturi bendrų elementų(A∩B = ∅), jų sąjunga turi elementų |A∪B| = |A|+ |B|. Apibendrinkimešią fomulę begalinėms aibėms. Tarkime, kad NL – visų lyginių ir NN – visųnelyginių natūraliųjų skaičių aibės. Tada NL ∪ NN = N , NL ∩ NN = ∅.Visos trys šios aibės yra skaičiosios. Todėl |NL| = |NR| = |N | = ℵ0. Taigigauname, kad kardinaliniams skaičiams galioja įpatingos operacijų savybės:

ℵ0 + ℵ0 = ℵ0.

Tarkime, kad A yra skaičioji, o B – baigtinė aibė ir A ∩ B = ∅. TadaA ∪ B – skaičioji aibė, |A ∪ B| = ℵ0, |A| = ℵ0, |B| = n. Taigi koks bebūtųneneigiamas sveikasis skaičius n, turime

ℵ0 + n = ℵ0.

Apibendrinkime skaičiosioms aibėms dar vieną teisingą baigtinėms aibėmsformulę |A×B| = |A|×|B|. Kai A ir B skaičiosios aibės, A×B irgi skaičioji.Todėl |A| = |B| = |A×B| = ℵ0 ir turime formulę

ℵ0 · ℵ0 = ℵ0.

12Matematinėje literatūroje kardinalinius skaičius įprasta žymėti pirmąja senovės heb-rajų kalbos abėcėlės raide (ℵ –

”alef“) su indeksais.

Page 119: AKrylovas_DiskrMatem_20080316

3.3. AIBĖS GALIA 105

Jei viena iš aibių yra skaičioji, o kita – baigtinė netuščioji aibė, gausime (n ∈ N)

ℵ0 · n = ℵ0.

3.5 teorema. Realiųjų skaičių atkarpa [0, 1] yra neskaičioji aibė.Įrodymas. Bet kurį šios atkarpos tašką (realųjį skaičių) r ∈ [0, 1]galima užrašyti tokiu pavidalu

r =r12

+r222

+r323

+r424

+ · · · = (r1, r2, r3, r4, . . .).

Skledinio koeficientai rj ∈ 0, 1 gaunami atkarpos [0, 1] dalijimu pu-siau:

r1 =

0, kai r < 12 ,

1, kai r > 12 .

Tarkime, kad r > 12 . Tada r1 = 1 ir nustatome

r2 =

0, kai r < 34 ,

1, kai r > 34 .

Tarkime, kad 12 < r < 3

4 . Tada r1 = 1, r2 = 0 ir gauname, r3 = 0, jeir ∈

[12 ,

38

), r4 nustatomas dalijant pusiau intervalą

[12 ,

38

]ir t. t. Taigi

visais atvejais gauname baigtinę (rašome r = (r1, r2, . . . , rk, 0, 0, 0, . . .))arba begalinę nulių ir vienetų seką. Tokiomis sekomis mes kodavomenatūraliųjų skaičių aibės N poaibius ir gavome, kad

∣∣2N∣∣ > |N |. Taigi

ir šiuo atveju turime |[0, 1]| > |N |. Todėl aibė [0, 1] yra neskaičioji.

3.4 apibrėžimas. Aibės, ekvivalenčios intervalui [0, 1], vadinamos kon-tinuumo13 galios aibėmis. Žymėsime |[0, 1]| = c.

Iš 3.4 ir 3.5 teoremų (103, 105 psl.) įrodymų gauname, kad

∣∣2N∣∣ = 2|N | = 2ℵ0 = c > ℵ0.

Pastebėkime, kad R ∼ [0, 1]. Todėl |R| = c, t. y. realiųjų skaičių aibės galiayra kontinuumas. Galima parodyti, kad aibės R2 = R×R, Rn = Rn−1×Rirgi yra kontinuumo galios. Galioja formulės

c+ c = c, c · c = c, c+ n = c, c · n = c.

13Lotynų kalbos žodis continuus reiškia nenutrūkstamas, tolydus.

Page 120: AKrylovas_DiskrMatem_20080316

106 3 SKYRIUS. AIBĖS

Diskrečioji matematika nagrinėja aibes, kurių galia nedidesnė už ℵ0,t. y. baigtines ir skaičiąsias aibes. Todėl tik trumpai paminėsime pagrindi-nius aibių teorijos rezultatus.

Aibės galia visada mažesnė už visų jos poaibių aibės galią:∣∣2A∣∣ > |A|.

Pastebėkime, kad baigtinei aibei |A| = n turime formulę∣∣2A∣∣ = 2n > n su

visais n = 0, 1, 2, . . .. Kai A yra skaičioji aibė, nelygybė buvo įrodyta. Ka-dangi šis teiginys teisingas bet kuriai aibei, turime vis didesnės galios aibiųkonstravimo algoritmą. Pavyzdžiui, visų aibės [0, 1] poaibių aibės 2[0,1] galiadidesnė už c. Todėl neegzistuoja didžiausias kardinalinis skaičius.

Mažiausias kardinalinis skaičius yra ℵ0, o už jį didesnis – kontinuumasc. Pažymėkime ℵ1 mažiausios neskaičiosios aibės galią. G. Kantorius manė,kad aibė A, kurios galia ℵ0 < |A| < c neegzistuoja, t. y. kad einantis po ℵ0

kardinalinis skaičius ℵ1 lygus c. Teiginys ℵ1 = 2ℵ0 = c vadinamas konti-nuumo hipoteze. Įrodyta, kad šis teiginys negali būti nei patvirtintas, neipaneigtas tradicinėmis aibių teorijos priemonėmis. Taigi aibių teorijos pag-rindai gali būti konstruojami įvairiais būdais ir šiuolaikinis mokslas negalipagrįstai išspręsti tokių šios teorijos problemų, kaip kontinuumo hipotezė.

3.5 testas

1Kuris teiginys yra teisingas?(A) 13 , 15 , 17 , 19 , 21, . . . ∼ N ;(B) [0, 1] ∼ R16

1© abu teiginiai;2© B;3© (A);4© nė vienas.

2Kuris teiginys yra teisingas?(A) 25 , 28 , 31 , 34 , 37, . . . ∼ Z;(B) [0, 1] ∼ Q60

1© B;2© nė vienas;3© (A);4© abu teiginiai.

3Kuris teiginys yra teisingas?(A) 19 , 21 , 23 , 25 , 27, . . . ∼ [0, 1];(B) [−1, 1] ∼ R94

1© A ;2© (B);3© abu teiginiai;4© nė vienas.

Page 121: AKrylovas_DiskrMatem_20080316

3.3. AIBĖS GALIA 107

4

Kuris teiginys yra teisingas?(A) |26 , 156 , 936 , 5616 , 33696, . . .| = |N |;(B)

∣∣2N∣∣ =

∣∣R64

∣∣;

(C)∣∣R64

∣∣ = ℵ1.

1© visi teiginiai; 2© (B) ir (C);3© nė vienas; 4© (A) ir (B);5© (A) ir (C); 6© (B);7© (C); 8© (A).

5

Kuris teiginys yra teisingas?(A) |34 , 68 , 136 , 272 , 544, . . .| = |R|;(B)

∣∣2R∣∣ =

∣∣R54

∣∣;

(C)∣∣R54

∣∣ = ℵ0.

1© (A); 2© nė vienas;3© (C); 4© (B) ir (C);5© B; 6© (A) ir (B);7© (A) ir (C); 8© visi teiginiai.

6

Kuris teiginys yra teisingas?(A) |3 , 9 , 27 , 81 , 243, . . .| < |R|;(B)

∣∣2R∣∣ =

∣∣R40

∣∣;

(C)∣∣[−1, 1]40

∣∣ = ℵ0.1© (B) ir (C); 2© (A) ir (C);3© visi teiginiai; 4© B;5© (C); 6© (A) ir (B);7© nė vienas; 8© (A).

Klausimai ir užduotys

3.1

Raskite aibę X, kai

X ∩ P = H

X ∪ P = C

H ⊂ P ⊂ C.

3.2

Raskite aibę W , kai

W \ C = B

C \W = F

F ⊂ C, C ∩B = ∅.

Page 122: AKrylovas_DiskrMatem_20080316

108 3 SKYRIUS. AIBĖS

3.3

Raskite aibę U , kai

F ∪ U = A

F \ U = D

D ⊂ F ⊂ A.

3.4

Aibės B, G ⊂ U apibrėžtos predikatais:B = x ∈ U : β(x), G = x ∈ U : γ(x).Išreiškite aibę F = x ∈ U : β(x)⊕ γ(x)sąjungos, sankirtos ir papildymo operacijomis.

3.5Kiek poaibių turi aibėδ, δ, η, η, ν, δ, η, ν, δ, δ, ν, η, δ, η, ν, η ?

3.6Aibės A poaibis B ⊂ A vadinamas tikriniu, kai B 6= ∅ & B 6= A.Kiek tikrinių poaibių turi aibėξ, λ, ξ, ξ, µ, λ, λ, λ, λ, µ, µ, ξ ?

Pastabos ir komentarai

Aibės sąvoka yra viena iš svarbiausių, pagrindinių, bazinių matematikos sąvokų, su-darančių šiuolaikinės matematikos pamatus. Aibių teoriją, kaip matematikos dalį, sukurėG. Kantoras14, kuris manė šią sąvoką intuityviai aiškia. Įdomu, kad šios teorijos atsi-radimą paskatino Kantoriaus trigonometrinių eilučių ir skaičių sekų tyrimai. Begaliniųskaičių aibių palyginimas pareikalavo aibės galios sąvokos, kuriai matuoti buvo sukurtiapibendrintieji arba kardinaliniai skaičiai. Kantoro nuostata nagrinėti begalinę aibę, kaipobjektą, lygiavertį baigtiniams (aktualioji begalybė), buvo didelė naujovė ir sukėlė kai kuriųmatematikų pasipriešinimą. Tačiau apie 1890 Kantoro aibių teorija buvo pripažinta ir netpastebėti vėliau galimi teorijos prieštaravimai nebuvo traktuojami kaip labai pavojingi.Šie prieštaravimai ir vadinami paradoksais arba antinomijomis, norint pabrėžti, kad taitokie teorijos defektai, kurie yra nesunkiai pašalinami.

Norintiems daugiau paskaityti apie aibių teoriją rekomenduojame mokymo priemones

lietuvių kalba: [39], [40], [41], [42], [43], [44], [45].

14Georg Cantor (1845 – 1918) – vokiečių matematikas.

Page 123: AKrylovas_DiskrMatem_20080316

4 skyrius

Sąryšiai

4.1. Pagrindiniai apibrėžimai

4.1.1. Sąryšių pavyzdžiai

4.1 apibrėžimas. Binariuoju sąryšiu S tarp aibių A ir B elementųvadinamas bet kuris jų Dekarto sandaugos (žr. 97 psl.) A×B poaibis:

S ⊂ A×B.

Sąryšis S tarp aibių A1, A2, . . ., An elementų apibrėžiamas taip:

S ⊂ A1 ×A2 × · · · ×An.

Sąryšiu aibėje A vadinamas bet kuris poaibis

S ⊂ An = A×A× · · · ×A.

Unarusis sąryšis (n = 1) reiškia, kad elementas a ∈ S ⊂ A turi savybęS. Kai n = 3, sąryšis vadinamas ternariuoju.

Pavyzdžiai

1. Tapatumo (lygybės) sąryšiu vadinamas toks apibrėžtas aibėje A sąryšis:IA = (a, · · · , a) : a ∈ A ⊂ An.

2. Universaliuoju sąryšiu vadinama aibių A ir B Dekarto sandauga:UA×B = (a, b) : a ∈ A & b ∈ B = A×B.

3. Tuščiuoju sąryšiu vadinama tuščioji aibė ∅ ⊂ An. (Priminsime, kadtuščioji aibė yra bet kurios aibės poaibis; žr. 90 psl.)

109

Page 124: AKrylovas_DiskrMatem_20080316

110 4 SKYRIUS. SĄRYŠIAI

4. Sveikųjų skaičių aibėje Z apibrėžkime sąryšiusD1 = (x, y) : x dalus iš y ⊂ Z2,M2 = (x, y) : x 6 y ⊂ Z2,L3 = (x, y) : x = 2y ⊂ Z2.

5. Tarkime, kad K – studentų kodų aibė, P – studentų pavardžių sąrašas(aibė), V – vardų sąrašas, G – grupių aibė, M – gimimo metai. SąryšisR ⊂ K × P × V ×G×M sudaro tam tikrą duomenų bazę.

4.2 apibrėžimas. Binariojo sąryšio S ⊂ A×B apibrėžimo sritimivadinama aibė

D(S) = x : ∃y (x, y) ∈ S ⊂ A.

4.3 apibrėžimas. Sąryšio S ⊂ A × B reikšmių sritimi vadinamaaibė

R(S) = y : ∃x (x, y) ∈ S ⊂ B.

4.1 pavyzdys. Apibrėžto aibėje A = 1, 2, 3, 4, 5, 6 sąryšio

S = (1, 1), (2, 1), (6, 1), (6, 2) ⊂ A2

apibrėžimo sritis:D(S) = 1, 2, 6,

reikšmių sritis:R(S) = 1, 2.

4.1 pastaba. Binarusis sąryšis S ⊂ A2 dažnai užrašomas pavidaluaSb: a > b, x = y, α 6 β.

Binarieji sąryšiai tarp baigtinių aibių elementų gali būti pavaizduotigrafiškai. 4.1 paveiksle pavaizduotas sąryšis R ⊂ A × B: A = 1, 2, 3,B = a, b, c, d, R = (1, a), (1, b), (1, d), (2, a), (2, c), (3, c).

4.2 pavyzdys. Sąryšio S1 = (a1, b1), (a1, b2), (a2, b3) apibrėžimosritis yra D(S1) = a1, a2, o reikšmių sritis – R(S1) = b1, b2, b3.

4.3 pavyzdys. Sąryšio S2 = (a, a), (a, b), (a, c), (b, c), (d, c) apibrė-žimo ir reikšmių sritys: D(S2) = a, b, d, R(S2) = a, b, c.

Page 125: AKrylovas_DiskrMatem_20080316

4.1. PAGRINDINIAI APIBRĖŽIMAI 111

4.1 pav. Binariojo sąryšio diagrama

4.4 apibrėžimas. Matrica MS = ‖mij‖n×m, kurios elementai api-brėžti taip

mij =

1, kai (ai, bj) ∈ S,0, kai (ai, bj) /∈ S

vadinama binariojo sąryšio S ⊂ A×B matrica1. Čia n = |A|, m = |B|.

Sąryšių S1 (4.2 pav.) ir S2 (4.3 pav.) matricos

MS1 =

1 1 00 0 10 0 0

, MS2 =

1 1 1 00 0 1 00 0 0 00 0 1 0

.

4.1 paveiksle pavaizduoto sąryšio S matrica yra:

1 1 0 11 0 1 00 0 1 0

.

Sąryšio tarp tos pačios baigtinės aibės elementų (S ⊂ A2, |A| = n)matrica MS yra kvadratinė. Tokį sąryšį galimą pavaizduoti grafiškai kito,palyginus su 4.1 paveikslu, pavidalo diagrama. Aibės A = a1, a2, . . . , anelementai vaizduojami diagramoje taškais tik vieną kartą. Taškai ai ir aj su-jungiami lankais (nurodomos lankų kryptys), kai (ai, aj) ∈ S. Jei sąryšiui Spriklauso elementas (ak, ak) taškas diagramoje sujungiamas su savimi kilpa.

1Ši matrica kartais vadinama charakteristine. Pastebėkime, kad matrica priklausonuo aibių A ir B elementų numeracijos.

Page 126: AKrylovas_DiskrMatem_20080316

112 4 SKYRIUS. SĄRYŠIAI

4.2 pav. Binariojo sąryšio grafas

Tokio pavidalo diagramos vadinamos grafais. Diagramos taškai vadinamigrafo viršūnėmis.

4.2 paveiksle pavaizduotas sąryšio

S = (a, a), (a, b), (b, c), (c, d), (d, c) ⊂ a, b, c, d2

grafas. Jo matrica MS =

1 1 0 00 0 1 00 0 0 10 0 1 0

. Pastebėkime, kad matricą turi

tiek vienetų, kiek sąryšis elementų (t. y. |S|; o grafas turi tiek lankų irkilpų).

Tuščiojo sąryšio ∅ aibėje A = 1, 2, 3, 4 grafas pavaizduotas 4.3 a)

paveiksle. Jo matrica yra nulinė:

0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0

.

Universalusis sąryšis UA = A2 (4.3 b) pav.) turi matricą iš visų vienetų:

1 1 1 1 11 1 1 1 11 1 1 1 11 1 1 1 11 1 1 1 1

.

Page 127: AKrylovas_DiskrMatem_20080316

4.1. PAGRINDINIAI APIBRĖŽIMAI 113

a) b)

4.3 pav. Tuščiojo a) ir universaliojo b) sąryšio grafas

Pastebėkime, kad vienetine vadinama matrica, kurios pagrindinės įstri-žainės (diagonalės) elementai yra vienetai, o kiti – nuliai. Vienetinę matricą

In =

1 0 0 . . . 00 1 0 . . . 00 0 1 . . . 0. . . . . . . . . . . . . . .0 0 0 . . . 1

turi tapatumo sąryšis

IA = (a1, a1), a2, a2), a3, a3), . . . , an, an) ⊂ A2, kai A = a1, a2, . . . , an.Tokio saryšio grafo visos viršūnės turi kilpas ir grafas neturi lankų.

Page 128: AKrylovas_DiskrMatem_20080316

114 4 SKYRIUS. SĄRYŠIAI

4.1 testas

1Nurodykite pavaizduotopaveikslesąryšio matricą

0

B

B

@

0 1 1 01 0 1 00 0 0 01 1 0 1

1

C

C

A

; 2©

0

B

B

@

0 1 1 01 0 1 00 0 0 00 1 0 1

1

C

C

A

;

0

B

B

@

0 1 1 01 0 1 00 0 0 01 1 0 0

1

C

C

A

; 4©

0

B

B

@

0 1 1 01 1 1 00 0 0 00 1 0 1

1

C

C

A

.

2Nurodykite pavaizduotopaveikslesąryšio matricą

Page 129: AKrylovas_DiskrMatem_20080316

4.1. PAGRINDINIAI APIBRĖŽIMAI 115

0

B

B

@

0 0 1 10 1 0 11 0 0 00 1 1 1

1

C

C

A

; 2©

0

B

B

@

0 0 1 10 1 0 11 0 0 00 0 1 1

1

C

C

A

;

0

B

B

@

0 0 0 10 1 0 11 0 0 00 1 0 1

1

C

C

A

; 4©

0

B

B

@

0 0 0 10 1 0 11 0 0 00 1 1 1

1

C

C

A

.

3Nurodykite pavaizduotopaveikslesąryšio matricą

0

B

B

@

1 1 1 00 1 0 10 0 0 01 1 1 0

1

C

C

A

; 2©

0

B

B

@

1 0 1 00 1 0 10 0 0 01 1 1 0

1

C

C

A

;

0

B

B

@

0 0 1 00 1 0 10 0 0 01 1 1 0

1

C

C

A

; 4©

0

B

B

@

0 0 1 00 1 0 10 0 0 11 1 1 0

1

C

C

A

.

4.1.2. Binariųjų sąryšių savybės

Nagrinėsime sąryšius tarp tos pačios aibės A elementų: S ⊂ A2 = A×A.

4.5 apibrėžimas. Sąryšis S aibėje A vadinamas refleksyviuoju, jei

∀a ∈ A (a, a) ∈ S.

Iš apibrėžimo matome, kad visos refleksyviojo sąryšio grafo viršūnės turikilpas, o tokio sąryšio matricos įstrižainėje turi būti visi vienetai. Akivaizdu,kad tapatumo (lygybės) sąryšis IA ⊂ A2 yra refleksyvusis. Pastebėkime,

Page 130: AKrylovas_DiskrMatem_20080316

116 4 SKYRIUS. SĄRYŠIAI

kad IA yra minimalusis2 refleksyvusis sąryšis, t. y. bet kuris jo tikrinispoaibis (žr. 90 psl.) T $ IA jau nebebus refleksyviuoju. Kitaip tariant,refleksyviojo sąryšio grafas privalo turėti visas kilpas, tačiau gali turėtiir lankų. Refleksyviojo sąryšio matricos įstrižainėje yra tik vienetai, okiti elementai gali būti ir nuliai, ir vienetai. Pavyzdžiui, universalusis sąryšisUA = A2 yra refleksyvusis. Taigi galioja tokios būtinos ir pakankamossąryšio refleksyvumo sąlygos.

4.1 teorema. Sąryšis S ⊂ A2 yra refleksyvusis tada ir tik tada, kai

IA ⊂ S.

Pavyzdžiui, sąryšis S1 = (1, 1), (1, 2), (2, 2), (2, 3), (3, 3) ⊂ A × A, A =1, 2, 3 yra refleksyvusis, o sąryšis S2 = (1, 1), (1, 2), (2, 2), (2, 3), (3, 2) –nėra. Iš tikrųjų, IA = (1, 1), (2, 2), (3, 3) ⊂ S1 ir IA 6⊂ S2.

4.6 apibrėžimas. Sąryšis S ⊂ A2 vadinamas antirefleksyviuoju,jei

∀a ∈ A (a, a) /∈ S.

Tuščiasis sąryšis ∅ yra antirefleksyvusis, tačiau jis nėra maksimalusis3 anti-refleksyvusis sąryšis. Sąryšis yra UA \ IA yra maksimalusis antirefleksyvusissąryšis.

Antirefleksyviojo sąryšio grafas negali turėti kilpų, o jo matricos įstri-žainė – vienetų. Taigi antirefleksyvusis sąryšis neturi bendrų elementų sutapatumo sąryšiu.

4.2 teorema. Sąryšis S ⊂ A2 yra antirefleksyvusis tada ir tik tada,kai

S ∩ IA = ∅.

Pavyzdžiui, sąryšis S3 = (1, 2), (2, 3) ⊂ A2, A = 1, 2, 3 yra antirefleksy-vusis, o sąryšis S4 = (1, 2), (2, 3), (3, 3) ⊂ A2 – nėra: S4 ∩ IA = (3, 3) 6=∅. Atkreipkime dėmesį, kad jis nėra ir refleksyvusis. Taigi sąrysis nebūti-nai yra arba refleksyvusis, arba antirefleksyvusis. Tačiau, jis negali būti irrefleksyvusis, ir antirefleksyvusis.

2Sakome, kad aibė M yra minimalioji kurios nors savybės atžvilgiu, jei pašalinus iš Mbet kurį vieną jos elementą (∀a ∈ M), aibė M ′ = M \ a jau nebeturės šios savybės.

3Aibė M ⊂ U vadinama maksimaliąja kurios nors savybės atžvilgiu, jei papildžius jąbet kuriuo elementu (∀a ∈ U \M = M), aibė M = M∪a jau nebeturės tos savybės. ČiaU yra universalioji aibė, kuri visada priklauso nuo uždavinio (žr. 89 psl.). Mūsų atvejutai yra universalusis sąryšis UA = A2 = A × A.

Page 131: AKrylovas_DiskrMatem_20080316

4.1. PAGRINDINIAI APIBRĖŽIMAI 117

4.7 apibrėžimas. Sąryšis S vadinamas simetriniu, jei (∀a, b ∈ A)

(a, b) ∈ S ⇒ (b, a) ∈ S.

Prisiminkime loginės operacijos implikacija (⇒) apibrėžimą (11 psl.) Jiįgyja klaidingą reikšmę tik tuo atveju, kai implikacijos prielaida (a, b) ∈ Syra teisinga, o implikacijos išvada (b, a) ∈ S – klaidinga. Tai reiškia, kadsąryšis S turi elementą (a, b), tačiau neturi elemento (b, a). Taigi visaiskitais atvejais sąryšis bus simetrinis. Todėl, jei simetrinio sąryšio grafasturi lanką (a, b), tai jis turi ir lanką (b, a). Tačiau simetrinis grafas gali irneturėti nei lanko (a, b), nei (b, a). Iš čia išplaukia, tuščiasis sąryšis ∅ yraminimalusis simetrinis sąryšis, o universalusis sąryšis UA – maksimalusissimetrinis sąryšis.

4.8 apibrėžimas. Sąryšis S−1 = (a, b) : (b, a) ∈ S vadinamasatvirkštiniu sąryšiui S ⊂ A2 (t. y. aS−1 b⇔ bSa).

Taigi atvirkštinį sąryšį S−1 ⊂ A2 gauname keisdami jo grafo lankų kryptis,o atvirkštinio sąryšio matricą – transponuodami4 sąryšio S matricą MS :

MS−1 = (MS)T

Pastebėję, kad(MS−1

T)T

= MS , gauname atvirkštinio sąryšio sąvybę

(S−1

)−1= S.

Pateiksime gerai žinomų realiųjų skaičių Dekarto sandaugoje R2 apibrėžtųsąryšių< ∈ R2 (paprastai rašome x < y, x = y vietoje (x, y) ∈ <, (x, y) ∈=)6, = atvirkštinių sąryšių pavyzdžius:

(>)−1 = (<); (6)−1 = (>); (=)−1 = (=).

4.2 pastaba. Atvirkštinio sąryšio S−1 ⊂ A2 apibrėžimo sritisD(S−1

)= R(S), o jo reikšmių sritis R

(S−1

)= D(S).

4.3 teorema. Sąryšis S ⊂ A2 yra simetrinis tada ir tik tada, kai

S−1 = S.

4Priminsime, kad matricos A transponuotąją matricą AT gauname keisdami vietomisstulpelius ir eilutes. Kvadratinę matricą A vadiname simetrine, kai AT = A

Page 132: AKrylovas_DiskrMatem_20080316

118 4 SKYRIUS. SĄRYŠIAI

Pastebėkime, kad 4.3 teorema (ir kitos sąryšių savybių požymių teoremos)galioja bet kurios, nebūtinai baigtinės aibės A atveju. Kai aibė A yra baig-tinė, sąryšio S ⊂ A2 simetriškumas ekvivalentus jo matricos simetriškumui.

4.9 apibrėžimas. Sąryšis S vadinamas antisimetriniu,jei (∀a, b, c ∈ A)

(a, b) ∈ S & (b, a) ∈ S ⇒ a = b.

Taigi jei antisimetrinis sąryšis S turi abu elementus (a, b) ir (b, a), tai turibūti a = b (šiuo atveju jo grafas turi kilpą). Tačiau, jei sąryšiui priklauso tikvienas iš elementų (a, b) ir (b, a) arba abu jie jam nepriklauso, apibrėžimoimplikacijos prielaida bus klaidinga, o pati implikacija – teisinga. Gauname,kad antisimetriškumui pakanka, kad sąryšio grafas neturėtų dviejų (priešin-gų krypčių) lankų, jungiančių (skirtingas) viršūnes. Kadangi visus priešingųkrypčių lankus turi atvirkštinio sąryšio S−1 grafas, gauname, kad jei S yraantisimetrinis, tai sąryšių S ir S−1 grafai negali turėti bendrų lankų. Ta-čiau šie grafai gali turėti kilpas, kurios visada yra bendros ((a, a) ∈ S ⇔(a, a) ∈ S−1). Taigi teisinga tokia teorema.

4.4 teorema. Sąryšis S ⊂ A2 yra antisimetrinis tada ir tik tada, kaigalioja įeitis

S ∩ S−1 ⊂ IA.

Pastebėkime, kad bet kuris sąryšis T ⊂ IA yra ir simetrinis, ir antisimetrinis,o, pavyzdžiui, sąryšis S5 = (1, 2), (1, 3), (2, 3), (3, 1) ⊂ 1, 2, 3, 42 nėra neisimetrinis, nei antisimetrinis.

4.3 pastaba. Sąryšio”nerefleksyvumo“ savybė literatūroje gali būti

apibrėžta tokia implikacija: (a, b) ∈ S ⇒ (b, a) /∈ S. Tokiu atve-ju sąryšis vadinamas asimetriniu. Taigi asimetrinis sąryšis yra irantisimetrinis, ir antirefleksyvusis.

Atkreipkime dėmesį, kad sąryšio refleksyvumo ir antirefleksyvumo savy-bės priklauso tik nuo jo grafo kilpų (arba matricos įstrižainės), o simetriš-kumas ir antisimetriškumas atvirkščiai nepriklauso nuo kilpų (ir matricosįstrižainės). Dar viena nepriklausanti nuo įstrižainės (kilpų) sąryšio savybė– jo pilnumas.

4.10 apibrėžimas. Sąryšis S ⊂ A2 vadinamas pilnuoju, jei

∀a, b ∈ A & a 6= b ⇒ (a, b) ∈ S ∨ (b, a) ∈ S.

Page 133: AKrylovas_DiskrMatem_20080316

4.1. PAGRINDINIAI APIBRĖŽIMAI 119

Tai reiškia, kad bet kurie du skirtingi aibės A elementai a, b turi bent vienąryšį (a, b) ∈ S arba (b, a) ∈ S. Pavyzdžiui, skirtingiems realiesiems skai-čiaims x, y galioja x < y arba x > y. Taigi sąryšis < ⊂ R2 yra pilnasis. KaiA yra baigtinė aibė, pilnojo sąryšio S ⊂ A2 grafo bet kurios dvi skirtingosviršūnės sujungtus bent vienu lanku. Pilnojo sąryšio matrica negali kartuturėti tokių eilutės ir stulpelio (su tuo pačiu numeriu):

(

i−1︷ ︸︸ ︷

0, 0, . . . , 0, aii, 0, 0, . . . , 0︸ ︷︷ ︸

n−i

),

00...0

i− 1

aii00...0

n− i

Kai sąryšis S ⊂ A2 yra pilnasis, tai S ir S−1 kartu turės visus lankus irgali neturėti tik kilpų. Dar kartą pastebėję, kad jei (a, b) /∈ S & (b, a) /∈ S,tai ir (a, b) /∈ S−1 & (b, a) /∈ S−1, gauname būtiną ir pakankamą sąryšiopilnumo sąlygą.

4.5 teorema. Sąryšis S ⊂ A2 yra pilnasis tada ir tik tada, kai

S ∪ S−1 ∪ IA = UA = A2.

Sąryšis (1, 2), (1, 3), (2, 3) yra pilnasis aibėje 1, 2, 3, bet nėra pilnasisaibėje 1, 2, 3, 4. Jei sąrysis S nėra pilnasis, tai ∀T ⊂ S irgi nėra pilnasis.

4.2 testas

1 Sąryšis G ⊂ O ×O yra refleksyvusis, kai1© ∀p ∈ G (p, p) ∈ O; 2© ∀p ∈ O (p, p) ∈ G;3© ∃p ∈ O (p, p) ∈ G; 4© ∃p ∈ G (p, p) ∈ O.

2 Sąryšis Y ⊂ L× L yra antirefleksyvusis, kai1© ∃t ∈ L (t, t) /∈ Y ; 2© ∀t ∈ Y (t, t) /∈ L;3© ∀t ∈ L (t, t) /∈ Y ; 4© ∃t ∈ Y (t, t) /∈ L.

Page 134: AKrylovas_DiskrMatem_20080316

120 4 SKYRIUS. SĄRYŠIAI

3 Sąryšis U ⊂ D ×D yra simetrinis, kai

1© (u, y) ∈ U ⇒ (y, u) ∈ D;2© (u, y) ∈ U ⇒ (y, u) ∈ U ;3© (u, u) ∈ U ⇒ (y, y) ∈ U ;4© (u, u) ∈ U ⇒ (y, y) ∈ D.

4 Sąryšis W ⊂ C × C yra antisimetrinis, kai1© (q, v) ∈ C &(v, q) ∈ C ⇒ q = v;2© (q, v) ∈ W &(v, q) ∈ W ⇒ q = v;3© (q, v) ∈ W &(v, q) ∈ W ⇒ q 6= v;4© (q, v) ∈ C &(v, q) ∈ C ⇒ q 6= v.

5 Sąryšis P ⊂ C × C yra pilnasis tada ir tik tada, kai1© P = P−1; 2© IC ⊂ P ; 3© P ∪ IC ∪ P−1 = UC ;4© P ∩ P−1 ⊂ IC ; 5© P ∩ IC = ∅.

6

Kuris teiginys yra teisingas, kai sąryšisU = (y, u), (u, y) ⊂ u, y2?(A) U yra antirefleksyvusis;(B) U yra simetrinis.

1© nė vienas;2© (A);3© (B);4© abu teiginiai.

7

Kuris teiginys yra teisingas, kai sąryšisZ = (r, u), (g, r), (u, r) ⊂ r, g, u2?(A) Z yra antirefleksyvusis;(B) Z yra antisimetrinis.

1© (B);2© abu teiginiai;3© nė vienas;4© (A).

8

Kuris teiginys yra teisingas, kai sąryšisH = (q, r), (q, q) ⊂ r, q2?(A) H yra refleksyvusis;(B) H yra antisimetrinis.

1© (A);2© nė vienas;3© (B);4© abu teiginiai.

Page 135: AKrylovas_DiskrMatem_20080316

4.1. PAGRINDINIAI APIBRĖŽIMAI 121

9

Sąryšis(t, t), (t, h), (e, t),(e, e), (e,w), (y, t), (y, e),(y, y), (y, h), (w, t), (w, y),(w,w), (w, h), (h, e), (h, h) yra

A antisimetrinisB refleksyvusisC simetrinis

1© AB ; 2© ABC ; 3© BC ; 4© A ; 5© AC ; 6© C ; 7© B.

4.1.3. Veiksmai su sąryšiais

4.1.4. Sąryšių sąjunga ir sankirta

Tarkime, kad S1 ⊂ A2 ir S2 ⊂ A2 (yra sąryšiai). Tada S1 ∩ S2 ⊂ A2,S1 ∪ S2 ⊂ A2, S1 \ S2 ⊂ A2, S1 = UA \ S1 ⊂ A2, t. y. irgi yra sąryšiai.Taigi sąryšių sankirtos, sąjungos, skirtumo operacijos ir sąryšio papildinysapibrėžiami kaip atitinkamos operacijos su aibėmis. Priminsime, kad buvoapibrėžta dar ir atvirkštinio sąryšio radimo unarioji operacija. Pastebėkime,kad mes jau taikėme šias operecijas, pavyzdžiui, 4.2 teoremoje (116 psl.)

Išnagrinėkime operacijų su sąryšiais pavyzdžius. Tarkime, kad sveikųjųskaičių aibėje apibrėžti sąryšiai

ϕ1 = (m,n) : m > n;ϕ2 = (m,n) : m > n;ϕ3 = (m,n) : m < n.

Tada

ϕ2 ⊂ ϕ1, ϕ1 ∪ ϕ2 = ϕ1;

ϕ1 ∩ ϕ2 = ϕ2, ϕ1 \ ϕ2 = (m,n) : m = n;ϕ3 = ϕ1, ϕ

−13 = ϕ2.

4.1.5. Sąryšių kompozicija

Dabar apibrėžkime dar vieną sąryšių kompozijos (sandaugos) operaciją.

4.11 apibrėžimas. Tarkime, kad ϕ ⊂ A×B ir ψ ⊂ B×C. Tada tarpaibių A ir C elementų apibrėžiamas sąryšis ϕ ψ ⊂ A×C, vadinamassąryšių ϕ ir ψ kompozicija:

ϕ ψ = (a, c) : ∃b ∈ B (a, b) ∈ ϕ & (b, c) ∈ ψ.

Page 136: AKrylovas_DiskrMatem_20080316

122 4 SKYRIUS. SĄRYŠIAI

4.4 pav. Sąryšių kompozicijos pavyzdys

4.4 paveiksle parodyti sąryšiai

ϕ = (a1, b1), (a2, b2), (a3, b1), (a3, b2), (a3, b3), (a4, b1), (a5, b3),

ψ = (b1, c1), (b2, c2), (b3, c1), (b3, c3).Tada sąryšių kompoziją ϕψ sudaro tos elementų ai ir cj poros (ai, cj), kur aigalima sujungti su cj dviem lankais (ai, bk) ir (bk, cj). Jei egzistuoja daugiaukaip vienas tokių lankų pasirinkimo variantas, tos pačios poros (ai, cj) ∈ ϕψantrą kartą neimsime, kadangi sąryšis ϕψ yra aibė, o aibę sudaro skirtingielementai. Taigi

ϕ ψ = (a1, c1), (a1, c2), (a2, c2), (a3, c1), (a3, c2), (a3, c3),

(a4, c1), (a4, c2), (a5, c1), (a5, c3).Tarkime, kad Mϕ = ‖ϕik‖|A|×|B| ir Mψ = ‖ψkj‖|B|×|C| yra sąryšių ϕ irψ matricos. Nustatyti ar priklauso elementas (ai, cj) kompozicijai ϕ ψgalima taip. Tikriname ar matricos Mϕ i-oje eilutėje ir matricos Mψ j-ajame stulpelyje yra bent vienas vienetas toje pačioje k-oje vietoje. Taigalima išreikšti Bulio operacijomis:

mij =

|B|∨

k=1

ϕik & ψkj , i = 1, 2, . . . , |A|, j = 1, 2, ..., |C|.

Taigi sąryšio ϕ ψ matricą gauname sudauginus matricas Mϕ ir Mψ, kaipirmosios matricų eilutės dauginamos iš antrosios matricos stulpelių pagalpateiktą formulę.

Page 137: AKrylovas_DiskrMatem_20080316

4.1. PAGRINDINIAI APIBRĖŽIMAI 123

Užrašykime 4.4 pav. sąryšių matricas.

Mϕ =

1 0 00 1 01 1 11 0 00 0 1

, Mψ =

1 1 00 1 11 0 1

.

Sąryšių kompozicijos matrica

Mϕψ =

1&1 ∨ 0&0 ∨ 0&1 1&1 ∨ 0&1 ∨ 0&0 1&0 ∨ 0&1 ∨ 0&10&1 ∨ 1&0 ∨ 0&1 0&1 ∨ 1&1 ∨ 0&0 0&0 ∨ 1&1 ∨ 0&11&1 ∨ 1&0 ∨ 1&1 1&1 ∨ 1&1 ∨ 1&0 1&1 ∨ 0&1 ∨ 1&11&1 ∨ 0&0 ∨ 0&1 1&1 ∨ 0&1 ∨ 0&0 1&0 ∨ 0&1 ∨ 0&10&1 ∨ 0&0 ∨ 1&1 0&1 ∨ 0&1 ∨ 1&0 0&0 ∨ 0&1 ∨ 1&1

=

1 1 00 1 01 1 11 1 01 0 1

.

Tarkime, kad A = B = C. Tada apibrėžtos dvi kompozicijos ϕ ψir ψ ϕ. Paprastas pavyzdys ϕ = (1, 2) ⊂ A2, ψ = (2, 1) ⊂ A2,A = (1, 2) rodo, kad ϕ ψ = (1, 1), ψ ϕ = (1, 1). Taigi bendruojuatveju

ϕ ψ 6= ψ ϕ.

Sąryšių kompozicijos savybės

Iš matricinio sąryšio kompozicijos reiškimo nesunkiai išplaukia šių teiginiųįrodymas (∀ϕ,ψ, ρ ⊂ A2).

1. ϕ IA = IA ϕ = ϕ;

2. ϕ ∅ = ∅ ϕ = ∅;

3. (ϕ ψ) ρ = ϕ (ψ ρ);

4. (ϕ ψ)−1 = ψ−1 ϕ−1.

Priminsime, kad trečioji operacijos savybė vadinama jos asociatyvumu.

Page 138: AKrylovas_DiskrMatem_20080316

124 4 SKYRIUS. SĄRYŠIAI

4.3 testas

1

Tarkime, kad B,F,C ⊂ T 2; T yra baigtinė aibė; |T | = n.Pažymėkime sąryšių matricasMB = ||βij ||n×n, MF = ||ζij||n×n, MC = ||γij ||n×n.Tada sąryšio Z = (B−1 ∩ F ) C matricos MZ = ||zij ||n×nelementas zij išreiškiamas formule

1©nW

s=1

βsi&ζsi&γsj ; 2©nW

s=1

βsi&ζis&γsj ;

3©n

L

s=1

βsi&(ζsi ∨ γjs); 4©n

P

s=1

βsi&ζis&γjs;

5©nW

s=1

(βsi ∨ ζsi)&γsj ; 6©n

L

s=1

βsi&ζsi&γsj ;

7©n

P

s=1

βsi&ζis&γsj ; 8©nW

s=1

βsi&ζsi&γsj .

Aibėje s, d, f, v apibrėžti sąryšiaiY = (s, s), (s, v), (d, s), (d, v), (f, s), (f, d),

(f, f), (f, v), (v, d), (v, f), (v, v),U = (d, d), (d, f), (d, v), (f, s), (f, d), (v, s), (v, f), (v, v).2 Raskite sąryšį R = (Y ∩ U)−1.

1© (s, f), (d, f), (f, v), (v, d), (v, f), (v, v);2© (s, f), (d, f), (v, d), (v, v);3© (s, f), (d, s), (d, f), (f, v), (v, d), (v, v);4© (s, f), (d, f), (f, v), (v, d), (v, v).

3 Sąryšio R matrica yra

0

B

B

@

0 0 1 00 0 1 00 0 0 10 1 1 1

1

C

C

A

; 2©

0

B

B

@

0 0 1 00 0 1 00 0 0 00 1 0 1

1

C

C

A

;

0

B

B

@

0 0 1 01 0 1 00 0 0 10 1 0 1

1

C

C

A

; 4©

0

B

B

@

0 0 1 00 0 1 00 0 0 10 1 0 1

1

C

C

A

.

Page 139: AKrylovas_DiskrMatem_20080316

4.1. PAGRINDINIAI APIBRĖŽIMAI 125

Aibėje p, c, e, y apibrėžti sąryšiaiG = (c, p), (c, c), (c, e), (e, y), (y, p), (y, c), (y, e), (y, y),K = (p, c), (p, e), (c, p), (y, p), (y, e), (y, y).4 Raskite sąryšių kompoziciją P = G K.

1© (c, p), (c, e), (e, p), (e, e), (e, y), (y, p), (y, c), (y, e), (y, y);2© (c, p), (c, c), (c, e), (e, p), (e, e), (e, y), (y, p), (y, c), (y, e), (y, y);3© (c, p), (c, c), (c, e), (e, p), (e, e), (y, p), (y, c), (y, e), (y, y).

5 Raskite sąryšių kompoziciją J = K G.1© (p, p), (p, c), (p, e), (p, y), (y, p), (y, e), (y, y);2© (p, p), (p, c), (p, e), (p, y), (y, p), (y, c), (y, e), (y, y);3© (p, p), (p, c), (p, y), (y, p), (y, c), (y, e), (y, y).

6 Raskite sąryšį Q = P ∩ J .1© (p, p), (p, c), (p, e), (p, y), (c, p), (c, c), (c, e), (c, y), (e, p), (e, c), (e, e), (e, y);2© (p, p), (p, c), (p, e), (p, y), (c, p), (c, e), (c, y), (e, p), (e, c), (e, e), (e, y);3© (p, c), (p, e), (p, y), (c, p), (c, c), (c, e), (c, y), (e, p), (e, c), (e, e), (e, y);4© (p, p), (p, c), (p, e), (p, y), (c, p), (c, c), (c, e), (c, y), (e, c), (e, e), (e, y).

7 Sąryšio Q matrica yra

0

B

B

@

0 1 1 11 1 1 11 1 1 10 0 0 0

1

C

C

A

; 2©

0

B

B

@

1 1 1 11 1 1 10 1 1 10 0 0 0

1

C

C

A

;

0

B

B

@

1 1 1 11 0 1 11 1 1 10 0 0 0

1

C

C

A

; 4©

0

B

B

@

1 1 1 11 1 1 11 1 1 10 0 0 0

1

C

C

A

.

4.1.6. Sąryšio tranzityvumas

4.12 apibrėžimas. Sąryšis S ⊂ A2 vadinamas tranzityviuoju, jei(∀a, b, c ∈ A)

(a, b) ∈ S & (b, c) ∈ S ⇒ (a, c) ∈ S.

Iš šio apibrėžimo matome, kad jei sąryšio grafas turi abu lankus (a, b) ir(b, c), tai turi būti tiesioginis lankas (a, c). Kai bent vieno iš šių dviejųlankų nėra, implikacija įgyja teisingą reikšmę. Todėl tuščiasis sąryšis yratranzityvusis. Sąryšis (1, 2) ⊂ A × A yra tranzityvusis (∀A). Pastebėki-me, kad apibrėžimo sąlyga nereikalauja a 6= c. Todėl, pavyzdžiui, sąryšis

Page 140: AKrylovas_DiskrMatem_20080316

126 4 SKYRIUS. SĄRYŠIAI

a) b) c)

4.5 pav. Sąryšiai a) ir b) yra tranzityvieji; sąryšis c) – nėra

(1, 2), (2, 1) ⊂ A nėra tranzityvusis (∀A), kadangi neturi elementų (1, 1)ir (2, 2) – grafo kilpų.

Sąryšio kompozicija su savimi S S turės elementą (a, c), jei sąryšis Sturi elementus (a, b) ir (b, c). Todėl galioja teorema.

4.6 teorema. Saryšis S ⊂ A2 yra tranzityvusis tada ir tik tada, kai

S S ⊂ S.

Nagrinėsime 4.5 paveiksle pavaizduotus sąryšius. Turime Sa = (1, 2), (1, 3),Sb = (2, 1), (3, 1), Sc = (1, 2), (2, 3). Taigi

Sa Sa = ∅ ⊂ Sa, Sb Sb = ∅ ⊂ Sb,

ir pagal 4.6 teoremą sąryšiai yra tranzityvieji.Trečiuoju atveju matome, kad sąryšis nėra tranzityvusis, nes jo grafas

neturi lanko (1, 3). Tai gauname ir iš 4.6 teoremos:

Sc Sc = (1, 3) 6⊂ Sc.

Sąryšio tranzityvusis uždarinys

Sąryšio tranzityvumo požymio 4.6 teoremą galima suformuluoti ir kitaip.Sąryšis S ⊂ A2 yra tranzityvusis tada ir tik tada, kai

S ∪ S S = S.

Tai reiškia, kad sąryšis S S turi naujų (palyginus su S) elementų. Pavaiz-duotas 4.6 a) paveiksle (128 psl.) sąryšis

S = (1, 2), (2, 3), (3, 4), (4, 5)

nėra tranzityvusis, kadangi jis neturi elementų (1, 3), (2, 4), (3, 5).

Page 141: AKrylovas_DiskrMatem_20080316

4.1. PAGRINDINIAI APIBRĖŽIMAI 127

Tačiau šiuos elementus turi sąryšis

S S = (1, 3), (2, 4), (3, 5).Sąryšis S∪SS irgi nėra tranzityvusis, kadangi neturi elementų (1, 4), (2, 5),kuriuos gausime, jei rasime dar vieną kompoziciją

(S S) S = S (S S) = (1, 4), (2, 5).Sąryšiui S ∪ S S ∪ S S S iki tranzityvumo trūksta tik vieno elemento,kurį gausime apskaičiavę dar vieną kompoziciją

S S S S S = (1, 5).Taigi sąryšis

S ∪ S S ∪ S S S ∪ S S S S Sjau yra tranzityvusis (4.6 b) pav.) Jis vadinamas sąryšio S tranzityviuojuuždariniu ir žymimas S+.

Suformuluokime formalųjį apibrėžimą. Kaip jau minėjome, sąryšių kom-pozicija yra asociatyvioji operacija (bet nėra komutatyvioji!). Todėl jauyra apibrėžtas sąryšio laipsnis:

S2 = S S, Sn = Sn−1 S = S Sn−1.

Susitarkime, kad S1 = S, S0 = IA.

4.13 apibrėžimas. Sąryšio S ⊂ A2 tranzityviuoju uždaviniu vadina-mas sąryšis

S+ = S ∪ S2 ∪ S3 ∪ · · ·Kai A yra baigtinė aibė, pakanka rasti S|A|−1:

S+ =

|A|−1⋃

k=1

Sk.

Taigi sąryšio tranzityvųjį uždarinį gauname papildžius jo grafą lankais tarpvisų tokių viršūninių a, c, kai c yra pasiekiama iš a, t. y. egzistuoja lankųgrandinė:

(a, b1), (b1, b2), . . . , (bk−1, bk), (bk, bc).

Pastebėję, kad ši grandinė turi daugiausia |A| − 1 elementą, galima įrodyti,kad formulėje pakanka imti kompozicijas iki laipsnio S|A|−1.

Sąryšis S+ yra minimalusis tranzityvusis sąryšis, kai S ⊂ S+. Palygini-mui, universalusis sąryšis UA yra tranzityvusis ir S ⊂ UA, tačiau UA nėraminimalusis (iš jo galima pašalinti elementus ir naujas sąryšis dar turės taspačias savybes).

Page 142: AKrylovas_DiskrMatem_20080316

128 4 SKYRIUS. SĄRYŠIAI

a) b)

4.6 pav. Sąryšis a) nėra tranzityvusis; b) jo tanzityvusis uždarinys

4.14 apibrėžimas. Sąryšio S ⊂ A2 refleksyviuoju uždariniu va-dinamas sąryšis

S∗ = S+ + IA =

|A|−1⋃

k=1

Sk.

Kitaip tariant, turime rasti saryšio tanzityvųjį uždarinį ir papildyti jį įstri-žainės elementais (a, a) (grafo kilpomis).

4.4 pavyzdys. Raskime sąryšio S = (1, 2), (2, 3), (3, 1) ⊂ 1, 2, 3, 4tranzityvųjį uždarinį:

S S = (1, 3), (2, 1), (3, 2),S S S = (1, 1), (2, 2), (3, 3),

S+ = S∪SS∪SSS = (1, 2), (2, 3), (3, 1), (1, 3), (2, 1), (3, 2), (1, 1), (2, 2), (3, 3).Pastebėkime, kad šis sąryšis nėra refleksyvusis aibėje 1, 2, 3, 4. Tačiauaibėje 1, 2, 3 šis sąryšis būtų universalusis, o todėl ir refleksyvusis. Taigisąryšio S refleksyvusis uždarinys S∗ = S+ ∪ (4, 4).

4.4 testas

1 Sąryšis P ⊂ L× L yra tranzityvusis, kai1© (q, v) ∈ P &(v, p) ∈ P ⇒ (q, p) ∈ P ;2© (q, v) ∈ P &(v, p) ∈ P ⇒ (q, p) /∈ P ;3© (q, v) ∈ L &(v, p) ∈ L ⇒ (q, p) ∈ L;4© (q, v) ∈ L &(v, p) ∈ L ⇒ (q, p) /∈ L.

Page 143: AKrylovas_DiskrMatem_20080316

4.1. PAGRINDINIAI APIBRĖŽIMAI 129

2 Sąryšis Q ⊂ D ×D yra tranzityvusis tada ir tik tada, kai1© Q Q ⊂ Q; 2© Q Q 6= ∅; 3© Q Q 6= ID;4© Q Q ⊂ ID; 5© Q Q = ∅.

3

Kuris teiginys yra teisingas, kai sąryšisP = (t, u), (w, u), (u, u) ⊂ t, u, w2?(A) P yra tranzityvusis;(B) P yra pilnasis.

1© abu teiginiai;2© nė vienas;3© (A);4© (B).

Sąryšis A pavaizduotas paveiksle,o sąryšis B apibrėžtas matrica.

0 1 1 10 1 1 00 0 0 11 0 1 1

4 Kuris sąryšis yra tranzityvusis ?1© abu sąryšiai; 2© A; 3© nė vienas; 4© B.

5Raskite sąryšioU = (p, p), (v, e), (h, p), (h, v), (h, h)tranzityvųjį uždarinį K = U+ .1© (p, p), (v, e), (h, p), (h, v), (h, e);2© (p, p), (h, p), (h, v), (h, h), (h, e);3© (p, p), (p, e), (v, e), (h, p), (h, v), (h, h), (h, e);4© (p, p), (v, e), (h, p), (h, v), (h, h), (h, e).

Page 144: AKrylovas_DiskrMatem_20080316

130 4 SKYRIUS. SĄRYŠIAI

6 Sąryšio K = U+ matrica yra

0

B

B

@

1 0 0 10 0 0 11 1 1 10 0 0 0

1

C

C

A

; 2©

0

B

B

@

1 0 0 00 0 0 01 1 1 10 0 0 0

1

C

C

A

;

0

B

B

@

1 0 0 00 0 0 11 1 0 10 0 0 0

1

C

C

A

; 4©

0

B

B

@

1 0 0 00 0 0 11 1 1 10 0 0 0

1

C

C

A

.

4.2. Ekvivalentumo sąryšiai

4.2.1. Apibrėžimai ir pavyzdžiai

4.15 apibrėžimas. Sąryšis S ⊂ A2 vadinamasekvivalentumo sąryšiu, jei jis yra

1) refleksyvusis;2) simetrinis;3) tranzityvusis.

Pavyzdžiai

1. Tapatumo sąryšis IA (aibės A elementų x, y lygybė (x = y)) yra ekvi-valentumo sąryšis.

2. Universalusis sąryšis UA yra ekvivalentumas.

3. Sąryšis τ = (1, 1), (1, 2), (2, 1), (2, 2), (3, 3) yra ekvivalentumo sąryšisaibėje 1, 2, 3.

Prisiminkime, kad sąryšis yra refleksyvusis, tada ir tik tada, kai visosšio sąryšio grafo viršūnės turi kilpas. Sąryšis yra simetrinis tada ir tik tada,kai bet kurios dvi skirtingos jo grafo viršūnės arba nesujungtos lankais (nė-ra gretimos) arba sujungtos dviem priešingų krypčių lankais. Taigi dviejųelementų aibėje A = a, b galimi tik du skirtingi ekvivalentumo sąryšiai:tapatumo sąryšis (4.7 pav. 1) ir universalusis sąryšis (4.7 pav. 2).

Visi ekvivalentumo saryšių tipai tarp trijų elementų parodyti 4.8 paveik-sle. Matome, kad vėl turime tapatumo sąryšį (1 atvejis) ir universalujį sąryšį(3 atvejis). Antrojo (2) tipo skirtingų sąryšių tarp aibės A = a, b, c elemen-tų yra trys: (a, a), (b, c), (c, b), (b, b), (a, c), (c, a) ir (c, c), (a, c), (c, a).

Page 145: AKrylovas_DiskrMatem_20080316

4.2. EKVIVALENTUMO SĄRYŠIAI 131

1) 2)

4.7 pav. Ekvivalentumo sąryšiai tarp dviejų elementų

1) 2) 3)

4.8 pav. Ekvivalentumo sąryšiai tarp trijų elementų

4.2.2. Ekvivalentumo klasės

4.16 apibrėžimas. Tarkime, kad S ⊂ A2 yra ekvivalentumo sąryšis.Aibės A poaibis

[a]S = b ∈ A : (a, b) ∈ Svadinamas elemento a ∈ S ekvivalentumo klase.

Galima įrodyti tokias ekvivalentumo klasių savybes.

1. ∀a ∈ A : [a]S 6= ∅;

2. (a, b) ∈ S ⇒ [a]S = [b]S ;

3. ∀(a, b) /∈ S ⇒ [a]S ∩ [b]S = ∅.

4.7 teorema.

∃B = B1, B2, . . . : Bj 6= ∅, ∀i 6= jBi ∩Bj = ∅,⋃

i

Bi = A.

Page 146: AKrylovas_DiskrMatem_20080316

132 4 SKYRIUS. SĄRYŠIAI

Taigi bet kuris ekvivalentumo sąryšis apibrėžia aibės A skaidinį5, kurioblokai yra ekvivalentumo klasės.

4.17 apibrėžimas. Aibė A | S = [a]Sa∈A vadinama faktoraibe.

4.5 pavyzdys. Apibrėžkime sąryšį S tarp sveikųjų skaičių x, y ∈ Z:

(x, y) ∈ S kai ∃k ∈ Z : x− y = 3k.

T. y. (x, y) ∈ S, kai skačių x ir y liekanos dalijant iš 3 yra lygios.Pavyzdžiui, (1, 4), (1, 7), (7, 10) ∈ S, (1, 3) /∈ S. Turime

[1]S = ±1,±4,±7, . . .,

[2]S = ±2,±5,±8, . . .,[3]S = 0,±3,±6, . . .

ir [1]S ∪ [2]S ∪ [3]S = Z.

4.3. Tvarkos sąryšiai

4.3.1. Apibrėžimai ir pavyzdžiai

4.18 apibrėžimas. Antisimetrinis ir tranzityvusis sąryšis vadinamastvarkos sąryšiu. Jei sąryšis dar išpildo refleksyvumo arba antireflek-syvumo sąlygas, jis vadinamas negriežtosios arba griežtosios tvar-kos sąryšiu.

Sąryšio savybės Sąryšio pavadinimasantisimetrinis ir tranzityvusis tvarkos sąryšis

refleksyvusis negriežtosios tvarkosantirefleksyvusis griežtosios tvarkos

pilnasis visiškosios tvarkosnėra pilnasis dalinės tvarkos

Tvarkos sąryšiai žymimi ≺, 4, 2, ≻, <, 3.

4.6 pavyzdys. Sąryšis

(a, b), (a, c), (a, d), (b, c), (b, d), (c, d) ⊂ a, b, c, d × a, b, c, d5žr. 5.3.1. 165 psl.

Page 147: AKrylovas_DiskrMatem_20080316

4.3. TVARKOS SĄRYŠIAI 133

yra tranzityvusis, antisimetrinis ir pilnasis. Todėl jis yra visiškosiostvarkos sąryšis aibėje A = a, b, c, d. Jei aibės A elementus pažymėtia = 1, b = 2, c = 3, d = 4, šį sąryšį galima perrašyti taip:

1 < 2, 1 < 3, 1 < 4, 2 < 3, 2 < 4, 3 < 4.

4.7 pavyzdys. Nagrinėsime aibės A = a, b, c poabių aibę – bule-aną6

2A = ∅, a, b, c, a, b, a, c, b, c, A.

Šaryšis ⊂ yra antisimetrinis ir tranzityvusis:

(∀B1, B2 ∈ 2A) B1 ⊂ B2 & B2 ⊂ B1 ⇒ B1 = B2,

(∀B1, B2, B3 ∈ 2A) B1 ⊂ B2 & B2 ⊂ B3 ⇒ B1 ⊂ B3.

Sąryšis yra refleksyvusis: (∀B) B ⊂ B ir nėra pilnasis. Pavyzdžiui,

a, b 6⊂ b, c & b, c 6⊂ a, b.

Todėl ⊂ yra negriežtosios dalinės tvarkos sąryšis.

4.3.2. Sutvarkytosios aibės

4.19 apibrėžimas. Aibės elementas m ∈ A vadinamas minima-liuoju, jei

∃a ∈ A : a ≺ m & a 6= m.

4.8 teorema. Bet kuri netuščioji iš dalies sutvarkyta baigtinė aibėturi minimalųjį elementą.

4.20 apibrėžimas. Baigtinė aibė, kurioje apibrėžtas visiškosios tvar-kos sąryšis, vadinama visiškai sutvarkyta.

Visiškai sutvarkyta baigtinė aibė turi vienintelį minimalųjį elementą.

6žr. 91 psl.

Page 148: AKrylovas_DiskrMatem_20080316

134 4 SKYRIUS. SĄRYŠIAI

4.5 testas

1 Tarkime, kad C yra baigtinė aibė ir T T ⊂ T ⊂ C2.Jei IC ⊂ T & T = T−1, tai T yra sąryšis.1© visiškosios negriežtosios tvarkos; 2© tvarkos;

3© griežtosios tvarkos; 4© ekvivalentumo;

5© dalinės griežtosios tvarkos; 6© dalinės tvarkos;

7© visiškosios griežtosios tvarkos; 8© dalinės negriežtosios tvarkos;

9© visiškosios tvarkos; 0© negriežtosios tvarkos.

2 Ekvivalentumosąryšis yra

A antisimetrinisB tranzityvusisC antirefleksyvusisD refleksyvusisE simetrinis

1© EBC; 2© EBA;3© DAC; 4© DEB;5© BAC; 6© EAC;7© DEC; 8© DBA;9© DEA.

3

Kuris teiginys yra teisingas, kai sąryšisQ = (p, p), (s, s) ⊂ p, s2?(A) Q yra ekvivalentumo sąryšis;(B) Q yra tvarkos sąryšis.

1© abu teiginiai;2© (A);3© (B);4© nė vienas.

4Kuris sąryšis aibėje a, v, h, d, z turi ekvivalentumo savybę ?A = (a, a), (v, v), (h, h), (d, d), (d, z), (z, d), (z, z) ,B = (a, a), (v, v), (v, h), (h, h), (h, d), (d, h), (d, d), (z, z) .1© B; 2© A; 3© nė vienas; 4© abu sąryšiai.

5

Sąryšis(w, b), (w, x),(w, v), (w, p), (b, v),(b, p), (x, b), (x, v), (x, p)

tvarkos sąryšis.

1© yra dalinės;2© yra griežtosios dalinės;3© yra griežtosios visiškosios;4© nėra;5© yra visiškosios;6© yra negriežtosios visiškosios;7© yra negriežtosios dalinės.

Page 149: AKrylovas_DiskrMatem_20080316

4.4. FUNKCIJOS 135

6

Kurio sąryšio refleksyvusis uždarinysyra universalusis sąryšis?S1 = (x, u), (u, x) ⊂ x, u2;S2 = (x, u), (u, x), (x, x) ⊂ x, u2.

1© nė vieno;

2© S1;

3© S2;

4© abiejų saryšių.

Leksikografinė tvarka

Tarkime, kad baigtinės aibės (abėcėlės) A = a1, a2, . . . , an elementai su-numeruoti:

a1 ≺ a2 ≺ · · · ≺ anVisų abėcėlės A raidėmis užrašytų žodžių z = (z1, z2, . . . , zn), n > 1 aibėapibrėžiama taip:

Z = A ∪A×A ∪A×A× ∪ . . .

Aibėje Z apibrėžimas leksikografinės tvarkos sąryšis L ⊂ Z × Z:

(

z(1), z(2))

∈ L⇔

z(1)1 ≺ z(2)

1

z(1)1 = z

(2)1 & z

(1)2 ≺ z(2)

2

z(1)1 = z

(2)1 & z

(1)2 = z

(2)2 & z

(1)3 ≺ z(2)

3

· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

4.8 pavyzdys.

a ≺ aa ≺ aaa ≺ b ≺ ba ≺ bb ≺ bc ≺ bca ≺ bcba ≺ · · ·

Pastebėkime, kad leksikografine tvarka surašomi žodžiai žodyne:· · · ≺ akis ≺ · · · ≺ abonentas ≺ · · · ≺ žuvis ≺ · · · ≺ žvirblis ≺ · · ·

4.4. Funkcijos

4.4.1. Injekcija. Siurjekcija. Bijekcija

4.21 apibrėžimas. Sąryšis f ⊂ A×B vadinamas funkcija, kai

∀(a, b) ∈ f & (a, c) ∈ f ⇒ b = c.

Page 150: AKrylovas_DiskrMatem_20080316

136 4 SKYRIUS. SĄRYŠIAI

4.9 pav. Sąryšis a) nėra funkcija; sąryšis b) yra funkcija

4.9 paveiksle pavaizduotas sąryšis, kuris nėra funkcija (atvejis a); sąryšisb) yra funkcija. Funkcija (a, b) ∈ f paprastai užrašoma b = f(a). Kintama-sis a ∈ A vadinamas funkcijos argumentu, o kintamasis b ∈ B – reikšme.

Funkcijos f ⊂ A × B apibrėžimo sritis fA ir jos reikšmių sritis fByra šios aibės:

fA = a ∈ A : ∃b ∈ B b = f(a), fB = b ∈ B : ∃a ∈ A b = f(a).

Pastebėkime, kad aibės fA = D(f) ir fB = R(f): jos jau buvo apibrėžtos,kaip sąryšio apibrėžimo ir reikšmių sritys (žr. 110 psl.)

Funkcija vadinama Sąlygosinjekcija b = f(a1) & b = f(a2)⇒ a1 = a2

siurjekcija ∀b ∈ B ∃a ∈ A b = f(a)bijekcija yra injekcija ir siurjekcija

4.10 pav. a) injekcija; b) siurjekcija c) bijekcija

4.10 paveiksle pavaizduotos funkcijos: a) yra injekcija, bet nėra siurjek-cija; b) yra siurjekcija, bet nėra injekcija; c) yra ir injekcija, ir siurjekcija(t. y. bijekcija).

Page 151: AKrylovas_DiskrMatem_20080316

4.4. FUNKCIJOS 137

4.9 teorema. Jei f ⊂ A× B yra bijekcija ir fA = A, tai atvirkštinėfunkcija f−1 ⊂ B ×A irgi yra bijekcija.

4.4.2. Perstatos

Tarkime, kad |A| = n. Bijekcija A→ A vadinama perstata.

Perstatą

σ =

(1 2 3 4 5 65 6 3 1 4 2

)

galima užrašyti ir taip:

σ(1) = 5, σ(2) = 6, . . . , σ(6) = 2.

Perstata(a1 a2 · · · an−1 ana2 a3 · · · an a1

)

=

(an a2 · · · an−1 a1

a1 a3 · · · an−2 an

)

vadinama ciklu. Šio ciklo ilgis lygus n.

Perstatos

(1 4 55 1 4

)

,

(2 66 2

)

ir

(33

)

yra ciklai, kurie gali būti

užrašyti taip: (1, 5, 4), (2, 6), (3).Apibrėžkime perstatų sandaugą kaip funkcijų kompoziciją. Pavyzdžiui,

kai

ρ =

(1 2 3 4 5 63 2 6 1 4 5

)

=

(5 6 3 1 4 24 5 6 3 1 2

)

,

turime

ρ σ =

(1 2 3 4 5 64 5 6 3 1 2

)

.

Kiekvieną perstatą galima užrašyti kaip nesikertančiųjų ciklų sandaugą.Pavyzdžiui,

σ =

(1 2 3 4 5 65 6 3 1 4 2

)

= (1, 5, 4) (3) (2, 6).

Page 152: AKrylovas_DiskrMatem_20080316

138 4 SKYRIUS. SĄRYŠIAI

4.6 testas

1Kuris sąryšis yra funkcija ?A = (p, h), (h, h), (z, p),B = (u, x), (t, b), (w,w), (w, e), (b, t), (e, u).

1© nė vienas;2© A;3© B;4© abu sąryšiai.

2Kuris sąryšis yra funkcija ?A = (y,w), (y, c), (g, c), (w, b), (b, h), (h, g),B = (x, f), (a, c), (f, x), (p, c).

1© nė vienas;2© B;3© A;4© abu sąryšiai.

3Kuri funkcija yra bijekcija ?A = (v, u), (u, d), (h,w), (q, v), (w, q), (d, h),B = (v, s), (w, v), (s, p), (e, d), (p,w), (d, e).

1© B;2© A;3© nė viena;4© abi funkcijos.

4Kuri funkcija yra bijekcija ?A = (d, v), (s, z), (p, d), (c, d), (v, d), (z, d),B = (x, b), (h, s), (c, z), (b, c), (s, h), (z, x).

1© nė viena;2© abi funkcijos;3© B;4© A.

4.5. Asimptotiniai sąryšiai

4.5.1. Skaičių sekos

Nagrinėsime sąryšius s tarp aibių7 N0 = N ∪ 0 = 0, 1, 2, . . . (ne-neigiamų sveikųjų skaičių) ir R (realiųjų skaičių) elementų: s ⊂ N0 × R.Tarkime, kad (n1, x1) ∈ s, (n2, x2) ∈ s & n1 6= n2 ⇒ x1 6= x2, t. y. sąryšiss yra funkcija N0 → R arba skaičių seka. Sąryšio s elementai (n, x) ∈ spaprastai žymimi x = s(n).

Pavyzdžiui, s(n) = 2n − n2, x(n) = sin πn3 , y(n) = n! yra skaičių sekos.

Susitarkime, kad visi s(0), s(1), s(2), . . . – baigtiniai skaičiai. Taigi ne-nagrinėsime reiškinių s(n), kurie neapibrėžti, esant kuriam nors baigtiniamn ∈ N0.

7Čia būtų galima apsiriboti ir natūraliųjų skaičių aibe N , tačiau mes visur laikomėsvienodo skaičių sekos žymėjimo s(n) = (s(0), s(1), . . .).

Page 153: AKrylovas_DiskrMatem_20080316

4.5. ASIMPTOTINIAI SĄRYŠIAI 139

Visų tokių skaičių sekų s(n) aibę pažymėkime

S = s(n) : N0 → R.

Priminsime, kad skaičių seka s(n) vadinama aprėžtąja, kai egzistuojatokia teigiamoji konstanta C, kad

(∀n ∈ N0) |s(n)| 6 C.

Tarkime, kad (∀n1, n2 ∈ N0)

(∀n1, n2 ∈ N0) n1 < n2 ⇒ s (n1) < s (n2) .

Tada skaičių seka s(n) vadinama didėjančiąja.Skaičių seka vadinama mažėjančiąja, kai

n1 < n2 ∈ N0 ⇒ s (n1) > s (n2) .

Jei iš n1 < n2 ∈ N0 išplaukia, kad s (n1) 6 s (n2) (s (n1) > s (n2))skaičių seka s(n) vadinama nedidėjančiąja (nemažėjančiaja).

Skaičių seką vadiname monotonine, kai ji yra didėjančioji, mažėjančio-ji, nedidėjančioji arba nemažėjančioji.

Pavyzdžiui, skaičių seka s(n) = (n+1)n = (1, 2, 9, 64, . . .) yra didėjančio-ji, p(n) = 1

n! – mažėjančioji. Seka r(n) = n + (−1)n+1 = (−1, 2, 1, 4, 3, . . .)nėra monotoninė.

Priminsime, kad skaičius A vadinamas skaičių sekos riba, kai n → ∞(rašome lim

n→∞s(n) = A), jei

∀ε > 0∃nε ∈ N0 : n > nε ⇒ |A− s(n)| < ε

Pavyzdžiui, limn→∞

1+2n3+n = 2.

Skaičių seka α(n) vadinama nykstamąja, kai limn→∞

α(n) = 0. Pavyzdiui,

sekos n2

2n ir n+3nn+n3 yra nykstamosios.

Skaičių seka s(n) vadinama neaprėžtai didėjančiąja (rašome limn→∞

s(n) =

∞), kai ∀∆ ∈ R ∃n∆ ∈ N0:

(∀n > n∆) |s(n)| > ∆.

Pavyzdžiui, seka n! yra neaprėžtai didėjančioji, o seka n2 sin πn6 nėra neap-

rėžtai didėjančioji. Pastebėkime, kad ji nėra ir aprėžtoji seka.

Seka s(n) yra neaprėžtai didėjančioji tada ir tik tada, kai seka 1s(n) –

nykstamoji.

Page 154: AKrylovas_DiskrMatem_20080316

140 4 SKYRIUS. SĄRYŠIAI

4.22 apibrėžimas. Sakysime, kad skaičių sekos f(n) ir g(n) yra ly-gios, kai n→∞ (skaitome:

”n tolsta į begalybę“ jei ∃n0 ∈ N0:

(∀n > n0) f(n) = g(n).

Žymėsime f(n) ≎ g(n) arba (f, g) ∈≎⊂ S2.

Taigi skaičių sekos yra lygios, kai n→∞, jei jos lygios, išskyrus, galbūt,tik baigtinį skaičių pirmųjų narių. Pavyzdžiui, s1 = (0, 1, 2, 3, · · · ) ≎ s2 =(0,−1, 2, 3, · · · ), tačiau s1 6= s2. Taigi jei s1 = s2, tai s1 ≎ s2. Todėlpaprastosios skaičių sekų lygybės sąryšis (=) yra sąryšio ≎ poaibis: = ⊂ ≎.Pastebėkime, kad jie abu yra ekvivalentumo sąryšiai.

4.23 apibrėžimas. Sakome, kad skaičių sekos f(n) ir g(n) yra ek-vivalenčios8 (žymime f(n) ∼ g(n) arba (f, g) ∈ ∼), jei egzistuojatokia nykstamoji seka µ(n)→ 0, kad

f(n) = g(n) (1 + µ(n)).

Iš čia gauname, kad (jei f(n) 6= 0 ir g(n) 6= 0)

limn→∞

f(n)

g(n)= lim

n→∞g(n)

f(n)= 1.

Kai f ≎ g, turime ir f ∼ g (kadangi galime paimti nykstamąją funkcijąµ(n) ≡ 0), tačiau atvirkštinis teiginys neteisingas. Pavyzdžiui, kais1 = (0, 1, 1

2 ,13 , · · · ) ir s2 = (1

2 ,13 , · · · ), turime s1 ∼ s2 bet s1 6≎ s2. Taigi

≎ ⊂ ∼

4.5.2. Sąryšis O didžioji

Nagrinėsime sąryšius tarp skaičių sekų, t. y. skaičių sekų s(n) aibėsS = s(n) : N0 → R Dekarto kvadrato S2 = S × S poaibius.

4.24 apibrėžimas. Sakome, kad skaičių sekos f(n) ir g(n) susietossąryšiu O (skaitome

”O didžioji“), kai

∃C ∈ R & ∃nC ∈ N0 : (∀n > nC) |f(n)| 6 C|g(n)|. (O)

Rašome f = O(g) arba (f, g) ∈ O.

8Įrodykite, kad ∼ yra ekvivalentumo sąryšis.

Page 155: AKrylovas_DiskrMatem_20080316

4.5. ASIMPTOTINIAI SĄRYŠIAI 141

Pavyzdžiui, 2n = O(n), kadangi (O) formulėje galima paimti C = 2 irnC = 0. Teiginiui n2 + 2n + 1 = O(n2) įrodyti pakanka paimti C = 3 irnC = 0.

Sąryšis f = O(g) kartais vadinamas skaičių sekos asimptotiniu viršutiniuįverčiu ir turi tokią prasme: skaičių sekos f(n) augimo greitis yra nedidesnisuž sekos g(n) augimo greitį. Pastebėkime, kad jis galioja ir tokioms sekoms:n = O(n2) (augimo greitis mažesnis);1n3 = O

(1n

)(nykimo greitis mažesnis);

(n!) = O(nn) (įrodymui pakanka pastebėti n! = 1 ·2 · · · n 6 n ·n · · ·n = nn).

Sąryšio O savybės

4.10 teorema. Sąryšis O yra refleksyvusis.Įrodymas išplaukia iš nelygybės |f(n)| ≤ |f(n)|, kuri galioja ∀n ∈ N0,t. y. (O) formulėje C = 1, nC = 0.

4.11 teorema. Sąryšis O yra tranzityvusis.Įrodymas. Tarkime, kad f = O(g) ir g = O(g). Tada egzistuojatokios konstantos Cf,g, nf,g, Cg,h, ng,h, kad

(∀n > nf,g) |f(n)| 6 Cf,g|g(n)|,

(∀n > ng,h) |g(n)| 6 Cg,h|h(n)|.

Iš čia gauname, kad

(∀n > maxnf,g, ng,h) |f(n)| 6 Cf,g · Cg,h|h(n)|

ir todėl f = O(h).

Sąrysis O nėra simetrinis. Pavyzdžiui, n = O(n2), tačiau n2 6= O(n).

Sąryšis O nėra ir antisimetrinis: 1 + 2n = O(3n) ir 3n = O(1 + 2n). Taigisąryšis O nėra ekvivalentumas ir nėra tvarkos sąryšis.

4.9 pavyzdys rodo, kad jis nėra ir pilnasis.

4.9 pavyzdys. Skaičių sekoms f(n) = n2 sin πn2 , g(n) = n3 cos πn2

negalioja f = O(g) ir negalioja g = O(h).

Pastebėkime, kad sąryšis O bus pilnasis, jei nagrinėti atskiras sekų aibėsS klases. Pavyzdžiui, jei f(n) ir g(n) yra kintamojo n polinomai, tai galiojabent vienas asimptotinis įvertis f = O(g) arba g = O(h).

Page 156: AKrylovas_DiskrMatem_20080316

142 4 SKYRIUS. SĄRYŠIAI

Tarkime, kad konstanta α 6= 0. Tada

O(αf) = O(f) & O(f) = O(αf).

Tarkime, kad α1, α2 yra konstantos ir f1(n) = O(g(n)), f2(n) = O(g(n)).Tada galioja formulė

α1f1(n) + α2f2(n) = O(g(n)).

4.10 pavyzdys. Remdamiesi sąryšio O savybėmis gauname, tokiusįverčius

f(n) = 2n + 5n3 + 3O(n2)

= O(n) + 5n3 +O(n2)

=

O(n2)

+ 5n3 +O(n2)

= 5n3 +O(n2).

Paaiškinsime atliktų pertvarkių prasmę. Žymėjimas O(n2)

formulėjęreiškia kurią nors funkciją (skaičių seką) g(n) = O

(n2). Šios funkcijos

mes galime ir nežinoti ir turime tik informaciją apie jos augimo greičio vir-šutinį įvertį. Todėl daugiklis 3 mums neteikia papildomos informacijos ir3O(n2)

= O(n2). Kadangi mes nežinome funkcijos g(n) išraiškos, dėmens

2n vaidmuo irgi menkas ir jį galima įvertinti ne tik O(n) (tai teisingai, tačiaušiuo atveju neturi prasmės), bet mes šį dėmenį įvertinome O

(n2), kadangi

tik tiek ir galime žinoti apie galutinę formulę 5n3 + O(n2). Taigi mes ga-

vome skaičių sekos f(n) asimptotinį viršutinį įvertį, kuris garantuoja, tokiųkonstantų C ∈ R ir nC ∈ N0 egzistavimą, kad

(∀n > nC) |f(n)− 5n3| 6 Cn2.

Bendruoju atveju šių konstantų ir tikrosios formulės f(n) mes nežinome.Tai galėtų būti, tarkime, f(n) = 5n3 + n − 10n2, f(n) = 5n3 + 4

3√n5 arba

f(n) = 5n3 +100n− sinn3. Taigi žymėjimas f(n) = 5n3 +O(n2)

reiškia nėvieną konkrečią seką f(n), o kažkokią abstrakčią, turinčią nurodytą savybę,seką. Kitaip tariant, bet kurią seką iš apibrėžiamos (4.1) formule klasės(šią klasę pažymėkime K5n3). Visais atvejais galioja formulė

limn→∞

f(n)

5n3= 1. (4.1)

Pastebėkime, kad iš (4.1) gauname, kad f(n) = 5n3(1 + µ(n) ir µ(n) yranykstamoji funkcija. Iš 4.10 pavyzdžio formulės mes gauname daugiau in-formacijos: f(n) = 5n3(1 +O

(1n

).

Page 157: AKrylovas_DiskrMatem_20080316

4.5. ASIMPTOTINIAI SĄRYŠIAI 143

4.5.3. Asimpotinio ekvivalentumo sąryšis ≍4.25 apibrėžimas. Sakome, kad skaičių sekos f(n) ir g(n) turi vieno-dą augimo greitį (žymime f(n) ≍ g(n) arba (f, g) ∈ ≍), jei egzistuojatokios teigiamos konstantos C1, C2 ∈ R ir nC1,C2

∈ N0, kad

(∀n > nC1,C2) C1|f(n)| 6 |g(n)| 6 C2|f(n)|.

Iš apibrėžimo išplaukia, kad egzistuoja (kitos) teigiamos konstantos C3, C4 ∈R, kad galioja ir tokie įverčiai (numerio nC1,C2

∈ N0 galima nekeisti)

(∀n > nC1,C2) C3|g(n)| 6 |f(n)| 6 C4|g(n)|.

Matome, kad iš sąryšio ≍ apibrėžimo išplaukia, kad f(n) = O(g(n)) irg(n) = O(f(n)). Sąryšį ≍ galima apibrėžti ir taip

≍ = O ∩ O−1

Taigi sąryšis ≍ yra simetrinis, refleksyvusis (4.10 teorma) ir tranzityvusis(4.11 teorema). Todėl įrodyta tokia teorema.

4.12 teorema. Sąryšis ≍ yra ekvivalentumas.

4.13 teorema. Tarkime, kad f(n) ∼ g(n). Tada f(n) ≍ g(n).

Įrodymas. Iš 4.23 apibrėžimo turime, kad egzistuoja nykstamoji funkcijaµ(n):

f(n) = g(n) (1 + µ(n)).

Nykstamoji funkcija aprėžta, todėl galima paimti C2 = maxn∈N0

|1 + µ(n)|. Pa-

sirinkime nC1,C2taip, kad

(∀n > nC1,C2)

1

1 + µ(n)>

1

2.

Tada gauname C1 = 12 ir galioja abi 4.25 apibrėžimo nelygybės.

Iš čia išplaukia, kad ekvivalentumo sąryšis ∼ yra asympotinio ekvivalen-tumo sąryšio ≍ poaibis.

Pavyzdys 2n + 3n2 ≍ 3n + 2n2, bet 2n + 3n2 6∼ 3n + 2n2 rodo, kad at-virkštinis teiginys neteisingas. Taigi galime užrašyti įrodytų ekvivalentumosąryšių įeičių grandinę

≎ $ ∼ $ ≍

Page 158: AKrylovas_DiskrMatem_20080316

144 4 SKYRIUS. SĄRYŠIAI

Grįžkime prie 4.10 pavyzdžio (142 psl.) Buvome gavę funkcijos įvertįf(n) = 5n3 +O

(n2)

ir išsiaiškinome, kad jis reiškia visą skaičių sekų klasęK5n3 . Tarkime, kad f(n) ∈ K5n3 . Tada ∃Cf ∈ R & ∃nf ∈ N0:

(∀n > nf ) |f(n)− 5n3| 6 Cfn2.

Iš čia gauname, kad |f(n)| 6 5n3 + Cfn2 6 Cn3, C = 5 + Cf . Taigi

g(n) = O(n3). Kita vertus, paimkime nf ∈ N0 taip, kad (∀n > nf ) 5n3 −

Cfn2 ≥ n2. Tada min |g(n)| > n2 ir turėsime ivertį 5n3 6 |g(n)| + Cfn

2 6

(1 + Cf )|f(n)|. Taigi įrodėme, kad (∀f ∈ K5n3) f ≍ 5n3. Todėl formulęf(n) = 5n3 +O

(n2)

galima traktuoti kaip ekvivalentumo klasę[5n3]

≍.

4.4 pastaba. Sąryšis ≍ literatūroje kartais vadinamas asimptotiškai griež-tu įverčiu

”teta didžioji “ (θ).

Sąryšio ≍ apibrėžime apatinis įvertis |f(n)| > C|g(n)| galioja visiempakankamai dideliems n (t. y. didesniems už tam tikrą numerį). Kartaisnagrinėjamas silpnesnis reikalavimas. Paimkime c > 0 ir pažymėkime Nc ⊂N0 – aibę tokių n, kad |f(n)| > c|g(n)|. Jei egzistuoja tokia teigiamojikonstanta c, kad aibė Nc yra begalinė, tai rašome įvertį

f(n) = Ω(g(n))

ir skaitome”omega didžioji nuo g(n)“.

Pavyzdžiui, įvertis (∀n0)∣∣n2 sin πn

12

∣∣ > n negalioja visiems n > n0, kadan-

gi kairioji reiškinio pusė turi be galo daug nulių n = 12, 24, 36, . . .. Tačiauimame c = 1 ir Nc = N0 \ n = 12k, k ∈ Z ir gauname, kad teisigas įvertisn2 sin πn

12 = Ω(n).Kai, pavyzdžiui, nepavyksta gauti pakankamai tikslaus algoritmo reali-

zacijos sanaudų įvertinimo, toks įvertis būna naudingas. Jis leidžia atskirtigerus atvejus, kai skaičiavimo apimtis yra daug mažesnė už įvertį Ω, nuoblogesnių atvejų, kurių skaičius begalinis ir jų negalima ignoruoti (žr. [22],68 psl.)

4.5.4. Sąryšis o mažoji

4.26 apibrėžimas. Sakome, kad skaičių sekos f(n) augimo greitisyra mažesnis negu funkcijos g(n) ir rašome f(n) = o(g(n)) arba (f, g) ∈o ⊂ S (skaitome

”o mažoji nuo g(n)“), jei ∀ε > 0 ∃nε ∈ N0:

(∀n > nε) |f(n)| 6 ε|g(n)|.

Page 159: AKrylovas_DiskrMatem_20080316

4.5. ASIMPTOTINIAI SĄRYŠIAI 145

Pavyzdžiai

1. n = o(n2)

– pakanka paimti9 nε =⌈

⌉;

2. 1n3 = o

(1n

)(nε =

⌈1√ε

).

Pastebėję, kad 4.26 apibrėžimo (kiek norima mažas) parametras ε pasi-renkamas laisvai, gauname kad galioja 4.24 apibrėžimo sąlygos ir todėl, jeif(n) = o(g(n)), tai ir f(n) = o(g(n)). Taigi įrodyta teorema.

4.14 teorema. Jei f(n) = o(g(n)), tai f(n) = O(g(n)):

o ⊂ O

Sąryšio o mažoji savybės

4.15 teorema. Sąryšis o mažoji yra tranzityvusis.Įrodymas kartoja 4.11 teoremos įrodymą.

Pažymėkime S0 = S \ [0]≎, t. y. nenagrinėsime skaičių sekų, lygių nuliuivisur, išskyrus, galbūt, baigtinį skaičių pirmųjų narių.

4.16 teorema. Sąryšis o ⊂ S20 = S0 × S0 yra antisimetrinis.

Įrodymas. Tarkime, kad f = o(g) ir g = o(g). Tada ∀ε > 0 ∃nf , ng ∈ N0:

(∀n > nf ) |f(n)| < ε|g(n)| & (∀n > ng) |g(n)| < ε|f(n)|.

Todėl(∀n > maxnf , ng) |f(n)| < ε|g(n)| < ε2|f(n)|.

Kadangi tai galioja bet kuriam ε, gauname, kad f(n) = 0 ir (kartojamevisus įverčius) g(n) = 0. Taigi gauname, kad f ≎ 0, g ≎ 0. Tačiau aibėjeS0 = S \ [0]≎ tokių elementų nėra. Tagi teorema įrodyta.

4.17 teorema. Sąryšis o ⊂ S20 yra antirefleksyvusis. Įrodymas. Tarkime,

kad f = o(f). Kartojame 4.16 teoremos įverčius ir gauname

(∀ε > 0) |f(n)| < ε|f(n)|.9Čia ⌈x⌉ pažymėtas ne mažesnis už x mažiausias sveikasis skaičius. Pavyzdžiui, ⌈7, 3⌉ =

8, ⌈−7, 3⌉ = −7

Page 160: AKrylovas_DiskrMatem_20080316

146 4 SKYRIUS. SĄRYŠIAI

Todėl f(n) = 0, išskyrus baigtinį skaičių pirmųjų narių. Tada f ≎ 0ir f /∈ S0.

Taigi iš 4.15, 4.16 ir 4.17 teoremų išplaukia, kad o yra griežtosios tvarkossąryšis. Sąryšis neleidžia tarpusavyje palyginti bet kurių dviejų sekų irtodėl nėra pilnasis (žr. 4.9 pavyzdį 141 psl.)

4.18 teorema. o ⊂ S0 yra griežtosios dalinės tvarkos sąryšis.

4.5 pastaba. Literatūroje vietoje f(n) = o(f(n)) dažnai pasitaikotokie žymėjimai:

f ≪ g g ≫ f f ≺ g g ≻ f

Surašykime elementariųjų funkcijų augimo (nykimo) greičių hierarchi-ją.

(∀k > 1) 0≪ 1

nk≪ 1

n≪ 1√

n≪ 1

ln (k + n)≪ 1.

Taigi 0 (arba bet kuri skaičių seka iš [0]≎) yra o(f(n)), kai f(n) – nykstamojifunkcija. Žymėjimas f(n) = o(1) (arba f ≪ 1) reiškia, kad f(n) nykstamojifunkcija. Pastebėkime, kad vietoje 1 (vieneto) gali būti bet kuri konstantaC 6= 0. Žymėjimas f(n) = O(1) reiškia, kad skaičiu seka f(n) aprėžta.Pratęskime funkcijų augimo greičių hierarchiją:

(∀k > 1) C ≪ ln ln(2 + n)≪ ln(1 + n)≪ n1k ≪ n≪

nk ≪ nln(1+n) ≪ 2n ≪ en ≪ nn ≪≪ nn+k ≪ nnn

Taigi žymėjimas f(n)≫ C reiškia, kad f(n) neaprėžtai didėjančioji skaičiųseka.

Rašydami o(g(n)) (kaip ir O(g(n))), turime galvoje bet kurią turinčiąsavybę o(g(n)) funkciją. Žymėjimas n+o(n) gali reikšti, pavyzdiui, funkcijąf(n) = n +

√n, f(n) = n − ln(1 + n) arba f(n) = n+ 1. Taip suprantame

ir žymėjimus o(O(g)) arba O(o(g)).

Įrodykime formulęo(O(g)) = o(g)

O(g) reiškia tokią (bet kurią) skaičių seką f(n), kad f = O(g(n)). Todėl

∃C ∈ R,nC ∈ N0 : (∀n > nC) |f(n)| 6 C|g(n)|.

Taigi turime h = o(f(n)) ir (iš o apibrėžimo) ∀ε > 0 ∃nε ∈ N0

(∀n > nε) |h(n)| 6 ε|f(n)|.

Page 161: AKrylovas_DiskrMatem_20080316

4.5. ASIMPTOTINIAI SĄRYŠIAI 147

Iš abiejų užrašytų įverčių gauname, kad bet kuriai turinčiai sąvybę o(O(g))skaičių sekai h(n) galioja įvertis

∀ε > 0 ∃n′ε = maxnC , nε : (∀n > n′ε) |h(n)| 6 Cε|g(n)|

ir formulė įrodyta.Pateiksime kitas sąryšių o ir O formules.

o(o(g)) = o(g) O(o(g)) = o(g) O(O(g)) = O(g)

o(g) + o(g) = o(g) o(g) +O(g) = O(g) O(g) +O(g) = O(g)

o(g) · o(g) = o(g2) o(g) · O(g) = o(g2) O(g) · O(g) = O(g2)

4.5.5. Asimptotinės aproksimacijos

Nagrinėsime harmoninių skaičių seką

Hn = 1 +1

2+

1

3+ · · · + 1

n, n > 1.

T. y. (susitarkime, kad H0 = 0 ir tada Hn = Hn−1 +1

n)

Hn = (0, 1,3

2,11

6,25

12,137

60,49

20,363

140,761

280, · · · )

Skaičių seka Hn yra neprėžtai didėjančioji10. Pateiksime kelias harmoniniųskaičių asimptotines aproksimacijas ir paaiškinsime jų prasmę (formulėseγ = 0, 57721565649 . . . yra Oilerio – Mackeronio11 konstanta).

(H1) Hn = γ + lnn+ o(1),

(H2) Hn = γ + lnn+O

(1

n

)

,

(H3) Hn = γ + lnn+1

2n+O

(1

n2

)

,

(H4) Hn = γ + lnn+1

2n+ o

(1

n2

)

,

10Kadangi harmoninė eilutė∞P

n=1

1n

diverguoja.11Lorenzo Mascheroni (1750 – 1800) – italų matematikas.

Page 162: AKrylovas_DiskrMatem_20080316

148 4 SKYRIUS. SĄRYŠIAI

(H5) Hn = γ + lnn+1

2n− 1

12n2+O

(1

n4

)

.

Iš formulės (H1) gauname, kad Hn ≈ γ + lnn ir šios formulės absoliu-čioji paklaida p1(n) = Hn − γ − lnn turi savybę o(1), t. y. iš (H1) mesgalime sužinoti tik tiek, kad p1(n) yra nykstamoji skaičių seka. Tarkime,kad (H1) vietoje o(1) užrašyta o(ln n). Tada tai irgi teisinga formulė, betji teikia dar mažiau informacijos. Formulė (H2), nors ir nepatikslina pačiosaproksimacijos (kaip ir anksčiau turime Hn ≈ γ + lnn), bet apie paklaidąp2(n) = Hn− γ− lnn jau žinome daugiau: p2(n) = O

(1n2

). Tai reiškia, kad

∣∣p2(n)

∣∣ 6 C

nir nors mes (bendruoju atveju) ir nežinome konstantos C reikš-

mės, šis įvertis garantuoja, kad mes žinome absoliučios paklaidos mažėjimogreitį O

(1n

). Taigi galime nežinoti paklaidos p2(n) reikšmių, tačiau žinome

kad∣∣p2(10)

∣∣ 6 C

10 ,∣∣p2(100)

∣∣ 6 C

100 ,∣∣p2(1000)

∣∣ 6 C

1000 . Iš čia matome, kad 10kartų padidinus n, paklaida sumažėja irgi 10 kartų. Formulės (H3) – (H4)duoda tikslesnę (abi tą pačią) aproksimaciją Hn ≈ γ+lnn+ 1

2n , tačiau apieabsoliučią paklaidą iš (H4) žinome šiek tiek daugiau. Formulė (H5) yra dartikslesnė ir teikia dar daugiau informacijos apie paklaidą.

Tarkime, kad turime tokio pavidalo asimptotines formules

F (n) = f(n) (1 +O(g(n))) , F (n) = f(n) (1 + o(g(n))) .

Tada turime asimptinę aproksimaciją F (n) ≈ f(n), kurios santykinė pa-klaida yra O(g(n)) arba o(g(n)).

Pateisime skaičių sekos n! asimptotinę Stirlingo formulę12

n! =√

2πn(n

e

)n(

1 +1

12n+

1

288n2+O

(1

n3

))

Lentelėje surašyti skaičių n! ir jų apytikslių reikšmių, apskaičiuotų pagalpateiktą asimptotinę formulę, rezultatai.

12žr., pvz., [46].

Page 163: AKrylovas_DiskrMatem_20080316

4.5. ASIMPTOTINIAI SĄRYŠIAI 149

n n!√

2πn(n

e

)n(

1 +1

12n+

1

288n2

)

1 1 1.0021842 2 2.0006293 6 6.0005784 24 24.000995 120 120.0025

10 3628800 3628810.11 3.991660 · 107 3.991688 · 107

13 6.227021 · 109 6.227028 · 109

15 1.307674 · 1012 1.307675 · 1012

20 2.432902 · 1018 2.432903 · 1018

30 2.652529 · 1032 2.652529 · 1032

50 3.041409 · 1064 3.041409 · 1064

100 9.332622 · 10157 9.332622 · 10157

Absoliučioji paklaida šiuo atveju yra O(√

2πn(n

e

)n 1

n3

)

ir greitai au-

ga. Todėl, kaip matome iš pateiktų skaičiavimų, formulė neleidžia tiksliaisuskaičiuoti skaičiaus 10! paskutiniųjų dviejų skaitmenų, o skaičiaus 15! –jau septynių. Nepaisant to, formulė teisingai aproksimuoja skaičių n! eilę, oesant didesniems n teisingai apskaičiuojama vis daugiau pirmųjų skaičių n!skaitmenų.

Klausimai ir užduotys

4.1

Sąryšis vadinamas tolerancija, kai jis yra refleksyvusis ir simetrinis.Kuris sąryšis yra tolerancija?S1 = (x, r), (x, x), (r, x), (r, r) ⊂ x, r2;S2 = (x, r), (x, x), (r, x), (r, r), (q, x), (x, q), (q, q),

(r, q), (q, r), (x, g), (g, x), (g, g) ⊂ x, r, q, g2.

4.2 Tarkime, kad S1 ⊂ A2 yra tolerancija, S2 ⊂ A2 – ekvivalentumas irS1 ⊂ S2. Įrodykite, kad sąryšio tranzityvusis uždarinys S+

1 ⊂ S2.

4.3 Įrodykite sąryšių kompozicijos distributyvumo savybę sąjungos atžvil-giu:

(X ∪ Y ) Z = (X Z) ∪ (Y Z).

Page 164: AKrylovas_DiskrMatem_20080316

150 4 SKYRIUS. SĄRYŠIAI

4.4 Tarkime, kad D(S) = A. Įrodykite įeitį

IA ⊂ S S−1.

Sukonstruokite pavyzdį, neigiantį teiginį IA = S S−1.

4.5 Įrodykite įeitį

(X ∩ Y ) Z ⊂ (X Z) ∩ (Y Z).

Parodykite, kad formulėje negalima rašyti lygybės ženklo.

4.6 Įrodykite, kad jei sąryšiai X ir Y yra refleksyvieji, tai refleksyvieji busir sąryšiai X ∪ Y , X ∩ Y , X Y , X−1, X+.

4.7 Įrodykite, kad jei sąryšiai X ir Y yra antirefleksyvieji, tai antirefleksy-vieji bus ir sąryšiai X ∪ Y , X ∩ Y , X−1, o sąryšiai X Y ir X+ gali nebūtiantireflesyvieji.

4.8 Įrodykite, kad jei sąryšiai X ir Y yra simetriniai, tai sąryšiai X ∪ Y ,X ∩ Y , X−1 irgi yra simetriniai.

4.9 Įrodykite, kad ekvivalentumo sąryšių X ir Y sąjunga X ∪ Y yra ekvi-valentumas tada ir tik tada, kai X Y = X ∪ Y .

4.10 Įrodykite, kad ekvivalentumo sąryšių X ir Y sankirta X ∩ Y yraekvivalentumas tada ir tik tada, kai X Y = Y X.

4.11 Pertvarkykite reiškinius

a) f(n) = n+ 3n2 − lnn+O (√n) + o

(

n37

)

;

b) f(n) = 3 + 2n − 5n2 − lnn+O (√n) +O

(

n37

)

;

c) f(n) = 5 + en − n5 + lnn+O(

1√n

)

+O(

1

n512

)

;

d) f(n) = 1 + e−n + n+O(

1n

)+ o

(1n2

).

4.12 Įrodykitea) o(f) +O(f) = O(f);b) o(f) + o(f) = O(f);c) O(f) +O(f) = O(f);d) o(f) · O(g) = o(f · g);e) o(f) · o(g) = o(f · g);f) O(f) · O(g) = O(f · g).

Page 165: AKrylovas_DiskrMatem_20080316

4.5. ASIMPTOTINIAI SĄRYŠIAI 151

Pastabos ir komentarai

Sąryšiai yra ne tik patogus grafų matematinio modeliavimo įrankis. Jie taikomiinformatikoje, sprendimų priėmimo teorijoje, pačioje matematikoje. Sąryšių teorija nag-rinėjama kaip atskiras skyrius diskrečiosios matematikos vadovėliuose [34], [10]. Dažnaidiskrečiosios matematikos vadovėliai neturi sąryšių teorijos skyrių. Lietuvių kalba išleistasąryšių teorijos mokymo priemonė [47].

Sąryšiai nagrinėjami kaip atskiras skyrius žinomoje R.Stolo knygoje [48]. Paminėkimepakankamai populiariai parašytą sąryšiams ir jų taikymams skirtą Ju. Šreiderio knygą[49].

Page 166: AKrylovas_DiskrMatem_20080316

152 4 SKYRIUS. SĄRYŠIAI

Page 167: AKrylovas_DiskrMatem_20080316

5 skyrius

Kombinatorika

5.1. Baigtinių aibių elementų kombinacijos

5.1.1. Baigtinių aibių poaibiai

Priminsime1, kad baigtinės aibės

A = a1, a2, . . . , an

elementų skaičių žymime |A| = n. Jos elementų tvarka nėra svarbi:

a1, a2, a3 = a1, a3, a2 = · · · = a3, a2, a1.

Kai elementų eilės tvarka svarbi, rašome

(a1, a2, a3) 6= (a1, a2, a3) 6= · · · 6= (a3, a2, a1).

Pastebėkime, kad šiuo atveju

(a1, a2, a3) ∈ A3 = A×A×A,

t. y. trejetas (a1, a2, a3) yra Dekarto sandaugos2 elementas.Taigi aibė 1, 2, 3 išreiškiama šešiais būdais:

1, 2, 3 = 1, 3, 2 = 2, 1, 3 = 2, 3, 1 = 3, 1, 2 = 3, 2, 1.

Tokie skirtingi elementų dėstyniai vadinami kėliniais. Bendruoju atveju nskirtingų elementų galima sukeisti vietomis

n! = 1 · 2 · · · (n− 1) · n1žr. 3.1.1. (87 psl.)2žr. 3.2.4. (97 psl.)

153

Page 168: AKrylovas_DiskrMatem_20080316

154 5 SKYRIUS. KOMBINATORIKA

(skaitome "n – faktorialas") būdais. Taigi ir baigtinė aibėA gali būti išreikšta|A|! būdais.

Priminsime3, kad aibės A poaibiu vadinama aibė B ⊂ A, jei visi aibėsA elementai yra ir aibės B elementai. Bet kuri aibė yra jos pačios poaibis:A ⊂ A, Tuščioji aibė ∅ yra bet kurios aibės poaibis: ∅ ⊂ A. Baigtinė aibė|A| = n turi 2n poaibių.

Įrodykime šią formulę kitu būdu. Suskaičiuokime, kiek poaibių turi baig-tinė aibė A = a1, a2, . . . , an.Yra vienas poaibis, neturintis elementų – tuščioji aibė ∅.Poaibių, turinčių po vieną elementą, yra n:

a1, a2, . . . , an.

Poaibių, sudarytų iš dviejų elementų, yran(n− 1)

2:

a1, a2, a1, a3, . . . , a1, an, . . . , an−1, an.Poaibių, turinčių po k elementų, yra

Ckn =n!

(n− k)! k! =(n− k + 1) · (n− k + 2) · · · · · (n− 1) · n

k!.

Kitas derinių skaičiaus iš n po k elementų žymėjimas yra

(n

k

)

. Pastebėkime,

kad

C0n =

(n

0

)

= Cnn =

(n

n

)

= 1.

Taigi baigtinė aibė A turi C0n + C1

n + C2n + · · ·+ Cnn poaibių.

Šiam skaičiui rasti taikome gerai matematikoje žinomą Niutono4 binomoformulę:

(x+ y)n =

n∑

k=0

Cknxn−kyk. (5.1)

Kai x = y = 1, iš čia gauname ieškomą skaičiųn∑

k=0

Ckn = 2n.

5.1 pavyzdys. Sudarykime buleaną5 21,2,3,4.

21,2,3,4 = ∅, 1, 2, 3, 4, 1, 2, 1, 3, 1, 4,2, 3, 2, 4, 3, 4, 1, 2, 3, 1, 2, 4, 2, 3, 4, 1, 2, 3, 4.

3žr. (3.1) formulę (91 psl.)4Isaak Newton (1643–1727) – anglų fizikas ir matematikas.5žr. 91 psl.

Page 169: AKrylovas_DiskrMatem_20080316

5.1. BAIGTINIŲ AIBIŲ ELEMENTŲ KOMBINACIJOS 155

Kartais išrinktų iš aibės A = a1, a2, . . . , an k elementų eilės tvarka yrasvarbi. Kiekvieną tokį poaibį galima užrašyti k! būdais. Elementų junginiai,kurie vienas nuo kito skiriasi arba pačiais elementais, arba jų eile, vadinamigretiniais. Gretinių iš n po k elementų skaičių žymime Akn. Turime

Akn = k!Ckn =n!

(n − k)! = (n − k + 1) · (n− k + 2) · · · (n− 1) · n.

Atkreipkime dėmesį, kad Ann = n!, t. y. kėlinių skaičius.Surašykime, pavyzdžiui, visus gretinius po du elementus iš a, b, c:

(a, b), (b, a), (a, c), (c, a), (b, c), (c, b). Taigi A23 =

3!

(3− 2)!= 2 · 3 = 6.

5.2 pavyzdys. Suskaičiuokime, kiek skirtingų vėliavų galima sudary-ti iš septynių spalvų vienodo dydžio juostų, jei kiekviena vėliava turilygiai tris horizontaliąsias juostas. Turime iš septynių juostų išsirinktitris ir yra svarbi šių trijų juostų eilės tvarka. Tai yra gretinių skaičius

A37 =

7!

(7− 3)!=

7!

4!= 5 · 6 · 7 = 210.

5.1 testas

1 Kiek poaibių turi aibėδ, δ, η, η, ν, δ, η, ν, δ, δ, ν, η, δ, η, ν, η ?1© 4; 2© 64; 3© 32; 4© 16; 5© 256; 6© 8; 7© 128.

2Aibės A poaibis B ⊂ A vadinamas tikriniu, kai B 6= ∅ & B 6= A.Kiek tikrinių poaibių turi aibėξ, λ, ξ, ξ, µ, λ, λ, λ, λ, µ, µ, ξ ?1© 62; 2© 126; 3© 6; 4© 2; 5© 254; 6© 30; 7© 14.

5.1.2. Perstatos ir lotyniškieji kvadratai

Tarkime, kad (a1, a2, . . . , an) skaičių 1, 2, . . . , n kėlinys. Nagrinėsimeaibės A = 1, 2, . . . , n vienareikšmius atvaizdžius (bijekcijas) į save ρ :A → A. Vieną tokį atvaizdį vadiname perstata (arba ketiniu) ir galimeapibrėžti taip:

ρ =

(1 2 · · · na1 a2 · · · an

)

. (5.2)

Page 170: AKrylovas_DiskrMatem_20080316

156 5 SKYRIUS. KOMBINATORIKA

Pastebėkime, kad tą patį keitinį ρ galima perrašyti n! skirtingais būdais,keičiant (5.2) matricos stulpelius:

ρ =

(2 1 · · · na2 a1 · · · an

)

=

(n n− 1 · · · 1an an−1 · · · a1

)

Apibrėžkime perstatų sandaugos6 operaciją:

ρ τ =

(1 2 · · · na1 a2 · · · an

)

(

1 2 · · · nb1 b2 · · · bn

)

=

(1 2 · · · na1 a2 · · · an

)

(

a1 a2 · · · a1

ba1 ba2 · · · ban

)

=

(1 2 · · · nba1 ba2 · · · ban

)

5.3 pavyzdys.(

1 2 3 42 3 4 1

)

(

1 2 3 44 3 1 2

)

=

(1 2 3 42 3 4 1

)

(

2 3 4 13 1 2 4

)

=

(1 2 3 43 1 2 4

)

Pažymėkime visų n! perstatų aibę P . Algebrinė struktūra7 (A, ) turi

neutralųjį elementą e =

(1 2 · · · n1 2 · · · n

)

:

(∀ρ) ρ e = e ρ = ρ.

Sukeitus vietomis perstatos ρ (5.2) matricos eilutes, gauname atvirkštinį

elementą ρ−1 =

(a1 a2 . . . an1 2 . . . n

)

:

ρ ρ−1 = ρ−1 ρ = e.

5.1 pratimas. Įrodykite, kad perstatų sandauga yra asociatyvi:

(∀ρ, τ, π) (ρ τ) π = ρ (τ π)

ir nėra komutatyvi: (bendruoju atveju):

ρ τ 6= τ ρ.6Literatūroje šia operaciją kartais vadina kompozicija, sąsūka, santrauka.7Aibė, uždaroji operacijos atžvilgiu (t. y. (∀ρ, τ ∈ A) ρ τ ∈ A), vadinama algebrine

struktūra.

Page 171: AKrylovas_DiskrMatem_20080316

5.1. BAIGTINIŲ AIBIŲ ELEMENTŲ KOMBINACIJOS 157

Taigi algebrinės srtuktūros (P, ) operacija yra asociatyvi, aibė P turineutrąlųjį elementą e ir visi elementai turi atvirkštinius. Todėl (P, ) yra(nekomutatyvioji) grupė.

5.1 apibrėžimas. Lotyniškuoju kvadratu vadinama n-osios eilėskvadratinė matrica, kurios visos eilutės ir visi stulpeliai yra skirtingiskaičių 1, 2, . . ., n kėliniai.

5.4 pavyzdys.

K1 =

1 2 3 42 3 4 13 4 1 24 1 2 3

5.2 apibrėžimas. Lotyniškieji kvadratai vadinami ekvivalenčiais, jeivieną iš jų galima gauti tokiais kito pertvarkiais:1) dviejų eilučių keitimas vietomis;2) dviejų stulpelių keitimas vietomis;3) elementų perstata (pakeitimu).

5.5 pavyzdys. Pakeiskime lotyniškojo kvadrato K1 (5.4 pvz.) ele-

mentus taip:

(1 2 3 44 3 1 2

)

:

K2 =

4 3 1 23 1 2 41 2 4 32 4 3 1

Taigi kvadratai K1 ir K2 yra ekvivalentūs.

Pastebėkime, kad pažymėjus skaičius 1, 2, . . ., n skirtingais simboliais c1,

c2, . . ., cn, t. y. keitiniu

(1 2 3 4c1 c2 c3 c4

)

galima apibendrinti lotyniškojo

kvadrato sąvoką.

5.6 pavyzdys. Pakeiskime kvadrato K2 simbolius

(1 2 3 4a b c d

)

:

K3 =

d c a bc a b da b d cb d c a

Page 172: AKrylovas_DiskrMatem_20080316

158 5 SKYRIUS. KOMBINATORIKA

Kai pirmosios eilutės ir pirmojo stulpelio elementai surašyti natūraliąjatvarka (t. y. (1, 2, . . . , n) arba raidžiu abėcėlės tvarka), lotyniškasis kvad-ratas vadinamas normalizuotu. Kvadratas K1 yra normalizuotas. Bet kurįlotyniškąjį kvadratą galima normalizuoti pirma keičiant vietomis jo eilutes, opaskui – stulpelius. Pastebėkime, kad jei pirma sutvarkyti stulpelius, o po to– eilutes, gausime kitą (nors ir ekvivalentųjį) lotyniškąjį kvadratą. Kai n < 4visi normalizuoti lotyniškieji kvadratai yra lygūs (o todėl ir ekvivalentūs).Yra 4 skirtingi ketvirtosios eilės lotyniškieji kvadratai, o skirtingų neekvi-venčiųjų vienas kitam yra tik du. Pažymėkime ln skirtingų normalizuotųn-osios eilės lotyniškųjų kvadratų skaičių, kn – skirtingų neekvivalenčiųjų.Yra žinoma l5 = 56, k5 = 2, l6 = 9408, k6 = 22, l7 = 16942080, k7 = 563,l8 = 535281401856, k8 = 1676257.

5.3 apibrėžimas. Lotyniškojo kvadrato transversale vadinamas vi-sų skirtingų jo matricos n elementų rinkinys a1j1 , a2j2 , . . ., anjn .

5.7 pavyzdys. Lotyniškojo kvadrato transversalė pažymėta langeliai

2 1 3 4

1 2 4 3

3 4 2 1

4 3 1 2

Antrosios eilės lotyniškasis kvadratas neturi transversalių. Bet kuris tre-čiosios eilės kvadratas turi tris transversales. Ketvirtosios eilės kvadratasgali turėti arba 8 transverales, arba neturėti nė vienos. Pavyzdžiui, kvad-ratas K1 neturi tansversalių. Penktosios eilės kvadratas gali turėti arba 3,arba 15 transversalių.

Ortogonalieji lotyniškieji kvadratai

5.4 apibrėžimas. Du n-osios eilės lotynieškieji kvadratai

A =

a11 . . . a1n

. . . . . . . . .an1 . . . ann

ir B =

b11 . . . b1n. . . . . . . . .bn1 . . . bnn

vadinami or-

togonaliaisiais (dar jie vadinami graikiškaisiais-lotyniškaisiais arbaOilerio kvadratais), jei visi n2 matricos

(a11, b11) . . . (a1n, b1n). . . . . . . . .

(an1, bn1) . . . (ann, bnn)

elementai yra skirtingi.

Page 173: AKrylovas_DiskrMatem_20080316

5.1. BAIGTINIŲ AIBIŲ ELEMENTŲ KOMBINACIJOS 159

5.8 pavyzdys. Šie du trečiosios eilės kvadratai

1 2 32 3 13 1 2

ir

a b cc a bb c a

yra ortogonalieji:

(1, a) (2, b) (3, c)(2, c) (3, a) (1, b)(3, b) (1, c) (2, a)

Šešiolikos kortų uždavinys

Taikydami ortogonaliuosius lotyniškuosius kvadratus

T K D ŽD Ž T K

Ž D K T

K T Ž D

ir

♠ ♦ ♥ ♣♣ ♥ ♦ ♠♦ ♠ ♣ ♥♥ ♣ ♠ ♦

galime taip sudėti skirtingų spalvų kortas:

T♠ K♦ D♥ Ž♣D♣ Ž♥ T♦ K♠Ž♦ D♠ K♣ T♥K♥ T♣ Ž♠ D♦

36 karininkų uždavinys

Reikia sustatyti šešių skirtingų rangų iš šešių skirtingų pulkų karininkustaip, kad kiekvienoje eilutėje ir kiekviename stulpelyje nebūtų vieno rangoarba vieno pulko karininkų. Taigi reikia paimti du ortogonaliuosius lotyniš-kuosius šeštosios eilės kvadratus, tačiau Oileris, nesėkmingai bandydamasišspręsti šį uždavinį, 1779 metais suformulavo hipotezę, kad neegzistuoja netik antrosios (tai akivaizdu) ir šeštosios (tai buvo įrodyta visų variantų per-rinkimu 1900 metais) lotyniškieji ortoganalieji kvadratai, bet ir 10, 14, 18,. . . eilės. Tik 1960 metais ši hipotezė buvo paneigta ir įrodyta, kad egzis-tuoja bent viena pora ortogonaliųjų lotyniškųjų n-osios eilės kvadratų, kain 6= 2, 6.

Page 174: AKrylovas_DiskrMatem_20080316

160 5 SKYRIUS. KOMBINATORIKA

5.2. Permanentas

5.2.1. Permanento apibrėžimas

Tarkime, kad iš aibės A = a1, a2, . . . , an elementų sudaromi gretiniai(ai1 , ai2 , . . . , aim

), kai atskiriems elementams aj nustatytos uždraustosios

pozicijos (vietos). Pažymėkime B = ‖bij‖m×n leistinųjų ir uždraustųjų po-zicijų matricą:

bij =

1, kai leidžiamas dėstinys

(i−1︷︸︸︷. . . , aj ,

m−i−2︷︸︸︷. . .

)

0, kai toks dėstinys neleidžiamas(5.3)

Taigi matricos B stulpeliai atitinka aibės A elementus aj , j = 1, 2, . . . , n,o jos eilutės (eilučių skaičius m 6 n) nurodo šių elementų leistinąsias iruždraustąsias pozicijas.

5.9 pavyzdys. Darbo kabinete į keturias numatytas ir sunumeruo-tas vietas reikia pastatyti rašomąjį stalą (R), kompiuterinį stalą (K),knygų spintą (S) ir fotelį (F). Rašomais stalas negali stovėti pirmoje irtrečioje vietose, kompiuterinis stalas – antroje, o fotelis – trečioje. Ke-liais būdais galima sudaryti darbo kabineto interjerą, jei darbo stalągalima pasirinkti iš 3 modelių, kompiuterinį stalą – iš 5, knygų spintą– iš 2 ir fotelį – iš 4.

Sudarykime 5.9 pavyzdžio matricą B, tačiau vietoje vienetų rašysime ati-tinkamo baldo pasirinkimo variantų skaičius.

1-oji vieta2-oji vieta3-oji vieta4-oji vieta

(R) (K) (S) (F)0 5 2 43 0 2 40 5 2 03 5 2 4

Iš matricos matome, kad, pavyzdžiui, knygų spintą galima pasirinkti iš 2modelių ir pastatyti į bet kurią vietą (3-asis stulpelis), o fotelį galima pasi-rinkti 4 būdais ir pastatyti į pirmąją, antrąją arba ketvirtąją vietą (4-asisstulpelis).

Tarkime, kad į pirmąją vietą statomas statomas kompiuterinis stalas.Tai galima padaryti b12 = 5 būdais. Tada į antrąją vietą galima pastatytirašomąjį stalą (b12·21 = 15 variantų), knygų spintą (b12·23 = 10 variantų)arba fotelį (b12 · b24 = 20 variantų).

Page 175: AKrylovas_DiskrMatem_20080316

5.2. PERMANENTAS 161

Tarkime, kad pirmojoje vietoje pastatytas kompiuterinis stalas, o antroje– rašomasis. Tada trečioje vietoje gali būti tik knygų lenta (kadangi b34 = 0),o ketvirtoje – fotelis. Taigi gauname gretinį (KRSF ) ir skirtingų baldųmodelių pasirinkimo yra b12 · b21 · b33 · b44 = 120 variantų.

Panašiai nagrinėdami skirtingas kombinacijas, turime sudėti visas A44 =

4! = 24 sandaugas b1j1b2j2b3j3b4j4 (nulinių dėmenų nerašome):

5 · 3 · 2 · 4 + 5 · 4 · 2 · 3 + 2 · 3 · 5 · 4 + 2 · 4 · 5 · 3+

4 · 3 · (5 · 2 + 2 · 5) + 4 · 2 · 5 · 3 = 840.

Apibendrinkime išdėstytus samprotavimus, apibrėždami matricos per-manentą.

5.5 apibrėžimas. Matricos

A =

a11 a12 . . . a1n

a21 a22 . . . a2n

· · · · · · · · · · · ·am1 am2 . . . amn

(m 6 n) permanentu (žymime perA) vadiname skaičių

(j1,j2,...,jm)

a1j1a2j2 · · · amjm .

Čia sumuojami visi Amn skirtingi gretiniai (j1, j2, . . . , jm).

5.1 pastaba. Kai m = n, permanentas turi tas pačias sandaugas,kaip ir kvadratinės (šiuo atveju) matricos determinantas, t. y. visisandaugų a1j1

a2j2· · · amjm elementai priklauso skirtingoms (visoms)

eilutėms ir skirtingiems stulpeliams j1, j2, . . ., jm, tačiau determinantosandaugos dar turi daugiklius ±1. Pavyzdžiui,

per

(a11 a12

a21 a22

)

= a11a22 + a12a21,

det

(a11 a12

a21 a22

)

= a11a22 − a12a21.

Page 176: AKrylovas_DiskrMatem_20080316

162 5 SKYRIUS. KOMBINATORIKA

5.2.2. Permanento savybės

Pažymėkime Aj matricą, kurią gauname išbraukus matricos A =‖aij‖m×n pirmąją eilutę ir j-ąjį sulpelį:

Aj =

a21 a22 . . . a2,j−1 a2,j+1 . . . a2n

a31 a32 . . . a3,j−1 a3,j+1 . . . a3n

· · · · · · · · · · · · · · · · · · · · ·am1 am2 . . . am,j−1 a2,j+1 . . . amn

.

Tada

perA =

n∑

j=1

a1jperAj (5.4)

5.10 pavyzdys.

per

a11 a12 a13

a21 a22 a23

a31 a32 a33

=

a11per

(a22 a23

a32 a33

)

+ a12per

(a21 a23

a31 a33

)

+ a13per

(a21 a22

a31 a32

)

=

a11a22a33 + a11a23a32 + a12a21a33 + a12a23a31 + a13a21a32 + a13a22a31.

Ši permanento savybė yra Laplaso determinanto skleidimo formulės ana-logas. Kai kurios kitos permanento savybės irgi panašios į determinantosavybes. Tarkime, kad A – kvadratinė matrica, AT – jos transponuota mat-rica. Tada

perA = perAT .

Tarkime, kad matrica A gauta suketus vietomis dvi matricos A eilutes (arbastulpelius). Tada

perA = perA.

Pastebėkime, kad (jei A – kvadratinė matrica)

detA = −detA.

Tarkime, kad A ir B – kvadratinės matricos. Determinanto savybė

det(A · B) = det(A) · det(B)

Page 177: AKrylovas_DiskrMatem_20080316

5.2. PERMANENTAS 163

permanentui negalioja:

per(A ·B) 6= per(A) · per(B).

Pažymėkime Imn m× n matricą, kurios visi elementai lygūs 1:

Imn =

1 1 . . . 11 1 . . . 1. . . . . . . . . . . .1 1 . . . 1

︸ ︷︷ ︸

n

m

, In = Inn.

Pastebėkime, kad

perI2n = per

(1 1 . . . 11 1 . . . 1

)

=n∑

i=1

1 ·n∑

j=1

j 6=i

1

= n(n− 1) = A2n,

perI3n =

n∑

i=1

perI2,n−1 = nperI2,n−1 = n(n− 1)(n − 2) = A3n.

Pastebėję, kad bendruoju atveju nAm−1n−1 = n(n−1

n−1−(m−1) = Amn ir taikydamimatematinės indukcijos principą, gauname šios teoremos įrodymą.

5.1 teorema.

perImn = Amn , perIn = n!

5.2.3. Inversijų skaičius

Tarkime, kad keturių elementų 1, 2, 3, 4 kėliniams galioja reikalavimas:kiekvienas skaitmuo nėra savo vietoje. Tokie kėliniai vidinami inversijomisarba netvarkomis. Suskaičiuokime visas inversijas žymėdami netinkamasskaitmenų pozicijas:

1 2 3 4 2 1 3 4

1 2 4 3 2 1 4 31 3 2 4 2 3 1 4

1 3 4 2 2 3 4 11 4 2 3 2 4 1 31 4 3 2 2 4 3 1

Page 178: AKrylovas_DiskrMatem_20080316

164 5 SKYRIUS. KOMBINATORIKA

3 1 2 4 4 1 2 33 1 4 2 4 1 3 23 2 1 4 4 2 1 33 2 4 1 4 2 3 13 4 1 2 4 3 1 23 4 2 1 4 3 2 1

Taigi matome, kad tarp 24 kėlinių yra tik 9 netvarkos. Parodykime, kaip su-skaičiuoti inversijų skaičių taikant permanentą. Pažymėkime D(n) inversijųskaičis, En – vienetinę n-ios eilės matricą ‖δij‖n×n, Dn = In − En:

D2 =

(1 11 1

)

−(

1 00 1

)

=

(0 11 0

)

,

D3 =

1 1 11 1 11 1 1

1 0 00 1 00 0 1

=

0 1 11 0 11 1 0

,

D4 =

1 1 1 11 1 1 11 1 1 11 1 1 1

1 0 0 00 1 0 00 0 1 00 0 0 1

=

0 1 1 11 0 1 11 1 0 11 1 1 0

.

TurimeD(n) = perDn.

Iš permenento skleidimo (5.4) formulės išplaukia, kad

perDn = (n− 1)perD+n , perD+

n−1 = perDn−2 + (n− 2)perD+n−2.

Čia D+n = Dn + diag(1, 0, . . . , 0):

D+2 =

(1 11 0

)

, D+3 =

1 1 11 0 11 1 0

, D+4 =

1 1 1 11 0 1 11 1 0 11 1 1 0

.

Taigi turime rekursinę formulę

D(n) = nD(n− 1) + (−1)n, n = 2, 3, . . . (5.5)

Apskaičiuokime inversijų skaičius

D(1) = perD1 = 0, D(2) = perD2 = 1, D(3) = 3 · 1− 1 = 2,

Page 179: AKrylovas_DiskrMatem_20080316

5.3. AIBIŲ SKAIDINAI 165

D(4) = 4 · 2 + 1 = 9, D(5) = 5 · 9− 1 = 44, D(6) = 6 · 44 + 1 = 265,

D(7) = 7 · 265− 1 = 1854, D(8) = 8 · 1854 + 1 = 14833,

D(9) = 9 · 14833 − 1 = 133496, D(10) = 1334961,

D(11) = 14684570, D(12) = 176214841.

5.3. Aibių skaidinai

5.3.1. Aibės skaidinys į blokus

5.6 apibrėžimas. Tarkime, kad aibės A poaibiai B1, B2, . . ., Bk(Bj ⊂ A) išpildo šias sąlygas:1) Bj 6= ∅;2) (∀i 6= j) Bi ∩Bj = ∅;

3)k⋃

j=1Bj = A.

Tada sakome, kad poaibių B1, B2, . . . , Bk rinkinys yra aibės Askaidinys. Poaibiai Bj vadinami skaidinio blokais. Tokių skaidiniųskaičiai, kai |A| = n, vadinami antrosios rūšies Stirlingo8 skai-čiais ir žymimi S(n, k). Pagal apibrėžimą S(n, k) = 0, kai k > n,S(n, n) = 1. Susitarkime, kad S(0, 0) = 1.

Pavyzdžiai1. Tarkime, A = 1, 2, 3. Aibės A du poabiai B1 = 1, 2, B2 = 3 yrajos skaidinys į du blokus.2. Aibės B1 = 1, 2, B2 = 2, 3 nėra aibės A = 1, 2, 3 skaidinys, kadangineišpildo skaidinio 2) apibrėžimo sąlygos.3. Aibės B1 = 1, B2 = 2 nėra aibės A = 1, 2, 3 skaidinys, kadangineišpildo 3) apibrėžimo sąlygos.4. Aibės B1 = 1, B2 = 2 , B3 = 3, 4 nėra aibės A = 1, 2, 3skaidinys, kadangi B3 nėra aibės A poaibis. Pastebėkime, kad B1, B2, B3

sudaro aibės 1, 2, 3, 4 skaidinį.5. Aibė 1, 2, 3, 4 turi lygiai 7 skaidinius į du blokus:

1, 2, 3, 4, 1, 2, 4, 3, 1, 3, 4, 2,

2, 3, 4, 1, 1, 2, 3, 4, 1, 3, 2, 4, 1, 4, 2, 3.8James Stirling (1692–1770) – škotų matematikas.

Page 180: AKrylovas_DiskrMatem_20080316

166 5 SKYRIUS. KOMBINATORIKA

5.1 pav. Aibės A skaidinys į 5 blokus B1, B2, B3, B4, B5.

5.2 teorema. Antrosios rūšies Stirlingo skaičiams galioja lygybė9

S(n, k) = S(n− 1, k − 1) + kS(n− 1, k).

Įrodymas. Tarkime, kad S yra visų aibės 1, 2, . . . , n skaidinių į kblokus aibė. Pažymėkime S1 tuos skaidinius, į kuriuos įeina blokasn, ir S2 – visi kiti skaidiniai. Tada S1∩S2 = ∅, S1∪S2 = S. Turime|S1| = S(n − 1, k − 1), |S2| = kS(n − 1, k), kadangi visi skaidiniai S2

gaunami taip: imame visus aibės 1, 2, . . . , n−1 skaidinius į k blokusir kiekvieną bloką papildome elementu n. Taigi

S(n, k) = |S| = |S1|+ |S2| = S(n− 1, k − 1) + kS(n− 1, k).

5.11 pavyzdys. Keliais būdais galima paskirti 8 budėtojus į 4 vie-nodus postus, esant sąlygai, kad kiekviename poste būtų bent vienasbudėtojas ir visi 8 žmonės budėtų.

9Tokio pavidalo lygtys vadinamos rekurenčiosiomis (žr. p. ??).

Page 181: AKrylovas_DiskrMatem_20080316

5.3. AIBIŲ SKAIDINAI 167

Sprendimas. Reikia suskaidyti aibę |A| = 8 į 4 blokus. Tai galimapadaryti S(8, 4) = 1701 būdu.

Antrosios rūšies Stirlingo skaičiai S(n, k)

k0 1 2 3 4 5 6 7 8 9 10

n

0 11 0 12 0 1 13 0 1 3 14 0 1 7 6 15 0 1 15 25 10 16 0 1 31 90 65 15 17 0 1 63 301 350 140 21 18 0 1 127 966 1701 1050 266 28 19 0 1 255 3025 7770 6951 2646 462 36 110 0 1 511 9330 34105 42525 22827 5880 750 45 1

Visų aibės A (|A| = n) skaidinių į k (0 6 k 6 n) blokų skaičius vadina-mas Belo10 skaičiumi:

B(n) =

n∑

k=0

S(n, k), B(0) = 1.

5.12 pavyzdys. Keliais būdais galima sudėti 10 skirtingų pieštukų į10 vienodų dėžučių, jei kai kurios iš jų gali būti tuščios.Sprendimas. Į vieną dėžutę 10 pieštukų galima sudėti S(10, 1) = 1būdu, į dvi dėžutes S(10, 2) = 511 būdais ir t. t. Taigi turimeS(10, 1) + S(10, 2) + · · ·+ S(10, 10) = B10 = 115975.

10Eric Temple Bell (1893–1960) – amerikiečių matematikas.

Page 182: AKrylovas_DiskrMatem_20080316

168 5 SKYRIUS. KOMBINATORIKA

Belo skaičiai Bn

n

0 11 12 23 54 155 526 2037 877

n

8 41409 2114710 11597511 67857012 421359713 2764443714 19089932215 1382958545

5.3.2. Aibės skaidinys į ciklus

Tarkime, kad A, B, C yra taisyklingo trikampio viršūnės. Tada jos galibūti išdėstytos dviem būdais (A,B,C) arba (A,C,B). Kitus trikampius(C,A,B), (B,C,A) galima gauti sukant trikampį (A,B,C) aplink apibrėžto(ir įbrėžto) apskritimo centrą. Taigi aibės A,B,C elementų išdėstymus

cycle(A,B,C) = cycle(C,A,B) = cycle(B,C,A)

vadiname ciklu. Kitas šios aibės ciklas yra

cycle(A,C,B) = cycle(C,B,A) = cycle(B,A,C).

Skirtingais aibės a, b, c, d ciklais pavadinsime tokius ekvivalenčius rei-škinius:

cycle(a, b, c, d) = cycle(d, a, b, c) = cycle(c, d, a, b) = cycle(b, c, d, a),

arba

cycle(a, b, d, c) = cycle(b, d, c, a) = cycle(d, c, a, b) = cycle(c, a, b, d).

Visi skirtingi aibės a, b, c, d ciklai parodyti 5.3 pav.

Page 183: AKrylovas_DiskrMatem_20080316

5.3. AIBIŲ SKAIDINAI 169

5.2 pav. Du trikampio skirtingi ciklai

5.13 pavyzdys. Iš aibės a, b, c, d elementų galima sudaryti vienuo-lika skirtingų ciklų porų:(a, b, c), (d), (a, c, b), (d), (a, b, d), (c), (a, d, b), (c),(a, c, d), (b), (a, d, c), (b), (b, c, d), (a), (b, d, c), (a),(a, b), (c, d), (a, c), (b, d), (a, d), (b, c).

5.7 apibrėžimas. Pirmosios rūšies Stirlingo skaičiai žymimis(n, k) ir apibrėžiami taip:

s(n, k) = s(n− 1, k − 1)− (n− 1)s(n − 1, k), k 6 n, s(0, 0) = 1.

Pažymėkime c(n, k) = (−1)n+ks(n, k). Tada galioja formulė

c(n, k) = c(n− 1, k − 1) + (n− 1) c(n − 1, k).

Parodykime, kad skaičių c(n, k) kombinatorinė prasmė yra ši: sudaryti kskirtingų ciklų iš elementų 1, 2, . . ., n galima c(n, k) būdais. Susitarkime,kad c(0, 0) = 1, c(n, 0) = 0, (n > 0) ir c(n, k) = 0, kai k > n. Daromeprielaidą, kad formulė c(n − 1, k) (k = 0, 1, . . . , n − 1) įrodyta, t. y. žinomiciklų iš elementų 1, 2, . . ., n − 1 skaičiai. Visų ciklų iš n elementų (kai

Page 184: AKrylovas_DiskrMatem_20080316

170 5 SKYRIUS. KOMBINATORIKA

5.3 pav. Visi aibės a, b, c, d skirtingi ciklai

pridėsime dar elementą n) aibę suskaidysime į du nesikertačius poaibius(blokus): pirmas blokas turi atskirą ciklą iš vieno elemento (n) ir antras –neturintis tokio ciklo. Tada pirmas blokas turi c(n− 1, k) elementų (ciklų).Suskaičiuokime, kiek galima sudaryti naujų ciklų, kai turime c(n− 1, k− 1)ciklų ir kiekvieną iš jų reikia papildyti elementų n. Tai galima padarytin − 1 būdu, rašant elementą n po kiekvieno iš elementų 1, 2, . . ., n − 1.Taigi turėsime (n−1) c(n−1, k) naujų ciklų rinkinių. Pavyzdžiui, jei turime3 ciklų poras (1, 2), (3), (1, 3), (2), (2, 3), (1), tai sudarome 9 naujasciklų poras:

(1, 4, 2), (3), (1, 4, 3), (2), (2, 3), (1, 4),

(1, 2, 4), (3), (1, 3), (2, 4), (2, 4, 3), (1),(1, 2), (3, 4), (1, 3, 4), (2), (2, 3, 4), (1).

Taigi iš n skirtingų elementų k ciklų galima sudaryti |s(n, k)| būdais.

Page 185: AKrylovas_DiskrMatem_20080316

5.3. AIBIŲ SKAIDINAI 171

Pirmosios rūšies Stirlingo skaičiai s(n, k)

k0 1 2 3 4 5 6 7 8

n

0 11 0 12 0 −1 13 0 2 −3 14 0 −6 11 −6 15 0 24 −50 35 −10 16 0 −120 274 −225 85 −15 17 0 720 −1764 1624 −735 175 −21 18 0 −5040 13068 −13132 6769 −1960 322 −28 1

5.2 testas

1 Keliais būdais galima įdėti dešimt skirtingų spalvų rutuliukųį dvi vienodas dėžutes ?1© 511; 2© 9330; 3© 1026576; 4© 90;5© 115975; 6© 1172700; 7© 34105; 8© 45.

2Keliais būdais galima įdėti dešimt skirtingų atvirukųį du vienodus vokus,kad įdėtų atvirukų skaičiai būtų skirtingi ?1© 9330; 2© 385; 3© 115975; 4© 45;5© 90; 6© 34105; 7© 33979; 8© 511.

3Kuris aibių rinkinys yra aibės r, e, w, n, u, c, q, t, h skaidinys?A = h, r, u, q, n,w, t, c;B = h, r, u, e, q, n,w, t, c.1© A; 2© B; 3© abu rinkiniai; 4© nė vienas.

4 Kiek skirtingų tokio tipo skaidinių egzistuoja?1© 7770; 2© 67284; 3© 4299; 4© 723680; 5© 7403; 6© 145750.

Page 186: AKrylovas_DiskrMatem_20080316

172 5 SKYRIUS. KOMBINATORIKA

5Kuris ciklų dvejetų rinkinys yra lygus aibės u, d, n, x,m, s, q, wciklų rinkiniui (w, x, q, s), (u,m, n, d)?A = (u,m, n, d), (s,w, x, q); B = (x, s, q, w), (u,m, n, d).1© nė vienas; 2© A; 3© abu rinkiniai; 4© B.

6 Kiek skirtingų ciklų dvejetų rinkinių egzistuoja?1© 274; 2© 6433; 3© 13068; 4© 511; 5© 36212; 6© 127.

5.4. Kombinatoriniai principai

5.4.1. Kombinacijų daugybos taisyklė

Tarkime, kad aibės A = a, b, c elementams reikia priskirti žymesZ = 1, 7, 11, 13. Visus įmanomus variantus užrašome kaip aibių Dekartosandaugą:

A×B = (a, 1), (a, 7), (a, 11), (a, 13), (b, 1), (b, 7), (b, 11),

(b, 13), (c, 1), (c, 7), (c, 11), (c, 13).Galime suformuluoti bendrąją kombinacijų daugybos taisyklę: jei

elementą a ∈ A galima išrinkti n būdais, o elementą b ∈ B – m būdais, taielementų poras (a, b) galima išrinkti n ·m būdais. Pavyzdžiui, 7 vaikinai ir8 merginos gali sudaryti 7 · 8 = 56 skirtingas poras.

5.14 pavyzdys. Apskaičiuokime, kiek skirtingų triženklių lyginių skai-čių galima sudaryti iš skaitmenų 0, 1, 2, 3, 7. Pirmasis skaitmuo neturibūti 0, todėl jį galima rinkti iš keturių skaitmenų 1, 2, 3, 7. Antrasisskaitmuo – bet kuris iš penkių turimų. Kadangi ieškomas skaitmuoyra lyginis, paskutinis skaitmuo turi būti išrinktas iš dviejų skaitmenų0, 2. Taigi turime 4 · 5 · 2 = 40 variantų.

5.15 pavyzdys. Kiekvieną natūralųjį skaičių x galima užrašyti dve-jetaine sistema:

x = ak−1 · 2k−1 + ak−22k−2 + · · · + a2 · 22 + a1 · 21 + a0 · 20, aj ∈ 0, 1.

Suskaičiuokime, kiek skirtingų skaičių galima išreikšti, kai k = 8, t. y.taikydami sekas iš aštuonių nulių ir vienetų. Turime |0, 1|8 = 28 = 256:

Page 187: AKrylovas_DiskrMatem_20080316

5.4. KOMBINATORINIAI PRINCIPAI 173

0 = (0, 0, 0, 0, 0, 0, 0, 0) = 0 · 128 + 0 · 64 + · · ·+ 0 · 2 + 0 · 1;1 = (0, 0, 0, 0, 0, 0, 0, 1) = 0 · 128 + 0 · 64 + · · ·+ 0 · 2 + 1 · 1;255 = (1, 1, 1, 1, 1, 1, 1, 1) = 1 · 128 + 1 · 64 + · · · + 1 · 4 + 1 · 2 + 1 · 1.

Tarkime, kad iš abėcėlės A = a1, a2, . . . , an raidžių sudaryti ilgio kžodžiai taip, kad raidė aj pasikartoja lygiai pj > 0 kartų: p1+p2+ · · ·+pn =k. Tokie žodžiai vadinami kartotiniais gretiniais. Jų yra

(k

p1p2 . . . pn

)

=k!

p1!p2! · · · pn!.

5.16 pavyzdys. Kiek skirtingų kombinacijų galima sudaryti iš visųžodžio MATEMATIKA raidžių?Sprendimas. Turime iš viso k = 10 raidžių, tarp jų skirtingų yran = 6. Raidės kartojasi taip: pM = 2, pA = 3, pT = 2, pE = 1, pI = 1,pK = 1. Patikrinkime: 2 + 3 + 2 + 1 + 1 + 1 = 10. Taigi

10!

2!3!2!1!1!1!=

5 · 6 · 7 · 8 · 9 · 101

= 151200.

5.3 testas

1 Kiek skirtingų kombinacijų galima sudaryti iš žodžioDOMINUOTI raidžių ?1© 151200; 2© 453600; 3© 90720; 4© 1663200; 5© 10080; 6© 9979200.

2 Kiek skirtingų kombinacijų galima sudaryti iš žodžioDAINININKAS raidžių ?1© 554400; 2© 302400; 3© 1260; 4© 9979200; 5© 453600; 6© 20160.

3 Kiek skirtingų kombinacijų galima sudaryti iš žodžioDIENINIS raidžių ?1© 10080; 2© 90720; 3© 302400; 4© 22680; 5© 3360; 6© 1260.

5.3 teorema. (Polinominė teorema)

(a1 + a2 + · · ·+ ak)n =

1 > 0, . . . , rk > 0r1 + · · · + rk = n

n!

r1! · · · rk!ar11 · · · arkk

Page 188: AKrylovas_DiskrMatem_20080316

174 5 SKYRIUS. KOMBINATORIKA

Pastebėkime, kad ši formulė apibendrina Niutono binomo (5.1)formulę (154 psl.).

5.4.2. Sudėties taisyklė

Tarkime, kad aibės A ir B nesusikerta, t. y. A ∩B = ∅. Tada bet kurisaibių sąjungos elementas x ∈ A & x /∈ B arba x ∈ B & x /∈ A. Todėl aibėA ∪B turi |A|+ |B| elementų:

A ∩B = ∅ ⇒ |A ∪B| = |A|+ |B|.

Šią formulę galima apibendrinti:

∀i 6= j Ai ∩Aj = ∅ ⇒∣∣∣∣∣

n⋃

k=1

Ak

∣∣∣∣∣=

n∑

k=1

|Ak|.

5.4.3. Įdėties pašalinimo principas

Pažymėkime A \B = X1, B \ A = X3, A ∩B = X2 (žr. 5 pav.).

5.4 pav. Įdėties pašalinimo principas

TurimeXi∩Xj = ∅ ∀i 6= j ir |X| = |A∪B| = |X1|+|X2|+|X3|. Pastebėję,kad A = (A \B)∪ (A ∩B) = X1 ∪X2 ir B = (B \A) ∪ (A∩B) = X3 ∪X2,turime |X1| = |A| − |X2| = |A| − |A∩B|, |X3| = |B| − |X2| = |B| − |A∩B|.Taigi

|A ∪B| = |A|+ |B| − |A ∩B|.Formulę galima apibendrinti:

|A∪B∪C| = |A|+ |B|+ |C|−|A∩B|−|A∩C|−|B∩C|+ |A∩B∩C| (5.6)

Page 189: AKrylovas_DiskrMatem_20080316

5.4. KOMBINATORINIAI PRINCIPAI 175

∣∣∣∣∣∣

n⋃

j=1

Aj

∣∣∣∣∣∣

=n∑

j=1

|Aj | −∑

16j<i6n

|Aj ∩Ai|+

16j<i<k6n

|Aj ∩Ai ∩Ak| − · · ·+ (−1)n−1|A1 ∩A2 ∩ · · · ∩An|.

5.17 pavyzdys. Mokykloje mokosi 1000 mokinių. Iš jų 800 studi-juoja anglų kalbą, 500 – vokiečių, o 100 nestudijuoja nė vienos iš šiųkalbų. Apskaičiuokime, kiek mokinių studijuoja ir anglų, ir vokiečiųkalbą.Sprendimas. Pažymėkime visų mokinių aibę Ω, studijuojančių anglųkalbą mokinių aibę – A, vokiečių V . Turime |Ω| = 1000, |A| = 800,|V | = 500. Dar žinome, kad nė vienos iš šių kalbų nestudijuoja|A∩V | = 100. Taikome de Morgano dėsnį (žr. ??): A∩V = A ∪ V =Ω \ (A ∪ V ). Taigi |A ∪ V | = |Ω| − |A ∩ V | = 1000 − 100 = 900.Mums reikia rasti |A ∩ V |. Turime |A ∩ V | = |A| + |V | − |A ∪ V | =800 + 500 − 900 = 400. Taigi 400 mokinių studijuoja ir anglų, irvokiečių kalbą.

5.18 pavyzdys. 5.5 pav. diagramoje nurodyti aibių elementų skai-čiai: |A∩B∩C| = 3, |(A∩B)\C| = 5, |(A∩C)\B| = 7, |(B∩C)\A| = 6,A\ (B∪C)| = 9, B \ (A∪C)| = 11, C \ (A∪B)| = 8, C \ (A∪B)| = 8.Turime |A| = 9 + 5 + 3 + 7 = 24, |B| = 11 + 5 + 3 + 6 = 25,|C| = 8 + 7 + 3 + 6 = 24, |A ∩B| = 5 + 3 = 8, |A ∩ C| = 7 + 3 = 10,|B ∩ C| = 3 + 6 = 9 ir taikome (5.6) formulę:

|A ∪B ∪ C| = 24 + 25 + 24− 8− 10− 9 + 3 = 49.

Page 190: AKrylovas_DiskrMatem_20080316

176 5 SKYRIUS. KOMBINATORIKA

5.5 pav. Elementų skaičiai

5.4 testas

1

Iš 922 studentų prancūzų kalbą studijuoja 374 studentai,anglų - 451, ispanų - 530.276 studentai studijuoja ir prancūzų, ir anglų kalbą,o 183 - prancūzų ir ispanų.Nė vienos iš šių trijų kalbų nestudijuoja 201 studentas,o 85 studentai studijuoja visas tris šias kalbas.Kiek studentų studijuoja ir anglų, ir ispanų kalbą?1© 77; 2© 116; 3© 129; 4© 260; 5© 253; 6© 170; 7© 169.

Page 191: AKrylovas_DiskrMatem_20080316

5.5. GENERUOJANČIOSIOS FUNKCIJOS 177

Pažymėkime natūraliųjų skaičių aibės poaibius:P = ξ ∈ N : ξ 6 9000000 & ∃m ∈ N : ξ = 29m,H = µ ∈ N : µ 6 9000000 & ∃k ∈ N : µ = 17k,S = θ ∈ N : θ 6 9000000 & ∃i ∈ N : θ = 29i & ∃i ∈ N : θ = 17i.2 |P ∩H| = 1© 18158; 2© 18255; 3© 18230;

4© 18190; 5© 18185; 6© 18286.

3 |S| = 1© 8178472; 2© 8178500; 3© 8178546;4© 8178562; 5© 8178535; 6© 8178441.

Pažymėkime natūraliųjų skaičių aibės poaibius:B = θ ∈ N : θ 6 8000000 & ∃l ∈ N : θ = 23l,H = λ ∈ N : λ 6 8000000 & ∃n ∈ N : λ = 13n,P = ν ∈ N : ν 6 8000000 & ∃i ∈ N : ν = 23i & ∃i ∈ N : ν = 13i.4 |B ∪H| = 1© 936490; 2© 936455; 3© 936367;

4© 936394; 5© 936487; 6© 936465.

5 |P | = 1© 7063622; 2© 7063478; 3© 7063564;4© 7063593; 5© 7063545; 6© 7063508.

5.5. Generuojančiosios funkcijos

Generuojančiosios funkcijos yra galingas kombinatorinių uždavinių spren-dimo įrankis. Jo idėja – priskirti skaičių sekai laipsninę eilutę ir taikytimatematinės analizės ir kompleksinio kintamojo analizinių funkcijų teorijosmetodus.

5.5.1. Generuojančiųjų funkcijų pavyzdžiai

Tarkime, kad an = a0, a1, . . . yra skaičių seka. Sudarome laipsninęeilutę

a0 + a1x + a2x2 + a3x

3 + · · · =∞∑

n=0

anxn,

kurią vadiname sekos (an) generuojančiąja funkcija. Kai skaičių seka(an) = (a0, a1, a2, . . .) yra baigtinė: (a0, a1, . . . , an), susitarkime, kad ak = 0,kai k > n (t. y. papildome ją nuliais).

Page 192: AKrylovas_DiskrMatem_20080316

178 5 SKYRIUS. KOMBINATORIKA

Pateiksime baigtinių skaičių sekų generuojančiųjų funkcijų pavyzdžius.

(1, 0, 0, . . .)←→ 1 + 0 · x+ 0 · x2 + 0 · x3 + · · · = 1;

n︷ ︸︸ ︷

0, 0, 0, . . . , 0, 1, 0, 0, . . .

←→ 0+0·x+0·x2+0·xn−1+1·xn+0·xn+1+· · · = xn;

n︷ ︸︸ ︷

1, 1, . . . , 1, 0, 0, . . .

←→ 1 + 1 · x+ · · ·+ 1 · xn−1 =1− xn1− x ;

(1, 4, 6, 4, 1, 0, 0, . . .)←→ 1 + 4x+ 6x2 + 4x3 + x4 = (1 + x)4 ;

(C0n, C

1n, . . . , C

n−1n , Cnn , 0, 0, . . .

)←→

n∑

k=0

Cknxk = (1 + x)n .

Taigi baigtinės skaičių sekos generuojančioji funkcija yra polinomas:

(a0, a1, a2, . . . , an, 0, 0, . . .)←→ a0 + a1x + a2x2 + a3x

3 + · · ·+ anxn.

Pateiksime begalinės skaičių sekos generuojančiąją funkciją:

(1, 1, 1, . . . , 1, 1, 1, . . .)←→ 0 + 1 · x+ 1 · x2 · · · =∞∑

n=0

xn =1

1− x.

Priminsime11, kad užrašyta laipsninė eilutė yra gerai žinoma geometrinėprogresija. Kai progresijos vardiklis |x| < 1, eilutė konverguoja ir jos su-ma lygi 1

1−x . Tačiau pastebėkime, kad laipsninės eilutės nagrinėjamos kaipformaliosios išraiškos ir jų konvergavimas nėra būtinas.

5.19 pavyzdys. Raskime skaičių sekos (2,−1,−1,−1, · · · ) generuo-jančiąją funkciją:

2− x− x2 − x3 − · · · = 3−(1 + x+ x2 + · · ·

)= 1 +

1

1− x =2− 3x

1− x

Pastebėję, kad 11+x = 1

1−(−x) =∞∑

k=0

(−x)k, gauname dar vienos skaičių

sekos generuojančiąją funkciją:

(1,−1, 1,−1, . . . , (−1)n , . . .)←→ 1

1 + x.

11Žr., pavyzdžiui, [50].

Page 193: AKrylovas_DiskrMatem_20080316

5.5. GENERUOJANČIOSIOS FUNKCIJOS 179

5.20 pavyzdys. Raskime skaičių seką, kurią generuoja funkcija 21−x2 .

Taikome neapibrėžtųjų koeficientų metodą12 ir pertvarkome racionalią-ją funkciją taip:

2

1− x2=

2

(1− x) (1 + x)=

A

1− x +B

1 + x=

A(1 + x) +B(1− x)(1− x) (1 + x)

=A+B + (A−B)x

1− x2⇒

A+B = 2A−B = 0

Taigi gauname A = B = 1 ir žinodami funkcijų 11−x bei 1

1+x laipsnineseilutes, turime

2

1− x2=

1

1− x+1

1 + x= 1+x+x2+x3+x4+· · ·+1−x+x2−x3+x4−· · · =

2 + 2x2 + 2x4 + 2x6 + · · · = 2

∞∑

n=0

x2n ←→ (2, 0, 2, 0, 2, . . . , 1 + (−1)n , . . .) .

Kai kurių begalinių skaičių sekų generuojančiosios funkcijos yra geraižinomos13 elementariųjų funkcijų Teiloro eilutės:

(

0, 1,1

2,1

3,1

4,1

5, . . .

)

←→∞∑

k=1

xk

k= ln

1

1− x ;

(

0, 1,−1

2,1

3,−1

4,1

5, . . .

)

←→∞∑

k=1

(−1)k+1

kxk = ln(1 + x);

(

1, 1,1

2,1

6,

1

24,

1

120, . . .

)

←→∞∑

k=0

xk

k!= ex;

(

1,−1,1

2,−1

6,

1

24,− 1

120, . . .

)

←→∞∑

k=0

(−1)k

k!xk = e−x;

(

0, 1, 0,−1

6, 0,

1

120, 0, . . .

)

←→∞∑

k=0

(−1)k

(2k + 1)!x2k+1 = sinx;

12Šis metodas taikomas integruojant raciaonaliąsias funkcijas (žr.,pvz., [51])13Pastebėkime, kad eilutės sumavimo indekso k pradinė reikšmė gali būti nenulinė.

Page 194: AKrylovas_DiskrMatem_20080316

180 5 SKYRIUS. KOMBINATORIKA

(

1, 0,−1

2, 0,

1

24, 0, . . .

)

←→∞∑

k=0

(−1)k

(2k)!x2k = cos x;

(

0, 1, 0,1

6, 0,

1

120, 0, . . .

)

←→∞∑

k=0

x2k+1

(2k + 1)!= shx;

(

1, 0,1

2, 0,

1

24, 0, . . .

)

←→∞∑

k=0

x2k

(2k)!= chx.

Funkcijos sh (x), ch (x) vadinamos hiperboliniu sinusu ir hiperboliniukosinusu. Kitas jų žymėjimas – sinh(x) ir cosh(x). Pastebėkime dar, kad

sh (x) = ex−e−x

2 ir ch (x) = ex+e−x

2 .

Stirlingo skaičių generuojančiosios funkcijos

Apibrėžkime n-ojo laipsnio polinomą

(x)n = x(x− 1)(x− 2) · · · (x− n+ 1),

kurį vadinsime apatiniu faktorialu.Pastebėkime, kad (n)n = n!, (x)0 = x ir kad apibrėžimo išplaukia

(−x)n = −x(−x−1)(−x−2) · · · (−x−n+1) = (−1)nx(x+1)(x+2) · · · (x+n−1).

Įrodykime, kad apatinis faktorialas (x)n generuoja pirmosios rūšies Stir-lingo skaičius s(n, k). Laikydami koeficientus s(n, k) dar nežinomais, užra-šome formulę

(x)n =n∑

k=0

s(n, k)xk

ir pastebėję, kad (x)n+1 = (x− n) (x)n, dar kartą taikome formulę

(x)n+1 =n+1∑

k=0

s(n+ 1, k)xk = (x− n)n∑

k=0

s(n, k)xk.

Prilyginame koeficientus prie vienodų x laipsnių:

s(n+ 1, k) = s(n, k − 1)− ns(n, k),

o tai sutampa su pirmosios rūšies Stirlingo skaičių 5.7 apibrėžimo formule(169 psl.) Pastebėkime, kad iš generuojančiosios funkcijos formulės išplau-kia, kad s(0, 0) = 1.

Page 195: AKrylovas_DiskrMatem_20080316

5.5. GENERUOJANČIOSIOS FUNKCIJOS 181

5.2 pratimas. Įrodykite, kad antrosios rūšies Stirlingo skaičiams S(n, k)galioja lygybė

tk =n∑

k=0

S(n, k) (x)k .

Pirmosios ir antrosios rūšies Stirlingo skaičiams galima įrodyti tokį są-ryšį:

n∑

k=m

s(n, k)S(k,m) = δmn =

1, n = m0, n 6= m

5.5.2. Generuojančiųjų funkcijų savybės

Tarkime, kad Fa(x) ir Fb(x) yra skaičių sekų (an) ir (bn) generuojančiosiosfunkcijos. Tada su bet kuriais skaičiais α ir β funkcija αFa(x) + βFb(x)generuoja skaičių seką (αan + βbn):

αFa(x) + βFb(x)←→ (αan + βbn) .

Priminsime, kad ši savybė vadinama tiesiškumu. Taigi skaičių sekų tiesiniodarinio generuojančioji funkcija lygi atskirų darinio sekų generuojančiųjųfunkcijų tiesiniam dariniui.

Įrodykime, kad skaičių seką an = bn − bn−1, n > 1 generuoja funkcijaFa(x) = Fb(x)(1− x).Turime Fa(x) =

∞∑

k=1

(bk − bk−1)xk =

∞∑

k=0

bkxk −

∞∑

k=1

bk−1xk−1x.

Todėl Fa(x) = Fb(x)−(

∞∑

k′=k−1=0

bk′xk′

)

= Fb(x)− xFb(x).

Panašiai galima įrodyti, kad skaičių seką an = bn+1− bn generuoja funk-

cija Fa(x) = Fb(x)1− xx− b0x

, o seką an = nbn – funkcija Fa(x) = xd

dxFb(x).

Apibrėžkime dviejų generuojančiųjų funkcijų sandaugą:

Fa(x)Fb(x) =

∞∑

n=0

cnxn,

cn = a0bn + a1bn−1 + a2bn−2 + · · ·+ akbn−k + · · ·+ anb0.

Taikydami šią formulę funkcijoms (1 + x)m ir (1 + x)k, gauname

(1 + x)m · (1 + x)k =m∑

i=0

Cimxi ·

k∑

j=0

Cjkxj = (1 + x)m+k =

m+k∑

l=0

C lm+kxl.

Page 196: AKrylovas_DiskrMatem_20080316

182 5 SKYRIUS. KOMBINATORIKA

Taigi gauname Koši14 tapatybę:

C lm+k =

l∑

s=0

CsmCl−sk .

Pastebėję binominių koeficientų simetriškumą Ci2n = C2n−i2n , turime dar vie-

ną formulę:n∑

s=0

Cs2n = Cn2n.

Diferencijavimas ir integravimas

Tarkime, kad Fa(x) yra skaičių (an) generuojančioji funkcija. Diferencijuo-jame ir integruojame laipsninę eiletę:

F ′a(x) = a1 + 2a2x + 3a3x

2 + · · · =∞∑

n=0

(n+ 1)an+1xn,

x∫

0

Fa(t) dt = a0x+a1x

2

2+a2x

3

3+ · · · =

∞∑

n=0

anxn+1

n+ 1.

Taigi gauname tokių skaičių sekų generuojančiąsias funkcijas:

(1, 2, 3, 4, . . .)←→(

1

1− x

)′=

1

(1− x)2 ;

(

0, 1,1

2,1

3, . . .

)

←→x∫

0

dt

1− t = ln1

1− x.

Sekos pradžios postūmis

Tarkime, kad pirmieji skaičių sekos (an) nariai yra nuliai:

(a0, a1, . . .) =

0, 0, . . . , 0︸ ︷︷ ︸

k

, bk, bk+1, bk+2, . . .

.

Pažymėkime Fa(x) ir Fb(x) generuojančiąsias funkcijas

Fa(x) = bkxk + bk+1x

k+1 + bk+2xk+2 + · · · ,

14Augustin Louis Cauchy (1789–1857) – prancūzų matematikas.

Page 197: AKrylovas_DiskrMatem_20080316

5.5. GENERUOJANČIOSIOS FUNKCIJOS 183

Fb(x) = bk + bk+1x+ bk+2x2 + · · · .

Matome, kad

Fa(x) = xk∞∑

n=0

bk+nxn = xkFb(x).

Gautąją formulę galima perrašyti ir taip:

F (x)− a0 − a1x − a2x2 − . . .− ak−1x

k−1 = xk∞∑

n=0

ak+nxn.

5.5.3. Fibonačio skaičiai

Fibonačio15 skaičiai Fn apibrėžiami rekurenčiąja lygtimi:

F0 = F1 = 1, Fn = Fn−1 + Fn−2, n > 1.

Pažymėkime skaičių sekos (Fn) = (1, 1, 2, 3, 5, 8, 13, 21, . . .) generuojan-čiąją funkciją F (x):

F (x) =

∞∑

n=0

Fnxn = 1 + x+

∞∑

n=2

(Fn−2 + Fn−1)xn =

1 + x+ x2∞∑

n=2

Fn−2xn−2 + x

( ∞∑

n=2

Fn−1xn−1 + 1− 1

)

=

1 + x+ x2F (x) + x(F (x) − 1) = 1 + (x+ x2)F (x).

Turime F (x) =1

1− x− x2=

1

(1− ax)(1 − bx) , čia a =1 +√

5

2, b =

1−√

5

2. Pažymėję A =

a

a− b ir B = − a

a− b , turime16

F (x) =A

1− ax +B

1− bx = A

∞∑

n=0

anxn +B

∞∑

n=0

bnxn =

∞∑

n=0

an+1 − bn+1

a− b xn

15Fibonacci (Leonardo Pisano, 1180–1240) – italų matematikas.16Šias reikšmes galima gauti neapibrėžtųjų koeficientų metodu, skleidžiant racionaliąją

trupmeną elementariųjų trupmenų suma.

Page 198: AKrylovas_DiskrMatem_20080316

184 5 SKYRIUS. KOMBINATORIKA

šaknis. Taigi gavome n-ojo Fibonačio skaičiaus formulę:

Fn =1√5

(

1 +√

5

2

)n+1

−(

1−√

5

2

)n+1

.

5.5.4. Skaičių skaidiniai

Spręsime skaičiaus n skaidinio į dėmenų sumą uždavinį. Pavyzdžiui,skaičių n = 4 galima išreikšti taip

4 = 1 + 1 + 1 + 1 = 1 + 1 + 2 = 1 + 3 = 2 + 2.

Pažymėkime vienetų skaičių sumoje δ1, dvejetų – δ2 ir t. t. Tada bendruojuatveju turime

n = 1 · δ1 + 2 · δ2 + · · · + n · δn, 0 6 δj 6 n.

Pirmosios sumos 4 = 1 + 1 + 1 + 1 atveju turime δ1 = 4, δ2 = δ3 = δ4 = 0,antrosios 4 = 1 + 1 + 2 – δ1 = 2, δ2 = 1, δ3 = δ4 = 0.

Natūralųjį skaičių n galima išreikšti k dėmenų suma

n = 1 · δ1 + 2 · δ2 + · · ·+ k · δk, δ1 + δ2 + · · ·+ δk = k, δj = 0, 1, . . . , k

galima Vn,k būdais. Pavyzdžiui, 4 = 1 + 3 = 2 + 2 ir todėl V4,2 = 2. Taigiskaidinių skaičius galima rasti taip:

Vn,k =∑

1 · δ1 + 2 · δ2 + · · ·+ k · δk = nδ1 + δ2 + · · ·+ δk = k

1

Pažymėkime darR(k)n =

1·δ1+2·δ2+···+k·δk=n

1,

t. y. skaidinių į dėmenis nedidesnius už k skaičius.Išnagrinėsime sandaugą

P (k)(x) =1

(1− x)(1 − x2)(1− x3) · · · (1− xk) =

∞∑

j1=0

xj1

∞∑

j2=0

x2j2

∞∑

j3=0

x3j3

· · ·

∞∑

jk=0

xkjk

=

Page 199: AKrylovas_DiskrMatem_20080316

5.5. GENERUOJANČIOSIOS FUNKCIJOS 185

(··· )x1k1+2k2+···+kjk =

∞∑

n=0

R(k)n xn.

Taigi P (k)(x) yra skaičių R(k)n generuojančioji funkcija.

Nagrinėsime begalinę sandaugą

F (x, t) =∞∏

m=1

(1 + xmt) = limm→+∞

(1 + xt)(1 + x2t) · · · (1 + xmt).

Logaritmuojame reiškinį ir skleidžiame logaritminę funkciją Makloreno eilu-te:

lnF (x, t) =

∞∑

m=1

ln(1 + xmt) =

∞∑

m=1

∞∑

j=1

(−1)j−1xjm

jtj.

Pakeiskime∞∑

m=1xjm = 1

1−xj − 1 = xj

1−xj . Taigi

lnF (x, t) =

∞∑

j=1

(−1)j−1xj

j(1 − xj) tj.

Pakeiskime funkcijos F (x, t) apibrėžimo formulėje t į xt:

F (x, xt) =

∞∏

m=1

(1 + xmxt) =

∞∏

m=1

(1 + xm+1t) =

∞∏

m=2

(1 + xmt) =

∞∏

m=1(1 + xmt)

1 + xt=F (x, t)

1 + xt.

Ieškome formalaus reiškinio koeficientų

F (x, t) =

∞∑

k=0

ak(x) tk = (1 + xt)

∞∑

k=0

ak(x)xktk.

Iš čia gauname rekurentinį sąryšį koeficientams

ak(x) =xk

1− xk ak−1(x), k = 1, 2, . . .

Pastebėję, kad a0(x) = 1, gauname

a1(x) =x

1− x,

Page 200: AKrylovas_DiskrMatem_20080316

186 5 SKYRIUS. KOMBINATORIKA

a2(x) =x3

(1− x)(1− x2),

a3(x) =x6

(1− x)(1 − x2)(1− x3).

5.3 pratimas. Taikydami matematinės indukcijos principą, įrodyki-te formulę

ak(x) =x(

k+12 )

(1− x)(1− x2) · · · (1− xk) .

Priminsime, kad binominis koeficientas(k+12

)= k (k+1)

2 .

Taigi gavome generuojančiosios funkcijos F (x, t) reiškinį:

F (x, t) = 1 +∞∑

k=1

x(k+12 )

(1− x)(1− x2) · · · (1− xk) tj.

Remdamiesi tos pačios funkcijos F (x, t) apibrėžimu begaline sandauga,gauname

F (x, t) =

∞∏

m=1

(1 + xmt) = limm→+∞

(1 + xt)(1 + x2t) · · · (1 + xmt) =

1 +∞∑

k=1

(··· )tkxn = 1 +

∞∑

k=1

∞∑

n=(k+12 )

Vn,ktkxn.

Taigi turime

∞∑

n=(k+12 )

Vn,kxn =

x(k+12 )

(1− x)(1 − x2) · · · (1− xk) .

Iš čia išplaukia formulė

R(k)n = V

n+(k+12 ),k

Tai reiškia, kad skirtingų būdų užrašyti skaičių n +(k+12

), kaip k skirtingų

dėmenų sumą, yra tiek kiek ir skaičiaus n suskaidymų į ne didesnius už kdėmenis. Pavyzdžiui, kai n = 4 ir k = 2 turime, kad skaičių n galima trimbūdais užrašyti vienetų ir dvejetų suma: 4 = 1+1+1+1 = 1+1+2 = 2+2.Tiek pat yra būdų išreikšti skaičių 4 +

(2+12

)= 7 dviejų skirtingų dėmenų

suma: 7 = 1 + 6 = 2 + 5 = 3 + 4. Taigi V7,2 = R(2)4 = 3.

Page 201: AKrylovas_DiskrMatem_20080316

5.6. REKURENČIOSIOS LYGTYS 187

5.4 pratimas. Patikrinkite, kad

V5+(2+12 ),2 = R

(2)5 = 3.

5.5 testas

1 Raskite skaičių sekos 5,−4, 16,−64, 256,−1024, . . .generuojančiąją funkciją.1© 5x+5

1−4x ; 2© 16x+54x+1 ; 3© 16x+5

1−4x ;4© 5−20x

4x+1 ; 5© 5−20x1−4x ; 6© 5x+5

4x+1 .

2 Raskite skaičių sekos −3,−9, 81,−729, 6561,−59049, . . .generuojančiąją funkciją.1© 3x+3

9x−1 ; 2© 36x+39x−1 ; 3© −36x+3

9x+1 ;4© −3x+3

9x+1 ; 5© 27x−31−9x ; 6© 27x−3

9x+1 .

3 Raskite skaičių sekos H0 = −5, H1 = −4, Hn = 3Hn−1 − 5Hn−2

generuojančiąją funkciją.1© 11x−5

5x2−x+1; 2© 11x−5

9x2−3x+1; 3© 11x−4

5x2−3x+1;

4© 10x−55x2−3x+1

; 5© 11x−55x2−3x+1

.

4 Raskite skaičių sekos G0 = 6, G1 = 8, Gn = −6Gn−1 − 8Gn−2

generuojančiąją funkciją.1© 44x+6

8x2+4x+1; 2© 45x+6

8x2+6x+1; 3© 44x+7

8x2+6x+1;

4© 44x+63x2+6x+1

; 5© 44x+68x2+6x+1

.

5.6. Rekurenčiosios lygtys

5.6.1. Homogeninės lygtys

5.8 apibrėžimas. Tarkime, kad p1, p2, . . ., pk yra žinomi realiejiskaičiai ir pk 6= 0. Lygtis

an+k + p1an+k−1 + p2an+k−2 + · · ·+ pkan = 0 (5.7)

Page 202: AKrylovas_DiskrMatem_20080316

188 5 SKYRIUS. KOMBINATORIKA

vadinama k-osios eilės tiesine homogenine rekurenčiąja lygtimi.Jos sprendinys yra skaičių seka an = a0, a1, . . . , an, . . ..

Pavyzdžiui, Fibonačio skaičių seka (žr. 5.5.3. 183 psl.) yra (5.7) pavidalorekurenčiosios lygties an+2 − an+1 − an = 0 (t. y. k = 2, p1 = p2 = −1)sprendinys.

Pastebėkime, kad jei dvi skaičių sekos a(1)n ir a(2)

n yra (5.7) lygties

sprendiniai, tai ir bet kuris jų tiesinis darinys α1a(1)n +α2a

(2)n bus šios lygties

sprendinys.Tarkime, kad an = λn išpildo (5.7) lygtį. Tada an+k = λn+k = λnλk ir,

įstatant an į (5.7), gauname, kad λ yra charakteristinės lygties

λk + p1λk−1 + p2λ

k−2 + · · ·+ pk−1λ+ pk = 0 (5.8)

šaknis. Taigi, kai charakteristinė lygtis turi k skirtingų šaknų λ1, λ2, . . .,λk, turime (5.7) lygties bendrajį sprendinį

an = C1λn1 + C2λ

n2 + · · ·+ Ckλ

nk .

Matome, kad charakteristinės lygties šaknį λ = 1 atitinka atskirasisrekurenčiosios lygties sprendinys an = C – konstanta. Pastebėkime, kadiš 5.8 apibrėžimo sąlygos pk 6= 0 išplaukia, kad (5.8) charakteristinė lygtisneturi šaknų λ = 0.

5.21 pavyzdys. Išspręskime lygtį an+2 − 4an+1 + 3an = 0 su pradi-nėmis sąlygomis a0 = 2, a1 = 4.Sudarome charakteristinę lygtį λ2 − 4λ + 3 = 0, kurios šaknys yraλ1 = 1 ir λ2 = 3. Bendrasis sprendinys: an = C1 + C23

n. Įstatę į jįpradines sąlygas, gauname a0 = 2 = C1 + C2, a1 = 4 = C1 + C23.Taigi C1 = C2 = 1 ir an = 1 + 3n.

Tarkime, kad charakteristinės lygties šaknis λ0 yra kartotinė kartotinu-mo r. Tada ją atitinka r (5.8) lygties sprendinių:

λn0 , nλn0 , n

2λn0 , . . . , nr−1λn0 .

5.22 pavyzdys. Rekurenčiosios lygties an+2 − 4an+1 + 4an = 0 cha-rakteristinė lygtis

λ2 − 4λ+ 4 = (λ− 2)2 = 0

turi kartotinę šaknį λ0 = 2. Bendrasis šos rekurenčiosios lygties spren-dinys yra

an = 2n(C1 + nC2).

Page 203: AKrylovas_DiskrMatem_20080316

5.6. REKURENČIOSIOS LYGTYS 189

5.6.2. Nehomogeninė lygtis

5.9 apibrėžimas. Tiesine nehomogenine rekurenčiąja lygtimivadiname lygtį

an+k + p1an+k−1 + p2an+k−2 + · · ·+ pkan = ϕ(n), (5.9)

čia ϕ(n) – žinoma funkcija.

Iš bendrosios tiesinių lygčių teorijos yra žinoma, kad (5.9) lygties ben-drasis sprendinys yra (5.7) bendrojo sprendinio ir kokio nors (5.9) lygtiesatskirojo sprendinio suma:

tiesinėsnehomogeninės

lygtiesbendrasis

sprendinys

=

tiesinėshomogeninės

lygtiesbendrasis

sprendinys

+

tiesinėsnehomogeninės

lygtiesatskirasis

sprendinys

Tarkime, kad (5.9) lygties funkcija ϕ(n) yra s-ojo laipsnio polinomas:

ϕ(n) = asns + as−1n

s−1 + · · ·+ a1n+ a0.

Tada šios lygties atskirojo sprendinio galima ieškoti polinomo su neapibrėž-taisiais koeficientais pavidalu. Jei skaičius λ = 1 nėra (5.8) charakteristinėslygties šaknis, atskirojo sprendinio pavidalas bus toks:

a∗n = Asns +As−1n

s−1 + · · ·+A1n+A0.

Nežinomiems s+ 1 koeficientams A0, A1, . . ., As rasti sudaroma algebriniųs+ 1 lygčių sistema.

Kai skaičius λ = 1 yra (5.8) charakteristinės lygties r-ojo kartotinumošaknis, atskirasis sprendinys yra

a∗n = nr(Asn

s +As−1ns−1 + · · · +A1n+A0

).

Pavyzdžiui, rekurenčioji nehomogeninė lygtis

an+2 + pan+1 + qan = αn+ β

turi atskirąjį sprendinį a∗n vieno iš šių trijų pavidalų:1) a∗n = An+B, kai 1 + p+ q 6= 0;2) a∗n = n(An+B), kai 1 + p+ q = 0 ir p 6= −2;3) a∗n = n2(An+B), kai p = −2, q = 1.

Page 204: AKrylovas_DiskrMatem_20080316

190 5 SKYRIUS. KOMBINATORIKA

Tarkime, kad (5.9) nehomogeninės lygties dešinioji pusė ϕ(n) yra laips-ninė funkcija:

ϕ(n) = γ µn.

Tada ši lygtis turi tokį atskirąjį sprendinį

a∗ = Anrµn.

Čia A neapibrėžtasis koeficientas, r = 0, kai skaičius λ = µ nėra (5.8)charakteristinės lygties šaknis. Priešingu atveju r lygus šios šaknies karto-tinumui.

Pavyzdžiui, nehomogeninė rekurenčioji lygtis

an+2 + pan+1 + qan = γ µn

turi atskirąjį sprendinį a∗n vieno iš šių trijų pavidalų:1) a∗n = Aµn, kai µ2 + pµ+ q 6= 0;2) a∗n = nAµn, kai µ2 + pµ+ q = 0 ir 2µ+ p 6= 0;3) a∗n = An2, kai p = −2, q = 1, µ = 1.

5.5 pratimas. Užrašykite (5.9) lygties atskirojo sprendinio pavidalą,kai jos dešinioji pusė yra ši

ϕ(n) = µn(asn

s + as−1ns−1 + · · · + a1n+ a0

).

5.23 pavyzdys. Išspręskime uždavinį

yn+2 − yn = (−1)n, y0 = y1 = 0.

Charakteristinės lygties λ2 − 1 = 0 šaknys yra λ1 = 1 ir λ2 = −1.Todėl homogeninės yn+2 − yn = 0 lygties bendrasis sprendinys y(h)

n =C1 + C2(−1)n. Nehomogeninės lygties atskirojo sprendinio ieškometokiu pavidalu y∗n = An(−1)n. Gauname

y∗n+2 = A(n+ 2)(−1)n+2 = A(n + 2)(−1)n = y∗n + 2A(−1)n.

Todėl 2A = 1 ir A = 12 . Taigi bendrasis nehomogeninės lygties spren-

dinys

yn = y(h) + y∗n = C1 + C2(−1)n +n(−1)n

2.

Atsikrasis sprendinys y0 = y1 = 0 ieškomas taip: y0 = C1 + C2 =

0, y1 = C1 − C2 − 12 = 0. Taigi yn = 1

4 −(−1)n

4 + n(−1)n

2 .

Page 205: AKrylovas_DiskrMatem_20080316

5.6. REKURENČIOSIOS LYGTYS 191

5.6 testas

Išspręskite rekurenčiąją lygtįyn+1 = −yn + 2yn−1 − 300, n > 1,y0 = −56, y1 = −222.

1 Raskite y10.1© 106650; 2© 78100; 3© 4860;4© 38410; 5© 21450; 6© 17010.

2 Raskite y13.1© −86252; 2© −181602; 3© −188722;4© −182092; 5© −200972; 6© −96852.

3 yn =1© −3·(−2)n+o(n); 2© o(2n); 3© 22·(−2)n+O(n);4© 22·(−2)n+o(n); 5© −3n2+O(n).

Išspręskite rekurenčiąją lygtįxn+1 = 2xn − xn−1 − 98, n > 1,x0 = −33, x1 = −35.

4 Raskite x82.1© −296995; 2© −373705; 3© −325655;4© −347305; 5© −312735; 6© −306505.

5 Raskite x83.1© −330983; 2© −283943; 3© −333693;4© −330913; 5© −394893; 6© −352903.

6 xn =1© −49n2+O(n); 2© −77n2+O(n); 3© o(n);4© −49n2+o(n); 5© −77n2+o(n); 6© O(n).

Išspręskite rekurenčiąją lygtįyn+1 = 3yn − 2yn−1 − 72, n > 1,y0 = 94, y1 = 238.

7 Raskite y12.1© 297818; 2© 295798; 3© 314758;4© 309928; 5© 248948; 6© 309448.

8 Raskite y13.1© 560402; 2© 590782; 3© 606542;4© 551582; 5© 495382; 6© 572872.

Page 206: AKrylovas_DiskrMatem_20080316

192 5 SKYRIUS. KOMBINATORIKA

9 yn =1© O(n); 2© 100·2n+o(n); 3© 72·2n+O(n);4© 100n2+O(n); 5© o(n); 6© 72·2n+o(n).

Klausimai ir užduotys

5.1 Suskaičiuokite kiek skirtingų n×m dimensijų matricų galima sudarytiiš elementų 0, 1.

5.2 Įrodykite binominių koeficientų savybes

a)

(n−km−k

)

(nm

) =(m)k(n)k

;

b)

(n+1k

)

(nk

) =n+ 1

n− k + 1;

c)

(nk−r)

(nk

) =(k)r

(n− k + r)r.

5.3 Įrodykite formules

a)

n∑

k=0

1

k + 1

(n

k

)

=1

n = 1

(2n+1 − 1

);

b)

n∑

k=0

(−1)k1

k + 1

(n

k

)

=1

n+ 1;

c)

n∑

k=0

(−1)k

k

(n

k

)

= 1 +1

2+

1

3+ · · ·+ 1

n;

d)n∑

k=0

(n)k(m)k

=m+ 1

m− n+ 1, m > n.

Pastabos ir komentarai

Kombinatorika nagrinėja baigtinių aibių elementų kombinacijas. Nors pirmieji kombina-torikos uždaviniai buvo žinomi jau Senovės Rytų mituose, XVI amžiuje paplitę azartiniailošimai sudomino matematikus ir paskatino kombinacijų analizės metodų atsiradimą.

Skatytojui rekomenduojame lietuvių kalba išleistas kombinatorikos mokymo knygas[52], [53].

Page 207: AKrylovas_DiskrMatem_20080316

6 skyrius

Grafai

6.1. Pagrindiniai apibrėžimai

6.1.1. Multigrafas

Mes jau nagrinėjome sąryšio tarp tos pačios aibės elementų grafinįvaizdavimą (žr. 4.2 pav. 112 psl.). Aibės elementai buvo vadinami grafoviršūnėmis, ryšiai tarp skirtingų elementų – lankais, o ryšis elemento su juopačiu – kilpa. 6.1 paveiksle pavaizduotas bendresnis ryšių atvejis, kai galimikeli ryšiai tarp tų pačių elementų. Šis objektas vadinamas multigrafu1.

Pastebėję, kad multigrafą sudaro jo viršūnės bei lankai, aprašykimejį matematiškai. Tarkime, V = v1, v2, . . . , vn – multigrafo viršūnių aibė.Tada jo lankus galime apibrėžti taip:

l = (vi, vj , zk) ∈ V × V ×N,čia vi – lanko pradžia; vj – jo galas; zk – lanko numeris (žymė); N – natūra-liųjų skaičių aibė. Lankai su tomis pačiomis pradžiomis ir su tais pačiais ga-lais vadinami lygiagrečiaisiais. Taigi lankai l1 = (vi, vj , 1) ir l2 = (vi, vj , 2)yra lygiagretieji. Pastebėkime, kad nelygiagrečiųjų lankų galima nenume-ruoti. Lankas, kurio pradžia ir galas sutampa (t. y. l = (v, v, z)), vadinamaskilpa.

Taigi pažymėję visų multigrafo lankų aibę L = l1, l2, . . . , lm, mato-me, kad tai yra ternarusis sąryšis L ⊂ V × V × N ir visą informaciją apiemultigrafą G teikia aibių pora G = (V,L).

1Literatūroje tokie grafai dažnai vadinami pseudografais, o multigrafu tada vadinamaspseudografas be kilpų.

193

Page 208: AKrylovas_DiskrMatem_20080316

194 6 SKYRIUS. GRAFAI

6.1 pav. Multigrafo pavyzdys

6.1.2. Paprastasis grafas

6.1 apibrėžimas. Multigrafas be kilpų ir lygiagrečiųjų lankų vadina-mas paprastuoju orientuotuoju grafu.

Kadangi paprastojo grafo lankų numeruoti nėra būtina, jie sudaro aibėsV ×V poaibį, kurį vadiname binariuoju sąryšiu. Priminsime (žr. 116 psl.),kad sąryšis L ⊂ V × V vadinamas antirefleksyviuoju, kai (v, v) /∈ L ∀v ∈V . Taigi kilpų nebuvimą galima išreikšti antirefleksyvumu. Apibrėžkimepaprastąjį orientuotąjį grafą G kaip aibių porą G = (V,L), kai L ⊂ V × Vyra antirefleksyvusis sąryšis.

6.1 pavyzdys. Tarkome, kad grafoG viršūnių aibė yra V = a, b, c, d,o jo lankų aibė antirefleksyviuoju sąryšiu L = (a, b), (a, c), (a, d), (c, d),(d, c). Šis paprastasis orientuotasis grafas G = (V,L) pavaizduotas6.2 paveiksle.

6.1.3. Neorientuotasis grafas

Tarkime, kad paprastas orientuotasis grafas G = (V,L) yra simetrinis,t. y. saryšis L turi simetriškumo savybę: (vi, vj) ∈ L ⇒ (vj , vi) ∈ L.Tada dviejų lankų porą (vi, vj), (vj , vi) pakeisime viršūnių vi ir vj poravi, vj ir vadinsime ją grafo briauna. Šiuo atveju viršūnių eilės tvarka

Page 209: AKrylovas_DiskrMatem_20080316

6.1. PAGRINDINIAI APIBRĖŽIMAI 195

6.2 pav. Grafas (a, b, c, d, (a, b), (a, c), (a, d), (c, d), (d, c))

neturi reikšmės ir visų briaunų aibė yra

B = vi, vj, vi, vj ∈ V ⊂ V (2),

V (2) = v1, v2, v1, v3, . . . , vn−1, vn.

6.2 apibrėžimas. Grafą G = (V,B), kai B ⊂ V (2) vadiname papras-tuoju neorientuotuoju grafu.

Toliau nagrinėdami paprastuosius neorientuotuosius grafus, vadinsimejuos tiesiog grafais. Kai kalbėsime apie orientuotuosius grafus, tai bus papil-domai pabrėžta. Pastebėkime, kad toliau formuluojami neorientuotiesiemsgrafams apibrėžimai nesunkiai taikomi ir orientuotiesiems grafams.

Apibrėžimai

Grafo G = (V,B) eile vadinamas skaičius |V | = n.

Grafas G = (V, ∅) vadinamas tuščiuoju (žr. 6.3 pav.) Jis žymimas On,čia n = |V | – grafo eilė.

Grafas G = (∅, ∅) vadinamas nuliniu.

Page 210: AKrylovas_DiskrMatem_20080316

196 6 SKYRIUS. GRAFAI

Grafas G = (v, ∅) vadinamas trivialiuoju. Pastebėkime, kad trivia-lusis grafas yra tuščiasis, bet nėra nulinis.

Grafas, turintis visasn(n− 1)

2briaunas (n = |V |), vadinamas pilnuoju

ir žymimas Kn. Pavyzdžiui, K2 = (a, b, a, b) – antrosios eilės pilnasisgrafas, K3 = (a, b, c, a, b, a, c, b, c) – trečiosios. Penktosios eilėspilnasis grafas pavaizduotas 6.3 paveiksle.

Grafo G = (V,B) viršūnės vi ir vj vadinamos gretimomis, kaivi, vj ∈ B. Pavyzdžiui, grafo

(a, b, c, a, b, b, c)

viršūnės a ir b yra gretimos, o viršūnės a ir c – nėra.

Viršūnės vi ir vj vadinamos incidenčiosiomis briaunai vi, vj.

Briaunos, turinčios bendrą incidenčiąją viršūnę, vadinamos gretimo-mis. Pavyzdžiui, grafo

(1, 2, 3, 4, 1, 3, 1, 4, 2, 3, 2, 4, 3, 4)

briaunos 1, 3 ir 3, 4 yra gretimos, o briaunos 1, 4 ir 2, 3 – nėra.

Pastebėkime, kad gretimumas yra tos pačios (viršūnių arba briaunų)aibės elementų savybė, o incidentumas – skirtingų.

6.1.4. Grafo viršūnių laipsniai

Grafo G = (V,B) viršūnės v ∈ V aplinka vadinama visų jai gretimųviršūnių aibė:

Γ(v) = w ∈ V : v,w ∈ B.

Orientuotojo grafo atveju aibę Γ(v) suskaldome i dvi:

Γ(v) = Γ−(v) ∪ Γ+(v),

kurios atitinka išeinančius bei įeinančius lankus.

Page 211: AKrylovas_DiskrMatem_20080316

6.1. PAGRINDINIAI APIBRĖŽIMAI 197

6.3 pav. Penktosios eilės pilnasis ir tuščiasis grafas

6.3 apibrėžimas. Skaičius p(v) = |Γ(v)| yra vadinamas viršūnės vlaipsniu. Orientuotojo grafo atveju turime p(v) = p(v)− + p(v)+ ≡|Γ−(v)| + |Γ+(v)|. Skaičiai p(v)− ir p(v)+ vadinami išėjimo ir įėjimopuslaipsniais.Orientuotojo grafo viršūnė v vadinama jo įėjimu (išėjimu), kaip+(v) = 0, p−(v) > 0 (p+(v) > 0, p−(v) = 0).

Skaičiuojant grafo briaunas, incidentiškas kiekvienai jo viršūnei, gausimegrafo briaunų skaičių, padauginta iš dviejų (Oilerio2 teorema).

6.1 teorema. Grafo briaunų (lankų) skaičius yra lygus

|B| = 1

2

n∑

i=1

p(vi)

Čia n – grafo eilė, p(vi) – viršūnės vi laipsnis.Įrodymas. Įrodykime teoremą neorientuotajam grafui matematinėsindukcijos metodu (žr. 43 psl.) Pirmosios eilės grafas (n = 1) briaunųneturi (|B| = m = 0). Todėl p(v1) = 0 ir formulė teisinga. Tarkime,kad G = (V,B) yra n-osios eilės grafas. Jei jis yra tuščiasis (B = ∅),formulė yra teisinga. Tarkime, kad |B| = m ir darome prielaidą, kadformulė yra teisinga grafui G. Parodykime, kad formulė bus teisingair grafui G′ = (V,B′), kai B′ = B ∪ vi, vj, t. y. kai pridėsime prie

2Leonhard Euler (1707–1783) – šveicarų matematikas.

Page 212: AKrylovas_DiskrMatem_20080316

198 6 SKYRIUS. GRAFAI

grafo G briaunų aibės dar vieną briauną ir turėsime m = m+ 1. (Čiavi, vj /∈ B). Pažymėkime grafo G′ virsūnių vi, vj laipsnius p(v′i),p(v′j). Turime p(v′i) = p(vi) + 1 ir p(v′j) = p(vj) + 1 ir |Bprime| =

1

2

(n∑

i=1p(vi) + 2

)

= m+ 1. Taigi įrodėme, kad formulė galioja ∀m =

0, 1, . . . , n.Tarkime, kad formulė teisinga n-tosios eilės grafui ir parodykime,

kad tada ji bus teisinga n+1-osios eilės grafui G = (V , B), kai V = V ∪vn+1. Briaunų aibė B gali turėti m elementų, jei nauja viršūnė vn+1

yra izoliuotoji. Tada p(vn+1) = 0 ir formulė bus teisinga. Tarkime,kad p(vn+1) = k (0 6 k 6 n− 1). Tai reiškia, kad nauja viršūnė vn+1

bus incidenčioji su k senomis (grafo G) viršūnėmis. Todėl grafas Gturės m+ k briaunų, o k senų viršūnių laipsnis padidės vienetu. Taigi

|B| = 1

2

n+1∑

i=1

p(vi) =1

2

(n∑

i=1

p(vi) + p(vn+1)

)

= m+1

2(k + k) = m+ k

ir teorema įrodyta.

6.1 pratimas. Įrodykite, kad 6.1 teoremos formulė galioja ir orien-tuotajam grafui.

Pastabos1. Grafo viršūnių laipsnių suma yra lyginis skaičius.2. Viršūnių su nelyginiais laipsniais skaičius yra lyginis.3. Pilnojo neorientuotojo grafo Kn visų viršūnių laipsniai yra n− 1, pilnojoorientuotojo – 2(n− 1).

Grafo viršūnė v vadinama izoliuotąja, kai p(v) = 0.

Viršūnę vadiname nusvirusiąja, jei p(v) = 1.

Grafas vadinamas homogeniniu, kai visų jo viršūnių laipsniai yra lygūs:p(v) = p(w) ∀v,w ∈ V . Pavyzdžiui, tuščiasis (∅) ir pilnasis (Kn) grafai yrahomogeniniai. Pavyzdžiui, grafas (paprastasis 4-ios eilės ciklas)

C4 = (1, 2, 3, 4, 1, 2, 1, 3, 1, 4, 2, 3, 2, 4, 3, 4)yra homogeninis, o grafas

(1, 2, 3, 1, 2, 1, 3)

Page 213: AKrylovas_DiskrMatem_20080316

6.2. GRAFŲ JUNGUMAS 199

nėra homogeninis.Grafas, kurio visų viršūnių laipsniai yra lygūs dviem: p(v) = 2 ∀v ∈ V ,

vadinamas ciklu3 ir žymimas Cn (n = |V |).

6.1 testas

1 Grafas (s, u, s, u) yra 1© nulinis; 2© tuščiasis;3© pilnasis; 4© trivialusis.

2 Grafas (y, u, t, ∅) yra 1© nulinis; 2© trivialusis;3© tuščiasis; 4© pilnasis.

3Kuris grafas yra homogeninis?G1 = (w, r, h, f, w, r, r, h, h, f, w, f, r, f);G2 = (w, r, h, f, w, r, r, f, h, f, w, f, w, h);1© G1; 2© G2; 3© abu grafai; 4© nė vienas.

4Kuris grafas yra homogeninis?G1 = (f, x, p, f, p, p, x);G2 = (f, x, p, s, z, f, x, x, p, p, s, f, z, s, z);1© G1; 2© nė vienas; 3© abu grafai; 4© G2.

6.2. Grafų jungumas

6.2.1. Maršrutai ir grandinės

6.4 apibrėžimas. Grafo maršrutu vadinama bet kuri poromis gre-timų jo briaunų seka.

Taigi maršrutas – baigtinė seka, sudaryta iš grafo G = (V,B) viršūniųir briaunų

vi0 , bi1 , vi1 , bi2 , . . . , vik , bik , vik

taip, kad kiekviena briauna bij = vij−1 , vij ∈ B.

3Čia kalbama apie jungųjį grafą, kai grafas nėra sudarytas iš kelių atskirų komponenčių.Priešingu atveju gausime kelis ciklus.

Page 214: AKrylovas_DiskrMatem_20080316

200 6 SKYRIUS. GRAFAI

6.2 pavyzdys. Pavaizduotas 6.4 pav. grafas turi maršrutą M :

6.4 pav. Maršrutai ir grandinės

a, a, b, b, b, c, c, c, e, e, e, f, f,d, f, d, c, d, c, b, c, b, b, d, d.

Maršrutą M galima užrašyti ir trumpiau:

M = (a, b, c, e, f, d, c, b, d).

Panašiai galime išnagrinėti kitus 6.4 pav. grafo maršrutus:

M1 = (a, b, c, d, f),

M2 = (c, e, g),

M3 = (b, c, e, f, d, b),

M4 = (a, b, d, c, e, f, d, a).

Apibrėžimai

Maršruto viršūnės vi0 ir vik vadinamos galinėmis (terminalinėmis), kitos vir-šūnės vij – vidinėmis.

Maršrutas vadinamas atviruoju, jei jo galinės viršūnės yra skirtingos.Priešingu atveju maršrutą vadiname uždaruoju.

Maršrutas, kurio visos briaunos skirtingos, vadinamas grandine.

Page 215: AKrylovas_DiskrMatem_20080316

6.2. GRAFŲ JUNGUMAS 201

Atviroji grandinė yra vadinama keliu.

Uždarąją grandinę vadiname ciklu.

Grandinę, kurios visos vidinės viršūnės yra skirtingos, vadiname pap-rastąja.

Maršrutas M nėra grandinė, maršrutai M1–M2 yra grandinės. Grandi-nės M1 ir M2 yra keliai, M3, M4 – ciklai. Ciklas M3 yra paprastasis, o M4

– nėra.

6.2.2. Grafo jungiosios komponentės

6.5 apibrėžimas. Grafas vadinamas jungiuoju, jei bet kurias jo vir-šūnes galima sujungti keliu.

Tarkime, kad grafas G = (V,B) nėra jungusis. Tada jo viršūnių aibę Vgalima suskaidyti į blokus V1, V2 (V = V1 ∪ V2, V1 ∩ V2 = ∅) taip, kad

∀v1, v2 ∈ V : v1 ∈ V1 & v2 ∈ V2 ⇒ ∃ v1, v2 ∈ B.

Jei kurių nors dviejų aibės V1 arba V2 viršūnių negalima sujungti keliu,šią aibę vėl skaidome į blokus: V1 = V3 ∪ V4 ir bet kurių viršūnių v3 ∈ V3,v4 ∈ V4 negalima sujungti keliu. Taigi, atlikus baigtinį žingsnių skaičių,gausime tokį viršūnių aibės V skaidinį

V = V1 ∪ V2 ∪ · · · ∪ Vk, Vi ∩ Vj = ∅ ∀i 6= j,

kad bet kurio poaibio Vs ⊂ V viršūnės gali būti sujungtos keliu. Pažymėki-me Bj ⊂ B grafo G = (V,B) briaunų aibės poaibį, sudarytą iš visų briaunų,incidenčiųjų bent vienai viršūnei v ∈ Vj.

6.6 apibrėžimas. Grafą Gj = (Vj , Bj) vadiname grafo G = (V,B)jungiąja komponente.

Pastabos

1. Bet kuris n-ojo laipsnio grafas turi ne daugiau kaip n jungiųjų kompo-nenčių.2. Jei n-ojo laipsnio grafas turi n jungiųjų komponenčių, tai jos yra izoliuo-tosios grafo viršūnės. Taigi šiuo atveju turime tuščiąjį grafą.

Page 216: AKrylovas_DiskrMatem_20080316

202 6 SKYRIUS. GRAFAI

6.5 pav. Grafo jungiosios komponentės

3. Antrosios eilės jungusis grafas turi vieną briauną.4. Trečiosios eilės jungusis grafas turi dvi arba tris briaunas.

6.3 pavyzdys. Grafas (žr. 6.5 pav.)

(1, 2, 3, 4, 5, 6, 7, 1, 2, 1, 3, 2, 3, 3, 4, 6, 7)turi tris jungiąsias komponentes:

G1 = (1, 2, 3, 4, 1, 2, 1, 3, 2, 3, 3, 4),G2 = (5,∅),

G3 = (6, 7, 6, 7).

6.2.3. Jungumo sąryšys

Tarkime, kad G = (V,B) bet kuris grafas. Jo viršūnių aibėje apibrėžkimegrafo jungumo sąryšį ρ ⊂ V 2:

(u,w) ∈ ρ⇔ u = w ∨ ∃(u, vi1 , . . . , vik , w),

t. y. (u,w) priklauso sąryšiui, kai u ir w galima sujungti grandine.Šis saryšis yra ekvivalentumas:

1) ∀v ∈ V : vρv – refleksyvumas;2) vρw ⇒ wρv – simetriškumas;3) vρw & wρu⇒ vρu – tranzityvumas.

Taigi viršūnių aibę V galima suskaidyti į ekvivalentumo klases, kurios iryra grafo jungiosios komponentės.

Page 217: AKrylovas_DiskrMatem_20080316

6.2. GRAFŲ JUNGUMAS 203

Ilgiausias grafo kelias

6.7 apibrėžimas. Kelio ilgiu vadinamas įeinančių į jį briaunų skai-čius.

6.2 teorema. Du maksimalaus ilgio jungiojo grafo keliai turi bentvieną bendrą viršūnę.Įrodymas. Tarkime, kad P1 = (v0, v1, . . . , vk), P2 = (v′0, v

′1, . . . , v

′k)

yra du grafo G = (V,B) maksimalaus ilgio keliai. Kadangi grafas Gyra jungusis, bet kurias dvi jo viršūnes galima sujungti keliu. Pa-imkime tokias dvi grafo viršūnes vi ∈ P1 ir v′j ∈ P2, kad jas būtųgalima sujungti keliu Pa = (vi, . . . , v

′j) taip, kad visos vidinės kelio Pa

viršūnės nepriklausytų nė vienam iš kelių P1 ir P2. Jei to negalimapadaryti – keliai P1 ir P2 turi bent vieną bendrą viršūnę, ir teore-ma būtų įrodyta. Pažymėkime t1 = (v0, v1, . . . , vi), t2 = (vi, . . . , vk),t′1 = (v′0, v

′1, . . . , v

′j), t

′2 = (v′j , . . . , v

′k). Neprarandant bendrumo, ga-

lima tarti, kad |t1| > |t2| ir |t′1| > |t′2|. Tada kelio t1, Pa, t′1 ilgis

|t1|+ |Pa|+ |t′1| > |t1|+ |t2| = k. Taigi gavome prieštaravimą teoremosprielaidai, kad P1 ir P2 yra maksimalaus ilgio keliai.

6.6 pav. Ilgiausi grafo keliai

6.4 pavyzdys. Pavaizduotas 6.6 pav. grafasG = (V,G), V = 1, 2, 3, 4, 5, 6,B = 1, 2, 2, 3, 2, 4, 1, 5, 1, 6, 4, 5 turi maksimalaus ilgiokelius:

P1 = (3, 2, 4, 5, 1, 6), |P1| = 5,

P2 = (6, 1, 2, 4, 5, 1), |P2| = 5.

Taigi šiuo atveju bendrosios viršūnės yra: 1, 2, 4, 5, 6.

Page 218: AKrylovas_DiskrMatem_20080316

204 6 SKYRIUS. GRAFAI

6.2.4. Grafo metrinės charakteristikos

Tarkime, kad G = (V,B) yra jungusis grafas, u,w ∈ V – dvi kurios nors joviršūnės. Sunumeruokime visus šias viršūnes jungiančius kelius:

Pk = (u, vi1 , vi2 , . . . , vilk , w).

6.8 apibrėžimas. Atstumu tarp grafo viršūnių vadinamas trumpiau-sio jas jungiančio kelio ilgis:

ρ(u,w) = mink|Pk(u, . . . , w)|.

Pastebėkime, kad taip apibrėžtas atstumas turi metrikos savybes:1) ρ(u,w) > 0 & ρ(u,w) = 0 ⇔ u = w;2) ρ(u,w) = ρ(w, u) ∀u,w ∈ V ;3) ρ(v, u) + ρ(u,w) > ρ(v,w) ∀v, u,w ∈ V .

Atstumai tarp 6.6 pav. pavaizduoto grafo viršūnių yra: ρ(1, 2) = 1;ρ(3, 6) = 3; ρ(5, 3) = 2.

Atstumo sąvoką galima apibendrinti ir tam atvejui, kai grafas nėra jungu-sis. Tada galima susitarti, kad atstumas tarp viršūnių v ir w, priklausančiųskirtingoms grafo jungiosioms komponentėms, lygusρ(v,w) =∞.

Apibrėžimai

1. Grafo skersmeniu vadinamas maksimalus atstumas tarp grafo viršūnių:

d(G) = maxv,w∈V

ρ(v,w).

2. Viršūnės ekscentricitetu vadinamas jos atstumų nuo kitų grafo vir-šūnių maksimumas:

e(u) = maxv∈V

ρ(v, u).

3. Viršūnė c ∈ V vadinama grafo centru, jei jos ekscentricitetas yraminimalus:

e(c) = minv∈V

e(v).

4. Centro ekscentricitetas vadinamas grafo spinduliu:

r(G) = minv∈V

e(v).

Page 219: AKrylovas_DiskrMatem_20080316

6.2. GRAFŲ JUNGUMAS 205

5. Paprastąją grandinę vadiname skersmenine, jei jos ilgis lygus grafoskersmeniui ir nėra trumpesnio jos galus jungiančio kelio.

6.6 pav. pavaizduoto grafo skersmuo d(G) = 3, spindulys r(G) = 3.Viršūnių ekscentricitetai: e(1) = e(2) = 2; e(3) = e(4) = e(5) = e(6) = 3.Grafo centrai yra viršūnės 1 ir 2. Grandinės (v3, v2, v1, v6) ir (v4, v5, v1, v6)yra skersmeninės.

6.2 testas

1Atstumas tarp grafo(x, u, q, p, x, u, u, q, u, p)viršūnių q ir p lygus1© nuliui; 2© dviem; 3© trims; 4© vienam.

2 Grafo (r, t, z, y, r, t, t, z, z, y, r, y) spindulys lygus1© dviem; 2© vienam; 3© nuliui; 4© trims; 5© keturiems.

3 Grafo (u, s, g, u, s, s, g, u, g) skersmuo lygus1© nuliui; 2© vienam; 3© dviem; 4© keturiems; 5© trims.

4Atstumas tarp grafo(t, y, r, s, t, y, y, r, y, s)viršūnių r ir y lygus1© nuliui; 2© dviem; 3© trims; 4© vienam.

5 Grafo (w, u, q, t, w, u, u, q, w, t) spindulys lygus1© nuliui; 2© keturiems; 3© dviem; 4© trims; 5© vienam.

6 Grafo (v, g, z, r, v, g, g, z, v, z, v, r) skersmuo lygus1© keturiems; 2© trims; 3© dviem; 4© vienam; 5© nuliui.

Page 220: AKrylovas_DiskrMatem_20080316

206 6 SKYRIUS. GRAFAI

G = (V,B), V = q, v, h, l, s,B = h, q, q, s, l, s, s, v, l, q.7 Grafo G viršūnės h ekscentricitetas lygus

1© šešiems; 2© penkiems; 3© trims; 4© vienam;

5© septyniems; 6© dviem; 7© nuliui; 8© keturiems.

8 Grafo G spindulys lygus1© keturiems; 2© penkiems; 3© vienam; 4© dviem;

5© trims; 6© šešiems; 7© nuliui; 8© septyniems.

9

Kuri grafo G grandinėyra skersmeninė?g1 = (v, s, q, h);g2 = (h, q, l, s, v).

1© g2; 2© g1;

3© abi grandinės; 4© nė viena.

10 Grafo G ilgiausio kelio ilgis lygus1© dviem; 2© nuliui; 3© penkiems; 4© vienam;

5© keturiems; 6© trims; 7© šešiems; 8© septyniems.

6.3. Operacijos su grafais

6.3.1. Grafų sąjunga ir sankita

Tarkime, kad turime du grafus G1 = (V1, B1) ir G2 = (V2, B2). KadangiVi ir Bi (i = 1, 2) yra aibės, galime apibrėžti grafų sąjungą ir sankirtą:

G1 ∪G2 = (V1 ∪ V2, B1 ∪B2), G1 ∩G2 = (V1 ∩ V2, B1 ∩B2).

6.5 pavyzdys. Pavaizduotų 6.7 paveiksle grafų

G1 = (1, 2, 3, 4, 1, 2, 1, 4, 2, 3, 2, 4, 3, 4),

G2 = (2, 4, 5, 2, 4, 4, 5)sąjunga ir sankirta yra

G1 ∪G2 = (1, 2, 3, 4, 5, 1, 2, 1, 4, 2, 3, 2, 4, 3, 4, 4, 5),

G1 ∩G2 = (2, 4, 2, 4).

Page 221: AKrylovas_DiskrMatem_20080316

6.3. OPERACIJOS SU GRAFAIS 207

6.7 pav. Dviejų grafų sąjunga ir sankirta

6.3.2. Pografis ir papildinys

Grafas G′ = (V ′, B′) vadinamas grafo G = (V,B) pografiu, jei V ′ ⊂ Vir B′ ⊂ B. Rašome G′ ⊂ G.

6.6 pavyzdys. 6.8 paveiksle pavaizduotas grafas

G = (a, b, c, d, e, f, a, b, a, f, c, e, c, f, d, f, e, f)

ir jo pografis

(a, b, d, e, f, a, f, d, f).

Pastebėkime, kad visos grafo jungiosios komponentės yra jo pografiai.Dar pastebėkime, kad G1 ⊂ G1 ∪G2 ir G1 ∩G2 ⊂ G2.

GrafoG = (V,B) papildinysG apibrėžiamas taip: G = (V,B) (žr. 6.9 pav.).

Pastabos

1. G ∪G = Kn – pilnasis grafas.2. G ∩G = ∅ – tuščiasis grafas.

Grafų ciklinė suma

Grafų G1 = (V1, B1) ir G2 = (V2, B2) cikline suma vadinsime grafąG1 ⊕G2 = (V , B), apibrėžtą taip:

B = v,w : v,w ∈ B1&v,w /∈ B2 ∨ v,w ∈ B2&v,w /∈ B1,V = v ∈ V1 ∪ V2 : ∃v,w ∈ B.

Page 222: AKrylovas_DiskrMatem_20080316

208 6 SKYRIUS. GRAFAI

6.8 pav. Grafas ir jo pografis

Pastebėkime, kad grafas G1 ⊕G2 neturi izoliuotų viršūnių.

6.7 pavyzdys. 6.10 paveiksle pavaizduotų grafų ciklinė suma:

(1, 2, 3, 4, 1, 2, 2, 4, 3, 4) ⊕

(1, 2, 3, 4, 5, 1, 2, 2, 3, 2, 4, 2, 5, 3, 5) =

(2, 3, 4, 5, 2, 3, 2, 5, 3, 4, 3, 5).

6.3.3. Grafo viršūnės pašalinimas

Grafo G = (V,B) viršūnės pašalinimo operacija G − v = (V ′, B′)apibrėžiama taip:

V ′ = V \ v, B′ = B \⋃

w∈V :w,v∈Bw, v,

t. y. iš grafo pašalinama viršūnė v ∈ V ir visos jai incidenčiosios briaunos.

6.8 pavyzdys. 6.11 paveiksle pavaizduotas grafo viršūnės pašalini-mas

(a, b, c, d, e, f, g, h, a, b, a, e, a, f, a, g, a, h, b, c,

c, d, d, e, b, h, g, f) − a =

(b, c, d, e, f, g, h, b, c, c, d, d, e, b, h, g, f).

Page 223: AKrylovas_DiskrMatem_20080316

6.3. OPERACIJOS SU GRAFAIS 209

6.9 pav. Grafas ir jo papildinys

6.10 pav. Grafų ciklinė suma

6.3.4. Grafo briaunos pašalinimas

Apibrėžkime grafo G = (V,B) briaunos pašalinimo operaciją:G − v,w = (V,B \ v,w), t. y. pašalinama tik pati briauna, o jaiincidenčiosios viršūnės paliekamos (žr. 6.12 pav.).

6.3.5. Grafo viršūnių sutapatinimas

Grafo G = (V,B) dvi viršūnės v ir w keičiamos nauja viršūne u, obriaunų aibė papildoma briaunomis taip, kad visos grafo viršūnes, kuriosbuvo gretimos bent vienai viršūnei v arba w, yra gretimos ir viršūnei u(žr. 6.13 pav.).

Page 224: AKrylovas_DiskrMatem_20080316

210 6 SKYRIUS. GRAFAI

6.11 pav. Grafo viršūnės a pašalinimas

6.12 pav. Grafo briaunos pašalinimas

6.4. Grafų skaidumas

6.4.1. Grafo sujungimo taškai

6.9 apibrėžimas. Grafo G = (V,B) viršūnė v ∈ G vadinama jo su-jungimo tašku, jei grafas G− v turi daugiau jungiųjų komponenčiųnegu grafas G.

Trivialusis grafas G = (v, ∅) neturi sujungimo taškų.Grafas, neturintis sujungimo taškų, vadinamas neskaidžiuoju.Visi kiti (nebūtinai jungieji) grafai yra skaidieji. Pavyzdžiui, grafas

(u, v,w, u, v, u,w, v,w) yra neskaidusis, o grafas(u, v,w, u, v, u,w) – skaidusis. Jo viršūnė u yra sujungimo taškas.

6.3 teorema. Viršūnė v ∈ V yra grafo G = (V,B) sujungimo taškastada ir tik tada, kai egzistuoja tokios dvi kitos grafo G viršūnės u,w ∈V , kad viršūnė v priklauso bet kuriai, jungiančiai viršūnes u ir w

Page 225: AKrylovas_DiskrMatem_20080316

6.4. GRAFŲ SKAIDUMAS 211

6.13 pav. Grafo viršūnių v ir w sutapatinimas

grandinei P :

∃u,w ∈ V&u 6= v&w 6= w : v ∈ P ∀P = (u, vi1 , . . . , vik , w).

6.14 pav. Grafo sujungimo taškas v

6.9 pavyzdys. 6.14 paveiksle pavaizduotas jungusis grafas

G = (a, b, c, d, u, v, w, a, b, a, c, a, d, b, c, b, d,

c, d, c, v, v, d, u, v, u,w, v,w).Grafas

G − v = (a, b, c, d, u,w, a, b, a, c, a, d, b, c, b, d, c, d, v, w)

turi dvi jungiąsias komponentes

(a, b, c, d, a, b, a, c, a, d, b, c, b, d, c, d)

Page 226: AKrylovas_DiskrMatem_20080316

212 6 SKYRIUS. GRAFAI

ir(u,w, u,w).

Todėl grafo G viršūnė v yra jo sujungimo taškas.

6.4 teorema. Bet kuris netrivialusis grafas turi mažiausiai dvi viršū-nes, kurios nėra jo sujungimo taškai.Įrodymas. Priminsime, kad trivialiuoju vadinamas grafas (v,∅).Jis turi tik vieną viršūnę ir neturi sujungimo taškų. Antrosios ei-lės grafai (v1, v2,∅) ir (v1, v2, v1, v2) sujungimo taškų neturi.Darome prielaidą, kad teoremos teiginys yra teisingas n-osios eilės gra-fui. Pridėkime prie jo dar vieną viršūnę vn+1 ir tarkime, kad ji yraincidenčioji m (0 6 m 6 n) senoms grafo G viršūnėms. Kai m = 0vn+1 yra izoliuotoji viršūnė ir nėra sujungimo taškas. Kai m = 1,nusvirusioji viršūnė irgi nėra sujungimo taškas. Kai m > 2, vn+1 bussujungimo taškas tada ir tik tada, kai grafas G nėra jungusis ir vn+1 in-cidenčioji viršūnėms iš skirtingų grafo jungiųjų komponenčių. Tačiauvisi seni grafo sujungimo taškai gali tik prarasti tą savybę: pridėjusviršūnę vn+1 seni sujungimo taškai, gali nebelikti sujungimo taškai,bet negali tapti naujais sujungimo taškais. Todėl n + 1 eilės grafasturės mažiausiai tas pačias dvi viršūnes, kurios nebuvo sujungimo taš-kai. Taigi remdamiesi matematinės indukcijos principu, galime teigti,kad teorema įrodyta.

6.3 testas

1 Kiek sujungimo taškų turi grafasG = (q, r, p, t, q, r, r, p, t, r) ?1© keturis; 2© nė vieno; 3© vieną; 4© penkis; 5© du; 6© tris.

2 Kiek sujungimo taškų turi grafasG = (w, s, r, v, w, s, s, r, r, v) ?1© du; 2© tris; 3© vieną; 4© keturis; 5© penkis; 6© nė vieno.

3 Kiek sujungimo taškų turi grafasG = (r, u, x, v, r, u, u, x) ?1© tris; 2© vieną; 3© du; 4© nė vieno; 5© penkis; 6© keturis.

Page 227: AKrylovas_DiskrMatem_20080316

6.4. GRAFŲ SKAIDUMAS 213

6.4.2. Grafo blokai

Tarkime, kad G′ = (V ′, B′) yra tokie grafo G = (V,B) pografiai, kad

∀u, v ∈ V ′ ⊂ V : u, v ∈ B ⇒ u, v ∈ B′,

t. y. grafas G′ turi kai kurias grafo G viršūnes ir visas jas atitinkančiasgrafo G briaunas.

6.10 apibrėžimas. Grafo G maksimalus neskaidusis pografis G′ va-dinamas jo bloku.

6.15 pav. Grafas ir jo blokai

6.10 pavyzdys. 6.15 paveiksle pavaizduotas grafas

G = (1, 2, 3, 4, 5, 6, 7, 1, 2, 1, 3, 1, 4, 2, 4, 3, 4,

2, 5, 4, 6, 4, 7, 6, 7)turi tris blokus

B1 = (1, 2, 3, 4, 1, 2, 1, 3, 1, 4, 2, 4, 3, 4),

B2 = (2, 5, 2, 5),B3 = (4, 6, 7, 4, 6, 4, 7, 6, 7).

Pastebėkime, kad grafas B1 = B1 − 1, 4:

B1 = (1, 2, 3, 4, 1, 2, 1, 3, 1, 4, 3, 4)

Page 228: AKrylovas_DiskrMatem_20080316

214 6 SKYRIUS. GRAFAI

yra neskaidusis, tačiau nėra maksimalus, kadangi prie jo galima pri-dėti briauną 1, 4 ir jis liks neskaidusis grafo G pografis. Todėl B1

nėra grafo blokas. Grafas (1, 2, 4, 1, 2, 1, 4, 2, 4) irgi nėramaksimalus.

6.4 testas

G = (V,B), V = l, w, s, r, p, g, b, v,B = w, r, w, s, s, r, s, l, g, s, p, l, l, g, g, b, g, v, s, b.

1Kuris grafo G pografis yra jo blokas?G1 = (l, g, b, s, s, l, s, b, g, b, l, g, s, g);G2 = (w, r, l, s, w, r, w, s, r, s, l, s).1© nė vienas; 2© G2 ; 3© abu pografiai; 4© G1.

2 Kiek blokų turi grafas G?1© du; 2© vieną; 3© penkis ; 4© šešis;

5© tris; 6© keturis; 7© aštuonis; 8© septynis.

G = (V,B), V = h,w, v, g, y, p, u, l,B = v,w, v, g, g,w, g, h, y, g, p, l,

p, y, h, y, y, u, y, l, g, u.

3Kuris grafo G pografis yra jo blokas?G1 = (v,w, g, v,w, v, g, w, g);G2 = (h, y, u, g, g, h, g, u, y, u, h, y, g, y).1© G1; 2© G2; 3© nė vienas; 4© abu pografiai.

4 Kiek blokų turi grafas G?1© du; 2© tris; 3© penkis; 4© keturis;

5© septynis; 6© vieną; 7© šešis; 8© aštuonis.

Medžiai ir miškai

6.11 apibrėžimas. Jungusis ir neturintis ciklų (aciklinis) grafas va-dinamas medžiu.

Grafas yra medis tada ir tik tada, kai bet kurias dvi jo viršūnes galimasujungti vienintele grandine.

Page 229: AKrylovas_DiskrMatem_20080316

6.4. GRAFŲ SKAIDUMAS 215

6.5 teorema. Bet kuris n-osios eilės medis (|V | = n) turi lygiai n−1briauną (|B| = n− 1).

6.16 pav. Dviejų medžių miškas

6.12 apibrėžimas. Aciklinis grafas, turintis k jungiųjų komponen-čių, vadinamas k medžių mišku (žr. 6.16 pav.).

6.6 teorema. Miškas iš k medžių turi lygiai n− k briaunų.

6.4.3. Skiriančioji aibė ir kirpis

6.13 apibrėžimas. Grafo briauną vadiname siejančiąja arba tiltu,kai, pašalinus ją iš grafo, didėja jo jungiųjų komponenčių skaičius.

6.5 testas

1Kuris grafas yra medis?G1 = (y, q, w, y, q, q, w);G2 = (y, q, w, y, q, q, w, y,w).

1© abu grafai;2© G2;3© nė vienas;4© G1.

2 Kiek siejančiųjų briaunų turi grafasG = (u, s, t, p, u, s, s, t, t, p) ?1© nė vienos; 2© tris; 3© šešias; 4© vieną;5© dvi; 6© keturias; 7© penkias.

Page 230: AKrylovas_DiskrMatem_20080316

216 6 SKYRIUS. GRAFAI

3Kuris grafas yra medis?G1 = (y, p, v, y, p, p, v);G2 = (y, p, v, r, y, p, p, v, y, r).

1© G2;2© nė vienas;3© abu grafai;4© G1.

4 Kiek siejančiųjų briaunų turi grafasG = (s, v, r, w, s, v, v, r, r, w, s,w) ?1© tris; 2© šešias; 3© vieną; 4© keturias;5© nė vienos; 6© dvi; 7© penkias.

6.14 apibrėžimas. Jungiojo grafo G = (V,B) briaunų aibės poaibisS ⊂ B vadinamas skiriančiąja aibe, jei grafas G′ = (V,B \ S) nėrajungusis.

6.15 apibrėžimas. Minimalioji skiriančioji aibė (iš kurios negalimapašalinti nė vienos briaunos) vadinama kirpiu. Taigi K ⊂ B yrakirpis, jei K yra skiriančioji aibė, o ∀P ⊂ K & P 6= K – nėra.

Siejančioji briauna yra ne tik skiriančioji aibė, bet ir kirpis.

6.11 pavyzdys. 6.17 pav. pavaizduoto grafo briaunų aibės poaibis2, 4, 2, 3, 3, 4, 3, 7, 6, 7 yra skiriančioji aibė, bet nėra kir-pis.

Aibė 2, 4, 3, 4, 6, 7 yra kirpis. Siejančiųjų briaunų šis gra-fas neturi.

6.6 testas

Page 231: AKrylovas_DiskrMatem_20080316

6.4. GRAFŲ SKAIDUMAS 217

6.17 pav. Skiriančioji aibė ir kirpis

G = (V,B), V = u, b, g, t, d, z, l, a,B = t, b, t, l, l, b, b, u, g, l, g, a, a, z, z, u, z, d.

1Kuri aibė yra grafo G skiriančioji aibė?S1 = g, a, l, b, b, u;S2 = l, g, t, l.

1© S2 ; 2© nė viena;

3© S1 ; 4© abi aibės.

2Kuri aibė yra grafo G kirpis?K1 = l, g, u, z;K2 = b, u, l, g.

1© K2 ; 2© K1 ;

3© nė viena; 4© abi aibės.

G = (V,B), V = c, v, u, f, g, z, l, s,B = f, v, f, c, c, v, z, v, c, z, z, l, z, u, l, u, l, g, g, s, u, s.

3Kuri aibė yra grafo G skiriančioji aibė?S1 = v, z, l, z, z, u;S2 = f, c, z, v, z, u.

1© abi aibės; 2© nė viena;

3© S1 ; 4© S2 .

4Kuri aibė yra grafo G kirpis?K1 = l, g, l, u, u, s;K2 = v, f, c, f, z, v.

1© K1 ; 2© abi aibės;

3© nė viena; 4© K2 .

Page 232: AKrylovas_DiskrMatem_20080316

218 6 SKYRIUS. GRAFAI

G = (V,B), V = p, v, e, c, q, s, y, d,B = v, p, v, e, e, p, p, q, c, e, c, y, y, s, s, q, s, d.

5Kuri aibė yra grafo G skiriančioji aibė?S1 = e, p, e, c;S2 = e, c, q, p, p, v.

1© nė viena; 2© abi aibės;

3© S2 ; 4© S1 .

6Kuri aibė yra grafo G kirpis?K1 = e, c, q, p;K2 = q, s, s, d.

1© K2 ; 2© abi aibės;

3© nė viena; 4© K1 .

6.5. Grafo ciklai

6.5.1. Karaliaučiaus tiltų uždavinys

Karaliaučius yra išsidėstęs Priegliaus upės krantuose ir dviejose jos salose(žr. 6.18 pav.). Krantai ir salos buvo sujungtos septyniais tiltais taip, kaipparodyta scheminiame miesto plane.

6.18 pav. Karaliaučiaus tiltai

Karaliaučiaus gyventojai mėgdavo pasivaikščioti po tiltus. Ar egzistuojatoks maršrutas, kad išėjus iš namų būtų galima grįžti namo, perėjus perkiekvieną tiltą lygiai po vieną kartą? Oileris 4 1736 m. išsprendė šį galvosūkį.

6.5.2. Oilerio grafas

Karaliaučiaus tiltų uždavinį galima pavaizduoti grafu (žr. 6.20 pav.220 psl.). Pastebėkime, kad tai iš tikrųjų yra multigrafas, tačiau toliau

4žr. 197 psl.

Page 233: AKrylovas_DiskrMatem_20080316

6.5. GRAFO CIKLAI 219

dėstoma teorija galioja ir jiems. Įrodymui galima paimti ant kurios nors išpasikartojančių briaunų po vieną papildomą viršūnę (fiktyviąją viršūnę) irturėsime paprastąjį grafą.

6.16 apibrėžimas. Grafo ciklas, einantis per visas grafo briaunas,yra vadinamas Oilerio ciklu. Grafą, turintį Oilerio ciklą, vadinameOilerio grafu.

Taigi reikia atsakyti į klausimą, ar 6.20 pav. (220 psl.) pavaizduotasgrafas yra Oilerio grafas.

6.1 lema. Jei visų grafo viršūnių laipsniai yra ne mažesni už 2, taigrafas turi bent vieną ciklą.Įrodymas. Tarkime, v yra bet kuri grafo viršūnė. Kadangi jos laipsnisp(v) > 2, egzistuoja jai gretima viršūnė v1, kuri irgi turi gretimą v2. Jeiv2 = v turime ciklą. Jei ne – galime tęsti grandinę tol, kol nesutiksimejau buvusios viršūnės. Tada turėsime ciklą. Kadangi viršūnių skaičiusyra |V | = n, bus padaryta ne daugiau kaip n žingsnių.

6.7 teorema. Jungusis neorientuotasis grafas turi Oilerio ciklą tadair tik tada, kai visų grafo viršūnių laipsniai yra lyginiai skaičiai.Įrodymas. Būtinumas. Grafas turi ciklą, einantį per visas grafo briau-nas lygiai po vieną kartą. Nurodykime judėjimo ciklu kryptį ir suskai-čiuokime, kiek kartų pereinama per kiekvieną viršūnę. Fiksuojameciklo pradžią v0 (tai gali būti bet kuri viršūnė). Į kitą viršūnę v1įeinama viena briauna, o išeinama – kita (briaunos negali kartotis).Todėl viršūnės laipsnis p(v1) > 2. Visų kitų ciklo viršūnių laipsniamsirgi galioja nelygybė p(vj) > 2. Jei grįžtame į kurią nors jau buvusiąviršūnę, tai įeiname į ją trečiąja briauna, o išeiname – ketvirtąja. Tai-gi p(vj) > 4. Pereinant per visas ciklo briaunas, gaunama, kad iš visųviršūnių išeita tiek kartų, kiek ir įeita. Kadangi nepereitų briaunųgrafas neturi, tai visi laipsniai yra lyginiai.

Pakankamumas. Pagal įrodytą lemą grafas turi ciklą, kurį pažymė-kime C1 (žr. 6.19 pav.). Pašaliname iš grafo visas ciklo C1 briaunas.Jei po šito nelieka neizoliuotųjų grafo viršūnių, tai C1 yra Oileriociklas. Tarkime, kad neizoliuotosios viršūnės liko. Tada jų laipsniaiyra lyginiai (po briaunų pašalinimo jie galėjo sumažėti 2, 4 ir t. t.).Pašaliname izoliuotąsias viršūnes ir vėl konstruojame ciklą C2. Jeipo jo briaunų pašalinimo grafas nebeturi neizoliuotųjų viršūnių, taiC1 ∪C2 yra Oilerio ciklas. Priešingu atveju procesą galime tęsti ir pobaigtinio žingsnių skaičiaus gausime Oilerio ciklą (žr. 6.19 pav.)

Page 234: AKrylovas_DiskrMatem_20080316

220 6 SKYRIUS. GRAFAI

C = C1 ∪C2 ∪ · · · ∪ Ck, Ci ∩Cj = ∅.

6.19 pav. Oilerio ciklo egzistavimo įrodymas

6.12 pavyzdys. Suskaičiuokime 6.20 pav. grafo viršūnių laipsnius:p(A) = 3; p(B) = 5; p(C) = 3; p(D) = 3. Matome, kad grafasneišpildo 6.7 teoremos reikalavimų ir todėl neturi Oilerio ciklo.

6.20 pav. Karaliaučiaus tiltų grafas ir grafas su fiktyviosiomis viršūnėmis

6.17 apibrėžimas. Oilerio keliu vadinama per visas grafo briaunaseinanti atviroji grandinė.

Page 235: AKrylovas_DiskrMatem_20080316

6.5. GRAFO CIKLAI 221

Jei šios grandinės galus sujungsime briauna, gausime Oilerio ciklą. Tai-gi jei dvi grafo viršūnės turi nelyginius laipsnius, o visų kitų laipsniai yralyginiai, tai grafas turi Oilerio kelią. Iš čia išplaukia, kad voką (6.21 pav.)galima nupiešti, neatitraukant pieštuko nuo popieriaus bei nepiešiant tų pa-čių linijų kelis kartus.

6.21 pav. Voko galvosūkis

Orientuotasis grafas turi Oilerio ciklą tada ir tik tada, kai visos joviršūnės išpildo sąlygą

p+(v) = p−(v), ∀v ∈ V.

6.5.3. Oilerio ciklo konstravimas

Pateiksime Oilerio ciklo konstravimo algoritmą:1) imame bet kurią grafo viršūnę v ∈ V ;2) imame gretimą v viršūnę w ∈ V ;jei gretimų viršūnių nėra – procesą baigiame;3) patikrinama, ar briauna v,wyra siejančioji (tiltas);4) jei v,w nėra siejančioji, – ji pašalinama;5) jei v,w yra siejančioji briauna, – ieškomekitos gretimos viršūnės,t. y. pereiname prie 2);6) jei v,w yra siejančioji briaunair kitų gretimų viršūnių nėra, –pašaliname šią briauną ir kartojameprocesą su viršūne w (pereiname prie 2).

Taigi Oilerio ciklą sudarys grandinė iš pašalintų viena po kitos briaunų.

6.7 testas

Page 236: AKrylovas_DiskrMatem_20080316

222 6 SKYRIUS. GRAFAI

Paveiksle pavaizduotasaštuntosios eilėsjungusis grafas.Pažymėkime djjo viršūnių laipsnius.

1 d6 =1© 9; 2© 8; 3© 2; 4© 5;5© 0; 6© 6; 7© 3; 8© 10.

2 maxj=1,2,...,8

dj = 1© 5; 2© 16; 3© 10; 4© 4;5© 6; 6© 8; 7© 7; 8© 13.

38∑

j=1dj = 1© 26; 2© 23; 3© 20; 4© 18;

5© 50; 6© 28; 7© 12; 8© 56.

4 Šis grafas1© turi Oilerio kelią;2© turi Oilerio ciklą;3© neturi nei Oilerio ciklo, nei Oilerio kelio.

Page 237: AKrylovas_DiskrMatem_20080316

6.5. GRAFO CIKLAI 223

Paveiksle pavaizduotasaštuntosios eilėsjungusis grafas.Pažymėkime djjo viršūnių laipsnius.

5 d3 =1© 7; 2© 6; 3© 2; 4© 9;5© 10; 6© 11; 7© 8; 8© 3.

6 minj=1,2,...,8

dj = 1© 10; 2© 3; 3© 8; 4© 2;5© 11; 6© 7; 7© 6; 8© 4.

78∑

j=1dj = 1© 12; 2© 26; 3© 20; 4© 32;

5© 48; 6© 5; 7© 24; 8© 14.

8 Šis grafas1© neturi nei Oilerio ciklo, nei Oilerio kelio;2© turi Oilerio kelią;3© turi Oilerio ciklą.

6.5.4. Hamiltono grafas

6.18 apibrėžimas. Paprastoji grandinė (ciklas), einanti (-is) per vi-sas grafo viršūnes, vadinama (-as) Hamiltono5 grandine (ciklu).

Grafas, turintis Hamiltono ciklą, vadinamas Hamiltono grafu.

Pavaizduotame (6.22 pav.) grafe Hamiltono ciklas nėra Oilerio ciklas,kadangi eina ne per visas grafo briaunas.

Jei briaunų yra pakankamai daug, grafas turi Hamiltono ciklą. Mate-matiškai tai galima suformuluoti taip: jei p(v) > n

2 ∀v ∈ V , tai grafasyra Hamiltono. Iš čia išplaukia, kad pilnasis grafas (p(v) = n − 1) turiHamiltono ciklą. Pastebėkime, kad tai pakankama, bet nėra būtina sąlyga:grafas ciklas Cn yra Hamiltono (ir Oilerio) ciklas, nors p(v) = 2.

5William Rowan Hamilton (1805–1865) – airių matematikas ir astronomas.

Page 238: AKrylovas_DiskrMatem_20080316

224 6 SKYRIUS. GRAFAI

6.22 pav. Hamiltono ciklas

6.5.5. Briauninis grafas

6.19 apibrėžimas. Grafo G = (V,B) briauniniu grafu vadinamasgrafas Gb = (Vb, Bb), kurio viršūnių aibė turi tiek elementų, kiek briau-nų turi grafas G: |Vb| = |B|, ir jo viršūnės yra gretimos, jei buvogretimos atitinkamos grafo G briaunos:

vb, wb ∈ Bb ⇔ vb = vi, vj, wb = wi, wj&(vi = wi ∨ vi = wj ∨ vj = wi ∨ vj = wj) .

6.23 pav. Grafas ir jo briauninis grafas

Page 239: AKrylovas_DiskrMatem_20080316

6.5. GRAFO CIKLAI 225

6.8 teorema. Briauninis grafas turi1

2

n∑

i=1p2(vi) − m briaunų (m =

|B|).

6.13 pavyzdys. Pavaizduoto 6.23 pav. grafo viršūnių laipsniai:

p(1) = 2, p(2) = 3, p(3) = 2, p(4) = 2, p(5) = 3, m = 6.

Taigi

1

2

(22 + 32 + 22 + 22 + 32

)− 6 = 9.

6.9 teorema. Oilerio grafo G briauninis grafas Gb turi ir Oilerio, irHamiltono ciklą.

6.10 teorema. Hamiltono grafo briauninis grafas irgi yra Hamiltonografas.

6.8 testas

Page 240: AKrylovas_DiskrMatem_20080316

226 6 SKYRIUS. GRAFAI

Grafas G su viršūnėmis 1, 2, . . . , 6 apibrėžtas savo briaunomis:r = 1, 2, h = 1, 4, b = 1, 5, y = 2, 3,u = 2, 4, p = 2, 5, i = 2, 6, z = 3, 4.1 Grafo G briauninis grafas Gb pavaizduotas paveiksle

1© ; 2©

Page 241: AKrylovas_DiskrMatem_20080316

6.5. GRAFO CIKLAI 227

Grafas G su viršūnėmis 1, 2, . . . , 6 apibrėžtas savo briaunomis:j = 1, 2, e = 1, 5, k = 2, 3, n = 2, 4,c = 2, 5, v = 2, 6, a = 4, 5, w = 5, 6.2 Grafo G briauninis grafas Gb pavaizduotas paveiksle

1© ; 2©

6.5.6. Grafo nepriklausomi ciklai

Tarkime, kad G yra bet kuris (orientuotasis arba neorientuotasis) grafas(arba multigrafas). Jei jis nėra orientuotasis – suteiksime jo briaunomsorientaciją (bet kurią). Pažymėkime M = (vi0 , vi1 , . . . , vik , vi0) – uždarąjį

maršrutą. Uždarojo maršruto M vektoriumi ciklu−→M ∈ Rm, m = |B|

vadinamas toks vektorius:

−→M = (c1, c2, . . . , cm), cj = rj − lj ,

čia rj yra j-osios briaunos praėjimų teigiama kryptimi skaičius;lj – šios briaunos praėjimų skaičius neigiama kryptimi.

Visoms 6.24 pav. pavaizduoto grafo briaunoms nustatytoskryptys. Raskime uždarojo maršruto M = (1, 2, 3, 4, 5, 7, 3, 2, 7, 6, 1) vekto-

Page 242: AKrylovas_DiskrMatem_20080316

228 6 SKYRIUS. GRAFAI

rių ciklą−→M . Sunumeruokime visas grafo briaunas:

1, 2 − 1, 2, 3 − 2, 3, 4 − 3, 4, 5 − 4,

5, 6 − 5, 1, 6 − 6, 2, 6 − 7, 2, 7 − 8,

3, 7 − 9, 3, 5 − 10, 5, 7 − 11, 6, 7 − 12

ir suskaičiuokime, kiek kartų praeinama kiekviena briauna:

−→M = (1, 1− 1, 1, 1, 0, 1, 0,−1,−1, 0,−1,−1) =

(1, 0, 1, 1, 0, 1, 0,−1,−1, 0,−1,−1).

6.24 pav. Nepriklausomi ciklai

6.20 apibrėžimas. Uždarieji maršrutai M1, M2, . . ., Mk vadinaminepriklausomais, jei atitinkami vektoriai ciklai

−→M1,

−→M2, . . .,

−→Mk

yra tiesiškai nepriklausomi.

6.14 pavyzdys. Nustatykime, ar ciklai m1 = (1, 2, 6, 1), m2 = (1, 2, 7, 6, 1)ir m3 = (2, 7, 6) yra nepriklausomi. Surašome vektorius ciklus:

−→m1 = (1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0),−→m2 = (1, 0, 0, 0, 0, 1, 0,−1, 0, 0, 0,−1),−→m3 = (0, 0, 0, 0, 0, 0,−1,−1, 0, 0, 0,−1).

Sudarome iš šių vektorių koordinačių matricą

A =

1 0 0 0 0 1 1 0 0 0 0 01 0 0 0 0 1 0 −1 0 0 0 −10 0 0 0 0 0 −1 −1 0 0 0 −1

Page 243: AKrylovas_DiskrMatem_20080316

6.5. GRAFO CIKLAI 229

ir apskaičiuojame jos rangą6:

A ∼

1 1 1 0 01 1 0 −1 −10 0 −1 −1 −1

1 1 1 0 01− 1 0− 1 0− 1 −1− 0 −1− 0

0 0 −1 −1 −1

1 1 1 0 00 0 −1 −1 −10 0 −1 −1 −1

(1 1 1 0 00 0 −1 −1 −1

)

∼(

1 1 00 −1 −1

)

∼(

1 1 1 0 00 0 −1 −1 −1

)

∼(

1 1 00 0 −1

)

∼(

1 00 −1

)

∼(

1 00 1

)

.

Gavome rankA = 2. Todėl tarp vektorių −→m1, −→m2, −→m3 yra tik dutiesiškai nepriklausomi. Taigi ciklai m1, m2 ir m3 nėra nepriklausomi.

6.5.7. Grafo ciklomatinis skaičius

Tarkime, kad grafas G = (V,B) turi k jungiųjų komponenčių,|V | = n, |B| = m.

6.21 apibrėžimas. Grafo G ciklomatiniu skaičiumi vadinamasskaičius

ν(G) = m− n+ k.

6.15 pavyzdys. Raskime 6.25 pav. pavaizduoto grafo ciklomatinįskaičių:

k = 4, n = 10, m = 8, ν(G) = 8− 10 + 4 = 2.

6Žr. bet kurį tiesinės algebros vadovėlį.

Page 244: AKrylovas_DiskrMatem_20080316

230 6 SKYRIUS. GRAFAI

6.25 pav. Grafo ciklomatinis skaičius

6.11 teorema. Bet kurio grafo ciklomatinis skaičius yra neneigiamas.Įrodymas. Apskaičiuokime nulinio bei tuščiojo grafų ciklomatiniusskaičius: ν(∅) = 0− 0 + 0 = 0, ν(v0) = 0− 1 + 1 = 0. Parodykime,kad teorema galioja bet kuriam antrosios eilės grafui. Šiuo atveju galibūti G1 = (v1, v2, ∅) arba G2 = (v1, v2, v1, v2). Taigi ν(G1) =0−2+2 = 0 ir ν(G2) = 1−2+1 = 0. Tarkime, kad teorema yra teisingabet kuriam n-osios eilės grafui. Prijungiame prie grafo vieną izoliuotąviršūnę ir gauname (n + 1)-osios eilės grafą. Jis turės k + 1 jungiąjąkomponentę ir tiek pat (t. y. m) briaunų. Turime ν ′ = m − (n +1)+ (k+ 1) = ν. Sujungiame šią naują viršūnę su bet kuria kita grafoviršūne. Tada briaunų skaičius bus m + 1, o jungiųjų komponenčiųskaičius liks arba tas pats, arba sumažės vienetu. Pirmuoju atvejuturime ν ′ = m+ 1 − n + k = ν + 1. Antruoju atveju – ν ′ = m + 1−n + k − 1 = ν. Taigi (n + 1)-osios eilės grafui irgi galioja teorema, irpagal matematinę indukciją teorema yra įrodyta.

6.12 teorema. Bet kuris grafas (multigrafas) turi lygiai ν(G) nepri-klausomų ciklų (uždarųjų maršrutų).

6.16 pavyzdys. 6.25 pav. pavaizduotas grafas turi du nepriklauso-mus ciklus (1, 2, 3, 4, 1) ir (5, 6, 7, 5).

Page 245: AKrylovas_DiskrMatem_20080316

6.5. GRAFO CIKLAI 231

Pastabos

1. Grafas G neturi ciklų tada ir tik tada, kai ν(G) = 0.2. Jungusis grafas G yra medis tada ir tik tada, kai ν(G) = 0.3. Grafas G yra k-miškas tada ir tik tada, kai jis turi k jungiųjų kompo-nenčių ir ν(G) = 0.4. Grafas G turi vieną ciklą tada ir tik tada, kai ν(G) = 1.

6.22 apibrėžimas. ν(G) nepriklausomų grafo G ciklų rinkinį C1,C2, . . ., Cν vadiname ciklų baze. Ciklai Cj vadinami baziniais.

6.13 teorema. Bet kurį grafo G ciklą C ⊂ G galima išreikšti bazi-niais ciklais:

C = Ci1 ⊕ Ci2 ⊕ · · · ⊕Cir .

6.26 pav. Grafo ciklų bazė

6.17 pavyzdys. Išnagrinėkime 6.26 pav. grafą. Jo ciklomatinis skai-čius ν = 6 − 5 + 1 = 2. Ciklai C1 = (a, b, c, d, e, a) ir C2 = (d, e, a, d)yra nepriklausomi ir todėl sudaro ciklų bazę. Ciklą C = (a, b, c, d, a)išreiškiame: C = C1 ⊕ C2.

6.9 testas

Page 246: AKrylovas_DiskrMatem_20080316

232 6 SKYRIUS. GRAFAI

1 Grafo (z, s, w, u, z, s, z, w, s,w, s, u)ciklomatinis skaičius lygus1© trims; 2© nuliui; 3© dviem; 4© vienam; 5© keturiems.

2

Kurie ciklai:C1 = (u, s, q, f, u); C2 = (u, s, q, u); C3 = (u, f, s, u)sudaro grafo(u, s, q, f, g, u, s, u, q, s, q, u, f, q, f, f, s)ciklų bazę?1© C1 ; 2© C1, C2, C3 ; 3© C1, C2, C1, C3 ;

4© C1, C3 ; 5© C3 ; 6© C1, C3, C2, C3 ;

7© nenurodyta; 8© C1, C2, C1, C3, C2, C3 ; 9© C2 .

3

Kiek tarp pilnojo grafo K5 ciklųC1, C2, C3, C4, C5

yra nepriklausomų ?C1 = v1, v3, v5, v2, v4, v1, C2 = v1, v3, v4, v1, C3 = v3, v2, v4, v3,C4 = v1, v5, v2, v4, v1, C5 = v5, v4, v1, v2, v5.1© 5; 2© 2; 3© 7; 4© 4; 5© 3; 6© 0; 7© 1.

4 Kiek nepriklausomų ciklų turi grafo K58 briauninis grafas?1© 4865; 2© 27786; 3© 71913; 4© 55736;5© 38810; 6© 3167; 7© 90916.

Grafas G apibrėžtas savo viršūnių gretimumo aibėmis:Γ(i) = t, g, Γ(m) = o, g, Γ(o) = y, g, t,m,Γ(y) = o, g, Γ(t) = o, i, g, Γ(g) = o,m, y, t, i .

5 Kiek nepriklausomų ciklų turi grafas G ?1© 1; 2© 6; 3© 9; 4© 2; 5© 10; 6© 5; 7© 12; 8© 4.

Page 247: AKrylovas_DiskrMatem_20080316

6.6. GRAFO STABILIEJI POAIBIAI 233

6.6. Grafo stabilieji poaibiai

6.6.1. Vidinis stabilumas

6.23 apibrėžimas. Grafo G = (V,B) viršūnių aibės poabis S ⊂ Vvadinamas stabiliuoju iš vidaus,7 jei bet kurios dvi jo viršūnės nėragretimos grafo viršūnės:

v, u /∈ B ∀v, u ∈ S.

6.27 pav. Stabilieji iš vidaus poaibiai

6.18 pavyzdys. 6.27 pav. pavaizduotas grafas turi stabiliuosius išvidaus aibės V poaibius S1 = a, c; S2 = a, e; S3 = a, c, e.

Akivaizdu, kad bet kuris poaibis vj ⊂ V visada yra stabilusis iš vidaus.Poaibiai, turintys dvi viršūnes vj , vk ⊂ V , gali nebūti stabilieji iš vidaus.Nagrinėjamas grafas turi vieną stabilųjį iš vidaus poaibį, turintį tris viršūnes,ir neturi nė vieno – su keturiomis viršūnėmis.

Bendruoju atveju svarbu rasti stabilųjį iš vidaus poaibį, turintį kuo dau-giau viršūnių. Pažymėkime FV – visų stabiliųjų iš vidaus poaibių aibę.

6.24 apibrėžimas. Grafo vidinio stabilumo skaičiumi vadinameskaičių

α(G) = maxS∈FV

|S|.

7Literatūroje tokie poaibiai dar vadinami nepriklausomais.

Page 248: AKrylovas_DiskrMatem_20080316

234 6 SKYRIUS. GRAFAI

Pastebėkime, kad visais atvejais 0 6 α(G) 6 n.

6.14 teorema.

α(G) >

n∑

i=1

1

1 + p(vi).

6.27 pav. pavaizduotas grafas turi vidinio stabilumo skaičiųα(G) = 3. Apskaičiuokime teoremos reiškinį šitam grafui:

1

1 + 3+

1

1 + 2+

1

1 + 3+

1

1 + 1+

1

1 + 1=

1

4+

1

3+

1

4+

1

2+

1

2=

11

6.

Aštuonių valdovių uždavinys

Šachmatų lentoje reikia išdėstyti kuo daugiau valdovių taip, kad josnekirstų viena kitos. (Valdovės kerta visus savo horizontalės, vertikalės beiįstrižainių langelius.) Vienas šio galvosūkio sprendinys pateiktas 6.28 pav.

6.28 pav. Aštuonių valdovių uždavinys

Uždavinio matematinis modelis yra grafas G = (V,B), kurio viršūnessudaro visi 64 šachmatų lentos langeliai: V = a1, a2, . . . , h8. Briaunųaibė sudaroma taip, kad dvi viršūnės vi, vj ∈ V yra gretimos, jei esantilangelyje vi valdovė gali kirsti langelį vj . Pavyzdžiui, viršūnei a1 gretimosviršūnės yra a2, a3, . . ., a8, b1, c1, . . ., h1, b2, c3, . . ., h8. Išspręsti šį uždavinį– tai rasti viršūnių aibės V stabilųjį iš vidaus poabį. Vienas toks poaibis

Page 249: AKrylovas_DiskrMatem_20080316

6.6. GRAFO STABILIEJI POAIBIAI 235

pavaizduotas paveiksle a7, b2, c6, d3, e1, f4, g8, h5. Akivaizdu, kad tokspoaibis negali turėti daugiau kaip aštuonias viršūnes. Taigi nagrinėjamografo vidinio stabilumo skaičius α(G) = 8.

6.6.2. Išorinis stabilumas

6.25 apibrėžimas. Grafo G = (V,B) viršūnių aibės poabis S ⊂ Vvadinamas stabiliuoju iš išorės,8 jei bet kuri nepriklausanti šiampoaibiui grafo viršūnė u yra gretima kuriai nors poaibio viršūnei v ∈ S:

∀u ∈ V \ S ∃v ∈ S : v, u ∈ B.

6.29 pav. Stabilieji iš išorės poaibiai

6.19 pavyzdys. 6.29 pav. pavaizduotas grafas turi stabiliuosius išišorės aibės V poaibius 1, 3, 4, 6, 1, 4, 6, 3, 4.

Visų grafo viršūnių aibė V yra stabilioji iš išorės. Todėl reikia rastistabilųjį jos poaibį, turintį kuo mažiau viršūnių. Nagrinėjamame 6.19 pa-vyzdyje yra toks poaibis, turintis dvi viršūnes, bet nėra poabių, turinčiųvieną viršūnę.

Pažymėkime FI – visų stabiliųjų iš išorės poaibių aibę.

6.26 apibrėžimas. Grafo išorinio stabilumo skaičiumi vadina-me

β(G) = minS∈FI

|S|.

8Literatūroje tokie poaibiai dar vadinami dominuojančiais.

Page 250: AKrylovas_DiskrMatem_20080316

236 6 SKYRIUS. GRAFAI

Penkių valdovių uždavinys

Reikia išdėstyti šachmatų lentoje kuo mažiau valdovių taip, kad jos kirstųvisus šachmatų lentos langelius. Vienas šio galvosūkio sprendinys pateiktas6.30 pav.

6.30 pav. Penkių valdovių uždavinys

Matematinis šio uždavinio modelis yra jau išnagrinėtas grafas. Sprendi-nys c6, d3, e5, f7, g4 yra iš išorės stabilusis grafo viršūnių aibės poabis.

6.10 testas

Tarkime, kad G = (V,B) yra neorienuotasis jungusis grafas; |V | = 54.Grafo viršūnių laipsnių seka yra (53, 1, 1, 1, . . . , 1, 1, 1).

1 Šio grafo vidinio stabilumo skaičius yra1© 54; 2© 55; 3© 2; 4© 10; 5© 53; 6© 1.

Tarkime, kad G = (V,B) yra neorienuotasis jungusis grafas;V = v1, v2, . . . , v54.Grafo viršūnių laipsnių seka yra (53, 53, 53, . . . , 53, 53, 53).

2 Šio grafo išorinio stabilumo skaičius yra1© 2; 2© 1; 3© 17; 4© 28; 5© 52; 6© 53.

Page 251: AKrylovas_DiskrMatem_20080316

6.6. GRAFO STABILIEJI POAIBIAI 237

Grafas G = (V,B)apibrėžtas savoviršūnių beibriaunų aibėmis:

V = d, e,m, y, s, w ,B = d, e, e, y, e, s, e,w, m, y, y,w .

3 Šis grafas pavaizduotas paveiksle

1© ; 2© ;

3© .

4Kuris teiginys yra teisingas?(A) Viršūnių aibė S = s,m, y yra iš vidaus stabili.(B) Aibė S yra iš išorės stabili.1© (B); 2© nė vienas; 3© (A); 4© abu teiginiai.

5 Grafo G vidinio stabilumo skaičius lygus ?1© 2; 2© 0; 3© 4; 4© 1; 5© 6; 6© 3.

6 Grafo G išorinio stabilumo skaičius lygus ?1© 3; 2© 6; 3© 7; 4© 9; 5© 2; 6© 4.

Page 252: AKrylovas_DiskrMatem_20080316

238 6 SKYRIUS. GRAFAI

6.7. Grafų izomorfizmas

6.7.1. Izomorfizmo apibrėžimas

Kadangi grafo viršūnes galima pažymėti (sunumeruoti) įvairiais būdais,tą patį grafą užrašome (V1, B1) ir (V2, B2) (|V1| = |V2|). Kai turime dugrafus G1 = (V1, B1), G2 = (V2, B2), atsakyti į klausimą, ar jie yra vienografo du skirtingi žymėjimai, gali būti sunku. Akivaizdu, kad atsakymasyra neigiamas, kai |V1| 6= |V2| arba |B1| 6= |B2|. Suformuluokime šį uždavinįmatematiškai.

6.27 apibrėžimas. Grafai G1 = (V1, B1) ir G2 = (V2, B2) vadinamiizomorfiniais (rašome G1

∼= G2), jei egzistuoja tokia bijekcija f :V1 → V2, kad

∀v1i , v

1j ∈ B1 ⇒ f(v1

i ), f(v1j ) ∈ B2,

∀v2i , v

2j ∈ B2 ⇒ f−1(v2

i ), f−1(v2

j ) ∈ B1.

6.20 pavyzdys. Pavaizduoti 6.31 pav. grafai užrašomi taip:

V1 = a, b, c, d, B1 = a, b, b, c, b, d,V2 = u, v,w, z, B2 = u,w, v,w, w, z.

Taigi apibrėžimo sąlygas išpildo ši bijekcija:

f(a) = u, f(b) = w, f(c) = v, f(d) = z.

6.7.2. Žymėtieji ir nežymėtieji grafai

Pastebėkime, kad grafų izomorfizmas yra ekvivalentumo sąryšis. Primin-sime, kad toks sąryšis turi tris savybes.1) Refleksyvumas: G ∼= G. Šiuo atveju bijekcija f(vi) = vi.2) Simetriškumas: f : G1 → G2 ⇒ f−1 : G2 → G1.3) Tranzityvumas: f : G1 → G2&h : G2 → G3 ⇒ (f h) : G1 → G3.

Visų izomorfinių grafų klasė vadinama nežymėtuoju grafu, atskiri šiosklasės elementai – žymėtieji grafai.

Page 253: AKrylovas_DiskrMatem_20080316

6.7. GRAFŲ IZOMORFIZMAS 239

6.31 pav. Izomorfinių grafų pavyzdys

6.7.3. Grafų teorijos invariantai

Visi izomorfiniai vienas kitam grafai (t. y. visa ekvivalentumo klasėarba nežymėtasis grafas) turi tam tikras bendrąsias savybes, kurios nepri-klauso nuo grafo viršūnių žymėjimo būdo (galioja kiekvienam pasirinktamžymėtajam grafui). Grafo funkcijos,9 įgyjančios tas pačias reikšmes su visaisizomorfiniais grafais, vadinamos grafų teorijos invariantais.

Pavyzdžiui, grafo G = (V,B) eilė (viršūnių skaičius: n(G) = |V |) arbabriaunų skaičius m(G) = |B| yra invariantai. Kitas invariantas yra aibė,sudaryta iš grafo viršūnių laipsnių: p1, p2, . . . , pk. Išnagrinėsime daugkitų grafo charakteristikų, kurios irgi yra invariantai.

6.7.4. Grafų skaičius

Matome (žr. 6.32 pav.), kad iš viso yra 8 skirtingi trečiosios eilės žymėtiejigrafai. Suskaičiuokime, kiek tokių grafų yra bendruoju atveju. Tarkime,

kad |V | = n. Tada skirtingų grafo viršūnių porų yra m = C2n =

(n

2

)

=

n(n− 1)

2. Jei grafas turi k briaunų, tai reikia išrinkti k iš m tokių viršūnių

porų. Tai galima padaryti Ckm =

((n2

)

k

)

būdais.

9T. y. priklausantys nuo grafo kintamieji dydžiai (funkcijos apibrėžtos grafų aibėje).

Page 254: AKrylovas_DiskrMatem_20080316

240 6 SKYRIUS. GRAFAI

6.32 pav. Visi trečiosios eilės žymėtieji grafai

Taigi n-osios eilės žymėtųjų grafų skaičių generuojančioji funkcija yra

Gn(x) =

m∑

k=0

(m

k

)

xk = (1 + x)m, m =

(n

2

)

.

Todėl visų žymėtųjų grafų skaičius lygus Gn(1) = (1 + 1)m = 2(n2). Kai

n = 3 (žr. 6.32 pav.), turimem = C2

3 = 3, G3(1) = 23 = 8.Panašiai galime suskaičiuoti orientuotuosius grafus. Orientuotųjų n-

osios eilės žymėtųjų grafų, turinčių k lankų, yra Ckn(n−1). Generuojančioji

funkcija šiuo atveju

Gn(x) =

n(n−1)∑

k=0

Ckn(n−1)xk = (1 + x)n(n−1).

Taigi turime Gn(x) = (G(x))2 ir Gn(1) = 2n(n−1).Nežymėtųjų grafų skaičių formulės yra gremėzdiškos. Pažymėkime gn

visų nežymėtųjų neorientuotųjų n-tosios eilės grafų skaičių. Kai n yra didelisskaičius, galioja asimptotinė formulė

gn ∼2(

n2)

n!, n→∞.

Page 255: AKrylovas_DiskrMatem_20080316

6.8. PLANARUMAS IR NUSPALVINIMAS 241

6.33 pav. Trečiosios eilės nežymėtieji orientuotieji grafai

6.8. Planarumas ir nuspalvinimas

6.8.1. Planarieji grafai

Izomorfinius grafus galima ne tik pažymėti įvairiais būdais, bet irpavaizduoti skirtingomis diagramomis. Pasirinkime tokį grafo viršūnių iš-dėstymą plokštumoje, kad visi briaunų susikirtimo taškai sutaptų su grafoviršūnėmis. Taip pavaizduotą grafą vadiname plokščiuoju. Plokščiajamgrafui izomorfinių grafų klasė yra vadinama planariaisiais grafais.

Plokščiojo grafo briaunos apibrėžia sienas, iš kurių viena – išorinė. 6.34 pa-veiksle pavaizduoto grafo keturios sienos pažymėtos skaitmenimis: 1,2,3 –vidinės, 4 - išorinė.

Grafas (6.34 pav.)(a, b, c, d, e, f, g,

a, b, a, c, a, d, b, d, c, d, d, e, d, f, d, g, f, g)turi n = 7 viršūnes, m = 9 briaunas ir s = 4 sienas. Pasirodo, kad skaičiusn−m+ s lygus 2 esant bet kuriam plokščiajam grafui.

6.15 teorema. (Oileris, 1758) Bet kuris plokščiasis grafas turi n −m+ 2 sienų.

6.21 pavyzdys. 6.35 paveiksle pavaizduotas penktosios eilės plokš-ciasis grafas, kurio visos sienos (ir išorinė) yra trikampiai. Toks grafoišdėstymas vadinamas jo plokščiąja triaanguliacija. . Grafas

G = (a, b, c, d, e,

Page 256: AKrylovas_DiskrMatem_20080316

242 6 SKYRIUS. GRAFAI

6.34 pav. Plokščiojo grafo sienos

a, b, a, c, a, d, a, e, b, c, b, e, c, d, c, e, d, e)turi 9 briaunas ir yra maksimalus (pridėjus trūkstamą briauną b, djis nebeliks plokščiasis).

6.16 teorema. Maksimalus n-osios eilės plokščiasis grafas turi 3n−6briaunas.

Pastebėkime, kad trikampis turi 3 · 3 − 6 = 3 briaunas. Grafas K4 turi6 briaunas ir yra planarusis. Jo triangaluliacija gali būti gauta iš 6.35 pa-veikslo, jei sutapatinti (žr. 6.3.5. 209 psl.) viršūnes c ir d. Pastebėję, kad6.21 pavyzdžio grafas G = K5−b, d (t. y. jei iš pilnojo grafo K5 pašalintivieną briauną (žr. 6.3.4. 209 psl.), gauname tokio teiginio įrodymą.

Grafas K5 nėra planarusis.

Iš 6.16 teoremos matome, kad planarusis grafas gali turėti tik nurodytąskaičių briaunų. Galioja ir toks teiginys.

6.17 teorema. Planarusis n-osios eilės grafas, kai n > 4 turi bent 4viršūnes, kurių laipsniai ne didesni už 5.

6.8.2. Planarumo kriterijus

Apibrėžkime dar vieną operaciją su grafu – jo briaunos papildymo naujaviršūne. Tarkime, kad u, v ∈ B yra grafo G = (V,B) briauna. Pažymėki-me G′ = (V ′, B′) grafą, kurį gauname taip:

Page 257: AKrylovas_DiskrMatem_20080316

6.8. PLANARUMAS IR NUSPALVINIMAS 243

6.35 pav. Maksimalusis plokščisis grafas

1) pašaliname grafo G briauną u, v;2) prijungiame prie grafo naują viršūnę w ir dvi briaunas u,w, v,w.Taigi

V ′ = V ∪ w, B′ = (B \ u, v) ∪ u,w, v,w.

6.28 apibrėžimas. Grafai G1 ir G2 vadinami homeomorfiniais, jeijuos abu galima gauti iš kurio nors vieno grafo, atliekant briaunų pa-pildymo viršūnėmis operacijas.

Pavyzdžiui, paprastieji n-osios(n > 3) eilės ciklai

Cn = (v1, . . . , vn), v1, v2, v2, v3, . . . ,

vn−1, vn, v1, vn)

homeomorfiniai nepriklausomai nuo jų eilės. T. y. C3 homeomorfinis C4, C5

ir t. t.Taip pat homeomorfinės bet kurios dvi paprastosios grandinės:

Pn = (v1, . . . , vn), v1, v2, v2, v3, . . . , vn−1, vn).

Pastebėkime, kad izomorfiniai grafai yra ir homeomorfiniai, tačiau at-virkštinis teiginys nėra teisingas.

Page 258: AKrylovas_DiskrMatem_20080316

244 6 SKYRIUS. GRAFAI

6.29 apibrėžimas. Grafas G = (V,B) vadinamas dvidaliu, jei eg-zistuoja toks jo viršūnių aibės skaidinys į du blokus V (1)∪V (2) (V (1)∩V (2) = ∅), kad

(

∀v(k)i , v

(k)j ∈ V (k)

)

v(k)i , v

(k)j /∈ B, k = 1, 2.

Jei papildomai galioja reikalavimas(

∀v(1)i ∈ V (1) & ∀v(2)

j ∈ V (2))

v(1)i , v

(2)j ∈ B,

grafą vadiname pilnuoju dvidaliu grafu ir žymime Kp,q. Čia p ir qgrafo dalių elementų skaičiai: p =

∣∣V (1)

∣∣ q =

∣∣V (2)

∣∣.

Taigi visos grafo Kp,q tos pačios dalies viršūnės nėra gretimos viena kitai(iš vidaus stabilusis poaibis; žr. 6.6.1. 233 psl.) ir visos jos yra gretimos betkuriai kitos grafo dalies viršūnei. Taigi abi grafo dalys yra ir iš išorės stabi-lieji poaibiai (žr. 6.6.2. 235 psl.), o todėl sudaro ir grafo branduolį (žr. 6.10.3.254 psl.)

6.36 pav. Grafai 1) K1,3; 2) K2,3; 3) K3,3

6.36 paveiksle parodyti grafai K1,3, K2,3 ir K3,3. Pastebėkime dar, kadgrafai K1,1, K1,2 yra paprastosios grandinės: K1,1 = P2 = K2, K1,2 = P3, ografas K2,2 yra paprastasis ciklas: K2,2 = C4.

6.18 teorema. (Kuratovskis10, 1930)Grafas yra planarusis tada ir tik tada, kai jis neturi pografių homeo-morfinių grafams K5 arba K3,3.

Iš 6.18 teoremos matome, kad šis trijų šulinių galvosūkis (reikia sujungtikiekvieną iš trijų namų su kiekvienu iš trijų šulinių taip, kad takeliai nesu-sikirstų; žr. 6.37 pav.) neturi sprendinio.

10Kazimierz Kuratowski (1896 – 1980) – lenkų matematikas.

Page 259: AKrylovas_DiskrMatem_20080316

6.8. PLANARUMAS IR NUSPALVINIMAS 245

6.37 pav. Trijų namų ir trijų šulinių uždavinys

6.22 pavyzdys. Parodykime, kad Peterseno11 grafas (6.38 pav.) nė-ra planarusis. Išsirkime jo pavaizduotą 6.39 paveiksle pografį. Mato-me, kad šis pografis gautas iš dvidalio grafo

K3,3 = (1, 7, 8 ∪ 6, 2, 10,1, 6, 1, 2, 1, 10, 7, 6, 7, 2, 7, 10, 8, 6, 8, 2, 8, 10)papildžius jo briaunas:1) 1, 10 – viršūne 5;2) 7, 6 – 9;3) 8, 2 – 3.

6.8.3. Grafo taisyklingas nuspalvinimas

Apibrėžkime funkciją f : G(V,B)→ 1, 2, . . . , k(∀v ∈ V ) f(v) ∈ 1, 2, . . . , k, k ∈ N .

Kitaip tariant visoms grafo viršūnėms priskirti natūralieji skaičiai, kurie galireikšti, kad grafo viršūnės nuspalvintos k spalvomis.

6.30 apibrėžimas. Grafo G = (V,B) nuspalvinimas f vadinamastaisyklingu, jei

(∀vi, vj ∈ V ) vi, vj ∈ B ⇒ f(vi) 6= f(vj).

11Julius Peter Christian Petersen (1839 – 1910) danų matematikas

Page 260: AKrylovas_DiskrMatem_20080316

246 6 SKYRIUS. GRAFAI

6.38 pav. Peterseno grafas

6.39 pav. Peterseno grafo pografis, homeomorfinis K3,3

T. y. bet kurios dvi gretimos viršūnės nuspalvintos skirtingomis spal-vomis.

Bet kurį n-ios eilės grafą galima teisingai nuspalvinti n spalvomis, tačiaudažnai pakanka ir mažesnio spalvų skaičiaus k. 6.40 paveiksle pavaizduotas6-osios eilės grafas, kuris nuspalvintas 3 spalvomis.

6.8.4. Grafo chromatinis skaičius

6.31 apibrėžimas. Grafo G = (V,B) chromatiniu skaičiumi vadi-namas

χ(G) = minf∈F

k.

Page 261: AKrylovas_DiskrMatem_20080316

6.8. PLANARUMAS IR NUSPALVINIMAS 247

6.40 pav. Taisyklingas grafo nuspalvinimas

Čia F – visų grafo taisyklingų nuspalvinimų aibė.

Nurodykime kai kurių grafų chromatinius skaičius:

χ(Kn) = n, χ(Kp,q) = 2, χ(Pn) = 2, χ(Cn) =

2, kai n = 2k,

3, kai n = 2k + 1.

Sakome, kad grafas G yra bichromatusis kai χ(G) = 2. Netuščiasisgrafas yra bichromatusis tada ir tik tada, kai jis neturi nelyginio ilgio ciklų.

6.8.5. Planariųjų grafų nuspalvinimas

6.19 teorema. Jei G bet kuris planarusis grafas, tai χ(G) = 5.

Kitaip tariant, planarųjį grafą galima taisyklingai nuspalvinti 5 spalvomis.Tačiau nėra žinoma pavyzdžių, kad tokiam grafui nuspalvinti neužtektų 4spalvų. 1852 metais buvo suformuluota keturių spalvų hipotezė (6.19 teo-remos formuluotėje χ(G) = 4), o 1880 m. pakelbta, kad toks teiginys yraįrodytas. Tačiau po 10 metų buvo rasta įrodymo klaidą ir pavyko įrodyti tiksilpnesnį 6.19 teiginį. Daugiau kaip šimtmetį keturių spalvų hipotezė buvoneįrodyta, bet neseniai ją pavyko įrodyti naudojant kompiterinius patikri-nimus.

Page 262: AKrylovas_DiskrMatem_20080316

248 6 SKYRIUS. GRAFAI

6.9. Grafų matricos

6.9.1. Gretimumo matrica

Tarkime, kad G = (V,L) yra orientuotasis grafas. Pažymėkime

aij =

1 ∃(vi, vj) ∈ L0, ∃ (vi, vj) ∈ L

T. y. aij yra vienetas, kai grafas turi lanką (vi, vj).

6.32 apibrėžimas. Grafo G = (V,L) gretimumo matrica vadina-me tokią n-osios eilės (n = |V |) kvadratinę matricą

A =

a11 a12 · · · a1n

a21 a22 · · · a2n

· · · · · · · · · · · ·an1 an2 · · · ann

.

6.41 pav. Orientuotasis grafas (6.23 pavyzdys)

6.23 pavyzdys. 6.41 pav. pavaizduoto grafo gretimumo matrica yra

0 1 0 01 0 1 10 0 1 10 0 0 0

.

Page 263: AKrylovas_DiskrMatem_20080316

6.9. GRAFŲ MATRICOS 249

Galima pastebėti, kad vienetai eilutėse atitinka išeinančius iš j-osiosviršūnės lankus (jos numeris j sutampa su stulpelio numeriu). Vienetasstulpelyje atitinka įeinantį į i-ąją viršūnę lanką. Taigi grafo įėjimo ir išėjimopuslaipsnius apskaičiuojame taip:

p−(vi) =

n∑

j=1

aij , p+(vj) =

n∑

i=1

aij.

Visų orientuotojo grafo lankų skaičius m = |L| yra

m =

n∑

i=1

n∑

j=1

aij .

Jei grafas turi kilpą (vi, vi) ∈ L, turime aii = 1, t. y. atitinkamas mat-ricos įstrižainės elementas lygus vienetui.

Izoliuotąją grafo viršūnę atitinka nulinis gretimumo matricos stulpelisbei nulinė eilutė.

Jei pakeistume orientuotojo grafo lankų orientaciją, gauto grafo greti-mumo matrica bus transponuota matrica A: AT = ||aji||n×n.

Tarkime, kad G = (V,B) yra paprastasis neorientuotasis grafas. Jei jįapibrėžtume simetriniu antirefleksyviuoju sąryšiu (žr. ??), gautume, kadjo gretimumo matrica yra simetrinė ir turi nulinę pagrindinę įstrižainę.Kadangi mes susitarėme apibrėžti tokį grafą jo briaunų aibe B = vi1 ,vj1, . . . , vim , vjm, reikia performuluoti gretimumo matricos A = ||aij ||n×napibrėžimą:

aij =

1, vi, vj ∈ B,0, vi, vj /∈ B.

Šiuo atveju briaunų skaičius m = |B| lygus

m =1

2

n∑

i=1

n∑

j=1

aij .

6.20 teorema. Matricos Ak elementas a′ij yra lygus ilgio k maršrutųiš viršūnės vi į viršūnę vj skaičiui.

Page 264: AKrylovas_DiskrMatem_20080316

250 6 SKYRIUS. GRAFAI

6.24 pavyzdys. Raskime 6.41 pav. pavaizduoto grafo gretimumomatricos kvadratą:

A2 =

0 1 0 01 0 1 10 0 1 10 0 0 0

0 1 0 01 0 1 10 0 1 10 0 0 0

=

1 0 1 10 1 1 10 0 1 10 0 0 0

.

Taigi turime vieną maršrutą ilgio 2 iš 1 į 1: (1, 2, 1); vieną – iš1 į 3: (1, 2, 3); vieną – iš 3 į 4: (3, 3, 4). Nėra nė vieno maršruto,prasidedančio viršūnėje 4; nėra ilgio 2 maršrutų iš 2 į 1 arba iš 3 į 2.

6.25 pavyzdys. Raskime neorientuotojo grafoG = (1, 2, 3, 1, 2, 2, 3)gretimumo matricos laipsnius:

A =

0 1 01 0 10 1 0

, A2 =

1 0 10 2 01 0 1

, A3 =

0 2 02 0 20 2 0

.

Užrašykime kai kuriuos grafo maršrutus ilgio 2: (1, 2, 1); (1, 2, 3);(2, 1, 2); (2, 3, 2) ir ilgio 3: (1, 2, 3, 2); (1, 2, 1, 2).

6.9.2. Incidencijų matrica

Sunumeruokime orientuotojo grafo G = (V,L) lankus l1, l2, . . ., lm,m = |L|. apbrGrafo G incidencijų matrica I = ||eij ||n×m apibrėžiama taip:

eij =

1, lj = (vi, w) ∈ L,−1, lj = (w, vi) ∈ L,

0, lj 6= (vi, w) & lj 6= (w, vi) ∀w ∈ V.

Taigi incidencijų matricos elementai, lygūs vienetui, atitinka išeinančiuslankus, vienetai su minuso ženklu – įeinančius, o nuliai reiškia, kad lankasnėra incidentusis atitinkamai grafo viršūnei.

Kai G = (V,B) yra neorientuotasis grafas, incidencijų matricoje I =||eij ||n×m nerašome neigiamų elementų:

eij =

1, lj = vi, w ∈ B,0, lj 6= vi, w ∀w ∈ V.

Page 265: AKrylovas_DiskrMatem_20080316

6.9. GRAFŲ MATRICOS 251

6.42 pav. Orientuotasis grafas (6.26 pavyzdys)

6.26 pavyzdys. 6.42 pav. pavaizduoto grafo incidencijų matrica yra

I =

0 1 0 1 0 01 0 1 0 0 0−1 −1 0 0 0 0

0 0 −1 −1 1 10 0 0 0 −1 00 0 0 0 0 −1

.

6.21 teorema. Tarkime, kad G = (V,B) yra paprastasis neorientuo-tasis grafas, |V | = n; |B| = m; Gb – briauninis grafas; I – grafo Gincidencijų matrica;A – grafo Gb gretimumo matrica. Tada

A = IT · I − 2En,

čia En – vienetinė matrica.

6.27 pavyzdys. Pažymėkime grafoG = (v1, v2, v3; v1, v2, v2, v3)briaunas u1 = v1, v2; u2 = v2, v3. Tada grafo G briauninis grafasGb = (u1, u2; u1, u2). Jų incidencijų bei gretimumo matricosyra šios:

I =

1 01 10 1

, A =

(0 11 0

)

.

Page 266: AKrylovas_DiskrMatem_20080316

252 6 SKYRIUS. GRAFAI

Taigi

(0 11 0

)

=

(1 1 00 1 1

)

·

1 01 10 1

− 2 ·(

1 00 1

)

.

6.10. Orientuotieji grafai

6.10.1. Pusmaršrutis

Tarkime, kad G = (V,L) yra orientuotasis grafas (L ⊂ V 2). Žymėsi-me M = (u, vi1 , . . . , vik , w) jungiantį grafo viršūnes u,w ∈ V maršrutą, jei(u, vi1), (vij , vij+1), (vik , w) ∈ L.

6.43 pav. Maršrutas ir pusmaršrutis (6.28 pavyzdys)

6.28 pavyzdys. 6.43 pav. pavaizduotas grafas turi maršrutus (1, 2, 5, 3);(1, 6, 5, 4); (2, 5, 4), tačiau neturi maršruto (4, 5, 2).

6.33 apibrėžimas. Sakome, kad M = (u, vi1 , . . . , vik , w) yra pus-maršrutis, jungiantis grafo viršūnes u,w ∈ V , jei

(u, vi1) ∨ (vi1 , u), (vij , vij+1) ∨ (vij+1 , vij ), (vik , w) ∨ (w, vik ) ∈ L,

t. y. bent vienas iš grandinę sudarančių lankų (vji , vji+1) arba (vji+1 , vji)priklauso grafui.

Taigi (4, 5, 2) nėra maršrutas, bet yra pusmaršrutis.Panašiai orientuotajam grafui apibrėžiama grandinė, pusgrandinė, kelias,

puskelis, ciklas ir pusciklis.

Page 267: AKrylovas_DiskrMatem_20080316

6.10. ORIENTUOTIEJI GRAFAI 253

6.34 apibrėžimas. Grafo viršūnė v vadinama pasiekiamąja iš vir-šūnės u, jei egzistuoja maršrutas (u, . . . , v). Susitarkime, kad bet kurigrafo viršūnė yra pasiekiama pati iš savęs.

6.10.2. Stiprumas

6.35 apibrėžimas. Sakome, kad orientuotasis grafas G = (V,L) yrastiprusis (stipriai jungusis), jei ∀u, v ∈ V ∃K1 = (u, . . . , v) & ∃K2 =(v, . . . , u), kai K1 ir K2 yra keliai. Taigi grafas vadinamas stipriuo-ju, kai bet kurios dvi jo viršūnės yra pasiekiamos viena iš kitos. Kaiegzistuoja tik vienas iš kelių K1 ir K2, orientuotąjį grafą vadinamevienakryptiškai jungiuoju. Jei bet kurias dvi grafo viršūnes galimasujungti puskeliu, grafą vadiname silpnuoju (silpnai jungiuoju).

Taigi bet kuris stiprusis grafas yra ir vienakryptiškai jungusis, o pa-starasis grafas – silpnasis. 6.44 pav. pavaizduoti grafai (1), (4) yra stiprieji,

6.44 pav. Stiprieji, vienakryptiškai stiprieji ir silpnasis grafai

(2),(5) – vienakryptiškai stiprieji, (3) yra silpnasis grafas.

Teoremos

Grafas yra stiprusis tada ir tik tada, kai egzistuoja einantis per visas jo vir-šūnes ciklas.Grafas yra vienakryptiškai stiprusis tada ir tik tada, kai jis turi einantį pervisas viršūnes maršrutą.Grafas yra silpnasis tada ir tik tada, kai per visas jo viršūnes eina pusmarš-rutis.

Page 268: AKrylovas_DiskrMatem_20080316

254 6 SKYRIUS. GRAFAI

6.10.3. Branduolys

6.36 apibrėžimas. Grafo G = (V,L) viršūnių aibės poabis S ⊂ Vvadinamas grafo branduoliu, kai aibė S yra stabilioji ir iš vidaus, iriš išorės.

6.29 pavyzdys. Grafas (1, 2, 3, (1, 2), (1, 3), (2, 3)) neturi bran-duolio.

6.30 pavyzdys. Grafas (1, 2, 3, 4, (1, 3), (3, 4), (4, 2), (2, 1)) turidu branduolius B1 = 1, 4 ir B2 = 2, 3.

6.22 teorema. Simetrinis grafas be kilpų turi branduolį.

6.10.4. Srautas

Tarkime, kad G = (V,L) yra vienakryptiškai stiprusis grafas, turintisvieną šaltinį (grafo įėjimas, žr. ??) ir vieną sankaupos tašką (grafo išėji-mas). Jei kiekvienam grafo G lankui l ∈ L apibrėžta neneigiamoji funkcijaψ(l) : L → R+, sakome, kad apibrėžtas tinklas T = (G,ψ). Funkciją ψ(l)vadiname tinklo T pralaidumu.

6.37 apibrėžimas. Funkciją ϕ(l) : L → R+ vadiname srautu pertinklą T = (G,ψ), jei ji išpildo sąlygas:1) ϕ(l) 6 ψ(l) ∀l ∈ L;2)

i:li=(v,vi)

ϕ(li) =∑

j:lj=(vj ,v)

ϕ(lj) ∀v ∈ V .

Taigi srautas negali būti didesnis už tinklo pralaidumą, ir išeinantis iškiekvienos grafo viršūnės srautas lygus įeinančiam srautui. Trivialus srautofunkcijos ϕ(l) pavyzdys yra nulinis srautas. Raskime maksimalų srautą, kurįgali praleisti pavaizduotas 6.45 pav. tinklas.

Priminsime, kad grafo kirpiu vadiname minimalią (iš kurios negalimapašalinti nė vieno elemento, žr. ??) lankų aibę, kad, pašalinus šiuos lankus,kurių nors dviejų grafo viršūnių negalima sujungti maršrutu. Išvardykimevisus 43 pav. pavaizduoto tinklo kirpius:K1 = (v, x), (v, y), (v, z), K2 = (x,w), (z,w),K3 = (v, x), (y, x), (z, x), (z,w); K4 = (v, z), (y, z), (x, z), (x, w).

Apskaičiuokime kiekvieno iš šių kirpių pralaidumą:

P (Kj) =∑

l: l∈Kj

ψ(l).

Page 269: AKrylovas_DiskrMatem_20080316

6.10. ORIENTUOTIEJI GRAFAI 255

6.45 pav. Tinklas

Turime P (K1) = 4 + 3 + 1 = 8; P (K2) = 2 + 4 = 6;P (K3) = 4 + 4 + 1 + 4 = 13; P (K4) = 1 + 2 + 1 + 2 = 6.

6.23 teorema. Maksimalus srauto per tinklą pralaidumas lygus mi-nimaliam tinklo kirpio pralaidumui.

Taigi joks srautas per 6.45 pav. pavaizduotą tinklą negali turėti didesniopralaidumo negu 6.46 pav. pavaizduotas srautas.

6.46 pav. Srautas per tinklą

Page 270: AKrylovas_DiskrMatem_20080316

256 6 SKYRIUS. GRAFAI

Klausimai ir užduotys

6.1Grafas G apibrėžtas savo viršūnių gretimumo aibėmis:Γ(w) = q, Γ(d) = q, Γ(a) = q,Γ(q) = d,w, a, c, Γ(c) = q.

a) Pavaizduokite nežymėtąjį grafą, izomorfinį grafui G.b) Raskite atstumą tarp grafo G viršūnių d ir q.c) Nustatykite viršūnės w ekscentricitetą.d) Raskite grafo spindulį ir skersmenį.e) Kiek centrų turi grafas?

6.2

Grafas G su viršūnėmis1, 2, . . . , 6 apibrėžtasgretimumo matrica

0 1 0 1 1 11 0 0 0 0 00 0 0 1 0 11 0 1 0 1 11 0 0 1 0 01 0 1 1 0 0

.

a) Pavaizduokite šį grafą.b) Kiek sujungimo taškų turi grafas G?c) Kiek siejančiųjų briaunų turi grafas G?d) Raskite grafo G = G− 5− 3, 6 briaunų skaičių.e) Kiek jungumo komponenčių turi grafas G?

6.3Grafas G1 = (V,B1)apibrėžtas savoviršūnių beibriaunų aibėmis:

V = s, l, e, b, c, g ,B1 = s, c, l, b, l, c, l, g, e, b, e, g, b, g.

Grafai G2(V,B2) ir G3(V,B3) apibrėžti jų gretimumo ir incidencijų matricomis:

0 1 0 1 1 01 0 0 0 0 00 0 0 0 1 01 0 0 0 0 11 0 1 0 0 10 0 0 1 1 0

1 1 1 0 0 0 01 0 0 1 1 1 00 0 0 1 0 0 00 1 0 0 0 0 10 0 1 0 1 0 10 0 0 0 0 1 0

Raskite grafo G = (G1 ∩G2)⊕G3 briaunų aibę ir pavaizduokite jį.

Page 271: AKrylovas_DiskrMatem_20080316

6.10. ORIENTUOTIEJI GRAFAI 257

Pastabos ir komentarai

Nors pirmieji grafų teorijos uždaviniai buvo suformuluoti kaip matematiniai gal-vosūkiai, jie paskatino rimtus tyrimus ir jau XIX amžiaus viduryje grafų teorija buvotaikoma elektrotechnikoje, chemijoje, vėliau – biologijoje, sociologijoje. Žodis grafas tapomatematiniu terminu po Kionigo monografijos 1936 m.

Lietuvių kalba išleistos grafų teorijos mokymo priemonės: [47], [54]. Daug dėmesiografams skiriama išverstoje į lietuvių kalbą knygoje [55]

Page 272: AKrylovas_DiskrMatem_20080316

258 6 SKYRIUS. GRAFAI

Page 273: AKrylovas_DiskrMatem_20080316

7 skyrius

Algoritmai

7.1. Algoritmo sąvoka

7.1.1. Euklido algoritmas

Nuo Euklido1 laikų algoritmo sąvoka yra susijusi su dviejų natūraliųjųskaičių didžiausiojo bendrojo daliklio radimu. Taigi visų pirma, kaip ma-tematinio uždavinio sprendimo proceso aprašymo pavyzdį, panagrinėkimeEuklido algoritmą: rasti kuo didesnį natūralųjį skaičių z, kuris būtų dalusiš abiejų natūraliųjų skaičių x ir y.

Euklido algoritmą galima apibrėžti žodžiais. Jei du skaičiai nėra lygūs, išdidesnio – reikia atimti mažesnį. Veiksmą kartojame kol skaičiai nepasidaryslygūs. Pavaizduokime šių veiksmų atlikimo schemą (7.1 pav.). Skaičių pa-lyginimo operacijos schemoje pažymėti ženklais < ir >, minusas (−) rieškiaatimties operaciją, reikšmės priskyrimo veiksmas pažymėtas lygybės ženklu=. Pastebėkime, kad algoritmų schemuose ir koduose priskyrimas dažnai žy-mimas lygybės ženklu su dvitaškiu (:=), kad atskirti palygynimo ir reikšmėspriskyrimo operacijos. Mes laikysimės C++ programavimo kalbos notacijos(žr., pavyzdžiui, [23]) ir reikšmių lygybės sąlygą žymėsime ==, o nelygybės– ! = (žr. 7.3.1. 269 psl.)

7.1 pratimas. Pakeiskite Euklido algoritmo schemą, kai galima nau-doti dvi palyginimo operacijas: > ir ==.

7.1 pavyzdys. Raskime skaičių x = 9 ir y = 12 didžiausiąjį bendrąjįdaliklį z, taikydami Euklido algoritmą. Surašome algoritmo veiksmus:1) x = 9, y = 12;

1Eυκλειδης [Euclid] (apie 3a. pr. m. e.) – senovės Graikijos matematikas.

259

Page 274: AKrylovas_DiskrMatem_20080316

260 7 SKYRIUS. ALGORITMAI

7.1 pav. Euklido algoritmas

2) x < y ⇒ y = y − x;3) y = 12− 9 = 3, x = 9;4) x > y ⇒ x = x − y;5) x = 9− 3 = 6, y = 3;6) x > y ⇒ x = x − y;7) x = 6− 3 = 3, y = 3;8) x == y ⇒ z = x.

Taigi gauname z = 3 – didžiausiąjį skaičių 9 ir 12 daliklį.

7.1.2. Bendrieji algoritmo parametrai

Pateiktas 7.1 pratimas rodo, kad tas pats algoritmas gali būti apibrėžtasskirtingomis veiksmų schemomis. Algoritmo aprašymas žodžiais (iš didesnioatiminėti mažesnį, kol jie yra skirtingi), palygynus su veiksmų schema, ne-nurodo visų algoritmo detalių. Pavyzdžiui, tikrinti sąlygą x == y galima irtiesiogiai (7.1 pratimas) ir taip, kaip parodyta 7.1 paveiksle. Konkrečios ope-racijos nurodymas irgi neteikia visų jos realizavimo detalių. Tarkim, skaičiųpalygynimui galima rašyti įvairias Tiuringo mašinos (žr. 7.2.1. 261 psl.)programas.

Page 275: AKrylovas_DiskrMatem_20080316

7.2. TIURINGO MAŠINA 261

Algoritmo sąvoka bendruoju pavidalu laikoma pirmine2, neapibrėžiamapaprastesnėmis sąvokomis. Įvairūs algoritmo patikslinimai sumažina šiossąvokos bendrumą.

Analizuojant įvairius algoritmus, galima išskirti bendruosius jų paramet-rus:1) pradiniai duomenys (7.1 pav. atveju du natūralieji skaičiai);2) galimi galutiniai rezultatai (mūsų pavyzdžio atveju visada surandamasnatūralusis skaičius, tačiau yra uždavinių, kurie negali būti išpręsti ir reikianumatyti ką laikyti rezultatu);3) galimi tarpiniai rezultatai;4) pradžios taisyklė;5) pabaigos taisyklė (mūsų atveju algoritmas baigia darbą, kai x = y);6) atliekamos operacijos (čia palyginimas, atimtis ir priskyrimas (:=));7) rezultato gavimas (čia z := x).

7.2. Tiuringo mašina

7.2.1. Tiuringo mašinos aprašymas

Jau minėtų algoritmo parametrų ir taisyklių formalizavimas buvo at-liktas 1936 m. kaip abstrakčiosios skaičiavimo Tiuringo3 mašinosaprašymas. Ši mašina buvo sėkmingas bandymas suformuluoti matematinįalgoritmo apibrėžimą ir, tikriausiai, nėra priklausoma nuo realiųjų kompiute-rių, kadangi pirmoji eletroninė skaičiavimo mašina pasirodė tik po 9 metų4.Tiuringo mašina turi neribotą atmintį – begalinę padalytą sekcijomis juostą.Visos šios juostos sekcijos yra sunumeruotos. Į kiekvieną juostos sekciją ga-lima rašyti ir iš jos galima skaityti po vieną turimos baigtinės abėcėlės raidę.Skaitymą bei rašymą atlieka Tiuringo mašinos galvutė, kurios veiksmus su-daro baigtinė mašinos būsenų aibė. Algoritmas apibrėžiamas kaip programa,kurią sudaro judančios išilgai juostos galvutės veiksmai: rašyti arba skaitytiesamoje sekcijoje (ląstelėje), pereiti juostos sekcijos atžvilgiu kairėn, dešinėnarba likti toje pačioje pozicijoje, pakeisti galvūtės būseną arba baigti darbą.

Apibrėžkime Tiuringą mašiną smulkiau. Mašinos juosta turi be galodaug vienodų ląstelių (sekcijų), tačiau netuščių ląstelių gali būti tik baigtinisskaičius. Taigi į kiekvieną juostos ląstelę įrašytas tik vienas iš šių simbolių

2Pirminėmis matematikos sąvokomi laikomos, pavyžiui, aibė, taškas, tiesė.3Alan Mathison Turing (1912 – 1954) – anglų matematikas.4Pirmoji ESM sukurta JAV 1946 m.

Page 276: AKrylovas_DiskrMatem_20080316

262 7 SKYRIUS. ALGORITMAI

a0, a1, . . ., an. Baigtinė aibė

A = a0, a1, . . . , an

vadinama Turingo mašinos abėcele. Vienas abėcėlės simbolis (susitarkime,kad tai yra a0) vadinamas tuščiuoju. Kiekvienu laiko momentu Turingomašinos juosta turi tokį pavidalą:

· · · a0 aj1 aj2 · · · aj−1 bi aj aj+1 aj+2 · · · a0 · · ·

Mašinos galvutė parodytu laiko momentu turi būseną bi. Būsenų aibė

B = b0, b1, . . . , bm

irgi yra baigtinė. Būseną b0 vadinsime stabdos būsena. Tiuringo mašinosjuostą su nurodyta galvutės vieta ir būsena vadiname mašinos momentiniuaprašu. Momentinį aprašą galima apibūdinti ir taip

aj1 aj2 · · · aj−1 biaj aj+1 · · ·

Jei mašina nėra stabdos būsenoje (t. y. bi 6= b0), kitu laiko momentu5 jįatlieka šiuos veiksmus:1) skaito iš ląstelės simbolį aj ∈ A;2) rašo į tą pačią ląstelę simbolį ak ∈ A;3) pasislenka viena ląstele į kairę, į dešinę arba lieka toje pačioje ląstelėje;4) įgyja nauja būseną bi ∈ B.Šie veiksmai priklauso nuo mašinos programos, kuri gali būti užrašyta to-kios perėjimų lentelės pavidalu

b1 b2 · · · bma0 bi0j1ai0j1Ji0j1 bi1j2ai0j2Ji0j2 · · · bi0jmai0jmJi0jma1 bi1j1ai1j1Ji1j1 bi1j2ai1j2Ji1j2 · · · bi1jmai1jmJi1jm· · · · · · · · · · · · · · ·an binj1ainj1Jinj1 binj2ainj2Jinj2 · · · binjmainjmJinjm

Čia Jij pažymėta mašinos galvutės judėjimo komanda:L – pereiti viena ląstele į kairę,R – į dešinę,S – nejudėti.Vieną lentelės (programos) komandą galima užrašyti ir taip:

bjai −→ b′ja′iJij .

5Turingo mašina veikia diskrečiaisiais laiko momentais 1, 2, 3, . . ..

Page 277: AKrylovas_DiskrMatem_20080316

7.2. TIURINGO MAŠINA 263

7.2 pavyzdys. Tiuringo mašinos abėcėlę sudaro du simboliai 0 ir 1,o būsenų aibė yra tokia: s, b1, b2. Tarkime, kad turime programą

P1 = b10 −→ b10S, b11 −→ b11S, b20 −→ b20S, b21 −→ b21S

Taigi Tiuringo mašina T1 = 0, 1, s, b1 , b2, P1, 0, s6 nekeičia juos-toje įrašytų simbolių, nekeičia mašinos būsenos ir neduoda galvutėsjudėjimo komandų. Akivaizdu, kad ši mašina nekeičia juostos turinioir niekada nesustoja.

7.3 pavyzdys. Pakeiskime programą

P2 = b10 −→ b11R, b11 −→ s1R, b20 −→ b21R, b21 −→ s1S

ir išnagrinėkime mašiną T2 = A,B,P2, 0, s, A = 0, 1, B = s, b1, b2.

Matome, kad galvutė skaito simbolį 1, pasislenkia viena ląstele į dešinęir pereina į stabdos būseną. Taigi jei juostoje yra įrašytų simbolių 1 ir esan-ti būsenoje b1 (arba b2) galvutė skaito kurį nors iš jų, mašina sustoja. Jeigalvutė skaito 0, tai vietoje jo rašomas 1 ir galvutė pasislenka į dešinę. Tar-kime, kad laiko momentu 1 mašinos T2 juostoje yra įrašas · · · 01 0 0010 · · ·ir galvutė yra parodytoje vietoje. Tada mašina baigia darbą laiko momentu4 ir jos darbo eiga bus tokia

· · · 0 0 · · · 1 b1 0 0 0 1 0 0 · · ·

· · · 0 0 · · · 1 1 b1 0 0 1 0 0 · · ·

· · · 0 0 · · · 1 1 1 b1 0 1 0 0 · · ·

· · · 0 0 · · · 1 1 1 1 b1 1 0 0 · · ·

· · · 0 0 · · · 1 1 1 1 1 s 0 0 · · ·

Pastebėkime, kad mašinos T2 būsena b1 nieko nesiskiria nuo būsenos b2 irprogamą P2 galima sutrumpinti: P ′

2 = b0 −→ b1R, b1 −→ s1R, B′ =s, b.

7.4 pavyzdys. Tarkime, kad turime programą

6Čia parodyta mašinos abėcėlė, būsenų aibė, programa, tuščiasis simbolis ir stabdosbūsena.

Page 278: AKrylovas_DiskrMatem_20080316

264 7 SKYRIUS. ALGORITMAI

P3 b1 b20 b11R s0L

1 b21S b21L

Parodykime Tiuringo mašinos T3 = A,B,P3, 0, s darbo eigą, kaipradiniu laiko momentu aprašas sutampa su išnagrinėtu atveju T2:

01b100010 −→ 011b10010 −→ 0111b1010 −→ 01111b110 −→01111b210 −→ 0111b2110 −→ 011b21110 −→

01b211110 −→ 0b2111110 −→ b20111110 −→ s00111110.

Matome, kad mašinos būsenos b2 būvis programoje leido pastumpti gal-vutę ne tik į žodžio pradžią, bet ir dviem pozicijomis kairėn. Šis pavyzdysyra geras paaisiškinimas Tiuringo mašinų modifikavimų galimybių. Tarki-me, kad naujas mašinos aprašas apibrėžiamas ne trimis, o tik dviem simbo-liais

bjai −→ b′ja′i, arba

bjai −→ bjL, arba

bjai −→ bjR.

Tokia mašina vienu laiko momentu negali ir keisti į ląstelę įrašytą simbolį,ir judinti galvutę. Apibrėžkime dar vieną mašinos būseną b′′j , į kurią pereinamašina atlikus komandą bjai −→ b′ja

′i. Tada galima apibrėžti dar n + 1

(i = 0, 1, . . . , n) komandą b′′ja′i −→ bjJji, J ∈ L,R, S. Taigi gauname

mašiną, ekvivalenčią mašinai bjai −→ b′ja′iJij .

Išnagrinėkime dar kelis Tiuringo mašinų pavyzdžius.

7.5 pavyzdys. Dviejų natūraliųjų skaičių sudėtis. Natūralujį skaičiųk galima išreikšti k iš eilės įrašytais Tiuringo mašinos juostoje viene-tais. Tada skaičių k ir l sumą užrašome tokiu mašinos aprašu

· · · 0 11 · · · 11︸ ︷︷ ︸

k kartų

+

l kartų︷ ︸︸ ︷

11 · · · 11 0 · · ·

Tiuringo mašinos abėcėlė A = 0, 1,+, būsenų aibėB = s, b1, b2, b3.Programą apibrėžkime tokia lentele

Page 279: AKrylovas_DiskrMatem_20080316

7.2. TIURINGO MAŠINA 265

b1 b2 b30 s 0 S b3 1 R b1 0 L

1 b2 0 L b2 1 L b3 1 R

+ s 0 S b2 + L b3 + R

Kai pradiniu laiko momentu galvutės būsena yra b1 ir galvutė skaitodešinįjį vienetą, mašina sustoja esant tokiam momentiniam aprašui

· · · 0k+l kartų︷ ︸︸ ︷

11 · · · 11 b0 0 · · ·

Pavyzdžiui, jei pradiniu momentu turime 1 + b1 1 , skaičiavimo eigabus tokia:

1 + b11 −→ 1b2 + 0 −→ b21 + 0 −→ b201 + 0 −→ 1b31 + 0

−→ 11b3 + 0 −→ 11 + b30 −→ 011b1 + 0 −→ 11s00.

7.6 pavyzdys. Vieneto pridėjimas dešimtainėje skaičiavimo sistemo-je. Tiuringo mašinos abėcėlė A = Λ, 0, 1, . . . , 9, būsenų aibė B =s, b. Programa yra tokia (apibrėžkime tik būtinas komandas): pra-diniu laiko momentu galvutė skaito dešinįjį simbolį ir turi būseną b.Jei skaitomas simbolis x nėra 9, jis keičiamas į simbolį x+1 ir mašinaprereina į stabdos būseną s. Kai x = 9, jo vietoje rašomas 0 ir galvu-tė, nekeisdama mašinos būsenos, pasislenka į kairę. Taigi turime tokįpavyzdį:

Λ229b9Λ −→ Λ22b90Λ −→ Λ2b200Λ −→ Λ2s300Λ.

7.2.2. Rekursyviosios funkcijos

Apibrėžkime formaliąją funkcijų sistemą, kurią sudaro bazinės funkcijosir tam tikros naujų funkcijų generavimo taisyklės. Bazinės funkcijos yrašios natūraliųjų argumentų funcijos:1) nulinė funkcija: o(x) = 0 su visais x;2) paskesniojo nario funkcija s(x) = x+ 1 su visais x;3) projekcijų funkcijos prnm(x1, x2, . . . , xn) = xm su visais x1, x2, . . ., xn,m = 1, 2, . . . , n.

Pavyzdžiui, pr11(x1) = x1, pr22(x1, x2) = x2, pr43(x1, x2, x3, x4) = x3. Pa-stebėkime, kad reiškiniai pr12(x1, x2) arba pr45(x1, x2, x3, x4) neturi prasmės.

Suformuluokime naujų funkcijų sudarymo taisykles.1. Kompozicija. Turime funkcijas f(x1, x2, . . . , xm), g1(x1, x2, . . . , xn),

Page 280: AKrylovas_DiskrMatem_20080316

266 7 SKYRIUS. ALGORITMAI

g2(x1, x2, . . . , xn), . . ., gm(x1, x2, . . . , xn). Sudarome naują funkciją (funkcijųkompoziciją):

h(x1, x2, . . . , xn) =

f(g1(x1, x2, . . . , xn), g2(x1, x2, . . . , xn), . . . , gm(x1, x2, . . . , xn)).

Pavyzdžiui, funkciją o(x1, x2, . . . , xn) = 0 gauname taip:f(x1) = o(x1), g1(x1, x2, . . . , xn) = prn1 (x1, x2, . . . , xn) iro(x1, x2, . . . , xn) = o(prn1 (x1, x2, . . . , xn)) = 0.

Funkciją xm + 1 gauname panašiai: f(x1) = s(x1),g1(x1, x2, . . . , xn) = prnm(x1, x2, . . . , xn), s(prnm(x1, x2, . . . , xn)) = xm + 1.

2. Primityvioji rekursija. Turime funkcijas g(x1, x2, . . . , xn),h(x1, x2, . . . , xn, xn+1, xn+2) n > 1. Funkcija f(x1, x2, . . . , xn, xn+1) apibrė-žiama taip:

f(x1, x2, . . . , xn, 0) = g(x1, x2, . . . , xn),

f(x1, x2, . . . , xn, y + 1) = h(x1, x2, . . . , xn, y, f(x1, . . . , xn, y)).

Pavyzdžiui, funkciją f(x1, x2) = x1 + x2 galima gauti taip:

f(x1, 0) = pr11(x1) = x1,

f(x1, x2 + 1) = s(pr33(x1, x2, f(x1, x2)) = f(x1, x2) + 1.

7.1 apibrėžimas. Funkcija vadinama primityviai rekursyviąja, jeiji gali būti gauta iš bazinių funkcijų, atlikus baigtinį skaičių kompozi-cijų ir primityviųjų rekursijų. Visų primityviai rekursyviųjų funkcijųaibę žymėsime PR.

Funkcija f(x) = 3 gaunama taip: s(s(o(x)) = s(s(0)) = s(s(0) + 1) =s(1 + 1) = s(2) = 2 + 1 = 3. Todėl ji yra primityviai rekursivioji.

Galima parodyti, kad primityviai rekursyviosios yra funkcijos x · y, xn,xy, daugianariai su natūraliaisiais koeficientais ir kt.

Pastebėkime, kad visos primityviai rekursyviosios funkcijos apibrėžtosbet kurioms argumentų reikšmėms, t. y. visur apibrėžtos. Nagrinėsimefunkcijas, kurios gali būti apibrėžtos tik kai kurioms argumentų reikšmėms.

7.2 apibrėžimas. Minimizavimo operatoriumi vadiname opera-ciją µ, kuri apibrėžiama taip. Tarkime, kad g(x1, x2, · · · , xn, y) –bet kuri funkcija. Fiksuojame reikšmes x0

1, x02, . . ., x0

n ir žymimeµy[g(x0

1, x02, . . . , x

0n, y) = 0] mažiausią skaičių y, tokį, kad

Page 281: AKrylovas_DiskrMatem_20080316

7.2. TIURINGO MAŠINA 267

1) su visais t, 0 6 t < y funkcija g(x01, x

02, · · · , x0

n, t) apibrėžta ir tei-giama;2) g(x0

1, x02, · · · , x0

n, y) apibrėžta ir lygi nuliui.Jei bent viena iš šių sąlygų negalioja, sakome, kad operacijaµy[g(x0

1, x02, . . . , x

0n, y) = 0] neapibrėžta.

Pavyzdžiui, kai g(x, y) = x − y + 5. Turime µy[6 − y − 5 = 0] = 1,µy[7−y+5 = 0] = 2. Operacijos µy[g(0, y) = 0], µy[g(1, y) = 0], µy[g(2, y) =0], µy[g(3, y) = 0], µy[g(4, y) = 0], µy[g(5, y) = 0] neapibrėžtos natūraliųjųskaičių aibėje.

Apibrėžimai. Sakome, kad funkciją

f(x01, x

02, . . . , x

0n) = µy[g(x0

1, x02, . . . , x

0n, y) = 0]

gauname minimizavimo operatoriumi. Ši funkcija gali būti apibrėžta nevisoms argumentų reikšmėms. Visų funkcijų, gaunamų iš bazinių funkcijųkompozicijos, primityviosios rekursijos ir minimizavimo operacijomis, aibė(klasė) vadinama dalinių rekursyviųjų funkcijų aibe (žymime DR). Kaikurios iš šių funkcijų apibrėžtos visur ir sudaro bendrųjų rekursyviųjųfunkcijų klasę (žymime BR).

TurimePR ⊂ BR ⊂ DR.

7.2.3. Rekusryviųjų funkcijų skaičiavimas Tiuringo mašina

Tarkime, kad Tiuringo mašinos abėcėlė yra A = Λ, 0, 1. Kokie bebūtųnatūralieji skaičiai x1, x2, . . ., xn, juos galima pavaizduoti mašinos juostoje:

· · ·Λx1

︷ ︸︸ ︷

01 · · · 01 Λ

x2︷ ︸︸ ︷

01 · · · 01 Λ · · ·Λxn

︷ ︸︸ ︷

01 · · · 01 Λ · · ·

Turime funkciją y = f(x1, x2, . . . , xn). Jei po baigtinio skaičiaus žingsniųmašina sustoja standartinėje būsenoje

· · ·Λ s 0

y︷ ︸︸ ︷

01 · · · 0101 Λ · · · ,

tai sakome, kad Tiuringo mašina apskaičiuoja funkcijos f(x1, . . . , xn) reikš-mę y. Kai mašina apskaičiuoja visas funkcijos reikšmes, sakome, kad funk-cija apskaičiuojamoji.

Page 282: AKrylovas_DiskrMatem_20080316

268 7 SKYRIUS. ALGORITMAI

7.1 teorema. Funkcija yra apskaičiuojamoji tada ir tik tada, kai jiyra dalinė rekursyvioji funkcija.

Tarkime, kad Tiuringo mašinos T juostoje pradiniu laiko momentu įra-šytas natūralusis skaičius m (t. y. užkoduotas mašinos abėcėlės simboliais,pvz., nuliais ir vienetais). Mes žinome, kad mašina gali sustoti, t. y. per-eiti į stabdos būseną atlikus baigtinį skaičių žingsnių, o gali ir nesustoti pobet kurio skaičiaus žingsnių. Pirmuoju atveju sakome, kad skaičius (žodis)m yra priimtinas mašinai, o antruoju – nepriimtinas. Jei nagrinėjamabet kuri Tiuringo mašina ir bet kuris natūralusis skaičius (sakome, kadtai yra masinis uždavinys), atsakyti į klausimą ar žodis priimtinas mašinainegalima.

Patikslinkime šį teiginį. Visas Tiuringo mašinas T galima sunumeruo-ti! Tarkime, kad n mašinos T numeris. Reikia sukonstruoti naują Tiuringomašiną P , kurį pradeda darbą, kai juostoje įrašyti du žodžiai

· · ·Λm

︷ ︸︸ ︷

01 · · · 01 Λ

n︷ ︸︸ ︷

01 · · · 01 Λ · · ·

Mašina P turi baigti darbą su momentiniu aprašu

· · ·Λ b0 1 Λ · · · ,

kai žodis m priimtinas mašinai T . Priešingu atveju, t. y., kai žodis m ne-priimtinas mašinai T , ji sustoja su momentiniu aprašu

· · ·Λ b0 0 Λ · · · .

Įrodyta, kad tokia Tiuringo mašina P neegzistuoja. Kitaip tariant,baigtinumo problema algoritmiškai neišsprendžiama.

Neišsprendžiamų problemų yra daug. Pavyzdžiui, negalima nustatyti, arbet kuri Tiuringo mašiną perveda žodį m1 į žodį m2. Diskrečiosios matema-tikos uždavinių išsprendžiamumas dažnai būna akivaizdus, kadangi teoriškaigali būti perrinkamas baigtinis sprendimo variantų skaičius. Tokiems užda-viniams tirti daug svarbesni algoritmo efektyvumo klausimai ir efektyvūsalgoritmo pateikimo būdai.

Page 283: AKrylovas_DiskrMatem_20080316

7.3. PSEUDOKODAS 269

7.3. Pseudokodas

7.3.1. Algoritmų užrašymas

Mes nagrinėsime diskrečiosios matematikos uždavinių sprendimo meto-dus, kuriems realizuoti būtinas tislus (tačiau ne toks detalus, kaip Tiuringomašinos programos) veiksmų eigos aprašymas t. y tinkamas, adekvatus algo-ritmo reiškimo būdas. Savaime aišku, kad Tiuringo mašinos programa yragalinga sudėtingų teorinių problemų tyrimo priemonė, tačiau labai nepritai-kyta praktiniam algoritmų realizavimui. Ypač kai visai nesvarbios algoritmorealizavimo detalės, kai jos gali būti (o praktikoje dažniausiai ir yra) paslėp-tos atskiruose algoritmo blokuose, į kuriuos galima žiūrėti kaip į tam tikras

”juodasias dėžes“. Tokiu atveju algoritmui reikšti geriau pritaikytos aukš-

tojo lygio programavimo kalbos, pavyzdžiui, Fortranas arba Paskalis. Kadneapsunkinti vadovėlio skaitymo antraeilėmis detalėmis, rašydami algorit-mų fragmentus, mes nesilaikysime jokios konkrečios programavimo kalbossintaksės. Todėl algoritmams reikšti pasirinktas vadinamas pseudokodas,kuris mūsų atveju šiek tiek primena C++ programavimo kalbą.

Paaiškinkime pagrindinius pseudokodo rašymo principus. Ten kur svarbupabrėžti (žr. 7.1 past.), kad teikiams alogoritmo tekstas rašysime žodžiusbegin ir end. Programos tekstą sudaro algoritmo blokai – operatoriai,kurie gali atlikti tam tikrus veiksmus ir valdyti tokių veiksmų atlikimus.Išnagrinėkime tokį algoritmo pseudokodo pavyzdį.

7.7 pavyzdys.begin (Kintamųjų reikšmių keitimas)

priskirti reikšmes x, yt = x (priskirti x reikšmę laikinam kintamajam t)x = y (priskirti y reikšmę kintamajam x)y = t (priskirti pradinę x reikšmę kintamajam y)

end

Matome, kad 7.7 pavyzdžio algoritme visai nesvarbus kintamųjų x, y,t tipas, kas būtų traktuojama kaip klaida realioje programoje. Priskyrimooperatorius vieną kartą apibrėžtas žodžiais (tai nepriimtina reialiai progra-mai, tačiau kartais labai patogu rašant pseudokodą), o toliau lygybės ženk-lu (=). Pastebėkime, kad daugelio programavimo kalbų sintaksė reikalaujaskirti lygybės (=) ženklą (sąlygą) nuo priskyrimo operatoriaus ir pastarasisrašomas su dvitaškiu (:=). Ten kur gali atsirasti dviprasmiškumas, lygybėssąlygą žymėsime dviem lygybės ženklais (==, t. y. laikomės C++ notacijos).

Page 284: AKrylovas_DiskrMatem_20080316

270 7 SKYRIUS. ALGORITMAI

7.3.2. Pseudokodo operatoriai

Kad išvengti besikartojančių pseudokodų komentarų susitarkime dėlstandartinių operatorių žymėjimų. Tarkime, kad veiksmą reikia atlikti tikesant išpildytai tam tikrai sąlygai arba sąlygoms. Pseudokode tai gali būtirealizuota keliais būdais.

beginif sąlyga then operatorius

end

Ši konstrukcija gali būti papildyta kitu, alternatyviuoju operatoriumi,kuris vykdo veiksmą, jei sąlyga negalioja.

beginif sąlyga then operatorius 1

else operatorius 2end

Tarkime, kad norime tikrinti kelias alternatyvias sąlygas ir vykdyti ati-tinkantį veiksmą. Kodo fragmentas gali atrodyti taip.

beginif sąlyga 1 then operatorius 1else if sąlyga 2 then operatorius 2. . . . . . . . .default operatorius

end

Taigi sąlygos tikrinamos, kol randama pirmoji galiojanti, arba, kai tokiosnerasta, atliekamas (atvejis default) veiksmas operatorius. Tokį algorit-mą galima realizuoti ir taip.

beginselect case (case)

case case == case1 operatorius 1case case == case2 operatorius 2. . . . . . . . .

end select caseend

Daug kartu besikartojančius algoritmo veiksmus patogiau realizuoti ci-klais. Kai veiksmas turi būti atliekamas tol, kol galioja tam tikra sąlyga,taikytina tokia pseudokodo konstrukcija.

begin

Page 285: AKrylovas_DiskrMatem_20080316

7.3. PSEUDOKODAS 271

while sąlyga do operatoriaiend do

end

Tokį ciklą galima realizuoti ir taip.begin

repeatoperatoriai

until sąlygaend

Pastebėkime, kad ciklo vykdymo sąlyga turi galioti prieš įeinant į jį (ki-taip jis nebus pradėtas vykdyti) ir turi būti keičiama jį vykdant (kitaip jisnebaigs darbo). Pavyzdžiui, ciklas7 while (x>0) do x++ end do nepradėsdarbo, jei pradinė x reikšmė neigiamoji ir niekada nebaigs darbo – priešinguatveju. Įdomu, kad ir Tiuringo mašina niekada nebaigia kai kurių programųvykdymo (nesustoja) ir todėl tokio atvejo galimybė nėra pseudokodo (arbakitos aukštojo lygio programavimo kalbos) trūkumas, o bendras algoritmųteorijos ypatumas. Taigi algoritmo autorius turi užtikrinti jo korektišką dar-bą. Kartais saugiau rašyti tokį ciklą realizuojantį pseudokodą:

for j = 1 to n do operatoriusČia atliekami veiksmai j = 1, j = 2, . . ., j = n. Arba kitas to pačio algorit-mo pseudokodo pavidalas:

for ∀j ∈ 1, 2, . . . , n do operatorius.

7.1 pastaba. Šiuolaikinės programavimo kalbos labai jautrios kodosintaksinėms klaidoms ir reikalauja labai griežtai laikytis formalių sin-taksės reikalavimų. Šia prasme pseudokodas artimesnis natūraliomskalboms, kurioms būdinga neteikti dalies informacijos, jei tai tai aiš-ku iš konteksto. Todėl mes irgi kartais rašome ne visus operatorius(pavyzdžiui, neparašėme end do paskutiniuose pseudokodo fragmen-tuose), nes papildomai teikiama informacija yra menka, o ilgesnį kodąsunkiau skaityti.

7.2 pastaba. Ciklo sąlygą ∀j ∈ 1, 2, . . . , n nurodo, kad turi bū-ti atlikti veiksmai su visais aibės elementais, tačiau nenurodo kokia

7Operatorius x++ prideda prie esamos x reikšmės 1, t. y. suskaičiuoja x+1 ir priskiriašią reikšmę kintamajam x. Tokios C++ notacijos būvimas yra vienas iš paaiškinimų kiekneįprasto šios kalbos pavadinimo.

Page 286: AKrylovas_DiskrMatem_20080316

272 7 SKYRIUS. ALGORITMAI

tvarka reikia tuos elementus perrinkti. Tai būtų visai nepriimtina rea-liai programai, tačiau, kai ši eilės tvarka nėra svarbi arba ją realizuojakuris nors kitas (ir mums nelabai svarbus) algoritmas, taip rašyti pa-togiau. Pavyzdžiui, kai aibės elementai nesunumeruoti.

7.8 pavyzdys. Parašykime Euklido algorimo (žr. 7.1 pav. 260 psl.)pseudokodą.

beginInput x, y (įvesti kintamųjų reikšmes)

while x! = y do(vykdyti ciklą, kol x nelygus y;! = yra nelygybės C++ notacija)

if (x > y) then x = x− yelse if (y > x) then y = y − xdefault z = x

end do (ciklo pabaiga)

Output z(išvesti kintamojo z reikšmę– skaičių x ir y didžiausiąjį bendrąjį daliklį)

end

Išnagrinėkime visus 7.8 pav. algoritmo žingsnius, kai pradinės reikšmėsx = 16 ir y = 24. Surašykime visus veiksmus į lentelę.

žingsnis x y z komentaras1 16 24 ? darbo pradžia; z reikšmė nepriskirta2 16 8 ? atvejis y > x; atliktas veiksmas y = 24− 163 8 8 ? atvejis x > y; atliktas veiksmas x = 16− 84 8 8 8 atvejis x = y; atliktas veiksmas z = 85 8 8 8 darbo pabaiga

7.4. Algoritmų sudėtingumas

7.4.1. Sudėtingumo sąvoka

Panagrinėkime apibrėžtų algoritmų atliekamų operacijų skaičius. Pra-dėkime nuo Euklido algoritmo (žr. 7.1.1. 259 psl.) ir įvertinkime žingsniųskaičių k(x, y). Reikia ištirti visus galimus atvejus x ir y, kai x → ∞ iry → ∞ arba kai uždavinio matmuo n = max x, y → ∞. Jei vienas išskaičių x ir y lygus 1, Euklido algoritmas turės atlikti operaciją x := x− 1arba y := y− 1 bei palyginimo operacijas x < y arba y < x daug kartų ir joveikimo laikas bus daug didesnis negu, pavyzdžiui, kai x = y ir z = x. (Šiuoatveju z bus rastas po kelių palyginimų.)

Page 287: AKrylovas_DiskrMatem_20080316

7.4. ALGORITMŲ SUDĖTINGUMAS 273

Susitarkime, kad nagrinėjant algoritmo efektyvumą turi būti įvertinamasjo veikimo laikas blogiausiu atveju8. Kadangi realaus uždavinio sprendimolaikas priklauso ne tik nuo algoritmo, bet ir nuo kompiuterinės programosbei konkretaus kompiuterio ypatumų, jis netinka teoriniams algoritmų ty-rimamas. Todėl algoritmo veikimo laikas suprantamas kaip abstrakčiosios,pavyzdžiui, Tiuringo (žr. 7.2.1. 261 psl.) skaičiavimo mašinos žingsnių, rei-kalingų uždaviniui išspręsti blogiausiu atveju, maksimalusis skaičius S(n).Taigi funkcija S(n) ir vadinama algoritmo sudėtingumu.

Rasti tikslų šios funkcijos pavidalą pavyksta tik kai kuriais atvejais irneturi didelės vertės dėl jos

”jautrumo“ neesminiams algoritmo keitimams.

Tarkime, papildę Euklido algoritmą palyginimu

if (x = 1 ∨ y = 1 ) z = 1,

galime gerokai sumažinti žingsnių skaičių. Be to, nėra esminio skirtumo, aralgoritmas atliks n+ 1 ar n− 2 operacijas, kai n – uždavinio matmuo – yradidelis skaičius. Nėra esminio skirtumo, ar S(n) = 10n3, ar S(n) = 9n3, ka-dangi technologijų plėtra, programinės įrangos tobulinimas ir panašūs veiks-niai turi daug didesnę įtaką praktiškai taikant algoritmą. Pastebėkime dar,kad ir funkcijos S(n) argumentas n gali būti įvairiai apibrėžtas ir ne visadayra tiksliai išmatuojamas dydis. Pavyzdžiui, grafas gali būti apibrėžtas jogretimumo n× n arba incidencijų n×m matrica. Tačiau galima ir surašy-ti gretimas grafo viršūnių aibes. Išdėstyti samprotavimai paaiškina, kodėlalgoritmų teorija paprastai apsiriboja funkcijos S(n) įverčiais. Pavyzdžiui,Euklido algoritmo sudėtingumą galime įvertinti S(n) = O(n), kai n → ∞.Priminsime žymėjimo O(S(n)) = O(f(n)) prasmę: ∃C : S(n) 6 C f(n).

Kitas mūsų nagrinėtas algoritmas maksimaliam grafo viršūnės laipsniuiskaičiuoti atlieka veiksmus su grafo gretimumo matrica. Jo veikimo laikasyra determinuotas ir nagrinėti blogiausio atvejo čia nereikia. Nors reikalingųoperacijų skaičius S(n) šiuo atveju gali būti nustatytas tiksliai, tai neturididelės prasmės dėl jau minėto funkcijos S(n) jautrumo neesminiams algo-ritmo keitimams. Todėl ir šiuo atveju apsiribojame įverčiu S(n) = O(n2).

7.4.2. Polinominis sudėtingumas

Kai funkcija S(n) = O(nα) (α > 0), sakome, kad turime polinominiosudėtingumo algoritmą. Ši savybė patogi sudėtingų algoritmų analizei, kai

8Praktikoje gali būti svarbus vidutinis atvejis, kurio teorinis tyrinėjimas reikalaujaįvairių galimybių, tikimybių pasiskirstymo žinojimo ir yra gana sudėtingas.

Page 288: AKrylovas_DiskrMatem_20080316

274 7 SKYRIUS. ALGORITMAI

vienas algoritmas taiko kitą dėstomą algoritmą dviejų aibių susikirtimui nu-statyti). Jei abudu algoritmai yra polinominio sudėtingumo, jų superpozicijairgi bus polinominis algoritmas.

Algoritmas, sprendžiantis uždavinį per laiką S(n) > nα ∀α > 0, vadi-namas eksponentiniu. Tokie yra, pavyzdžiui, algoritmai su sudėtingumaisO(2n), O(n!) arba O(nn).

Polinominis algoritmas greitesnis už eksponentinį, kai uždavinio matmuon yra pakankamai didelis. Lentelėje palyginamas polinominio algoritmo susudėtingumu n10 augimo greitis su eksponentinio algoritmo nn augimu.

n n10 nn

5 9.77 · 106 312510 1010 1010

15 5.77 · 1011 4.38 · 1017

20 1.02 · 1013 1.05 · 1026

25 9.54 · 1013 8.88 · 1034

Galimas atvejis, kai polinominis algoritmas negali būti pritaikytas dėl la-bai didelio laiko (pvz., n100, n = 15), o eksponentinis algoritmas 2n = 32768taikytinas. Tačiau patirtis rodo, kad, jei uždaviniui spręsti egzistuoja sudė-tingumo O(nα) polinominis algoritmas, jį paprastai pavyksta patobulinti irsumažinti laipsnį iki α = 3 arba α = 4.

7.4.3. Sunkieji uždaviniai

NP uždavinių klasė

Uždaviniai, kuriems spręsti neegzistuoja polinominis algoritmas, yravadinami sunkiaisiais. Aišku, kad kai kurių uždavinių iš principo negalimaišspręsti per polinominį laiką. Pavyzdžiui, sugeneruoti visų 2|A| aibės A po-aibių. Todėl toliau bus kalbama tik apie atpažinimo uždavinius: algoritmasAlg tikrina, ar tam tikras objektas U turi kokią nors savybę

Alg(U)→(taipne

)

.

Paminėkime keletą tokių uždavinių.

• Sudėtiniai skaičiai. Patikrinti, ar natūralusis skačius a yra kuriųnors sveikųjų skaičių x > 1; y > 1 sandauga: a = x · y.

• Hamiltono ciklas. Patikrinti, ar grafas turi Hamiltono ciklą.

Page 289: AKrylovas_DiskrMatem_20080316

7.4. ALGORITMŲ SUDĖTINGUMAS 275

• Aibės skaidymas. Patikrinti, ar turimą svertinę9 baigtinę aibę gali-ma suskaidyti į du vienodo svorio blokus.

Šiuos uždavinius galima spręsti pilnu visų variantų perrinkimu, t. y. eks-ponentiniais algoritmais. Tačiau priskirti jų prie sunkiųjų uždavinių negali-ma, kadangi nėra žinoma, ar jiems spręsti egzistuoja polinominiai algorit-mai. Todėl tokiems uždaviniams tirti algoritmų teorija apibrėžia dar vienąklasę – NP10 uždavinius. Griežtas šios klasės apibrėžimas yra sudėtingasir galimas Tiuringo mašinos papildymu

”spėliojimų“ bloku. Apsiribosime

neformaliu NP klasės sąvokos paaiškinimu.Tarkime, kad uždavinio sprendimą galima suskaidyti į dvi stadijas: spė-

jimo ir tikrinimo. Spėjimo rezultatas yra tam tikra struktūra, kuri antrojestadijoje patikrinama per polinominį laiką. Jei patikrinimo rezultatas yra

”taip“, algoritmas baigia darbą. Priešingu atveju grįžtama prie spėjimo sta-

dijos. Pavyzdžiui, siūlomi įvairūs grafo ciklai patikrinti, ar jie praeina lygiaipo vieną kartą per kiekvieną grafo viršūnę. Atsakymo

”taip“atveju gau-

name Hamiltono grafą ir nutraukiame algoritmo darbą. Priešingu atvejutikriname kitą grafo ciklą.

Iš NP uždavinių klasės apibrėžimo išplaukia, kad polinominių uždaviniųklasė P (t. y. tokių uždavinių, kuriems spręsti egzistuoja polinominiai algo-ritmai) išpildo sąlygą P ⊂ NP . Tačiau nėra įrodyta, kad P 6= NP , ir šisklausimas yra neišspręsta algoritmų teorijos problema.

NP klasės tyrimas

NP uždavinių teorijos pamatą sudaro hipotezė, kad

NP \ P 6= ∅

(t. y. P 6= NP ). Svarbus šios teorijos rezultatas yra įrodymas, kad kelišimtai gerai žinomų NP klasės uždavinių gali būti transformuoti vienas į kitąper polinominį laiką. Ši uždavinių savybė vadinama jų transformuojamumuir leidžia išskirti dar vieną NP pilnųjų (žymime NPC) uždavinių klasę. Jąsudaro visi NP klasės uždaviniai, transformuojami į kurį nors vieną laisvaipasirinktą NPC klasės uždavinį. Įrodyta, kad, jei P 6= NP , tai ir NPC 6=NP . Taigi šiuo metu vyrauja 7.2 pav. pavaizduotas sunkiųjų uždaviniųklasifikavimas.

9Kiekvienam aibės elementui a ∈ A priskirtas neneigiamas svoris s(a). Poaibio B ⊂ Asvoris s(B) =

P

a∈B

s(a).

10Nondeterministically Polynomial.

Page 290: AKrylovas_DiskrMatem_20080316

276 7 SKYRIUS. ALGORITMAI

7.2 pav. Sunkieji uždaviniai

Dar viena neišspręsta NP uždavinių teorijos problema yra uždavinių pa-pildinių tyrimas. Uždavinio U papildinys U c yra uždavinys su priešinguatsakymu. Pavyzdžiui, uždavinį

”sudėtiniai skaičiai“galima pakeisti to-

kiu uždaviniu.

”Pirminiai skaičiai“: patikrinti, ar turimas natūralusis skaičius yra

pirminis.

Abu šie uždaviniai priklauso klasei NP , tačiau nėra žinoma, ar jie pri-klauso klasei NPC. Bendruoju atveju nėra įrodyta, kadU ∈ NP ⇒ U c ∈ NP . Todėl apibrėžiama dar viena uždavinių klasėco-NP = U c : U ∈ NP. Žinoma, kad, jei egzistuoja bent vienas toksuždavinys U ∈ NPC & U c ∈ NP , tai NP =co-NP . Kadangi abudu (pir-minių ir sudėtinių skaičių) uždaviniai yra NP klasės, jei jie būtų ir iš NPCklasės, mes gautume, kad co-NP = NP , tačiau tikriausiai taip nėra. Todėlvyrauja hipotezė, kad šie uždaviniai priklauso klasei NP \NPC.

NPC klasės uždaviniai

Žinomi keli šimtai šios klasės uždavinių, tarp jų jau minėtasis Hamil-tono ciklo uždavinys. Paminėsime dar kelis NPC klasės uždavinius.

Dominuojančioji aibė. Turimas grafas G = (V,B) ir natūralusis skai-čius k. Patikrinti, ar egzistuoja tokia stabilioji iš išorės aibė V ′ ⊂ V , kad|V ′| 6 k.

Page 291: AKrylovas_DiskrMatem_20080316

7.4. ALGORITMŲ SUDĖTINGUMAS 277

Nepriklausomoji aibė. Turimas grafas G = (V,B) ir natūralusis skai-čius k. Patikrinti, ar egzistuoja tokia stabilioji iš vidaus aibė V ′ ⊂ V , kad|V ′| > k.

Klika. Turimas grafas G = (V,B) ir natūralusis skaičius k. Patikrinti,ar jis turi ne mažesnės kaip k-osios eilės pilnąjį pografį – (kliką).

Sutraukimas. Turimi du grafai G1 = (V1, B1) ir G2 = (V2, B2). Pa-tikrinti, ar galima, taikant grafui G1 viršūnių sutapatinimo operaciją, gautigrafą, izomorfinį grafui G2.

Branduolys. Patikrinti, ar orientuotasis grafas turi branduolį.

Kvadratiniai lyginiai. Turimi natūralieji skaičiai x, y ir z. Patikrinti,ar egzistuoja toks natūralusis skaičius w < x, kad w2 ≡ y (mod z).

Įvykdymas. Patikrinti, ar yra įvykdoma bulinė funkcija.

Klausimai ir užduotys

7.1 Raskite algoritmo išvedimo duomenis, kai įvedimo duomenys x = 5,y = 6.

beginInput x, yi = 0j = x

while i ! = y doi+ +j = x ∗ i

end doOutput j

endNustatykite ciklinio kartojimosi sąlygas (kai algorimas niekada nesustoja).Pakeiskite pseudokodą, kad algoritmas išvestų masyvo reikšmes. Raskitepradinius duomenis masyvui 2, 4, . . ., 100 išvesti.

7.2 Sudarykite Tiuringo mašiną, kuri dešimtainėje sistemoje atimtų iš vie-no natūraliojo skaičiaus kitą.

Page 292: AKrylovas_DiskrMatem_20080316

278 7 SKYRIUS. ALGORITMAI

7.3 Sudarykite Tiuringo mašiną, kuri dešimtainėje sistemoje daugintų na-tūralujį skaičių iš 2.

7.4 Sukonstruokite algoritmą, kuris tikrintų ar abėcelėsa, b, c,∨,&,¬, ), ( žodis yra formulė.

7.5 Sukonstruokite algoritmą, kuris skaičiuotų postfiksinio pavidalo loginėsformulės reikšmę.

7.6 Sukonstruokite algoritmą, kuris skaičiuotų prefiksinio pavidalo loginėsformulės reikšmę.

7.7 Sukonstruokite algoritmą, kuris pertvarkytų infiksinio pavidalo loginęformulę į prefiksinį pavidalą.

Pastabos ir komentarai

Algoritmas yra viena iš pagrindinių matematikos sąvokų. Žodis algoritmas kylanuo matematiko pavardės11 ir pradžioje reiškė aritmetinių veiksmų taisykles dešimtainėjesistemoje12 . Vėliau šis žodis įgyjo platesnę prasmę ir pradėjo reikšti tam tikrų veiksmųsąrašą. Kurį laiką šį žodį vartojo tik matematikai, kaip įvairių uždavinių sprendimo tai-sykles, pavyzdžiui, kvadratinės lygties sprendimo žingsnius arba kampo dalijimo pusiauskriestuvu ir liniuote procedūrą. Dabar algoritmu galima pavadinti ir maisto gaminimoaprašymą kulinarinėje knygoje, naudojimosi telefonu automatu instrukciją, grafinio artekstinio pranešimo mobiliuoju telefonu siuntimą ir pan.

11al-Chorezmi (Algorithmi) (787 – apie 850) – Vidurinės Azijos matematikas ir astro-nomas.

12Europos matematikai susipažino su dešimtaine sistema XII amžiuje iš al-Chorezmiotraktato vertimo į lotynų kalbą.

Page 293: AKrylovas_DiskrMatem_20080316

7.4. ALGORITMŲ SUDĖTINGUMAS 279

Atsakymai

1.1 testasklausimai 1 2 3atsakymai 1 4 3

1.2 testasklausimai 1 2 3 4 5 6atsakymai 4 4 2 3 3 2

1.3 testasklausimai 1 2 3 4atsakymai 1 2 4 5

1.4 testasklausimai 1 2 3 4 5 6 7 8 9 10atsakymai 2 3 3 3 4 1 6 2 4 1

1.5 testasklausimai 1 2 3atsakymai 1 2 2

1.6 testasklausimai 1 2 3 4 5 6atsakymai 2 6 2 1 3 4

Klausimai ir užduotys (45 psl.)1.4Visos keturios.1.5F (x, y, z) = x&y ∨ x&z.1.6F (x, y, z) = x&y ⇒ z.1.7Pirmas yra antro loginė išvada.

7.1Kai x = 5, y = 6 bus išvesta j = 6. Jei y < 1 algoritmas įvyks ciklo begalinis kartoji-mas. Masyvui skaičiuoti operatorių OUTPUT reikia įterpti į ciklą. Nurodytam masyvuiapskaičiuoti reikia įvesti x = 2, y = 101.

2.1 testasklausimai 1 2 3atsakymai 3 5 5

2.2 testasklausimai 1 2 3atsakymai 1 4 2

2.3 testasklausimai 1 2 3 4 5 6 7 8 9 10 11 12atsakymai 2 4 3 1 4 2 1 1 1 4 4 3

Page 294: AKrylovas_DiskrMatem_20080316

280 7 SKYRIUS. ALGORITMAI

2.4 testasklausimai 1 2 3 4atsakymai 1 2 2 1

2.5 testasklausimai 1 2 3 4atsakymai 3 1 1 5

2.6 testasklausimai 1 2 3atsakymai 1 1 3

2.7 testasklausimai 1 2 3 4atsakymai 4 1 4 1

2.8 testasklausimai 1 2 3 4 5 6 7 8 9 10atsakymai 1 2 1 2 2 3 1 2 3 2

2.1w b v L(w, b, v)

0 0 0 1

0 0 1 1

0 1 0 1

0 1 1 1

1 0 0 1

1 0 1 1

1 1 0 1

1 1 1 0

a) turi vieną sprendinį L(1, 1, 1) = 0;b) nėra savidualioji, nėra monotoninė, nėra tiesinė;c) L(w, b, v) = w&b&v ∨ w&b&v ∨ w&b&v ∨ w&b&v ∨ w&b&v ∨ w&b&v ∨ w&b&v;d) L(w, b, v) = w ∨ b ∨ v.

2.2turi vieną sprendinį; nėra savidualioji, nėra monotoninė, nėra tiesinė; disjunkcinė formaL(a, c, z) = a&c&z; konjunkcinė:L(a, c, z) = (a∨c∨z)&(a∨c∨z)&(a∨c∨z)&(a∨c∨z)&(a∨c∨z)&(a∨c∨z)&(a∨c∨z).

2.3α.

2.4α, γ ir β, γ.

2.5iš šių funkcijų negalima sudaryti pilnųjų sistemų.

3.1 testasklausimai 1 2 3 4 5 6 7 8 9atsakymai 2 4 1 2 2 3 4 1 3

3.2 testas

Page 295: AKrylovas_DiskrMatem_20080316

7.4. ALGORITMŲ SUDĖTINGUMAS 281

klausimai 1 2 3atsakymai 3 5 5

3.3 testasklausimai 1 2 3 4 5atsakymai 1 2 4 5 1

3.4 testasklausimai 1 2 3 4 5atsakymai 1 2 2 3 1

3.5 testasklausimai 1 2 3 4 5 6atsakymai 1 3 2 1 2 8

3.1(C \ P ) ∪ H .3.2(C \ F ) ∪ B.3.3A \ D.3.4F = (B ∩ G) ∪ (B ∩ G) = (B ∪ G) ∩ (B ∪ G).

3.5128.3.6126.

4.1 testasklausimai 1 2 3atsakymai 4 2 4

4.2 testasklausimai 1 2 3 4 5 6 7 8 9atsakymai 2 3 2 2 3 4 4 3 1

4.3 testasklausimai 1 2 3 4 5 6 7atsakymai 2 4 4 2 2 1 4

4.4 testasklausimai 1 2 3 4 5 6atsakymai 1 1 3 3 4 4

4.5 testasklausimai 1 2 3 4 5 6atsakymai 4 4 2 2 2 4

4.6 testasklausimai 1 2 3 4atsakymai 2 2 4 3

Page 296: AKrylovas_DiskrMatem_20080316

282 7 SKYRIUS. ALGORITMAI

4.1Abu sąryšiai.

5.1 testasklausimai 1 2atsakymai 7 2

5.2 testasklausimai 1 2 3 4 5 6atsakymai 1 2 2 1 2 3

5.3 testasklausimai 1 2 3atsakymai 3 1 5

5.4 testasklausimai 1 2 3 4 5atsakymai 4 2 2 2 5

5.5 testasklausimai 1 2 3 4atsakymai 2 3 5 5

5.6 testasklausimai 1 2 3 4 5 6 7 8 9atsakymai 5 2 3 3 3 1 2 2 3

5.12nm.

6.1 testasklausimai 1 2 3 4atsakymai 3 3 4 4

6.2 testasklausimai 1 2 3 4 5 6 7 8 9 10atsakymai 2 1 2 4 3 3 3 4 2 5

6.3 testasklausimai 1 2 3atsakymai 3 1 2

6.4 testasklausimai 1 2 3 4atsakymai 4 6 4 2

6.5 testasklausimai 1 2 3 4atsakymai 4 2 3 5

6.6 testasklausimai 1 2 3 4 5 6atsakymai 3 4 3 3 3 4

Page 297: AKrylovas_DiskrMatem_20080316

7.4. ALGORITMŲ SUDĖTINGUMAS 283

6.7 testasklausimai 1 2 3 4 5 6 7 8atsakymai 7 7 6 1 3 4 7 1

6.8 testasklausimai 1 2atsakymai 1 3

6.9 testasklausimai 1 2 3 4 5atsakymai 4 2 1 7 8

6.10 testasklausimai 1 2 3 4 5 6atsakymai 5 2 3 2 3 5

6.1

a)b) 1; c) 2; d) 1 ir 2; e) vieną.

6.2

a)b) vieną; c) vieną; d) 5; e) 1.

6.3s, l, s, b, l, e, l, c, l, g, b, c, b, g;

Page 298: AKrylovas_DiskrMatem_20080316

284 7 SKYRIUS. ALGORITMAI

Page 299: AKrylovas_DiskrMatem_20080316

7.4. ALGORITMŲ SUDĖTINGUMAS 285

Page 300: AKrylovas_DiskrMatem_20080316

286 7 SKYRIUS. ALGORITMAI

Page 301: AKrylovas_DiskrMatem_20080316

Literatūra

[1] K. Plukas, E. Mačikėnas, B. Jarašiūnaitė, I. Mikuckienė. Taikomojidiskrečioji matematika. Technologija, Kaunas, 2003. 330 p. ISBN9955-09-031-6.

[2] F. Mišeikis. Diskretinės matematikos pradmenys: Mokomojipriemonė. VU leidykla, Vilnius, 1989. 162 p.

[3] V. Dičiūnas, G. Skersys. Diskrečioji matematika: mokymo priemonė.VU, Vilnius, 2003. 100 p.,http://www.mif.vu.lt/katedros/cs/Asmen/Diskr_matematika.htm(žiūrėta 2008 01 01).

[4] A. Krylovas, O. Suboč. Diskrečiosios matematikos uždavinynas.Mokomoji knyga.

”VOX MUNDI “, Vilnius, 2004. 87 p.

ISBN 9955-9671-1-0.

[5] A. Krylovas, O. Suboč. Diskrečiosios matematikos uždaviniai irsprendimai. Uždavinynas. Technika, Vilnius, 2006. 128 p.ISBN 9955-28-065-4.

[6] S. C. Althoen and R. J. Bumcrot. Introduction to DiscreteMathematics. PWS-KENT. The Prindle, Weber & Schmidt series inmathematics, Boston, 1988. 346 p. ISBN 0-534-91504-3.

[7] S. Roman. An Introduction to Discrete Mathematics. SaundersCollege Publ., Philadelphia, 1986. 455 p. ISBN 0-03-064019-9.

[8] V. K. Balakrishnan. Introductory discrete mathematics. Prentice -Hall International, Englewood Cliffs (N. J.), 1991. 236 p.ISBN 0-13-039942-6.

[9] B. Kolman and R. C. Busby. Introductory discrete structures withapplications. Prentice – Hall, Englewood Cliffs (N. J.), 1987. 364 p.ISBN 0-13-500794-1.

287

Page 302: AKrylovas_DiskrMatem_20080316

288 LITERATŪRA

[10] F. A. Novikov. Diskretnaja matematika dlia programmistov. Piter,Sankt-Peterburg, 2000. 304 p. ISBN 5-272-00183-4.

[11] A. I. Belousov, Tkačev S. B. Diskretnaja matematika. "IzdatelstvoMGTU", Moskva, 2006. 744 p. ISBN 5-7038-2886-4.

[12] A. Krylovas. Diskrečioji matematika: logika, aibės, kombinacijos,sąryšiai, informacija: [paskaitų konspektas].

”VOX MUNDI “,

Vilnius, 2003. 70 p.

[13] A. Krylovas. Diskrečioji matematika: grafai, algoritmai: [paskaitųkonspektas].

”VOX MUNDI “, Vilnius, 2003. 58 p.

[14] A. Krylovas. Diskrečioji matematika: paskaitų, skaitomų pagal VGTUmodulius FMMMB02004 ir FMMMB0644, konspektas.

”VOX

MUNDI “, Vilnius, 2004. 124 p. ISBN 9955-9671-0-2.

[15] A. Krylovas. Diskrečioji matematika. Mokomoji knyga. Technika,Vilnius, 2005. 144 p. ISBN 9986-05-837-6.

[16] A. Krylovas and E. Paliokas. Discrete mathematics: textbook.Technika, Vilnius, 2006. 195 p. ISBN 9986-05-958-5.

[17] R Haggarty. Discrete mathematics for computing. Addison-Wesley,Harlow, England, 2001. 248 p. ISBN 0-201-73047-2.

[18] R. Čiegis, V. Būda. Skaičiuojamoji matematika. TEV, Vilnius, 1997.240 p. ISBN 9986-546-25-7.

[19] R. Čiegis. Diferencialinių lygčių skaitiniai sprendimo metodai:vadovėlis aukštųjų mokyklų studentams, studijuojantiems matematikąir informatiką. Technika, Vilnius, 2003. 439 p. ISBN 9986-05-588-1.

[20] R. Čiegis. Lygiagretieji algoritmai ir tinklinės technologijos: vadovėlisaukštųjų mokyklų studentams, studijuojantiems informatiką irmatematiką. Technika, Vilnius, 2005. 320 p. ISBN 9986-05-910-0.

[21] R. Čiegis. Lygiagretieji algoritmai: vadovėlis aukštųjų mokyklųstudentams, studijuojantiems matematiką ir informatiką. Technika,Vilnius, 2001. 226 p. ISBN: 9986-05-462-1.

[22] R. Čiegis. Duomenų struktūros, algoritmai ir jų analizė: vadovėlisaukštųjų mokyklų studentams, studijuojantiems informatiką irmatematiką. Technika, Vilnius, 2007. 324 p. ISBN 978-9955-28-109-2.

Page 303: AKrylovas_DiskrMatem_20080316

LITERATŪRA 289

[23] A. Vidžiūnas. C++ ir C++ Builder pradmenys.”

Smaltijos “ l-kla,Kaunas, 2002. 316 p. ISBN 9986-965-72-1.

[24] S. Norgėla. Matematinė logika. TEV, Vilnius, 2004. 192 p.ISBN 9955-491-60-4.

[25] S. Norgėla. Logika ir dirbtinis intelektas: vadovėlis aukštųjų mokyklųstudentams. TEV, Vilnius, 2007. 256 p. ISBN 978-9955-680-55-0.

[26] R. Lassaigne, M. de Rougemont. Logika ir informatikos pagrindai:vadovėlis aukštųjų mokyklų studentams. (Vertimas iš prancūzųkalbos). Žodynas, Vilnius, 1996. 243 p. ISBN 9986-465-28-1.

[27] V. Jusas. Matematinė logika: mokomoji knyga. Technologija, Kaunas,2002. 156 p. ISBN 9955-09-123-1.

[28] L. Griniuvienė. Matematinė logika: (mokymo priemonė). VPU l-kla,Vilnius, 1997. 86 p. ISBN 9986-869-02-1.

[29] E. Mendelson. Introduction to Mathematical Logic. Chapman &Hall/CRC, New York, 2001. 440 p. ISBN 0-412-80830-7.

[30] V. I. Igošin. Matematičeskaja logika i teorija algoritmov.

”Akademija “, Moskva, 2008. 447 p. ISBN 5-7695-4593-1.

[31] Ju. L. Eršov, Paliutin E. A. Matematičeskaja logika.”

Nauka “,Moskva, 1987. 336 p.

[32] V. I. Igošin. Zadači i upražnenija po matematičeskoi logike i teoriialgoritmov.

”Akademija “, Moskva, 2005. 304 p. ISBN 5-7695-1364-0.

[33] V. I. Lavrov, Maksimova L. L. Zadači po teorii množestv,matematičeskoi logike i teorii algoritmov.

”Fizmatlit “, Moskva, 2004.

255 p. ISBN 5-9221-0026-2.

[34] J. A. Anderson. Discrete Mathematics with Combinatorics. PrenticeHall, Upper Saddle River, New Jersey 07458, 2003. 799 p.ISBN 0-13-086998-8.

[35] V. A. Gorbatov, Gorbatov A. V., Gorbatova M. V. Diskretnajamatematika. "Izdatelstvo Astrel", Moskva, 2003. 447 p.ISBN 5-271-06991-5.

[36] S. Yablonsky. Introduction to discrete mathematics. (Vertimas iš rusųkalbos). "Mir", Moscow, 1989. 384 p.

Page 304: AKrylovas_DiskrMatem_20080316

290 LITERATŪRA

[37] P. Clote and E. Kranakis. Boolean Functions and ComputationModels. "Springer-Verlag Berlin Hedelberg", New York, 2002. 615 p.ISBN 3-540-59436-1.

[38] J. E. Whitesitt. Boolean Algebra and Its Applications."Addison-Wesley", 1995. 192 p. ISBN 0-486-68483-0.

[39] A. Bulota. Susipažinkime su aibėmis. "Mintis", Vilnius, 1973. 94 p.

[40] J. Kubilius. Realaus kintamojo funkcijų teorija. "Mintis", Vilnius,1970. 284 p.

[41] A. Jonušauskas. Aibių teorija. Vilnius, 1976. 63 p.

[42] P. Alekna. Aibės, jų galia ir struktūra. ŠPI, Šiauliai, 1996. 52 p. ISBN9986-38-011-1.

[43] V. Kazakevičius. Aibių teorija: mokomoji priemonė. VU spaust.",Vilnius, 1995. 84 p. ISBN 9986-19-137-8.

[44] A. Kiseliovas. Matematikos bendrosios sąvokos; Aibė. "Repriza",Šiauliai, 1994. 31 p. ISBN 9986-547-03-2.

[45] V. Viruišis. Matematinės logikos, aibių teorijos ir kombinatorikoselementai : paskaitų konspektas. Vilnius, 1980. 60 p.

[46] R. L. Graham, D. E. Knuth, and O. Patashnik. ConcreteMathematics. A Foundation for Computer Science. Addison-Wesley,Harlow, England, 1994. 672 p. ISBN 0-201-55802-5.

[47] A. J. Morkeliūnas. Binarieji sąryšiai, grafai ir operacijų tyrimas:mokomoji ir metodikos knygelė. VU, Vilnius, 1998. 63 p.

[48] R. R. Stoll. Sets, Logic, and Axiomatic Theories. "Freeman and Co.",San Francisco, 1979. 474 p. ISBN 0-486-63829-4.

[49] Ju. Schreider. Equality, Resemblance, and Order. "MIR", Moscow,1975. 279 p. (Vertimas iš rusų kalbos).

[50] A. Krylovas, J. Raulynaitis. Kompleksinio kintamojo funkcijų teorija.Mokomoji knyga. Technika, Vilnius, 2006. 188 p. ISBN 9955-28-007-7.

[51] A. Krylovas. Integralinis skaičiavimas pasitelkiant Maple. Mokomojiknyga. Technika, Vilnius, 2003. 112 p. ISBN 9986-05-633-0.

Page 305: AKrylovas_DiskrMatem_20080316

LITERATŪRA 291

[52] N. Vilenkinas. Kombinatorika: pagalbinė priemonė mokiniams.(Vertimas iš rusų kalbos). "Šviesa", Kaunas, 1979. 248 p.

[53] M. Bloznelis. Kombinatorikos paskaitų ciklas: mokomoji priemonė."VU l-kla", Vilnius, 1996. 64 p. ISBN 9986-19-217-X.

[54] O. Ore. Grafai ir jų pritaikymas. (Vertimas iš anglų kalbos). "Mintis",Vilnius, 1973. 144 p.

[55] P., R. Arnoldas Tannelbaumas. Kelionės į šiuolaikinę matematiką.(Vertimas iš anglų kalbos). "TEV", Vilnius, 1995. 512 p. ISBN9986-546-01-X.

Page 306: AKrylovas_DiskrMatem_20080316

Rodyklė

”modus ponens“, 19, 25, 27

”modus tollens“, 19, 25

, 189

absorbcija, 20abėcėle, 15abėcėlė, 27, 36aibių

sąjunga, 93aibė

maksimalioji, 116minimalioji, 116sutvarkytoji, 133tuščioji ∅, 89universalioji, 89universaloji, 116

aibėspoaibis, 89

tikrinis, 90aksiomos, 27algoritmas, 278

Euklido, 259, 272algoritmo

efektyvumas, 272sudėtingumas, 272, 273sąvoka, 259

antecedentas (prielaida), 13antirefleksyvumas, 41aplinka, 196aritmetika

formalioji, 42

asimptotinis viršutinis įvertis, 141asociatyvumas, 20, 123atstumas, 204atvirasis maršrutas, 200atvirkštinis sąryšis, 117augimo greitis, 141

baigtinė matematika, xbazė, 231bendrumo kvantorius ∀, 31bichromatusis

grafas, 247bijekcija, 136blokas, 213branduolys, 244, 254briauna, 195briauninis grafas, 224buleanas, 91, 133

centras, 204charakteristinė matrica, 111ciklas, 199, 201

Hamiltono, 223ciklas Cn, 243ciklinė suma, 207ciklų bazė, 231

dalinė tvarka, 41dalykinis kintamasis, 31daugiareikšmė logika, 30de Morgano

logikos dėsniai, 19

292

Page 307: AKrylovas_DiskrMatem_20080316

RODYKLĖ 293

de Morgano dėsnis, 37dedukcijos teorema, 28disjunkcija

griežtoji ∨, 13disjunkcija ∨, 11, 34disjunkcijos įvedimo taisyklė, 26distributyvumas, 20, 21dominuojantis (stabilusis iš išorės)

poaibis, 235duomenų bazė, 110dvidalis pilnasis grafas Kp,q, 244dvigubojo neigimo dėsnis, 19dėsnis

de Morgano, 37

efektyvumas, 272egzistavimo kvantorius ∃, 31eilė, 195ekscentricitetas, 204eksponentinis sudėtingumas, 274ekvivalentumas, 17ekvivalentumas ⇔, 11ekvivalentumo klasė, 131ekvivalentumo sąryšis, 130ekvivalenčiosios loginės formulės∼=,

16ekvivalenčiųjų pertvarkių metodas,

22Euklido algoritmas, 259, 272

faktoraibė, 132formalioji aritmetika, 42formulė, 14

elementarioji, 36grafo briaunų skaičiaus, 197išskirtoji, 30propozicinė, 2įvykdomoji, 16

formulėsekvivalenčiosios ∼=, 16

gylis, 4loginės, 27pavidalas

infiksinis, 8postfiksinis, 7prefiksinis, 7

poformulis, 4, 36propozicinės, 3

formulės pavidalasinfiksinis, 16postfiksinis, 16prefiksinis, 16

funkcija, 135funkciją

generuojančioji, 177funkcinė raidė, 35

generuojančioji funkcija, 177geometrinė progresija, 178grafai

homeomorfiniai, 243grafas, 193

aciklinis, 214bichromatusis, 247briauninis grafas, 224homogeninis, 198jungusis, 201neorientuotas, 194neorientuotasis, 195neskaidusis, 210nežymėtasis, 238nulinis, 195paprastasis, 194Peterseno, 245pilnasis, 196pilnasis dvidalis Kp,q, 244planarusis, 241ploksčiasis, 241silpnasis (silpnai jungusis), 253stiprusis (stipriai jungusis), 253

Page 308: AKrylovas_DiskrMatem_20080316

294 RODYKLĖ

trivialusis, 195, 210tuščiasis, 195žymėtasis, 238

grafoblokai, 213blokas, 213branduolys, 254briauna, 195briaunos pašalinimas, 209centras, 204ciklas, 199eilė, 195ekscentricitetas, 204išėjimas, 254kilpos, 193kirpis, 216lankai, 193papildinys, 207pografis, 207, 213puskelis, 253skersmuo, 204skiriančioji aibė, 216spindulys, 204sujungimo taškas, 210tiltas(siejančioji briauna), 215vidinis stabilumas, 233viršūnė, 193

izoliuotoji, 198nusvirusioji, 198

viršūnės, 193viršūnės aplinka, 196viršūnės pašalinimas, 209įėjimas, 254

grafųciklinė suma, 207

grafų sankirta, 206grafų sąjunga, 206grandinė, 199

Hamiltono, 223paprastoji, 201

skersmeninė, 204grandinė Pn, 243gretimos grafo briaunos, 196gretimos grafo viršūnės, 196gretimumo matrica, 248griežtoji disjunkcija ∨, 13grupė, 42

Hamiltono ciklas, 223Hamiltono grandinė, 223harmoniniai skaičiai, 147hierachija, 146hipotezė, 27, 275homeomorfiniai grafai, 243homogeninis grafas, 198

idempotentumas, 20ilgis, 203implikacija, 117implikacija ⇒, 11incinenčiosios grafo briaunos ir vir-

šūnės, 196individinis (dalykinis) kintamasis,

31infiksinis formulės pavidalas, 16injekcija, 136interpretacija, 16izoliuotoji grafo viršūnė, 198išorinio stabilumo skaičius, 235išskirtoji formulė, 30išvada, 25išvedimas, 27, 29išvedimo prielaidos, 23išėjimas, 254

jungioji komponentė, 201jungtis

propozicinė, 2jungusis grafas, 201

kelias, 200

Page 309: AKrylovas_DiskrMatem_20080316

RODYKLĖ 295

kelio ilgis, 203kilpa, 193kintamasis, 35kintamieji

dalykiniai, 31loginiai, 10, 27

kirpis, 216komutatyvumas, 20konjunkcija &, 11, 34konjunkcijos pašalinimo taisyklė, 26konsekventas (išvada), 13konstanta, 35konstantos

loginės, 10konstrukcinė dilema, 26kontrapozicija, 19, 26kvantorius

bendrumo ∀, 31egzistavimo ∃, 31

leksikografinė tvarka, 135logika

daugiareikšmė, 30logikos dėsnis

”modus ponens“, 19

”modus tollens“, 19

de Morgano, 19dvigubojo neigimo, 19kontrapozicijos, 19negalimo trečiojo, 19prieštaravimo, 19silogizmo, 19tapatybės, 19

loginė išvada, 22, 33loginė lygtis, 22loginės formulės

ekvivalenčiosios ∼=, 16loginės operacijos, 10

disjunkcija ∨, 11ekvivalentumas ⇔, 11

implikacija ⇒, 11konjunkcija &, 11neigimas ¬, 11

lygiagretieji grafo lankai, 193lygtis

loginė, 22rekurenčioji

nehomogeninė, 189lygybė, 42lygybės sąryšis, 109

maršrutas, 199, 252matematinė indukcija, 43matmuo, 272matrica

charakteristinė, 111gretimumo, 248

medis, 214metamatematika, 47metateorija, 17metodas

neapibrėžtųjų koeficientų, 179minimalusis tranzityvusis sąryšis,

127monotoninė

skaičių seka, 139multigrafas, 193

neapibrėžtųjų koeficientų metodas,179

negalimo trečiojo dėsnis, 19neigimas ¬, 11, 34neorientuotas grafas, 194neprieštaringumas, 30nepriklausomas (stabilus iš vidaus)

poaibis, 233nepriklausomi ciklai, 228neskaidusis grafas, 210nežymėtasis grafas, 238NP uzddavinių klasė, 275

Page 310: AKrylovas_DiskrMatem_20080316

296 RODYKLĖ

NP uždavinių klasė, 274NPC uždavinių klasė, 276nulinis grafas, 195nusvirusioji grafo viršūnė, 198

O didžioji, 140o mažoji, 144omega-didžioji, 144operacija, 10

unarioji, 11operacija:vienvietė(unarioji), 3operacijos, 26

papildinys, 207paprastoji grandinė Pn, 243pasiekiamumas, 253pašalinimas, 208, 209

grafo viršūnės, 208perdikatai

lygiaverčiai (ekvivalentieji), 33permanentas, 160Peterseno grafas, 245pilnasis grafas, 196pilnumas, 30planarusis grafas, 241ploksčiasis grafas, 241poaibiai

stabilieji, 244poaibis, 89

nepriklausomas (stabilus iš vi-daus), 233

stabilusis iš išorės (dominuo-jantis), 235

tikrinis, 90poformulis, 4, 36pografis, 207, 213polinomimis sudėtingumas, 273postfiksinis formulės pavidalas, 16pralaidumas, 254predikatas, 10, 31

paneigiamasis, 33įvykdomasis, 33

predikatoteisingumo aibė, 32

predikatų skaičiavimas, 36prefiksinis formulės pavidalas, 16prielaida, 23, 25, 27prielaidų atskyrimo taisyklė, 26prielaidų perstatos taisyklė, 26prielaidų sujungimo taisyklė, 26prieštara, 33prieštara (tapačiai klaidinga formu-

lė), 16prieštaravimo dėsnis, 19prieštaros įrodymo metodas, 22prioritetas

loginių operacijų, 15propozicinė formulė, 2pseudografas, 193puskelis, 253pusmaršrutis, 252

raidė, 35propozicinė, 2

refleksyvumas, 17, 115refleksyvusis uždarinys, 128rekursija, 6

sankaupos taškas, 254sankirta, 206schema

aksiomų, 27schemos

įvedimo ir pašalinimo, 21semantika, 16siejančioji briauna (tiltas), 215silogizmas, 19, 26silpnasis (silpnai jungusis) grafas,

253simboliai, 26

Page 311: AKrylovas_DiskrMatem_20080316

RODYKLĖ 297

simetriškumas, 17siurjekcija, 136skaidiniai, 132skaičiai

harmoniniai, 147skaičius

išorinio stabilumo, 235skaičių seka, 138

aprėžtoji, 139didėjančioji, 139monotoninė, 139

skaičių sekosekvivalenčios, 140lygios, kai n→∞, 140vienodo augimo greičio, 143

skersmeninė grandinė, 204skersmuo, 204skiriančioji aibė, 216spindulys, 204srautas, 254stabilieji poaibiai, 244stabilumas

vidinis, 233stabilusis iš išorės (dominuojantis)

poaibis, 235stiprusis (stipriai jungusis) grafas,

253sudėtingumas, 272, 273

eksponentinis, 274polinominis, 273

sudėtis moduliu du ⊕, 13sujungimo taškas, 210sąjunga, 93, 206sąryšio

apibrėžimo sritis, 110grafinis vaizdavimas, 110, 112laipsnis, 127matrica, 110reikšmių sritis, 110tranzityvusis uždarinys, 126

uždarinysrefleksyvusis, 128tranzityvusis, 127

sąryšisO didžioji, 140o mažoji, 144

”teta didžioji nuo funkcijos“ (θ),

144antirefleksyvusis, 116antisimetrinis, 118asimetrinis, 118atvirkštinis, 117ekvivalentumo, 130pilnasis, 118refleksyvusis, 115simetrinis, 117tapatumo, 130tapatumo (lygybės), 109tarp dviejų aibių, 109ternarusis, 109toje pačioje aibėje, 109tranzityvusis, 125tuščiasis, 109tvarkos, 132unarusis, 109universalusis, 109, 130

sąryšių kompozicija, 121

tapatumo sąryšis, 109, 130tapatybės dėsnis, 19tautologija, 33tautologija (tapačiai teisinga for-

mulė), 16teiginys, 10teisingumo aibe, 32teisingumo lentelė, 18teorema

dedukcijos, 28termas, 35ternarusis sąryšis, 109

Page 312: AKrylovas_DiskrMatem_20080316

298 RODYKLĖ

tiesinė rekurenčioji lygtishomogeninė, 187nehomogeninė, 189

tiltas (siejančioji briauna), 215tinklas, 254Tiuringo mašina, 275tranzityvumas, 17, 41tranzityvusis uždarinys, 127trianguliacija, 241trivialusis grafas, 195, 210tuščiasis grafas, 195tuščioji aibė ∅, 89tvarka

dalinė, 41, 132leksikografinė, 135visiškoji, 132

tvarkos sąryšis, 146

universalusis sąryšis, 130uždarasis maršrutas, 200

vektorius ciklas, 227viršūnė

galinė (terminalinė), 200vidinė, 200

viršūnėsekscentricitetas, 204

viršūnės pašalinimas, 208

įeitis, 36laisvoji, 36suvaržytoji, 36

įvertisO didžioji, 140o mažoji, 144asimptotinis viršutinis, 141omega-didžioji, 144

įvykdomoji formulė, 16įėjimas, 254

šaltinis, 254

žodis, 2, 3žymėtasis grafas, 238