Oct 01, 2014
ii
DISKREČIOJI MATEMATIKA
Aleksandras Krylovas
Vilniaus Gedimino technikos universitetas
negalutinis variantas
2008 03 16
Vilnius, 2008
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
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
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
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
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
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
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.)
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/
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
xii TURINYS
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.
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
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
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.
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.
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 .
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.
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
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.
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·
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.
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.
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;
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).
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.
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
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.
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 ∼=.
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.
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
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.
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.
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
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.
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.
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.
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
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).
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.)
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.
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.)
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
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.
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.
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.
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.
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.
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.
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)).
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)
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".
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.
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)).
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));
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.
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.
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.
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,
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
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.
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
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.
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
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.
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 .
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)).
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
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) =
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.)
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) =
1©
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.
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).
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).
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,
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.
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 =
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.
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
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
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).
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.
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.
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ų.
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 .
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
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).
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)) .
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:
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 .
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 ⊕.
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.
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
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)
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.
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.
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.)
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.
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:
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
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
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.
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.
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 .
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.
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.
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.
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.
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.
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.
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.
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
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.).
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.
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 ,
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 · · ·· · · · · · · · · · · · · · ·
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
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.
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.
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.
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 = ∅.
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.
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
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.
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.
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
.
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ų.
114 4 SKYRIUS. SĄRYŠIAI
4.1 testas
1Nurodykite pavaizduotopaveikslesąryšio matricą
1©
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
;
3©
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ą
4.1. PAGRINDINIAI APIBRĖŽIMAI 115
1©
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
;
3©
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ą
1©
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
;
3©
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,
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.
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
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.
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.
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.
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) ∈ ψ.
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ę.
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.
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
1©
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
;
3©
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
.
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
1©
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
;
3©
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
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).
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).
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.
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).
130 4 SKYRIUS. SĄRYŠIAI
6 Sąryšio K = U+ matrica yra
1©
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
;
3©
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).
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.
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.
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.
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.
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.
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).
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).
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), . . .).
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.
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.
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).
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
).
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ę
≎ $ ∼ $ ≍
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)|.
4.5. ASIMPTOTINIAI SĄRYŠIAI 145
Pavyzdžiai
1. n = o(n2)
– pakanka paimti9 nε =⌈
1ε
⌉;
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
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)|.
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.
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].
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).
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).
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].
152 4 SKYRIUS. SĄRYŠIAI
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
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.
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)
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.
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
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.
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.
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ų).
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.
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)
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
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,
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.
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. ??).
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.
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.
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
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.
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.
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:
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
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)
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.
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.
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).
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].
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ė.
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.
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.
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.
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.
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
=
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,
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.
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)
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).
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.
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 .
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.
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].
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
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
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.
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.
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.
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)
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.
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.
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ą.
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.
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.
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).
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.
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).
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.
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).
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.).
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
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)
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.
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)
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.
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.
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
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 .
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.
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.)
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ė.
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
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.
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.
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
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
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©
3©
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©
3©
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-
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
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į.
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).
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
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.
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.
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
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.
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.
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.
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.
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).
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→∞.
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,
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:
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.
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.
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
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.
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.
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
.
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.
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.
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
)
.
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.
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.
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).
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ą
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į.
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]
258 6 SKYRIUS. GRAFAI
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
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.
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.
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, . . ..
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.
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
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),
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
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.
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.
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).
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
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.
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ų.)
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.
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ą.
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.
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.
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ą.
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ą.
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
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
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
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
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;
284 7 SKYRIUS. ALGORITMAI
7.4. ALGORITMŲ SUDĖTINGUMAS 285
286 7 SKYRIUS. ALGORITMAI
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
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.
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.
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.
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.
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
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
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
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
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
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
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