165
VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas Stanislovas Norgėla Diskrečioji matematika Pratybų medžiaga Versija: 2019 m. spalio 2 d. Vilnius, 2019

Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

  • Upload
    others

  • View
    36

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

VILNIAUS UNIVERSITETAS

Gintaras SkersysJulius AndrikonisValdas Dičiūnas

Stanislovas Norgėla

Diskrečioji matematikaPratybų medžiaga

Versija: 2019 m. spalio 2 d.

Vilnius, 2019

Page 2: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas
Page 3: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Turinys

Turinys 2

1 Teiginiai. Loginės operacijos. Loginės formulės 3Uždaviniai pratyboms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Uždaviniai savarankiškam darbui . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Uždavinių savarankiškam darbui sprendimai arba atsakymai . . . . . . . . . . . . . 11

2 Logikos dėsniai 15Uždaviniai pratyboms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Uždaviniai savarankiškam darbui . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Uždavinių savarankiškam darbui sprendimai arba atsakymai . . . . . . . . . . . . . 20

3 Aibių algebra 26Uždaviniai pratyboms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Uždaviniai savarankiškam darbui . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Uždavinių savarankiškam darbui sprendimai arba atsakymai . . . . . . . . . . . . . 33

4 Funkcijos 37Uždaviniai pratyboms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Uždaviniai savarankiškam darbui . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Uždavinių savarankiškam darbui sprendimai arba atsakymai . . . . . . . . . . . . . 44

5 Sąryšiai 47Uždaviniai pratyboms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Uždaviniai savarankiškam darbui . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Uždavinių savarankiškam darbui sprendimai arba atsakymai . . . . . . . . . . . . . 55

6 Aibių galia 59Uždaviniai pratyboms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Uždaviniai savarankiškam darbui . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65Uždavinių savarankiškam darbui sprendimai arba atsakymai . . . . . . . . . . . . . 66

7 Normaliosios formos I 68Uždaviniai pratyboms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68Uždaviniai savarankiškam darbui . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74Uždavinių savarankiškam darbui sprendimai arba atsakymai . . . . . . . . . . . . . 75

1

Page 4: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

8 Normaliosios formos II. Esminiai ir fiktyvūs kintamieji. Kontaktinės sche-mos 80Uždaviniai pratyboms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80Uždaviniai savarankiškam darbui . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87Uždavinių savarankiškam darbui sprendimai arba atsakymai . . . . . . . . . . . . . 89

9 Loginės išvados 93Uždaviniai pratyboms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93Uždaviniai savarankiškam darbui . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98Uždavinių savarankiškam darbui sprendimai arba atsakymai . . . . . . . . . . . . . 99

10 Predikatų logika 105Uždaviniai pratyboms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105Uždaviniai savarankiškam darbui . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111Uždavinių savarankiškam darbui sprendimai arba atsakymai . . . . . . . . . . . . . 112

11 Turing’o mašina 117Uždaviniai pratyboms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117Uždaviniai savarankiškam darbui . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123Uždavinių savarankiškam darbui sprendimai arba atsakymai . . . . . . . . . . . . . 124

12 Abėcėlinis kodavimas. Optimalus abėcėlinis kodavimas 130Uždaviniai pratyboms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130Uždaviniai savarankiškam darbui . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133Uždavinių savarankiškam darbui sprendimai arba atsakymai . . . . . . . . . . . . . 134

13 Duomenų spaudimas. Klaidas taisantys kodai I 136Uždaviniai pratyboms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136Uždaviniai savarankiškam darbui . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141Uždavinių savarankiškam darbui sprendimai arba atsakymai . . . . . . . . . . . . . 142

14 Klaidas taisantys kodai II 145Uždaviniai pratyboms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145Uždaviniai savarankiškam darbui . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152Uždavinių savarankiškam darbui sprendimai arba atsakymai . . . . . . . . . . . . . 153

15 Kriptografija 158Uždaviniai pratyboms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

Page 5: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

1 pratybos

Teiginiai. Loginės operacijos. Loginėsformulės

Teorinė medžiaga: I dalies 1–3 skyriai.

Uždaviniai pratybomsVisų pirma uždavinius išspręsti pabandykite patys. Tik tada, kai išsprendžiate, arba kaipamatote, kad patiems išspręsti nepavyks, pažiūrite pateiktą sprendimą.

Uždavinys 1.1. Nustatyti, kurie iš duotų sakinių yra teiginiai ir kokia yra teiginių teisin-gumo reikšmė.

1. Vilnius yra Lietuvos sostinė.2. Kiek dabar valandų?3. Mėnulis yra iš sūrio.4. Išspręskite šį uždavinį.5. 2 + 3 = 6.6. 2 + x = 6 (šiame sakinyje x yra kintamasis).

Sprendimas.

1. Tai teisingas teiginys.2. Ne teiginys.3. Tai klaidingas teiginys.4. Ne teiginys.5. Tai klaidingas teiginys.6. Ne teiginys, nes negalime nustatyti, ar tai teisingas teiginys, ar ne (jei x = 4, tai

gauname teisingą teiginį, priešingu atveju klaidingą). Tai predikatas, juos nagrinėsimevėliau.

Uždavinys 1.2. Turime teiginius:

• p — Lauke lyja,

3

Page 6: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

• q — Lauke sninga,• r — Lauke šalta,• s — Lauke tamsu.

1. Išreikšti duotus sakinius formulėmis, priklausančiomis nuo kintamųjų p, q, r ir s:

(a) Jei lauke lyja arba sninga, tai lauke šalta.(b) Jei lauke nelyja, bet šalta, tai lauke arba tamsu, arba sninga.

2. Išreikšti duotas formules sakiniais:

(a) ¬r→(s ∧ (p→¬q)

),

(b) ¬(¬s ∨ ¬r)↔ p.

Sprendimas.

1. (a) (p ∨ q)→ r,(b) (¬p ∧ r)→ (s⊕ q).

Komentaras. Kadangi turime lauke arba tamsu, arba sninga, tai naudojame griežtądisjunkciją s ⊕ q. Paprastą disjunkciją s ∨ q naudotume, jei sakinyje būtų lauketamsu arba sninga.

2. (a) Tinka toks teiginys:Jei lauke nešalta, tai lauke tamsu ir jei lyja, tai nesninga.

Tačiau taip suformuluotas teiginys yra kiek dviprasmiškas, nes jį galima suprastikaip formulę (¬r→s)∧ (p→¬q), t. y. dviejų implikacijų konjunkciją. Jei implika-cijas išreikštume skirtingai, gal iš to galėtume suprasti, kad jos nėra lygiareikšmės?Pavyzdžiui, toks variantas:

Jei lauke nešalta, tai lauke tamsu ir iš to, kad lauke lyja, išplaukia, kad laukenesninga.

(b) Tinka toks teiginys:Lauke nėra netamsu arba nešalta tada ir tik tada, kai lauke lyja.

Kadangi neiginį galima išreikšti žodžiais „netiesa, kad“, galimas ir toks variantas:Netiesa, kad lauke netamsu arba nešalta tada ir tik tada, kai lauke lyja.

Uždavinys 1.3. Tarkime, kad Algis diskrečiosios matematikos egzamine gavo 10, o kom-piuterių architektūros egzamine gavo 8, Benas atitinkamai 8 ir 7, Darius 9 ir 10. Nustatytiduotų teiginių teisingumo reikšmes.

1. Darius geriausiai iš visų išlaikė diskrečiąją matematiką.2. Benas blogiausiai išlaikė kompiuterių architektūrą, o Algis geriausiai išlaikė diskrečiąją

matematiką.3. Algis arba Darius geriausiai išlaikė kompiuterių architektūrą.4. Jei Darius blogiausiai išlaikė kompiuterių architektūrą, tai Benas geriausiai išlaikė dis-

krečiąją matematiką.5. Benas blogiausiai išlaikė diskrečiąją matematiką tada ir tik tada, kai Algis geriausiai

išlaikė kompiuterių architektūrą.

4

Page 7: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Sprendimas.

1. Klaidingas.

2. Duotas teiginys yra dviejų teisingų teiginių Benas blogiausiai išlaikė kompiuterių ar-chitektūrą ir Algis geriausiai išlaikė diskrečiąją matematiką konjunkcija, todėl tai irgiteisingas teiginys pagal konjunkcijos skaičiavimo taisykles.

3. Duotas teiginys yra dviejų teiginių Algis geriausiai išlaikė kompiuterių architektūrą irDarius geriausiai išlaikė kompiuterių architektūrą disjunkcija. Pirmasis iš jų yra klai-dingas, antrasis — teisingas, todėl duotas teiginys yra teisingas teiginys pagal disjunk-cijos skaičiavimo taisykles.

4. Duotas teiginys yra dviejų klaidingų teiginių Darius blogiausiai išlaikė kompiuteriųarchitektūrą ir Benas geriausiai išlaikė diskrečiąją matematiką implikacija, todėl taiirgi teisingas teiginys pagal implikacijos skaičiavimo taisykles.

5. Duotas teiginys yra dviejų teiginių Benas blogiausiai išlaikė diskrečiąją matematikąir Algis geriausiai išlaikė kompiuterių architektūrą ekvivalencija. Pirmasis iš jų yrateisingas, antrasis — klaidingas, todėl duotas teiginys yra klaidingas teiginys pagalekvivalencijos skaičiavimo taisykles.

Uždavinys 1.4. Sudarykite duotų formulių teisingumo reikšmių lenteles. Nustatykite, aršios formulės yra tapačiai teisingos, įvykdomos, tapačiai klaidingos.

1. (p→¬p)↔ p.

2. (p⊕ q) | (q ∨ p).

3.((p→ q) ∨ (p⊕ r)

)↔(p | ¬(q ∧ r)

).

Sprendimas.

1. Formulė priklauso tik nuo vieno kintamojo p, todėl jos teisingumo reikšmių lentelėjebus dvi eilutės. Pirmame lentelės stulpelyje surašome visas galimas kintamojo p reikš-mes (visas interpretacijas). Kituose stulpeliuose skaičiuojame tarpines reikšmes pagalatitinkamos loginės operacijos reikšmių skaičiavimo taisykles. Paskutiniame stulpelyjesuskaičiuosime duotos formulės, kurią žymėsime Q(p), reikšmes. Lentelė bus tokia.

p ¬p p→¬p Q(p)t k k kk t t k

Pagal paskutinįjį lentelės stulpelį tikriname, ar formulė tapačiai teisinga, įvykdoma,tapačiai klaidinga. Formulė nėra tapačiai teisinga, nes yra interpretacijų, su kuriomis jiklaidinga (kitaip sakant, ji teisinga ne su visomis interpretacijomis). Ji nėra įvykdoma,nes nėra interpretacijų, su kuriomis ji teisinga (kitaip sakant, ji klaidinga su visomisinterpretacijomis), todėl ši formulė yra tapačiai klaidinga.

2. Formulė priklauso nuo dviejų kintamųjų p ir q, todėl jos teisingumo reikšmių lentelėjebus keturios eilutės. Pirmuose dviejuose lentelės stulpeliuose surašome visus galimuskintamųjų p ir q reikšmių rinkinius (visas interpretacijas). Lentelėje formulę žymėsime

5

Page 8: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Q(p, q). Lentelė bus tokia.

p q p⊕ q q ∨ p Q(p, q)t t k t tt k t t kk t t t kk k k k t

Pagal paskutinįjį lentelės stulpelį tikriname, ar formulė tapačiai teisinga, įvykdoma,tapačiai klaidinga. Formulė nėra tapačiai teisinga, nes yra interpretacijų, su kuriomisji klaidinga (kitaip sakant, ji teisinga ne su visomis interpretacijomis). Ji yra įvykdo-ma, nes yra interpretacijų, su kuriomis ji teisinga. Taip pat ši formulė nėra tapačiaiklaidinga, nes yra įvykdoma.

3. Formulė priklauso nuo trijų kintamųjų p, q ir r, todėl jos teisingumo reikšmių lentelėjebus aštuonios eilutės. Pirmuose trijuose lentelės stulpeliuose surašome visus galimuskintamųjų p, q ir r reikšmių rinkinius (visas interpretacijas). Lentelėje formulę žymėsi-me Q(p, q, r). Lentelė bus tokia.

p q r p→ q p⊕ r (p→ q) ∨ (p⊕ r) q ∧ r ¬(q ∧ r) p | ¬(q ∧ r) Q(p, q, r)t t t t k t t k t tt t k t t t k t k kt k t k k k k t k tt k k k t t k t k kk t t t t t t k t tk t k t k t k t t tk k t t t t k t t tk k k t k t k t t t

Pagal paskutinįjį lentelės stulpelį tikriname, ar formulė tapačiai teisinga, įvykdoma,tapačiai klaidinga. Formulė nėra tapačiai teisinga, nes yra interpretacijų, su kuriomisji klaidinga (kitaip sakant, ji teisinga ne su visomis interpretacijomis). Ji yra įvykdo-ma, nes yra interpretacijų, su kuriomis ji teisinga. Taip pat ši formulė nėra tapačiaiklaidinga, nes yra įvykdoma.

Uždavinys 1.5. Kurios iš formulių p∧ (p→ q), q, (p∧ q)↔ p, p→ q, p∧ q yra ekvivalenčios?Sprendimas. Sudarysime duotų formulių teisingumo reikšmių lenteles ir iš jų nustatysime,kurios iš jų yra ekvivalenčios.

p q p→ q p ∧ q p ∧ (p→ q) (p ∧ q)↔ pt t t t t tt k k k k kk t t k k tk k t k k t

Matome, kad p ∧ (p→ q) ∼ p ∧ q, (p ∧ q)↔ p ∼ p→ q, o formulė q nėra ekvivalenti jokiaikitai iš išvardintų formulių.

Uždavinys 1.6. Supaprastinkite logines formules, pašalindami logines konstantas. Kons-tanta gali likti tik tuo atveju, jei formulė yra tapačiai klaidinga arba tapačiai teisinga.

6

Page 9: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

1. p ∧ t p ∨ t p→ t t→ p p↔ t p⊕ t p | tp ∧ k p ∨ k p→ k k→ p p↔ k p⊕ k p | k

2.(t ∧

(k↔

((t→ q) ∨ k

)))⊕ t.

3.(k | (p⊕ q)

)↔

((k→ (q↔¬r))| (r→ k)

)⊕((¬p→ r) ∧ k

).

4.((t→ p)→ t

)∨((p ∨ q

)→(k ∧ (q | t)

)).

Sprendimas.

1. Pašalinti logines konstantas reiškia surasti ekvivalenčią formulę, kurioje loginių kons-tantų nebūtų. Spręsime taip: sudarysime formulių teisingumo reikšmių lenteles ir ban-dysime atspėti kuo paprastesnes ekvivalenčias formules.Pradėkime nuo formulės p ∧ t. Teisingumo reikšmių lentelė bus tokia:

p p ∧ tt tk k

Matome, kad formulė p ∧ t įgyja lygiai tokias pačias reikšmes, kaip ir formulė p, todėlšios dvi formulės yra ekvivalenčios: p ∧ t ∼ p.Toliau imkime formulę p ∧ k. Jos teisingumo reikšmių lentelė:

p p ∧ kt kk k

Kadangi ši formulė įgyja tik reikšmes k, tai ji ekvivalenti loginei konstantai k: p∧k ∼ k.Kaip matome, kadangi visos duotos formulės priklauso tik nuo vieno kintamojo p, bustik dvi galimos šių formulių interpretacijos (p = k ir p = t). Todėl galimi tik keturiformulių reikšmių rinkiniai: (t, t), (t, k), (k, t) ir (k, k), t. y. galime gauti tik keturiasskirtingas formules, atitinkamai t, p, ¬p ir k:

p ¬p t kt k t kk t t k

Toliau spręsdami, tą patį darome ir su kitomis formulėmis: sudarome jų teisingumoreikšmių lenteles ir patikriname, kurią iš keturių galimų formulių (t, p, ¬p ir k) gauname.Teisingumo reikšmių lentelės ir atsakymai bus tokie:

p p ∧ t p ∧ k p ∨ t p ∨ k p→ t p→ k t→ p k→ pt t k t t t k t tk k k t k t t k t

p p↔ t p↔ k p⊕ t p⊕ k p | t p | kt t k k t k tk k t t k t t

7

Page 10: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

p ∧ t ∼ p p→ t ∼ t p↔ t ∼ p p | t ∼ ¬pp ∧ k ∼ k p→ k ∼ ¬p p↔ k ∼ ¬p p | k ∼ tp ∨ t ∼ t t→ p ∼ p p⊕ t ∼ ¬pp ∨ k ∼ p k→ p ∼ t p⊕ k ∼ p

Pastabos:

• Šiuos logikos dėsnius, parodančius, kaip pašalinti logines konstantas, jūs naudosite per-tvarkydami formules, todėl juos reikės mokėti. Bet nebūtina jų mokytis atmintinai —užtenka žinoti, kaip juos galima gauti. O gauti juos, kaip matėme, labai paprasta —sudarome nedidukę teisingumo reikšmių lentelę ir iškart matome, kam ši formulė ekvi-valenti.

• Turėkite omenyje, kad visos šiame uždavinyje nagrinėtos loginės operacijos, išskyrusimplikaciją, yra komutatyvios, t. y. sukeitus narius vietomis, rezultatas bus tas pats(tai nesunkiai galite patikrinti patys, sudarę teisingumo reikšmių lenteles). Todėl, pa-vyzdžiui, mes skaičiavome tik p∧ t reikšmę, ir neskaičiavome t∧p, nes p∧ t ∼ t∧p, todėlp∧t ir t∧p reikšmės visada sutampa. Taigi, gautus logikos dėsnius (aišku, išskyrus tuos,į kuriuos įeina implikacija) galima naudoti ir sukeitus juose narius vietomis, pavyzdžiui,t ∧ p ∼ p, k↔ p ∼ ¬p ir t. t.

• Svarbu suprasti, kad šie logikos dėsniai, kaip ir visi kiti logikos dėsniai, lieka teisingi,įstačius į juos vietoj kintamųjų bet kokias formules. Pavyzdžiui, p ∨ t ∼ t reiškia, kadP ∨ t ∼ t, kur P yra bet kokia formulė, t. y., pavyzdžiui, q ∨ t ∼ t, (p | q) ∨ t ∼ t ir t. t.Analogiškai, pavyzdžiui, (p⊕ q) ∨ k ∼ p⊕ q, (¬r↔ q)→ k ∼ ¬(¬r↔ q) ir t. t.

2. Pasinaudosime pirmos uždavinio dalies rezultatais. Aiškumo dėlei dešinėje užrašysimepanaudotus logikos dėsnius, pažymėdami vietas, kur jie buvo panaudoti.(

t ∧(k↔

((t→q) ∨ k

)))⊕ t ∼ (pritaikome t→p ∼ p)

∼(t ∧

(k↔ (q∨k)

))⊕ t ∼ (p∨k ∼ p)

∼(t ∧ (k↔q)

)⊕ t ∼ (p↔k ∼ ¬p)

∼ (t∧¬q)⊕ t ∼ (p∧t ∼ p)∼ ¬q⊕t ∼ (p⊕t ∼ ¬p)

∼ q.

3. Pasinaudosime pirmos uždavinio dalies rezultatais:

(k|(p⊕q)

)↔

((k→(q↔¬r))|(r→k)

)⊕((¬p→r)∧k

) ∼ (p|k ∼ t, k→p ∼ t,p→k ∼ ¬p, p∧k ∼ k)

∼ t↔((t|¬r)⊕ k

)∼ (p|t ∼ ¬p)

∼ t↔ (r⊕k) ∼ (p⊕k ∼ p)∼ t↔r ∼ (p↔t ∼ p)

∼ r.

4. Pasinaudosime pirmos uždavinio dalies rezultatais:((t→p)→ t

)∨((p ∨ q

)→(k ∧ (q|t)

))∼ (t→p ∼ p, p|t ∼ ¬p)

8

Page 11: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

∼ (p→t) ∨((p ∨ q)→ (k∧¬q)

)∼ (p→t ∼ t, p∧k ∼ k)

∼ t ∨((p ∨ q)→k

)∼ (p→k ∼ ¬p)

∼ t∨¬(p ∨ q) ∼ (p∨t ∼ t)∼ t.

Tą patį galėjome gauti greičiau, pastebėję, kad iš karto galime pasinaudoti tuo, kadp→ t ∼ t, p ∧ k ∼ k ir p ∨ t ∼ t:

((t→ p)→ t

)∨((p ∨ q

)→(k ∧ (q | t)

))∼ t ∨

((p ∨ q)→ k

)∼ t

Pastaba: Pertvarkant logines formules, naudojantis logikos dėsniais, patartina visų pirmapašalinti visas konstantas, ir tik tada taikyti kitus logikos dėsnius. Iš tikrųjų, šalindamikonstantas tuo pačiu galime pašalinti ir didelę dalį formulės, todėl jos pertvarkyti nebereikės.Pavyzdžiui,

(p↔ q) ∨ (p→ t) ∼ (p↔ q) ∨ t ∼ t,

todėl šioje formulėje nėra prasmės šalinti ekvivalencijos, nes ji ir taip dingsta. Bet kol visųkonstantų nepašalinsime, tol nežinosime, ar verta šalinti ekvivalenciją. Todėl, pakartosiu,patartina visų pirma pašalinti visas konstantas.

9

Page 12: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždaviniai savarankiškam darbuiUždavinys 1.7. Sudarykite duotų formulių teisingumo reikšmių lenteles ir nustatykite, aršios formulės yra tapačiai teisingos, įvykdomos, tapačiai klaidingos:

1. p→(q→ (p ∧ q)

).

2. (p⊕ r) ∧ (p↔ q).

3. (p→ q)→((p→ (q→ r)

)→ (p→ r)

).

4.(p→ (q | r)

)∧ ¬

(r→ (p→¬q)

).

5. (p→ r)→(

(q→ r)→((p ∨ q)→ r

)).

6.(¬p⊕ q

)∧(q→ (¬p ∧ r)

)∧(p ∨ q

).

7. q ∧((r | p)→ s

).

Uždavinys 1.8. Nustatykite, ar formulės yra ekvivalenčios.

1. p ∨ q ∧ r ir p ∨ (q ∧ r);2. p ∨ q ∧ r ir (p ∨ q) ∧ r;3. ¬p ∧ q ir ¬(p ∧ q);4. p ∧ ¬q ir p ∧ (¬q).

Uždavinys 1.9. Supaprastinkite logines formules, pašalindami logines konstantas. Kons-tanta gali likti tik tuo atveju, jei formulė yra tapačiai klaidinga arba tapačiai teisinga.

1. (t→ p) ∨((q | k) ∧ (k→ r)

);

2. (p→ t) ∨(p→ (k ∧ p)

);

3.(p→ (q→ k)

)→((p | t)→ (t→ r)

);

4. (p→ t) ∧((q ∨ k)→ (t | r)

).

10

Page 13: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždavinių savarankiškam darbui sprendimai arba atsa-kymai

Uždavinio 1.7 sprendimas ir atsakymai:

1. Formulės teisingumo reikšmių lentelė:

p q p ∧ q q→ (p ∧ q) p→(q→ (p ∧ q)

)t t t t tt k k t tk t k k tk k k t t

Formulė tapačiai teisinga, įvykdoma, ne tapačiai klaidinga.

2. Formulės teisingumo reikšmių lentelė:

p q r p⊕ r p↔ q (p⊕ r) ∧ (p↔ q)t t t k t kt t k t t tt k t k k kt k k t k kk t t t k kk t k k k kk k t t t tk k k k t k

Formulė nėra tapačiai teisinga, įvykdoma, ne tapačiai klaidinga.

3. Formulės teisingumo reikšmių lentelė (lentelėje formulę žymėsime Q(p, q, r)):

p q r p→ q q→ r p→ (q→ r) p→ r(p→ (q→ r)

)→ (p→ r) Q(p, q, r)

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

Formulė tapačiai teisinga, įvykdoma, ne tapačiai klaidinga.

4. Formulės teisingumo reikšmių lentelė (lentelėje formulę p→ (q | r) žymėsime P (p, q, r),formulę r→ (p→¬q) žymėsime Q(p, q, r), o formulę

(p→ (q | r)

)∧¬

(r→ (p→¬q)

)∼

11

Page 14: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

P (p, q, r) ∧ ¬Q(p, q, r) žymėsime R(p, q, r)):

p q r q | r P (p, q, r) ¬q p→¬q Q(p, q, r) ¬Q(p, q, r) R(p, q, r)t t t k k k k k t kt t k t t k k t k kt k t t t t t t k kt k k t t t t t k kk t t k t k t t k kk t k t t k t t k kk k t t t t t t k kk k k t t t t t k k

Formulė nėra tapačiai teisinga, nėra įvykdoma, taigi tapačiai klaidinga.

5. Formulės teisingumo reikšmių lentelė (lentelėje formulę žymėsime Q(p, q, r)):

p q r p→ r q→ r p ∨ q (p ∨ q)→ r (q→ r)→((p ∨ q)→ r

)Q(p, q, r)

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

Formulė tapačiai teisinga, įvykdoma, ne tapačiai klaidinga.

6. Sudarome formulės teisingumo reikšmių lentelę, kurioje formulę(¬p⊕q

)∧(q→(¬p∧r)

)žymėsime P (p, q, r), o visą formulę žymėsime R(p, q, r).

p q r ¬p ¬p⊕ q ¬p ∧ r q→ (¬p ∧ r) P (p, q, r) p ∨ q R(p, q, r)t t t k t k k k t kt t k k t k k k t kt k t k k k t k t kt k k k k k t k t kk t t t k t t k t kk t k t k k k k t kk k t t t t t t k kk k k t t k t t k k

Formulė nėra tapačiai teisinga, nes yra interpretacijų, su kuriomis ji klaidinga (kitaipsakant, ji teisinga ne su visomis interpretacijomis). Ji nėra įvykdoma, nes nėra interpre-tacijų, su kuriomis ji teisinga (kitaip sakant, ji klaidinga su visomis interpretacijomis),todėl ši formulė yra tapačiai klaidinga.

7. Formulė priklauso nuo keturių kintamųjų p, q, r ir s, todėl jos teisingumo reikšmiųlentelėje bus 16 eilučių. Pirmuose keturiuose lentelės stulpeliuose surašome visus gali-mus kintamųjų reikšmių rinkinius (visas interpretacijas). Lentelėje formulę žymėsime

12

Page 15: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Q(p, q, r, s). Lentelė bus tokia.

p q r s r | p (r | p)→ s Q(p, q, r, s)t t t t k t tt t t k k t tt t k t t t tt t k k t k kt k t t k t kt k t k k t kt k k t t t kt k k k t k kk t t t t t tk t t k t k kk t k t t t tk t k k t k kk k t t t t kk k t k t k kk k k t t t kk k k k t k k

Pagal paskutinįjį lentelės stulpelį tikriname, ar formulė tapačiai teisinga, įvykdoma,tapačiai klaidinga. Formulė nėra tapačiai teisinga, nes yra interpretacijų, su kuriomisji klaidinga (kitaip sakant, ji teisinga ne su visomis interpretacijomis). Ji yra įvykdo-ma, nes yra interpretacijų, su kuriomis ji teisinga. Taip pat ši formulė nėra tapačiaiklaidinga, nes yra įvykdoma.

Uždavinio 1.8 sprendimas ir atsakymai:

1. Šios formulės yra ekvivalenčios, nes abiejose konjunkcija yra atliekama prieš disjunkciją.Iš tiesų pirmoji yra gauta iš antrosios praleidus nebūtinus skliaustus.

2. Pirmojoje formulėje dėl loginių operacijų prioritetų pirma atliekama konjunkcija, o poto tik disjunkcija, taigi p ∨ q ∧ r ∼ p ∨ (q ∧ r). Kita vertus, antrojoje dėl skliaustųpirma atliekama disjunkcija, o tik po to konjunkcija. Tiesa, tai, kad formulių užrašainesutampa, dar nereiškia, kad formulės nėra ekvivalenčios. Tačiau norint tuo įsitikinti,užtenka rasti bent vieną interpretaciją, su kuria viena formulė būtų teisinga, o kita ne.Iš tiesų, pavyzdžiui, kai p = t, q = t, o r = k, pirmoji formulė yra teisinga (p ∨ q ∧ r =t∨(t∧k) = t∨k = t), o antroji formulė yra klaidinga ((p∨q)∧r = (t∨t)∧k = t∧k = k).Taigi formulės nėra ekvivalenčios.

3. Pirmojoje formulėje neigimas atliekamas prieš konjunkciją, nes jo prioritetas aukštes-nis, taigi ¬p ∧ q ∼ (¬p) ∧ q. Antrojoje skliaustai reikalauja, kad pirma būtų atlik-ta konjunkcija, o tik po to neigimas. Tačiau tai dar nereiškia, kad formulės tikrainėra ekvivalenčios. Bet jeigu p = t ir q = k, tada pirmoji formulė yra klaidinga(¬p ∧ q = (¬t) ∧ k = k ∧ k = k), o antroji teisinga (¬(p ∧ q) = ¬(t ∧ k) = ¬k = t).Taigi formulės nėra ekvivalenčios.

4. Abiejose formulėse neigimas atliekamas prieš konjunkciją, taigi šios dvi formulės yraekvivalenčios.

Pastaba: Nors loginėms operacijoms ir nustatyti prioritetai, tačiau geriau vis dėlto formulėse

13

Page 16: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

vidinių skliaustų nepraleisti. Juk užrašas p∨(q∧r) yra žymiai aiškesnis už p∨q∧r, nors abu reiškiatą pačią formulę. Paprastai rašydami formules praleisime tik išorinius skliaustus (vietoje (p ∧ q)rašysime p ∧ q), skliaustus besikartojančiose asociatyviose operacijose (vietoje p ∧ (q ∧ r) rašysimep ∧ q ∧ r) ir skliaustus, išskiriančius neigimą (vietoje (¬p) ∧ q rašysime ¬p ∧ q).

Uždavinio 1.9 sprendimas ir atsakymai:

1. (t→ p) ∨((q | k) ∧ (k→ r)

)∼ p ∨ (t ∧ t) ∼ p ∨ t ∼ t.

2. (p→ t) ∨(p→ (k ∧ p)

)∼ t ∨ (p→ k) ∼ t ∨ ¬p ∼ t.

3.(p→ (q→ k)

)→((p | t)→ (t→ r)

)∼ (p→¬q)→ (¬p→ r).

4. (p→ t) ∧((q ∨ k)→ (t | r)

)∼ t ∧ (q→¬r) ∼ q→¬r.

14

Page 17: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

2 pratybos

Logikos dėsniai

Teorinė medžiaga: I dalies 4 skyrius.

Uždaviniai pratybomsVisų pirma uždavinius išspręsti pabandykite patys. Tik tada, kai išsprendžiate, arba kaipamatote, kad patiems išspręsti nepavyks, pažiūrite pateiktą sprendimą.

Uždavinys 2.1. Užrašykite duotųjų teiginių neiginius (įkėlę neiginio ženklą į skliaustus):

1. Durys atsivėrė, ir katė išėjo lauk.2. Jei knyga plona, tai aš ją skaitysiu.

Sprendimas.

1. Pažymėkime teiginius:

• p — Durys atsivėrė,• q — Katė išėjo lauk.

Tada sakinį galime užrašyti formule p ∧ q. Jos neiginys bus:

¬(p ∧ q) ∼ ¬p ∨ ¬q

Todėl duoto sakinio neiginys bus: Durys neatsivėrė, arba katė neišėjo lauk.2. Pažymėkime teiginius:

• p — Knyga yra plona,• q — Aš ją skaitysiu.

Tada sakinį galime užrašyti formule p→ q. Jos neiginys bus

¬(p→ q) ∼ ¬(¬p ∨ q) ∼ ¬(¬p) ∧ ¬q ∼ p ∧ ¬q

Todėl duoto sakinio neiginys bus: Nors knyga ir plona, bet aš jos neskaitysiu.

Uždavinys 2.2. Įrodykite, naudodamiesi logikos dėsniais:

1. (p ∧ ¬q ∧ ¬r) ∨ (p ∧ q ∧ r) ∨ (p ∧ q ∧ ¬r) ∨ (p ∧ ¬q ∧ r) ∼ p,

15

Page 18: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

2. ¬(

(¬p ∨ ¬q) ∧(q ∨ ¬(p ∧ r)

))∼ p ∧ (q ∨ r),

3. (¬p→¬q)→((q ∧ r)→ (p ∧ r)

)∼ t,

4. (p | q) ∧ p ∼ ¬(p↔ q) ∧ ¬(p→ q).

Sprendimas.

Pastaba: Užduotyse, kuriose reikia pertvarkyti loginę formulę, paprastai veiksmus atliekame tapačia eilės tvarka, kaip ir sudarydami normaliąsias formas (žr. mokymo priemonės skyrių apienormaliųjų formų sudarymą): visų pirma pašaliname visas logines operacijas, išskyrus neigimą,konjunkciją ir disjunkciją, paskui įkeliame neiginius į skliaustus, taikydami De Morgano dėsnius, irtada naudojame distributyvumo dėsnius.

Atkreipkite dėmesį į tai, kad neverta įkėlinėti neiginių į skliaustus tol, kol nepašalintos visosloginės operacijos, išskyrus neigimą, konjunkciją ir disjunkciją, nes šalinant tas operacijas, kai kurieneiginiai gali išsiprastinti. Pavyzdžiui, ¬(p∧q)→p ∼ ¬¬(p∧q)∨p ∼ (p∧q)∨p –– neiginys išsiprastino.Jei būtume įkėlę neiginį į skliaustus prieš pašalindami implikaciją, tai pašalinę implikaciją, dar kartąbūtume turėję įkelti neiginį į skliaustus.

1.(p ∧ ¬q ∧ ¬r) ∨ (p ∧ q ∧ r) ∨ (p ∧ q ∧ ¬r) ∨ (p ∧ ¬q ∧ r) ∗∼

∗∼ p∧((¬q∧¬r)∨(q∧r)∨(q∧¬r)∨(¬q∧r)

) ∗∗∼ p∧((q∧(r∨¬r)

)∨(¬q∧(¬r∨r)

))∼

∼ p ∧((q ∧ t) ∨ (¬q ∧ t)

)∼ p ∧ (q ∨ ¬q) ∼ p ∧ t ∼ p

Vietoje, pažymėtoje ∗, taikomas distributyvumo dėsnis — kintamasis p iškeliamas išvisų keturių skliaustų. Vietoje, pažymėtoje ∗∗, distributyvumo dėsnis taikomas dukartus: iš antrųjų ir trečiųjų skliaustų iškeliamas kintamasis q, o iš pirmųjų ir ketvirtųjų— ¬q.

2.

¬(

(¬p∨¬q)∧(q∨¬(p∧r)

))∼ ¬(¬p∨¬q)∨¬

(q∨¬(p∧r)

)∼ (p∧q)∨

(¬q∧(p∧r)

)∼

∼ (p∧q)∨ (¬q∧p∧r) ∗∼ p∧(q∨ (¬q∧r)

) ∗∗∼ p∧((q∨¬q)∧ (q∨r)

)∼ p∧

(t∧ (q∨r)

)∼

∼ p ∧ (q ∨ r)

Vietoje, pažymėtoje ∗, taikomas distributyvumo dėsnis — kintamasis p iškeliamas priešskliaustus. Vietoje, pažymėtoje ∗∗, distributyvumo dėsnis taikomas į kitą pusę: kinta-masis q įkeliamas į skliaustus.

3.(¬p→¬q)→

((q ∧ r)→ (p ∧ r)

)∼ ¬(p ∨ ¬q) ∨

(¬(q ∧ r) ∨ (p ∧ r)

)∼

∼ (¬p ∧ q) ∨ ¬q ∨ ¬r ∨ (p ∧ r) ∗∼((¬p ∨ ¬q) ∧ (q ∨ ¬q)

)∨((¬r ∨ p) ∧ (¬r ∨ r)

)∼

∼((¬p ∨ ¬q) ∧ t

)∨((¬r ∨ p) ∧ t

)∼ ¬p ∨ ¬q ∨ ¬r ∨ p ∗∗∼ (¬p ∨ p) ∨ ¬q ∨ ¬r ∼

∼ t ∨ ¬q ∨ ¬r ∼ t

Vietoje, pažymėtoje ∗, du kartus taikomas distributyvumo dėsnis: ¬q įkeliamas į pir-muosius skliaustus, o ¬r — į antruosius. Vietoje, pažymėtoje ∗∗, disjunkcijos elementaisukeičiami vietomis ir sugrupuojami.

16

Page 19: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

4. Pirmiausiai pertvarkome kairiąją pusę:

(p | q)∧ p ∼ ¬(p∧ q)∧ p ∼ (¬p∨¬q)∧ p ∼ (¬p∧ p)∨ (¬q ∧ p) ∼ k ∨ (¬q ∧ p) ∼ ¬q ∧ p.

Dabar dešinioji pusė:

¬(p↔q)∧¬(p→q) ∼ ¬((p→q)∧(q→p)

)∧¬(p→q) ∼ ¬

((¬p∨q)∧(¬q∨p)

)∧¬(¬p∨q) ∼

∼(¬(¬p ∨ q) ∨ ¬(¬q ∨ p)

)∧ ¬(¬p ∨ q) ∼

((p ∧ ¬q) ∨ (q ∧ ¬p)

)∧ (p ∧ ¬q)) ∗∼

∗∼((p ∧ ¬q) ∧ (p ∧ ¬q)

)∨((q ∧ ¬p) ∧ (p ∧ ¬q)

)∼ (p ∧ ¬q) ∨

(q ∧ (¬p ∧ p) ∧ ¬q

)∼

∼ (p ∧ ¬q) ∨(k ∧ (q ∧ ¬q)

)∼ (p ∧ ¬q) ∨ k ∼ p ∧ ¬q ∼ ¬q ∧ p.

Gavome tą pačią loginę formulę abiem atvejais, todėl duotos formulės ekvivalenčios.Beje, žvaigždute pažymėtoje vietoje galėjome iš karto gauti p∧¬q, jei būtume pritaikęabsorbavimo dėsnį. Tačiau mes, to „nepastebėję”, pritaikėme distributyvumo dėsnį,įkeldami p ∧ ¬q į skliaustus.

Pastaba: Ypatingą dėmesį atkreipkite į skliaustus, stenkitės jų nepamiršti. Geriau jų rašytiper daug, negu per mažai. Iš tikrųjų, tai yra dažna studentų darbų klaida: kurioje nors vietojepametami skliaustai, ir nuo tos vietos sprendimas tampa neteisingu. Paprasčiausias pavyzdys:

(p ∧ q) ∨ r ∼ (p ∨ r) ∧ (q ∨ r).

Pažiūrėkime, ką gautume, jei pamirštume skliaustus:

(p ∧ q) ∨ r 6∼ p ∨ r ∧ q ∨ r ∼ p ∨ (r ∧ q) ∨ r∗∼ p ∨ r.

Vietoje, pažymėtoje ∗, buvo pritaikytas absorbavimo dėsnis. Gavome neteisingą atsakymą.

Uždavinys 2.3. Išreikškite visas logines operacijas ir logines konstantas per:

1. {¬,∧},2. {|}.

Sprendimas.

1.

p ∨ q ∼ ¬(¬p ∧ ¬q),p→ q ∼ ¬p ∨ q ∼ ¬(p ∧ ¬q),p↔ q ∼ (p→ q) ∧ (q→ p) ∼ ¬(p ∧ ¬q) ∧ ¬(q ∧ ¬p),p⊕ q ∼ ¬(p↔ q) ∼ ¬

(¬(p ∧ ¬q) ∧ ¬(q ∧ ¬p)

),

p | q ∼ ¬(p ∧ q),k ∼ p ∧ ¬p,t ∼ ¬k ∼ ¬(p ∧ ¬p).

17

Page 20: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

2.

¬p ∼ ¬(p ∧ p) ∼ p | p,p ∧ q ∼ ¬(p | q) ∼ (p | q) | (p | q),p ∨ q ∼ ¬(¬p ∧ ¬q) ∼ ¬p | ¬q ∼ (p | p) | (q | q),p→ q ∼ ¬p ∨ q ∼ ¬(p ∧ ¬q) ∼ p | ¬q ∼ p | (q | q),p↔ q ∼ (p→ q) ∧ (q→ p) ∼

(p | (q | q)

)∧(q | (p | p)

)∼

∼((p | (q | q)

)|(q | (p | p)

))|((p | (q | q)

)|(q | (p | p)

)),

p⊕ q ∼ ¬(p↔ q) ∼

∼ ¬(((

p | (q | q))|(q | (p | p)

))|((p | (q | q)

)|(q | (p | p)

)))∼

∼(((

p | (q | q))|(q | (p | p)

))|((p | (q | q)

)|(q | (p | p)

)))

|(((

p | (q | q))|(q | (p | p)

))|((p | (q | q)

)|(q | (p | p)

))),

k ∼ p ∧ ¬p ∼ (p | ¬p) | (p | ¬p) ∼(p | (p | p)

)|(p | (p | p)

),

t ∼ ¬k ∼ ¬(p ∧ ¬p) ∼ p | ¬p ∼ p | (p | p).

Pastaba: Gautume paprastesnę griežtos disjunkcijos išraišką, jei panaudotume ne galutinęekvivalencijos išraišką, o priešpaskutinę, su konjunkcija. Kadangi Šeferio funkcija yra kon-junkcijos neiginys, tai gauname:

p⊕ q ∼ ¬(p↔ q) ∼ ¬((

p | (q | q))∧(q | (p | p)

))∼(p | (q | q)

)|(q | (p | p)

).

18

Page 21: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždaviniai savarankiškam darbuiUždavinys 2.4. Užrašykite duotųjų sakinių neiginius (įkėlę neiginio ženklą į skliaustus):

1. Arba išlaikysiu diskrečiosios matematikos egzaminą, arba mesiu mokslus.2. Jei vakare šals arba lis, tai aš niekur neisiu ir žiūrėsiu televizorių.3. Jei egzaminas bus sunkus arba aš suklysiu, tai neišlaikysiu ir negausiu stipendijos.

Uždavinys 2.5. Įrodykite, naudodamiesi logikos dėsniais:

1. ¬((p | q)→ (p⊕ q)

)∼ ¬p ∧ ¬q,

2. (p→ q) ∧ (p→¬q) ∼ ¬p,3. (p⊕ q)⊕ (¬p⊕ ¬q) ∼ k,

4. ¬(p ∨ (q ∧ p)

)∼ ¬p,

5. ¬(p ∧

(q ∨

(¬p ∨ (p ∧ ¬p)

)))∼ p | q,

6. (p↔ q)↔ p ∼ q,

7.(p→ (q→ r)

)→((p→ q)→ (p→ r)

)∼ t,

8. Griežtos disjunkcijos asociatyvumą: (p⊕ q)⊕ r ∼ p⊕ (q ⊕ r),

9. (p→¬q) ∧ (p→¬r) ∼ ¬(p ∧ (q ∨ r)

),

10. p→ (q ∨ r) ∼ ¬q→ (¬p ∨ r),11. ¬p↔ q ∼ ¬q↔ p.

19

Page 22: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždavinių savarankiškam darbui sprendimai arba atsa-kymai

Uždavinio 2.4 sprendimas ir atsakymai:

1. Pažymėkime teiginius:

• p — Išlaikysiu diskrečiosios matematikos egzaminą,• q — Mesiu mokslus.

Tada sakinį galime užrašyti formule p⊕ q. Jos neiginys bus:

¬(p⊕ q) ∼ ¬¬(p↔ q) ∼ p↔ q

Todėl duoto sakinio neiginys bus: Išlaikysiu diskrečiosios matematikos egzaminą tadair tik tada, kai mesiu mokslus. Arba laiko atžvilgiu teisingiau: Mesiu mokslus tada irtik tada, jei išlaikysiu diskrečiosios matematikos egzaminą.

2. Pažymėkime teiginius:

• p — Vakare šals,• q — Vakare lis,• r — Aš niekur neisiu,• s — Aš žiūrėsiu televizorių.

Tada:

¬((p ∨ q)→ (r ∧ s)

)∼ ¬

(¬(p ∨ q) ∨ (r ∧ s)

)∼ (p ∨ q) ∧ ¬(r ∧ s) ∼ (p ∨ q) ∧ (¬r ∨ ¬s)

Todėl duoto sakinio neiginys bus: Vakare šals arba lis, bet aš kur nors eisiu arba ne-žiūrėsiu televizoriaus.

3. Pažymėkime teiginius:

• p — Egzaminas bus sunkus,• q — Aš suklysiu,• r — Neišlaikysiu,• s — Negausiu stipendijos.

Tada:

¬((p ∨ q)→ (r ∧ s)

)∼ ¬

(¬(p ∨ q) ∨ (r ∧ s)

)∼ (p ∨ q) ∧ ¬(r ∧ s) ∼ (p ∨ q) ∧ (¬r ∨ ¬s)

Todėl duoto sakinio neiginys bus: Egzaminas bus sunkus arba aš suklysiu, bet aš išlai-kysiu arba gausiu stipendiją.

Uždavinio 2.5 sprendimas:

20

Page 23: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

1.¬((p | q)→ (p⊕ q)

)∼ ¬

(¬(p ∧ q)→¬(p↔ q)

)∼ ¬

((p ∧ q) ∨ ¬(p↔ q)

)∼

∼ ¬(

(p ∧ q) ∨ ¬((p→ q) ∧ (q→ p)

))∼ ¬

((p ∧ q) ∨ ¬

((¬p ∨ q) ∧ (¬q ∨ p)

))∼

∼ ¬(p ∧ q) ∧((¬p ∨ q) ∧ (¬q ∨ p)

)∼ (¬p ∨ ¬q) ∧ (¬p ∨ q) ∧ (¬q ∨ p) ∗∼

∗∼(¬p ∨ (¬q ∧ q)

)∧ (¬q ∨ p) ∼ (¬p ∨ k) ∧ (¬q ∨ p) ∼ ¬p ∧ (¬q ∨ p) ∗∗∼

∗∗∼ (¬p ∧ ¬q) ∨ (¬p ∧ p) ∼ (¬p ∧ ¬q) ∨ k ∼ ¬p ∧ ¬q

Vietoje, pažymėtoje ∗, taikomas distributyvumo dėsnis — formulė ¬p iškeliama priešskliaustus. Vietoje, pažymėtoje ∗∗, distributyvumo dėsnis taikomas į kitą pusę: formulė¬p įkeliama į skliaustus.

2.(p→ q) ∧ (p→¬q) ∼ (¬p ∨ q) ∧ (¬p ∨ ¬q) ∗∼ ¬p ∨ (q ∧ ¬q) ∼ ¬p ∨ k ∼ ¬p

Vietoje, pažymėtoje ∗, taikomas distributyvumo dėsnis: ¬p iškeliamas prieš skliaustus.3.

(p⊕ q)⊕ (¬p⊕ ¬q) ∼ ¬(p↔ q)⊕ ¬(¬p↔¬q) ∼ ¬(¬(p↔ q)↔¬(¬p↔¬q)

)∼

∼ ¬((¬(p↔ q)→¬(¬p↔¬q)

)∧(¬(¬p↔¬q)→¬(p↔ q)

))∼

∼ ¬((

(p↔ q) ∨ ¬(¬p↔¬q))∧((¬p↔¬q) ∨ ¬(p↔ q)

))∼

∼ ¬((p↔ q) ∨ ¬(¬p↔¬q)

)∨ ¬

((¬p↔¬q) ∨ ¬(p↔ q)

)∼

Pažymėkime kairiąją disjunkcijos pusę F , o dešiniąją — G ir suprastinkime jas atskirai:

F = ¬((p↔ q) ∨ ¬(¬p↔¬q)

)∼

∼ ¬((

(p→ q) ∧ (q→ p))∨ ¬

((¬p→¬q) ∧ (¬q→¬p)

))∼

∼ ¬((

(¬p ∨ q) ∧ (¬q ∨ p))∨ ¬

((p ∨ ¬q) ∧ (q ∨ ¬p)

))∼

∼ ¬((¬p ∨ q) ∧ (¬q ∨ p)

)∧((p ∨ ¬q) ∧ (q ∨ ¬p)

)∼

∼(¬(¬p ∨ q) ∨ ¬(¬q ∨ p)

)∧((p ∨ ¬q) ∧ (q ∨ ¬p)

)∼

∼((p ∧ ¬q) ∨ (q ∧ ¬p)

)∧((p ∨ ¬q) ∧ (q ∨ ¬p)

) ∗∼∗∼((p ∨ (q ∧ ¬p)

)∧(¬q ∨ (q ∧ ¬p)

))∧((p ∨ ¬q) ∧ (q ∨ ¬p)

) ∗∗∼∗∗∼((

(p ∨ q) ∧ (p ∨ ¬p))∧((¬q ∨ q) ∧ (¬q ∨ ¬p)

))∧((p ∨ ¬q) ∧ (q ∨ ¬p)

) ∗∗∗∼∗∗∗∼ (p ∨ q) ∧ (p ∨ ¬p) ∧ (¬q ∨ q) ∧ (¬q ∨ ¬p) ∧ (p ∨ ¬q) ∧ (q ∨ ¬p) ∼

∼ (p ∨ q) ∧ t ∧ t ∧ (¬q ∨ ¬p) ∧ (p ∨ ¬q) ∧ (q ∨ ¬p) †∼

21

Page 24: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

†∼ (p ∨ q) ∧ (p ∨ ¬q) ∧ (¬p ∨ ¬q) ∧ (¬p ∨ q) ††∼(p ∨ (q ∧ ¬q)

)∧(¬p ∨ (¬q ∧ q)

)∼

∼ (p ∨ k) ∧ (¬p ∨ k) ∼ p ∧ ¬p ∼ k

Pirmiausia pašaliname visas logines operacijas, išskyrus neigimą, konjunkciją ir dis-junkciją. Po to įkeliame neigimą į skliaustus. Vietoje, pažymėtoje ∗, taikomas dist-ributyvumo dėsnis: pirmuosiuose didžiuosiuose skliaustuose antrieji mažieji skliaustaiįkeliami į pirmuosius mažuosius skliaustus. Vietoje, pažymėtoje ∗∗, pirmuosiuose di-džiuosiuose skliaustuose vėl du kartus taikomas distributyvumo dėsnis: pirmajame di-džiųjų skliaustų konjunkcijos operande kintamasis p įkeliamas į skliaustus, o antrajame— į skliaustus įkeliama formulė ¬q. Vietoje, pažymėtoje ∗∗∗, pašalinami nereikalingiskliaustai. Kadangi konjunkcijos operacija yra asociatyvi (nėra svarbu kuria tvarkaatliksime konjunkciją), todėl skliaustai, kurie nurodo konjunkcijų atlikimo tvarką nėrabūtini. Vietoje, pažymėtoje † be to, kad suprastiname konstantas, dar ir pertvarkomeskliaustų tvarką ir keliuose skliaustuose sukeičiame elementus vietomis. Vietoje, pa-žymėtoje ††, ir vėl du kartus taikomas distributyvumo dėsnis, tik šį kartą į priešingąpusę: iš pirmųjų dviejų skliaustų iškeliamas p, o iš paskutiniųjų dviejų — ¬p.Antroji formulė — G — suprastinama analogiškai, todėl viso to atskirai nekomentuo-sime, tik atitinkamose vietose sudėsime tas pačias žymes.

G = ¬((¬p↔¬q) ∨ ¬(p↔ q)

)∼

∼ ¬((

(¬p→¬q) ∧ (¬q→¬p))∨ ¬

((p→ q) ∧ (q→ p)

))∼

∼ ¬((

(p ∨ ¬q) ∧ (q ∨ ¬p))∨ ¬

((¬p ∨ q) ∧ (¬q ∨ p)

))∼

∼ ¬((p ∨ ¬q) ∧ (q ∨ ¬p)

)∧((¬p ∨ q) ∧ (¬q ∨ p)

)∼

∼(¬(p ∨ ¬q) ∨ ¬(q ∨ ¬p)

)∧((¬p ∨ q) ∧ (¬q ∨ p)

)∼

∼((¬p ∧ q) ∨ (¬q ∧ p)

)∧((¬p ∨ q) ∧ (¬q ∨ p)

) ∗∼∗∼((¬p ∨ (¬q ∧ p)

)∧(q ∨ (¬q ∧ p)

))∧((¬p ∨ q) ∧ (¬q ∨ p)

) ∗∗∼∗∗∼((

(¬p ∨ ¬q) ∧ (¬p ∨ p))∧((q ∨ ¬q) ∧ (q ∨ p)

))∧((¬p ∨ q) ∧ (¬q ∨ p)

) ∗∗∗∼∗∗∗∼ (¬p ∨ ¬q) ∧ (¬p ∨ p) ∧ (q ∨ ¬q) ∧ (q ∨ p) ∧ (¬p ∨ q) ∧ (¬q ∨ p) ∼

∼ (¬p ∨ ¬q) ∧ t ∧ t ∧ (q ∨ p) ∧ (¬p ∨ q) ∧ (¬q ∨ p) †∼†∼ (¬p ∨ ¬q) ∧ (¬p ∨ q) ∧ (p ∨ q) ∧ (p ∨ ¬q) ††∼

(¬p ∨ (¬q ∧ q)

)∧(p ∨ (q ∧ ¬q)

)∼

∼ (¬p ∨ k) ∧ (p ∨ k) ∼ ¬p ∧ p ∼ k

Dabar belieka tik šias dvi dalis sudėti:

¬((p↔ q) ∨ ¬(¬p↔¬q)

)∨ ¬

((¬p↔¬q) ∨ ¬(p↔ q)

)∼ F ∨G ∼ k ∨ k ∼ k

Taigi, (p⊕ q)⊕ (¬p⊕ ¬q) ∼ k.

22

Page 25: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Dažniausiai naudojami logikos dėsniai skirti operuoti neigimais, konjunkcijomis ir dis-junkcijomis. Todėl natūralu, kad siūlomas formulių pertvarkymo metodas yra paremtastuo, kad visų pirma formulėse visos loginės operacijos išreiškiamos naudojant neigimą,konjunkciją ir disjunkciją. Tada taikomi įvairūs šioms operacijoms skirti logikos dės-niai, kurie buvo pateikti paskaitų ir pratybų metu. Kita vertus, toks kelias tikrai nėravienintelis. Viena iš to priežasčių — paskaitų ir pratybų metu pateiktas logikos dėsniųsąrašas nėra baigtinis. Jų galima išvesti ir daugiau. Pavyzdžiui, šiuo atveju užtektų pa-stebėti, kad griežtoji disjunkcija, kitaip dar vadinama sudėtimi moduliu du (beje, kaipir algebrinė sudėtis), yra komutatyvi (p⊕q ∼ q⊕p) ir asociatyvi ((p⊕q)⊕r ∼ p⊕(q⊕r))operacija. Tuo įsitikinti galima, pavyzdžiui, naudojant teisingumo lentelę arba ekviva-lenčiais pertvarkymais, naudojant jau žinomus logikos dėsnius. Parodysime tik sudėtieskomutatyvumą (asociatyvumą paliksime savarankiškam darbui):

p⊕ q ∼ ¬(p↔ q) ∼ ¬((p→ q) ∧ (q→ p)

)∼ ¬

((q→ p) ∧ (p→ q)

)∼ ¬(q↔ p) ∼ q ⊕ p

Naudojant šias savybes duotąją formulę suprastinti yra žymiai paprasčiau:

(p⊕q)⊕(¬p⊕¬q) ∼ p⊕(q⊕(¬p⊕¬q)

)∼ p⊕

((q⊕¬p)⊕¬q

)∼ p⊕

((¬p⊕q)⊕¬q

)∼

∼(p⊕ (¬p⊕ q)

)⊕ ¬q ∼

((p⊕ ¬p)⊕ q

)⊕ ¬q ∼ (p⊕ ¬p)⊕ (q ⊕ ¬q) ∼ t⊕ t ∼ k

Pagaliau pastebėkime, kad tokį rezultatą galima buvo numanyti. Iš tiesų, griežtojidisjunkcija (sudėtis moduliu 2) turi tokią savybę — jeigu kintamųjų reikšmės sutampa,griežtosios disjunkcijos rezultatas yra k (t⊕t ∼ k ir k⊕k ∼ k). Jeigu kintamųjų reikšmėsnesutampa, griežtosios disjunkcijos rezultatas yra t (t⊕ k ∼ t ir k ⊕ t ∼ t). Jeigu p irq reikšmės sutampa, tada tiek p⊕ q ∼ k, tiek ¬p⊕¬q ∼ k, o visos formulės rezultatasyra k⊕ k ∼ k. Jeigu p ir q reikšmės yra priešingos, tada p⊕ q ∼ t ir ¬p⊕¬q ∼ t, todėlvisos formulės rezultatas ir vėl yra t⊕ t ∼ k. Taigi, nepriklausomai nuo interpretacijosformulės reikšmė yra k, kitaip sakant, ši formulė yra tapačiai klaidinga.Nors samprotavimas, naudojant teisingumo lentelę netiktų tuo atveju, jeigu uždaviniosąlygoje būtų prašoma naudoti logikos dėsnius, tačiau jį vis tiek galima naudoti, norintpasitikrinti uždavinio atsakymą.

4. ¬(p ∨ (q ∧ p)

)∼ ¬p ∧ (¬q ∨ ¬p) ∼ ¬p.

Pastaba: Beje, šiuo atveju galima būtų pirma suprastinti formulę. Naudojant absorbavimodėsnį, p ∨ (q ∧ p) ∼ p, taigi atsakymą gauname netgi nekeldami neiginio į skliaustus.

5.

¬(p∧(q∨(¬p∨(p∧¬p)

)))∼ ¬p∨

(¬q∧

(p∧(¬p∨p)

))∼ ¬p∨

(¬q∧(p∧t

)∼ ¬p∨(¬q∧p) ∼

∼ (¬p ∨ ¬q) ∧ (¬p ∨ p) ∼ (¬p ∨ ¬q) ∧ t ∼ ¬p ∨ ¬q ∼ ¬(p ∧ q) ∼ p | q.

6.(p↔ q)↔ p ∼

((p→ q) ∧ (q→ p)

)↔ p ∼

((¬p ∨ q) ∧ (¬q ∨ p)

)↔ p ∼

∼((

(¬p ∨ q) ∧ (¬q ∨ p))→ p

)∧(p→

((¬p ∨ q) ∧ (¬q ∨ p)

))∼

23

Page 26: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

∼(¬((¬p ∨ q) ∧ (¬q ∨ p)

)∨ p

)∧(¬p ∨

((¬p ∨ q) ∧ (¬q ∨ p)

))∼

∼((

(p ∧ ¬q) ∨ (q ∧ ¬p))∨ p

)∧((¬p ∨ ¬p ∨ q) ∧ (¬p ∨ ¬q ∨ p)

)∼

∼((p∧¬q)∨p∨(q∧¬p)

)∧(¬p∨q)∧t ∼

(p∨(q∧¬p)

)∧(¬p∨q) ∼

((p∨q)∧(p∨¬p)

)∧(¬p∨q) ∼

∼ (p ∨ q) ∧ t ∧ (¬p ∨ q) ∼ (p ∨ q) ∧ (¬p ∨ q) ∼ (p ∧ ¬p) ∨ q ∼ k ∨ q ∼ q.

7. (p→ (q→ r)

)→((p→ q)→ (p→ r)

)∼ ¬

(p→ (q→ r)

)∨((p→ q)→ (p→ r)

)∼

∼ ¬(¬p∨ (q→ r)

)∨(¬(p→ q)∨ (p→ r)

)∼ ¬

(¬p∨ (¬q∨ r)

)∨(¬(¬p∨ q)∨ (¬p∨ r)

)∼

¬(¬p ∨ ¬q ∨ r) ∨ ¬(¬p ∨ q) ∨ ¬p ∨ r ∼ (p ∧ q ∧ ¬r) ∨ (p ∧ ¬q) ∨ ¬p ∨ r ∼

∼((

(p∧q∧¬r)∨p)∧((p∧q∧¬r)∨¬q

))∨¬p∨r ∼

(p∧(p∨¬q)∧(q∨¬q)∧(¬r∨¬q)

)∨¬p∨r ∼

∼(p∧t∧(¬r∨¬q)

)∨¬p∨r ∼

(p∧(¬r∨¬q)

)∨¬p∨r ∼

((p∨¬p)∧(¬r∨¬q∨¬p)

)∨r ∼

∼(t ∧ (¬r ∨ ¬q ∨ ¬p)

)∨ r ∼ ¬r ∨ ¬q ∨ ¬p ∨ r ∼ ¬r ∨ r ∨ ¬q ∨ ¬p ∼ t ∨ ¬q ∨ ¬p ∼ t.

8.

(p⊕q)⊕r ∼ ¬(¬(p↔q)↔r

)∼ ¬

(¬((p→q)∧(q→p)

)↔r

)∼ ¬

(¬((¬p∨q)∧(¬q∨p)

)↔r

)∼

∼ ¬((¬((¬p ∨ q) ∧ (¬q ∨ p)

)→ r

)∧(r→¬

((¬p ∨ q) ∧ (¬q ∨ p)

)))∼

∼ ¬(((

(¬p ∨ q) ∧ (¬q ∨ p))∨ r

)∧(¬r ∨ ¬

((¬p ∨ q) ∧ (¬q ∨ p)

)))∼

∼ ¬((

(¬p ∨ q ∨ r) ∧ (¬q ∨ p ∨ r))∧(¬r ∨ (p ∧ ¬q) ∨ (q ∧ ¬p)

))∼

∼ ¬(

(¬p ∨ q ∨ r) ∧ (¬q ∨ p ∨ r) ∧((

(¬r ∨ p) ∧ (¬r ∨ ¬q))∨ (q ∧ ¬p)

))∼

∼ ¬(

(¬p ∨ q ∨ r) ∧ (¬q ∨ p ∨ r) ∧((¬r ∨ p ∨ (q ∧ ¬p)

)∧(¬r ∨ ¬q ∨ (q ∧ ¬p)

)))∼

∼ ¬((¬p ∨ q ∨ r) ∧ (¬q ∨ p ∨ r) ∧ (¬r ∨ p ∨ q) ∧ (¬r ∨ ¬q ∨ ¬p)

)∼

∼ ¬((¬p ∨ q ∨ r) ∧ (¬p ∨ ¬q ∨ ¬r) ∧ (p ∨ ¬q ∨ r) ∧ (p ∨ q ∨ ¬r)

)∼

∼ ¬((¬p ∨

((q ∨ r) ∧ (¬q ∨ ¬r)

))∧(p ∨

((¬q ∨ r) ∧ (q ∨ ¬r)

)))∼

∼ ¬((p→

((q ∨ r) ∧ (¬q ∨ ¬r)

))∧(¬((¬q ∨ r) ∧ (q ∨ ¬r)

)→ p

))∼

∼ ¬((p→¬

((¬q ∧ ¬r) ∨ (q ∧ r)

))∧(¬((q→ r) ∧ (r→ q)

)→ p

))∼

24

Page 27: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

∼ ¬((

p→¬((¬q ∨ r) ∧ (¬r ∨ q)

))∧(¬(q↔ r)→ p

))∼

∼ ¬((p→¬

((q→r)∧(r→q)

))∧((q⊕r)→p

))∼ ¬

((p→¬(q↔r)

)∧((q⊕r)→p

))∼

∼ ¬((p→ (q ⊕ r)

)∧((q ⊕ r)→ p

))∼ ¬

(p↔ (q ⊕ r)

)∼ p⊕ (q ⊕ r).

Šiame įrodyme panaudoti keli papildomi logikos dėsniai. Visų pirma:

p ∨ (q ∧ ¬p) ∼ (p ∨ q) ∧ (p ∨ ¬p) ∼ (p ∨ q) ∧ t ∼ p ∨ q.

Taip pat:

(¬q∧¬r)∨(q∧r) ∼(¬q∨(q∧r)

)∧(¬r∨(q∧r)

)∼ (¬q∨q)∧(¬q∨r)∧(¬r∨q)∧(¬r∨r) ∼

∼ t ∧ (¬q ∨ r) ∧ (¬r ∨ q) ∧ t ∼ (¬q ∨ r) ∧ (¬r ∨ q).

9. (p→¬q)∧(p→¬r) ∼ (¬p∨¬q)∧(¬p∨¬r) ∼ ¬p∨(¬q∧¬r) ∼ ¬p∨¬(q∨r) ∼ ¬(p∧(q∨r)

).

10. ¬q→ (¬p ∨ r) ∼ q ∨ (¬p ∨ r) ∼ q ∨ ¬p ∨ r ∼ ¬p ∨ q ∨ r ∼ ¬p ∨ (q ∨ r) ∼ p→ (q ∨ r).11.

¬p↔ q ∼ (¬p→ q) ∧ (q→¬p) ∼ (p ∨ q) ∧ (¬q ∨ ¬p) ∼ (q ∨ p) ∧ (¬p ∨ ¬q) ∼

∼ (¬q→ p) ∧ (p→¬q) ∼ ¬q↔ p.

25

Page 28: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

3 pratybos

Aibių algebra

Teorinė medžiaga: II dalies 1 skyrius.

Uždaviniai pratybomsVisų pirma uždavinius išspręsti pabandykite patys. Tik tada, kai išsprendžiate, arba kaipamatote, kad patiems išspręsti nepavyks, pažiūrite pateiktą sprendimą.

Pratybose N žymi natūraliųjų skaičių aibę, N = {0, 1, 2, 3, . . . } (atkreipkite dėmesį, kad0 ∈ N), Z žymi sveikųjų skaičių aibę, Z = {. . . ,−2,−1, 0, 1, 2, . . . }, Q žymi racionaliųjųskaičių aibę, o R žymi realiųjų skaičių aibę.

Tai, kad aibė A yra aibės B poaibis, žymėsime A ⊆ B. Tą patį reiškia ir žymėjimasB ⊇ A, tik šiuo atveju akcentuojama tai, kad aibė B yra aibės A viršaibis. Tuo tarpu ženklu⊂ (ar ⊃) žymėsime tai, kad viena aibė yra kitos aibės tikrasis poaibis. T. y., A ⊆ A ir A ⊇ A,tačiau A 6⊂ A ir A 6⊃ A.

Uždavinys 3.1. Nustatykite, ar lygios šios:

1. aibės: {0, 1}, {1, 0} ir {0, 1, 0};2. šeimos: {0, 1}, {1, 0} ir {0, 1, 0};3. sekos (vektoriai): (0, 1), (1, 0) ir (0, 1, 0).

Sprendimas.

1. Kadangi aibėse nėra svarbi nei elementų tvarka, nei vienodų elementų kiekis, vadinasivisos nurodytos aibės yra lygios ir yra sudarytos iš dviejų elementų: 1 ir 0.

2. Šeimose elementų tvarka nėra svarbi, tačiau vienodų elementų kiekis svarbus. Todėlšeimos {0, 1} ir {1, 0} yra lygios, tačiau {0, 1, 0} nėra lygi nė vienai iš pirmųjų dviejų,nes joje 0 pasikartoja du kartus.

3. Sekose svarbus ne tik vienodų elementų kiekis, bet ir elementų tvarka. Todėl visos tryssekos yra skirtingos ir nėra tarpusavyje lygios.

Uždavinys 3.2. Išvardinkite visus duotos aibės A elementus.

1. A = {x : x yra toks realusis skaičius, kad x2 = 1} = {x ∈ R : x2 = 1}.2. A = {x : x yra toks sveikasis skaičius, kad x2 = 2} = {x ∈ Z : x2 = 2}.3. A = {y : x = y + z, kur x, z ∈ X}, kur aibė X = {1, 2}.

26

Page 29: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Sprendimas.

1. A = {−1, 1}.2. A = ∅.3. Turime y = x− z, kur x, z ∈ X. Imame visas galimas x ir z reikšmes ir apskaičiuojamey reikšmes:

x z y1 1 01 2 −12 1 12 2 0

Taigi, A = {0,−1, 1, 0} = {0,−1, 1}.

Uždavinys 3.3. Duotas aibes užrašykite pavidalu {P (x) : S(x)}.

1. {1, 3, 5, 7, 9, 11, . . . },2. {1, 6, 11, 16, . . . , 96},3. {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, . . . , 997}.

Sprendimas.

1. {x : x — nelyginis natūralusis skaičius} = {x : x = 2k + 1, k ∈ N}. Šią aibę taippat galima užrašyti ir taip: {x ∈ N : x — nelyginis skaičius}. Dar trumpiau galimaužrašyti taip: {2k + 1 : k ∈ N}.

2. {x : x = 5k+ 1, k ∈ N, k 6 19}. Šią aibę taip pat galima užrašyti ir taip: {5k+ 1 : k ∈N, k 6 19}.

3. {x : x –– pirminis skaičius, mažesnis už 1000}.

Uždavinys 3.4. Nustatykite, ar šios aibės lygios.

1.{{1}, 1

}ir{{1}

},

2.{{1}

}ir {1},

3. {∅} ir ∅.

Sprendimas.

1. Aibės lygios, jei jos sudarytos iš tų pačių elementų. Aibė{{1}, 1

}yra sudaryta iš dviejų

elementų {1} ir 1. Iš tikrųjų, tai skirtingi elementai, nes {1} yra aibė, o 1 nėra aibė,tai skaičius. Tuo tarpu aibė

{{1}

}yra sudaryta tik iš vieno elemento {1}, ji neturi

elemento 1. Todėl šios aibės nelygios.2. Pirmoji aibė

{{1}

}yra sudaryta iš vieno elemento {1}, o antroji aibė {1} yra sudaryta

iš vieno elemento 1. Kaip jau matėme spręsdami pirmąją uždavinio dalį, pirmosiosaibės vienintelis elementas {1} nėra tas pats, kas antrosios aibės vienintelis elementas1, todėl šios aibės nelygios.

27

Page 30: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

3. Pirmoji aibė {∅} nėra tuščia aibė, ji turi vieną elementą, kuris yra tuščia aibė. Tai,kad elementas yra tuščia aibė, nereiškia, kad jo nėra. Jis yra, ir tai aibė (nesvarbu, kadtuščia). Tuo tarpu antroji aibė yra tuščia, ji elementų neturi iš viso. Todėl šios aibėsnelygios.Galbūt situacija taps aiškesnė, įsivaizduojant aibę kaip failų sistemos aplanką (katalo-gą). Tada tuščia aibė atitinka tuščią aplanką, jame nėra jokio failo anei aplanko. Tuotarpu aibė {∅} atitinka aplanką, kuris nėra tuščias — jame yra vienas aplankas (kurissavo ruožtu yra tuščias).

Uždavinys 3.5. Duotos aibės{

2, {2}},{{2},

{{2}

}},{{2},

{2, {2}

}}ir{{{2}

}}. Kurioms

iš jų priklauso elementas 2? Elementas {2}? Kurių iš jų poaibis yra aibė {2}? Aibė{{2}

}?

Sprendimas. Atsakymus surašykime į lentelę. Pirmajame stulpelyje atsakymai į klausimą, ar2 priklauso atitinkamoms aibėms, ir t. t.

A 2 ∈ A {2} ∈ A {2} ⊆ A{{2}

}⊆ A{

2, {2}}

Taip Taip Taip Taip{{2},

{{2}

}}Ne Taip Ne Taip{

{2},{

2, {2}}}

Ne Taip Ne Taip{{{2}

}}Ne Ne Ne Ne

Komentaras. Atsakant į trečiąjį klausimą, kurių aibių poaibis yra aibė {2}, reikia nusta-tyti, kurioms aibėms priklauso elementas 2 (nes, pagal poaibio apibrėžimą, aibė A yra aibėsB poaibis, jei visi aibės A elementai priklauso ir aibei B), t. y. reikia atsakyti į tą patį pirmąjįklausimą. Todėl lentelės trečiajame stulpelyje atsakymai sutampa su atsakymais pirmajamestulpelyje. Dėl tos pačios priežasties ir ketvirtojo stulpelio atsakymai sutampa su antrojostulpelio atsakymais.

Uždavinys 3.6. Duotos aibės {∅},{∅, {∅}

}ir{{∅}

}. Kurioms iš jų priklauso elementas

∅? Elementas {∅}? Kurių iš jų poaibis yra aibė ∅? Aibė {∅}?Sprendimas. Atsakymus surašykime į lentelę. Pirmajame stulpelyje atsakymai į klausimą, ar∅ priklauso atitinkamoms aibėms, ir t. t.

A ∅ ∈ A {∅} ∈ A ∅ ⊆ A {∅} ⊆ A{∅} Taip Ne Taip Taip{

∅, {∅}}

Taip Taip Taip Taip{{∅}

}Ne Taip Taip Ne

Komentaras. Tuščioji aibė yra bet kokios aibės poaibis, todėl į trečiąjį klausimą visi at-sakymai teigiami. Atsakant į ketvirtąjį klausimą, kurių aibių poaibis yra aibė {∅}, reikianustatyti, kurioms aibėms priklauso elementas ∅, t. y. reikia atsakyti į tą patį pirmąjį klau-simą. Todėl lentelės ketvirtajame stulpelyje atsakymai sutampa su atsakymais pirmajamestulpelyje.

Uždavinys 3.7. Duota aibė A. Raskite aibių A ir P(A) galias (elementų skaičių) |A| ir|P(A)|, kur P(A) — aibės A poaibių aibė. Pirmose šešiose uždavinio dalyse rasti ir pačiąpoaibių aibę P(A).

28

Page 31: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

1. A = ∅.2. A = {a}.3. A = P(∅).4. A = {a, b}.5. A = P

(P(∅)

).

6. A = {1, 2, 3, 4}.7. A = {10, 20, 30, . . . , 100}.8. A — visų triženklių natūraliųjų skaičių aibė.

Sprendimas. Užrašas |A| reiškia aibės galią (baigtinėse aibėse — elementų skaičių).1. A = ∅, |A| = 0, P(A) = {∅}, |P(A)| = 1.2. A = {a}, |A| = 1, P(A) =

{∅, {a}

}= {∅, A}, |P(A)| = 2.

3. A = P(∅) = {∅} (tai radome pirmoje uždavinio dalyje), |A| = 1,

P(A) ={∅, {∅}

}= {∅, A},

|P(A)| = 2.4. A = {a, b}, |A| = 2,

P(A) ={∅, {a}, {b}, {a, b}

}={∅, {a}, {b}, A

},

|P(A)| = 4.5. A = P

(P(∅)

)={∅, {∅}

}(tai radome trečioje uždavinio dalyje), |A| = 2,

P(A) ={∅, {∅},

{{∅}

},{∅, {∅}

}}={∅, {∅},

{{∅}

}, A},

|P(A)| = 4.6. A = {1, 2, 3, 4}, |A| = 4,

P(A) ={∅, {1}, {2}, {3}, {4}, {1, 2}, {1, 3}, {1, 4}, {2, 3}, {2, 4}, {3, 4},

{1, 2, 3}, {1, 2, 4}, {1, 3, 4}, {2, 3, 4}, {1, 2, 3, 4}},

|P(A)| = 16.7. A = {10, 20, 30, . . . , 100}, |A| = 10. Poaibių aibės galia apskaičiuojama pagal formulę|P(A)| = 2|A|, taigi |P(A)| = 210 = 1024.

8. A — visų triženklių natūraliųjų skaičių aibė. Mažiausias triženklis natūralusis skaičiusyra 100, didžiausias — 999. Taigi, viso yra 999− 100 + 1 = 900 triženklių natūraliųjųskaičių. Taigi, |A| = 900, |P(A)| = 2900 ≈ 8,45 · 10270.

Uždavinys 3.8. Aibė A = {1, 2}. Raskite P(A)× A.Sprendimas. Kadangi P(A) =

{∅, {1}, {2}, {1, 2}

}, tai

P(A)× A ={(

∅, 1),(∅, 2

),({1}, 1

),({1}, 2

),({2}, 1

),({2}, 2

),({1, 2}, 1

),({1, 2}, 2

)}.

Pastaba: Aibę P(A) trumpiau galima užrašyti taip:{∅, {1}, {2}, A

}. Analogiškai galima užra-

šyti ir aibės P(A)×A elementus. Pavyzdžiui, vietoj({1, 2}, 1

)galima rašyti

(A, 1

).

29

Page 32: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždavinys 3.9. Duotos aibės A = {1, 2, 3, 4} ir B = {3, 4, 5}. Raskite aibes A ∪B, A ∩B,A \ B, B \ A, A ir B. Laikykite, kad universalioji aibė yra natūraliųjų skaičių aibė N ={0, 1, 2, 3, . . . }.Sprendimas.

A ∪B = {1, 2, 3, 4, 5},A ∩B = {3, 4},A \B = {1, 2},B \ A = {5},

A = N \ {1, 2, 3, 4} = {0} ∪ {x ∈ N : x > 5} = {0, 5, 6, 7, . . . },B = N \ {3, 4, 5} = {0, 1, 2} ∪ {x ∈ N : x > 6} = {0, 1, 2, 6, 7, 8, 9, . . . }.

Uždavinys 3.10. Pavaizduokite aibę (A ∪ C) \B Veno diagrama (Oilerio skrituliais).Sprendimas. Vertikaliai užbrūkšniuota sritis yra A ∪ C, horizontaliai — B, o atsakymasnuspalvintas pilkai.

U

B C

A

Uždavinys 3.11. Duota Veno diagrama:

U

B C

A

Užrašykite formule aibę, kuri diagramoje nuspalvinta pilkai.Sprendimas. Pavyzdžiui, (B \ A) ∪ (A ∩ C). Be abejo, tai ne vienintelis būdas, pabandykiterasti kitų.

Uždavinys 3.12. Įrodykite lygybę (A \ B) ∪ (B \ A) = (A ∪ B) \ (A ∩ B) naudodamiesiVeno diagramomis.Sprendimas. Lygybės kairiosios pusės Veno diagrama:

U

A B

30

Page 33: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Čia vertikaliai užbrūkšniuota sritis yra A\B, horizontaliai –– B\A, o visa aibė nuspalvintapilkai. Lygybės dešiniosios pusės Veno diagrama:

U

A B

Čia vertikaliai užbrūkšniuota sritis yra A∪B, horizontaliai — A∩B, o visa aibė nuspal-vinta pilkai. Matome, kad abiem atvejais nuspalvinta ta pati sritis, todėl duotos aibės yralygios.

Uždavinys 3.13. Įrodykite lygybes naudodamiesi aibių algebros dėsniais. Čia ir toliau Užymi universalią aibę, t. y. A,B,C ⊆ U .

1.(A ∪

((C \B) ∩∅

))∩ (A ∪ U) = A,

2. (U ∩ A) ∪ (B ∩ A) = A,3. (∅ ∪ A) ∩ (B ∪ A) = A.

Sprendimas.

1.(A ∪

((C \B) ∩∅

))∩ (A ∪ U) = (A ∪∅) ∩ U = A ∩ U = A.

2. (U ∩ A) ∪ (B ∩ A) ∗= (A ∩ U) ∪ (A ∩ B) ∗∗= A ∩ (U ∪ B) = A ∩ U = A. Vietoje,pažymėtoje ∗, du kartus taikomas komutatyvumo dėsnis. Vietoje, pažymėtoje ∗∗,taikomas distributyvumo dėsnis.

3. Įrodymas analogiškas antrosios uždavinio dalies lygybės įrodymui. Bet galima ir pa-prasčiau. Ši lygybė iškart išplaukia iš antrosios uždavinio dalies lygybės pagal dualumoprincipą.

Uždavinys 3.14. Pasinaudoję dualumo principu, raskite lygybei (A ∩ U) ∩ (∅ ∪ A) = ∅dualią lygybę.Sprendimas. (A ∪∅) ∪ (U ∩ A) = U .

Uždavinys 3.15. Įrodykite lygybę A \B = A∪B naudodamiesi aibių operacijų apibrėžimaisir logikos dėsniais.Sprendimas. Pirmiausia parodysime, kad A \B ⊆ A ∪ B. Tarkime, x ∈ A \B. Pagalpapildinio apibrėžimą x /∈ A \ B, t. y. ¬(x ∈ A \ B). Pagal aibių skirtumo apibrėžimągauname, kad ¬(x ∈ A ir x /∈ B). Pritaikę De Morgano dėsnį, gauname ¬(x ∈ A) arba ¬(x /∈B), t.y. x /∈ A arba x ∈ B. Vėl pagal papildinio apibrėžimą gauname, kad x ∈ A arba x ∈ B.Pagal aibių sąjungos apibrėžimą x ∈ A ∪B. Taigi, A \B ⊆ A ∪B.

Į kitą pusę parodome tokiu pat būdu, tik iš kito galo. Pradėję nuo to, kad x ∈ A ∪ B,parodome, kad tokiu atveju x ∈ A \B. Todėl A \B ⊇ A ∪B.

Taip įrodėme reikiamą lygybę.

31

Page 34: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždaviniai savarankiškam darbuiUždavinys 3.16. Duotas aibes užrašykite pavidalu {P (x) : S(x)}.

1. {. . . ,−12,−9,−6,−3, 0, 3, 6, 9, 12, . . . };2. {3, 5, 9, 11, 15, 17, . . . };3. {8, 88, 888, 8888, . . . }.

Uždavinys 3.17. Duota aibė A = {a, b, c}. Raskite aibių A ir P(A) galias (elementų skaičių)|A| ir |P(A)|, kur P(A) — aibės A poaibių aibė, bei pačią poaibių aibę P(A).

Uždavinys 3.18. Duotos aibės A ir B. Raskite A×B.

1. A ={∅, {1, 2, 3},N

}, B = {π, e};

2. A = {(1, 2), (0,−3)}, B = {(−1, 0, 1)}.

Uždavinys 3.19. Pavaizduokite nurodytas aibes Veno diagramomis:

1. (A ∩ C) \ (B ∩ C),2. (A ∪ C) \ (B ∩ C),3. (A ∩B \ C) \ (C ∪B).

Uždavinys 3.20. Raskite dar kelis 3.11 uždavinio sprendinius.

Uždavinys 3.21. Įrodykite lygybes naudodamiesi Veno diagramomis:

1. A \ (B ∪ C) = (A \B) ∩ (A \ C),2. A \ (A \B) = A ∩B.

Uždavinys 3.22. Įrodykite lygybes naudodamiesi aibių algebros dėsniais:

1. A ∪B ∪ (A ∩B) = A,2.((A ∪B) \ (A ∪∅)

)\B = ∅,

3. (U ∩ A) ∪ (B ∩ A) = A,4. (A ∪B) ∩ (A ∪B) = A,5. (B ∩ U) ∩ (A ∪∅) = A ∪B,6. (B ∪∅) ∪ (A ∩ U) = A ∩B.

Uždavinys 3.23. Pasinaudoję dualumo principu, raskite nurodytai lygybei dualią lygybę.

(A ∩B) ∪ (A ∩B) ∪ (A ∩B) ∪ (A ∩B) = U

Uždavinys 3.24. Įrodykite lygybes naudodamiesi aibių operacijų apibrėžimais ir logikosdėsniais:

1. (A ∩B) \ C = (A \ C) ∩ (B \ C),2. (A ∪B) \ (B ∪ C) = (A \B) \ C,3. (A \B) ∪ (B \ A) = (A ∪B) \ (A ∩B),4. A \ (B ∪ C) = (A \B) ∩ (A \ C),5. A \ (A \B) = A ∩B.

32

Page 35: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždavinių savarankiškam darbui sprendimai arba atsa-kymai

Uždavinio 3.16 atsakymai:

1. {x : x = 3k, k ∈ Z} arba {3k : k ∈ Z}. Šią aibę galima būtų užrašyti ir taip{±3k : k ∈ N}.

2. {x : x = 6k+3 arba x = 6k+5, k ∈ N}. Griežtai nesilaikant sąlygoje prašomos formos,galima būtų rašyti taip: {6k + 3 : k ∈ N} ∪ {6k + 5 : k ∈ N}.

3. {x : x — natūralusis skaičius, kurio visi skaitmenys yra aštuonetai}. Galima būtų už-rašyti ir labiau matematine forma, pavyzdžiui:{

x : x =k∑i=0

(8 · 10i), k ∈ N}

arba tiesiog{

k∑i=0

(8 · 10i) : k ∈ N}.

Uždavinio 3.17 atsakymai:A = {a, b, c}, |A| = 3, P(A) =

{∅, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, A

}, |P(A)| = 8.

Uždavinio 3.18 atsakymai:

1. A×B ={

(∅, π), (∅, e), ({1, 2, 3}, π), ({1, 2, 3}, e), (N, π), (N, e)};

2. A×B ={(

(1, 2), (−1, 0, 1)),((0,−3), (−1, 0, 1)

)}.

Uždavinio 3.19 sprendimas ir atsakymai:

1. Vertikaliai užbrūkšniuota sritis yra A∩C, horizontaliai — B ∩C, o atsakymas nuspal-vintas pilkai:

U

B C

A

2. Vertikaliai užbrūkšniuota sritis yra A∪C, horizontaliai — B ∩C, o atsakymas nuspal-vintas pilkai.

U

B C

A

33

Page 36: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

3. Pirmiausia pavaizduokime aibę A∩B \ C (brėžinys kairėje). Įstrižai užbrūkšniuota sri-tis yra B\C. Visa, kas jai nepriklauso, yra aibė B \ C, kuri užbrūkšniuota horizontaliai.Vertikaliai užbrūkšniuota aibė A. Aibė A ∩B \ C nuspalvinta pilkai.Brėžinyje dešinėje vertikaliai užbrūkšniuota sritis yra A∩B \ C, horizontaliai — C∪B,o atsakymas nuspalvintas pilkai.

U

B C

A U

B C

A

Uždavinio 3.20 atsakymai:Pavyzdžiui, (

B \((A ∩B) \ C

))∪ (A ∩ C),

(A ∪B ∪ C) \(

(A ∪ C) \((A ∩ C) ∪ (B ∩ C)

)),

(A ∪B ∪ C) \(

(A \ C) ∪(C \ (A ∪B)

)),(

B \ (A ∪ C))∪ (B ∩ C) ∪ (A ∩ C)

ir t. t.

Uždavinio 3.21 sprendimas:

1. Kairiajame brėžinyje pilkai nuspalvinta aibė A \ (B ∪C). Aibė A užbrūkšniuota verti-kaliai, o aibė B ∪ C — horizontaliai.Dešiniajame brėžinyje pilkai nuspalvinta aibė (A\B)∩(A\C). Aibė A\B užbrūkšniuotavertikaliai, o aibė A \ C — horizontaliai.

U

B C

A U

B C

A

Matome, kad pilkai nuspalvinti plotai sutampa.2. Kairiajame brėžinyje pilkai nuspalvinta aibė A \ (A \B). Aibė A užbrūkšniuota verti-

kaliai, o aibė A \B — horizontaliai.Dešiniajame brėžinyje pilkai nuspalvinta aibė A∩B. Aibė A užbrūkšniuota vertikaliai,o aibė B — horizontaliai.

34

Page 37: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

U

A B

U

A B

Matome, kad pilkai nuspalvinti plotai sutampa.

Uždavinio 3.22 sprendimas:

1. A ∪B ∪ (A∩B) = (A∩B)∪ (A∩B) = (A∩B)∪ (A∩B) = A∩ (B ∪B) = A∩U = A.2.((A∪B) \ (A∪∅)

)\B =

((A∪B) \A

)\B = (B \A) \B = ∅. Iš tikrųjų, naudojant

Veno diagramas lengva įsitikinti, kad (A ∪B) \ A = B \ A ir (B \ A) \B = ∅.3. (U ∩ A) ∪ (B ∩ A) = (U ∪B) ∩ A = U ∩ A = A.4. (A ∪B) ∩ (A ∪B) = A ∪ (B ∩B) = A ∪∅ = A.5. (B ∩ U) ∩ (A ∪∅) = B ∩ A = A ∪B6. Seka iš penktosios dalies pagal dualumo principą.

Uždavinio 3.23 atsakymas: (A ∪B) ∩ (A ∪B) ∩ (A ∪B) ∩ (A ∪B) = ∅.Uždavinio 3.24 sprendimas:

1. Parodykime, kad (A ∩ B) \ C ⊆ (A \ C) ∩ (B \ C). Tarkime, x ∈ (A ∩ B) \ C. Tadapagal aibių skirtumo apibrėžimą x ∈ (A ∩ B) ir x /∈ C. Pagal sankirtos apibrėžimąturime, kad x ∈ A ir x ∈ B ir x /∈ C. Pritaikę konjunkcijos idempotencijos dėsnį išmatematinės logikos gauname x ∈ A ir x ∈ B ir x /∈ C ir x /∈ C, o pritaikę konjunkcijoskomutatyvumo dėsnį gauname x ∈ A ir x /∈ C ir x ∈ B ir x /∈ C. Taigi, pagal aibiųskirtumo apibrėžimą turime, kad x ∈ A \ C ir x ∈ B \ C. Galiausiai pagal sankirtosapibrėžimą seka, kad x ∈ (A \ C) ∩ (B \ C).Ir vėl, kad (A \C) ∩ (B \C) ⊆ (A ∩B) \C gauname šį įrodymą perrašę iš kito galo irtaip įrodome lygybę.

2. Parodykime, kad (A ∪ B) \ (B ∪ C) ⊆ (A \ B) \ C. Tarkime, x ∈ (A ∪ B) \ (B ∪ C).Tada pagal aibių skirtumo apibrėžimą x ∈ A ∪ B ir x /∈ B ∪ C, kitaip sakant, x ∈A ∪ B ir ¬(x ∈ B ∪ C). Pritaikę sąjungos apibrėžimą, gauname (x ∈ A arba x ∈B) ir ¬(x ∈ B arba x ∈ C), taigi pagal de Morgano dėsnį turime (x ∈ A arba x ∈B) ir ¬(x ∈ B) ir ¬(x ∈ C), kitaip sakant, (x ∈ A arba x ∈ B) ir x /∈ B ir x /∈C. Įkėlę x /∈ B į skliaustus pagal distributyvumo dėsnį, gauname

((x ∈ A ir x /∈

B) arba (x ∈ B ir x /∈ B))

ir x /∈ C. Pritaikę aibių skirtumo apibrėžimą, turime(x ∈ A\B arba x ∈ B\B) ir x /∈ C. Akivaizdu, kad B\B = ∅. Taigi, pritaikę sąjungosapibrėžimą gauname x ∈ (A \ B) ∪ ∅ ir x /∈ C, kitaip sakant x ∈ (A \ B) ir x /∈ C.Belieka pritaikyti aibių skirtumo apibrėžimą ir gauti x ∈ (A \B) \ C.Šį įrodymą perrašę iš kito galo parodysime, kad (A \ B) \ C ⊆ (A ∪ B) \ (B ∪ C), okartu ir įrodysime lygybę.

3. Visų pirma, parodysime, kad (A \B)∪ (B \A) ⊆ (A∪B) \ (A∩B). Imkime kokį norsx ∈ (A \B)∪ (B \A). Pagal aibių sąjungos apibrėžimą, x ∈ (A \B) arba x ∈ (B \A).Pagal aibių skirtumo apibrėžimą (x ∈ A ir x /∈ B) arba (x ∈ B ir x /∈ A).

35

Page 38: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Pasinaudokime logikos dėsniais. Pažymėkime raide p teiginį x ∈ A, o raide q teiginį x ∈B. Tada teiginys x /∈ A bus ¬p, o x /∈ B bus ¬q. Gauname formulę (p∧¬q)∨ (q∧¬p).Pertvarkome ją naudodami logikos dėsnius:

(p ∧ ¬q) ∨ (q ∧ ¬p) ∗∼(p ∨ (q ∧ ¬p)

)∧(¬q ∨ (q ∧ ¬p)

) ∗∗∼∗∗∼((p∨q)∧(p∨¬p)

)∧((¬q∨q)∧(¬q∨¬p)

)∼ (p∨q)∧t∧t∧(¬q∨¬p) ∼ (p∨q)∧(¬q∨¬p) ∼

∼ (p ∨ q) ∧ ¬(q ∧ p)

Vietoje, pažymėtoje ∗, taikomas distributyvumo dėsnis: antrieji skliaustai įkeliami įpirmuosius. Vietoje, pažymėtoje ∗∗, distributyvumo dėsnis taikomas du kartus: pir-muose didžiuosiuose skliaustuose į skliaustus įkeliamas p, o antruose — ¬q. Taigi, jeisu kuria nors kintamųjų p ir q interpretacija formulė (p ∧ ¬q) ∨ (q ∧ ¬p) yra teisinga,tai formulė (p ∨ q) ∧ ¬(q ∧ p) su šia interpretacija irgi yra teisinga.Kadangi žinome, kad (x ∈ A ir x /∈ B) arba (x ∈ B ir x /∈ A) yra teisingas teiginys, tai(x ∈ A arba x ∈ B) ir netiesa, kad (x ∈ B ir x ∈ A) irgi yra teisingas teiginys. Pagalsąjungos ir sankirtos apibrėžimus tada gauname, kad x ∈ A ∪ B ir netiesa, kad x ∈A∩B, o tai reiškia, kad x ∈ A∪B ir x /∈ A∩B. Pagal aibių skirtumo apibrėžimą turime,kad x ∈ (A∪B)\(A∩B), ką ir reikėjo gauti. Todėl (A\B)∪(B\A) ⊆ (A∪B)\(A∩B).Kad parodytume, kad (A \ B) ∪ (B \ A) ⊇ (A ∪ B) \ (A ∩ B), naudojame lygiai tuospačius samprotavimus, tik iš kito galo: padarę prielaidą, kad x ∈ (A ∪ B) \ (A ∩ B),gauname, kad (x ∈ A arba x ∈ B) ir netiesa, kad (x ∈ B ir x ∈ A), iš ko, pasinaudojętuo, kad formulės (p ∨ q) ∧ ¬(q ∧ p) ir (p ∧ ¬q) ∨ (q ∧ ¬p) yra ekvivalenčios (tai jauįrodėme), gauname, kad (x ∈ A ir x /∈ B) arba (x ∈ B ir x /∈ A), kas mums ir duoda,kad x ∈ (A \B) ∪ (B \ A). Taigi, (A \B) ∪ (B \ A) ⊇ (A ∪B) \ (A ∩B).Iš šių dviejų įrodymo dalių ir seka, kad (A \B) ∪ (B \ A) = (A ∪B) \ (A ∩B).

4. Kombinuodami matematinės logikos žymėjimus ir aibių operacijų apibrėžimus gaunametokį samprotavimą:

x ∈ A\(B∪C) ∼ x ∈ A∧x /∈ B∪C ∼ x ∈ A∧¬(x ∈ B∨x ∈ C) ∼ x ∈ A∧x /∈ B∧x /∈ C ∼

∼ x ∈ A ∧ x /∈ B ∧ x ∈ A ∧ x /∈ C ∼ x ∈ A \B ∧ x ∈ A \ C ∼ x ∈ (A \B) ∩ (A \ C)

5.

x ∈ A\(A\B) ∼ x ∈ A∧x /∈ A\B ∼ x ∈ A∧¬(x ∈ A∧x /∈ B) ∼ x ∈ A∧(x /∈ A∨x ∈ B) ∼

∼ (x ∈ A ∧ x /∈ A) ∨ (x ∈ A ∧ x ∈ B) ∼ k ∨ (x ∈ A ∩B) ∼ x ∈ A ∩B

36

Page 39: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

4 pratybos

Funkcijos

Teorinė medžiaga: II dalies 2 skyrius.

Uždaviniai pratybomsVisų pirma uždavinius išspręsti pabandykite patys. Tik tada, kai išsprendžiate, arba kaipamatote, kad patiems išspręsti nepavyks, pažiūrite pateiktą sprendimą.

Pratybose N žymi natūraliųjų skaičių aibę, N = {0, 1, 2, 3, . . . } (atkreipkite dėmesį, kad0 ∈ N), Z žymi sveikųjų skaičių aibę, Z = {. . . ,−2,−1, 0, 1, 2, . . . }, Q žymi racionaliųjųskaičių aibę, o R žymi realiųjų skaičių aibę. Jei a < b, galime apibrėžti tokius realiųjųskaičių aibės intervalus nuo a iki b:

[a, b] = {x ∈ R : a 6 x 6 b} (uždaras intervalas),(a, b) = {x ∈ R : a < x < b} (atviras intervalas),[a, b) = {x ∈ R : a 6 x < b},(a, b] = {x ∈ R : a < x 6 b}.

Uždavinys 4.1. Nustatykite, ar atitiktis F tarp aibių A ir B yra funkcinė. Jei taip, kokiąfunkciją ji apibrėžia?

1. A = B = {1, 2, 3}, F ={

(1, 2), (2, 3), (3, 1), (3, 3)}.

2. A = B = N, F ={

(x, x− 1) : x ∈ N \ {0}}.

3. A = B = Z, F ={

(x, 5) : x ∈ Z}.

Sprendimas.

1. Atitiktis nėra funkcinė, nes skaičių 3 ∈ A atitinka du aibės B elementai: 1 ir 3. Kitaipsakant (3, 1) ∈ F ir (3, 3) ∈ F .

2. Atitiktis F ={

(1, 0), (2, 1), (3, 2), . . .}. Ji nėra funkcinė, nes nėra aibės B elemento,

kuris atitiktų skaičių 0 ∈ A.3. Atitiktis F =

{. . . , (−2, 5), (−1, 5), (0, 5), (1, 5), (2, 5), . . .

}. Kadangi visus aibės A

elementus atitinka aibės B elementai, o taip pat nėra tokio aibės A elemento, kurįatitiktų daugiau nei vienas aibės B elementas, F yra funkcinė atitiktis. Ji apibrėžiafunkciją f : Z→ Z, f(x) = 5, x ∈ Z.

37

Page 40: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

1.

x1

y

1

2.

x1

y

1

3.

x1

y

1

4.1 pav.: Atitikčių grafikai

Uždavinys 4.2. Nustatykite, ar 4.1 pav. grafikais pateiktos atitiktys tarp realiųjų skaičiųaibių yra funkcinės (t. y. šiose užduotyse A = B = R).Sprendimas.

1. Ši atitiktis yra funkcinė, nes kiekvieną realų skaičių x atitinka kuris nors y ir nėra tokiox-o, kurį atitiktų du y-kai.

2. Ši atitiktis nėra funkcinė, nes, pavyzdžiui, skaičių 1 atitinka net trys y-kai.3. Ši atitiktis nėra funkcinė, nes neigiami x-ai neturi jiems atitinkančių y-kų. Jei būtųA = (0,∞), tada atitiktis būtų funkcinė.

Uždavinys 4.3. Nustatykite, ar duota išraiška f yra funkcija f : Z→ R.

1. f(x) = 1x2−4 ,

2. f(x) = 1x2+4 ,

3. f(x) =√x,

4. f(x) = ±√x2 + 1.

Sprendimas.

1. Tai nėra funkcija f : Z→ R, nes ji neapibrėžta taškuose −2 ir 2.2. Tai yra funkcija f : Z→ R, nes ji apibrėžta visiems x ∈ Z ir įgyja realiąsias reikšmes.3. Tai nėra funkcija f : Z→ R, nes ji neapibrėžta neigiamoms argumento x reikšmėms.4. Tai išvis nėra funkcija, nes kiekvienam x ji priskiria dvi reikšmes.

Uždavinys 4.4. Tegu A ir B yra aibės, f : A → B yra funkcija, A1 ⊆ A, o B1 ⊆ B.Raskite aibės A1 vaizdą f(A1), funkcijos f reikšmių sritį Rf ⊆ B, aibės B1 pirmavaizdįf−1(B1). Nustatykite, ar funkcija f yra injekcija, siurjekcija, bijekcija. Jei tai bijekcija,raskite atvirkštinę funkciją f−1 : B → A.

1. A = B = {a, b, c}, funkcija f įgyja tokias reikšmes: f(a) = b, f(b) = c, f(c) = a,A1 = B1 = {a, b}.

2. A = B = N, f(x) = x+ 1, A1 = B1 = {0, 1, 2}.3. A = B = R, f(x) = x3 + 1, A1 = [0, 1

2 ], B1 = [2, 3].

4. A = Z×Z = Z2, B = Z, f(x, y) = x2 + 2y, A1 ={

(1,−2), (−3, 2), (3, 4)}, B1 = {0, 1}.

38

Page 41: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

5. A = B = P(M), kur M = {a, b, c}, P(M) –– aibės M poaibių aibė, f(x) = x, kur xyra aibės x papildinys iki aibės M , A1 =

{{a}, {a, c}

}, B1 =

{{c},M

}.

6. A = B = R, f(x) = [x], čia [x] yra skaičiaus sveikoji dalis, tai yra, didžiausias sveikasisskaičius y toks, kad y 6 x. A1 = B1 = [−0,5; 1,3].

Sprendimas.

1. • Kad rastume aibės A1 vaizdą f(A1), tiesiog įstatome aibės A1 elementus į funkcijąf ir apskaičiuojame funkcijos reikšmes. Gausime f(A1) = {b, c}.

• Funkcijos f reikšmių sritis Rf yra sudaryta iš visų reikšmių, kurias įgyja funkcija,kai jos argumentas perbėga visą aibę A. Šiuo atveju tai bus Rf = {a, b, c} = B.

• Aibės B1 pirmavaizdį f−1(B1) galime apskaičiuoti tiesiogiai pagal apibrėžimą: ai-bės B1 pirmavaizdžiui priklauso visi aibės A elementai, kuriuos funkcija f atvaiz-duoja į aibės B1 elementus. Gausime f−1(B1) = {a, c}. Kitas sprendimo būdas:galime pasinaudoti tuo, kad aibės B1 pirmavaizdis yra aibės B1 elementų pirma-vaizdžių sąjunga:

f−1(B1) = f−1(a) ∪ f−1(b) = {c} ∪ {a} = {a, c}.

• Funkcija yra injekcija, nes su kiekviena argumento reikšme ji įgyja skirtingą reikš-mę.

• Funkcija yra siurjekcija, nes Rf = B.• Funkcija yra bijekcija, nes tai ir injekcija, ir siurjekcija. (Bijekcija - tai injekcija ir

siurjekcija vienu metu).• Rasime funkcijos f(x) atvirkštinę funkciją f−1(x). Jei funkcija kokį nors argumen-

tą x atvaizduoja į y, tai jos atvirkštinė funkcija argumentą y atvaizduos į tą patįx. Todėl f−1(a) = c, nes f(c) = a. Taip pat gauname kitas atvirkštinės funkcijosf−1 reikšmes: f−1(b) = a, f−1(c) = b.

2. • Kad rastume aibės A1 vaizdą f(A1), tiesiog įstatome aibės A1 elementus į funkcijąf ir apskaičiuojame funkcijos reikšmes. Gausime f(A1) = {1, 2, 3}.

• Funkcijos f reikšmių sritis Rf yra sudaryta iš visų reikšmių, kurias įgyja funkcija,kai jos argumentas perbėga visą aibę A. Šiuo atveju tai bus aibė reikšmių, kuriasįgyja funkcija f(x) = x+ 1, kai x ∈ N, todėl

Rf = {1, 2, 3, 4, 5, 6, . . . } = N \ {0} = B \ {0}.

• Aibės B1 pirmavaizdį f−1(B1) galime apskaičiuoti tiesiogiai pagal apibrėžimą: ai-bės B1 pirmavaizdžiui priklauso visi aibės A elementai, kuriuos funkcija f atvaiz-duoja į aibės B1 elementus. Gausime f−1(B1) = {0, 1}. Kitas sprendimo būdas:galime pasinaudoti tuo, kad aibės B1 pirmavaizdis yra aibės B1 elementų pirma-vaizdžių sąjunga:

f−1(B1) = f−1(0) ∪ f−1(1) ∪ f−1(2) = ∅ ∪ {0} ∪ {1} = {0, 1}.

• Funkcija yra injekcija, nes jei f(x1) = f(x2), tai x1 + 1 = x2 + 1, todėl x1 = x2.• Funkcija nėra siurjekcija, nes Rf 6= B. Atkreipkite dėmesį į tai, kad jei aibę B

pakeistume į N \ {0}, palikdami tą pačią funkciją f(x) = x+ 1, tai gauta funkcijabūtų siurjekcija. Matome, kad funkcijos savybės priklauso ne tik nuo jos pačios,bet ir nuo aibių A ir B.

39

Page 42: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

• Funkcija nėra bijekcija, nes nėra siurjekcija.3. • Kad rastume aibės A1 vaizdą f(A1), tiesiog įstatome aibės A1 elementus į funkciją

f ir apskaičiuojame funkcijos reikšmes. Gausime f(A1) = [1, 118 ].

• Funkcijos f reikšmių sritis Rf yra sudaryta iš visų reikšmių, kurias įgyja funkcija,kai jos argumentas perbėga visą aibę A. Šiuo atveju tai bus aibė reikšmių, kuriasįgyja funkcija f(x) = x3 + 1, kai x ∈ R, todėl Rf = R.

• Aibės B1 pirmavaizdį f−1(B1) galime apskaičiuoti tiesiogiai pagal apibrėžimą: ai-bės B1 pirmavaizdžiui priklauso visi aibės A elementai, kuriuos funkcija f atvaiz-duoja į aibės B1 elementus. Gausime f−1(B1) = [1, 3

√2].

• Funkcija yra injekcija, nes jei f(x1) = f(x2), tai x31 + 1 = x3

2 + 1, todėl x1 = x2.• Funkcija yra siurjekcija, nes Rf = B.• Funkcija yra bijekcija, nes tai ir injekcija, ir siurjekcija. (Bijekcija - tai injekcija ir

siurjekcija vienu metu).• Rasime funkcijos f(x) atvirkštinę funkciją f−1(x). Pažymėkime y = x3 + 1 ir

išreikškime x per y. Gausime x = 3√y − 1, todėl atvirkštinė funkcija bus f−1(y) =

3√y − 1. Pakeitę kintamąjį iš y į x, gausime atvirkštinės funkcijos išraišką f−1(x) =

3√x− 1.

4. • f(A1) = {−3, 13, 17}.• Rf = Z = B, nes visas lygines reikšmes įgyja f(0, y) = 2y, y ∈ Z, o visas nelygines

reikšmes įgyja f(1, y) = 1 + 2y, y ∈ Z.• f−1(B1) = f−1(0) ∪ f−1(1), kur

f−1(0) ={

(x, y) ∈ Z2 : f(x, y) = 0}

=={

(x, y) ∈ Z2 : x2 + 2y = 0}

=={

(x, y) : x ∈ Z, x –– lyginis, y = −x2

2

}=

={

(x,−x2

2 ) : x = 2k, k ∈ Z}

=={

(0, 0), (2,−2), (−2,−2), (4,−8), (−4,−8), . . . },

f−1(1) ={

(x, y) ∈ Z2 : f(x, y) = 1}

=={

(x, y) ∈ Z2 : x2 + 2y = 1}

=={

(x, y) : x ∈ Z, x –– nelyginis, y = 1−x2

2

}=

={

(x, 1−x2

2 ) : x = 2k + 1, k ∈ Z}

=={

(1, 0), (−1, 0), (3,−4), (−3,−4), . . .}.

Apjungę abu atvejus, galėtume užrašyti:

f−1(B1) = {(x, g(x)) : x ∈ Z} , kur g(x) =

−x2

2 , jei x lyginis,1−x2

2 , priešingu atveju.

• Nėra injekcija, nes, pavyzdžiui, f(0, 0) = f(2,−2) = 0.• Yra siurjekcija, nes Rf = B.• Nėra bijekcija, nes ne injekcija.

5. P(M) ={∅, {a}, {b}, {c}, {a, b}, {a, c}, {b, c},M

}.

• f(A1) ={{b, c}, {b}

}, nes f

({a}

)= {a} = {b, c}, f

({a, c}

)= {a, c} = {b}.

40

Page 43: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

• Rf = P(M) = B.• f−1(B1) = f−1

({c}

)∪ f−1(M) =

{{a, b}

}∪ {∅} =

{{a, b},∅

}.

• Yra injekcija, nes skirtingų aibių papildiniai irgi skiriasi. Iš tikrųjų, jei aibėsskirtingos, reiškia, bus kažkoks elementas x, kuris vienai iš tų aibių priklauso, okitai ne. Tada x vienos aibės papildiniui nepriklausys, o kitos — priklausys, todėlpapildiniai skiriasi.

• Yra siurjekcija, nes Rf = B.• Yra bijekcija, nes yra ir injekcija, ir siurjekcija.• Atvirkštinė funkcija f−1(x) = x = f(x). Iš tikrųjų, pažymėję y = f(x), pabandy-

kime išreikšti x per y. Kadangi y = x, tai y = x = x. Matome, kad išreiškę x pery, gavome x = y, todėl atvirkštinė funkcija f−1(y) = y.

6. Kad būtų aiškiau, kaip elgiasi ši funkcija, nusibrėžkime jos grafiką:

x

y

−3

−3

−2

−2

−1

−1

123

1 2 3

Grafike atkarpų galus pažymime skrituliukais, kur užpildytas skrituliukas reiškia, kadatkarpos galas priklauso atkarpai, o neužpildytas — nepriklauso. Pavyzdžiui, funkcijaįgyja reikšmę 0 intervale [0,1), todėl nulis pažymėtas užpildytu skrituliuku, o vienetas— neužpildytu.

• f(A1) = {−1, 0, 1}.• Rf = Z.• f−1(B1) = f−1(0)∪ f−1(1), nes tik sveikieji skaičiai turi savo pirmavaizdžius. Čiaf−1(0) = [0; 1), o f−1(1) = [1; 2), taigi f−1(B1) = [0; 2).

• Nėra injekcija, nėra siurjekcija (nes Rf 6= B. Būtų siurjekcija, jei ją apibrėžtumesu B = Z), nėra bijekcija.

41

Page 44: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždaviniai savarankiškam darbuiUždavinys 4.5. Nustatykite, ar atitiktis F tarp aibių A ir B yra funkcinė. Jei taip, kokiatai funkcija?

1. A = B = R, F ={

(±x2, x) : x ∈ R}.

2. A = B = Q, F ={

(xy, x−1y−1) : x ∈ Z, y ∈ N \ {0, 1}

}.

3. A = B = Z, F ={

(2x, 3x) : x ∈ Z}.

4. A = B = R, F ={

(x, sin x) : x ∈ R}.

Uždavinys 4.6. Nustatykite, ar 4.2 pav. grafikais pateiktos atitiktys tarp realiųjų skaičiųaibių yra funkcinės (t. y. šiose užduotyse A = B = R).

1.

x1

y

1

2.

x1

y

1

3.

x1

y

1

4.2 pav.: Atitikčių grafikai

Uždavinys 4.7. Tegu f : A→ B yra funkcija, A1 ⊆ A, o B1 ⊆ B. Raskite aibės A1 vaizdąf(A1), funkcijos f reikšmių sritį Rf ⊆ B, aibės B1 pirmavaizdį f−1(B1). Nustatykite, arfunkcija f yra injekcija, siurjekcija, bijekcija. Jei tai bijekcija, raskite atvirkštinę funkciją.

1. A = B = N, f(x) = x2, A1 = B1 = {0, 1, 2, 3}.

2. A = B = Z, f(x) ={x2, kai x > 1,3x, kitais atvejais, A1 = B1 = {−2,−1, 0, 1, 2}.

3. A = B = R, f(x) ={

ln x, kai x > 1,3− 2x− x2, kitais atvejais, A1 = {0, 1, 2}, B1 = {−1, 0, 1}.

4. A = B = R, f(x) ={ √

x, kai x > 0,−√−x, kitais atvejais, A1 = {−π,−2, 9}, B1 = {−3,−1,

√2, 4}.

5. A = Z2, B = N, f(x, y) = x2+y2, A1 ={

(−2,−3), (3,−1), (0, 0), (2, 4)}, B1 = {0, 1, 2}.

6. A = Q, B = R, f(x) = x, A1 = {0; 23 ; 3,(16)}, B1 = {−2, 3

7 , π}. Čia Q žymi racionaliųjųskaičių aibę.

Uždavinys 4.8. Nustatykite, ar funkcija f : A→ B yra injekcija, siurjekcija, bijekcija. Jeitai bijekcija, raskite atvirkštinę funkciją.

1. A yra visų pilnamečių Lietuvos piliečių aibė, B — jų galiojančių Lietuvos Respublikospasų aibė, f(x) = y, jeigu y-kas yra piliečio x pasas. Darykime prielaidą, kad kiekvienaspilnametis Lietuvos pilietis turi galiojantį pasą.

42

Page 45: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

2. A yra visų dienų, pradedant 1990 m. sausio 1 d. ir baigiant šiandiena aibė, o B yraaibė, sudaryta iš žmonių (gimusių 1990 m. ir vėliau) aibių. Kitaip sakant, jeigu C yravisų žmonių, gimusių 1990 m. ir vėliau, aibė, tai B = P(C). Jei f(x) = y, tai y yraaibė visų žmonių, gimusių dieną x. Darykime prielaidą, kad kiekvieną dieną gimė bentvienas žmogus.

43

Page 46: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždavinių savarankiškam darbui sprendimai arba atsa-kymai

Uždavinio 4.5 sprendimas ir atsakymai:

1. Atitiktis nėra funkcinė, nes, pavyzdžiui, (1; 1) ∈ F ir (1,−1) ∈ F .2. Iš pirmo žvilgsnio atrodytų, kad nėra aibės B elementų, kurie atitiktų sveikuosius aibėsA skaičius. Juk, pavyzdžiui, 2 = 2

1 , o skaičius 2−11−1 = 1

0 neegzistuoja. Kita vertus, 2 = 42 ,

taigi (42 ,

31) = (2, 3) ∈ F . Lygiai taip pat 2 = 6

3 , o (63 ,

52) = (2, 2,5) ∈ F . Taigi, atitiktis

nėra funkcinė.3. Atitiktis nėra funkcinė, nes nėra aibės B elementų, kurie atitiktų nelyginius aibės A

elementus. Pavyzdžiui, nėra tokio y, kad (1, y) ∈ F .4. Atitiktis funkcinė. Ji apibrėžia funkciją f : R→ R, f(x) = sin x, x ∈ R.

Uždavinio 4.6 atsakymai:

1. Ši atitiktis yra funkcinė.2. Ši atitiktis yra funkcinė.3. Ši atitiktis nėra funkcinė, nes x > 2 ir x < −2 neturi jiems atitinkančių y-kų. Be to,

pavyzdžiui, skaičių 1 atitinka be galo daug y-kų. Iš tiesų užtektų paminėti vieną iš šiųpriežasčių.

Uždavinio 4.7 atsakymai:

1. • f(A1) = {0, 1, 4, 9}.• Rf = {x : x = n2, n ∈ N} = {n2, n ∈ N} = {0, 1, 4, 9, 16, 25, . . . }.• f−1(B1) = {0, 1}.• Yra injekcija, nėra siurjekcija, nėra bijekcija.

2. • f(A1) = {−6,−3, 0, 1, 4}.• Rf = {−3x : x ∈ N} ∪ {x2 : x ∈ N} = {. . . ,−12,−9,−6,−3, 0, 1, 4, 9, 16, . . . }.• f−1(B1) = {0, 1}, nes f−1(0) = {0}, o f−1(1) = 1. Taškai −2, −1 ir 2 pirmavaiz-

džių neturi.• Yra injekcija, nėra siurjekcija (nes Rf 6= B), nėra bijekcija.

3. • f(A1) = {0, ln 2, 3}.• Funkcija 3− 2x−x2 maksimumą pasiekia, kai x = −1. Taigi, kai x < 1, funkcijos

reikšmių sritis yra (−∞, 4]. Funkcijos ln x, kai x > 1, reikšmių sritis yra [0,∞).Taigi, Rf = (−∞, 4] ∪ [0,∞) = (−∞,∞) = R.

• Išsprendę kvadratines ir logaritmines lygtis ir atmetę nereikalingas šaknis, gau-sime, kad f−1(−1) = {−1 −

√5}, f−1(0) = {−3, 1}, o f−1(1) = {−1 ±

√3, e}.

Taigi,

f−1(B1) = f−1(−1) ∪ f−1(0) ∪ f−1(1) = {−1−√

5,−3,−1±√

3, 1, e}.

• Nėra injekcija, yra siurjekcija, nėra bijekcija.

44

Page 47: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

4. • f(A1) = {−√π,−√

2, 3}.• Rf = R.• f−1(B1) = {−9,−1, 2, 16}.• Yra injekcija, yra siurjekcija, yra bijekcija.

• Atvirkštinė funkcija f−1(x) ={x2, kai x > 0,−x2, kitais atvejais.

5. • f(A1) = {0, 10, 13, 20}.• Rf =

{x2 + y2 : x, y ∈ Z

}. Tiksliau užrašyti nelabai išeina. Bet kuriuo atveju,

Rf 6= N, nes, pavyzdžiui, f−1(3) = ∅. Norint tai parodyti, galima bandyti per-rinkti visas galimybes. 02 = 0, 12 = (−1)2 = 1, 22 = (−2)2 = 4, taigi pora, kurioskvadratų suma yra 3 gali būti sudaryta tik iš −1, 0 ir 1, nes 2 ir −2 kvadratas jauviršija 3. Iš tiesų užtenka perrinkti tik poras iš 0 ir 1, o jų yra keturios. f(0, 0) = 0,f(0, 1) = 1, f(1, 0) = 1, f(1, 1) = 2.

• Prie šio samprotavimo pridėję ir simetriškus −1 atvejus gauname, kad

f−1(0) ={

(0, 0)},

f−1(1) ={

(−1, 0), (0,−1), (0, 1), (1, 0)},

f−1(2) ={

(−1,−1), (−1, 1), (1,−1), (1, 1)}.

Taigi,

f−1(B1) = f−1(0) ∪ f−1(1) ∪ f−1(2) =={

(−1,−1), (−1, 0), (0,−1), (0, 0), (0, 1), (−1, 1), (1,−1), (1, 0), (1, 1)}.

• Nėra injekcija, nėra siurjekcija, nėra bijekcija.6. • f(A1) = {0; 2

3 ; 3,(16)}.• Rf = Q.• f−1(B1) = {−2, 3

7}.• Yra injekcija, nėra siurjekcija (nes Rf 6= B), nėra bijekcija.

Uždavinio 4.8 sprendimas ir atsakymai:

1. Du skirtingi žmonės visada turi du skirtingus pasus. Todėl ši funkcija yra injekcija.Be to, kiekvieno lietuviško paso savininkas yra Lietuvos pilietis, taigi ši funkcija yrasiurjekcija. Todėl ji yra bijekcija. Atvirkštinė funkcija bus f−1(x) = y, kuri pasui xpriskiria jo savininką y.

2. Kiekvieną dieną gimsta vis nauji žmonės. Jeigu turime dvi skirtingas dienas, tai ir perjas gimusių žmonių aibės skirsis. Taigi, funkcija yra injekcija. Kita vertus ne kiekvienaižmonių aibei galima parinkti dieną x taip, kad ji būtų visų tos aibės žmonių gimimodiena. Iš tiesų, užtenka paimti du žmones, kurių gimimo dienos yra skirtingos. Jiesudarys aibę A tokią, kad f−1(A) = ∅. Taigi, funkcija nėra siurjekcija. Todėl ji nėrabijekcija.

Pastaba: Matematika yra puikus ir plačiai naudojamas įrankis modeliuoti įvairias realaus gy-venimo situacijas. Kita vertus, realiame gyvenime yra gausu išimčių ir atskirų atvejų. Žinoma,

45

Page 48: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

tai taip pat galima modeliuoti, tačiau modelio tikslumo didinimas dažniausiai patį modelį ir juoparemtus skaičiavimus daro sudėtingesniais.

Panašiai yra ir su šiais „realaus gyvenimo“ uždaviniais. Pavyzdžiui, sprendžiant paskutinėsužduoties 1 dalį galėtų kilti natūralus klausimas — ar gali pilnametis Lietuvos pilietis neturėtipaso? Tikriausiai gali, jeigu nekeliauja į užsienį, neturi mokėjimo kortelės, nesinaudoja mobiliuojutelefonu, nebendrauja su valstybinėmis institucijomis ir panašiai… Tokiu atveju atitiktis f apskritainebūtų funkcija. Tačiau pateikiant uždavinio sprendimą buvo remtasi prielaida, kad visi pilnamečiaiLietuvos piliečiai pasą turi.

Tokių panašių prielaidų šiame uždavinyje reikia padaryti ir daugiau: ar asmens tapatybės kortelėyra tas pats, kas pasas, ar kai žmogus pameta pasą, vis dar galima sakyti, kad jis jį turi ir t. t.Taigi šiame uždavinyje (kaip ir absoliučioje daugumoje matematikos uždavinių) žymiai svarbesnisyra samprotavimas jį sprendžiant, o ne vienoks ar kitoks atsakymas.

46

Page 49: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

5 pratybos

Sąryšiai

Teorinė medžiaga: II dalies 3 skyrius.

Uždaviniai pratybomsUždavinys 5.1. Aibėje A = {2, 3, 4, 6, 9} apibrėžtas sąryšis a ir b yra tarpusavyje pirmi-niai (t. y. a ir b neturi bendrų daliklių, didesnių už 1). Išrašykite šio sąryšio elementus.Užrašykite sąryšio matricą. Ar sąryšis refleksyvus, antirefleksyvus, simetrinis, antisimetri-nis, tranzityvus, ekvivalentumo, negriežtos tvarkos, griežtos tvarkos? Jei sąryšis yra tvarkos,ar tai yra tiesinės tvarkos sąryšis, t. y. ar aibė A yra visiškai sutvarkyta? Jei sąryšis yraekvivalentumo, raskite ekvivalentumo klases.Sprendimas. Pažymėkime šį sąryšį R. Tada nesunkiai patikriname, kad

R ={

(2, 3), (2, 9), (3, 2), (3, 4), (4, 3), (4, 9), (9, 2), (9, 4)}.

Sąryšio R matrica M bus tokia (sunumeruojame jos eilutes ir stulpelius aibės A elemen-tais):

2 3 4 6 92 0 1 0 0 13 1 0 1 0 04 0 1 0 0 16 0 0 0 0 09 1 0 1 0 0

Prisiminkime, kad žymėjimas aRb reiškia, kad (a, b) ∈ R.

• Refleksyvumas. Ar aRa kiekvienam a ∈ A? T. y. ar a yra tarpusavyje pirminis susavimi pačiu kiekvienam a ∈ A? Ne, pavyzdžiui, 2 ir 2 nėra tarpusavyje pirminiai.Taigi, sąryšis nėra refleksyvus.Kadangi šiuo atveju turime išsirašę visus sąryšio R elementus (t. y. poras), nustatytisąryšio refleksyvumą galime tiesiog sąryšio R elementų sąraše patikrindami, ar jampriklauso visos vienodų elementų poros (a, a), a ∈ A. Matome, kad, pavyzdžiui, (2, 2) /∈R, todėl sąryšis nėra refleksyvus.Šiuo atveju taip pat turime ir sąryšio matricąM , todėl galime ir iš jos bandyti nustatyti,ar sąryšis refleksyvus. Tai, kad nėra refleksyvus, galime pamatyti iš to, kad ne visimatricos M pagrindinės įstrižainės elementai lygūs 1.

47

Page 50: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

• Antirefleksyvumas. Ar neegzistuoja a ∈ A tokio, kad aRa? T. y. ar neegzistuojaa ∈ A tokio, kad a būtų tarpusavyje pirminis su savimi pačiu? Neegzistuoja. Yraantirefleksyvus.Tai matome taip pat ir iš to, kad sąryšio elementų sąraše nėra nė vienos vienodųelementų poros (a, a), a ∈ A.Taip pat tai galime pamatyti, pastebėję, kad visi matricos M pagrindinės įstrižainėselementai lygūs 0.

Pastaba: Jei aibėje A, be dabar joje esančių elementų, būtų dar ir 1, tai sąryšis jau nebebūtųantirefleksyvus, nes 1 yra tarpusavyje pirminis su savimi pačiu. Tačiau sąryšis liktų nereflek-syvus, nes, pavyzdžiui, vienodų elementų pora (2, 2) vis tiek jam nepriklausytų. Taigi, tokiuatveju sąryšis nebūtų nei refleksyvus, nei antirefleksyvus.

• Simetriškumas. Ar visiems a, b ∈ A teisinga, kad aRb→ bRa? T. y. ar visiems a, b ∈ Aiš to, kad a ir b yra tarpusavyje pirminiai, išplaukia, kad ir b ir a yra tarpusavyjepirminiai? Taip. Todėl sąryšis yra simetrinis.Tuo galėjome įsitikinti ir tiesiogiai, peržiūrėję sąryšio elementų sąrašą ir patikrinę, kadjei (a, b) ∈ R, tai ir (b, a) ∈ R.Tai matome taip pat ir iš to, kad jei kažkur matricoje M yra 1, tai simetriškai pag-rindinės įstrižainės atžvilgiu taip pat būtinai yra 1, pavyzdžiui, matricos M elementas(3, 4) yra 1, tai (4, 3) irgi yra 1, ir t.t.

• Antisimetriškumas. Konspektuose pateikti keli ekvivalentiški antisimetriškumo api-brėžimai. Naudosimės, pavyzdžiui, tokiu: ar visiems a, b ∈ A, a 6= b teisinga kadaRb→ ¬(bRa)? T. y. ar visiems skirtingiems a, b ∈ A iš to, kad a ir b yra tarpu-savyje pirminiai, išplaukia, kad b ir a nėra tarpusavyje pirminiai? Ne, pavyzdžiui, 2ir 3 yra tarpusavyje pirminiai, o 3 ir 2 irgi yra tarpusavyje pirminiai. Sąryšis nėraantisimetrinis.Tuo galime įsitikinti ir sąryšio elementų sąraše suradę, pavyzdžiui, abi poras — ir (2, 3),ir (3, 2).Tai matome taip pat ir iš to, kad jei kažkur matricoje M yra 1, tai simetriškai pagrin-dinės įstrižainės atžvilgiu nebūtinai yra 0, pavyzdžiui, matricos M elementas (2, 3) yra1, bet (3, 2) nėra 0.

• Tranzityvumas. Ar visiems a, b, c ∈ A teisinga kad (aRb∧bRc)→aRc? T. y. ar visiemsa, b, c ∈ A iš to, kad a ir b yra tarpusavyje pirminiai bei b ir c yra tarpusavyje pirminiai,išplaukia, kad a ir c yra tarpusavyje pirminiai? Ne, pavyzdžiui, 2 ir 3 yra tarpusavyjepirminiai, 3 ir 4 yra tarpusavyje pirminiai, bet 2 ir 4 nėra tarpusavyje pirminiai. (Kitaspavyzdys: 2 ir 3 yra tarpusavyje pirminiai, 3 ir 2 yra tarpusavyje pirminiai, bet 2 ir 2nėra tarpusavyje pirminiai).

• Šis sąryšis nėra nei ekvivalentumo, nei griežtos ar negriežtos tvarkos, nes nėra tranzity-vus.

Pastabos:

1. Tarkime, norime nustatyti kurią nors sąryšio savybę (pavyzdžiui, refleksyvumą). Kad taiatliktume, prisimename tos savybės apibrėžimą (pavyzdžiui, aRa kiekvienam a ∈ A) ir per-formuluojame jį tam konkrečiam sąryšiui (pavyzdžiui, ar a yra tarpusavyje pirminis su savimi

48

Page 51: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

pačiu kiekvienam a ∈ A?). Tada ir bandome nuspręsti, ar ta savybė yra patenkinta. Paste-bėkime, kad visų mūsų nagrinėjamų sąryšių savybių apibrėžimų struktūra yra tokia: visiemsa ∈ A (arba visiems a, b ar a, b, c) turi būti patenkinta kažkokia sąlyga (pavyzdžiui, visiemsa ∈ A turi būti patenkinta sąlyga aRa).

(a) Kad parodytume, kad sąryšio savybė nepatenkinta, užtenka pateikti vieną pavyzdį tokioelemento a (arba elementų rinkinio a, b ar a, b, c), kuriam tos savybės sąlyga nepatenkinta(pavyzdžiui, a = 2: skaičius 2 nėra tarpusavyje pirminis su savimi pačiu, todėl sąryšisnėra refleksyvus).

(b) Jei norime parodyti, kad sąryšio savybė patenkinta, reikia parodyti, kad savybės sąlygayra patenkinta visiems aibės A elementams a (arba elementų rinkiniams a, b ar a, b, c),t. y. neužtenka pateikti vieno elemento (ar elementų rinkinio) pavyzdžio, kuriam sąlygagalioja, o reikia parodyti, kad ji galioja visiems elementams (ar jų rinkiniams). Pavyz-džiui, jei norime parodyti, kad sąryšis simetrinis, turime parodyti, kad visiems a, b ∈ A išto, kad a ir b yra tarpusavyje pirminiai, išplaukia, kad ir b ir a yra tarpusavyje pirminiai.

2. Jei turime sąryšio elementų sąrašą arba sąryšio matricą, sąryšio savybes galime bandyti nu-statyti ir pagal juos. Tačiau dažniausiai jų negalėsime sudaryti, nes aibė A bus labai didelėarba begalinė.

Uždavinys 5.2. Ar sąryšis R, apibrėžtas aibėje A, yra refleksyvus, antirefleksyvus, simet-rinis, antisimetrinis, tranzityvus, ekvivalentumo, negriežtos tvarkos, griežtos tvarkos? Jeisąryšis yra tvarkos, ar tai yra tiesinės tvarkos sąryšis, t. y. ar aibė A yra visiškai sutvarkyta?Jei sąryšis yra ekvivalentumo, raskite ekvivalentumo klases.

1. Sąryšis žmonių aibėje A: aRb tada ir tik tada, kai a ir b yra vienmečiai. Laikysime,kad vienmečiai reiškia gimę tais pačiais metais. Pavyzdžiui, Joną, gimusį 2000 metųsausį, ir Jurgį, gimusį 2000 metų gruodį, laikysime vienmečiais.

2. Sąryšis aibėje A = N \ {0}: aRb tada ir tik tada, kai a | b (t. y. a dalija b be liekanos,arba, kitaip tariant, a yra b daliklis, b yra a kartotinis, b dalijasi iš a be liekanos).Pavyzdžiui, 3 dalija 6, o 4 nedalija 6, ir 6 nedalija 3.

3. Sąryšis aibės X poaibių aibėje A = P(X), kur X –– bet kokia aibė, |X| > 2: BRCtada ir tik tada, kai B ⊂ C (aibė B yra aibės C tikrasis poaibis, t. y. B ⊆ C ir B 6= C).

4. Sąryšis Lietuvoje registruotų automobilių aibėje: aRb tada ir tik tada, kai a ir b vals-tybiniai numeriai sutampa.

5. Sąryšis aibėje A = N: aRb tada ir tik tada, kai a+ b = 10.

Sprendimas.

1. • Refleksyvumas. Ar kiekvienas žmogus a yra vienmetis su pačiu savimi? Taip.• Antirefleksyvumas. Ar neegzistuoja žmogaus, kuris yra vienmetis su pačiu savimi?

Egzistuoja, pavyzdžiui, aš. Sąryšis nėra antirefleksyvus.• Simetriškumas. Ar visiems žmonėms a ir b iš to, kad a su b yra vienmečiai,

išplaukia, kad ir b su a yra vienmečiai? Taip.• Antisimetriškumas. Ar visiems skirtingiems žmonėms a ir b iš to, kad a ir b yra

vienmečiai, išplaukia, kad b ir a nėra vienmečiai? Ne. Kaip pavyzdį galėtume pa-teikti bet kuriuos du vienmečius žmones. Kad ir Joną ir Jurgį, minimus uždaviniosąlygoje.

49

Page 52: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

• Tranzityvumas. Ar visiems žmonėms a, b ir c iš to, kad a ir b yra vienmečiai beib ir c yra vienmečiai, išplaukia, kad a ir c yra vienmečiai? Taip, nes tokiu atvejujie visi yra vienmečiai.

• Sąryšis yra ekvivalentumo. Ekvivalentumo klasės yra aibės žmonių, gimusių n-taisiais metais, kur n kinta nuo pirmojo žmogaus atsiradimo metų iki šių metų(t. y. ekvivalentumo klasės yra tokios aibės: . . . , aibė žmonių gimusių 1999 metais,aibė žmonių gimusių 2000 metais, aibė žmonių gimusių 2001 metais,. . . ).

• Sąryšis nėra nei griežtos, nei negriežtos tvarkos, nes nėra antisimetrinis.2. • Refleksyvumas. Ar a | a kiekvienam a ∈ A? Taip.

• Antirefleksyvumas. Ar neegzistuoja a ∈ A tokio, kad a |a? Egzistuoja, pavyzdžiui,1 | 1. Sąryšis nėra antirefleksyvus.

• Simetriškumas. Ar visiems a, b ∈ A iš to, kad a | b, išplaukia, kad ir b | a? Ne,pavyzdžiui, jei a = 3, o b = 6.

• Antisimetriškumas. Ar visiems skirtingiems a, b ∈ A iš to, kad a | b, išplaukia, kad¬(b | a)? Taip, nes jei a | b ir a 6= b, tai a < b, todėl negali būti b | a. Beje, sveikųjųskaičių aibėje Z \ {0} šis sąryšis nėra antisimetrinis, nes, pavyzdžiui, ir 5 | −5, ir−5 | 5. Matome, kad sąryšio savybės priklauso ne tik nuo jo apibrėžimo, bet irnuo aibės, kurioje jis apibrėžtas.

• Tranzityvumas. Ar visiems a, b, c ∈ A iš to, kad a | b bei b | c, išplaukia, kad a | c?Taip, nes jei a | b, tai galime užrašyti, kad b = at, kur t yra kažkoks nenulinisnatūralusis skaičius. Taip pat ir sąlygą b | c galime užrašyti c = bk, k ∈ N \ {0}.Todėl c = a(tk), t. y. a | c.

• Sąryšis nėra ekvivalentumo, nes nėra simetrinis.• Sąryšis yra negriežtos tvarkos, nėra griežtos tvarkos (nes nėra antirefleksyvus).• Sąryšis R nėra tiesinės tvarkos sąryšis, kartu aibė A su šiuo tvarkos sąryšiu nėra

visiškai sutvarkyta, nes, pavyzdžiui, elementai 3 ir 5 nėra palyginami (nei 3 dalija5, nei 5 dalija 3).

3. Pagal sąlygą, aibėje X yra bent du elementai, taigi X = {a, b, . . . }. Tokiu atveju,A = P(X) =

{∅, {a}, {b}, . . . , {a, b}, . . .

}.

• Refleksyvumas. Ar B ⊂ B kiekvienam B ∈ P(X)? Ne. Pavyzdžiui, {a} 6⊂ {a}.• Antirefleksyvumas. Ar neegzistuoja B ∈ P(X) tokio, kad B ⊂ B? Neegzistuoja,

nes B ⊂ B reiškia, kad B 6= B, o to būti negali. Sąryšis yra antirefleksyvus.• Simetriškumas. Ar visiems B,C ∈ P(X) iš to, kad B ⊂ C, išplaukia, kad irC ⊂ B? Ne. Pavyzdžiui, {a} ⊂ {a, b}, bet {a, b} 6⊂ {a}.

• Antisimetriškumas. Ar visiems skirtingiems B,C ∈ P(X) iš to, kad B ⊂ C,išplaukia, kad C 6⊂ B? Taip. Nes jei B ⊂ C, tai aibėje C yra bent vienaselementas, nepriklausantis aibei B, todėl C 6⊂ B. Kitu būdu tai galime įrodyti,naudodami aibių galias: jei B ⊂ C, tai |B| < |C|, todėl C 6⊂ B, nes tam, kadbūtų C ⊂ B, reikėtų, kad būtų |C| < |B|. Taigi, šis sąryšis yra antisimetrinis.

• Tranzityvumas. Ar visiems B,C,D ∈ P(X) iš to, kad B ⊂ C bei C ⊂ D,išplaukia, kad B ⊂ D? Taip. Norint įrodyti, kad B ⊂ D, reikia įrodyti dudalykus: B ⊆ D ir B 6= D.Pirmąją dalį įrodome paprastai: B ⊂ C reiškia, kad visi aibės B elementai pri-klauso ir aibei C, kurios visi elementai savo ruožtu priklauso aibei D, todėl aibėB yra aibės D poaibis.

50

Page 53: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Antroji dalis: B ⊂ C reiškia, kad aibėje C yra bent vienas elementas, nepriklau-santis aibei B, kuris bus ir aibėje D (nes visi aibės C elementai priklauso ir aibeiD), todėl aibėje D taip pat yra bent vienas elementas, nepriklausantis aibei B,tai reiškia, kad B 6= D. Sujungę abiejų dalių įrodymus, gauname, kad aibė B yraaibės D tikrasis poaibis.Antrąją dalį galime įrodyti ir naudodami galias: B ⊂ C reiškia, kad |B| < |C|,tokiu pat būdu gauname ir |C| < |D|, todėl |B| < |D|, o tai reiškia, kad B 6= D.

• Šis sąryšis nėra ekvivalentumo, nes nėra simetrinis.• Šis sąryšis nėra negriežtos tvarkos (nes nėra refleksyvus), bet yra griežtos tvarkos.• Sąryšis R nėra tiesinės tvarkos sąryšis, kartu aibė A = P(X) su šiuo tvar-

kos sąryšiu nėra visiškai sutvarkyta, nes poaibiai {a} ir {b} nėra palyginami.

Pastaba: Jei aibė X būtų sudaryta tik iš vieno elemento, tai R būtų tiesinės tvarkossąryšis. Iš tikrųjų, tada aibė A būtų A = P(X) =

{∅, X

}, ir vieninteliai du aibės A

elementai ∅ ir X yra palyginami, nes ∅ ⊂ X.

4. • Refleksyvumas. Ar kiekvieno automobilio valstybiniai numeriai sutampa su jopačio numeriais? Taip.

• Antirefleksyvumas. Ar kiekvieno automobilio valstybiniai numeriai nesutampa sujo pačio numeriais? Ne. Pavyzdžiui, automobilio su numeriu OVJ031 numeriaisutampa su jo pačio numeriais.

• Simetriškumas. Ar visiems automobiliams a ir b teisinga, kad jei a ir b numeriaisutampa, tai sutaps ir b ir a numeriai? Taip. Sąryšis simetriškas.

• Antisimetriškumas. Naudokime kitą apibrėžimą, nei anksčiau. Ar visiems auto-mobiliams a ir b iš to, kad sutampa a ir b numeris ir iš to, kad sutampa b ir anumeris seka, kad a ir b yra tas pats automobilis? Iš tiesų, nėra dviejų skirtingųautomobilių su vienodais valstybiniais numeriais. Taigi, net iš to, kad aRb seka,kad a = b. Taigi sąryšis antisimetrinis.

• Tranzityvumas. Ar visiems automobiliams a, b ir c, iš to, kad a ir b turi tą patįnumerį ir iš to, kad b ir c turi tą patį numerį seka, kad a ir c turi tą patį numerį?Taip. Juk jei a ir b turi tą patį numerį, tai a = b. Jei b ir c turi tą patį numerį,tai b = c. Todėl a = c, o automobiliai a ir c turi tą patį valstybinį numerį.

• Šis sąryšis yra ekvivalentumo. Ekvivalentumo klasės — aibės, kurias sudaro tikpo vieną automobilį. Kiek automobilių, tiek bus ir ekvivalentumo klasių.

• Šis sąryšis yra negriežtos tvarkos, bet nėra griežtos tvarkos (nes nėra antireflek-syvus). Sąryšis R nėra tiesinės tvarkos sąryšis, kartu visų automobilių aibė sušiuo tvarkos sąryšiu nėra visiškai sutvarkyta. Iš tiesų sąryšio atžvilgiu negalimapalyginti jokių dviejų skirtingų automobilių.

5. • Refleksyvumas. Ar bet kokiam natūraliajam skaičiui a+ a = 10? Ne. Pavyzdžiui,3 + 3 6= 10.

• Antirefleksyvumas. Ar bet kokiam natūraliajam skaičiui netiesa, kad a+ a = 10?Ne. Pavyzdžiui (ir tai vienintelis pavyzdys) 5 + 5 = 10.

• Simetriškumas. Ar iš to, kad a+ b = 10, seka, kad b+ a = 10? Taip. Juk sudėtiesoperacija yra komutatyvi. Kitaip sakant, sumos rezultatas nesikeičia nuo to, kaddėmenys sukeičiami vietomis.

51

Page 54: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

• Antisimetriškumas. Ar tiesa, kad bet kuriems dviems skirtingiems a ir b, jeigua+ b = 10, tai b+ a 6= 10? Ne. Pavyzdžiui, 6 + 4 = 10 ir 4 + 6 = 10.

• Tranzityvumas. Ar iš to, kad a + b = 10 ir b + c = 10 seka, kad a + c = 10? Ne.Pavyzdžiui, 2 + 8 = 10, 8 + 2 = 10, tačiau 2 + 2 6= 10.

• Šis sąryšis nėra ekvivalentumo, nes nėra refleksyvus.• Šis sąryšis nėra nei negriežtos tvarkos, nei griežtos tvarkos, nes nėra tranzityvus.

52

Page 55: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždaviniai savarankiškam darbuiUždavinys 5.3. Ar sąryšis R, apibrėžtas aibėje A, yra refleksyvus, antirefleksyvus, simet-rinis, antisimetrinis, tranzityvus, ekvivalentumo, negriežtos tvarkos, griežtos tvarkos? Jeisąryšis yra tvarkos, ar tai yra tiesinės tvarkos sąryšis, t. y. ar aibė A yra visiškai sutvarkyta?Jei sąryšis yra ekvivalentumo, raskite ekvivalentumo klases.

1. Sąryšis žmonių aibėje A: aRb tada ir tik tada, kai a ir b turi tą patį senelį arba tąpačią senelę.

2. Sąryšis sveikųjų skaičių aibėje A = Z: aRb tada ir tik tada, kai a = |b|.3. Sąryšis žmonių aibėje A: aRb tada ir tik tada, kai a sveria daugiau už b.4. Sąryšis sveikųjų skaičių aibėje A = Z: aRb tada ir tik tada, kai a = b+ 1.5. Sąryšis aibėje A = R \ {0}: aRb tada ir tik tada, kai ab > 0 (čia R— realiųjų skaičių

aibė).

Uždavinys 5.4. Krepšinio varžybos. Apibrėžkime sąryšius RL ir RŽ varžybose dalyvaujan-čių komandų aibėje tokiu būdu: aRLb tada ir tik tada, kai komanda a laimėjo prieš komandąb. Tuo tarpu aRŽ b tada ir tik tada, kai komanda a žaidė su komanda b.

1. Varžybose dalyvavo šešios komandos. Kiekviena iš jų sužaidė po vienerias rungtynes sukiekviena iš likusių komandų. Varžybų nugalėtoja skelbiama komanda, kuri iškovojodaugiausiai pergalių (jei kelios komandos iškovojo po vienodą pergalių skaičių, aukš-tesnę vietą užėmė komanda, kurios bendras visų rungtynių įmestų ir praleistų taškųskirtumas didžiausias). Rezultatai pateikiami lentelėje:

Pant. Lok. Pem. Erel. Vilk. Lūš. P. Sk. V.Panteros 75:69 73:71 77:64 85:67 94:81 5 404:352 +52 ILokiai 69:75 89:76 86:88 110:83 82:64 3 436:386 +50 IIPempės 71:73 76:89 88:63 91:78 93:71 3 419:374 +45 IIIEreliai 64:77 88:86 63:88 86:67 95:74 3 396:392 +4 IVVilkai 67:85 83:110 78:91 67:86 81:75 1 376:447 -71 VLūšys 81:94 64:82 71:93 74:95 75:81 0 365:445 -80 VI

2. Varžybose dalyvavo aštuonios komandos, kurios buvo padalintos į dvi grupes. Kiek-vienoje grupėje kiekviena komanda žaidė su kiekviena po vieną kartą. Iš grupės į kitąetapą išėjo po dvi daugiausiai pergalių iškovojusias komandas (jei kelios komandos iš-kovojo po vienodą pergalių skaičių, aukštesnę vietą grupėje užėmė komanda, kuriosbendras visų rungtynių įmestų ir praleistų taškų skirtumas didžiausias). Pusfinaliųnugalėtojai kovėsi finale dėl čempionų vardo. Rezultatai pateikiami lentelėse:

A Beržai Ąžuolai Klevai Guobos Perg. Skirt VietaBeržai 87:84 95:96 107:89 2 289:269 +20 IĄžuolai 84:87 76:79 85:70 1 245:236 +9 IIIKlevai 96:95 79:76 88:91 2 263:262 +1 IIGuobos 89:107 70:85 91:88 1 250:280 -30 IVB Uosiai Kaštonai Gluosniai Pušys Perg. Skirt. Vieta

Uosiai 81:66 82:70 85:68 3 248:204 +44 IKaštonai 66:81 73:78 96:79 1 235:238 -3 IIGluosniai 70:82 78:73 73:88 1 221:243 -22 IV

Pušys 68:85 79:96 88:73 1 235:254 -19 III

53

Page 56: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Beržai 74Kaštonai111Uosiai 79Klevai 69

Kaštonai 91Uosiai 86

54

Page 57: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždavinių savarankiškam darbui sprendimai arba atsa-kymai

Uždavinio 5.3 sprendimas ir atsakymai:

1. (a) Refleksyvumas. Ar kiekvienas žmogus a turi tą patį senelį arba tą pačią senelękaip ir jis pats? Taip.

(b) Antirefleksyvumas. Ar neegzistuoja žmogaus, kuris turi tą patį senelį arba tą pačiąsenelę kaip ir jis pats? Egzistuoja, pavyzdžiui, aš. Sąryšis nėra antirefleksyvus.

(c) Simetriškumas. Ar visiems žmonėms a ir b iš to, kad a ir b turi tą patį senelį arbatą pačią senelę, išplaukia, kad ir b ir a turi tą patį senelį arba tą pačią senelę?Taip.

(d) Antisimetriškumas. Ar visiems skirtingiems žmonėms a ir b iš to, kad a ir b turi tąpatį senelį arba tą pačią senelę, išplaukia, kad b ir a neturi nei to paties senelio, neitos pačios senelės? Ne. Pavyzdžiui, paimkime bet kuriuos du žmones, turinčiustą patį senelį arba tą pačią senelę (brolius/seseris ar pusbrolius/pusseseres).

(e) Tranzityvumas. Ar visiems žmonėms a, b ir c iš to, kad a ir b turi tą patį senelįarba tą pačią senelę bei b ir c turi tą patį senelį arba tą pačią senelę, išplaukia,kad a ir c turi tą patį senelį arba tą pačią senelę? Ne, nes, pavyzdžiui, jei a ir bturi tą patį senelį, ir b ir c turi tą patį senelį, tai tie žmogaus b seneliai gali būtiskirtingi (iš tėvo ir iš motinos pusės), todėl a ir c gali neturėti to paties senelio.

(f) Sąryšis nėra ekvivalentumo, nes nėra tranzityvus.(g) Sąryšis nėra nei griežtos, nei negriežtos tvarkos, nes nėra tranzityvus.

2. (a) Refleksyvumas. Ar a = |a| kiekvienam a ∈ Z? Ne, pavyzdžiui, −1 6= |−1|. Sąryšisnėra refleksyvus.

(b) Antirefleksyvumas. Ar neegzistuoja a ∈ Z tokio, kad a = |a|? Egzistuoja, pavyz-džiui, 1 = |1|. Sąryšis nėra antirefleksyvus.

(c) Simetriškumas. Ar visiems a, b ∈ Z iš to, kad a = |b|, išplaukia, kad ir b = |a|?Ne, pavyzdžiui, jei a = 1, o b = −1.

(d) Antisimetriškumas. Ar visiems skirtingiems a, b ∈ Z iš to, kad a = |b|, išplaukia,kad b 6= |a|? Taip, nes iš to, kad a ir b yra skirtingi ir a = |b|, išplaukia, kada = −b ir b < 0, todėl b 6= |a|.

(e) Tranzityvumas. Ar visiems a, b, c ∈ Z iš to, kad a = |b| bei b = |c|, išplaukia, kada = |c|? Taip, nes iš to, kad b = |c|, išplaukia, kad b > 0, todėl a = |b| = b = |c|.

(f) Sąryšis nėra ekvivalentumo (nes nėra refleksyvus).(g) Sąryšis nėra nei griežtos (nes nėra antirefleksyvus), nei negriežtos tvarkos (nes

nėra refleksyvus).3. (a) Refleksyvumas. Ar kiekvienas žmogus sveria daugiau už jį patį? Ne. Pavyzdžiui

tinka bet kuris žmogus. Sąryšis nėra refleksyvus.(b) Antirefleksyvumas. Ar kiekvienas žmogus nesveria daugiau, negu jis pats? Taip.

Jeigu žmogaus svoris x, tada netiesa, kad x > x. Sąryšis antirefleksyvus.(c) Simetriškumas. Ar visiems žmonėms teisinga, kad jeigu a sveria daugiau už b, tai

b sveria daugiau už a? Ne. Pavyzdžiui tinka bet kokie du (skirtingai sveriantys)žmonės. Sąryšis ne simetriškas.

55

Page 58: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

(d) Antisimetriškumas. Ar visiems skirtingiems žmonėms, jei a sveria daugiau už b,tai b nesveria daugiau už a. Taip. Sąryšis antisimetrinis.

(e) Tranzityvumas. Ar visiems žmonėms a, b, c iš to, kad a sveria daugiau už b bei bsveria daugiau už c, išplaukia, kad a sveria daugiau už c? Taip. Sąryšis tranzity-vus.

(f) Sąryšis nėra ekvivalentumo (nes nėra refleksyvus).(g) Sąryšis nėra negriežtos tvarkos (nes nėra refleksyvus), bet yra griežtos tvarkos.

Žmonių aibė su šiuo sąryšiu yra visiškai sutvarkyta, nes bet kurių dviejų skirtingųžmonių svoriai skiriasi — vienas yra sunkesnis už kitą.

4. (a) Refleksyvumas. Ar a = a + 1 kiekvienam a ∈ Z? Ne, pavyzdžiui, 1 6= 1 + 1 = 2.Sąryšis nėra refleksyvus.

(b) Antirefleksyvumas. Ar neegzistuoja a ∈ Z tokio, kad a = a+ 1? Neegzistuoja, neslygtis a = a+ 1 šaknų neturi. Sąryšis antirefleksyvus.

(c) Simetriškumas. Ar visiems a, b ∈ Z iš to, kad a = b+1, išplaukia, kad ir b = a+1?Ne, pavyzdžiui, jei a = 2, o b = 1.

(d) Antisimetriškumas. Ar visiems skirtingiems a, b ∈ Z iš to, kad a = b+1, išplaukia,kad b 6= a+ 1? Taip, nes iš to, kad a = b+ 1 seka, kad b = a− 1 6= a+ 1.

(e) Tranzityvumas. Ar visiems a, b, c ∈ Z iš to, kad a = b+ 1 bei b = c+ 1, išplaukia,kad a = c+ 1? Ne, pavyzdžiui, a = 3, b = 2, c = 1.

(f) Sąryšis nėra ekvivalentumo (nes nėra refleksyvus).(g) Sąryšis nėra nei griežtos, nei negriežtos tvarkos (nes nėra tranzityvus).

5. (a) Refleksyvumas. Ar a · a > 0 kiekvienam a ∈ R \ {0}? Taip, nes a · a = a2, okiekvieno nenulinio skaičiaus kvadratas yra teigiamas. Sąryšis refleksyvus.

(b) Antirefleksyvumas. Ar neegzistuoja a ∈ R \ {0} tokio, kad a · a > 0? Egzistuoja,pavyzdžiui, 1 · 1 = 1 > 0. Sąryšis nėra antirefleksyvus.

(c) Simetriškumas. Ar visiems a, b ∈ R \ {0} iš to, kad ab > 0, išplaukia, kad irba > 0? Taip, nes daugyba yra komutatyvi.

(d) Antisimetriškumas. Ar visiems skirtingiems a, b ∈ R \ {0} iš to, kad ab > 0,išplaukia, kad netiesa, kad ba > 0? Ne, pavyzdžiui kai a = 1, o b = 2.

(e) Tranzityvumas. Ar visiems a, b, c ∈ Z iš to, kad ab > 0 bei bc > 0, išplaukia, kadac > 0? Taip. Jei ab > 0, vadinasi arba abu a ir b teigiami, arba jie abu neigiami.Kadangi bc > 0, vadinasi c ženklas yra toks pats. Taigi, ac > 0.

(f) Sąryšis yra ekvivalentumo Ekvivalentumo klasės yra dvi — visi teigiami realiejiskaičiai, ir visi neigiami realieji skaičiai.

(g) Sąryšis nėra nei griežtos, nei negriežtos tvarkos (nes nėra antisimetrinis).

Uždavinio 5.4 sprendimas ir atsakymai:

1. Pradėkime nuo sąryšio RL.

• Refleksyvumas. Ar kiekviena iš komandų yra laimėjusi prieš save? Ne. Pavyzdžiui,Panteros nėra laimėjusios prieš Panteras.

• Antirefleksyvumas. Ar kiekviena iš komandų nėra laimėjusi prieš save? Taip.Komanda varžybose prieš save pačią nežaidžia, taigi ir laimėti negali.

56

Page 59: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

• Simetriškumas. Ar iš to, kad komanda A yra laimėjusi prieš komandą B seka tai,kad komanda B yra laimėjusi prieš komandą A? Ne. Iš tiesų Lokiai prieš Pempesyra laimėję, o Pempės prieš Lokius — ne.

• Antisimetriškumas. Ar bet kurioms dviems skirtingoms komandoms teisinga, kadjeigu A laimėjo prieš B, tai B nelaimėjo prieš A? Taip. Juk varžybose kiekvienakomandų pora susitiko tik kartą, taigi jeigu rungtynes laimėjo vienas iš varžovų,tai kitas pralošė, t. y. nelaimėjo. Sąryšis antisimetrinis.

• Tranzityvumas. Ar tiesa, kad jeigu A komanda laimėjo prieš B, o B komandaprieš C, tai ir A komanda laimėjo prieš C? Ne. Iš tiesų varžybose būna visokiųsituacijų. Pavyzdžiui, Lokiai laimėjo prieš Pempes, Pempės laimėjo prieš Erelius,bet Lokiai prieš Erelius nelaimėjo, o pralošė.

• Šis sąryšis nėra ekvivalentumo, nes nėra simetrinis. Be to jis ir ne tranzityvus.• Šis sąryšis nėra nei negriežtos tvarkos, nei griežtos tvarkos, nes nėra tranzityvus.

Dabar pereikime prie sąryšio RŽ .

• Refleksyvumas. Ar kiekviena iš komandų yra žaidusi prieš save? Ne. Pavyzdžiui,Panteros nėra žaidusios su Panteromis.

• Antirefleksyvumas. Ar nėra tokios komandos, kuri būtų žaidusi prieš save? Nėra,taigi sąryšis antirefleksyvus.

• Simetriškumas. Ar iš to, kad komanda A yra žaidusi su komanda B seka tai, kadkomanda B yra žaidusi su komanda A? Taip, taigi sąryšis simetrinis.

• Antisimetriškumas. Ar bet kurioms dviems skirtingoms komandoms teisinga, kadjeigu komanda A žaidė su B, tai B nežaidė su A? Ne. Pavyzdžiui, Vilkai žaidė suLūšimis, taigi ir Lūšys su Vilkais žaidė.

• Tranzityvumas. Ar tiesa, kad jeigu A komanda žaidė su B, o B komanda su C,tai ir A komanda žaidė su C? Ne. Pavyzdžiui, Vilkai su Lūšimis žaidė, Lūšys suVilkais žaidė, tačiau Vilkai su Vilkais nėra žaidę.

Pastaba: Atkreipkite dėmesį, kad jeigu sąryšis yra simetrinis ir antirefleksyvus, tai jisnegali tuo pačiu būti ir tranzityvus, nebent jis yra tuščias. Tai įrodyti galime prieštarosmetodu. Tarkime turime simetrinį, antirefleksyvų ir tranzityvų netuščią sąryšį R. Taigiegzistuoja du elementai a ir b tokie, kad aRb. Beje, a 6= b, nes sąryšis antirefleksyvus.Kadangi sąryšis simetrinis, tai iš to kad aRb seka, kad bRa. Dėl sąryšio tranzityvumoiš to, kad aRb ir bRa, galime daryti išvadą, kad aRa, o tai prieštarauja tam, kad sąryšisyra antirefleksyvus.Šiame atsakyme pateiktas pavyzdys tėra šio įrodymo demonstracija. Iš tiesų, kai kuriosiš šių savybių yra susijusios. Pavyzdžiui, nagrinėjant sąryšį aibėje A, kuriam teisinga,kad kiekvienas aibės A elementas yra sąryšyje su bent vienu kitu aibės A elementu,galima teigti, kad jei šis sąryšis tranzityvus ir simetrinis, tai jis refleksyvus.

• Šis sąryšis nėra ekvivalentumo, nes nėra tranzityvus. Be to, jis nėra refleksyvus.• Šis sąryšis nėra nei negriežtos tvarkos, nei griežtos tvarkos, nes nėra antisimetrinis.

Be to, taip pat nėra tranzityvus.

2. Šio uždavinio sprendimas panašus į praeitą variantą, todėl detaliau nagrinėsime tik tasvietas, kurios skiriasi. Pradėkime nuo sąryšio RL.

• Refleksyvumas. Sąryšis nerefleksyvus.

57

Page 60: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

• Antirefleksyvumas. Sąryšis antirefleksyvus.• Simetriškumas. Sąryšis nesimetrinis.• Antisimetriškumas. Ar bet kurioms dviems skirtingoms komandoms teisinga, kad

jeigu A laimėjo prieš B, tai B nelaimėjo prieš A? Ne. Finale susitiko dvi B grupėskomandos: Uosiai ir Kaštonai. Nors Uosiai šventė pergalę grupės varžybose, tačiaufinale buvo stipresni Kaštonai.

• Tranzityvumas. Sąryšis netranzityvus. Pavyzdžiu galėtų būti Ąžuolų, Guobų irKlevų tarpusavio rungtynių rezultatai A grupėje. Alternatyvus pavyzdys galėtųbūti toks: B grupėje Gluosniai laimėjo prieš Kaštonus, Kaštonai pusfinalyje įveikėBeržus, tačiau Gluosniai nėra įveikę Beržų, nes šios komandos varžybose tiesiognežaidė. Iš tiesų užtektų pateikti vieną iš šių pavyzdžių.

• Šis sąryšis nėra ekvivalentumo, nes nėra simetrinis. Be to jis ir ne tranzityvus.• Šis sąryšis nėra nei negriežtos tvarkos, nei griežtos tvarkos, nes nėra antisimetrinis.

Be to, taip pat nėra tranzityvus.

Dabar pereikime prie sąryšio RŽ .

• Refleksyvumas. Sąryšis nerefleksyvus.• Antirefleksyvumas. Sąryšis antirefleksyvus.• Simetriškumas. Sąryšis simetrinis.• Antisimetriškumas. Sąryšis nėra antisimetrinis.• Tranzityvumas. Ar tiesa, kad jeigu A komanda žaidė su B, o B komanda su C, tai

ir A komanda žaidė su C? Ne. Pavyzdžiui, Klevai su Uosiais žaidė, Uosiai žaidėsu Pušimis, tačiau Klevai su Pušimis nėra žaidę.

• Šis sąryšis nėra ekvivalentumo, nes nėra tranzityvus.• Šis sąryšis nėra nei negriežtos tvarkos, nei griežtos tvarkos, nes nėra antisimetrinis.

Be to, taip pat nėra tranzityvus.

58

Page 61: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

6 pratybos

Aibių galia

Teorinė medžiaga: II dalies 4 skyrius.

Uždaviniai pratybomsUždavinys 6.1. Nustatykite, ar duota aibė A yra skaičioji.

1. A — pirminių skaičių aibė.2. A = P1 ∪ P2 ∪ P3 ∪ . . . , kur P1 = {2, 3, 5, 7, 11, 13, . . . } yra pirminių skaičių aibė,P2 = {

√2,√

3,√

5,√

7,√

11,√

13, . . . }— pirminių skaičių kvadratinių šaknų aibė, P3 ={ 3√

2, 3√

3, 3√

5, 3√

7, 3√

11, 3√

13, . . . } yra pirminių skaičių kubinių šaknų aibė ir t.t... Tokiuatveju aibė Pi = { i

√2, i√

3, i√

5, i√

7, i√

11, i√

13, . . . } yra pirminių skaičių i-tojo laipsniošaknų aibė.

3. Dekarto koordinačių sistemoje vertikaliai pradedant x = 0 ir horizontaliai pradedanty = 0 kas 1 nubrėžtos tiesės (žiūrėti brėžinį). A — šių tiesių visų susikirtimo taškųaibė.

x1

y

1

4. A — visų adresų Vilniuje aibė. Laikykite, kad kiekvienas adresas sudarytas iš gatvėspavadinimo, namo numerio ir buto numerio.

5. A — visų įmanomų C programavimo kalbos kintamųjų vardų aibė.6. A — visų lietuvių kalbos žodžių aibė.7. A — visų įmanomų begalinių didėjančių natūraliųjų skaičių sekų aibė. T.y., tokių sekųa1, a2, a3, . . . , kur ai ∈ N visiems i ∈ N−, be to, ai < aj, visiems i, j ∈ N−, kai i < j.

Sprendimas.

1. A ⊂ N, o bet kuris skaičiosios aibės poaibis yra numeruojamoji aibė. Kadangi A nėrabaigtinė, ji yra skaičioji.

59

Page 62: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Kitas būdas tai įrodyti būtų tiesiog parodyti, kad visus pirminius skaičius galime sura-šyti į vieną seką. Aišku, kad tai galime padaryti, bėgdami per natūraliuosius skaičiusir tikrindami, ar tai pirminis skaičius, ir jei taip, rašydami jį į seką.

2. Iš tiesų egzistuoja bijekcija tarp pirminių skaičių aibės ir bet kurios Pi — tai funkcijafi(x) = i

√x. Todėl, kadangi pirminių skaičių aibė yra skaičioji, tai ir visos aibės Pi yra

skaičiosios. Pažymėkime P = {P1,P2, . . . }. Ši aibė yra skaičioji sistema. Taigi, A yraskaičiosios sistemos skaičiųjų aibių sąjunga. O tai yra skaičioji aibė.Taip pat galimas ir tiesioginis įrodymas, surašant visus sąjungos elementus į lentelę irparodant, kad visus lentelės elementus galima surašyti į vieną seką.

P1 = { 2, 3, 5, 7, 11, 13, . . . }

P2 = {√

2,√

3,√

5,√

7,√

11,√

13, . . . }

P3 = { 3√

2, 3√

3, 3√

5, 3√

7, 3√

11, 3√

13, . . . }

P4 = { 4√

2, 4√

3, 4√

5, 4√

7, 4√

11, 4√

13, . . . }

P5 = { 5√

2, 5√

3, 5√

5, 5√

7, 5√

11, 5√

13, . . . }. . .

Rodyklėmis nurodome tvarką, kuria rašomi elementai: 2, 3,√

2, 3√

2,√

3, 5, 7,√

5, 3√

3, . . .3. Aibę A būtų galima apibrėžti ir taip: {(x, y) : x, y ∈ Z}. Kitaip sakant, tai yra

dviejų sveikųjų skaičių aibių Dekarto sandauga Z × Z. Kadangi sveikųjų skaičių aibėyra skaičioji, o dviejų skaičiųjų aibių Dekarto sandauga yra skaičioji, tai aibė A yraskaičioji.Kitas sprendimo būdas galėtų remtis tuo, kad aibę A galima išreikšti skaičiosios sis-temos skaičiųjų aibių sąjunga A = C0 ∪ C−1 ∪ C1 ∪ C−2 ∪ C2 ∪ . . . , kur Ci yra aibėsusikirtimo taškų, kurių pirmoji koordinatė yra i, t. y.

Ci = {(i, 0), (i,−1), (i, 1), (i,−2), (i, 2), . . . }.

Skaičiosios sistemos skaičiųjų aibių sąjunga yra skaičioji aibė, todėl aibė A yra skaičioji.Trečias sprendimo būdas būtų tiesioginis, kai visus aibės A elementus surašome į vienąseką. Galėtume tai padaryti kaip šios užduoties 2 dalies sprendime. Surašome į pirmąlentelės eilutę visus susikirtimo taškus, kurių pirmoji koordinatė yra 0, į antrą — visus,kurių pirmoji koordinatė yra −1, į trečią tuos, kurių pirmoji koordinatė yra 1, ir t. t.

(0, 0), (0,−1), (0, 1), (0,−2), (0, 2), (0,−3), . . .

(−1, 0), (−1,−1), (−1, 1), (−1,−2), (−1, 2), (−1,−3), . . .

(1, 0), (1,−1), (1, 1), (1,−2), (1, 2), (1,−3), . . .

(−2, 0), (−2,−1), (−2, 1), (−2,−2), (−2, 2), (−2,−3), . . .

(2, 0), (2,−1), (2, 1), (2,−2), (2, 2), (2,−3), . . .

. . .

60

Page 63: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Tada įstrižainėmis galime perbėgti visus aibės A elementus.

Ketvirtas būdas irgi tiesioginis: galime perbėgti visus susikirtimo taškus spirale, pra-dėdami nuo (0, 0):

x

y

Taip visus susikirtimo taškus galime išrašyti į vieną eilę, todėl jų aibė yra skaičioji.

4. Į adresų aibę galima žiūrėti kaip į gatvių pavadinimų ir dviejų natūraliųjų skaičiųaibių Dekarto sandaugos poaibį (ne visose gatvėse yra vienodai namų ir ne visuosenamuose vienodai butų). Kaip ten bebūtų, gatvių skaičius yra baigtinis. Lygiai taippat baigtinės yra skirtingų namų ir butų numerių aibės. Taigi ir adresų aibė yra baigtinė(taigi numeruojamoji, bet ne skaičioji).

5. Programavimo kalbos C kintamųjų vardai turi prasidėti lotyniška raide arba pabrauki-mu (_), o susidėti gali iš lotyniškų raidžių, skaitmenų ir pabraukimų. Be to, kintamojovardas negali sutapti su jokiu rezervuotu žodžiu tokiu kaip „if“, „else“, „int“ ir t. t.Taigi, A yra visų žodžių abėcėlėje, susidedančioje iš lotyniškų raidžių, skaitmenų irpabraukimo, aibės poaibis. Kadangi ši abėcėlė yra baigtinė, tai visų jos žodžių aibėyra skaičioji, o visų jos žodžių aibės poaibis A yra numeruojamoji aibė. Tačiau aibė Anėra baigtinė, taigi yra skaičioji.

Galimas ir tiesioginis įrodymas. Visus kintamųjų vardus galime išrašyti į vieną eilę,pradėdami nuo ilgio 1 kintamųjų vardų (jų bus baigtinis skaičius), tada ilgio 2 vardai,ilgio 3, 4, 5 ir t. t. (kiekvieno fiksuoto ilgio vardų skaičius bus baigtinis, nes abėcė-lė baigtinė). Tokiu būdu eilėje atsidurs kiekvienas galimas bet kokio ilgio kintamojovardas. Tai reiškia, kad vardų aibė skaičioji.

6. Visų lietuvių kalbos žodžių aibė yra poaibis abėcėlės, sudarytos iš lietuviškų raidžių,visų žodžių aibės. Taigi, aibė A yra numeruojamoji. Kita vertus, lietuvių kalbos žodžiaiyra kaupiami ir aiškinami žodynuose (pavyzdžiui, Dabartinės lietuvių kalbos žodynas),taigi jų skaičius yra baigtinis. Net ir pridėjus visas visų žodžių formas (kurių taip patyra baigtinis kiekis) gautume didelę, tačiau baigtinę (o ne skaičiąją) aibę.

7. Ši aibė nėra skaičioji. Įrodymas galėtų būti panašus į įrodymą, kad visų atviro intervalo(0, 1) realiųjų skaičių aibė nėra skaičioji.

Tarkime priešingai, kad aibė A yra skaičioji, taigi įmanoma sunumeruoti visus jos ele-mentus (didėjančias natūraliųjų skaičių sekas) ir užrašyti pradedant pirmuoju numeriųdidėjimo tvarka:

1: a11, a

12, a

13, . . .

2: a21, a

22, a

23, . . .

3: a31, a

32, a

33, . . .

. . . . . .

Sudarykime dar vieną didėjančią natūraliųjų skaičių seką b1, b2, b3, . . . tokiu būdu: b1 =

61

Page 64: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

a11 + 1, o bi = max(bi−1, a

ii) + 1 visiems i > 2. Čia max yra maksimumo funkcija:

max(a, b) ={a, jei a > b,b, priešingu atveju.

Tokiu atveju, visiems i sekos elementai bi ∈ N. Be to, bi < bj visiems i, j ∈ N−, jeigui < j. Juk kiekvienas iš elementų bent vienetu didesnis už prieš tai buvusįjį. Taigi, šiseka turėtų turėti kokį nors numerį ir būti užrašyta aukščiau pateiktame sąraše. Tačiauto būti negali, nes ji skiriasi nuo visų sąraše užrašytųjų sekų. Iš tiesų, kiekvienam igalima teigti, kad bi 6= aii, nes bi yra bent vienetu didesnis už aii. Taigi, gavome seką,kuri nebuvo sunumeruota ir kartu prieštarą tam, kad įmanoma sunumeruoti visus aibėsA elementus. Kitaip sakant, parodėme, kad aibė A nėra skaičioji.Beje, seką b1, b2, b3, . . . galima apibrėžti ir kitaip. Pavyzdžiui, b1 = a1

1 + 1, bi = bi−1 +aii + 1 (arba bi = bi−1 + aii) visiems i > 2.

Uždavinys 6.2. Rasti tokias nenumeruojamąsias aibes A ir B, kad jų skirtumas A\B būtų:

1. baigtinė netuščia aibė,2. skaičioji aibė,3. nenumeruojamoji aibė.

Sprendimas. Reikia rasti nenumeruojamąsias aibes A ir B, t. y. kontinuumo arba dar didesnėsgalios. Kiekvienu atveju tokių pavyzdžių galima sugalvoti daugybę.

1. Pavyzdžiui, jei A = [0, 1], B = (0, 1), tai A \B = {0, 1}.Kitas pavyzdys: A = (0, 1) ∪ {5, 6, 7}, B = (0, 1), A \B = {5, 6, 7}.Dar vienas pavyzdys: A = R, B = R \ {0}, A \B = {0}.

2. A = R, B = R \ Z, A \B = Z.Kitas pavyzdys: A = (0, 1) ∪ N, B = (0, 1), A \B = N.

3. A = (0, 2), B = (1, 2), tai A \B = (0, 1].

Uždavinys 6.3. Apibrėžkite bijekciją (išreikštą formule) tarp duotų aibių (bijekciją iš būtentpirmosios aibės į antrąją, o ne iš antrosios į pirmąją).

1. Lyginių sveikųjų skaičių aibės ZL = {. . . ,−4,−2, 0, 2, 4, . . . } ir natūraliųjų skaičių aibėsN = {0, 1, 2, 3, . . . }.

2. Realiųjų skaičių aibės R ir teigiamų realiųjų skaičių aibės R+ = (0,∞).3. Natūraliųjų skaičių aibės N ir natūraliųjų skaičių, nesidalijančių iš 3, aibės A.4. Realiųjų skaičių aibės intervalo (0, 1) ir realiųjų skaičių aibės R.5. Natūraliųjų skaičių skaičiaus 3 teigiamų kartotinių aibės N3 = {3, 6, 9, 12, 15, 18, . . . }

ir sveikųjų nelyginių skaičių aibės ZN = {. . . ,−3,−1, 1, 3, . . . }.

Sprendimas. Atkreipkite dėmesį, kad šiuose sprendimuose pateikti atsakymai yra ne vienin-teliai teisingi. Bijekcijas tarp dviejų aibių paprastai įmanoma gauti įvairiais būdais.

62

Page 65: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

1. Pirmoji duota skaičioji aibė yra begalinė į abi puses, antroji — tik į vieną pusę. Tokiuatveju galime daryti taip: abi aibes padaliname į du skaičiuosius poaibius, begaliniustik į vieną pusę, ir ieškome bijekcijos tarp tų poaibių. Lyginių sveikųjų skaičių aibę ZL įdu skaičiuosius poaibius, begalinius tik į vieną pusę, galime padalinti, pavyzdžiui, taip:neigiami lyginiai sveikieji skaičiai ir neneigiami. Natūraliųjų skaičių aibę N į du skai-čiuosius poaibius, begalinius tik į vieną pusę, galime padalinti, pavyzdžiui, taip: lyginiaiir nelyginiai natūralieji skaičiai. Tada nusprendžiame, kurį poaibį į kurį atvaizduosime.Pavyzdžiui, atvaizduokime neigiamus lyginius sveikuosius skaičius į nelyginius natūra-liuosius, ir neneigiamus lyginius sveikuosius skaičius į lyginius natūraliuosius. Tokiąbijekciją galima užrašyti taip:

f(x) ={x, jei x > 0,−x− 1, jei x < 0.

2. Tinka rodiklinė funkcija, pavyzdžiui f(x) = ex. Apskritai tinka visos funkcijos f(x) =ax ir f(x) = a−x, kur a ∈ R, a > 0 ir a 6= 1.

3. Nesunku pastebėti, kad aibė A = {1, 2, 4, 5, 7, 8, 10, 11, . . . } yra sąjunga dviejų aibių:A1 = {1, 4, 7, 10, . . . } = {1 + 3k : k ∈ N} ir A2 = {2, 5, 8, 11, . . . } = {2 + 3k : k ∈ N}.Atvaizduokime lyginius natūraliuosius skaičius į aibę A1, o nelyginius — į A2. Kad būtųlengviau, iš pradžių lyginius (atitinkamai, nelyginius) skaičius atvaizduokime į natūraliųskaičių aibę N = {0, 1, 2, . . . }, o tada pastaruosius atvaizduosime į A1 (atitinkamai A2)naudodami formulę 1+3k (atitinkamai 2+3k). Lyginiai natūralieji skaičiai į natūraliųjųskaičių aibę N atvaizduojami funkcija n

2 , nelyginiai — n−12 . Įstatome į formules vietoj

k ir gauname:

f(n) ={

1 + 3n2 , jei n lyginis,

2 + 3(n−1)2 , jei n nelyginis.

4. Šį kartą reikia baigtinio pločio realiųjų skaičių aibės intervalą bijektyviai atvaizduotiį visą realiųjų skaičių aibę. Taip elgiasi trigonometrinės funkcijos tg x ir ctg x. Pa-vyzdžiui, pirmoji bijektyviai į realiųjų skaičių aibę atvaizduoja intervalą (−π

2 ; π2 ). Tuotarpu šiuo atveju reikia atvaizduoti intervalą (0; 1). Pirmojo intervalo plotis yra π, oantrojo — 1, taigi norint iš antrojo gauti pirmąjį reikią jį „praplėsti“ padauginant iš π.Tačiau tokiu būdu gautas intervalas bus (0; π), todėl jį reikia „pastumti“ per π

2 į kairę,t. y. atimti π

2 . Taigi funkcija πx − π2 galima iš intervalo (0; 1) gauti intervalą (−π

2 ; π2 ).Belieka šią funkciją įstatyti į tangentą. Rezultatas — f(x) = tg(πx− π

2 ).

Šiuo atveju neabejotinai tinka ir funkcija ctg x: f(x) = ctg(πx).5. Sveikųjų nelyginių skaičių aibė sudaryta iš teigiamų ir neigiamų skaičių. Pažymėkime

teigiamų nelyginių skaičių aibę Z+N = {1, 3, 5, . . . }, o neigiamų nelyginių skaičių aibę

Z−N = {−1,−3,−5, . . . }. Į dvi dalis padalinkime ir aibę N3: kas antrą jos elementądėkime į vieną dalį, o kas antrą į kitą. Tegul N1

3 = {3, 9, 15, . . . }, o N23 = {6, 12, 18, . . . }.

Dabar pasirinkime, kurią aibės N3 dalį atvaizduosime į kurią aibės ZN dalį. Pavyzdžiui,apibrėžkime bijekciją tarp aibių N1

3 ir Z+N bei tarp N2

3 ir Z−N . Prieš tai aibės N3 dalisatvaizduokime tiesiog į aibę N.Aibę N1

3 atvaizduoti į aibę N galima funkcija n−36 . Norint aibę N atvaizduoti į Z+

N tinkafunkcija 2n+ 1. Belieka šias dvi funkcija sukombinuoti į vieną: 2n−3

6 + 1. Analogiškaiaibę N2

3 atvaizduoti į aibę N galima funkcija n6 − 1. Norint aibę N atvaizduoti į Z−N

63

Page 66: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

tinka funkcija −2n− 1. Belieka šias dvi funkcija sukombinuoti į vieną: −2(n6 − 1)− 1.Suprastinus gautuosius reiškinius, gausime tokį rezultatą:

f(n) ={

n3 , jei n nedalus iš 6,1− n

3 , jei n dalus iš 6.

Uždavinys 6.4. Rasti tokias nenumeruojamąsias aibes A ir B, kad jų sankirta A∩B būtų:

1. baigtinė netuščia aibė,2. skaičioji aibė,3. nenumeruojamoji aibė.

Sprendimas. Reikia rasti nenumeruojamąsias aibes A ir B, t. y. kontinuumo arba dar didesnėsgalios. Kiekvienu atveju tokių pavyzdžių galima sugalvoti daugybę.

1. Jei A = (0, 1], B = [1, 2), tai A ∩B = {1}.2. Pavyzdžiui, jei A = (0, 1) ∪ N, B = (2, 3) ∪ N, tai A ∩B = N.

Kitas pavyzdys:

A = [0, 1] ∪ [2, 3] ∪ [4, 5] ∪ · · · ∪ [2k, 2k + 1] ∪ · · · ,B = [1, 2] ∪ [3, 4] ∪ [5, 6] ∪ · · · ∪ [2k + 1, 2k + 2] ∪ · · · ,

A ∩B = {1, 2, 3, . . . } = N \ {0}.

3. A = (0, 2), B = (1, 3), A ∩B = (1, 2).

64

Page 67: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždaviniai savarankiškam darbuiUždavinys 6.5. Apibrėžkite bijekciją (išreikštą formule) tarp šių aibių (būtent bijekciją išpirmosios aibės į antrąją):

1. Aibės N ir aibės {5, 6, 7, 8, 9, . . . } = {x ∈ N : x > 5}.2. Realiųjų skaičių aibės intervalų [0, 1) ir (1

4 ,12 ].

3. Realiųjų skaičių aibės R ir realiųjų skaičių aibės intervalo (0, 1).4. Teigiamų realiųjų skaičių aibės R+ = (0,∞) ir realiųjų skaičių aibės intervalo (0, 1).5. Realiųjų skaičių aibės intervalo (−1, 1) ir visos realiųjų skaičių aibės R.6. Fibonači skaičių aibės F ir natūraliųjų skaičių kvadratų aibės N2 = {0, 1, 4, 9, . . . }.

Fibonači skaičius apibrėžkime taip: F = {f1, f2, f3, . . . }, kur f1 = 1, f2 = 2, o fi =fi−2 + fi−1 visiems i > 3.

65

Page 68: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždavinių savarankiškam darbui sprendimai arba atsa-kymai

Uždavinio 6.5 sprendimas ir atsakymai:

1. Užtenka pastebėti, kad norint gauti aibę {5, 6, 7, 8, 9, . . . } natūraliųjų skaičių aibę reikia„pastumti“ per penkias pozicijas. Tam tinka funkcija f(x) = x+ 5.

2. Pirmiausia, norint atvaizduoti intervalą [0, 1) į (14 ,

12 ] jį reikia „apversti“. Pritaikę funkci-

ją f(x) = −x iš intervalo [0, 1) gausime intervalą (−1, 0]. Pastebėkime, kad šio intervaloplotis yra 1, o intervalo (1

4 ,12 ] — tik 1

4 . Norėdami suvienodinti pločius, padalinkime iš 4.Taigi, funkcija f(x) = −x

4 intervalą [0, 1) atvaizduosime į (−14 , 0]. Beliko tik „pastumti“

šį intervalą per 12 . Rezultatas f(x) = 1

2 −x4 arba f(x) = 2−x

4 .3. Realių skaičių aibę į baigtinio pločio intervalą atvaizduoti gali trigonometrinės funkcijos

tokios kaip arctg x arba arcctg x. Paprasčiausias sin x ar cosx tam netinka, nes gautasisatvaizdis nebus injekcija. Tačiau, funkcijos arctg x reikšmių sritis yra (−π

2 ; π2 ). Gautojointervalo plotis yra π, o reikia gauti 1 pločio intervalą. Funkcijos rezultatą padalinus išπ gausime tinkamą plotį: (−1

2 ,12). Belieka šį intervalą „pastumti“ per 1

2 . Rezultatas:f(x) = arctg x

π+ 1

2 .Galimi ir kiti variantai: f(x) = arcctg x

πarba, pavyzdžiui:

f(x) =

12 · 2

x, kai x < 0,12 ·

12x + 1

2 , kai x > 0,12 , kai x = 0.

4. Šią bijekciją galima parašyti dviem žingsniais: visų pirma, atvaizduokime aibę R+ įaibę R. Po to pastarąją atvaizduokime į intervalą (0, 1). Pirmajam žingsniui puikiaitinka logaritmas. Pagrindas nėra svarbus, svarbu, kad būtų teigiamas ir nelygus 1.Antrajam žingsniui tiktų arktangentas (arba, žinoma, arkkotangentas), tik, reikia jįkiek pakoreguoti. Visų pirma, arktangento reikšmių aibė yra (−π

2 ,π2 ). Šio intervalo

plotis lygus π, o kad būtų 1, kaip ir intervalo (0, 1) plotis, funkciją reikia dalinti išπ. Be to, intervalą reikia pastumti per 1

2 į dešinę, taigi šį skaičių reikia pridėti priefunkcijos rezultato. Taigi, antrojo žingsnio funkcija bus arctg x

π+ 1

2 . Belieka apjungtiabu žingsnius į vieną galutinę funkciją:

f(x) = arctg(log2 x)π

+ 12

Pasirodo, galima gauti ir paprastesnių rezultatų. Pavyzdžiui, vietoj logaritmo galimenaudoti nepilną arktangentą. Funkcija arctg x realių skaičių aibę bijektyviai atvaiz-duoja į intervalą (−π

2 ,π2 ). Lygiai taip pat ji teigiamų realių skaičių aibę R+ bijek-

tyviai atvaizduoja į intervalą (0, π2 ). Belieka tik pakoreguoti gautojo intervalo plotį:f(x) = 2 arctg x

π.

Tarp tinkamų atsakymų yra ir tokia funkcija: f(x) = a−x, kur a > 1, arba f(x) = ax,kur 0 < a < 1. Dar vienas galimas rezultatas — f(x) = 1

x+1 .5. Ir vėl pasinaudokime funkcija tg x, kad baigtinio pločio intervalą atvaizduotume į visą

realių skaičių aibę. Tangentas į realių skaičių aibę bijektyviai atvaizduoja intervalą

66

Page 69: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

(−π2 ; π2 ). Tuo tarpu šiuo atveju reikia atvaizduoti intervalą (−1; 1). Taigi šį intervalą

reikia „praplėsti“ padauginant iš π2 . Rezultatas — f(x) = tg xπ

2 .

Šiuo atveju neabejotinai tinka ir funkcija ctg x: f(x) = ctg (x+1)π2 .

6. Tegul Φ(fi) bus funkcija, parodanti Fibonači skaičiaus fi numerį (t.y., Φ(fi) = i).Pavyzdžiui, Φ(1) = 1, o Φ(8) = 5. Ši funkcija yra bijekcija tarp aibės F ir N−, neskiekvienas Fibonači skaičius turi tik vieną numerį, jokie du skirtingi skaičiai neturi topaties numerio ir visus numerius atitinka lygiai vienas Fibonači skaičius. Tokiu atvejuieškomoji bijekcija bus:

f(n) =(Φ(n)− 1

)2

Beje, egzistuoja (tiesa, ne tokia ir paprasta) formulė, kuri leidžia suskaičiuoti i-ąjįFibonači skaičių ir ne rekurentiškai. Pagal tai, kaip šie skaičiai apibrėžti uždaviniosąlygoje, ji būtų tokia:

fi = ϕi+1 − (1− ϕ)i+1√

5, kur ϕ = 1 +

√5

2

Skaičius ϕ yra vadinamas aukso pjūviu ir pakankamai dažnai pasitaiko įvairiose mate-matikos šakose.Dar daugiau — pasirodo egzistuoja ir atvirkštinė formulė (mes ją žymėjome Φ(n)).Tiesa, ji dar sudėtingesnė:

Φ(fi) = logϕ

fi√5 +√

5f 2i ± 4

2

− 1

Ženklas (+ arba −)antrajame pošaknyje pasirenkamas pagal tai, kuriuo atveju visaspošaknis yra pilnas kvadratas. Su visais Fibonači skaičiais lygiai vienas reiškinys iš5f 2

i + 4 arba 5f 2i − 4 bus pilnas kvadratas, išskyrus, kai fi = 1. Tokiu atveju renkamės

pirmąjį reiškinį.

67

Page 70: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

7 pratybos

Normaliosios formos I

Teorinė medžiaga: III dalies 1 skyrius.

Uždaviniai pratybomsUždavinys 7.1. Raskite loginės formulės (p | q)↔ (¬q | r):

1. TNDF (tobuląją normaliąją disjunkcinę formą),2. TNKF (tobuląją normaliąją konjunkcinę formą),

naudodamiesi teisingumo reikšmių lentele.Sprendimas.

1. Visų pirma sudarome formulės teisingumo reikšmių lentelę ir pažymime tas lentelėseilutes, kuriose formulė įgyja reikšmę t:

p q r p | q ¬q ¬q | r (p | q)↔ (¬q | r)t t t k k t kt t k k k t kt k t t t k kt k k t t t tk t t t k t tk t k t k t tk k t t t k kk k k t t t t

Iš kiekvienos pažymėtos eilutės gauname po elementarią konjunkciją ir jas sujungiamedisjunkcijomis. Elementarią konjunkciją gauname, tos eilutės interpretacijoje (kintamų-jų reikšmių rinkinyje) t keisdami atitinkamu kintamuoju, o k –– atitinkamo kintamojoneiginiu. Pavyzdžiui, pirmoje nuspalvintoje eilutėje interpretacija yra p = t, q = k,r = k. Todėl šią eilutę atitiks elementari konjunkcija p∧¬q∧¬r. Tokiu būdu gaunameduotos formulės NDF, kuri iškart yra tobuloji, nes į kiekvieną elementarią konjunkcijąpo vieną kartą įeina visi kintamieji:

(p | q)↔ (¬q | r) ∼ (p ∧ ¬q ∧ ¬r) ∨ (¬p ∧ q ∧ r) ∨ (¬p ∧ q ∧ ¬r) ∨ (¬p ∧ ¬q ∧ ¬r)

2. Teisingumo reikšmių lentelė bus ta pati, tik dabar joje pažymime tas lentelės eilutes,kuriose formulė įgyja reikšmę k.

68

Page 71: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

p q r p | q ¬q ¬q | r (p | q)↔ (¬q | r)t t t k k t kt t k k k t kt k t t t k kt k k t t t tk t t t k t tk t k t k t tk k t t t k kk k k t t t t

Darome atvirkščiai, negu darėme, skaičiuodami TNDF: iš kiekvienos pažymėtos eilu-tės gauname po elementarią disjunkciją ir jas sujungiame konjunkcijomis. Elementariądisjunkciją gauname, tos eilutės interpretacijoje t keisdami atitinkamo kintamojo nei-giniu, o k –– atitinkamu kintamuoju. Pavyzdžiui, paskutinėje nuspalvintoje eilutėjeinterpretacija yra p = k, q = k, r = t. Todėl šią eilutę atitiks elementari disjunkcijap ∨ q ∨ ¬r. Tokiu būdu gauname duotos formulės TNKF:

(p | q)↔ (¬q | r) ∼ (¬p ∨ ¬q ∨ ¬r) ∧ (¬p ∨ ¬q ∨ r) ∧ (¬p ∨ q ∨ ¬r) ∧ (p ∨ q ∨ ¬r)

Pastaba: Atkreipkite dėmesį į tai, kad, žinodami TNDF, mes nesunkiai galime rasti TNKF,ir atvirkščiai. Iš tikrųjų, iš formulės TNDF galime sužinoti, su kuriomis interpretacijomisformulė įgyja reikšmę t (kiekviena tobulosios normaliosios disjunkcinės formos elementariojikonjunkcija atitinka vieną formulės interpretaciją, su kuria formulė įgyja reikšmę t). Tadasu likusiomis interpretacijomis formulė įgyja reikšmę k, ir, kiekvienai tokiai interpretacijaiužrašę po elementarią disjunkciją, gausime formulės TNKF. Iš kitos pusės, jei žinome formulėsTNKF, galime rasti interpretacijas, su kuriomis formulė įgyja reikšmę k. Tada iš likusiųinterpretacijų galime užrašyti formulės TNDF.Pavyzdžiui, šios užduoties 1 dalyje gavome, kad duotos formulės TNDF yra

(p ∧ ¬q ∧ ¬r) ∨ (¬p ∧ q ∧ r) ∨ (¬p ∧ q ∧ ¬r) ∨ (¬p ∧ ¬q ∧ ¬r).

Sudarykime jos TNKF. Kiekviena tobulosios normaliosios disjunkcinės formos elementariojikonjunkcija atitinka vieną formulės interpretaciją, su kuria formulė įgyja reikšmę t (elementa-riosios konjunkcijos kintamasis be neiginio atitinka reikšmę t, kintamojo neiginys — reikšmęk). Pavyzdžiui, elementarioji konjunkcija p ∧ ¬q ∧ ¬r atitinka interpretaciją p = t, q = k,r = k. Taigi, iš keturių elementariųjų konjunkcijų, sudarančių duotos formulės TNDF, gau-name keturias interpretacijas, su kuriomis formulė įgyja reikšmę t:

p = t, q = k, r = k; p = k, q = t, r = t; p = k, q = t, r = k; p = k, q = k, r = k.

Tada su likusiomis keturiomis interpretacijomis (nes iš viso interpretacijų yra 2n, kur n yraformulės kintamųjų skaičius, šiuo atveju bus 23 = 8 interpretacijos) formulė įgyja reikšmę k:

p = t, q = t, r = t; p = t, q = t, r = k; p = t, q = k, r = t; p = k, q = k, r = t.

Kiekviena tobulosios normaliosios konjunkcinės formos elementarioji disjunkcija atitinka vienąformulės interpretaciją, su kuria formulė įgyja reikšmę k (elementariosios disjunkcijos kinta-masis be neiginio atitinka reikšmę k, kintamojo neiginys — reikšmę t). Pavyzdžiui, inter-pretacija p = k, q = k, r = t atitinka elementariąją disjunkciją p ∨ q ∨ ¬r. Taigi, iš keturiųinterpretacijų gauname keturias elementariąsias disjunkcijas, kurias sujungę konjunkcijomisir gausime formulės TNKF:

(¬p ∨ ¬q ∨ ¬r) ∧ (¬p ∨ ¬q ∨ r) ∧ (¬p ∨ q ∨ ¬r) ∧ (p ∨ q ∨ ¬r).

69

Page 72: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Tą patį galime pakartoti iš kitos pusės, kad iš formulės TNKF gautume formulės TNDF.

Uždavinys 7.2. Raskite duotos loginės formulės NDF, TNDF, NKF, TNKF, naudodamiesilogikos dėsniais:

1. (p | q)↔ (¬q | r),2. ¬

(p ∧ (q ∨ r)

)→((p ∧ q) ∨ r

),

Sprendimas.

1. Visų pirma konstruojame NDF:

(a) Pašaliname visas operacijas, išskyrus ¬, ∧ ir ∨:

(p|q)↔(¬q|r) ∼ ¬(p∧q)↔¬(¬q∧r) ∼(¬(p∧q)→¬(¬q∧r)

)∧(¬(¬q∧r)→¬(p∧q)

)∼

∼((p ∧ q) ∨ ¬(¬q ∧ r)

)∧((¬q ∧ r) ∨ ¬(p ∧ q)

)(b) Įkeliame neigimą į skliaustus:(

(p∧q)∨¬(¬q∧r))∧((¬q∧r)∨¬(p∧q)

)∼((p∧q)∨q∨¬r

)∧((¬q∧r)∨¬p∨¬q

) ∗∼∗∼ (q ∨ ¬r) ∧ (¬p ∨ ¬q)

Vietoje, pažymėtoje ∗, du kartus taikomas absorbavimo dėsnis: (p ∧ q) ∨ q ∼ q ir(¬q ∧ r) ∨ ¬q ∼ ¬q.

(c) Taikome distributyvumo dėsnius. Galime taikyti abu distributyvumo dėsnius:• p ∧ (q ∨ r) ∼ (p ∧ q) ∨ (p ∧ r) ir• p ∨ (q ∧ r) ∼ (p ∨ q) ∧ (p ∨ r).

Pirmąjį dėsnį taikome iš kairės į dešinę, o antrąjį atvirkščiai –– iš dešinės į kairę.Abiem atvejais gauname reikiamą pavidalą — elementarias konjunkcijas, sujung-tas disjunkcijomis. Atkreipkite dėmesį, kad antrąjį distributyvumo dėsnį (iškėlimoiš abiejų skliaustų) galime taikyti tik tuo atveju, kai kas nors kartojasi. Pavyz-džiui, jei kintamasis p yra abiejuose skliaustuose p ∨ q ir p ∨ r, jį galime iškelti irgauti p∨(q∧r). Mūsų atveju niekas nesikartoja, todėl taikome pirmąjį distributy-vumo dėsnį — visą antruosiuose skliaustuose esantį reiškinį įkeliame į pirmuosiusskliaustus:

(q ∨ ¬r) ∧ (¬p ∨ ¬q) ∼(q ∧ (¬p ∨ ¬q)

)∨(¬r ∧ (¬p ∨ ¬q)

) ∗∼∗∼ (q ∧ ¬p) ∨ (q ∧ ¬q) ∨ (¬r ∧ ¬p) ∨ (¬r ∧ ¬q) ∼ (q ∧ ¬p) ∨ (¬r ∧ ¬p) ∨ (¬r ∧ ¬q)Vietoje, pažymėtoje ∗, pirmasis distributyvumo dėsnis taikomas du kartus: pir-muosiuose didžiuosiuose skliaustuose į mažuosius skliaustus įkeliamas q, o antruo-siuose — ¬r. Gavome NDF.

Gavę NDF, konstruojame TNDF, prijungdami fiktyvius kintamuosius prie elementariųkonjunkcijų, naudodami logikos dėsnį F ∼ (F ∧ p) ∨ (F ∧ ¬p), kur F –– bet kokiaformulė, o p –– trūkstamas kintamasis:

(q ∧ ¬p) ∨ (¬r ∧ ¬p) ∨ (¬r ∧ ¬q) ∼ (¬p ∧ q) ∨ (¬p ∧ ¬r) ∨ (¬q ∧ ¬r) ∼

70

Page 73: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

∼ (¬p∧q∧r)∨(¬p∧q∧¬r)∨(¬p∧q∧¬r)∨(¬p∧¬q∧¬r)∨(p∧¬q∧¬r)∨(¬p∧¬q∧¬r) ∗∼∗∼ (¬p ∧ q ∧ r) ∨ (¬p ∧ q ∧ ¬r) ∨ (¬p ∧ ¬q ∧ ¬r) ∨ (p ∧ ¬q ∧ ¬r)

Vietoje, pažymėtoje ∗, išbraukiame pasikartojančius narius.Matome, jog gavome tą pačią TNDF, kaip ir 7.1 uždavinio 1 dalyje.Dabar sudarysime NKF ir TNKF. Pirmi du žingsniai sutampa su NDF sudarymo žings-niais (pašalinti visas operacijas, išskyrus ¬, ∧ ir ∨, ir įkelti neigimą į skliaustus). Po jųgauname (žr. aukščiau) (q∨¬r)∧ (¬p∨¬q). Trečiame žingsnyje vėl reikėtų taikyti tuospačius abu distributyvumo dėsnius, bet į kitą pusę. Šiuo konkrečiu atveju to neprireiks,nes gauta formulė (q ∨ ¬r) ∧ (¬p ∨ ¬q) jau yra NKF.Kad gautume TNKF, prijungiame fiktyvius kintamuosius prie elementarių disjunkcijų,naudodami logikos dėsnį F ∼ (F ∨ p) ∧ (F ∨ ¬p), kur F –– bet kokia formulė, o p ––trūkstamas kintamasis:

(q ∨ ¬r) ∧ (¬p ∨ ¬q) ∼∼ (p ∨ q ∨ ¬r) ∧ (¬p ∨ q ∨ ¬r) ∧ (¬p ∨ ¬q ∨ r) ∧ (¬p ∨ ¬q ∨ ¬r).

Kaip ir reikėjo tikėtis, gavome tą pačią TNKF, kaip ir 7.1 uždavinio 2 dalyje.2. Visų pirma konstruojame NDF:

(a) Pašaliname visas operacijas, išskyrus ¬, ∧ ir ∨, ir suprastiname (pašalinameskliaustus):

¬(p ∧ (q ∨ r)

)→((p ∧ q) ∨ r

)∼

∼(p ∧ (q ∨ r)

)∨((p ∧ q) ∨ r

)∼

∼(p ∧ (q ∨ r)

)∨ (p ∧ q) ∨ r

(b) Įkeliame neigimą į skliaustus. Nieko daryti nereikia, nes formulėje nėra neigimoprieš skliaustus.

(c) Taikome distributyvumo dėsnius — įkeliame p į skliaustus:(p ∧ (q ∨ r)

)∨ (p ∧ q) ∨ r ∼

((p ∧ q) ∨ (p ∧ r)

)∨ (p ∧ q) ∨ r ∗∼

∗∼ (p ∧ q) ∨ (p ∧ r) ∨ (p ∧ q) ∨ r ∗∗∼ (p ∧ q) ∨ r.Vietoje, pažymėtoje ∗, prastiname — pašaliname nereikalingus skliaustus. Vieto-je, pažymėtoje ∗∗, taikomi absorbavimo ir idempotencijos dėsniai. Gavome NDF.

Dabar konstruosime TNDF. Elementariąją konjunkciją p ∧ q papildome kintamuoju r,elementariąją konjunkciją r papildome iš pradžių kintamuoju p, paskui kintamuoju q:

(p ∧ q) ∨ r ∼ (p ∧ q ∧ r) ∨ (p ∧ q ∧ ¬r) ∨ (p ∧ r) ∨ (¬p ∧ r) ∼

∼ (p ∧ q ∧ r) ∨ (p ∧ q ∧ ¬r) ∨ (p ∧ q ∧ r) ∨ (p ∧ ¬q ∧ r) ∨ (¬p ∧ q ∧ r) ∨ (¬p ∧ ¬q ∧ r) ∗∼∗∼ (p ∧ q ∧ r) ∨ (p ∧ q ∧ ¬r) ∨ (p ∧ ¬q ∧ r) ∨ (¬p ∧ q ∧ r) ∨ (¬p ∧ ¬q ∧ r)

Vietoje, pažymėtoje ∗, išbraukiame pasikartojančius narius. Gavome TNDF.Dabar sudarysime NKF ir TNKF. Pirmi du žingsniai sutampa su NDF sudarymo žings-niais (pašalinti visas operacijas, išskyrus ¬, ∧ ir ∨, ir įkelti neigimą į skliaustus). Pojų gauname (žr. aukščiau)

(p∧ (q ∨ r)

)∨ (p∧ q)∨ r. Taikome distributyvumo dėsnius.

Vėl galime taikyti abu distributyvumo dėsnius:

71

Page 74: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

• p ∧ (q ∨ r) ∼ (p ∧ q) ∨ (p ∧ r) ir• p ∨ (q ∧ r) ∼ (p ∨ q) ∧ (p ∨ r).

Tik dabar juos taikome į kitą pusę, t.y., pirmąjį — iš dešinės į kairę, o antrąjį — iš kairėsį dešinę. Pirmąjį galime taikyti tik tuo atveju, kai kas nors kartojasi. Pavyzdžiui, šiuoatveju kintamasis p kartojasi pirmuose dviejuose skliaustuose, todėl jį galima iškelti irsuprastinti gautą formulę (pašalinti nereikalingus skliaustus ir pritaikyti idempotencijosdėsnį): (

p ∧ (q ∨ r))∨ (p ∧ q) ∨ r ∼

∼((p ∧ (q ∨ r)

)∨ (p ∧ q)

)∨ r ∼

∼(p ∧

((q ∨ r) ∨ q

))∨ r ∼

∼(p ∧ (q ∨ r ∨ q)

)∨ r ∼

∼(p ∧ (q ∨ r)

)∨ r.

Dabar įkelkime r į skliaustus ir suprastinkime:(p ∧ (q ∨ r)

)∨ r ∼

∼ (p ∨ r) ∧((q ∨ r) ∨ r

)∼

∼ (p ∨ r) ∧ (q ∨ r ∨ r) ∼

∼ (p ∨ r) ∧ (q ∨ r).

Gavome NKF. Pabandykime pažiūrėti, kaip skaičiuotume, jei nebūtume pastebėję, kadpirmuose dviejuose skliaustuose kartojasi kintamasis p. Tada antrojo žingsnio metugautai formulei

(p ∧ (q ∨ r)

)∨ (p ∧ q) ∨ r taikytume antrąjį distributyvumo dėsnį,

t. y. ką nors įkeltume į kokius nors skliaustus. Iš esmės, įkelti galima bet ką į betkokius skliaustus, vis tiek galų gale gausime tą patį, pavyzdžiui, šiuo atveju galime įpirmuosius skliaustus įkelti antruosius, arba trečiąjį narį r, arba sugrupuoti antruosiussu r ir įkelti viską iš karto, arba į antruosius skliaustus įkelti pirmuosius, arba trečiąjįnarį r, arba sugrupuoti pirmuosius su r ir įkelti viską iš karto. Paprastai įkeliame tąir ten, kur didžiausias šansas, kad kažkas susiprastins, pavyzdžiui, jei yra ir koks norskintamasis, ir jo neiginys. Šiuo atveju kažkokio susiprastinimo iš anksto nematyti, todėlįkelkime, pavyzdžiui, r į antruosius skliaustus, o likusius įkėlimo būdus pabandykiteatlikti savarankiškai. Gausime:(p∧ (q∨ r)

)∨((p∧ q)∨ r

)∼(p∧ (q∨ r)

)∨((p∨ r)∧ (q∨ r)

) ∗∼ (p∨ (p∨ r))∧ (q∨ r) ∼

∼ (p ∨ p ∨ r) ∧ (q ∨ r) ∼ (p ∨ r) ∧ (q ∨ r)

Vietoje, pažymėtoje ∗, taikome pirmąjį distributyvumo dėsnį — iškeliame q ∨ r priešskliaustus.Gavome tą pačią NKF. Analogiškai TNDF atvejui, konstruojame TNKF:

(p ∨ r) ∧ (q ∨ r) ∼ (p ∨ q ∨ r) ∧ (p ∨ ¬q ∨ r) ∧ (p ∨ q ∨ r) ∧ (¬p ∨ q ∨ r) ∗∼

72

Page 75: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

∗∼ (p ∨ q ∨ r) ∧ (p ∨ ¬q ∨ r) ∧ (¬p ∨ q ∨ r)

Vietoje, pažymėtoje ∗, išbraukiame pasikartojančius narius. Gavome TNKF.

Pastaba: Dar pažiūrėkime, kaip atrodytų trečiasis TNKF sudarymo žingsnis, jei taikytumetik antrąjį distributyvumo dėsnį. Įkelkime r į skliaustus:(

p ∧ (q ∨ r))∨((p ∧ q) ∨ r

)∼(p ∧ (q ∨ r)

)∨((p ∨ r) ∧ (q ∨ r)

) ∗∼∗∼(p ∨

((p ∨ r) ∧ (q ∨ r)

))∧((q ∨ r) ∨

((p ∨ r) ∧ (q ∨ r)

)) ∗∗∼∗∗∼(p ∨ (p ∨ r)

)∧(p ∨ (q ∨ r)

)∧((q ∨ r) ∨ (p ∨ r)

)∧((q ∨ r) ∨ (q ∨ r)

)∼

∼ (p∨p∨r)∧(p∨q∨r)∧(q∨r∨p∨r)∧(q∨r∨q∨r) ∼ (p∨r)∧(p∨q∨r)∧(p∨q∨r)∧(q∨r) ∼

∼ (p ∨ r) ∧ (p ∨ q ∨ r) ∧ (q ∨ r) ∗∗∗∼ (p ∨ r) ∧ (q ∨ r)

Vietoje, pažymėtoje ∗, taikome distributyvumo dėsnį — antruosius didžiuosius skliaustusįkeliame į pirmuosius. Vietoje, pažymėtoje ∗∗, distributyvumo dėsnį taikome du kartus —pirmuosiuose didžiuosiuose skliaustuose į skliaustus įkeliame p, o antruosiuose — q∨r. Vietoje,pažymėtoje ∗∗∗, taikome absorbavimo dėsnį.Matome, kad gavome tą patį rezultatą, bet skaičiavimai buvo žymiai sudėtingesni. Taigi, pir-mojo distributyvumo dėsnio galime ir netaikyti, užtenka antrojo, bet pirmojo dėsnio taikymaskai kuriais atvejais gali palengvinti skaičiavimus.

73

Page 76: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždaviniai savarankiškam darbuiUždavinys 7.3. Raskite loginės formulės (p↔ q)↔ r TNKF, naudodamiesi logikos dėsniais.

Uždavinys 7.4. Raskite duotųjų loginių formulių NDF, TNDF, NKF, TNKF dviem būdais:naudodamiesi teisingumo reikšmių lentele ir naudodamiesi logikos dėsniais. Taip pat pagalformulės TNDF užrašykite jos TNKF ir atvirkščiai (žr. pastabą 69 puslapyje).

1. (p→ q) ∨ (¬p ∧ r),

2. (¬p→¬q)→((q ∧ r)→ (p ∧ r)

),

3. ¬((p ∧ q)→ p

)∨(p ∧ (q ∨ r)

),

4. (r→ p)→(¬(q ∨ r)→ p

).

Uždavinys 7.5. Duota loginės formulės NDF. Raskite jos TNKF.

1. p ∨ (q ∧ r),2. p ∨ ¬q ∨ ¬r.

Uždavinys 7.6. Duota loginės formulės NKF. Raskite jos TNDF.

1. (p ∨ q ∨ r) ∧ (¬p ∨ ¬q ∨ r) ∧ (¬p ∨ q ∨ ¬r) ∧ (p ∨ ¬q ∨ ¬r),2. p ∧ q ∧ (¬p ∨ ¬q).

74

Page 77: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždavinių savarankiškam darbui sprendimai arba atsa-kymai

Uždavinio 7.3 sprendimas ir atsakymas: Konstruojame NKF:

1. Pašaliname visas operacijas, išskyrus ¬, ∧ ir ∨:

(p↔ q)↔ r ∼((p→ q) ∧ (q→ p)

)↔ r ∼

((¬p ∨ q) ∧ (¬q ∨ p)

)↔ r ∼

∼((

(¬p ∨ q) ∧ (¬q ∨ p))→ r

)∧(r→

((¬p ∨ q) ∧ (¬q ∨ p)

))∼

∼(¬((¬p ∨ q) ∧ (¬q ∨ p)

)∨ r

)∧(¬r ∨

((¬p ∨ q) ∧ (¬q ∨ p)

))∼

2. Įkeliame neigimą į skliaustus:(¬((¬p ∨ q) ∧ (¬q ∨ p)

)∨ r

)∧(¬r ∨

((¬p ∨ q) ∧ (¬q ∨ p)

))∼

∼(¬(¬p ∨ q) ∨ ¬(¬q ∨ p) ∨ r

)∧(¬r ∨

((¬p ∨ q) ∧ (¬q ∨ p)

))∼

∼(

(p ∧ ¬q) ∨ (q ∧ ¬p) ∨ r)∧(¬r ∨

((¬p ∨ q) ∧ (¬q ∨ p)

))3. Taikome distributyvumo dėsnius:(

(p ∧ ¬q) ∨ (q ∧ ¬p) ∨ r)∧(¬r ∨

((¬p ∨ q) ∧ (¬q ∨ p)

)) ∗∼

∗∼(

(p ∧ ¬q) ∨((q ∨ r) ∧ (¬p ∨ r)

))∧ (¬r ∨ ¬p ∨ q) ∧ (¬r ∨ ¬q ∨ p) ∗∗∼

∗∗∼((p ∧ ¬q) ∨ q ∨ r

)∧((p ∧ ¬q) ∨ ¬p ∨ r

)∧ (¬r ∨ ¬p ∨ q) ∧ (¬r ∨ ¬q ∨ p) ∗∗∗∼

∗∗∗∼((

(p∨q)∧(¬q∨q))∨r)∧((

(p∨¬p)∧(¬q∨¬p))∨r)∧(¬r∨¬p∨q)∧(¬r∨¬q∨p) ∼

∼ (p ∨ q ∨ r) ∧ (¬q ∨ ¬p ∨ r) ∧ (¬r ∨ ¬p ∨ q) ∧ (¬r ∨ ¬q ∨ p) †∼†∼ (p ∨ q ∨ r) ∧ (¬p ∨ ¬q ∨ r) ∧ (¬p ∨ q ∨ ¬r) ∧ (p ∨ ¬q ∨ ¬r)

Vietoje, pažymėtoje ∗, du kartus taikome distributyvumo dėsnį — pirmuosiuose di-džiuosiuose skliaustuose r įkeliame į antruosius mažuosius skliaustus, o antruosiuosedidžiuosiuose skliaustuose ¬r įkeliame į skliaustus. Antruosiuose didžiuosiuose skliaus-tuose lieka konjunkcija, tarp didžiųjų skliaustų taip pat yra konjunkcija, taigi antriejididieji skliaustai yra nebūtini. Juose gauname dvi elementariąsias disjunkcijas, taigitolesnių pertvarkymų reikia tik pirmuosiuose didžiuosiuose skliaustuose. Vietoje, pa-žymėtoje ∗∗, taikome distributyvumo dėsnį — p ∧ ¬q įkeliame į skliaustus. Vietoje,pažymėtoje ∗∗∗, distributyvumo dėsnį taikome du kartus — pirmuosiuose skliaustuoseq įkeliame į mažuosius skliaustus, antruosiuose skliaustuose ¬p įkeliame į mažuosiusskliaustus. Vietoje, pažymėtoje †, paprasčiausiai sukeičiame kintamuosius vietomiskiekvienoje elementarioje disjunkcijoje taip, kad kintamųjų vardai būtų išdėstyti pagalabėcėlę.

75

Page 78: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Bandydami surasti NKF gavome iš karto TNKF, taigi daugiau nieko daryti nereikia.

Uždavinio 7.4 sprendimas ir atsakymai:

1. Čia ir toliau pažymėtos interpretacijos, skirtos užrašyti TNDF. Nepažymėtos interpre-tacijos skirtos TNKF.

p q r p→ q ¬p ¬p ∧ r (p→ q) ∨ (¬p ∧ r)t t t t k k tt t k t k k tt k t k k k kt k k k k k kk t t t t t tk t k t t k tk k t t t t tk k k t t k t

TNDF: (p∧q∧r)∨(p∧q∧¬r)∨(¬p∧q∧r)∨(¬p∧q∧¬r)∨(¬p∧¬q∧r)∨(¬p∧¬q∧¬r).TNKF: (¬p ∨ q ∨ r) ∧ (¬p ∨ q ∨ ¬r).

(p→ q) ∨ (¬p ∧ r) ∼ ¬p ∨ q ∨ (¬p ∧ r) ∼ ¬p ∨ (¬p ∧ r) ∨ q ∼ ¬p ∨ q

Gautoji formulė yra ir NDF, ir NKF. Belieka tik prirašyti trūkstamus narius. TNDF:

¬p ∨ q ∼

∼ (¬p ∧ q ∧ r) ∨ (¬p ∧ q ∧ ¬r) ∨ (¬p ∧ ¬q ∧ r) ∨ (¬p ∧ ¬q ∧ ¬r)∨

∨(p ∧ q ∧ r) ∨ (p ∧ q ∧ ¬r) ∨ (¬p ∧ q ∧ r) ∨ (¬p ∧ q ∧ ¬r) ∼

(p∧ q ∧ r)∨ (p∧ q ∧¬r)∨ (¬p∧ q ∧ r)∨ (¬p∧ q ∧¬r)∨ (¬p∧¬q ∧ r)∨ (¬p∧¬q ∧¬r)

TNKF:¬p ∨ q ∼ (¬p ∨ q ∨ r) ∧ (¬p ∨ q ∨ ¬r)

2. Tegu Q(p, q, r) = (¬p→¬q)→((q ∧ r)→ (p ∧ r)

).

p q r ¬p ¬q ¬p→¬q q ∧ r p ∧ r (q ∧ r)→ (p ∧ r) Q(p, q, r)t t t k k t t t t tt t k k k t k k t tt k t k t t k t t tt k k k t t k k t tk t t t k k t k k tk t k t k k k k t tk k t t t t k k t tk k k t t t k k t t

TNDF: (p ∧ q ∧ r) ∨ (p ∧ q ∧ ¬r) ∨ (p ∧ ¬q ∧ r) ∨ (p ∧ ¬q ∧ ¬r) ∨ (¬p ∧ q ∧ r) ∨ (¬p ∧q ∧ ¬r) ∨ (¬p ∧ ¬q ∧ r) ∨ (¬p ∧ ¬q ∧ ¬r).TNKF: nėra, nes formulė tapačiai teisinga.

(¬p→¬q)→((q∧r)→(p∧r)

)∼ ¬(p∨¬q)∨

(¬(q∧r)∨(p∧r)

)∼ (¬p∧q)∨¬q∨¬r∨(p∧r).

76

Page 79: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Antras žingsnis baigtas. Gauta formulė jau yra NDF. Papildome elementarias konjunk-cijas trūkstamais kintamaisiais, iš besikartojančių elementarių konjunkcijų paliekametik vieną:

(¬p ∧ q) ∨ ¬q ∨ ¬r ∨ (p ∧ r) ∼

∼ (¬p ∧ q ∧ r) ∨ (¬p ∧ q ∧ ¬r) ∨ (p ∧ ¬q ∧ r) ∨ (p ∧ ¬q ∧ ¬r)∨

∨(¬p ∧ ¬q ∧ r) ∨ (¬p ∧ ¬q ∧ ¬r) ∨ (p ∧ q ∧ ¬r) ∨ (p ∧ ¬q ∧ ¬r)∨

∨(¬p ∧ q ∧ ¬r) ∨ (¬p ∧ ¬q ∧ ¬r) ∨ (p ∧ q ∧ r) ∨ (p ∧ ¬q ∧ r) ∼

∼ (¬p ∧ q ∧ r) ∨ (¬p ∧ q ∧ ¬r) ∨ (p ∧ ¬q ∧ r) ∨ (p ∧ ¬q ∧ ¬r)∨

∨(¬p ∧ ¬q ∧ r) ∨ (¬p ∧ ¬q ∧ ¬r) ∨ (p ∧ q ∧ ¬r) ∨ (p ∧ q ∧ r).

Gavome TNDF.Kad gautume NKF, trečiajame žingsnyje taikome distributyvumo dėsnius antrojo žings-nio metu gautai formulei:

(¬p ∧ q) ∨ ¬q ∨ ¬r ∨ (p ∧ r) ∼

∼((¬p ∧ q) ∨ ¬q

)∨(¬r ∨ (p ∧ r)

)∼

∼((¬p ∨ ¬q) ∧ (q ∨ ¬q)

)∨((¬r ∨ p) ∧ (¬r ∨ r)

)∼

∼((¬p ∨ ¬q) ∧ t

)∨((¬r ∨ p) ∧ t

)∼

∼ (¬p ∨ ¬q) ∨ (¬r ∨ p) ∼

∼ ¬p ∨ ¬q ∨ ¬r ∨ p ∼ (¬p ∨ p) ∨ ¬q ∨ ¬r ∼ t ∨ (¬q ∨ ¬r) ∼ t.

Gavome, kad formulė yra tapačiai teisinga, o tapačiai teisingos formulės neturi TNKF.3. Tegu Q(p, q, r) = ¬

((p ∧ q)→ p

)∨(p ∧ (q ∨ r)

).

p q r p ∧ q (p ∧ q)→ p ¬((p ∧ q)→ p

)q ∨ r p ∧ (q ∨ r) Q(p, q, r)

t t t t t k t t tt t k t t k t t tt k t k t k t t tt k k k t k k k kk t t k t k t k kk t k k t k t k kk k t k t k t k kk k k k t k k k k

TNDF: (p ∧ q ∧ r) ∨ (p ∧ q ∧ ¬r) ∨ (p ∧ ¬q ∧ r).TNKF: (p ∨ q ∨ r) ∧ (p ∨ q ∨ ¬r) ∧ (p ∨ ¬q ∨ r) ∧ (p ∨ ¬q ∨ ¬r) ∧ (¬p ∨ q ∨ r).

¬((p∧q)→p

)∨(p∧(q∨r)

)∼ ¬

(¬(p∧q)∨p

)∨(p∧(q∨r)

)∼ ¬(¬p∨¬q∨p)∨

(p∧(q∨r)

)∼

∼ ¬t ∨(p ∧ (q ∨ r)

)∼ k ∨

(p ∧ (q ∨ r)

)∼ p ∧ (q ∨ r)

Gavome NKF. Siekiant gauti TNKF beliko tik prirašyti trūkstamus narius:

p∧(q∨r) ∼ (p∨q∨r)∧(p∨q∨¬r)∧(p∨¬q∨r)∧(p∨¬q∨¬r)∧(p∨q∨r)∧(¬p∨q∨r) ∼

77

Page 80: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

∼ (p ∨ q ∨ r) ∧ (p ∨ q ∨ ¬r) ∧ (p ∨ ¬q ∨ r) ∧ (p ∨ ¬q ∨ ¬r) ∧ (¬p ∨ q ∨ r)Norint gauti NDF o po to TNDF, pirmiausia reikia pritaikyti distributyvumo dėsnį:

p ∧ (q ∨ r) ∼ (p ∧ q) ∨ (p ∧ r) ∼ (p ∧ q ∧ r) ∨ (p ∧ q ∧ ¬r) ∨ (p ∧ q ∧ r) ∨ (p ∧ ¬q ∧ r) ∼

∼ (p ∧ q ∧ r) ∨ (p ∧ q ∧ ¬r) ∨ (p ∧ ¬q ∧ r)

4. Teisingumo lentelė:p q r r→ p q ∨ r ¬(q ∨ r) ¬(q ∨ r)→ p (r→ p)→

(¬(q ∨ r)→ p

)t t t t t k t tt t k t t k t tt k t t t k t tt k k t k t t tk t t k t k t tk t k t t k t tk k t k t k t tk k k t k t k k

TNDF: (p ∧ q ∧ r) ∨ (p ∧ q ∧ ¬r) ∨ (p ∧ ¬q ∧ r) ∨ (p ∧ ¬q ∧ ¬r) ∨ (¬p ∧ q ∧ r) ∨ (¬p ∧q ∧ ¬r) ∨ (¬p ∧ ¬q ∧ r).TNKF: p ∨ q ∨ r.

(r→p)→(¬(q∨r)→p

)∼ ¬(¬r∨p)∨q∨r∨p ∼ (r∧¬p)∨r∨q∨p ∼ r∨q∨p ∼ p∨q∨r

Gavome NDF ir kartu TNKF. Norėdami gauti TNDF turime prirašyti trūkstamusnarius:

p ∨ q ∨ r ∼∼ (p ∧ q ∧ r) ∨ (p ∧ q ∧ ¬r) ∨ (p ∧ ¬q ∧ r) ∨ (p ∧ ¬q ∧ ¬r)∨∨(p ∧ q ∧ r) ∨ (p ∧ q ∧ ¬r) ∨ (¬p ∧ q ∧ r) ∨ (¬p ∧ q ∧ ¬r)∨∨(p ∧ q ∧ r) ∨ (p ∧ ¬q ∧ r) ∨ (¬p ∧ q ∧ r) ∨ (¬p ∧ ¬q ∧ r) ∼

∼ (p∧q∧r)∨(p∧q∧¬r)∨(p∧¬q∧r)∨(p∧¬q∧¬r)∨(¬p∧q∧r)∨(¬p∧q∧¬r)∨(¬p∧¬q∧r)

Uždavinio 7.5 sprendimas ir atsakymai:

1. Pirmiausia reikia užrašyti loginės formulės TNDF:

p∨(q∧r) ∼ (p∧q∧r)∨(p∧q∧¬r)∨(p∧¬q∧r)∨(p∧¬q∧¬r)∨(p∧q∧r)∨(¬p∧q∧r) ∼

∼ (p ∧ q ∧ r) ∨ (p ∧ q ∧ ¬r) ∨ (p ∧ ¬q ∧ r) ∨ (p ∧ ¬q ∧ ¬r) ∨ (¬p ∧ q ∧ r)Taigi, ši loginė formulė yra klaidinga su trimis interpretacijomis: p = k, q = t, r = k;p = k, q = k, r = t ir p = k, q = k, r = k. Belieka užrašyti po elementariąją disjunkcijąšioms interpretacijoms:

(p ∨ ¬q ∨ r) ∧ (p ∨ q ∨ ¬r) ∧ (p ∨ q ∨ r)

2. Ši forma yra NDF iš trijų elementariųjų konjunkcijų, kurių kiekviena susideda iš vienokintamojo arba jo neiginio. Kita vertus, tai kartu yra ir TNKF iš vienos elementariosiosdisjunkcijos, turinčios tris kintamuosius arba jų neiginius. Taigi uždavinys išspręstasnet jo nesprendžiant.

78

Page 81: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždavinio 7.6 sprendimas ir atsakymai:

1. Duotoji loginė formulė yra TNKF, pagal kurią galima spręsti, kad formulė klaidinga suketuriomis interpretacijomis: p = k, q = k, r = k; p = t, q = t, r = k; p = t, q = k,r = t ir p = k, q = t, r = t. Vadinasi su likusiomis keturiomis ji yra teisinga: p = t,q = t, r = t; p = t, q = k, r = k; p = k, q = t, r = k ir p = k, q = k, r = t. Beliekaužrašyti po elementarią konjunkciją kiekvienai iš šių interpretacijų:

(p ∧ q ∧ r) ∨ (p ∧ ¬q ∧ ¬r) ∨ (¬p ∧ q ∧ ¬r) ∨ (¬p ∧ ¬q ∧ r)

2. Pirmiausia raskime loginės formulės TNKF:

p ∧ q ∧ (¬p ∨ ¬q) ∼ (p ∨ q) ∧ (p ∨ ¬q) ∧ (p ∨ q) ∧ (¬p ∨ q) ∧ (¬p ∨ ¬q) ∼

∼ (p ∨ q) ∧ (p ∨ ¬q) ∧ (¬p ∨ q) ∧ (¬p ∨ ¬q)

Ši loginė formulė klaidinga su visomis keturiomis interpretacijomis. Taigi, ji yra tapačiaiklaidinga, o tapačiai klaidingos formulės TNDF neturi.

79

Page 82: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

8 pratybos

Normaliosios formos II.Esminiai ir fiktyvūs kintamieji.Kontaktinės schemos

Teorinė medžiaga: III dalies 1–3 skyriai.

Uždaviniai pratybomsUždavinys 8.1. Nustatykite, kurie loginiai kintamieji esminiai, kurie fiktyvūs duotoje logi-nėje formulėje. Raskite ekvivalenčią formulę, kurioje būtų tik esminiai kintamieji.

1. Formulė duota teisingumo reikšmių lentele:p q r Q(p, q, r)t t t tt t k tt k t tt k k tk t t tk t k tk k t kk k k k

2. Q(p, q, r) :=(q | (p⊕ p)

)→¬r

Sprendimas.

1. Imame tas interpretacijų poras, kuriose skiriasi tik tikrinamo kintamojo reikšmė, o kitųkintamųjų reikšmės lieka tos pačios. Jei rasime bent vieną tokią interpretacijų porą, sukuria keičiasi ir formulės reikšmė, tai kintamasis bus esminis, o jei ne, tai fiktyvus.Patikrinkime, ar kintamasis p yra esminis. Reikės patikrinti 1 ir 5, 2 ir 6, 3 ir 7, 4 ir8 interpretacijų poras. Su 1 ir 5 interpretacijomis formulė įgyja tą pačią reikšmę — t,taip pat ir su 2 bei 6 interpretacijomis, o štai su 3 ir 7 interpretacijomis formulė įgyjaskirtingas reikšmes — t ir k. To ir užtenka, kad galėtume tvirtinti, kad kintamasis pyra esminis, likusios poros galime ir nebetikrinti.Tokiu pat būdu nustatome, kad ir kintamasis q yra esminis. Tikriname visas eilučiųporas (1 ir 3, 2 ir 4, 5 ir 7, 6 ir 8), kurios skiriasi tik kintamojo q reikšme. Matome,

80

Page 83: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

kad su 1 ir 3 interpretacijomis formulė įgyja tą pačią reikšmę, taip pat ir su 2 ir 4interpretacijomis, tačiau su 5 ir 7 interpretacijomis formulė įgyja skirtingas reikšmes.Dabar patikrinkime, ar kintamasis r yra esminis. Tikriname visas eilučių poras (1 ir2, 3 ir 4, 5 ir 6, 7 ir 8), kurios skiriasi tik kintamojo r reikšme. Matome, kad formulėsreikšmė nė vienoje iš šių porų nepasikeičia, todėl kintamasis r yra fiktyvus.Kad užrašytume ekvivalenčią formulę, kurioje būtų tik esminiai kintamieji, nutrinamenereikalingus stulpelius su fiktyviais kintamaisiais (t.y. šiuo atveju kintamojo r stulpelį),iš besikartojančių eilučių paliekame tik po vieną, ir gauname tokią teisingumo reikšmiųlentelę:

p q Q(p, q)t t tt k tk t tk k k

Pagal ją galima užrašyti formulės TNDF, TNKF, arba šiaip atspėti formulę. Šiuo atvejunesunku pastebėti, kad formulė bus p ∨ q. Jos TNDF (iš lentelės) būtų (p ∧ q) ∨ (p ∧¬q) ∨ (¬p ∧ q), o TNKF — p ∨ q (atsakymui užtenka nurodyti bet kurią iš šių trijųformulių).

2. Sudarome teisingumo reikšmių lentelę:p q r p⊕ p q | (p⊕ p) ¬r

(q | (p⊕ p)

)→¬r

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

• p — fiktyvus kintamasis (pagal 1 ir 5, 2 ir 6, 3 ir 7 bei 4 ir 8 eilučių poras).• q — fiktyvus kintamasis (pagal 1 ir 3, 2 ir 4, 5 ir 7 bei 6 ir 8 eilučių poras).• r — esminis kintamasis (1 ir 2 eilutės).

Išbraukę fiktyvius kintamuosius gauname tokią teisingumo reikšmių lentelę:r Q(r)t kk t

Formulė bus ¬r. Beje, įdomus faktas: šios formulės ir TNDF, ir TNKF yra ¬r (patik-rinkite patys, naudodami teisingumo reikšmių lentelę).

Pastaba: Prieš bandant nustatyti, ar kintamieji esminiai, galima bandyti duotą formulę supras-tinti. Jei prastinimo metu formulėje nelieka kurių nors kintamųjų, galime drąsiai tvirtinti (aišku,jei tik nepadarėm klaidų prastindami), kad jie buvo fiktyvūs. Bet apie likusius kintamuosius nie-ko pasakyti negalime. Galbūt jų irgi neliktų prastinant toliau. Taigi, suprastinus formulę, likusiųkintamųjų fiktyvumą vis tiek reikia tikrinti pagal apibrėžimą.

81

Page 84: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Pavyzdžiui, pastebėję, kad p⊕ p ∼ k (tuo galime įsitikinti, sudarę teisingumo reikšmių lentelę),duotą formulę galime suprastinti:(

q | (p⊕ p))→¬r ∼ (q | k)→¬r ∼ t→¬r ∼ ¬r

Kadangi gavome ekvivalenčią formulę, kurioje kintamųjų p ir q nebeliko, vadinasi, jie yra fiktyvūspradinėje formulėje. Kad nustatytume, ar likęs kintamasis r yra esminis, sudarome teisingumoreikšmių lentelę:

r ¬r

t kk t

Ir patikriname pagal apibrėžimą: r yra esminis, nes 1 ir 2 eilutėse skiriasi vien tik kintamojo rreikšmė, o formulės reikšmė irgi skiriasi.

Uždavinys 8.2. Nubrėžkite formulės (p⊕ q)→¬(¬p | r) kontaktinę schemą.Sprendimas. Prisiminkime, kad mokame nubrėžti kontaktinę schemą tik formulei, kurioje yratik konjunkcija, disjunkcija, ir neigimai prie kintamųjų. Tada konjunkciją atitinka nuosekluskontaktinių elementų jungimas, o disjunkciją — lygiagretus. Todėl iš pradžių reikia pertvar-kyti formulę: pašalinti kitas operacijas ir įkelti neigimą į skliaustus (t. y. atlikti normaliųjųformų sudarymo pirmuosius du žingsnius).

(p⊕ q)→¬(¬p | r) ∼ ¬(p↔ q)→ (¬p ∧ r) ∼ (p↔ q) ∨ (¬p ∧ r) ∼((p→ q) ∧ (q→ p)

)∨ (¬p ∧ r) ∼

((¬p ∨ q) ∧ (¬q ∨ p)

)∨ (¬p ∧ r).

O dabar galime nubrėžti kontaktinę schemą:

¬p

q

¬q

p

¬p r

Uždavinys 8.3. Suprastinkite kontaktinę schemą, laikydami, kad paprastesnė yra ta schema,kuri turi mažiau kontaktinių elementų.

x

x

¬y

y

¬z

¬y

z

Sprendimas. Kad galėtume suprastinti, užrašome formulę, atitinkančią duotąją schemą, jąsuprastiname, ir nubrėžiame suprastintos formulės schemą.

x ∨((x ∨ ¬y) ∧ (y ∨ ¬z)

)∨ ¬y ∨ z ∗∼ (x ∨ ¬y) ∨

((x ∨ ¬y) ∧ (y ∨ ¬z)

)∨ z ∗∗∼

82

Page 85: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

∗∗∼ (x ∨ ¬y) ∨ z ∼ x ∨ ¬y ∨ z

Vietoje, pažymėtoje ∗, tiesiog pergrupuojame disjunkcijos elementus. Vietoje, pažymėtoje∗∗, taikome absorbavimo dėsnį.

Liko trys kontaktiniai elementai, atitinkantys narius x, ¬y ir z. Labiau suprastinti nepa-vyks, nes visi trys kintamieji šioje formulėje yra esminiai (patikriname tai, kaip 8.1 užduotyje.Šiuo atveju visos teisingumo reikšmių lentelės sudaryti net ir nereikės, užteks pastebėti, kadpagal disjunkcijos savybes loginė formulė x∨¬y∨ z yra klaidinga su vienintele interpretacijap = k, q = t, r = k, todėl jei joje pakeisime kurio nors kintamojo reikšmę, formulės reikšmėpasikeis (nes su bet kuria kita interpretacija formulės reikšmė yra t). Pagal esminio kinta-mojo apibrėžimą tai ir reiškia, kad bet kuris tos formulės kintamasis yra esminis), todėl jųpašalinti negalėsime.

Taigi, suprastinta kontaktinė schema bus tokia:

x

¬y

z

Pastaba: Šią formulę galima prastinti ir įvairiais kitais būdais, pavyzdžiui, galima pirmiausiaįkelti ¬y į didžiuosius skliaustus (taikant distributyvumo dėsnį). Kadangi vienuose mažuosiuoseskliaustuose yra y, o kituose ¬y, galima tikėtis, kad jie susiprastins su įkeltuoju ¬y.

x∨((x∨¬y)∧(y∨¬z)

)∨¬y∨z ∼ x∨

((x∨¬y∨¬y)∧(y∨¬z∨¬y)

)∨z ∼ x∨

((x∨¬y)∧(¬z∨t)

)∨z ∼

∼ x ∨((x ∨ ¬y) ∧ t

)∨ z ∼ x ∨ (x ∨ ¬y) ∨ z ∼ x ∨ x ∨ ¬y ∨ z ∼ x ∨ ¬y ∨ z.

Uždavinys 8.4. Patikrinkite, ar loginės formulės p⊕¬q ir ¬p|q yra ekvivalenčios, suvesdamijas į TNKF (suveskite, naudodamiesi logikos dėsniais).Sprendimas. Loginės formulės yra logiškai ekvivalenčios tada ir tik tada, kai jų TNKF su-tampa (t. y. jų TNKF yra sudarytos iš tų pačių elementariųjų disjunkcijų).

Suvedame pirmąją formulę p⊕ ¬q į TNKF:

p⊕¬q ∼ ¬(p↔¬q) ∼ ¬((p→¬q)∧(¬q→p)

)∼ ¬

((¬p∨¬q)∧(q∨p)

)∼ ¬(¬p∨¬q)∨¬(q∨p) ∼

∼ (p∧q)∨(¬q∧¬p) ∼((p∧q)∨¬q

)∧((p∧q)∨¬p

)∼((p∨¬q)∧(q∨¬q)

)∧((p∨¬p)∧(q∨¬p)

)∼

∼((p ∨ ¬q) ∧ t

)∧(t ∧ (q ∨ ¬p)

)∼ (p ∨ ¬q) ∧ (q ∨ ¬p) ∼ (p ∨ ¬q) ∧ (¬p ∨ q).

Suvedame antrąją formulę ¬p | q į TNKF:

¬p | q ∼ ¬(¬p ∧ q) ∼ p ∨ ¬q.

Matome, kad šių formulių TNKF nesutampa, todėl formulės nėra ekvivalenčios.

Uždavinys 8.5. Raskite duotos loginės formulės NDF, TNDF, NKF, TNKF, naudodamiesilogikos dėsniais:

1.((p ∧ q)→¬r

)∧(r→¬(¬q→¬p)

).

83

Page 86: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

2. (¬p ∧ ¬q ∧ r) ∨ (p ∧ ¬q) ∨ (¬p ∧ ¬r).

Sprendimas.

1. Konstruojame NDF:

(a) Pašaliname visas operacijas, išskyrus ¬, ∧ ir ∨:((p ∧ q)→¬r

)∧(r→¬(¬q→¬p)

)∼(¬(p ∧ q) ∨ ¬r

)∧(¬r ∨ ¬(¬q→¬p)

)∼

∼(¬(p ∧ q) ∨ ¬r

)∧(¬r ∨ ¬(q ∨ ¬p)

)(b) Įkeliame neigimą į skliaustus:(

¬(p ∧ q) ∨ ¬r)∧(¬r ∨ ¬(q ∨ ¬p)

)∼(¬p ∨ ¬q ∨ ¬r

)∧(¬r ∨ (¬q ∧ p)

)(c) Taikome distributyvumo dėsnius:(

¬p ∨ ¬q ∨ ¬r)∧(¬r ∨ (¬q ∧ p)

) ∗∼ ¬r ∨ ((¬p ∨ ¬q) ∧ ¬q ∧ p) ∗∗∼ ¬r ∨ (¬q ∧ p)

Vietoje, pažymėtoje ∗, taikomas distributyvumo dėsnis — ¬r iškeliamas priešskliaustus. Vietoje, pažymėtoje ∗∗, taikomas absorbavimo dėsnis. Gavome NDF.

Gavę NDF, konstruojame TNDF:

¬r ∨ (¬q ∧ p) ∼

∼ (p∧q∧¬r)∨(p∧¬q∧¬r)∨(¬p∧q∧¬r)∨(¬p∧¬q∧¬r)∨(p∧¬q∧r)∨(p∧¬q∧¬r) ∗∼∗∼ (p ∧ q ∧ ¬r) ∨ (p ∧ ¬q ∧ ¬r) ∨ (¬p ∧ q ∧ ¬r) ∨ (¬p ∧ ¬q ∧ ¬r) ∨ (p ∧ ¬q ∧ r)

Vietoje, pažymėtoje ∗, išbraukiame pasikartojančius narius. Gavome TNDF.Dabar sudarysime NKF ir TNKF. Po dviejų pirmų NDF sudarymo žingsnių gauname(žr. aukščiau) (

¬p ∨ ¬q ∨ ¬r)∧(¬r ∨ (¬q ∧ p)

).

Trečiame žingsnyje taikome distributyvumo dėsnį — įkeliame ¬r į skliaustus:(¬p ∨ ¬q ∨ ¬r

)∧(¬r ∨ (¬q ∧ p)

)∼

∼(¬p ∨ ¬q ∨ ¬r

)∧((¬r ∨ ¬q) ∧ (¬r ∨ p)

) ∗∼∗∼ (¬p ∨ ¬q ∨ ¬r) ∧ (¬r ∨ ¬q) ∧ (¬r ∨ p) ∗∗∼

∗∗∼ (¬r ∨ ¬q) ∧ (¬r ∨ p).Vietoje, pažymėtoje ∗, prastiname — pašaliname nereikalingus skliaustus. Vietoje,pažymėtoje ∗∗, taikomas absorbavimo dėsnis. Gavome NKF.Kad gautume TNKF, prijungiame fiktyvius kintamuosius prie elementarių disjunkcijų:

(¬r ∨ ¬q) ∧ (¬r ∨ p) ∼

∼ (p ∨ ¬q ∨ ¬r) ∧ (¬p ∨ ¬q ∨ ¬r) ∧ (p ∨ q ∨ ¬r) ∧ (p ∨ ¬q ∨ ¬r) ∗∼∗∼ (p ∨ ¬q ∨ ¬r) ∧ (¬p ∨ ¬q ∨ ¬r) ∧ (p ∨ q ∨ ¬r).

Vietoje, pažymėtoje ∗, išbraukiame pasikartojančius narius. Gavome TNKF.

84

Page 87: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

2. Duota formulė jau yra NDF. Konstruojame TNDF, prijungdami fiktyvius kintamuosius:

(¬p ∧ ¬q ∧ r) ∨ (p ∧ ¬q) ∨ (¬p ∧ ¬r) ∼

(¬p ∧ ¬q ∧ r) ∨ (p ∧ ¬q ∧ r) ∨ (p ∧ ¬q ∧ ¬r) ∨ (¬p ∧ q ∧ ¬r) ∨ (¬p ∧ ¬q ∧ ¬r).

Gavome TNDF.Konstruojame NKF. Pirmų dviejų žingsnių atlikti nereikia, iškart galime pereiti priedistributyvumo dėsnių taikymo. Galima arba įkelti ką nors kur nors (pavyzdžiui, pir-mus skliaustus į antrus arba trečius, arba antrus į pirmus arba trečius, arba trečius įpirmus arba antrus, arba pirmus ir antrus kartu į trečius, arba pirmus ir trečius kar-tu į antrus, arba antrus ir trečius kartu į pirmus), arba iškelti pasikartojančius narius(pavyzdžiui, ¬q iš pirmų ir antrų skliaustų arba ¬p iš pirmų ir trečių). Pabandykime,pavyzdžiui, iškelti pasikartojantį narį ¬q iš pirmų ir antrų skliaustų (kitus būdus pa-bandykite savarankiškai. Įsitikinkite, kad visais atvejais gauname tą patį atsakymą).Visų pirma sugrupuojame (apskliaudžiame) pirmus ir antrus skliaustus:

(¬p ∧ ¬q ∧ r) ∨ (p ∧ ¬q) ∨ (¬p ∧ ¬r) ∼((¬p ∧ ¬q ∧ r) ∨ (p ∧ ¬q)

)∨ (¬p ∧ ¬r) ∼

Tada iškeliame ¬q:

∼(¬q ∧

((¬p ∧ r) ∨ p

))∨ (¬p ∧ ¬r) ∼

Įkelkime p į skliaustus ir suprastiname:

∼(¬q ∧

((¬p ∨ p) ∧ (r ∨ p)

))∨ (¬p ∧ ¬r) ∼

∼(¬q ∧

(t ∧ (r ∨ p)

))∨ (¬p ∧ ¬r) ∼

∼(¬q ∧ (r ∨ p)

)∨ (¬p ∧ ¬r) ∼

Iškelti dabar nėra ką, todėl įkelkime ¬p ∧ ¬r:

∼(¬q ∨ (¬p ∧ ¬r)

)∧((r ∨ p) ∨ (¬p ∧ ¬r)

)∼

Pirmuose skliaustuose įkeliame ¬q, antrus suprastiname — atskliaudžiame r ∨ p:

∼((¬q ∨ ¬p) ∧ (¬q ∨ ¬r)

)∧(r ∨ p ∨ (¬p ∧ ¬r)

)∼

Pirmus didžiuosius skliaustus panaikiname, o antruose įkeliame p ir suprastiname:

∼ (¬q ∨ ¬p) ∧ (¬q ∨ ¬r) ∧(r ∨

((p ∨ ¬p) ∧ (p ∨ ¬r)

))∼

∼ (¬q ∨ ¬p) ∧ (¬q ∨ ¬r) ∧(r ∨

(t ∧ (p ∨ ¬r)

))∼

∼ (¬q ∨ ¬p) ∧ (¬q ∨ ¬r) ∧(r ∨ (p ∨ ¬r)

)∼

∼ (¬q ∨ ¬p) ∧ (¬q ∨ ¬r) ∧ (r ∨ p ∨ ¬r) ∼∼ (¬q ∨ ¬p) ∧ (¬q ∨ ¬r) ∧ (r ∨ ¬r ∨ p) ∼

85

Page 88: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

∼ (¬q ∨ ¬p) ∧ (¬q ∨ ¬r) ∧ (t ∨ p) ∼

∼ (¬q ∨ ¬p) ∧ (¬q ∨ ¬r) ∧ t ∼

∼ (¬q ∨ ¬p) ∧ (¬q ∨ ¬r) ∼

Gavome NKF. Kad gautume TNKF, papildome trūkstamais kintamaisiais ir išbraukia-me pasikartojančius narius:

∼ (¬p ∨ ¬q ∨ r) ∧ (¬p ∨ ¬q ∨ ¬r) ∧ (p ∨ ¬q ∨ ¬r) ∧ (¬p ∨ ¬q ∨ ¬r) ∼

∼ (¬p ∨ ¬q ∨ r) ∧ (¬p ∨ ¬q ∨ ¬r) ∧ (p ∨ ¬q ∨ ¬r).

Gavome TNKF.

86

Page 89: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždaviniai savarankiškam darbuiUždavinys 8.6. Nustatykite, kurie loginiai kintamieji esminiai, kurie fiktyvūs duotose logi-nėse formulėse. Raskite ekvivalenčias formules, kuriose būtų tik esminiai kintamieji.

1. Formulė duota teisingumo reikšmių lentele:p q r Q(p, q, r)t t t kt t k tt k t kt k k tk t t kk t k kk k t kk k k k

2. (q ∧ p) ∨ (¬q ∧ r).

3. (p ∧ q) ∨ p.

4.((p | r)→ p

)∧ q.

Uždavinys 8.7. Nubrėžkite duotųjų formulių kontaktines schemas.

1.((x→ y) ∧ (y→ z)

)→ (x→ z),

2.(x→ (y→ z)

)→ (y→¬x),

3. (r ⊕ ¬q) | (q→ p).

Uždavinys 8.8. Suprastinkite kontaktines schemas, laikydami, kad paprastesnė yra ta sche-ma, kuri turi mažiau kontaktinių elementų.

1.x

y

z

u

x

y

u

x

z

2.y z

x ¬y z

¬x ¬y z

3.

87

Page 90: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

x

yx

¬y¬x

y z

¬yy ¬z

¬x ¬z

y zx ¬z

¬x

88

Page 91: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždavinių savarankiškam darbui sprendimai arba atsa-kymai

Uždavinio 8.6 sprendimas ir atsakymai:

1. Imame tas interpretacijų poras, kuriose skiriasi tik tikrinamo kintamojo reikšmė, o kitųkintamųjų reikšmės lieka tos pačios. Jei rasime bent vieną tokią interpretacijų porą, sukuria keičiasi ir formulės reikšmė, tai kintamasis bus esminis, o jei ne, tai fiktyvus.Patikrinkime, ar kintamasis p yra esminis. Reikės patikrinti 1 ir 5, 2 ir 6, 3 ir 7, 4 ir 8interpretacijų poras. Su 1 ir 5 interpretacijomis formulė įgyja tą pačią reikšmę — k, su2 ir 6 interpretacijomis formulė įgyja skirtingas reikšmes — t ir k. To ir užtenka, kadgalėtume tvirtinti, kad kintamasis p yra esminis, likusių porų galime ir nebetikrinti.Tokiu pat būdu nustatome, kad q — fiktyvus. Tai gauname, patikrinę visas eilučiųporas (1 ir 3, 2 ir 4, 5 ir 7, 6 ir 8), kurios skiriasi tik kintamoje q reikšme. Formulėsreikšmė nė vienoje iš šių porų nesikeičia.Taip pat nustatome, kad r — esminis (1 ir 2 eilutės).Kad užrašytume ekvivalenčią formulę, kurioje būtų tik esminiai kintamieji, nutrinamenereikalingus stulpelius su fiktyviais kintamaisiais (t.y. kintamojo q stulpelį), iš besikar-tojančių eilučių paliekame tik po vieną, ir gauname tokią teisingumo reikšmių lentelę:

p r Q(p, r)t t kt k tk t kk k k

Pagal ją galima užrašyti formulės TNDF, TNKF, arba šiaip atspėti formulę. Šiuo atvejunesunku pastebėti, kad formulė bus ¬(p→ r). Jos TNDF (iš lentelės) būtų (p ∧ ¬r), oTNKF — (¬p ∨ ¬r) ∧ (p ∨ ¬r) ∧ (p ∨ r) (atsakymui užtenka nurodyti bet kurią iš šiųtrijų formulių).

2. Sudarykime formulės teisingumo lentelę:p q r q ∧ p ¬q ¬q ∧ r (q ∧ p) ∨ (¬q ∧ r)t t t t k k tt t k t k k tt k t k t t tt k k k t k kk t t k k k kk t k k k k kk k t k t t tk k k k t k k

• p — esminis kintamasis (1 ir 5 eilutės).• q — esminis kintamasis (2 ir 4 eilutės).• r — esminis kintamasis (3 ir 4 eilutės).

Taigi, visi kintamieji esminiai.

89

Page 92: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

3. Pagal absorbcijos dėsnį turime, kad (p ∧ q) ∨ p ∼ p. Taigi, kintamasis q yra fiktyvus.Įsitikinti, kad p esminis galima pagal formulės Q(p) = p teisingumo lentelę:

p Q(p)t tk k

Taigi, esminis tik kintamasis p.4. Sudarykime formulės teisingumo lentelę:

p q r p | r (p | r)→ p((p | r)→ p

)∧ q

t t t k t tt t k t t tt k t k t kt k k t t kk t t t k kk t k t k kk k t t k kk k k t k k

• p — esminis kintamasis (1 ir 5 eilutės).• q — esminis kintamasis (1 ir 3 eilutės).• r — fiktyvus kintamasis (pagal 1 ir 2, 3 ir 4, 5 ir 6 bei 7 ir 8 eilučių poras).

Taigi, p ir q esminiai kintamieji, o r — fiktyvus.Šį uždavinį galima spręsti ir pirmiausia prastinant formulę:(

(p | r)→ p)∧ q ∼

(¬(p ∧ r)→ p

)∧ q ∼

((p ∧ r) ∨ p

)∧ q ∼ p ∧ q

Taigi, r kintamasis yra fiktyvus, o įsitikinti, kad p ir q esminiai užtenka žymiai mažesnėsteisingumo lentelės:

p q p ∧ qt t tt k kk t kk k k

Uždavinio 8.7 sprendimas ir atsakymai:

1. ((x→ y) ∧ (y→ z)

)→ (x→ z) ∼

((¬x ∨ y) ∧ (¬y ∨ z)

)→ (¬x ∨ z) ∼

∼ ¬((¬x ∨ y) ∧ (¬y ∨ z)

)∨ (¬x ∨ z) ∼

(¬(¬x ∨ y) ∨ ¬(¬y ∨ z)

)∨ (¬x ∨ z) ∼

∼((x ∧ ¬y) ∨ (y ∧ ¬z)

)∨ (¬x ∨ z) ∼ (x ∧ ¬y) ∨ (y ∧ ¬z) ∨ ¬x ∨ z

x ¬y

y ¬z

¬x

z

90

Page 93: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

2. (x→ (y→ z)

)→ (y→¬x) ∼ ¬(¬x ∨ ¬y ∨ z) ∨ ¬y ∨ ¬x ∼ (x ∧ y ∧ ¬z) ∨ ¬y ∨ ¬x

x y ¬z

¬y

¬x

3.

(r⊕¬q)|(q→p) ∼ ¬(r↔¬q)|(¬q∨p) ∼ ¬(¬(r↔¬q)∧(¬q∨p)

)∼ (r↔¬q)∨¬(¬q∨p) ∼

∼((r→¬q) ∧ (¬q→ r)

)∨ (q ∧ ¬p) ∼

((¬r ∨ ¬q) ∧ (q ∨ r)

)∨ (q ∧ ¬p)

¬r

¬q

q

r

q ¬p

Uždavinio 8.8 sprendimas ir atsakymai:

1.(x ∨ y ∨ z ∨ u) ∧ (x ∨ y ∨ u) ∧ (x ∨ z) ∼ x ∨

((y ∨ z ∨ u) ∧ (y ∨ u) ∧ z

)∼

∼ x∨((y∨u∨z)∧(y∨u∨k)∧z

) ∗∼ x∨((

(y∨u)∨(z∧k))∧z)∼ x∨

(((y∨u)∨k

)∧z)∼

∼ x ∨((y ∨ u) ∧ z

)Vietoje, pažymėtoje ∗, taikome distributyvumo dėsnį — y∨u iškeliame prieš skliaustus.Vėlgi, jei pastebėtume, kad čia galima pritaikyti absorbavimo dėsnį p ∧ (p ∨ q) ∼ p,tai atsakymą gautume žymiai greičiau. Iš tikro, šiuo atveju x ∨ y ∨ u būtų p, taigi,(x ∨ y ∨ z ∨ u) ∧ (x ∨ y ∨ u) būtų (p ∨ z) ∧ p, o tai ekvivalentu tiesiog p, t.y., x ∨ y ∨ u.Dėl to gautume:

(x ∨ y ∨ z ∨ u) ∧ (x ∨ y ∨ u) ∧ (x ∨ z) ∼ (x ∨ y ∨ u) ∧ (x ∨ z) ∼ x ∨((y ∨ u) ∧ z

)Suprastinta kontaktinė schema bus:

x

y

uz

2.

(y∧z)∨(x∧¬y∧z)∨(¬x∧¬y∧z) ∼(y∨(x∧¬y)∨(¬x∧¬y)

)∧z ∼

(y∨((x∨¬x)∧¬y

))∧z ∼

∼(y ∨ (t ∧ ¬y)

)∧ z ∼ (y ∨ ¬y) ∧ z ∼ t ∧ z ∼ z

91

Page 94: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

z

3. (x∧((y∧(x∨¬y)∧¬x

)∨(y∧z)

))∨(¬y∧

((y∧¬z)∨(¬x∧¬z)

))∨(y∧z∧

((x∧¬z)∨¬x

))∼

x∧((((y∧x)∨(y∧¬y))∧¬x

)∨(y∧z)

)∨(¬y∧(y∨¬x)∧¬z)∨(y∧z∧(x∨¬x)∧(¬z∨¬x)

)∼

x∧((((y∧x)∨k)∧¬x

)∨(y∧z)

)∨(((¬y∧y)∨(¬y∧¬x))∧¬z

)∨(y∧z∧t∧(¬z∨¬x)

)∼

∼(x ∧

((y ∧ x ∧ ¬x) ∨ (y ∧ z)

))∨((k ∨ (¬y ∧ ¬x)

)∧ ¬z

)∨(y ∧ z ∧ (¬z ∨ ¬x)

)∼

∼(x ∧

(k ∨ (y ∧ z)

))∨ (¬y ∧ ¬x ∧ ¬z) ∨

(y ∧

((z ∧ ¬z) ∨ (z ∧ ¬x)

))∼

∼ (x∧y∧z)∨(¬y∧¬x∧¬z)∨(y∧(k∨(z∧¬x)

))∼ (x∧y∧z)∨(¬y∧¬x∧¬z)∨(y∧z∧¬x) ∼

∼ (x∧ y ∧ z)∨ (¬x∧ y ∧ z)∨ (¬y ∧¬x∧¬z) ∼((x∨¬x)∧ y ∧ z

)∨ (¬y ∧¬x∧¬z) ∼

∼ (t ∧ y ∧ z) ∨ (¬y ∧ ¬x ∧ ¬z) ∼ (y ∧ z) ∨ (¬y ∧ ¬x ∧ ¬z)y z

¬y ¬x ¬z

92

Page 95: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

9 pratybos

Loginės išvados

Teorinė medžiaga: III dalies 4 skyrius.

Uždaviniai pratybomsUždavinys 9.1. Pagal apibrėžimą nustatyti, ar samprotavimas yra pagrįstas ir tinkamas.

1. p→ q ∴ ¬p→¬q,2. p ∧ q ∴ p ∨ q,3. ¬p | q, q,¬p⊕ ¬q ∴ ¬q→¬p.

Sprendimas.

1. Patikriname, ar su visomis interpretacijomis, su kuriomis prielaida teisinga, teisinga irišvada:

p q p→ q ¬p ¬q ¬p→¬qt t t k k tt k k k t tk t t t k kk k t t t t

Teisingumo lentelėje apibraukta samprotavimo prielaida, o paskutiniame stulpelyje pa-teikiama išvada. Pažymėtos tos interpretacijos, su kuriomis prielaida teisinga. Kaipmatome, tokių interpretacijų yra trys. Su dviem iš jų teisinga ir išvada, tačiau kaip = k, q = t, prielaida teisinga, o išvada ne. Taigi samprotavimas nėra pagrįstas. Kitavertus, prielaida ne visada yra klaidinga, taigi samprotavimas tinkamas.

2. Susidarome teisingumo lentelę:

p q p ∧ q p ∨ qt t t tt k k tk t k tk k k k

Yra viena interpretacija, su kuria prielaida yra teisinga. Su šia prielaida teisinga irsamprotavimo išvada, taigi samprotavimas yra pagrįstas ir tinkamas.

Pastabos:

93

Page 96: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

• Šią užduotį net ir be lentelės nesunkiai galėjome išspręsti. Iš tikrųjų, kaip žinome iškonjunkcijos savybių, prielaida p∧q yra teisinga su vienintele interpretacija p = t, q = t.Tačiau su šia interpretacija išvada p∨q irgi yra teisinga. Tai reiškia, kad samprotavimaspagrįstas. Ir jis, be abejo, tinkamas, nes prielaida ne visada klaidinga.

• Nors samprotavimas p∧q ∴ p∨q yra pagrįstas, tačiau tai nereiškia, kad formulės p∧q beip∨ q yra ekvivalenčios. Tai reiškia tik tiek, kad jei pirmoji formulė teisinga, tai teisingabus ir antroji. Tuo, kad formulės neekvivalenčios, įsitikinti galima ir parodžius, kadatvirkščias samprotavimas — p ∨ q ∴ p ∧ q — nėra pagrįstas. Kita vertus, jei pagrįstasyra ir samprotavimas F ∴ G, ir G ∴ F , tokiu atveju galima tvirtinti, kad F ∼ G.

3. Ir vėl susidarome teisingumo lentelę:

p q ¬p ¬q ¬p | q ¬p⊕ ¬q ¬q→¬pt t k k t k tt k k t t t kk t t k k t tk k t t t k t

Kaip ir praeitame variante, apibrauktos samprotavimo prielaidos. Kaip matome, nėratokios interpretacijos, su kuria visos prielaidos būtų teisingos, taigi samprotavimas yranetinkamas, nors ir pagrįstas.

Uždavinys 9.2. Patikrinkite samprotavimo pagrįstumą tapačiai teisingos formulės metodu.

1. p→ q ∴ ¬p→¬q,2. p ∧ q ∴ p ∨ q,3. ¬p | q, q,¬p⊕ ¬q ∴ ¬q→¬p.

Sprendimas. Reikia patikrinti, ar formulė, kurioje iš prielaidų konjunkcijos išplaukia išvada,yra tapačiai teisinga. Tai mes galime patikrinti dviem būdais: arba teisingumo reikšmiųlentele, arba naudodami logikos dėsnius. Dabar patikrinsime lentele, o savarankiškam darbuipatikrinkite ir naudodami logikos dėsnius (žr. užduotį 9.8).

1. Sudarome teisingumo reikšmių lentelę:

p q p→ q ¬p ¬q ¬p→¬q (p→ q)→ (¬p→¬q)t t t k k t tt k k k t t tk t t t k k kk k t t t t t

Formulė nėra tapačiai teisinga, todėl duotas samprotavimas nėra pagrįstas.2. Sudarome teisingumo reikšmių lentelę:

p q p ∧ q p ∨ q (p ∧ q)→ (p ∨ q)t t t t tt k k t tk t k t tk k k k t

Formulė yra tapačiai teisinga, todėl duotas samprotavimas yra pagrįstas.

94

Page 97: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

3. Raide Q pažymėję formulę((¬p |q)∧q∧ (¬p⊕¬q)

)→ (¬q→¬p), sudarome teisingumo

reikšmių lentelę:

p q ¬p ¬q ¬p | q ¬p⊕ ¬q ¬q→¬p (¬p | q) ∧ q ∧ (¬p⊕ ¬q) Qt t k k t k t k tt k k t t t k k tk t t k k t t k tk k t t t k t k t

Formulė Q yra tapačiai teisinga, todėl duotas samprotavimas yra pagrįstas.

Uždavinys 9.3. Patikrinkite samprotavimo pagrįstumą loginės lygties metodu.

1. r→ q,¬p ∨ r ∴ p | ¬q.2. Jeigu šiandien antradienis, tai yra paskaitų. Netiesa, kad jeigu nėra paskaitų, tai

studentai nesimoko. Taigi, šiandien ne antradienis ir studentai nesimoko.

Sprendimas.

1. Bandome išspręsti lygčių sistemą: r→ q = t¬p ∨ r = tp | ¬q = k

Formulė p | ¬q klaidinga su vienintele interpretacija — kai p = t ir ¬q = t. T.y.,p = t ir q = k. Kadangi p = t ir ¬p ∨ r = t, vadinasi ¬p = k, todėl r = t. Taigir → q = t→ k = k, tačiau pagal lygčių sistemą r → q = t. Taigi, ši lygčių sistemasprendinių neturi, todėl samprotavimas yra pagrįstas.

2. Pažymėkime teiginį šiandien antradienis kintamuoju a, teiginį šiandien yra paskaitų— kintamuoju p, o teiginį studentai mokosi — kintamuoju m. Tada šį samprotavimągalėtume formalizuoti taip: a→ p,¬(¬p→ ¬m) ∴ ¬a ∧ ¬m. Pabandykime išspręstilygčių sistemą:

a→ p = t¬(¬p→¬m) = t¬a ∧ ¬m = k

Kadangi ¬(¬p→ ¬m) = t, vadinasi ¬p→ ¬m = k. Ši formulė klaidinga vieninteliuatveju, kai ¬p = t ir ¬m = k. T.y., p = k ir m = t. Kadangi p = k, o a→p = t, vadinasia = k. Be to, kai a = k ir m = t, tai ¬a ∧ ¬m = ¬k ∧ ¬t = t ∧ k = k. To ir reikalaujatrečioji sistemos lygtis. Taigi radome lygčių sistemos sprendinį — tokią interpretaciją,su kuria visos prielaidos teisingos, o išvada klaidinga. Todėl toks samprotavimas nėrapagrįstas.

Uždavinys 9.4. Įrodykite samprotavimo pagrįstumą formaliosios dedukcijos metodu.

1. Nužudyta siekiant apiplėšti arba iš keršto. Jei pas auką rasta pinigų, tai nusikaltimomotyvas buvo ne apiplėšimas. Iš tiesų, jos rankinuke rasta keletas šimtų eurų. Matyt,nusikaltimas padarytas iš keršto.

2. (¬p ∨ q)→ r, s ∨ ¬q,¬u, p→ u, (¬p ∧ r)→¬s ∴ ¬q.

95

Page 98: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Sprendimas.

1. Pažymėkime teiginius:

• A –– nužudyta siekiant apiplėšti,• K — nužudyta iš keršto,• P — pas auką rasta pinigų.

Tada samprotavimas bus toks: A ∨ K,P → ¬A,P ∴ K. Įrodykime samprotavimopagrįstumą:

1. A ∨K Samprotavimo prielaida.2. P →¬A Samprotavimo prielaida.3. P Samprotavimo prielaida.4. ¬A Modus ponens iš 2 ir 3.5. K Disjunktyvus silogizmas iš 1 ir 4.

2. Įrodymas:

1. (¬p ∨ q)→ r Samprotavimo prielaida.2. s ∨ ¬q Samprotavimo prielaida.3. ¬u Samprotavimo prielaida.4. p→ u Samprotavimo prielaida.5. (¬p ∧ r)→¬s Samprotavimo prielaida.6. ¬p Modus tollens iš 3 ir 4.7. ¬p ∨ q Prijungimas iš 6.8. r Modus ponens iš 1 ir 7.9. ¬p ∧ r Konjunktyvus sujungimas iš 6 ir 8.10. ¬s Modus ponens iš 5 ir 9.11. ¬q Disjunktyvus silogizmas iš 2 ir 10.

Uždavinys 9.5. Įrodykite samprotavimo pagrįstumą sąlyginio įrodymo metodu.

1. Įmonėje yra trys cechai A, B ir C, susitarę dėl projektų tvirtinimo tvarkos. Jei cechasB nedalyvauja tvirtinant projektą, tai nedalyvauja ir cechas A. Jei cechas B dalyvau-ja tvirtinant projektą, tai kartu dalyvauja ir cechai A bei C. Todėl cechas C privalodalyvauti, kai projektą tvirtina cechas A.

2. ¬p ∨ (q→ r),¬r ∴ p→¬q.

Sprendimas.

1. Pažymėkime teiginius:

• A — cechas A dalyvauja tvirtinant projektą,• B — cechas B dalyvauja tvirtinant projektą,• C — cechas C dalyvauja tvirtinant projektą.

96

Page 99: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Tada samprotavimas bus toks: ¬B→¬A,B→ (A ∧ C) ∴ A→ C. Įrodykime sampro-tavimo pagrįstumą:

1. ¬B→¬A Samprotavimo prielaida.2. B→ (A ∧ C) Samprotavimo prielaida.3. A Laikina prielaida.4. B Modus tollens iš 1 ir 3.5. A ∧ C Modus ponens iš 2 ir 4.6. C Atskyrimas iš 5.7. A→ C Sąlyginis įrodymas nuo 3 iki 6.

2. Įrodymas:

1. ¬p ∨ (q→ r) Samprotavimo prielaida.2. ¬r Samprotavimo prielaida.3. p Laikina prielaida.4. q→ r Disjunktyvus silogizmas iš 1 ir 3.5. ¬q Modus tollens iš 4 ir 2.6. p→¬q Sąlyginis įrodymas nuo 3 iki 5.

Uždavinys 9.6. Įrodykite samprotavimo pagrįstumą prieštaros metodu:

(A ∨B)→ (C ∧D),¬(¬A ∨ ¬C),¬(A→¬D)→ E ∴ E.

Sprendimas.

1. (A ∨B)→ (C ∧D) Samprotavimo prielaida.2. ¬(¬A ∨ ¬C) Samprotavimo prielaida.3. ¬(A→¬D)→ E Samprotavimo prielaida.4. ¬E Laikina prielaida.5. A→¬D Modus tollens iš 3 ir 4.6. A ∧ C De Morgano dėsnis iš 2.7. A Atskyrimas iš 6.8. A ∨B Prijungimas iš 7.9. C ∧D Modus ponens iš 1 ir 8.10. D Atskyrimas iš 9.11. ¬D Modus ponens iš 5 ir 7.12. D ∧ ¬D Konjunktyvus sujungimas iš 10 ir 11.13. E Prieštaros metodas nuo 4 iki 12.

97

Page 100: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždaviniai savarankiškam darbuiUždavinys 9.7. Pagal apibrėžimą nustatyti, ar samprotavimas yra pagrįstas ir tinkamas.

1. p⊕ q, q↔ r ∴ p ∨ r,2. p ∧ q, p→¬q ∴ p | q,3. p→ q, q→ r ∴ p↔ r,4. p, p⊕ q ∴ ¬q,5. p→ q, q→ r, p,¬r ∴ ¬p ∧ q,6. p→ q,¬p ∴ ¬p→¬q.

Uždavinys 9.8. Patikrinkite samprotavimo pagrįstumą tapačiai teisingos formulės metodu,naudodami logikos dėsnius.

1. p→ q ∴ ¬p→¬q,2. p ∧ q ∴ p ∨ q,3. ¬p | q, q,¬p⊕ ¬q ∴ ¬q→¬p.

Uždavinys 9.9. Patikrinkite samprotavimo pagrįstumą loginės lygties metodu.1. Peržiūrėję atostogų pasiūlymus išsirinkome keletą priimtiniausių: Barselona, Madridas,

Palanga, Praha, Šventoji ir Talinas. Kadangi per atostogas norėtume aplankyti kokįnors didesnį pajūrio miestą, vadinasi netiesa, kad nevyksime nei į Barseloną, nei įTaliną. Žinoma, jeigu skrisime į Barseloną, tai aplankysime ir Madridą, nes šie miestainetoli vienas nuo kito. Be to, jei ilsėsimės Palangoje arba Šventojoje, tai tikrai neužtekspinigų kelionei į Madridą, tačiau tokiu atveju pasirinktume kelionę į Prahą. Taigi, jeipoilsiausime Palangoje, tai taip pat keliausime į Prahą ir Taliną.

2. p⊕ q, q | r ∴ p→ r.Uždavinys 9.10. Įrodykite samprotavimo pagrįstumą formaliosios dedukcijos metodu.

1. G ∨ (H→ I),¬G ∧ ¬I ∴ ¬H.2. Jeigu savaitgalį būtum nevažiavęs švęsti gimtadienio, būtum išsimiegojęs ir pasiruo-

šęs egzaminui. Gaila, bet egzaminui nepasiruošei. Taip išeina, kad savaitgalį šventeigimtadienį.

Uždavinys 9.11. Įrodykite samprotavimo pagrįstumą sąlyginio įrodymo metodu.1. p→¬q, (p ∨ r) ∧ (p→ u) ∴ q→ r,2. ¬E→¬B,¬(E ∧ F ), (¬A ∨ ¬B)→ (B ∧ ¬D) ∴ ¬A→ (¬D ∧ ¬F ),3. (G ∨ ¬S) ∧ (R ∨ S), R→ (¬H ∧ T ) ∴ H→G.

Uždavinys 9.12. Įrodykite samprotavimo pagrįstumą prieštaros metodu.1. A→ (B ∨ ¬C),¬B→ (A ∧ C) ∴ B.2. ¬C→D,C→¬(¬D ∨ A), B ∨ ¬D ∴ B.3. Jei rytoj grįšiu namo, tai nemiegosiu. Be to, rytoj laikysiu egzaminą arba visai neisiu

į universitetą. Kita vertus, jei laikysiu egzaminą, tai po jo grįšiu namo ir miegosiu.Taigi, rytoj į universitetą neisiu.

Uždavinys 9.13. Įrodykite samprotavimo ¬r→ q,¬(p→ r) ∴ ¬(p→¬q) pagrįstumą, tai-kydami formaliosios dedukcijos, sąlyginio įrodymo, prieštaros metodus.

98

Page 101: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždavinių savarankiškam darbui sprendimai arba atsa-kymai

Uždavinio 9.7 sprendimas ir atsakymai:

1. Susidarome teisingumo lentelę:

p q r p⊕ q q↔ r p ∨ rt t t k t tt t k k k tt k t t k tt k k t t tk t t t t tk t k t k kk k t k k tk k k k t k

Yra dvi interpretacijos, su kuriomis abi samprotavimo prielaidos yra teisingos. Sušiomis interpretacijomis teisinga ir samprotavimo išvada, taigi samprotavimas pagrįstasir tinkamas.

2. Susidarome teisingumo lentelę:

p q p ∧ q ¬q p→¬q p | qt t t k k kt k k t t tk t k k t tk k k t t t

Kadangi nėra interpretacijos, su kuria abi prielaidos būtų teisingos, vadinasi sampro-tavimas netinkamas nors ir pagrįstas.

3. Susidarome teisingumo lentelę:

p q r p→ q q→ r p↔ r

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

Iš keturių interpretacijų, su kuriomis abi prielaidos yra teisingos, su dviem išvada taippat teisinga, tačiau su likusiomis dviem išvada neteisinga. Taigi samprotavimas tinka-mas, bet nepagrįstas.

99

Page 102: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

4. Susidarome teisingumo lentelę:

p q p⊕ q ¬qt t k kt k t tk t t kk k k t

Abi prielaidos teisingos su vienintele interpretacija. Su ja teisinga ir išvada. Taigisamprotavimas tinkamas ir pagrįstas.

5. Ir vėl susidarome teisingumo lentelę:

p q r p→ q q→ r ¬r ¬p ¬p ∧ qt t t t t k k kt t k t k t k kt k t k t k k kt k k k t t k kk t t t t k t tk t k t k t t tk k t t t k t kk k k t t t t k

Kaip ir praeitame variante, apibrauktos samprotavimo prielaidos. Kaip matome, nėratokios interpretacijos, su kuria visos prielaidos būtų teisingos, taigi samprotavimas yranetinkamas, nors ir pagrįstas.

6. Patikriname, ar su visomis interpretacijomis, su kuriomis visos prielaidos teisingos,teisinga ir išvada:

p q p→ q ¬p ¬q ¬p→¬qt t t k k tt k k k t tk t t t k kk k t t t t

Teisingumo lentelėje apibrauktos samprotavimo prielaidos, o paskutiniame stulpelyjepateikiama išvada. Pažymėtos tos interpretacijos, su kuriomis abi prielaidos teisingos.Kaip matome, tokių interpretacijų yra dvi. Su viena iš jų teisinga ir išvada, tačiaukai p = k, q = t, prielaida teisinga, o išvada ne. Taigi samprotavimas nėra pagrįstas.Kita vertus, yra tokių interpretacijų, su kuriomis visos prielaidos yra teisingos, taigisamprotavimas tinkamas.

Uždavinio 9.8 sprendimas ir atsakymai:

1. (p→ q)→ (¬p→¬q) ∼ ¬(¬p∨ q)∨ (p∨¬q) ∼ (p∧¬q)∨ p∨¬q ∼ p∨¬q. Tai TNKF išvienos TED, todėl šios formulės TNKF egzistuoja, taigi, formulė nėra tapačiai teisinga,o duotas samprotavimas nėra pagrįstas.

2. (p ∧ q)→ (p ∨ q) ∼ ¬(p ∧ q) ∨ (p ∨ q) ∼ ¬p ∨ ¬q ∨ p ∨ q ∼ t. Formulė yra tapačiaiteisinga, todėl duotas samprotavimas yra pagrįstas.

3. Pertvarkome formulę:

100

Page 103: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

((¬p | q) ∧ q ∧ (¬p⊕ ¬q)

)→ (¬q→¬p) ∼ (šaliname implikaciją, Šeferio

funkciją, griežtą disjunkciją)

∼ ¬(¬(¬p ∧ q) ∧ q ∧ ¬(¬p↔¬q)

)∨ (q ∨ ¬p) ∼

(pastebime, kad, įkėlę neiginį įpirmuosius skliaustus, gautume¬q, ir jis susiprastintų suantruose skliaustuose esančiu q,todėl iš karto taip ir darome)

∼((¬p ∧ q) ∨ ¬q ∨ (¬p↔¬q)

)∨ q ∨ ¬p ∼

(nuimame ir didžiuosiusskliaustus, pakeičiame eilėstvarką, sugrupuojame q ir ¬q)

∼ (¬p ∧ q) ∨ (¬p↔¬q) ∨ (¬q ∨ q) ∨ ¬p ∼ (negalimo trečiojo dėsnis)∼ (¬p ∧ q) ∨ (¬p↔¬q) ∨ t ∨ ¬p ∼ (šaliname konstantą t)

∼ t.

Formulė yra tapačiai teisinga, todėl duotas samprotavimas yra pagrįstas.

Uždavinio 9.9 sprendimas ir atsakymai:

1. Pažymėkime teiginį, kad atostogausime Barselonoje raide B, Madride — M , Palangoje— P , Prahoje — R, Šventojoje — Š ir Taline — T . Taigi, pats samprotavimas atrodytųtaip: ¬(¬B ∧ ¬T ), B→M, (P ∨ Š )→ (¬M ∧R) ∴ P → (R ∧ T ). Norėdami parodyti,kad samprotavimas nepagrįstas, turime išspręsti lygčių sistemą:

¬(¬B ∧ ¬T ) = tB→M = t

(P ∨ Š )→ (¬M ∧R) = tP → (R ∧ T ) = k

Pradėkime nuo paskutiniosios lygties. Kadangi P → (R ∧ T ) = k, vadinasi P = t irR ∧ T = k. Įstatykime P reikšmę į trečiąją lygti. Kadangi P = t, vadinasi P ∨ Š = t.Na o dėl to, kad trečiosios lygties reikšmė turi būti t, gauname, kad ¬M ∧R = t. Iš toseka, kad ¬M = t, t.y., M = k, ir R = t. Į antrąją lygtį įsistatę M reikšmę, gausime,kad B = k. Kadangi turime, kad R∧T = k, o R = t, vadinasi T = k. Beliko gautąsiasB ir T reikšmes įstatyti į pirmąją lygtį: ¬(¬B∧¬T ) = ¬(¬k∧¬k) = ¬(t∧t) = ¬t = k.Taigi, gavome prieštarą, nes pagal lygčių sistemą pirmosios lygties reikšmė turi būti t.Todėl šis samprotavimas yra pagrįstas.

2. Pabandykime išspręsti lygčių sistemą:p⊕ q = tq | r = t

p→ r = k

Ir vėl pradėkime nuo paskutiniosios, trečiosios, lygties. Kadangi p→ r = k, vadinasip = t, o r = k. Įstatę p reikšmę į pirmąją lygtį, gausime, kad q = k. Beliko patikrinti,ar tenkinama antroji lygtis: q | r = k | k = t. O tai ir reikėjo gauti.Kadangi radome interpretaciją, kuri tenkina šią lygčių sistemą, vadinasi samprotavimasnėra pagrįstas.

Uždavinio 9.10 sprendimas:

101

Page 104: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

1.

1. G ∨ (H→ I) Samprotavimo prielaida.2. ¬G ∧ ¬I Samprotavimo prielaida.3. ¬G Atskyrimas iš 2.4. H→ I Disjunktyvus silogizmas iš 1 ir 3.5. ¬I Atskyrimas iš 2.6. ¬H Modus tollens iš 4 ir 5.

2. Pirmiausia susidarykime samprotavimą. Pažymėkime teiginį savaitgalį važiavai švęstigimtadienio raideG, teiginį savaitgalį išsimiegojai raide I, o teiginį pasiruošei egzaminuiraide E. Tokiu atveju, samprotavimas atrodytų taip: ¬G→ (I ∧ E),¬E ∴ G.

1. ¬G→ (I ∧ E) Samprotavimo prielaida.2. ¬E Samprotavimo prielaida.3. ¬I ∨ ¬E Prijungimas iš 2.4. ¬(I ∧ E) De Morgano dėsnis iš 3.5. G Modus tollens iš 1 ir 4.

Uždavinio 9.11 sprendimas:

1.

1. p→¬q Samprotavimo prielaida.2. (p ∨ r) ∧ (p→ u) Samprotavimo prielaida.3. q Laikina prielaida.4. ¬p Modus tollens iš 1 ir 3.5. p ∨ r Atskyrimas iš 2.6. r Disjunktyvus silogizmas iš 5 ir 4.7. q→ r Sąlyginis įrodymas nuo 3 iki 6.

2.

1. ¬E→¬B Samprotavimo prielaida.2. ¬(E ∧ F ) Samprotavimo prielaida.3. (¬A ∨ ¬B)→ (B ∧ ¬D) Samprotavimo prielaida.4. ¬A Laikina prielaida.5. ¬A ∨ ¬B Prijungimas iš 4.6. B ∧ ¬D Modus ponens iš 3 ir 5.7. B Atskyrimas iš 6.8. E Modus tollens iš 1 ir 7.9. ¬E ∨ ¬F De Morgano dėsnis iš 2.10. ¬F Disjunktyvus silogizmas iš 9 ir 8.11. ¬D Atskyrimas iš 6.12. ¬D ∧ ¬F Konjunktyvus sujungimas iš 11 ir 10.13. ¬A→ (¬D ∧ ¬F ) Sąlyginis įrodymas nuo 4 iki 12.

102

Page 105: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

3.

1. (G ∨ ¬S) ∧ (R ∨ S) Samprotavimo prielaida.2. R→ (¬H ∧ T ) Samprotavimo prielaida.3. H Laikina prielaida.4. H ∨ ¬T Prijungimas iš 3.5. ¬(¬H ∧ T ) De Morgano dėsnis iš 4.6. ¬R Modus tollens iš 2 ir 5.7. R ∨ S Atskyrimas iš 1.8. S Disjunktyvus silogizmas iš 7 ir 6.9. G ∨ ¬S Atskyrimas iš 1.10. G Disjunktyvus silogizmas iš 9 ir 8.11. H→G Sąlyginis įrodymas nuo 3 iki 10.

Uždavinio 9.12 sprendimas:

1.

1. A→ (B ∨ ¬C) Samprotavimo prielaida.2. ¬B→ (A ∧ C) Samprotavimo prielaida.3. ¬B Laikina prielaida.4. A ∧ C Modus ponens iš 2 ir 3.5. A Atskyrimas iš 4.6. B ∨ ¬C Modus ponens iš 1 ir 5.7. ¬C Disjunktyvus silogizmas iš 6 ir 3.8. C Atskyrimas iš 4.9. C ∧ ¬C Konjunktyvus sujungimas iš 8 ir 7.10. B Prieštaros metodas nuo 3 iki 9.

2.

1. ¬C→D Samprotavimo prielaida.2. C→¬(¬D ∨ A) Samprotavimo prielaida.3. B ∨ ¬D Samprotavimo prielaida.4. ¬B Laikina prielaida.5. ¬D Disjunktyvus silogizmas iš 3 ir 4.6. C Modus tollens iš 1 ir 5.7. ¬(¬D ∨ A) Modus ponens iš 2 ir 6.8. D ∧ ¬A De Morgano dėsnis iš 7.9. D Atskyrimas iš 8.10. D ∧ ¬D Konjunktyvus sujungimas iš 9 ir 5.11. B Prieštaros metodas nuo 4 iki 10.

3. Pažymėkime teiginį grįšiu namo kintamuoju g, teiginį miegosiu — kintamuoju m, tei-ginį laikysiu egzaminą — kintamuoju l, o teiginį eisiu į universitetą — kintamuoju e.Tokiu atveju, samprotavimas bus toks: g→ ¬m, l ∨ ¬e, l→ (g ∧m) ∴ ¬e. Įrodymas

103

Page 106: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

galėtų būti toks:

1. g→¬m Samprotavimo prielaida.2. l ∨ ¬e Samprotavimo prielaida.3. l→ (g ∧m) Samprotavimo prielaida.4. e Laikina prielaida.5. l Disjunktyvus silogizmas iš 2 ir 4.6. g ∧m Modus ponens iš 3 ir 5.7. g Atskyrimas iš 6.8. ¬m Modus ponens iš 1 ir 7.9. m Atskyrimas iš 6.10. ¬m ∧m Konjunktyvus sujungimas iš 8 ir 9.11. ¬e Prieštaros metodas nuo 4 iki 10.

Uždavinio 9.13 sprendimas:

1. ¬r→ q Samprotavimo prielaida.2. ¬(p→ r) Samprotavimo prielaida.3. p→¬q Laikina prielaida.4. p Laikina prielaida.5. ¬q Modus ponens iš 3 ir 4.6. r Modus tollens iš 1 ir 5.7. p→ r Sąlyginis įrodymas nuo 4 iki 6.8. ¬(p→ r) ∧ (p→ r) Konjunktyvus sujungimas iš 2 ir 7.9. ¬(p→¬q) Prieštaros metodas nuo 3 iki 8.

104

Page 107: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

10 pratybos

Predikatų logika

Teorinė medžiaga: III dalies 5 skyrius.

Uždaviniai pratybomsUždavinys 10.1. Tegu kintamųjų x ir y kitimo sritis yra jūsų grupės studentų aibė, opredikatas P (x, y) yra Studentas x nusiuntė el. laišką studentui y. Užrašyti lietuviškai šiuosteiginius.

1. ∃x∃yP (x, y),2. ∀x∀yP (x, y).3. ∃x∀yP (x, y),4. ∀y∃xP (x, y),5. ∃y∀xP (x, y),6. ∀x∃yP (x, y),

Sprendimas.

1. Kuris nors grupės studentas nusiuntė el. laišką kuriam nors grupės studentui (t. y. bentvienas nusiuntė bent vienam).

2. Kiekvienas grupės studentas nusiuntė el. laišką kiekvienam grupės studentui.3. Kuris nors grupės studentas nusiuntė el. laišką visiems grupės studentams (tai reiškia,

kad kiekvienas grupės studentas gavo laišką iš to paties studento).4. Kiekvienam grupės studentui nusiuntė el. laišką kuris nors grupės studentas (nebūtinai

tas pats, t. y. vėl, kaip 3 punkte, kiekvienas grupės studentas gavo laišką, bet dabar jaunebūtinai iš to paties studento, o tiesiog iš kažkurio studento, gali būti, kad kiekvienasgavo vis iš kito).

5. Kuriam nors grupės studentui nusiuntė el. laišką visi grupės studentai (būtinai tampačiam).

6. Kiekvienas grupės studentas nusiuntė el. laišką kuriam nors grupės studentui (nebūtinaitam pačiam, kiekvienas galėjo nusiųsti vis kitam).

Uždavinys 10.2. Užrašykite teiginį

Kiekvienas šios grupės studentas klauso diskrečiosios matematikos dalyko

105

Page 108: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

matematine kalba keliais skirtingais būdais, imdami skirtingas kintamųjų kitimo sritis beinaudodami predikatus su vienu ir dviem kintamaisiais.Sprendimas.

Šio uždavinio tikslas yra parodyti, kad tą patį teiginį galima užrašyti įvairiai, priklausomainuo poreikio (pavyzdžiui, priklausomai nuo to, kur naudosime užrašytą teiginį).

Pažymėkime D(x) predikatą x klauso diskrečiosios matematikos dalyko. Jei kintamojo xkitimo sritis yra ši studentų grupė, tada duotą teiginį galima užrašyti taip: ∀xD(x).

Tačiau galima užrašyti ir kitaip. Tai priklauso nuo to, ką mes ruošiamės daryti su tuoteiginiu. Pavyzdžiui, galbūt mus domina didesnė žmonių aibė, negu tik šios vienos grupėsstudentų aibė. Galima kintamojo x kitimo sritimi laikyti visų žmonių aibę. Tada teiginįgalėtume performuluoti taip:

Kiekvienas žmogus, priklausantis šiai studentų grupei, klauso diskrečiosios matematikosdalyko,

arba

Kiekvienam žmogui yra teisinga: jei jis yra šios grupės studentas, tai jis klauso diskrečiosiosmatematikos dalyko.

Jei S(x) pažymėtume predikatą x yra šios grupės studentas, tai paskutinį teiginį galėtumeužrašyti taip: ∀x(S(x)→D(x)).

Galbūt kalbama ne tik apie diskrečiosios matematikos dalyką, bet apie daugiau dėsto-mų dalykų. Tada verta naudoti dviejų kintamųjų predikatą x klauso y dalyko. Pažymėki-me jį P (x, y). Galėsime duotą teiginį užrašyti ∀xP (x,DM) arba atitinkamai ∀x(S(x)→P (x,DM)), kur santrumpa DM žymi diskrečiosios matematikos dalyką.

Uždavinys 10.3. Nustatyti, ar teiginys teisingas, jei Q(x, y) yra predikatas x + y = x− y,o kintamųjų kitimo sritis yra sveikųjų skaičių aibė Z.

1. Q(1, 1),2. Q(2, 0),3. ∀yQ(1, y),4. ∃xQ(x, 2),5. ∃x∃yQ(x, y),6. ∃x∀yQ(x, y),7. ∀x∃yQ(x, y),8. ∀y∃xQ(x, y),9. ∃y∀xQ(x, y),

10. ∀x∀yQ(x, y).

Sprendimas.

1. 1 + 1 = 1− 1 — klaidingas teiginys.2. 2 + 0 = 2− 0 — teisingas.3. ∀y 1 + y = 1 − y — klaidingas teiginys, nes ne visiems y lygybė teisinga, pavyzdžiui,

neteisinga su y = 1.

106

Page 109: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

4. ∃x x+ 2 = x− 2 — klaidingas, nes neegzistuoja tokio x, su kuriuo x+ 2 = x− 2.5. ∃x∃y x+ y = x− y — teisingas, nes tokie x ir y tikrai egzistuoja, žr. 2 dalį.6. ∃x∀y x+ y = x− y — klaidingas, nes tokio x neegzistuoja, kad visiems y būtų x+ y =x−y. Iš tikrųjų, kad ir koks būtų x, atsiras toks y, pavyzdžiui, y = 2, kad x+y 6= x−y.

7. ∀x∃y x+ y = x− y — teisingas, nes kiekvienam x egzistuoja toks y (o būtent y = 0),kad x+ y = x− y.

8. ∀y∃x x+y = x−y — klaidingas, nes ne visiems y egzistuoja toks x, kad x+y = x−y.Pavyzdžiui, kai y = 2, nerasime tokio x, kad x+ y = x− y.

9. ∃y∀x x+y = x−y — teisingas, nes egzistuoja toks y (o būtent y = 0), kad kiekvienamx lygybė x+ y = x− y būtų teisinga.

10. ∀x∀y x+y = x−y — klaidingas, nes ne visiems x ir y lygybė x+y = x−y yra teisinga,žr., pavyzdžiui, 1 dalį.

Uždavinys 10.4. Kintamųjų x ir y kitimo sritis yra aibė {1, 2}. Užrašyti teiginį be kvantorių.

1. ∃xP (x, 2),2. ∀yP (1, y),3. ∃y¬P (2, y),4. ∀x¬P (x, 1),5. ∃x∃yP (x, y),6. ∀x∀yP (x, y),7. ∃x∀yP (x, y),8. ∀y∃xP (x, y).

Sprendimas.

1. P (1, 2) ∨ P (2, 2).2. P (1, 1) ∧ P (1, 2).3. ¬P (2, 1) ∨ ¬P (2, 2).4. ¬P (1, 1) ∧ ¬P (2, 1).5. ∃x∃yP (x, y) ∼ ∃x(∃yP (x, y)) ∼ ∃x(P (x, 1)∨P (x, 2)) ∼ (P (1, 1)∨P (1, 2))∨ (P (2, 1)∨P (2, 2)) ∼ P (1, 1) ∨ P (1, 2) ∨ P (2, 1) ∨ P (2, 2).

6. ∀x∀yP (x, y) ∼ ∀x(∀yP (x, y)) ∼ ∀x(P (x, 1)∧P (x, 2)) ∼ (P (1, 1)∧P (1, 2))∧ (P (2, 1)∧P (2, 2)) ∼ P (1, 1) ∧ P (1, 2) ∧ P (2, 1) ∧ P (2, 2).

7. ∃x∀yP (x, y) ∼ ∃x(∀yP (x, y)) ∼ ∃x(P (x, 1)∧P (x, 2)) ∼ (P (1, 1)∧P (1, 2))∨ (P (2, 1)∧P (2, 2)).Galima šalinti ir kita eilės tvarka — iš pradžių ∃x, paskui ∀y:∃x∀yP (x, y) ∼ ∃x(∀yP (x, y)) ∼ (∀yP (1, y)) ∨ (∀yP (2, y)) ∼ (P (1, 1) ∧ P (1, 2)) ∨(P (2, 1) ∧ P (2, 2)).

8. ∀y∃xP (x, y) ∼ ∀y(∃xP (x, y)) ∼ ∀y(P (1, y)∨P (2, y)) ∼ (P (1, 1)∨P (2, 1))∧ (P (1, 2)∨P (2, 2)).

107

Page 110: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždavinys 10.5. Rasti tokią bendrą kintamųjų kitimo sritį, kad teiginys būtų teisingas, irtokią, kad klaidingas.

1. Visi kalba japoniškai.2. ∀x∀y∀z∃w((w 6= x) ∧ (w 6= y) ∧ (w 6= z)).

Sprendimas.

1. Jei kintamojo kitimo sritis yra visų žmonių aibė, tai teiginys bus klaidingas, o jei japonųaibė, tai teisingas.

2. Jei kintamojo kitimo sritis yra aibė iš trijų ar mažiau elementų, tai teiginys yra klai-dingas, o priešingu atveju teisingas.

Uždavinys 10.6. Tegu D yra visų žmonių aibė, o predikatas M(x, y) yra x myli y. Užra-šykite teiginį

Meilė tarp bet kurių dviejų žmonių yra abipusė

matematiškai ir raskite jo neiginį.Sprendimas. Teiginį galima užrašyti taip:

∀x∈D ∀y∈D(M(x, y)→M(y, x)

).

Jo neiginys:

¬(∀x∈D ∀y∈D

(M(x, y)→M(y, x)

))∼ ∃x∈D ∃y∈D ¬

(M(x, y)→M(y, x)

)∼

∼ ∃x∈D ∃y∈D ¬(¬M(x, y) ∨M(y, x)

)∼ ∃x∈D ∃y∈D

(M(x, y) ∧ ¬M(y, x)

)Žodžiais: Yra du žmonės, kurių pirmasis myli antrąjį, bet antrasis pirmojo nemyli.

Pastabos:

1. Šį teiginį galima užrašyti ir kitais būdais. Pavyzdžiui:

∀x∈D ∀y∈D(M(x, y)↔M(y, x)

)Atkreipkite dėmesį, kad ši formulė yra ekvivalenti uždavinio sprendime pateiktai formulei. Ištiesų, jeigu formulėje ∀x∈D ∀y∈D

(M(x, y)→M(y, x)

)sukeistume kintamųjų pavadinimus,

gautume formulę ∀y∈D ∀x∈D(M(y, x)→M(x, y)

), taigi šios formulės ekvivalenčios. Kitaip

sakant jos arba abi teisingos arba abi klaidingos. Todėl:

∀x∈D ∀y∈D(M(x, y)↔M(y, x)

)∼

∼ ∀x∈D ∀y∈D((

M(x, y)→M(y, x))∧(M(y, x)→M(x, y)

)) ∗∼∗∼ ∀x∈D ∀y∈D

(M(x, y)→M(y, x)

)∧ ∀x∈D ∀y∈D

(M(y, x)→M(x, y)

) ∗∗∼∗∗∼ ∀x∈D ∀y∈D

(M(x, y)→M(y, x)

)∧ ∀y∈D ∀x∈D

(M(y, x)→M(x, y)

)∼

∼ ∀x∈D ∀y∈D(M(x, y)→M(y, x)

)∧ ∀x∈D ∀y∈D

(M(x, y)→M(y, x)

)∼

∼ ∀x∈D ∀y∈D(M(x, y)→M(y, x)

)Vietoje, pažymėtoje ∗, remiamasi predikatų logikos ekvivalentumu ∀x(F ∧G) ∼ ∀xF ∧ ∀xG,o vietoje, pažymėtoje ∗∗ — ∀x∀yF ∼ ∀y∀xF .

108

Page 111: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

2. Teiginį Meilė tarp bet kurių dviejų žmonių yra abipusė galime užrašyti ir taip: Bet kurie dužmonės arba myli vienas kitą, arba nemyli. Todėl matematinė išraiška galėtų būti tokia:

∀x∈D ∀y∈D((

M(x, y) ∧M(y, x))⊕(¬M(x, y) ∧ ¬M(y, x)

)).

Iš tiesų, nesunku įsitikinti, kad ši išraiška ekvivalenti pirmosios pastabos išraiškai, užtenkaparodyti (pavyzdžiui, naudojantis teisingumo reikšmių lentele), kad (p∧q)⊕(¬p∧¬q) ∼ p↔q.

Beje, vietoje griežtos disjunkcijos čia galime rašyti ir paprastą disjunkciją.

Uždavinys 10.7. Įrodykite samprotavimo pagrįstumą:

∀x(M(x)→ S(x)

), ∀x

(¬B(x) ∨M(x)

)∴ ∀x

(¬S(x)→¬B(x)

).

Sprendimas.

1. ∀x(M(x)→ S(x)

)Samprotavimo prielaida.

2. ∀x(¬B(x) ∨M(x)

)Samprotavimo prielaida.

3. M(a)→ S(a) Universali instanciacija iš 1.4. ¬B(a) ∨M(a) Universali instanciacija iš 2.5. ¬S(a) Laikina prielaida.6. ¬M(a) Modus tollens iš 3 ir 5.7. ¬B(a) Disjunktyvus silogizmas iš 4 ir 6.8. ¬S(a)→¬B(a) Sąlyginis įrodymas nuo 5 iki 7.9. ∀x

(¬S(x)→¬B(x)

)Universali generalizacija iš 8.

Uždavinys 10.8. Įrodykite samprotavimo nepagrįstumą:

Visos katės yra žinduoliai. Kai kurios katės — keturkojės. Vadinasi, visi keturkojai yražinduoliai.

Sprendimas. Pažymėkime predikatus:

• K(x) — x yra katė,• Ž (x) — x yra žinduolis,• Q(x) — x yra keturkojis.

Čia x priklauso visų gyvūnų aibei D. Tuomet samprotavimą galima užrašyti taip:

∀x∈D(K(x)→ Ž (x)

),∃x∈D

(K(x) ∧Q(x)

)∴ ∀x∈D

(Q(x)→ Ž (x)

)Nagrinėkime aibės D poaibį, susidedantį tik iš vieno elemento: D1 = {a}. Tada duotą

samprotavimą galima supaprastinti į tokį teiginių logikos samprotavimą:

K(a)→ Ž (a), K(a) ∧Q(a) ∴ Q(a)→ Ž (a)

109

Page 112: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Siekdami parodyti, kad toks samprotavimas nepagrįstas, bandykime išspręsti lygčių sis-temą:

K(a)→ Ž (a) = tK(a) ∧Q(a) = tQ(a)→ Ž (a) = k

Šią sistemą galime bandyti spręsti nuo antrosios lygties. Iš jos turime, kad K(a) = Q(a) = t.Įstatę K(a) reikšmę į pirmąją lygtį, gausime, kad Ž (a) = t. Beliko patikrinti, ar gautosiosreikšmės tenkina trečiąją lygtį: Q(a)→ Ž (a) = t→ t = t, o turėjome gauti k.

Taigi, gavome prieštarą. Tai reiškia, kad ši lygčių sistema sprendinių neturi, o duotosamprotavimo nepagrįstumui įrodyti neužtenka aibės iš vieno gyvūno.

Imkime visų gyvūnų aibės D poaibį D2, sudarytą iš dviejų gyvūnų, D2 = {a, b}, ir ban-dykime parodyti, kad poaibiui D2 samprotavimas nepagrįstas. Tada

∀x∈D(K(x)→ Ž (x)

)∼(K(a)→ Ž (a)

)∧(K(b)→ Ž (b)

)∃x∈D

(K(x) ∧Q(x)

)∼(K(a) ∧Q(a)

)∨(K(b) ∧Q(b)

)∀x∈D

(Q(x)→ Ž (x)

)∼(Q(a)→ Ž (a)

)∧(Q(b)→ Ž (b)

)Pažymėkime p1 = K(a), p2 = K(b), q1 = Ž (a), q2 = Ž (b), r1 = Q(a) ir r2 = Q(b). Turime

parodyti, kad samprotavimas (p1→ q1)∧ (p2→ q2), (p1∧ r1)∨ (p2∧ r2) ∴ (r1→ q1)∧ (r2→ q2)yra nepagrįstas. Tam bandysime rasti loginės lygties

(p1→ q1) ∧ (p2→ q2) ∧((p1 ∧ r1) ∨ (p2 ∧ r2)

)→((r1→ q1) ∧ (r2→ q2)

)= k

bent vieną sprendinį. Gauname sistemą iš 4 lygčių:p1→ q1 = tp2→ q2 = t

(p1 ∧ r1) ∨ (p2 ∧ r2) = t(r1→ q1) ∧ (r2→ q2) = k

Iš ketvirtosios lygties matome, kad r1 → q1 = k arba r2 → q2 = k. Pradžiai tarkime, kadr1 → q1 = k. Tokiu atveju r1 = t ir q1 = k. Įstatę šias reikšmes į pirmąją lygtį, gaunamep1→k = t. Iš to seka, kad p1 = k. Įstatę visa tai į trečiąją lygtį, gauname (k∧t)∨(p2∧r2) = t.Tokiu atveju, p2∧r2 = t, todėl p2 = t ir r2 = t. Dabar iš antrosios lygties gauname t→q2 = t,taigi q2 = t. Taigi, radome lygties sprendinį: p1 = k, p2 = t, q1 = k, q2 = t, r1 = t ir r2 = t.Tai reiškia, kad lygties kairėje pusėje esanti formulė nėra tapačiai teisinga, taigi, duotassamprotavimas nėra pagrįstas aibėje D2, o tuo pačiu nėra pagrįstas ir visų gyvūnų aibėje.

110

Page 113: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždaviniai savarankiškam darbuiUždavinys 10.9. Tegu kintamojo x kitimo sritis yra jūsų grupės studentų aibė, o predikatasP (x) yra x yra buvęs Palangoj. Užrašyti lietuviškai šiuos teiginius.

1. ∃xP (x),2. ∀xP (x),3. ¬∃xP (x),4. ∃x¬P (x),5. ¬∀xP (x),6. ∀x¬P (x).

Uždavinys 10.10. Kintamojo x kitimo sritis yra aibė {−1, 0, 1}. Užrašyti teiginį be kvan-torių.

1. ∃xP (x),2. ∀xP (x),3. ∃x¬P (x),4. ∀x¬P (x),5. ¬∃xP (x),6. ¬∀xP (x),7. ∃x((x > 0) ∧ P (x)),8. ∀x((x 6= 0)→ P (x)).

Uždavinys 10.11. Tegu D yra visų žmonių aibė, o predikatas M(x, y) yra x myli y. Užra-šykite matematiškai šiuos teiginius ir raskite jų neiginius:

1. Visi žmonės yra savimylos,2. Meilė yra tranzityvi,3. Visi ką nors myli,4. Kiekvienas žmogus yra mylimas arba Kas nors myli kiekvieną žmogų,5. Yra toks žmogus, kurį myli visi.

Uždavinys 10.12. Įrodykite samprotavimo pagrįstumą.1. ∃x∀y

(P (x, y) ∨Q(y)

), ∃y¬Q(y) ∴ ∃x∃yP (x, y).

2. Visi aristokratai mėgsta avokadus. Kita vertus, žmonės nemėgsta avokadų arba yravegetarai. Tiesa, pasaulyje yra ir ne vegetarų. Taigi, ne visi žmonės yra aristokratai.

3. Visi studentai mėgsta alų, vadinasi, kai kurie alaus mėgėjai nėra šiaip dykaduoniai, nesstudentų tikrai būna darbščių.

4. ∀x(F (x)→G(x)

),∀x

(A(x)→ F (x)

),∃x¬G(x) ∴ ∃x¬A(x).

Uždavinys 10.13. Įrodykite samprotavimo nepagrįstumą.1. ∃x

(P (x) ∧K(x)

),∃x

(P (x) ∧ ¬R(x)

),∀x

(K(x)→R(x)

)∴ ∀x

(¬R(x)→ P (x)

).

2. Visi žmonės yra mirtingi, kai kurie žmonės yra poetai. Vadinasi, visi poetai yra mirtingi.3. ∀x∈D

(A(x)→B(x)

),∀x∈D

(B(x) ∨ C(x)

),∃x∈DA(x) ∴ ∀x∈D

(A(x) ∨ C(x)

).

111

Page 114: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždavinių savarankiškam darbui sprendimai arba atsa-kymai

Uždavinio 10.9 atsakymai:

1. Kuris nors grupės studentas yra buvęs Palangoje.2. Visi grupės studentai yra buvę Palangoje.3. Grupėje nėra studento, buvusio Palangoje.4. Kuris nors grupės studentas nėra buvęs Palangoje.5. Ne visi grupės studentai yra buvę Palangoje.6. Nė vienas grupės studentas nėra buvęs Palangoje.

Uždavinio 10.10 atsakymai:

1. P (−1) ∨ P (0) ∨ P (1).2. P (−1) ∧ P (0) ∧ P (1).3. ¬P (−1) ∨ ¬P (0) ∨ ¬P (1).4. ¬P (−1) ∧ ¬P (0) ∧ ¬P (1).5. ¬(P (−1) ∨ P (0) ∨ P (1)).6. ¬(P (−1) ∧ P (0) ∧ P (1)).7. P (0) ∨ P (1).8. P (−1) ∧ P (1).

Uždavinio 10.11 sprendimas ir atsakymai:

1. Teiginys galėtų būti užrašytas taip: ∀x∈D M(x, x). Tokiu atveju neiginys būtų:

¬∀x∈D M(x, x) ∼ ∃x∈D ¬M(x, x)

Žodžiais: Yra toks žmogus, kuris savęs nemyli.

2. Teiginį galima užrašyti taip: ∀x∈D ∀y∈D ∀z∈D((M(x, y) ∧M(y, z)

)→M(x, z)

).

Jo neiginys būtų:

¬∀x∈D ∀y∈D ∀z∈D((M(x, y) ∧M(y, z)

)→M(x, z)

)∼

∼ ∃x∈D ∃y∈D ∃z∈D ¬((M(x, y) ∧M(y, z)

)→M(x, z)

)∼

∼ ∃x∈D ∃y∈D ∃z∈D ¬(¬(M(x, y) ∧M(y, z)

)∨M(x, z)

)∼

∼ ∃x∈D ∃y∈D ∃z∈D(M(x, y) ∧M(y, z) ∧ ¬M(x, z)

)Žodžiais: Yra tokie trys žmonės, kurių pirmasis myli antrąjį, antrasis myli trečiąjį, opirmasis trečiojo nemyli.

112

Page 115: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

3. Teiginys matematine forma: ∀x∈D ∃y∈D M(x, y).

Jo neiginys: ¬∀x ∈ D ∃y ∈ D M(x, y) ∼ ∃x ∈ D ¬∃y ∈ D M(x, y) ∼ ∃x ∈ D ∀y ∈D ¬M(x, y).

4. Teiginys matematine forma: ∀x∈D ∃y∈D M(y, x).

Jo neiginys: ¬∀x ∈ D ∃y ∈ D M(y, x) ∼ ∃x ∈ D ¬∃y ∈ D M(y, x) ∼ ∃x ∈ D ∀y ∈D ¬M(y, x).

5. Teiginys matematine forma: ∃y∈D ∀x∈D M(x, y).

Jo neiginys: ¬∃y ∈ D ∀x ∈ D M(x, y) ∼ ∀y ∈ D ¬∀x ∈ D M(x, y) ∼ ∀y ∈ D ∃x ∈D ¬M(x, y).

Uždavinio 10.12 sprendimas:

1.

1. ∃x∀y(P (x, y) ∨Q(y)

)Samprotavimo prielaida.

2. ∃y¬Q(y) Samprotavimo prielaida.3. ∀y

(P (a, y) ∨Q(y)

)Egzistencinė instanciacija iš 1.

4. ¬Q(b) Egzistencinė instanciacija iš 2.5. P (a, b) ∨Q(b) Universali instanciacija iš 3.6. P (a, b) Disjunktyvus silogizmas iš 5 ir 4.7. ∃yP (a, y) Egzistencinė generalizacija iš 6.8. ∃x∃yP (x, y) Egzistencinė generalizacija iš 7.

2. Pažymėkime teiginį žmogus x yra aristokratas predikatu A(x), teiginį žmogus x mėgstaavokadus — predikatu M(x), o teiginį žmogus x yra vegetaras — predikatu V (x). Tokiuatveju samprotavimas būtų toks: ∀x

(A(x)→M(x)

),∀x

(¬M(x) ∨ V (x)

), ∃x¬V (x) ∴

¬∀xA(x).

1. ∀x(A(x)→M(x)

)Samprotavimo prielaida.

2. ∀x(¬M(x) ∨ V (x)

)Samprotavimo prielaida.

3. ∃x¬V (x) Samprotavimo prielaida.4. ¬V (a) Egzistencinė instanciacija iš 3.5. ¬M(a) ∨ V (a) Universali instanciacija iš 2.6. ¬M(a) Disjunktyvus silogizmas iš 5 ir 4.7. A(a)→M(a) Universali instanciacija iš 1.8. ¬A(a) Modus tollens iš 7 ir 6.9. ∀xA(x) Laikina prielaida.10. A(a) Universali instanciacija iš 9.11. A(a) ∧ ¬A(a) Konjunktyvus sujungimas iš 10 ir 8.12. ¬∀xA(x) Prieštaros metodas nuo 9 iki 11.

113

Page 116: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Išvedimo pabaiga galėtų būti ir kitokia:

9. ∃x¬A(x) Egzistencinė generalizacija iš 8.10. ¬∀xA(x) Kvantoriaus neigimas iš 9.

3. Pažymėkime teiginį x yra studentas predikatu S(x), teiginį x mėgsta alų — predikatuA(x), o teiginį x yra darbštus — predikatu D(x). Tokiu atveju samprotavimas būtųtoks: ∀x

(S(x)→ A(x)

),∃x

(S(x) ∧D(x)

)∴ ∃x

(A(x) ∧D(x)

).

1. ∀x(S(x)→ A(x)

)Samprotavimo prielaida.

2. ∃x(S(x) ∧D(x)

)Samprotavimo prielaida.

3. S(a) ∧D(a) Egzistencinė instanciacija iš 2.4. S(a) Atskyrimas iš 3.5. S(a)→ A(a) Universali instanciacija iš 1.6. A(a) Modus ponens iš 5 ir 4.7. D(a) Atskyrimas iš 3.8. A(a) ∧D(a) Konjunktyvus sujungimas iš 6 ir 7.9. ∃x

(A(x) ∧D(x)

)Egzistencinė generalizacija iš 8.

4.

1. ∀x(F (x)→G(x)

)Samprotavimo prielaida.

2. ∀x(A(x)→ F (x)

)Samprotavimo prielaida.

3. ∃x¬G(x) Samprotavimo prielaida.4. ¬G(a) Egzistencinė instanciacija iš 3.5. F (a)→G(a) Universali instanciacija iš 1.6. ¬F (a) Modus tollens iš 5 ir 4.7. A(a)→ F (a) Universali instanciacija iš 2.8. ¬A(a) Modus tollens iš 7 ir 6.9. ∃x¬A(x) Egzistencinė generalizacija iš 8.

Uždavinio 10.13 sprendimas:

1. Tarkime, predikatai apibrėžti aibėje iš vieno elemento: D1 = {a}. Jeigu samprotavimasnepagrįstas šioje aibėje, vadinasi lygčių sistema

P (a) ∧K(a) = tP (a) ∧ ¬R(a) = tK(a)→R(a) = t¬R(a)→ P (a) = k

turės sprendinį. Kadangi P (a)∧K(a) = t, vadinasi P (a) = t irK(a) = t. Be to, kadangiP (a) ∧ ¬R(a) = t, todėl R(a) = k. Tačiau pagal trečiąją lygtį K(a)→ R(a) = t, nors

114

Page 117: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

K(a)→ R(a) = t→ k = k. Taigi gavome prieštarą, o tai reiškia, kad aibėje iš vienoelemento samprotavimas yra pagrįstas.Nagrinėkime aibę iš dviejų elementų: D2 = {a, b}. Šiuo atveju sprendžiame tokią lygčiųsistemą:

(P (a) ∧K(a)

)∨(P (b) ∧K(b)

)= t(

P (a) ∧ ¬R(a))∨(P (b) ∧ ¬R(b)

)= t(

K(a)→R(a))∧(K(b)→R(b)

)= t(

¬R(a)→ P (a))∧(¬R(b)→ P (b)

)= k

Pagal paskutiniąją lygtį turime, kad konjunkcija yra neteisinga, taigi bent viena iškonjunkcijos dalių turi būti neteisinga. Tarkime, kad ¬R(a) → P (a) = k. Tokiuatveju, ¬R(a) = t, P (a) = k, o iš to seka, kad R(a) = k. Kadangi P (a) = k, todėlP (a) ∧ K(a) = k. Kita vertus, pirmojoje lygtyje disjunkcija turi būti teisinga, taigiP (b) ∧K(b) = t, o tai reiškia, kad P (b) = t ir K(b) = t.Trečiojoje lygtyje taip pat yra konjunkcija, kuri yra teisinga, taigi K(b)→ R(b) = t.Kadangi K(b) = t, todėl ir R(b) = t. Kita vertus, P (a) ∧ ¬R(a) = k ∧ ¬k = k ∧ t = k.Be to, P (b) ∧ ¬R(b) = t ∧ ¬t = t ∧ k = k. Tačiau tai prieštarauja antrajai lygčiai, kuriteigia, kad bent vienas iš disjunkcijos elementų turi būti teisingas. Analogišką prieštarągausime ir pačioje pradžioje tarę, kad ¬R(b)→ P (b) = k. Taigi ir šiuo atveju neišeinaįrodyti, kad samprotavimas nepagrįstas.Nagrinėkime aibę iš trijų elementų: D3 = {a, b, c} spręsdami lygčių sistemą:

(P (a) ∧K(a)

)∨(P (b) ∧K(b)

)∨(P (c) ∧K(c)

)= t(

P (a) ∧ ¬R(a))∨(P (b) ∧ ¬R(b)

)∨(P (c) ∧ ¬R(c)

)= t(

K(a)→R(a))∧(K(b)→R(b)

)∧(K(c)→R(c)

)= t(

¬R(a)→ P (a))∧(¬R(b)→ P (b)

)∧(¬R(c)→ P (c)

)= k

Analogiškai praeitam atvejui, tarkime, kad ¬R(a)→ P (a) = k. Iš to seka, kad P (a) =R(a) = k. Kadangi tokiu atveju P (a) ∧ K(a) = k, o viena iš disjunkcijos pirmojojelygtyje dalių turi būti teisinga, tarkime, kad P (b)∧K(b) = t. Iš to ir iš trečiosios lygtiesturime, kad P (b) = K(b) = R(b) = t. Kita vertus P (a)∧¬R(a) = k ir P (b)∧¬R(b) = k,todėl pagal antrąją lygtį P (c) ∧ ¬R(c) = t, o iš to seka, kad P (c) = t, o R(c) = k.Be to, pagal trečiąją lygtį, kadangi R(a) = k, tai ir K(a) = k, analogiškai, kadangiR(c) = k, tai ir K(c) = k.Taigi gavome sprendinį, kuris tenkina visas keturias šitos sistemos lygtis:

P (a) = k P (b) = t P (c) = tK(a) = k K(b) = t K(c) = kR(a) = k R(b) = t R(c) = k

Taigi, įrodėme, kad šis samprotavimas nepagrįstas aibėje D3. Todėl galima tvirtinti,kad duotasis samprotavimas nėra pagrįstas.

2.Pastaba: Sprendžiant uždavinį jums gali padėti toks pastebėjimas: šis samprotavimas nėrapagrįstas, nes tarp jo prielaidų nėra tokios: Visi poetai yra žmonės.

115

Page 118: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Pirmiausia pažymėkime teiginį x yra žmogus predikatu Ž (x), teiginį x yra mirtingaspredikatu M(x), o teiginį x yra poetas predikatu P (x). Tokiu atveju samprotavimąbūtų galima formalizuoti taip:

∀x∈D(Ž (x)→M(x)

), ∃x∈D

(Ž (x) ∧ P (x)

)∴ ∀x∈D

(P (x)→M(x)

)Atkreipkite dėmesį, kad šis samprotavimas yra ekvivalentus 10.8 uždavinio 10.8 variantenagrinėjamam samprotavimui. Taigi jo nepagrįstumo įrodymas analogiškas minėtouždavinio sprendimui.

3. Nagrinėkime aibės D poaibį, susidedantį tik iš vieno elemento: D1 = {a}. Jeigu sam-protavimas nepagrįstas šioje aibėje, vadinasi ši lygčių sistema turi sprendinį:

A(a)→B(a) = tB(a) ∨ C(a) = t

A(a) = tA(a) ∨ C(a) = k

Nesunku matyti, kad trečioji lygtis prieštarauja ketvirtajai. T.y., kadangi A(a) = t, taiir A(a)∨C(a) turi būti t. Taigi, aibės iš vieno elemento neužtenka įrodyti samprotavimonepagrįstumą.Nagrinėkime aibės D poaibį, iš dviejų elementų: D2 = {a, b}. Tokiu atveju reikiaspręsti lygčių sistemą:

(A(a)→B(a)

)∧(A(b)→B(b)

)= t(

B(a) ∨ C(a))∧(B(b) ∨ C(b)

)= t

A(a) ∨ A(b) = t(A(a) ∨ C(a)

)∧(A(b) ∨ C(b)

)= k

Pradėkime nuo trečiosios lygties. Ji rodo, kad bent vienas iš A(a) ir A(b) turi būtiteisingas. Tarkime, A(a) = t. Įstatykime šią reikšmę į pirmąją lygtį. Pagal ją tiekA(a)→B(a) = t, tiek A(b)→B(b) = t. Taigi, iš pirmojo reiškinio turime, kad B(a) = t.Kita vertus, iš ketvirtosios lygties turime, kad bent vienas iš A(a)∨C(a) ir A(b)∨C(b)turi būti klaidingas. Kadangi, A(a) = t, vadinasi A(a)∨C(a) = t, taigi A(b)∨C(b) = k,o tai reiškia, kad A(b) = k ir C(b) = k. Toliau pagal antrąją lygtį tiek B(a)∨C(a) = t,tiek B(b) ∨ C(b) = t, o kadangi C(b) = k, tai iš pastarosios lygties seka, kad B(b) = t.Liko nustatyti tik C(a) reikšmę, bet pasirodo, ji nėra svarbi. Patikrinkime:

(A(a)→B(a)

)∧(A(b)→B(b)

)= (t→ t) ∧ (k→ t) = t∧ t = t(

B(a) ∨ C(a))∧(B(b) ∨ C(b)

)=(t ∨ C(a)

)∧ (t ∨ k) = t∧ t = t

A(a) ∨ A(b) = = t∨ k = t(A(a) ∨ C(a)

)∧(A(b) ∨ C(b)

)=(t ∨ C(a)

)∧ (k ∨ k) = t∧ k = k

Kadangi buvo patenkintos visos lygtys, gavome, lygčių sistemos sprendinį (iš tiesų,kadangi C(a) gali būti tiek, teisingas, tiek neteisingas, gavome du sprendinius), taigiįrodėme, kad uždavinio sąlygoje suformuluotas samprotavimas nėra pagrįstas.

116

Page 119: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

11 pratybos

Turing’o mašina

Teorinė medžiaga: IV dalis.

Uždaviniai pratybomsVisose užduotyse, jei nenurodyta kitaip, laikoma, kad x yra netuščias žodis abėcėlėje {0, 1},ir kad Turing’o mašinos abėcėlė yra aibė Σ = {0, 1, b}, kur b yra tuščias simbolis. Žodis„ištrinti“, kurį mes vartosime šiose pratybose, iš tikro reiškia „įrašyti tuščią simbolį“.Uždavinys 11.1. Sudarykite Turing’o mašiną, skaičiuojančią duotą funkciją f(x).

1. f(x) = 0,

2. f(x) =

1, jei žodyje x yra 3 ar daugiau nulių,0, priešingu atveju.

3. f(x) =

1, jei žodyje x yra bent 2 vienetai,0, jei žodyje x yra mažiau, nei 2 vienetai, bet yra bent 2 nuliai,∞, likusiais atvejais.

Čia (ir toliau) ženklas ∞ reiškia, kad funkcija neapibrėžta. Tokiu atveju Turing’omašina turi nebaigti darbo.

4. Šioje užduotyje laikykime, kad x yra natūralusis skaičius, x > 0, užrašytas juostojedvejetainiu pavidalu. Taigi x negali prasidėti nuliu, nebent x = 0.

f(x) =

x− 1, jei x > 0,0, jei x = 0.

Sprendimas.Prisiminkime, kad mašina baigia darbą tik tuo atveju, kai pakliūna į galutinę būseną,

todėl visada reikia nurodyti galutinių būsenų aibę F .Spręsdami tokius uždavinius, iš pradžių pagalvojame, kaip mašina galėtų atlikti duotą

funkciją, o paskui bandome tai užrašyti mašinos komandomis.

1. Viską triname, važiuodami į dešinę. Kai privažiuojame žodžio pabaigą, užrašom 0 irsustojame. Mašina, kuri tai realizuoja, bus tokia: F = {q1},

0 1 bq0 q0bD q0bD q10N

117

Page 120: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

2. Važiuojame į dešinę, skaičiuodami nulius. Juos skaičiuoti galime keisdami būsenas:randame pirmą nulį — pereiname į kitą būseną, jei būdami toje kitoje būsenoje randamedar vieną nulį — pereiname į trečią būseną, ir t.t… Pagal tai, kokioje būsenoje būdamiprivažiavome žodžio pabaigą, užrašome rezultatą: jei privažiavome būdami būsenoje,kuri reiškia, kad radome bent 3 nulius, užrašome 1, o jei ne, užrašome 0. Viską trintigalime vienu metu su nulių skaičiavimu. Taigi būsenos būtų tokios:

• q0 — ieškome pirmo nulio: vienetus triname, radę nulį jį ištriname ir keičiamebūseną į q1, radę žodžio pabaigą baigiame su atsakymu 0.

• q1 — analogiškai ieškome antro nulio,• q2 — taip pat ieškome trečio nulio,• q3 — jau radome 3 nulius. Triname viską iki žodžio galo ir užrašome atsakymą 1.

Tai realizuojanti mašina galėtų būti tokia: F = {q4},

0 1 bq0 q1bD q0bD q40Nq1 q2bD q1bD q40Nq2 q3bD q2bD q40Nq3 q3bD q3bD q41N

3. Šiame uždavinyje reikia skaičiuoti ir vienetus, ir nulius. Tai galima padaryti dviembūdais:

(a) Važiuodami į dešinę skaičiuojame vienetus. Jei privažiavę žodžio pabaigą esamebūsenoje, reiškiančioje, kad radome 2 vienetus, tai atsakymas yra aiškus, jį už-rašome ir grįždami atgal viską ištriname (arba grįždami atgal viską ištriname irtada užrašome atsakymą). Jei ne, grįždami atgal skaičiuojame nulius (ir kartutriname), ir, pagal tai, kiek radome nulių, arba užrašome atsakymą ir stabdomemašinos darbą (jei funkcija apibrėžta), arba nestabdome mašinos darbo (jei funk-cija neapibrėžta). Kaip matome, bet kuriuo atveju žodį teks perbėgti du kartus.

(b) Vienu metu skaičiuojame ir vienetus, ir nulius (ir kartu triname). Šio metodoprivalumas yra tas, kad žodį perbėgti (nuskaityti) reikės tik vieną kartą — mašinosveikimas užims dvigubai mažiau laiko, o mašinos sudėtingumas (būsenų skaičius)padidės nedaug (jei iš viso padidės).

Pateiksime sprendimą 3b būdu. Savarankiškai realizuokite ir 3a būdą (žr. 11.4 uždavi-nio savarankiškam darbui 1 dalį).Susidarykime būsenų lentelę. Šios lentelės elementai — būsenos. Eilutės lentelėje rodo,kiek mašinai esant nagrinėjamoje būsenoje buvo rasta vienetų, o stulpeliai — kiek buvorasta nulių. Suradę dar vieną nulį arba vienetą, turime keisti ir mašinos būseną. Kitavertus, nėra svarbu, ar rasti 2, 3 ar daugiau nulių (atitinkamai vienetų), svarbu, kad jųrasta bent 2. Be to, jei rasti bent 2 vienetai, tada nėra svarbu ir kiek buvo rasta nulių.Juk tokiu atveju funkcijos rezultatas visada yra 1. Taigi, būsenų lentelė būtų tokia:

0 1 > 20 q0 q1 q21 q3 q4 q5

> 2 q6 q6 q6

118

Page 121: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Jeigu darbo metu mašina pateko į būseną q6 (bent 2 vienetai, nesvarbu kiek nulių),mašinos rezultatas — 1 nepriklausomai nuo to, kiek nulių buvo (ar bus) rasta. Tokiuatveju, galima trinti viską iki žodžio galo ir pabaigoje užrašyti rezultatą.Kitais atvejais, kad būtų galima užrašyti atsakymą (arba mašiną užciklinti), reikiasurasti žodžio pabaigą. Jeigu žodžio pabaigą mašina priėjo būdama būsenoje q2 (0vienetų ir bent 2 nuliai) arba q5 (1 vienetas ir bent 2 nuliai), mašinos rezultatas — 0.Pastebėkime, kad mašinai esant būsenoje q5 ir suradus dar vieną vienetą, mašina turėspereiti į būseną q6 ir jos rezultatas bus jau ne 0, o 1. Taigi vienetus reikia skaičiuoti netir tada, kai buvo rasti bent du nuliai. Todėl būsenų q2 ir q5 negalima suvienodinti, opasiekus šias būsenas vis tiek reikia ieškoti vienetų (kiek bus rasta nulių jau nesvarbu)iki žodžio pabaigos.Jei priėjusi žodžio pabaigą mašina yra būsenose q1 (1 nulis ir 0 vienetų), q3 (0 nuliųir 1 vienetas) ar q4 (po 1 nulį ir vienetą), ji turi nebaigti darbo. Tai galima padarytiįvairiai — pavyzdžiui, važiuoti į dešinę be galo.Be to, nebūtina apibrėžti δ(q0, b), nes tokios komandos niekada neprireiks. Juk žodis xyra netuščias, taigi būsenoje q0, reiškiančioje, kad mašina dar nerado nė vieno vienetonei nulio, mašina negali būti jau priėjusi žodžio pabaigą.Kad būtų aiškiau, galima susidaryti kitokią būsenų lentelę: tegu skirtingos lentelės eilu-tės aprašo skirtingas būsenas. Pirmajame stulpelyje nurodykime būsenos pavadinimą,antrajame — kiek mašinai esant toje būsenoje buvo rasta nulių, trečiajame — kiekvienetų, o ketvirtajame — koks būtų mašinos rezultatas, jeigu būdama šioje būsenojemašina prieitų žodžio pabaigą. Lentelė atrodytų taip:

Nuliai Vienetai Rezultatasq0 0 0 —q1 1 0 ∞q2 > 2 0 0q3 0 1 ∞q4 1 1 ∞q5 > 2 1 0q6 > 0 > 2 1

Taigi, mašina galėtų būti tokia: F = {q7},

0 1 bq0 q1bD q3bD —q1 q2bD q4bD q1bDq2 q2bD q5bD q70Nq3 q4bD q6bD q3bDq4 q5bD q6bD q4bDq5 q5bD q6bD q70Nq6 q6bD q6bD q71N

4. Pažiūrėkime, kas atsitinka, atimant vienetą iš dvejetainio skaičiaus. Pavyzdžiui:

− 1010001

100111

119

Page 122: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Matome, kad visi skaičiaus gale iš eilės einantys nuliai virsta vienetais, pirmas nuo galovienetas virsta nuliu, o kiti skaitmenys lieka nepakitę. Taigi, mašina galėtų veikti taip:visų pirma nuvažiuoti nieko nekeisdama iki skaičiaus pabaigos, o tada, važiuodamaiš dešinės į kairę, visus nulius versti vienetais, kol randa pirmą vienetą, kurį pakeitusinuliu baigia darbą. Bet dar reikia išnagrinėti atskirus atvejus, kuriems ši bendra schemanetinka:

(a) Visų pirma, jei x = 0, atimties veiksmas neatliekamas. Ar x = 0, patikrinti yranesunku, užtenka patikrinti pirmą skaitmenį. Jei tai 0, tai visas skaičius x = 0,nes nenulinis skaičius negali prasidėti nuliu. Taigi, algoritmą teks papildyti šiuotikrinimu: jei pirmas skaitmuo yra 0, baigti darbą (nes tokiu atveju rezultatas irturi būti 0, kuris ir lieka užrašytas juostoje, nieko nereikia keisti), priešingu atvejuvykdyti aukščiau aprašytą algoritmą.

(b) Rezultatas, jei ne nulis, irgi negali prasidėti nuliu. O taip atsitiks, jei atliksimeaukščiau aprašytą algoritmą, pavyzdžiui, skaičiui x = 100: juostoje liks užrašyta011, nes, kaip matėme, vienetą pakeisime nuliu. Kaip to išvengti? Galimi dubūdai:

i. Patikrinti tai prieš atliekant veiksmus. Toks atvejis bus tik tada, kai skaičiujex yra vienintelis vienetas. Taigi, galime važiuodami į dešinę (vis tiek mumsreikia nuvažiuoti iki skaičiaus pabaigos, tai kartu galime atlikti ir kai ką nau-dingo) ieškoti, ar rasime dar bent vieną vienetą. Jei taip, tai toliau atliksimeaukščiau aprašytą algoritmą, o jei ne, tai atlikinėdami aukščiau aprašytą al-goritmą mes vienetą ne keisime į nulį, bet ištrinsime iš viso. Žodžiu, mumsreikės užrašyti komandomis du algoritmus: aukščiau aprašytą ir modifikuotą.

ii. Patikrinti tai atlikus veiksmus. Įvykdę aukščiau aprašytą algoritmą mes ne-baigiame darbo, o patikriname, ar užrašytas nulis nėra pirmas skaitmuo. Tamteks pavažiuoti per vieną poziciją į kairę ir patikrinti, ar ten tuščias simbolis,ar ne. Jei ne, galime baigti darbą, o jei taip, tai teks grįžti ir ištrinti užrašytąnulį, nes jis yra pirmas skaičiaus skaitmuo.

(c) Na ir dar reikia neužmiršti, kad nulis visgi gali būti pirmas rezultato skaitmuotuo atveju, jei visas skaičius yra nulis. Bet tai gali atsitikti tik tada, kai x = 1.Šį atvejį irgi teks patikrinti atskirai, nes jei to nepadarysime, tai ištrinsime gautąpirmą skaitmenį nulį, ir juostoje nebeliks užrašyta nieko, o turi likti nulis. Tai irgigalime daryti keliais būdais:

i. Pradžioje dar patikrinkime, ar yra antras skaitmuo. Jei nėra, tai skaičiusx = 1, turėsime jį ištrinti, užrašyti nulį ir baigti, o jei yra, tai galėsime atliktikurį nors iš aukščiau aprašytų algoritmų.

ii. Patikrinkime, ar paskutinis skaitmuo yra vienetas. Jei taip, pakeiskime jįnuliu ir baikime darbą. Iš tikro, jei x = 1, tai rezultatas bus lygus 0, kaip irturėtų gautis. Jei x > 1, tai vėlgi gausime teisingą rezultatą. O jei paskutinisskaitmuo nėra vienetas, tai galėsime atlikti kurį nors iš aukščiau aprašytųalgoritmų.

iii. Jeigu programos darbo pabaigoje nulis buvo ištrintas iš skaičiaus pradžios, pa-tikrinkime ar tai nebuvo vienintelis skaičiaus skaitmuo. Jeigu taip, įrašykimetą nulį atgal.

Parašykime mašiną, realizuojančią atvejus 4a, 4(b)ii ir 4(c)ii. Mums reikės tokių būse-nų:

120

Page 123: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

• q0 — jei nulis, reiškia x = 0, užrašome atsakymą 0 ir sustojam, jei vienetas, jįpaliekame ir keičiame būseną į q1. Kadangi žodis ne tuščias, šioje vietoje rasti bnegalima.

• q1 — važiuojame į dešinę iki žodžio galo, radę žodžio galą grįžtame prie paskutinioskaičiaus skaitmens, keičiame būseną į q2.

• q2 — paskutinis skaitmuo tuščias būti negali. Jeigu paskutinis skaitmuo yra vie-netas, užtenka jį pakeisti nuliu ir sustoti, o jeigu nulis, einame į būseną q3.

• q3 — einame link skaičiaus pradžios ir visus nulius keičiame į vienetus, o pirmą (nuogalo) sutiktą vienetą keičiame į nulį. Kadangi, x 6= 0 (su tokiu atveju susidorojomebūsenoje q0), vadinasi bent vienas vienetas skaičiuje yra, todėl šioje būsenoje esantrasti b neįmanoma. Ir visgi tai atlikę dar nesustojame, nes norime patikrinti, ardar liko simbolių. Jei jų neliko, tai bus negerai, nes juostoje liks užrašytas skaičiussu nuliu priekyje. Taigi pakeitę pirmą pasitaikiusį vienetą į nulį, einame į būsenąq4 ir tikriname kas yra prieš pakeistąjį simbolį.

• q4 — jei prieš pakeistąjį simbolį randame skaitmenį, tai viskas gerai, galime sustoti,o jei tuščią ląstelę, tai teks grįžti atgal ir

• q5 — ištrinti užrašytą nulį priekyje.

Ši mašina atrodytų taip: F = {q6},

0 1 bq0 q60N q11D —q1 q10D q11D q2bKq2 q31K q60N —q3 q31K q40K —q4 q60N q61N q5bDq5 q6bN — —

Savarankiškai realizuokite kitus galimus mašinų variantus (žr. 11.4 uždavinio savaran-kiškam darbui 2 dalį).

Uždavinys 11.2. Duota tokia Turing’o mašina, atvaizduojanti netuščius žodžius abėcėlėje{0, 1} į netuščius žodžius abėcėlėje {0, 1}:

0 1 bq0 q10D q21N q0bDq1 q21N q11D q1bD

kur F = {q2}.

1. Koks bus mašinos darbo rezultatas, jei pradiniai duomenys yra x = 1111?2. Jei x = 0000?3. Jei x = 011010?4. Jei x = 0111?5. Kokią funkciją skaičiuoja Turing’o mašina?

Sprendimas.

121

Page 124: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

1. 1111.2. 0100.3. 011110.4. Neapibrėžtas.5.

f(x) =

x, jei x prasideda vienetu,01n1y, jei x = 01n0y,∞, jei x prasideda nuliu, ir daugiau nulių jame nėra.

Čia 1n žymi iš eilės einančių n vienetų seką, kur n > 0.

Uždavinys 11.3. Šioje užduotyje laikysime, kad skaičius n juostoje atvaizduojamas ne skai-čiaus n dvejetaine išraiška, o ilgio n + 1 seka, sudaryta tik iš vienetų. Sudarykite Turing’omašiną, sudedančią du natūraliuosius skaičius, t. y. skaičiuojančią funkciją f(m,n) = m+n,kur m > 0, n > 0. Turing’o mašinos abėcėlė bus aibė Σ = {1, b}, kur b yra tuščias simbolis.Laikysime, kad skaičiai m ir n juostoje atskirti lygiai vienu tuščiu simboliu.Sprendimas. Turing’o mašinos rezultatas bus skaičius m + n, kurį juostoje vaizduos ilgiom + n + 1 vienetų seka. Tokį rezultatą turime gauti. O pradžioje juostoje turime dvi —atitinkamai ilgio m+1 ir n+1 — vienetų sekas. Koks galėtų būti algoritmas? Paprasčiausiaisujungti tas dvi duotas vienetų sekas, atskirtas vienu tuščiu simboliu, t. y. vietoj to sekasskiriančio tuščio simbolio įrašyti vienetą. Jei tai padarytume, gautume iš viso (m + 1) +(n + 1) + 1 = m + n + 3 ilgio vienetų seką, t. y. dviem vienetais ilgesnę, negu mums reikiagauti. Todėl kažkur du vienetus reikia ištrinti. Galbūt paprasčiausia bus juos ištrinti iškart,pirmos vienetų sekos (atitinkančios pirmąjį skaičių) pradžioje. Atskiras atvejis: o jei pirmojevienetų sekoje nėra dviejų vienetų? Tai reiškia, kad joje yra tik vienas vienetas, t. y. skaičiusm = 0. Tada suma m+ n = n, t. y. turi likti tik skaičių n vaizduojanti vienetų seka.

Reziumuojant, algoritmas galėtų būti toks. Ištriname pirmos vienetų sekos pirmą vienetą.Jei antro vieneto nėra, baigiame darbą. Jei antras vienetas yra, jį ištriname ir važiuojamepirmyn. Pasiekę pirmos vienetų sekos pabaigą, vietoj tuščio simbolio užrašome vienetą irbaigiame darbą.

Mums reikės tokių būsenų:

• q0 — ištriname pirmą vienetą, važiuojame dešinėn, keičiame būseną į q1.• q1 — ištriname ir antrą vienetą, jei toks yra, važiuojame dešinėn, pereiname į būsenąq2. Jei nėra, baigiame darbą.

• q2 — važiuojame iki pirmosios vienetų sekos pabaigos, kur užrašome vienetą.

Ši mašina atrodytų taip: F = {q3},

1 bq0 q1bD —q1 q2bD q3bNq2 q21D q31N

122

Page 125: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždaviniai savarankiškam darbuiUždavinys 11.4. Sudarykite Turing’o mašiną, skaičiuojančią duotą funkciją f(x).

1. Funkcija f(x) apibrėžta taip, kaip 11.1 uždavinio 3 dalyje. Realizuokite mašiną, api-būdintą uždavinio sprendimo 3a dalyje.

2. Funkcija f(x) apibrėžta taip, kaip 11.1 uždavinio 4 dalyje. Realizuokite kitus mašinųvariantus, kurie buvo aptarti uždavinio sprendime:

(a) Atvejai 4a, 4(b)i ir 4(c)i,(b) Atvejai 4a, 4(b)i ir 4(c)ii,(c) Atvejai 4a, 4(b)i ir 4(c)iii,(d) Atvejai 4a, 4(b)ii ir 4(c)i,(e) Atvejai 4a, 4(b)ii ir 4(c)iii.

3. Tarkime, x = x1x2 · · ·xn. Tada

f(x) =

x, jei n = 1,x1x2 · · ·xn−2xn−1xnxn−1, priešingu atveju.

Kitaip tariant, jei žodyje yra bent du ženklai, Turing’o mašina nukopijuoja priešpasku-tinį ženklą į žodžio pabaigą.

4. f(x) = x̃, kur x̃ yra žodis x, parašytas iš kito galo, pavyzdžiui, jei x = 11101, taix̃ = 10111.

123

Page 126: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždavinių savarankiškam darbui sprendimai arba atsa-kymai

Uždavinio 11.4 sprendimas ir atsakymai:

1. Reikės tokių būsenų:

• q0 — dar nerasta nė vieno vieneto. Rastus skaičius paliekame, einame į dešinę, oradę b einame į būseną, kuri grįždama skaičiuos nulius.

• q1 — rastas vienas vienetas. Elgiamės analogiškai kaip būsenos q0 atveju.• q2 — rasti bent du vienetai. Daugiau nei vienetų, nei nulių skaičiuoti nereikia.

Kaip ten bebūtų, turime viską ištrinti, taigi einame į dešinę iki b, užrašome rezul-tatą ir pereiname į būseną kuri grįždama į kairę viską ištrins (q6).

• q3 — skaičiuje mažiau, nei du vienetai, o nulių dar nerasta nė vieno. Taigi grįždamiį kairę viską triname ir skaičiuojame nulius. Radę b cikliname.

• q4 — skaičiuje mažiau, nei du vienetai, rastas vienas nulis. Elgiamės analogiškikaip būsenos q3 atveju.

• q5 — skaičiuje mažiau, nei du vienetai, tačiau rasti bent du nuliai. Daugiau niekoskaičiuoti nereikia, tik einant į kairę viską trinti ir radus b užrašyti rezultatą.

• q6 — rasti bent du vienetai, rezultatas užrašytas, reikia einant į kairę viską ištrinti,o radus b baigti darbą.

Tokiu atveju mašina būtų tokia: F = {q7},

0 1 bq0 q00D q11D q3bKq1 q10D q21D q3bKq2 q20D q21D q61Kq3 q4bK q3bK q3bKq4 q5bK q4bK q4bKq5 q5bK q5bK q70Nq6 q6bK q6bK q7bN

2. (a) Reikės tokių būsenų:• q0 — jei nulis, reiškia x = 0, užrašome atsakymą 0 ir sustojam, jei vienetas,

jį paliekame ir keičiame būseną į q1. Kadangi žodis ne tuščias, šioje vietojerasti b negalima.

• q1 — tikriname, ar yra antras skaitmuo, ir kartu ieškome dar vieno vieneto.Jei yra antras skaitmuo, ir tai yra nulis, pereiname į būseną q2 (važiavimoį dešinę ieškant vieneto būsena), jei tai vienetas — į būseną q3 (važiavimoį dešinę jau radus vienetą būsena), o jei antro skaitmens nėra (randame b)— tai reikės grįžti ir vietoj vieneto užrašyti nulį. Tam galima bus panaudotibūseną q5.

• q2 — važiuojame į dešinę iki žodžio galo, ieškodami vieneto. Jei randame,pereiname į būseną q3, o jei privažiuojame skaičiaus pabaigą, taip jo ir neradę,tai reiškia, kad skaičiuje yra tik vienas vienetas — pirmasis skaitmuo. Tokiuatveju visus nulius keisime vienetais, o vietoj to vieneto reikės parašyti b. Taibus daroma būsenoje q4.

124

Page 127: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

• q3 — važiuojame į dešinę iki žodžio galo, jau žinodami, kad radome antrąvienetą. Todėl galėsime (būsenoje q5) visus nulius keisti į vienetus, o pirmąsutiktą vienetą keisti į nulį ir baigti darbą.

• q4 — einame link skaičiaus pradžios ir visus nulius keičiame į vienetus, o pirmą(nuo galo) sutiktą vienetą keičiame į b ir baigiame darbą. Kadangi, x 6= 0 (sutokiu atveju susidorojome būsenoje q0), vadinasi bent vienas vienetas skaičiujeyra, todėl šioje būsenoje esant rasti b neįmanoma.

• q5 — einame link skaičiaus pradžios ir visus nulius keičiame į vienetus, o pirmą(nuo galo) sutiktą vienetą keičiame į nulį ir baigiame darbą. Kadangi, x 6=0 (su tokiu atveju susidorojome būsenoje q0), vadinasi bent vienas vienetasskaičiuje yra, todėl šioje būsenoje esant rasti b neįmanoma.

Tokiu atveju mašina būtų tokia: F = {q6},

0 1 bq0 q60N q11D —q1 q20D q31D q5bKq2 q20D q31D q4bKq3 q30D q31D q5bKq4 q41K q6bN —q5 q51K q60N —

(b) Reikės tokių būsenų:

• q0 — jei nulis, reiškia x = 0, užrašome atsakymą 0 ir sustojam, jei vienetas,jį paliekame ir keičiame būseną. Kadangi žodis ne tuščias, šioje vietoje rastib negalima.

• q1 — tikriname, ar yra dar bent vienas vienetas. Jei randame vienetą, perei-name į kitą būseną (q2), jei randame nulį, pasiliekame toje pačioje. Jei radomeb, vadinasi skaičius susideda iš vienintelio vieneto ir (galbūt) po jo sekančiųnulių. Einame į tą pažyminčią būseną q3.

• q2 — skaičiuje vienetas ne vienintelis. Einame iki skaičiaus pabaigos, suradęb grįžtame į kairę, į paskutinįjį skaičiaus skaitmenį ir pereiname į kitą būseną(q5).

• q3 — skaičiuje vienintelis vienetas, skaitymo galvutė rodo į paskutinį skait-menį. Jeigu tai 1, vadinasi x = 1 ir rezultatas turi būti 0. Vienetą keičiameį nulį ir baigiame darbą. Jeigu paskutinis skaitmuo 0, einame į kitą būseną,kuri visus nulius keis į vienetus, o pirmąjį vienetą ištrins — tai bus pirmasisskaitmuo ir vienintelis skaičiaus vienetas.

• q4 — skaičiuje vienintelis vienetas, bet x 6= 1, taigi eidami kairėn visus nu-lius keičiame vienetais, o pirmą pasitaikiusį (ir vienintelį skaičiaus) vienetąištriname.

• q5 — skaičiuje yra daugiau nei vienas vienetas, taigi eidami kairėn visus nuliuskeičiame vienetais, o pirmąjį vienetą keičiame nuliu.

125

Page 128: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Tokiu atveju mašina būtų tokia: F = {q6},

0 1 bq0 q60N q11D —q1 q10D q21D q3bKq2 q20D q21D q5bKq3 q41K q60N —q4 q41K q6bN —q5 q51K q60N —

(c) Reikės tokių būsenų:• q0 — jei nulis, reiškia x = 0, užrašome atsakymą 0 ir sustojam, jei vienetas,

jį paliekame ir keičiame būseną į q1. Kadangi žodis ne tuščias, šioje vietojerasti b negalima.

• q1 — važiuojame į dešinę iki žodžio galo, ieškodami dar vieno vieneto. Jeirandame, pereiname į būseną q2, o jei privažiuojame skaičiaus pabaigą, taipjo ir neradę, tai reiškia, kad skaičiuje yra tik vienas vienetas — pirmasisskaitmuo. Tokiu atveju visus nulius keisime vienetais, o vietoj to vienetoreikės parašyti b. Tai bus daroma būsenoje q3.

• q2 — važiuojame į dešinę iki žodžio galo, jau žinodami, kad radome antrąvienetą. Todėl galėsime (būsenoje q4) visus nulius keisti į vienetus, o pirmąsutiktą vienetą keisti į nulį ir baigti darbą.

• q3 — einame link skaičiaus pradžios ir visus nulius keičiame į vienetus, opirmą (nuo galo) sutiktą vienetą keičiame į b, tada pasislenkame į dešinę ireiname į būseną q5, kad patikrintume, ar juostoje dar yra įrašyta skaitmenų.Kadangi, x 6= 0 (su tokiu atveju susidorojome būsenoje q0), vadinasi bentvienas vienetas skaičiuje yra, todėl šioje būsenoje esant rasti b neįmanoma.

• q4 — einame link skaičiaus pradžios ir visus nulius keičiame į vienetus, opirmą (nuo galo) sutiktą vienetą keičiame į nulį ir baigiame darbą. Kadangižinome, kad skaičiuje yra bent du vienetai, todėl šioje būsenoje esant rasti bneįmanoma.

• q5 — tikriname, ar juosta ne tuščia. Jeigu galvutė rodo į 1, vadinasi viskasgerai ir galime baigti darbą. Į 0 galvutė rodyti negali. Tačiau jeigu galvutėrodo į b, vadinasi juosta tuščia, pradžioje juostoje buvo įrašyta 1 (t.y. x = 1),taigi rezultatas turi būti 0. Todėl įrašome į šį langelį 0.

Tokiu atveju mašina būtų tokia: F = {q6},

0 1 bq0 q60N q11D —q1 q10D q21D q3bKq2 q20D q21D q4bKq3 q31K q5bD —q4 q41K q60N —q5 — q61N q60N

(d) Reikės tokių būsenų:• q0 — jei nulis, reiškia x = 0, užrašome atsakymą 0 ir sustojam, jei vienetas,

jį paliekame ir keičiame būseną į q1. Kadangi žodis ne tuščias, šioje vietojerasti b negalima.

126

Page 129: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

• q1 — tikriname, ar yra antras skaitmuo. Jei yra (randame 0 arba 1), taipereiname į būseną q2, jei ne (randame b) — tai reikės grįžti ir vietoj vienetoužrašyti nulį. Tai padarysime būsenoje q3.

• q2 — važiuojame į dešinę iki žodžio galo, radę žodžio galą grįžtame į paskutinįskaičiaus skaitmenį.

• q3 — vietoj vienintelio skaičiaus skaitmens — vieneto — užrašome nulį irbaigiame darbą.

• q4 — einame link skaičiaus pradžios ir visus nulius keičiame į vienetus, o pirmą(nuo galo) sutiktą vienetą keičiame į nulį. Kadangi, x 6= 0 (su tokiu atvejususidorojome būsenoje q0), vadinasi bent vienas vienetas skaičiuje yra, todėlšioje būsenoje esant rasti b neįmanoma. Ir visgi tai atlikę dar nesustojame,nes norime patikrinti, ar dar liko simbolių. Jei jų neliko, tai bus negerai, nesjuostoje liks užrašytas skaičius su nuliu priekyje. Taigi pakeitę pirmą pasitai-kiusį vienetą į nulį, einame į būseną q5 ir tikriname kas yra prieš pakeistąjįsimbolį.

• q5 — jei prieš pakeistąjį simbolį randame skaitmenį, tai viskas gerai, galimesustoti, o jei tuščią ląstelę, tai teks grįžti atgal ir

• q6 — ištrinti užrašytą nulį priekyje.

Tokiu atveju mašina būtų tokia: F = {q7},

0 1 bq0 q70N q11D —q1 q20D q21D q3bKq2 q20D q21D q4bKq3 — q70N —q4 q41K q50K —q5 q70N q71N q6bDq6 q7bN — —

Beje, atkreipkite dėmesį, kad galime sumažinti būsenų skaičių, sujungę būsenas q3ir q6 į vieną būseną.

(e) Reikės tokių būsenų:

• q0 — jei nulis, reiškia x = 0, užrašome atsakymą 0 ir sustojam, jei vienetas,jį paliekame ir keičiame būseną į q1. Kadangi žodis ne tuščias, šioje vietojerasti b negalima.

• q1 — važiuojame į dešinę iki žodžio galo, radę žodžio galą grįžtame į paskutinįskaičiaus skaitmenį.

• q2 — einame link skaičiaus pradžios ir visus nulius keičiame į vienetus, o pirmą(nuo galo) sutiktą vienetą keičiame į nulį. Kadangi, x 6= 0 (su tokiu atvejususidorojome būsenoje q0), vadinasi bent vienas vienetas skaičiuje yra, todėlšioje būsenoje esant rasti b neįmanoma. Ir visgi tai atlikę dar nesustojame,nes norime patikrinti, ar dar liko simbolių. Jei jų neliko, tai bus negerai, nesjuostoje liks užrašytas skaičius su nuliu priekyje. Taigi pakeitę pirmą pasitai-kiusį vienetą į nulį, einame į būseną q3 ir tikriname kas yra prieš pakeistąjįsimbolį.

• q3 — jei prieš pakeistąjį simbolį randame skaitmenį, tai viskas gerai, galimesustoti, o jei tuščią ląstelę, tai teks grįžti atgal ir

127

Page 130: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

• q4 — ištrinti užrašytą nulį priekyje. Tačiau ir dabar baigti darbo negalime, nesturime įsitikinti, kad tai ne vienintelis skaičiaus skaitmuo. Taigi, važiuojamedar kartą į dešinę.

• q5 — tikriname, ar juosta ne tuščia. Jeigu galvutė rodo į 1, vadinasi viskasgerai ir galime baigti darbą. Į 0 galvutė rodyti negali. Tačiau jeigu galvutėrodo į b, vadinasi juosta tuščia, pradžioje juostoje buvo įrašyta 1 (t.y. x = 1),taigi rezultatas turi būti 0. Todėl įrašome į šį langelį 0.

Tokiu atveju mašina būtų tokia: F = {q6},

0 1 bq0 q60N q11D —q1 q10D q11D q2bKq2 q21K q30K —q3 q60N q61N q4bDq4 q5bD — —q5 — q61N q60N

Beje, atkreipkite dėmesį, kad galime sumažinti būsenų skaičių, sujungę būsenas q4ir q5 į vieną būseną.

3. Algoritmas galėtų būti toks. Visų pirma nuvažiuojame iki žodžio pabaigos. Tada grįž-tame prie antro nuo galo ženklo (jei tai tuščias ženklas, tai reiškia, kad žodyje yratik vienas ženklas, todėl nieko nereikia keisti — algoritmas baigia darbą), jį įsimena-me keisdami būseną, nuvažiuojame į žodžio pabaigą ir jį užrašome. Šiam algoritmuirealizuoti mums reikės tokių būsenų:

• q0 — važiuojame iki žodžio pabaigos.• q1 — važiuojame iki priešpaskutinio ženklo.• q2 — įsimename priešpaskutinį ženklą, keisdami būseną į q3 (jei tai 0) ar į q4 (jei

tai 1).• q3 — važiuojame iki žodžio pabaigos ir užrašome atsakymą 0.• q4 — važiuojame iki žodžio pabaigos ir užrašome atsakymą 1.

Tai realizuojanti mašina galėtų būti tokia: F = {q5},

0 1 bq0 q00D q01D q1bKq1 q20K q21K —q2 q30D q41D q5bNq3 q30D q31D q50Nq4 q40D q41D q51N

4. Lengviau sudaryti mašiną su didesne abėcėle Σ = {0, 1, ∗, b}, kur žvaigždutės gali būtinaudojamos atskirti pradinį žodį nuo sudaromo rezultato.Iš pradžių aprašykime algoritmą, kurį taikysime. Kadangi pradžioje skaitymo galvutėrodo į pirmąjį žodžio skaitmenį, paeikime vieną langelį į kairę ir padėkime jame skirtuką— ∗. Toliau, grįžkime į dešinę, perskaitykime skaitmenį, pakeiskime jį į žvaigždutę irneškime jį (panaudodami skirtingas būsenas nuliui ir vienetui) per visas žvaigždutes, o

128

Page 131: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

vėliau ir skaitmenis į kairę iki b ir ten užrašykime. Tada per skaitmenis ir žvaigždutesgrįžkime į dešinę iki pirmo skaitmens už žvaigždučių ir perneškime jį. Taip darykimetol, kol eidami į dešinę už žvaigždučių rasime b. Tada beliks einant kairėn ištrinti visasžvaigždutes. Algoritmo veikimo pavyzdys atrodytų taip:

b b b b b b b 1 0 1 1 0 bb b b b b b ∗ 1 0 1 1 0 bb b b b b 1 ∗ ∗ 0 1 1 0 bb b b b 0 1 ∗ ∗ ∗ 1 1 0 bb b b 1 0 1 ∗ ∗ ∗ ∗ 1 0 bb b 1 1 0 1 ∗ ∗ ∗ ∗ ∗ 0 bb 0 1 1 0 1 ∗ ∗ ∗ ∗ ∗ ∗ bb 0 1 1 0 1 ∗ b b b b b b

Taigi, reikės tokių būsenų:

• q0 — pradinė būsena. Nulį ar vienetą paliekame, einame į kairę, kur randame b,vietoje jo užrašome ∗, einame į dešinę ir pereiname į kitą būseną.

• q1 — nuskaitome skaitmenį, pakeičiame jį į žvaigždutę ir pasiruošiame nešti į kairę.Jeigu radome nulį, į kairę jį neš būsena q2, o jei vienetą — q3. Taip pat šią būsenągalima panaudoti pirmojo skaitmens už žvaigždučių suradimui (pernešant pirmąjįskaitmenį to tiesiog nereikia). Taigi, perskaitę ∗ eisime į dešinę tol, kol surasimeskaitmenį arba b. Jeigu radome b, tai reikš, kad visas skaičius jau apverstas, belikspereiti į būseną, kuri ištrins visas žvaigždutes. Tegul tai būna būsena q5.

• q2 — nulio pernešimo būsena. Einame į kairę palikdami visas žvaigždutes, ovėliau ir nulius ar vienetus tol, kol surandame b. Tame langelyje įrašome nulį irpereiname į kitą būseną (q4).

• q3 — vieneto pernešimo būsena. Analogiška q2, tik įrašome ne nulį, o vienetą.• q4 — grįžimo pasiimti kito skaitmens būsena. Einame per visus nulius ir vienetus

į dešinę iki žvaigždutės, ją suradę pereiname į būseną q1, kuri už žvaigždutės suraspirmąjį skaitmenį. Beje, q4 tam panaudoti negalime, nes iki žvaigždučių visusskaitmenis reikia praleisti.

• q5 — žvaigždučių trynimo būsena. Tiesiog einame į kairę, triname visas žvaigždu-tes iki pirmo pasitaikiusio skaitmens.

Tokiu atveju mašina būtų tokia: F = {q6},

0 1 ∗ bq0 q00K q01K — q1∗Dq1 q2∗K q3∗K q1∗D q5bKq2 q20K q21K q2∗K q40Dq3 q30K q31K q3∗K q41Dq4 q40D q41D q1∗D —q5 q60N q61N q5bK —

129

Page 132: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

12 pratybos

Abėcėlinis kodavimas.Optimalus abėcėlinis kodavimas

Teorinė medžiaga: V dalies 1–2 skyriai.

Uždaviniai pratybomsŠiose pratybose m ir n atitinkamai žymi aibių A ir B galias |A| ir |B|.

Uždavinys 12.1. Tegu B = {0, 1}. Ar kodas c : A → B∗ iššifruojamas? Ar tai p-kodas?

1. A = {A,B}, c(A) = 0, c(B) = 01.2. A = {A,B,C}, c(A) = 10, c(B) = 01, c(C) = 1000.3. A = {A,B,C,D}, c(A) = 001, c(B) = 1, c(C) = 01, c(D) = 000.4. A = {A,B,C,D,E}, c(A) = 00, c(B) = 10, c(C) = 101, c(D) = 110, c(E) = 1001.

Sprendimas.

1. Iššifruojamas, nes užkoduotą seką visada galėsim dekoduoti vienareikšmiškai: jei užnulio stovi vienetas, tai buvo užkoduotas B, priešingu atveju A.Ne p-kodas, nes simbolio A kodas 0 yra priešdėlis simbolio B kodo 01.

2. Iššifruojamas, nes užkoduotą seką visada galėsime dekoduoti vienareikšmiškai: susi-skirstome seką po du simbolius ir bandome dekoduoti nuo pradžios. Porą 01 visadadekoduojame B, o porą 10 priklausomai nuo kitos poros: jei kita pora yra 00, tai abidviporas dekoduojame C, priešingu atveju, pirmąją porą dekoduojame A, o antrajai poraišias taisykles taikome iš naujo.Kodas nėra p-kodas, nes simbolio A kodas 10 yra priešdėlis simbolio C kodo 1000.

3. Yra p-kodas, nes joks elementarus kodas nėra kito elementaraus kodo priešdėlis. Ži-nome, kad p-kodas visada yra iššifruojamas, todėl tai ir iššifruojamas kodas. (Tai,kad kodas iššifruojamas, galima įrodyti ir tiesiogiai, kaip ankstesnėse užduoties dalyse,įrodant, kad visada galėsime dekoduoti vienareikšmiškai.)

4. Nėra iššifruojamas, nes c(CB) = c(BD) = 10110. Galima pateikti ir kitą pavyzdį:c(CAD) = c(BEB) = 10100110. Kartu nėra ir p-kodas, nes žinome, kad bet kurisp-kodas yra iššifruojamas.

130

Page 133: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždavinys 12.2. Tegu A = {a1, a2, . . . , a12}, B = {0, 1, 2, 3}. Sudarykite p-kodą c : A →B∗, kurio elementarių kodų ilgiai yra 1, 1, 1, 2, 2, 3, 3, 3, 3, 4, 4, 5, jei toks egzistuoja.Sprendimas. Pirmiausia patikrinsim, ar toks p-kodas egzistuoja, pagal Krafto-Makmilanonelygybę. Šiuo atveju m = 12, n = 4, d1 = d2 = d3 = 1, d4 = d5 = 2, d6 = d7 = d8 = d9 = 3,d10 = d11 = 4 ir d12 = 5.

m∑i=1

1ndi

= 3 · 14 + 2 · 1

42 + 4 · 143 + 2 · 1

44 + 1 · 145 = 969

1024 6 1

Taigi nelygybė yra patenkinta ir toks p-kodas egzistuoja.Sudarydami jį pagal teorijoje aprašytą procedūrą (penktos kurso dalies pirmo skyriaus

pabaigoje esantis pavyzdys), gauname tokį kodą (be abejo, jis ne vienintelis):

i 1 2 3 4 5 6 7 8 9 10 11 12c(ai) 0 1 2 30 31 320 321 322 323 3300 3301 33020

Uždavinys 12.3. Informacijos šaltiniui su abėcėle A = {a1, a2, . . . , a9} ir tikimybėmis0,29; 0,21; 0,16; 0,11; 0,08; 0,07; 0,04; 0,03; 0,01 sudarykite n-narį Šenono-Fano kodą c : A →B∗ (čia n = |B|). Raskite kodo c vidutinį elementarių kodų ilgį l(c).

1. B = {0, 1}.2. B = {0, 1, 2, 3}.

Sprendimas. Dar kartą reikėtų paminėti, kad čia pateikti kodai nėra vieninteliai teisingiuždavinio atsakymai.

1. Iš pradžių elementariems kodams parenkame tokius ilgius d1, d2, . . . , dm, kad būtų1ndi

6 pi <1

ndi−1 , i = 1, . . . ,m,

čia m = 9, n = 2, p1 = 0,29, p2 = 0,21, p3 = 0,16, p4 = 0,11, p5 = 0,08, p6 = 0,07, p7 =0,04, p8 = 0,03, p9 = 0,01. Tada sudarome p-kodą su duotais ilgiais kaip uždavinyje12.2. Gauname tokius ilgius ir, pavyzdžiui, tokį kodą.

i 1 2 3 4 5 6 7 8 9pi 0,29 0,21 0,16 0,11 0,08 0,07 0,04 0,03 0,01di 2 3 3 4 4 4 5 6 7c(ai) 00 010 011 1000 1001 1010 10110 101110 1011110

Vidutinis elementarių kodų ilgis yra:

l(c) = 2·0,29+3·0,21+3·0,16+4·0,11+4·0,08+4·0,07+5·0,04+6·0,03+7·0,01 = 3,18

2. Šį kartą n = 4. Vėlgi, pirmiausia parenkame elementariems kodams ilgius, po tosudarome patį p-kodą:

i 1 2 3 4 5 6 7 8 9pi 0,29 0,21 0,16 0,11 0,08 0,07 0,04 0,03 0,01di 1 2 2 2 2 2 3 3 4c(ai) 0 10 11 12 13 20 210 211 2120

Vidutinis elementarių kodų ilgis yra:

l(c) = 1 ·0,29+2 ·0,21+2 ·0,16+2 ·0,11+2 ·0,08+2 ·0,07+3 ·0,04+3 ·0,03+4 ·0,01 = 1,8

131

Page 134: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždavinys 12.4. Sudarykite n-narį Hafmeno kodą c : A → B∗ (čia n = |B|) informacijosšaltiniui iš 12.3 uždavinio. Raskite kodo c vidutinį elementarių kodų ilgį l(c).

1. B = {0, 1}.2. B = {0, 1, 2, 3}.

Sprendimas.

1.

A1 c1 A2 c2 A3 c3 A4 c4 A5 c5 A6 c6 A7 c7 A8 c80,29 01 0,29 01 0,29 01 0,29 01 0,29 01 0,31 00 0,40 1 0,6 00,21 10 0,21 10 0,21 10 0,21 10 0,21 10 0,29 01 0,31∗ 00 0,4 10,16 000 0,16 000 0,16 000 0,16 000 0,19 11 0,21∗ 10 0,29∗ 010,11 110 0,11 110 0,11 110 0,15 001 0,16∗ 000 0,19∗ 110,08 111 0,08 111 0,08 111 0,11∗ 110 0,15∗ 0010,07 0011 0,07 0011 0,08∗ 0010 0,08∗ 1110,04 00100 0,04∗ 00100 0,07∗ 00110,03∗ 001010 0,04∗ 001010,01∗ 001011

l(c) = 2·0,29+2·0,21+3·0,16+3·0,11+3·0,08+4·0,07+5·0,04+6·0,03+6·0,01 = 2,77

Pastaba: Atkreipkite dėmesį, kad iš tiesų Hafmeno kodas gavosi kiek geresnis, nei Šenono-Fano kodas. Tą galime matyti palyginę vidutinius elementarių kodų ilgius: 2,77 prieš 3,18.Kita vertus, tokiu būdu matuojant, Šenono-Fano kodas prastesnis nepilnai 15%, tuo tarpupats algoritmas yra žymiai paprastesnis.

2. Visų pirma reikia paskaičiuoti, kiek pirmame žingsnyje turime sujungti simbolių. Pa-sinaudosime tuo, kad šis skaičius u tenkina sąlygą u ≡ m mod (n− 1), kai 2 6 u 6 n.Čia n = 4, m = 9, kitaip sakant u ≡ 9 mod 3, kai 2 6 u 6 4. Iš čia gauname, kadu = 3. Taigi, pirmame žingsnyje sujungsime u = 3 simbolių, visuose kituose — pon = 4 simbolius.

A1 c1 A2 c2 A3 c30,29 1 0,29 1 0,34 00,21 2 0,21 2 0,29 10,16 3 0,16 3 0,21 20,11 00 0,11∗ 00 0,16 30,08 01 0,08∗ 010,07 03 0,08∗ 020,04∗ 020 0,07∗ 030,03∗ 0210,01∗ 022

l(c) = 1·0,29+1·0,21+1·0,16+2·0,11+2·0,08+2·0,07+3·0,04+3·0,03+3·0,01 = 1,42

132

Page 135: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždaviniai savarankiškam darbuiUždavinys 12.5. A = {A,B,C,D}, B = {0, 1}, c(A) = 0, c(B) = 01, c(C) = 011,c(D) = 111. Ar kodas c : A → B∗ iššifruojamas? Ar tai p-kodas?

Uždavinys 12.6. Sudarykite n-narį Šenono-Fano kodą c : A → B∗ informacijos šaltiniui suabėcėle A ir nurodytomis tikimybėmis, čia n = |B|. Raskite vidutinį elementarių kodų ilgįl(c).

1. A = {a1, a2, . . . , a7}, su tikimybėmis 0,2; 0,2; 0,19; 0,12; 0,11; 0,09; 0,09, o B = {0, 1}.2. A = {a1, a2, . . . , a9}, su tikimybėmis 0,29; 0,21; 0,16; 0,11; 0,08; 0,07; 0,04; 0,03; 0,01, oB = {0, 1, 2}.

Uždavinys 12.7. Sudarykite n-narį Hafmeno kodą c : A → B∗ informacijos šaltiniams iš12.6 uždavinio, naudodami abėcėles B iš to paties uždavinio. Raskite vidutinį elementariųkodų ilgį l(c).

133

Page 136: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždavinių savarankiškam darbui sprendimai arba atsa-kymai

Uždavinio 12.5 sprendimas ir atsakymas: Kodas iššifruojamas. Jeigu gauta seka prasi-deda 1, tada jį ir dar du po jo einančius vienetus dekoduojame D. Jei ji prasideda 0, ieškomesekoje kito nulio (arba sekos galo) ir skaičiuojame vienetus tarp jų. Visus pilnus vienetųtrejetus dekoduojame D. Jeigu vienetų neliko, nulį dekoduojame A, jei liko vienas vienetas— B, o jei du — C. Tada algoritmą kartojame nuo rastojo antro nulio.

Kodas nėra p-kodas, nes A elementarus kodas yra B elementaraus kodo priešdėlis.

Uždavinio 12.6 sprendimas ir atsakymai:

1.i 1 2 3 4 5 6 7pi 0,2 0,2 0,19 0,12 0,11 0,09 0,09di 3 3 3 4 4 4 4c(ai) 000 001 010 0110 0111 1000 1001

l(c) = 3,41

2.i 1 2 3 4 5 6 7 8 9pi 0,29 0,21 0,16 0,11 0,08 0,07 0,04 0,03 0,01di 2 2 2 3 3 3 3 4 5c(ai) 00 01 02 100 101 102 110 1110 11110

l(c) = 2,39

Uždavinio 12.7 sprendimas ir atsakymai:

1.A1 c1 A2 c2 A3 c3 A4 c4 A5 c5 A6 c60,2 10 0,2 10 0,23 01 0,37 00 0,4 1 0,6 00,2 11 0,2 11 0,2 10 0,23 01 0,37∗ 00 0,4 10,19 000 0,19 000 0,2 11 0,2∗ 10 0,23∗ 010,12 010 0,18 001 0,19∗ 000 0,2∗ 110,11 011 0,12∗ 010 0,18∗ 0010,09∗ 0010 0,11∗ 0110,09∗ 0011

l(c) = 2,78

2. Pirmiausia išsiaiškinkime, kiek tikimybių reikia sudėti pirmuoju žingsniu. Sprendžiamelyginį u ≡ m mod (n−1), kai 2 6 u 6 n. Čia n = 3, m = 9, kitaip sakant u ≡ 9 mod 2,kai 2 6 u 6 3. Iš čia gauname, kad u = 3. Taigi, pirmame žingsnyje sujungsime u = 3

134

Page 137: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

simbolių, visuose kituose — taip pat po n = 3 simbolius.

A1 c1 A2 c2 A3 c3 A4 c40,29 1 0,29 1 0,29 1 0,48 00,21 00 0,21 00 0,23 2 0,29 10,16 01 0,16 01 0,21∗ 00 0,23 20,11 02 0,11 02 0,16∗ 010,08 20 0,08∗ 20 0,11∗ 020,07 22 0,08∗ 210,04∗ 210 0,07∗ 220,03∗ 2110,01∗ 212

l(c) = 1,79

135

Page 138: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

13 pratybos

Duomenų spaudimas.Klaidas taisantys kodai I

Teorinė medžiaga: V dalies 3 ir 4 skyriai.

Uždaviniai pratybomsUždavinys 13.1. Lempelo-Zivo metodu suspauskite pranešimą:

S = vai tai tai vai tai tai vai tai vai tai vai tai tai

Sprendimas. Pradžioje žodyne yra tik tuščias žodis, kurio numeris yra 0. Pradinį pranešimąS skaidome tokiu būdu: einamasis žodis bus ilgiausias jau žodyne esantis žodis plius vienaraidė. Einamąjį žodį dedame į žodyną D, o prie užkoduoto teksto (suspausto pranešimo)C prijungiame porą (p, q), kur p yra to ilgiausio žodyne esančio žodžio numeris, o q yra tapapildoma viena raidė. Tai galima parodyti tokia lentele:

S D Cv 1 v 0 va 2 a 0 ai 3 i 0 i

4 0t 5 t 0 tai 6 ai 2 it 7 t 4 t

ai 8 ai 6va 9 va 1 ai 10 i 3

S D Cta 11 ta 5 ai t 12 i t 10 tai v 13 ai v 8 vai t 14 ai t 8 tai va 15 ai va 13 ai ta 16 i ta 12 ai v 17 i v 10 vai ta 18 ai ta 14 ai tai 19 i tai 16 i

Suspaustas pranešimas bus

C = 0v0a0i0 0t2i4t6 1a3 5a10t8v8t13a12a10v14a16i

Atkreipkite dėmesį, kad pabaigoje gali likti jau žodyne esantis žodis. Tokiu atveju joį žodyną nebededame, o prie suspausto pranešimo prijungiame tik to žodyne esančio žo-džio numerį, t. y. prijungiame ne porą (p, q), o tik numerį p (taip gauname 13.6 užduotyjesavarankiškam darbui; be to, 13.2 užduotyje pateiktas toks užkoduotas pranešimas).

Uždavinys 13.2. Atstatykite pranešimą, suspaustą Lempelo-Zivo metodu:

136

Page 139: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

C = 0o0p0a2a0 1p3p3 6a5o4 9p3

Sprendimas. Pradžioje žodyne yra tik tuščias žodis, kurio numeris yra 0. Iš kiekvienos su-spausto pranešimo C poros (p, q) sudarome einamąjį žodį (prie p-tojo žodyno žodžio prijung-dami raidę q), kurį dedame į žodyną D ir prijungiame prie dekoduojamo pranešimo S. Taigalima parodyti tokia lentele:

C D S0 o 1 o o0 p 2 p p0 a 3 a a2 a 4 pa pa0 51 p 6 op op3 p 7 ap ap

C D S3 8 a a6 a 9 opa opa5 o 10 o o4 11 pa pa9 p 12 opap opap3 a

Atkreipkite dėmesį, kad paskutinė suspausto teksto pora neturėjo raidės, t. y. buvosudaryta tik iš numerio 3. Todėl šiuo atveju einamasis žodis bus tiesiog trečiasis žodyno Džodis „a”, ir jo dar kartą į žodyną nededame, o tik prijungiame prie dekoduojamo teksto S.

Pradinį pranešimą S gauname tokį:

S = opapa opapa opa opa opapa

Uždavinys 13.3. Raskite Hemingo atstumą tarp dviejų vektorių:

1. 1011 ir 1110;2. 2017 ir 1998;3. 123456 ir 135766.

Sprendimas.

1. Vektoriai skiriasi dviejose pozicijose, taigi Hemingo atstumas yra 2;2. 4;3. 4.

Uždavinys 13.4. Duota (klaidas taisančio) kodavimo funkcija c : {0, 1}2 → {0, 1}7, api-brėžta taip:

c(00) = 1110100,c(01) = 1001001,c(10) = 0100011,c(11) = 0011110.

1. Kokį (klaidas taisantį) kodą C apibrėžia kodavimo funkcija c?2. Koks kodo C koeficientas?3. Užkoduokite pranešimą 01 11 00.4. Raskite kodo C minimalų atstumą.5. Kiek klaidų ištaiso šis kodas?

137

Page 140: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

6. Kiek klaidų aptinka šis kodas?7. Dekoduokite iš kanalo gautą pranešimą

1101001 1110100 1001010 1011100,

naudodami minimalaus atstumo dekodavimo taisyklę.

Sprendimas.

1. Kodas C yra sudarytas iš visų galimų užkoduotų vektorių, šiuo atveju

C = {1110100, 1001001, 0100011, 0011110}.

2. Kodo C koeficientas yra R = kn, kur k žymi pradinio pranešimo ilgį, o n žymi užkoduoto

pranešimo ilgį. Kadangi šiuo atveju k = 2, n = 7, tai kodo C koeficientas yra R = kn

=27 .

3. 1001001 0011110 1110100.4. Matuojame Hemingo atstumą tarp kodo žodžių:

d(1110100, 1001001) = 5,d(1110100, 0100011) = 5,d(1110100, 0011110) = 4,d(1001001, 0100011) = 4,d(1001001, 0011110) = 5,d(0100011, 0011110) = 5.

Taigi, minimalus kodo C atstumas yra d = 4.5. Kodas C yra tiksliai

[d−1

2

]=[

4−12

]= 1 klaidą ištaisantis kodas (čia [a] žymi skaičiaus

a sveikąją dalį).6. Kodas C yra tiksliai d− 1 = 4− 1 = 3 klaidas aptinkantis kodas.7. Pranešimo dekodavimas atliekamas dviem etapais. Pirmiausia pagal minimalaus atstu-

mo dekodavimo taisyklę bandome surasti ir ištaisyti klaidas, o po to surandame, kokspradinis vektorius buvo užkoduotas. Taisydami klaidas, kiekvienam iš kanalo gautamvektoriui ieškome artimiausio pagal Hemingo atstumą kodo žodžio.Pirmojo iš kanalo gauto vektoriaus 1101001 atstumas iki pirmojo kodo žodžio 1110100yra 4, iki 1001001 — 1, iki 0100011 — 3, o iki 0011110 — net 6, taigi artimiausiasyra kodo žodis 1001001. Todėl nusprendžiame, kad į kanalą buvo pasiųstas kodo žodisc(01) = 1001001, ir pirmąjį iš kanalo gautą vektorių dekoduojame pradiniu vektoriumi01.Antrasis gauto pranešimo vektorius 1110100 sutampa su kodo žodžiu 1110100, taigi jisyra ir artimiausias, nes Hemingo atstumas iki jo yra 0. Todėl darome prielaidą, kadsiunčiant šį žodį klaidų nebuvo padaryta, t. y. kad į kanalą būtent ir buvo pasiųstas ko-do žodis c(00) = 1110100, ir iš kanalo gautą vektorių dekoduojame pradiniu vektoriumi00.Trečiasis iš kanalo gautas vektorius yra atitinkamai nutolęs atstumais 5, 2, 4 ir 3 nuokodo C žodžių, taigi artimiausias yra kodo žodis 1001001. Todėl nusprendžiame, kad į

138

Page 141: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

kanalą buvo pasiųstas kodo žodis c(01) = 1001001, ir trečiąjį iš kanalo gautą vektoriųdekoduojame pradiniu vektoriumi 01.Tuo tarpu ketvirtasis iš kanalo gautas vektorius yra vienodai arti kodo žodžių 1110100ir 0011110 — iki jų abiejų Hemingo atstumas yra 2 (iki likusių kodo C žodžių atstumasyra 3 ir 7). Dekoduodami elgiamės taip, kaip numato ryšių protokolas. Pavyzdžiui, galibūti numatyta, kad tokiu atveju reikia paprašyti pranešimą persiųsti iš naujo (žymėsimetai ženklu „—”). Arba gali būti numatyta, kad tokiu atveju reikia pasirinkti kurį norsiš artimiausių kodo žodžių, šiuo atveju c(00) = 1110100 arba c(11) = 0011110, tadadekoduotume atitinkamai pradiniu vektoriumi 00 arba 11.Priklausomai nuo pasirinkimo dekoduojant ketvirtą vektorių, gautas pilnas dekoduotaspranešimas galėtų būti 01 00 01 —, 01 00 01 00 arba 01 00 01 11.

Pastaba: Atkreipkite dėmesį, kad dekoduodami trečiąjį ir ketvirtąjį žodžius pakeitėme podu skaitmenis. Taigi ištaisėme po dvi klaidas. Tiesa, dekoduodami ketvirtąjį žodį turėjomerinktis iš dviejų vienodai galimų atsakymų, todėl negalime būti tikri, ar gavome gerą rezultatą.Tuo tarpu trečiąjį žodį dekodavome vienareikšmiškai. Kitaip sakant, remiantis prielaida, kadtikimybė iš kanalo gauti teisingą simbolį yra didesnė negu tikimybė, kad kanalas simbolįperduos neteisingai, tikėtina, kad šios dvi klaidos buvo ištaisytos teisingai.

Prisiminkime, kad šis kodas ištaiso tiksliai 1 klaidą (žr. 5 punktą). Kaip gavosi, kad vienuatveju pavyko ištaisyti jas net dvi? Pasirodo, sąvoka „ištaiso tiksliai t klaidų“ reiškia, kad tarba mažiau klaidų kodas ištaiso visada. Tuo tarpu gali būti atvejų, kai jų ištaisoma daugiau,negu t.

Uždavinys 13.5. Kiek sumažėja klaidos tikimybė, dvinariame simetriniame kanale su klai-dos tikimybe p naudojant pakartojimo 3 kartus kodą su minimalaus atstumo dekodavimotaisykle, jei:

1. p = 0,1,2. p = 0,01.

Sprendimas. Tarkime, kad siunčiame nulį dvinariu simetriniu kanalu su klaidos tikimybep. Jei nenaudojame kodavimo, tai klaidos tikimybė ir bus p, t. y. su tikimybe p iš kanaloišeis 1. Dabar paskaičiuokime, kokia yra klaidos tikimybė, kai siunčiamą nulį užkoduojamepakartojimo 3 kartus kodu, gautą kodo žodį siunčiame į kanalą, ir iš kanalo gautą vektoriųdekoduojame minimalaus atstumo dekodavimo taisykle.

Naudodami pakartojimo 3 kartus kodą, nulį užkoduojame vektoriumi 000, kurį ir siun-čiame į kanalą. Iš kanalo gali išeiti bet kuris ilgio 3 dvinaris vektorius: 000, 001, 010, 100,110, 101, 011, 111. Jei iš kanalo išeina kuris nors iš pirmų keturių vektorių, dekoduodamipagal minimalaus atstumo dekodavimo taisyklę gauname vektorių 000 ir padarome išvadą,kad į kanalą buvo pasiųstas nulis, t. y. dekoduojame teisingai. Tačiau jei iš kanalo išeinakuris nors iš paskutinių keturių vektorių, dekoduodami pagal minimalaus atstumo dekodavi-mo taisyklę gauname vektorių 111 ir padarome išvadą, kad į kanalą buvo pasiųstas vienetas,t. y. dekoduojame klaidingai. Taigi, klaidingo dekodavimo tikimybė yra lygi tikimybei, kadiš kanalo išeis kuris nors iš paskutinių keturių vektorių. Dabar tą tikimybę ir paskaičiuosime.

Kokia yra tikimybė, kad iš kanalo išeis 110, jei į kanalą buvo pasiųstas 000? Pagal mūsųnaudojamo kanalo modelio (dvinario simetrinio kanalo su klaidos tikimybe p) savybes žen-klai kanalu siunčiami nepriklausomai vienas nuo kito, ir su tikimybe p įvyksta klaida. Todėl

139

Page 142: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

galime nagrinėti kiekvieno ženklo siuntimą atskirai, o gautas tikimybes sudauginti. Pasiun-tėme pirmą vektoriaus 000 nulį į kanalą, iš kanalo išėjo pirmasis vektoriaus 110 elementas -vienetas, t. y. įvyko klaida, o tokio įvykio tikimybė yra p. Tas pats nutiko ir pasiuntus antrąnulį - tikimybė irgi lygi p. Pasiuntus trečią nulį, iš kanalo ir išėjo nulis - tokio įvykio tikimybėyra 1 − p. Viską sudauginę gauname, kad tikimybė, jog pasiuntę vektorių 000 į kanalą, iškanalo gausime 110, yra p2(1−p). Su tokia pačia tikimybe iš kanalo gausime ir vektorius 101bei 011, o vektorių 111 iš kanalo gausime su tikimybe p3, nes klaida (su tikimybe p) įvykskiekvienoje siunčiame vektoriaus koordinatėje.

Sudėję gautas keturias tikimybes, gausime tikimybę, jog iš kanalo išeis kuris nors iš vekto-rių 110, 101, 011, 111. Tai bus tikimybė p3 +3p2(1−p). Tai ir yra tikimybė, kad dekoduosimeklaidingai, t. y. tikimybė padaryti klaidą, naudojant pakartojimo 3 kartus kodą su minima-laus atstumo dekodavimo taisykle.

1. Kai p = 0,1, p3+3p2(1−p) = 0,13+3·0,12 ·0,9 = 0,001+0,027 = 0,028. Taigi, naudojantkodavimą, klaidos tikimybė nuo 0,1 sumažėjo iki 0,028, t. y. apie 0,1/0,028 ≈ 3,6 kartus.

2. Kai p = 0,01, p3 +3p2(1−p) = 0,013 +3 ·0,012 ·0,99 = 0,000001+0,000297 = 0,000298.Taigi, naudojant kodavimą, klaidos tikimybė nuo 0,01 sumažėjo iki 0,000298, t. y. apie0,01/0,000298 ≈ 33,6 kartus.Nesunku pastebėti, kad kuo mažesnė tikimybė p, tuo daugiau kartų ji sumažėja, nau-dojant pakartojimo 3 kartus kodą. Taip yra dėl to, kad tų tikimybių santykis

(p3 +

3p2(1− p))/p = p2 + 3p(1− p) artėja į nulį, kai p artėja į nulį.

140

Page 143: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždaviniai savarankiškam darbuiUždavinys 13.6. Lempelo-Zivo metodu suspauskite pranešimą:

S = šešios žąsys su šešiais žąsyčiais

Uždavinys 13.7. Atstatykite pranešimą, suspaustą Lempelo-Zivo metodu:

1. C = 0o0p0a0 1p3 5a2a4o8 7 7p32. C = 0g0e0r0i0 0v0y3a4 1e3o0j5g4r4o12 10r0ą13i3ą13e8i13ė3ė21r0d0a0m9g7r0ė

Uždavinys 13.8. Duota (klaidas taisančio) kodavimo funkcija c : {0, 1}2 → {0, 1}5, api-brėžta tokiu būdu: c(m) = mG, kur

G =(

1 1 0 0 10 0 1 1 1

),

t. y. koduojama, dauginant pradinį vektorių m iš matricos G.

1. Kokį (klaidas taisantį) kodą C apibrėžia kodavimo funkcija c?2. Koks kodo C koeficientas?3. Užkoduokite pranešimą 00 11 01.4. Raskite kodo C minimalų atstumą.5. Kiek klaidų ištaiso šis kodas?6. Kiek klaidų aptinka šis kodas?7. Dekoduokite iš kanalo gautą pranešimą 00101 10010 11001, naudodami minimalaus

atstumo dekodavimo taisyklę.

Uždavinys 13.9. Sudaryti dvinarį (klaidas taisantį) kodą, sudarytą iš 4 kodo žodžių, kuriųilgis 5, visada ištaisantį 1 klaidą.

141

Page 144: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždavinių savarankiškam darbui sprendimai arba atsa-kymai

Uždavinio 13.6 sprendimas ir atsakymas: Pradinį pranešimą S skaidome einamaisiaisžodžiais, sudarome žodyną D ir suspaustą pranešimą C. Tai galima parodyti tokia lentele:

S D Cš 1 š 0 še 2 e 0 eši 3 ši 1 io 4 o 0 os 5 s 0 s

6 0ž 7 ž 0 žą 8 ą 0 ąsy 9 sy 5 ys 10 s 5su 11 su 5 u

S D Cš 12 š 6 š

eš 13 eš 2 ši 14 i 0 ia 15 a 0 ais 16 is 14 sž 17 ž 6 ž

ąs 18 ąs 8 sy 19 y 0 yč 20 č 0 čia 21 ia 14 ais 16

Suspaustas pranešimas bus

C = 0š0e1i0o0s0 0ž0ą5y5 5u6š2š0i0a14s6ž8s0y0č14a16

Uždavinio 13.7 sprendimas ir atsakymai:

1. Iš kiekvienos suspausto pranešimo C poros (p, q) sudarome einamąjį žodį, kurį dedameį žodyną D ir prijungiame prie dekoduojamo pranešimo S. Tai galima parodyti tokialentele:

C D S0 o 1 o o0 p 2 p p0 a 3 a a0 41 p 5 op op3 6 a a5 a 7 opa opa

C D S2 a 8 pa pa4 o 9 o o8 10 pa pa7 11 opa opa7 p 12 opap opap3 a

Pradinį pranešimą S gauname tokį:

S = opa opa opapa opa opa opapa

2. Iš kiekvienos suspausto pranešimo C poros (p, q) sudarome einamąjį žodį, kurį dedameį žodyną D ir prijungiame prie dekoduojamo pranešimo S. Tai galima parodyti tokia

142

Page 145: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

lentele:

C D S0 g 1 g g0 e 2 e e0 r 3 r r0 i 4 i i0 50 v 6 v v0 y 7 y y3 a 8 ra ra4 9 i i1 e 10 ge ge3 o 11 ro ro

C D S0 j 12 j j5 g 13 g g4 r 14 ir ir4 o 15 io io

12 16 j j10 r 17 ger ger0 ą 18 ą ą

13 i 19 gi gi3 ą 20 rą rą

13 e 21 ge ge8 i 22 rai rai

C D S13 ė 23 gė gė3 ė 24 rė rė

21 r 25 ger ger0 d 26 d d0 a 27 a a0 m 28 m m9 g 29 i g i g7 r 30 yr yr0 ė 31 ė ė

Pradinį pranešimą S gauname tokį:S = geri vyrai geroj girioj gerą girą gerai gėrė gerdami gyrė

Uždavinio 13.8 sprendimas:

1. Kodas C yra sudarytas iš visų galimų užkoduotų vektorių. Šiuo atveju tai vektoriai,kuriuos gausime, pradinius vektorius 00, 10, 01, 11 daugindami iš matricos G:

c(00) = 00 ·G = 00000,c(10) = 10 ·G = 11001,c(01) = 01 ·G = 00111,c(11) = 11 ·G = 11110.

Taigi,C = {00000, 11001, 00111, 11110}.

Beje, tokiu būdu (dauginimu iš matricos) apibrėžtas kodas vadinamas tiesiniu, o tokiamatrica vadinama generuojančia.

2. Kodo C koeficientas yra R = kn, kur k žymi pradinio pranešimo ilgį, o n žymi užkoduoto

pranešimo ilgį. Kadangi šiuo atveju k = 2, n = 5, tai kodo C koeficientas yra R = kn

=25 .

3. 00000 11110 00111.4. Matuojame Hemingo atstumą tarp kodo žodžių:

d(00000, 11001) = 3,d(00000, 00111) = 3,d(00000, 11110) = 4,d(11001, 00111) = 4,d(11001, 11110) = 3,d(00111, 11110) = 3.

Taigi, minimalus kodo C atstumas yra d = 3.

143

Page 146: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

5. Kodas C yra tiksliai[d−1

2

]=[

3−12

]= 1 klaidą ištaisantis kodas (čia [a] žymi skaičiaus

a sveikąją dalį).6. Kodas C yra tiksliai d− 1 = 3− 1 = 2 klaidas aptinkantis kodas.7. Pranešimo dekodavimas atliekamas dviem etapais. Pirmiausia pagal minimalaus atstu-

mo dekodavimo taisyklę bandome surasti ir ištaisyti klaidas, o po to surandame, kokspradinis vektorius buvo užkoduotas. Taisydami klaidas, kiekvienam iš kanalo gautamvektoriui ieškome artimiausio pagal Hemingo atstumą kodo žodžio.Pirmojo iš kanalo gauto vektoriaus 00101 atstumas iki kodo žodžių yra atitinkamai 2,3, 1, 4, taigi artimiausias yra trečiasis kodo žodis 00111. Todėl nusprendžiame, kad jisir buvo pasiųstas į kanalą, ir pirmąjį iš kanalo gautą vektorių dekoduojame pradiniuvektoriumi 01.Antrojo iš kanalo gauto vektoriaus 10010 atstumas iki kodo žodžių yra atitinkamai 2, 3,3, 2, taigi artimiausi yra pirmasis ir ketvirtasis kodo žodžiai 00000 ir 11110. Dekoduo-dami elgiamės taip, kaip numato ryšių protokolas. Pavyzdžiui, gali būti numatyta, kadtokiu atveju reikia paprašyti pranešimą persiųsti iš naujo (žymėsime tai ženklu „—”).Arba gali būti numatyta, kad tokiu atveju reikia pasirinkti kurį nors iš artimiausių kodožodžių, šiuo atveju c(00) = 00000 arba c(11) = 11110, tada dekoduotume atitinkamaipradiniu vektoriumi 00 arba 11.Trečiasis gauto pranešimo vektorius 11001 sutampa su antruoju kodo žodžiu 11001,taigi pastarasis yra ir artimiausias, nes Hemingo atstumas iki jo yra 0. Todėl daromeprielaidą, kad siunčiant šį žodį klaidų nebuvo padaryta, t. y. kad į kanalą būtent irbuvo pasiųstas kodo žodis c(10) = 11001, ir iš kanalo gautą vektorių dekoduojamepradiniu vektoriumi 10.Priklausomai nuo pasirinkimo dekoduojant antrąjį iš kanalo gautą vektorių, gautaspilnas dekoduotas pranešimas galėtų būti 01 — 10, 01 00 10 arba 01 11 10.

Uždavinio 13.9 sprendimas ir atsakymas: (Klaidas taisantis) kodas C ištaisys visasklaidas, jei jų skaičius neviršija t =

[d−1

2

], kur d yra kodo C minimalus atstumas. Šios

užduoties sąlygoje duota, kad t = 1, todėl kodo C minimalus atstumas turi būti d > 3.Taigi, reikia parinkti tokius keturis ilgio n = 5 vektorius, kad atstumas tarp bet kurių iš jų

būtų bent 3. Tai nesunku padaryti. Pirmąjį galime pasirinkti bet kokį vektorių, paprastumodėlei imkime tiesiog nulinį vektorių 00000. Likę trys vektoriai turi nuo jo skirtis bent trimiskoordinatėmis, t. y. juose bus bent po 3 vienetus. Vėl paprastumo dėlei antrąjį ir trečiąjįvektorius pasirinkime su tais vienetais atitinkamai vektoriaus pradžioje ir pabaigoje: 11100ir 00111 — atstumas tarp šių vektorių yra keturi. Liko parinkti paskutinį vektorių, kurisbūtų nutolęs atstumu 3 arba didesniu nuo jau pasirinktų trijų vektorių. Pabandę kelis bent3 vienetus turinčius vektorius, randame tinkamą vektorių: 11011.

Taigi, kodas, sudarytas iš 4 kodo žodžių, kurių ilgis 5, visada ištaisantis 1 klaidą, galėtųbūti toks:

C = {00000, 11100, 00111, 11011}.

144

Page 147: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

14 pratybos

Klaidas taisantys kodai II

Teorinė medžiaga: V dalies 4 skyrius.

Uždaviniai pratybomsUždavinys 14.1. Pakartojimo 4 kartus kodas C = R4.

1. Užrašykite visus kodo C žodžius.2. Koks kodo C koeficientas?3. Užkoduokite pranešimą 10010.4. Raskite kodo C minimalų atstumą.5. Kiek klaidų ištaiso šis kodas?6. Kiek klaidų aptinka šis kodas?7. Dekoduokite iš kanalo gautą pranešimą

1101 0000 0100 0101 1111.

Sprendimas. Pakartojimo n kartų kodo Rn kodavimo funkcija yra funkcija c : {0, 1}1 →{0, 1}n, apibrėžta taip:

c(0) = 00 · · · 0,c(1) = 11 · · · 1.

1. Kodas C = {0000, 1111}.2. R = k

n= 1

4 .3. 1111 0000 0000 1111 0000.4. Matuojame Hemingo atstumą tarp kodo žodžių:

d(0000, 1111) = 4.

Taigi, minimalus kodo C atstumas yra d = 4.5. Kodas C yra tiksliai

[d−1

2

]=[

4−12

]= 1 klaidą ištaisantis kodas.

6. Kodas C yra tiksliai d− 1 = 4− 1 = 3 klaidas aptinkantis kodas.

145

Page 148: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

7. Kiekviename ketverte yra užkoduotas vienas originalaus pranešimo skaitmuo. Galimiteisingi kodo žodžiai yra 1111 arba 0000. Visi kiti vektoriai gauti įvykus klaidai kanale,taigi juos dekoduodami rinksimės artimiausią (pagal Hemingo atstumą) teisingą kodožodį (ištaisytos koordinatės paryškintos):

1111 0000 0000 0000 1111.

Atkreipkite dėmesį į ketvirtą ketvertą. Jis vienodai nutolęs tiek nuo 1111, tiek nuo0000. Taigi, matome, kad klaida kanale buvo padaryta (tiksliau, bent dvi klaidos), betvienareikšmiškai dekoduoti negalime. Tokiu atveju arba paprašome atsiųsti vektorių išnaujo, arba pasirenkame kurį nors iš artimiausių kodo žodžių, pavyzdžiui, 0000.Tada pradinį pranešimą gauname, pasinaudoję kodavimo funkcijos c atvirkštine funk-cija

c−1(0000) = 0,c−1(1111) = 1.

Taigi, pradinis pranešimas bus 100-1, 10001 arba 10011, priklausomai nuo to, ką pasi-rinkome, dekoduodami ketvirtą ketvertą.

Uždavinys 14.2. Kontrolinio simbolio kodas, kai k = 4.1. Užrašykite (apibūdinkite) visus kodo C žodžius.2. Koks kodo C koeficientas?3. Užkoduokite pranešimą

0101 0000 0010 0111 1111.

4. Raskite kodo C minimalų atstumą.5. Kiek klaidų ištaiso šis kodas?6. Kiek klaidų aptinka šis kodas?7. Dekoduokite iš kanalo gautą pranešimą

10010 00001 11011 00000 11111 01011.

Sprendimas. Kontrolinio simbolio kodo kodavimo funkcija yra funkcija c : {0, 1}k → {0, 1}n,kur n = k + 1, apibrėžta taip: c(m1m2 · · ·mk) = m1m2 · · ·mkxk+1, kur kontrolinis simbolisxk+1 yra toks, kad užkoduotame vektoriuje vienetų skaičius taptų lyginis, t. y. jei vienetųskaičius buvo lyginis, prirašome 0, o priešingu atveju prirašome 1.

1. Šiuo atveju k = 4, todėl n = 5 ir kode C bus tik ilgio 5 vektoriai, kuriuose vienetųskaičius lyginis. Ar visi tokie vektoriai bus kode C, t. y. ar kiekvieną ilgio 5 vektorių,kuriame vienetų skaičius lyginis, galime gauti, prie kažkokio ilgio 4 vektoriaus prijungękontrolinį simbolį? Taip, nes bet kokį ilgio 5 vektorių x = x1x2x3x4x5, kuriame vienetųskaičius lyginis, galime gauti, prie vektoriaus m = x1x2x3x4 prijungę kontrolinį simbolįx5. Taigi kodas C bus sudarytas iš visų galimų ilgio 5 vektorių, kuriuose vienetų skaičiuslyginis. Ir tokių vektorių bus 24 = 16, nes iš kiekvieno ilgio 4 vektoriaus gauname poskirtingą ilgio 5 vektorių, o ilgio 4 vektorių ir yra 24 = 16.Taigi kodas

C = {00000, 00011, 00101, 00110, 01001, 01010, 01100, 01111,10001, 10010, 10100, 10111, 11000, 11011, 11101, 11110}.

146

Page 149: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

2. R = kn

= 45 .

3. 01010 00000 00101 01111 11110.4. Matuojame Hemingo atstumą tarp kodo žodžių. Pavyzdžiui, d(00000, 00011) = 2.

Mažesnio atstumo negu 2 rasti nepavyks, nes mažesnis būtų 1, o šiame kode nėražodžių, tarp kurių atstumas būtų 1. Iš tikrųjų, jei atstumas tarp vektorių yra 1, tai jieskiriasi tik viena koordinate, todėl jei viename iš jų vienetų skaičius yra lyginis, kitamebūtinai bus nelyginis, ir atvirkščiai. Tačiau kodui C priklauso tik vektoriai, kuriuosevienetų skaičius yra lyginis, todėl kode C nerasime žodžių, tarp kurių atstumas būtų1.Taigi, minimalus kodo C atstumas yra d = 2.

5. Kodas C yra tiksliai[d−1

2

]=[

2−12

]= 0 klaidų ištaisantis kodas.

6. Kodas C yra tiksliai d− 1 = 2− 1 = 1 klaidą aptinkantis kodas.7. Kadangi šis kodas klaidų netaiso, o gali tik jas aptikti, tai dekoduosime taip. Kad

nustatytume, ar buvo klaidų, skaičiuojame vienetus. Jei vienetų skaičius lyginis, laiko-me, kad klaidų nebuvo, tada atėmę paskutinę koordinatę gausime pradinį vektorių. Jeivienetų skaičius nelyginis, laikome, kad buvo klaidų, tada teks prašyti, kad vektoriųatsiųstų iš naujo (pažymėsime tai ženklu „—”). Dekodavę gauname

1001 — 1101 0000 — —.

Pastaba: Naudojant kontrolinio simbolio kodą, tikimybė, kad įvykus klaidai atspėsime, kuriskodo žodis buvo pasiųstas į kanalą, yra labai menka. Pavyzdžiui, jei iš kanalo gavome 00001,arčiausiai jo yra penki kodo žodžiai (gauti, pakeitus po vieną vektoriaus 00001 koordinatę:10001, 01001, 00101, 00011, 00000). Pataikyti, renkantis vieną iš penkių, šansų mažai. Todėlsusitariame, kad įvykus klaidai, visada prašysime atsiųsti vektorių iš naujo.

Uždavinys 14.3. Knygų numeracijos sistema ISBN-10.

1. Koks ISBN-10 kodo koeficientas?2. Sudaryti knygos ISBN-10 numerį, jei ji išleista šalyje, kurios kodas 9986, leidykloje,

kurios kodas 02, ir knygos eilės numeris tos leidyklos knygų sąraše yra 038.3. Patikrinti, ar ISBN-10 numeriai sudaryti korektiškai: 9955-09-031-6 ir 0-552-99600-X.

Sprendimas. Pažymėkime ISBN-10 kodo skaitmenis a1a2 . . . a10. Paskutinis skaitmuo apskai-čiuojamas pagal formulę:

s =( 9∑i=1

iai

)mod 11.

Jei s < 10, tai a10 = s, priešingu atveju a10 = X.

1. R = kn

= 910 .

2. Pirmieji devyni ISBN-10 numerio skaitmenys bus 9986-02-038. Lieka apskaičiuoti kont-rolinį skaitmenį. Skaičiuojame s:

s = (1 · 9 + 2 · 9 + 3 · 8 + 4 · 6 + 5 · 0 + 6 · 2 + 7 · 0 + 8 · 3 + 9 · 8) mod 11 = 183 mod 11 = 7.

Kadangi s < 10, tai a10 = 7, ir ISBN-10 numeris bus 9986-02-038-7.

147

Page 150: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

3. Pirmajam ISBN-10 kodui

s = (1 · 9 + 2 · 9 + 3 · 5 + 4 · 5 + 5 · 0 + 6 · 9 + 7 · 0 + 8 · 3 + 9 · 1) mod 11 = 149 mod 11 = 6,

o antrajam

s = (1 · 0 + 2 · 5 + 3 · 5 + 4 · 2 + 5 · 9 + 6 · 9 + 7 · 6 + 8 · 0 + 9 · 0) mod 11 = 174 mod 11 = 9.

Matome, kad pirmasis ISBN-10 kodas gautas teisingai, o antrasis — ne.

Uždavinys 14.4. Knygų numeracijos sistema ISBN-13.1. Koks ISBN-13 kodo koeficientas?2. Sudaryti knygos ISBN-13 numerį, jei ji išleista šalyje ar šalių grupėje, kurios kodas

0, leidykloje, kurios kodas 306, ir knygos eilės numeris tos leidyklos knygų sąraše yra40615.

3. Patikrinti, ar ISBN-13 numeriai sudaryti korektiškai: 9786090105375 ir 9780073383099.Sprendimas. Nuo 2007 m. išleistos knygos turi naujo standarto — ISBN-13 — kodą. ISBN-13 yra atskiras EAN-13 (angl. European Article Number) kodo — brūkšninio kodo, kuriuožymimos visos parduotuvėse parduodamos prekės — atvejis (tuo pačiu tai reiškia, kad pagaltą pačią taisyklę jūs galite apskaičiuoti ir EAN-13 kodo kontrolinį simbolį).

Pažymėkime ISBN-13 kodo skaitmenis a1a2 . . . a13. Pirmi trys skaitmenys yra 978 (kaibus išnaudoti visi tokio pavidalo numeriai, bus naudojami kitokie, pavyzdžiui, jau numatytanaudoti 979). Kiti užkoduoja šalį ar šalių grupę, leidyklą, knygą, o paskutinis skaitmuo a13yra kontrolinis skaitmuo, apskaičiuojamas pagal formulę:

a1 + 3a2 +a3 + 3a4 +a5 + 3a6 +a7 + 3a8 +a9 + 3a10 +a11 + 3a12 +a13 ≡ 0 (mod 10). (14.1)

1. R = kn

= 1213 .

2. Pirmieji dvylika ISBN-13 numerio skaitmenų bus 978-0-306-40615. Lieka apskaičiuotikontrolinį skaitmenį a13. Skaičiuojame likusią sumos dalį:

a1 + 3a2 + a3 + 3a4 + a5 + 3a6 + a7 + 3a8 + a9 + 3a10 + a11 + 3a12

= 9 + 3 · 7 + 8 + 3 · 0 + 3 + 3 · 0 + 6 + 3 · 4 + 0 + 3 · 6 + 1 + 3 · 5= 93.

Gauname lygybę 93 + a13 ≡ 0 (mod 10), iš kurios surandame, kad a13 = 7. Taigi,ISBN-13 numeris bus 978-0-306-40615-7.

3. Patikriname kontrolinio skaitmens lygybę (14.1). Pirmajam ISBN-13 kodui kairiojilygybės pusė bus

a1 + 3a2 + a3 + 3a4 + a5 + 3a6 + a7 + 3a8 + a9 + 3a10 + a11 + 3a12 + a13

= 9 + 3 · 7 + 8 + 3 · 6 + 0 + 3 · 9 + 0 + 3 · 1 + 0 + 3 · 5 + 3 + 3 · 7 + 5= 130,

o antrajam

a1 + 3a2 + a3 + 3a4 + a5 + 3a6 + a7 + 3a8 + a9 + 3a10 + a11 + 3a12 + a13

= 9 + 3 · 7 + 8 + 3 · 0 + 0 + 3 · 7 + 3 + 3 · 3 + 8 + 3 · 3 + 0 + 3 · 9 + 9= 124.

Matome, kad pirmasis ISBN-13 kodas gautas teisingai, nes 130 ≡ 0 (mod 10), o antrasis— ne.

148

Page 151: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždavinys 14.5. Lietuvos piliečio asmens kodas.

1. Koks asmens kodo koeficientas?2. Sudaryti vyriškos lyties Lietuvos piliečio, gimusio 1994 m. gegužės 1 d., asmens kodą,

jei Gyventojų registre jam priskirtas numeris 999.3. Patikrinti, ar Lietuvos piliečių asmens kodai sudaryti korektiškai: 60512010376 ir 39705160027.

Sprendimas. Pažymėkime asmens kodo skaitmenis a0a1 . . . a10. Paskutinis skaitmuo apskai-čiuojamas pagal formulę:

s1 =( 9∑i=0

((i mod 9 + 1) · ai

))mod 11.

Jeigu s1 < 10, tai a10 = s1. Priešingu atveju, taikoma formulė:

s2 =( 9∑i=0

(((i+ 2) mod 9 + 1

)· ai))

mod 11.

Jeigu s2 < 10, tai a10 = s2. Priešingu atveju, a10 = 0.

1. R = kn

= 1011 .

2. Pirmieji dešimt asmens kodo skaitmenų bus 3940501999. Lieka apskaičiuoti kontrolinįskaitmenį. Skaičiuojame s1:

s1 = (1·3+2·9+3·4+4·0+5·5+6·0+7·1+8·9+9·9+1·9) mod 11 = 227 mod 11 = 7.

Kadangi s1 < 10, tai a10 = 7, ir asmens kodas bus 39405019997.3. Skaičiuojame paskutinįjį pirmojo asmens kodo skaitmenį:

s1 = (1·6+2·0+3·5+4·1+5·2+6·0+7·1+8·0+9·3+1·7) mod 11 = 76 mod 11 = 10.

Taigi, šiam asmens kodui papildomai reikia skaičiuoti ir s2:

s2 = (3 ·6+4 ·0+5 ·5+6 ·1+7 ·2+8 ·0+9 ·1+1 ·0+2 ·3+3 ·7) mod 11 = 99 mod 11 = 0.

Vadinasi, šio asmens kodo paskutinis skaitmuo turėtų būti lygus 0, o ne 6. Todėl jisyra gautas neteisingai.Tikriname antrąjį asmens kodą:

s1 = (1·3+2·9+3·7+4·0+5·5+6·1+7·6+8·0+9·0+1·2) mod 11 = 117 mod 11 = 7.

Šio asmens kodo paskutinis skaitmuo turi būti 7, o taip ir yra. Taigi šis asmens kodasgautas teisingai.

Uždavinys 14.6. Hemingo kodas.

1. Koks Hemingo kodo koeficientas?2. Užkoduokite pranešimą

1011 0010 0101 0011 0001 1101.

149

Page 152: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

3. Dekoduokite iš kanalo gautą pranešimą

0001101 1100100 0110011 0101101.

Sprendimas. Pranešimąm = (m1,m2,m3,m4) užkoduojame žodžiu x = (m1,m2,m3,m4, x5, x6, x7).Užkodavimą galima pavaizduoti grafiškai taip. Surašome šiuos septynis simbolius į susiker-tančius skritulius taip, kaip parodyta toliau. Simboliai x5, x6, x7 parenkami taip, kad kiek-viename skritulyje esančių vienetų skaičius būtų lyginis.

1. R = kn

= 47 .

2. Kiekvienam ketvertui braižykime po diagramą. Pirmą atvejį parodysime detaliau:

x7 x6

x5

m1 m2

m4

m3=⇒

x7 x6

x5

1 0

11 =⇒

1 0

01 0

11

Likę atvejai:

1 1

10 0

01

1 0

10 1

10

0 0

10 0

11

1 1

00 0

10

0 0

01 1

10

Užkodavę gauname tokią seką:

1011001 0010111 0101101 0011100 0001011 1101000.

3. Surašykime skaitmenis į diagramą. Pagal diagramą, galima bus nuspręsti, ar įvykoklaida, ir jei taip, tai kurį skaitmenį reikia keisti (šis skaitmuo paryškintas):

x7 x6

x5

m1 m2

m4

m3=⇒

1 0

10 0

10 =⇒

1 0

10 1

10

Likę atvejai prieš klaidų taisymą:

0 0

11 1

00

1 1

00 1

01

1 0

10 1

10

Ir ištaisius klaidas:

150

Page 153: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

0 0

11 1

01

1 0

00 1

01

1 0

10 1

10

Taigi, dekoduotas pranešimas atrodys taip:

0101 1110 0110 0101.

151

Page 154: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždaviniai savarankiškam darbuiUždavinys 14.7. Pakartojimo n kartų kodas C = Rn.

1. Tegu n = 4. Užkoduokite pranešimą 110101001010001.2. Tegu n = 3. Dekoduokite iš kanalo gautą pranešimą

101 111 100 110 100 001 010 100 101 010 111 111 010 111 001110 001 010 011 111 111 111 100 100 110 110 111 010 110 000

Uždavinys 14.8. Kontrolinio simbolio kodas.

1. Tegu k = 8. Užkoduokite pranešimą

10101101 10101000 10101011 00000010 0101101110111011 00101111 10010011 01001010 10010111

2. Tegu k = 5. Dekoduokite iš kanalo gautą pranešimą.

100110 000100 110101 100000 010000 010101 101101 000011 111011 010000

Uždavinys 14.9. Knygų numeracijos sistema ISBN-10. Patikrinti, ar ISBN-10 numeriaisudaryti korektiškai: 0-19-860877-2, 2-84595-009-X, 9955-619-91-0 ir 9986-16-798-3.

Uždavinys 14.10. Knygų numeracijos sistema ISBN-13. Patikrinti, ar ISBN-13 numeriaisudaryti korektiškai: 978-9955-883-37-1 ir 9780679783267.

Uždavinys 14.11. Lietuvos piliečio asmens kodas. Patikrinti, ar Lietuvos piliečių asmenskodai sudaryti korektiškai: 19902161700, 29803040364, 46708150335 ir 51203112671. Taippat patikrinkite ir savo asmens kodą.

Uždavinys 14.12. Hemingo kodas.

1. Užkoduokite pranešimą

0000 0101 1000 0110 1011 0110 0110 0100 1101 0000 1100 1111 0010 1100 0000

2. Užkoduokite pranešimą1000 1011 0010 1111 0101

3. Dekoduokite iš kanalo gautą pranešimą

0110111 1110101 1010000 1011110 00101110010100 0100100 0111111 0111001 00101110000100 0101010 1001110 0001010 1111010

4. Dekoduokite iš kanalo gautą pranešimą

1010110 1000110 1000010 1101000 1001011

152

Page 155: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždavinių savarankiškam darbui sprendimai arba atsa-kymai

Uždavinio 14.7 sprendimas ir atsakymai:

1. Duotas pranešimas:110101001010001

Dabar kiekvieną skaitmenį pakartokime po keturis kartus:

1111 1111 0000 1111 0000 1111 0000 0000 1111 0000 1111 0000 0000 0000 1111.

Tai ir bus užkoduotas pranešimas.2. Iš kanalo gavome tokį pranešimą (jau iš anksto suskirstytą po n = 3 simbolius):

101 111 100 110 100 001 010 100 101 010 111 111 010 111 001110 001 010 011 111 111 111 100 100 110 110 111 010 110 000

Galimi teisingi kodo žodžiai yra 111 arba 000. Visos kitos reikšmės gautos įvykusklaidai kanale, taigi jas dekoduosime artimiausiu (pagal Hemingo atstumą) teisingukodo žodžiu (ištaisyti skaitmenys paryškinti).

111 111 000 111 000 000 000 000 111 000 111 111 000 111 000111 000 000 111 111 111 111 000 000 111 111 111 000 111 000

Pradinis pranešimas bus toks (000 keičiame į 0, 111 keičiame į 1):

110100001011010100111100111010.

Uždavinio 14.8 sprendimas ir atsakymai:

1. Duotas pranešimas (jau iš anksto suskirstytas po k = 8 simbolius):

10101101 10101000 10101011 00000010 0101101110111011 00101111 10010011 01001010 10010111

Kiekvienam aštuonetui prirašome po vienetuką ar nuliuką tokiu būdu, kad rinkinyjevienetų skaičius būtų lyginis:

101011011 101010001 101010111 000000101 010110111101110110 001011111 100100110 010010101 100101111

Tai ir bus užkoduotas pranešimas.2. Iš kanalo gavome tokį pranešimą (jau iš anksto suskirstytą po n = 6 simbolius):

100110 000100 110101 100000 010000 010101 101101 000011 111011 010000

Belieka patikrinti, kuriuose šešetuose yra nelyginis vienetų skaičius. Matome, kadvienetų skaičius lyginis tik trečiajame, septintajame ir aštuntajame šešetuose. Iš jųgalima atstatyti pradinio pranešimo vektorius (atmetus paskutinę koordinatę), o kitusšešetus prašome atsiųsti iš naujo (žymime „—”). Gauname dekoduotą pranešimą:

— — 11010 — — — 10110 00001 — —.

153

Page 156: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Uždavinio 14.9 sprendimas ir atsakymai: Skaičiuokime kontrolinį skaičių kiekvienamISBN-10 numeriui:

(1 · 0 + 2 · 1 + 3 · 9 + 4 · 8 + 5 · 6 + 6 · 0 + 7 · 8 + 8 · 7 + 9 · 7) mod 11 = 266 mod 11 = 2

(1 · 2 + 2 · 8 + 3 · 4 + 4 · 5 + 5 · 9 + 6 · 5 + 7 · 0 + 8 · 0 + 9 · 9) mod 11 = 206 mod 11 = 8(1 · 9 + 2 · 9 + 3 · 5 + 4 · 5 + 5 · 6 + 6 · 1 + 7 · 9 + 8 · 9 + 9 · 1) mod 11 = 242 mod 11 = 0(1 · 9 + 2 · 9 + 3 · 8 + 4 · 6 + 5 · 1 + 6 · 6 + 7 · 7 + 8 · 9 + 9 · 8) mod 11 = 309 mod 11 = 1

Matome, kad pirmasis ir trečiasis ISBN-10 numeriai sudaryti korektiškai, o antrasis ir ket-virtasis — nekorektiškai (t. y. jie iškraipyti perdavimo metu).Uždavinio 14.10 sprendimas ir atsakymai: Patikriname kontrolinio skaitmens lygybę(14.1). Pirmajam ISBN-13 kodui kairioji lygybės pusė bus

a1 + 3a2 + a3 + 3a4 + a5 + 3a6 + a7 + 3a8 + a9 + 3a10 + a11 + 3a12 + a13

= 9 + 3 · 7 + 8 + 3 · 9 + 9 + 3 · 5 + 5 + 3 · 8 + 8 + 3 · 3 + 3 + 3 · 7 + 1= 160,

o antrajam

a1 + 3a2 + a3 + 3a4 + a5 + 3a6 + a7 + 3a8 + a9 + 3a10 + a11 + 3a12 + a13

= 9 + 3 · 7 + 8 + 3 · 0 + 6 + 3 · 7 + 9 + 3 · 7 + 8 + 3 · 3 + 2 + 3 · 6 + 7= 139.

Matome, kad pirmasis ISBN-13 kodas gautas teisingai, nes 160 ≡ 0 (mod 10), o antrasis —ne.Uždavinio 14.11 sprendimas ir atsakymai: Skaičiuokime kontrolinį skaičių pirmuojubūdu kiekvienam asmens kodui:

(1 · 1 + 2 · 9 + 3 · 9 + 4 · 0 + 5 · 2 + 6 · 1 + 7 · 6 + 8 · 1 + 9 · 7 + 1 · 0) mod 11 = 175 mod 11 = 10

(1 · 2 + 2 · 9 + 3 · 8 + 4 · 0 + 5 · 3 + 6 · 0 + 7 · 4 + 8 · 0 + 9 · 3 + 1 · 6) mod 11 = 120 mod 11 = 10(1 · 4 + 2 · 6 + 3 · 7 + 4 · 0 + 5 · 8 + 6 · 1 + 7 · 5 + 8 · 0 + 9 · 3 + 1 · 3) mod 11 = 148 mod 11 = 5(1 · 5 + 2 · 1 + 3 · 2 + 4 · 0 + 5 · 3 + 6 · 1 + 7 · 1 + 8 · 2 + 9 · 6 + 1 · 7) mod 11 = 118 mod 11 = 8Matome, kad trečiasis asmens kodas sudarytas korektiškai, o ketvirtasis — nekorektiškai(t. y. jis iškraipytas perdavimo metu). Tuo tarpu pirmajam ir antrajam asmens kodamsreikės skaičiuoti kontrolinį skaičių antruoju būdu:

(3 · 1 + 4 · 9 + 5 · 9 + 6 · 0 + 7 · 2 + 8 · 1 + 9 · 6 + 1 · 1 + 2 · 7 + 3 · 0) mod 11 = 175 mod 11 = 10

(3 · 2 + 4 · 9 + 5 · 8 + 6 · 0 + 7 · 3 + 8 · 0 + 9 · 4 + 1 · 0 + 2 · 3 + 3 · 6) mod 11 = 163 mod 11 = 9Matome, kad pirmasis asmens kodas sudarytas korektiškai, o antrasis — nekorektiškai.Uždavinio 14.12 sprendimas ir atsakymai:

1. Duotas pranešimas (jau iš anksto suskirstytas po k = 4 simbolius):

0000 0101 1000 0110 1011 0110 0110 0100 1101 0000 1100 1111 0010 1100 0000

Dabar kiekvienam ketvertui braižome po diagramą:

154

Page 157: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

0 0

00 0

00

1 0

10 1

10

1 0

11 0

00

1 0

00 1

01

1 0

01 0

11

1 0

00 1

01

1 0

00 1

01

0 1

10 1

00

0 0

01 1

10

0 0

00 0

00

1 1

01 1

00

1 1

11 1

11

1 1

10 0

01

1 1

01 1

00

0 0

00 0

00

Taigi, gauname tokį užkoduotą pranešimą:

0000000 0101101 1000101 0110001 10110010110001 0110001 0100110 1101000 00000001100011 1111111 0010111 1100011 0000000

2. Duotas pranešimas (jau iš anksto suskirstytas po k = 4 simbolius):

1000 1011 0010 1111 0101

Dabar kiekvienam ketvertui braižome po diagramą:

1 0

11 0

00

1 0

01 0

11

1 1

10 0

01

1 1

11 1

11

1 0

10 1

10

Taigi, gauname tokį užkoduotą pranešimą:

1000101 1011001 0010111 1111111 0101101

3. Iš kanalo gavome tokį pranešimą (jau iš anksto suskirstytą po n = 7 simbolius):

0110111 1110101 1010000 1011110 00101110010100 0100100 0111111 0111001 00101110000100 0101010 1001110 0001010 1111010

Surašykime skaitmenis į diagramą (paryškintas neteisingas skaitmuo):

1 1

10 1

01

1 0

11 1

01

0 0

01 0

01

0 1

11 0

11

1 1

10 0

01

155

Page 158: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

0 0

10 0

01

0 0

10 1

00

1 1

10 1

11

1 0

00 1

11

1 1

10 0

01

0 0

10 0

00

0 1

00 1

10

0 1

11 0

10

0 1

00 0

10

0 1

01 1

11

Ištaisykime pažymėtas klaidas:

1 1

10 0

01

0 0

11 1

01

0 1

01 0

01

0 1

11 0

10

1 1

10 0

01

0 0

10 0

11

0 1

10 1

00

1 1

11 1

11

1 0

00 1

01

1 1

10 0

01

0 0

00 0

00

0 1

00 1

11

0 1

11 0

10

1 1

00 0

10

0 1

00 1

11

Taigi, dekoduotas pranešimas atrodys taip:

0010 1110 1010 1001 0010 0011 0100 1111 0110 0010 0000 0111 1001 0001 0111.

4. Iš kanalo gavome tokį pranešimą (jau iš anksto suskirstytą po n = 7 simbolius):

1010110 1000110 1000010 1101000 1001011

Surašykime skaitmenis į diagramą (paryškintas neteisingas skaitmuo):

0 1

11 0

01

0 1

11 0

00

0 1

01 0

00

0 0

01 1

10

1 1

01 0

10

Ištaisykime pažymėtas klaidas:

0 1

01 0

01

0 1

11 0

10

0 1

01 0

01

0 0

01 1

10

1 1

00 0

10

156

Page 159: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Taigi, dekoduotas pranešimas atrodys taip:

1010 1001 1010 1101 0001.

157

Page 160: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

15 pratybos

Kriptografija

Teorinė medžiaga: V dalies 5 skyrius.

Uždaviniai pratybomsŠių pratybų metu padėsime pagrindiniams kriptografijos veikėjams — Algiui ir Birutei —bendrauti tarpusavyje, naudojantis RSA kriptosistema ir RSA skaitmeninio parašo schema.

Uždavinys 15.1. RSA kriptosistemos raktų sudarymas. Birutė nori sudaryti savo RSAkriptosistemos viešojo ir privačiojo raktų porą.

1. Birutė pasirenka skirtingus pirminius skaičius p = 5 ir q = 13. Raskite jos viešojo irprivačiojo raktų modulį n.

2. Raskite modulio n Oilerio funkcijos reikšmę ϕ(n).3. Birutei patinka skaičius 7, todėl viešojo rakto laipsnio rodikliu e ji norėtų pasirinkti

skaičiaus 7 kartotinį. Kokius skaičius ji gali rinktis? Koks tada bus jos viešasis raktas?4. Tarkime, Birutė pasirinko e = 35, todėl jos viešasis raktas yra Kv = (e, n) = (35, 65).

Sudarykite Birutės atitinkamą privatųjį raktą Kp = (d, n).

Sprendimas.

1. n = pq = 5 · 13 = 65.2. Jei p ir q yra pirminiai skaičiai, tai ϕ(pq) = (p− 1)(q − 1), todėl

ϕ(n) = ϕ(5 · 13) = (5− 1)(13− 1) = 4 · 12 = 48.

3. Viešojo rakto laipsnio rodiklis e turi tenkinti šias savybes: 1 < e < ϕ(n), ir e turi būtitarpusavyje pirminis su ϕ(n). Šiuo atveju mums reikia tokio skaičiaus 7 kartotinio e,kad 1 < e < 48 ir e tarpusavyje pirminis su 48. Tokie skaičiai yra tik du: 7 ir 35.Atitinkami viešieji raktai tada galėtų būti (e, n) = (7, 65) ir (35, 65).

4. Privatusis raktas yra poraKp = (d, n), kur skaičius n yra tas pats n iš viešojo rakto, šiuoatveju n = 65, o skaičių d galima vienareikšmiškai surasti iš šių sąlygų: 1 < d < ϕ(n)ir ed ≡ 1 mod ϕ(n). Šiam tikslui naudosime išplėstinį Euklido algoritmą. Paprastas(t. y. ne išplėstinis) Euklido algoritmas suranda dviejų natūraliųjų skaičių (didesniųuž nulį) a ir b bendrą didžiausią daliklį. Išplėstinis, beieškodamas bendro didžiausio

158

Page 161: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

daliklio, dar randa tokius sveikuosius skaičius s ir t, kad as+bt yra lygus a ir b bendramdidžiausiam dalikliui.Kaip galime pritaikyti išplėstinį Euklido algoritmą tam, kad rastume d, tenkinantįsąlygą ed ≡ 1 mod ϕ(n)? Perkėlę vienetą į kitą pusę, šią sąlygą galime pakeisti tokia:ed−1 ≡ 0 mod ϕ(n). Kitaip sakant, ed−1 turi būti dalus iš ϕ(n). Tai reiškia, kad turiegzistuoti toks sveikasis skaičius l, kad ed − 1 = l · ϕ(n). Pertvarkę paskutiniąją lygtįgauname ed − l · ϕ(n) = 1. Kaip žinome, skaičiai e ir ϕ(n) yra tarpusavyje pirminiai,todėl jų bendras didžiausias daliklis yra 1, o tai reiškia, kad skaičius d ir l galime rastitaikydami išplėstinį Euklido algoritmą skaičiams e ir ϕ(n). Skaičius d bus koeficientasprie skaičiaus e.Išplėstinį Euklido algoritmą skaičiams e ir ϕ(n) taikysime dviem etapais. Pirmametaikysime paprastą Euklido algoritmą, kad gautume seką lygybių, kurias antrame etapeįstatydami vienas į kitas ir rasime skaičius d ir l.Taigi, pirmasis etapas — (paprastas) Euklido algoritmas natūraliųjų skaičių (didesniųuž nulį) a ir b bendram didžiausiam dalikliui rasti. Iš pradžių didesnįjį iš skaičių air b daliname (su liekana) iš mažesniojo. Tarkime, a > b, tai daliname a iš b. Šįdalybos veiksmą galime užrašyti tokia lygybe: a = qb + r, kur q yra dalmuo, r yraliekana. Pavyzdžiui, 48 daliname iš 35, gauname dalmenį 1 ir liekaną 13. Tą dalybosveiksmą galime užrašyti tokia lygybe: 48 = 1 · 35 + 13. Tada b daliname iš liekanosr, gauname antrą liekaną ir atitinkamą lygybę, tada pirmą liekaną daliname iš antros,antrą iš trečios ir t. t., kol gausime liekaną, lygią nuliui (kiekviena nauja liekana yragriežtai mažesnė už prieš tai gautą, todėl galų gale tikrai gausime lygią nuliui liekaną).Paskutinė nelygi nuliui liekana ir bus skaičių a ir b bendras didžiausias daliklis. Jeii-tajame žingsnyje gautus dalmenį ir liekaną žymėsime atitinkamai qi ir ri, ir tarsime,kad nulinę liekaną gauname k+ 1-ajame žingsnyje, tai gausime tokią lygybių seką (čiaapibraukiau pradinius skaičius a ir b bei gautas liekanas):

a = q1 b + r1 (daliname a iš b, gauname liekaną r1)b = q2 r1 + r2 (daliname b iš r1, gauname liekaną r2)r1 = q3 r2 + r3 (daliname r1 iš r2, gauname liekaną r3)r2 = q4 r3 + r4 (daliname r2 iš r3, gauname liekaną r4)

...ri−2 = qi ri−1 + ri (daliname ri−2 iš ri−1, gauname liekaną ri)

...rk−3 = qk−1 rk−2 + rk−1 (daliname rk−3 iš rk−2, gauname liekaną rk−1)rk−2 = qk rk−1 + rk (daliname rk−2 iš rk−1, gauname liekaną rk)rk−1 = qk+1 rk (daliname rk−1 iš rk, gauname liekaną 0)

Paskutinė nelygi nuliui liekana rk ir yra skaičių a ir b bendras didžiausias daliklis.Tada antrame etape rinksime koeficientus prie liekanų, kildami gautomis lygybėmisiš apačios į viršų. Pradėdami nuo priešpaskutinės gautos lygybės, išreiškiame gautąbendrą didžiausią daliklį rk per prieš tai gautas liekanas rk−1 ir rk−2:

rk = rk−2 − qk rk−1 . (15.1)

159

Page 162: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

Tada iš trečios nuo galo lygybės išreiškiame liekaną rk−1, gauname

rk−1 = rk−3 − qk−1 rk−2

ir įstatome į (15.1) lygybę. Taip gausime bendro didžiausio daliklio rk išraišką perliekanas rk−2 ir rk−3:

rk = rk−2 − qk rk−1

= rk−2 − qk(rk−3 − qk−1 rk−2

)(atskliauskime)

= rk−2 − qk rk−3 + qkqk−1 rk−2 (sutraukime)= −qk rk−3 + (1 + qkqk−1) rk−2

Tada į šią formulę įstatome liekanos rk−2 išraišką per liekanas rk−3 ir rk−4, gaunamebendro didžiausio daliklio rk išraišką per liekanas rk−3 ir rk−4, ir t. t., kol galų galegausime bendro didžiausio daliklio rk išraišką per a ir b. Tai ir bus ieškoma išraiška.Mūsų atveju pritaikysime išplėstinį Euklido algoritmą skaičiams ϕ(n) = 48 ir e = 35.Pirmas etapas: daliname 48 iš 35, gauname liekaną 13, tada daliname 35 iš 13 ir t. t.Gauname tokias lygybes:

48 = 1 · 35 + 13 (daliname 48 iš 35, gauname liekaną 13) (15.2)35 = 2 · 13 + 9 (daliname 35 iš 13, gauname liekaną 9) (15.3)13 = 1 · 9 + 4 (daliname 13 iš 9, gauname liekaną 4) (15.4)9 = 2 · 4 + 1 (daliname 9 iš 4, gauname liekaną 1) (15.5)4 = 4 · 1 (daliname 4 iš 1, gauname liekaną 0)

Antrame etape išreiškiame bendrą didžiausią daliklį 1 per vis aukštesnes liekanas. Pra-dedame nuo (15.5) lygybės, paskui kylame lygybėmis aukštyn — (15.4), (15.3) ir (15.2):

1 = 9 − 2 · 4 (įstatome liekanos 4 išraišką iš (15.4) lygybės)= 9 − 2

(13 − 1 · 9

)(atskliaudžiame)

= 9 − 2 · 13 + 2 · 9 (sutraukiame narius)= −2 · 13 + 3 · 9 (įstatome liekanos 9 išraišką iš (15.3) lygybės)= −2 · 13 + 3 ·

(35 − 2 · 13

)(atskliaudžiame)

= −2 · 13 + 3 · 35 − 6 · 13 (sutraukiame narius)= 3 · 35 − 8 · 13 (įstatome liekanos 13 išraišką iš (15.2) lygybės)= 3 · 35 − 8 ·

(48 − 1 · 35

)(atskliaudžiame)

= 3 · 35 − 8 · 48 + 8 · 35 (sutraukiame narius)= −8 · 48 + 11 · 35

Gavome, kad koeficientas prie e = 35 yra 11. Tai ir bus d reikšmė.Taigi, privatusis Birutės raktas bus Kp = (d, n) = (11, 65).

Uždavinys 15.2. RSA kriptosistemos naudojimas (šifravimas, dešifravimas). Birutės RSAkriptosistemos viešasis raktas yra Kv = (e, n) = (35, 65), privatusis raktas yra Kp = (d, n) =(11, 65).

160

Page 163: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

1. Algis nori nusiųsti Birutei pranešimą m = 10. Užšifruokite pranešimą m.

2. Birutė gauna užšifruotą pranešimą c = 30. Dešifruokite c.

Sprendimas.

1. Algis užšifruoja pranešimą Birutei m, pasinaudojęs Birutės viešuoju raktu Kv = (e, n).Užšifruotas pranešimas c ≡ me mod n. Mūsų atveju c ≡ 1035 mod 65. Skaičiuojametaip. Keliame m kvadratu, gauname m2, tada rezultatą dar kartą kvadratu, gauname(m2)2 = m4, rezultatą vėl keliame kvadratu, gauname m8, m16, m32, m64 ir t. t. Išsireiš-kiame e dvejeto laipsnių suma, ir sudauginame atitinkamus m laipsnius, kad gautumeme. Moduliu n skaičiuojame po kiekvieno veiksmo.

Šiuo atveju e = 35 dvejeto laipsnių suma galime išreikšti taip: e = 35 = 32 + 2 + 1,todėl mums reikės skaičiuoti iki m32 (m64 ir aukštesnių m laipsnių nereikės). Keliamem = 10 dvejeto laipsniais (naudojame ženklą ≡ vietoj lygybės ženklo, kai skaičiuojamemoduliu n = 65):

101 = 10102 = 100 ≡ 35 ≡ −30

104 =(102

)2≡ (−30)2 = 900 ≡ −10

108 =(104

)2≡ (−10)2 = 100 ≡ −30

1016 =(108

)2≡ (−30)2 = 900 ≡ −10

1032 =(1016

)2≡ (−10)2 = 100 ≡ −30

Kodėl mes naudojame −30 vietoj 102? Kadangi

· · · ≡ −160 ≡ −95 ≡ −30 ≡ 35 ≡ 100 ≡ 165 ≡ . . . (mod 65),

tai vietoj 100 mes galime naudoti bet kurį iš išvardintų skaičių. Kadangi mums tąskaičių reikės kelti kvadratu kitame žingsnyje, tai logiška yra pasirinkti tą reikšmę,kuri moduliu yra mažiausia, kad paprasčiau būtų skaičiuoti. Todėl ir pasirinkome −30.Tačiau jei būtume pasirinkę bet kurią kitą iš išvardintų reikšmių, būtume gavę tą patįrezultatą moduliu 65.

Tada

1035 = 1032+2+1

= 1032 · 102 · 101

≡ (−30) · (−30) · 10= 900 · 10≡ −10 · 10= −100≡ 30

Taigi, užšifruotas pranešimas c = 30.

161

Page 164: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

2. Birutė dešifruoja užšifruotą pranešimą c, pasinaudojusi savo privačiuoju raktu Kp =(d, n). Dešifruotas pranešimas m ≡ cd mod n. Mūsų atveju m ≡ 3011 mod 65. Skai-čiuojame taip pat, kaip pirmoje uždavinio dalyje.

301 = 30302 = 900 ≡ −10

304 =(302

)2≡ (−10)2 = 100 ≡ −30

308 =(304

)2≡ (−30)2 = 900 ≡ −10

Tada

3011 = 308+2+1

= 308 · 302 · 301

≡ (−10) · (−10) · 30= 100 · 30≡ −30 · 30= −900≡ 10

Taigi, dešifruotas pranešimas m = 10. Šį pranešimą ir siuntė Algis Birutei pirmojeuždavinio dalyje.

Uždavinys 15.3. RSA skaitmeninio parašo schemos naudojimas (parašo sudarymas ir patik-rinimas). Birutės RSA skaitmeninio parašo schemos viešasis raktas yra Kv = (e, n) = (3, 33),privatusis raktas yra Kp = (d, n) = (7, 33).

1. Birutė nori nusiųsti pranešimą m = 13 Algiui, jį pasirašiusi. Sudaryti pranešimo mparašą s.

2. Algis gavo pranešimą m = 13 su parašu s = 7. Patikrinti, ar parašas galiojantis.Sprendimas.

1. Birutė sudaro pranešimo m parašą s, pasinaudojusi savo privačiuoju raktu Kp = (d, n).Parašas s ≡ md mod n. Mūsų atveju s ≡ 137 mod 33. Skaičiuojame:

131 = 13132 = 169 ≡ 4

134 =(132

)2≡ 42 = 16

Tada

137 = 134+2+1

= 134 · 132 · 131

≡ 16 · 4 · 13= 64 · 13≡ −2 · 13= −26≡ 7

Taigi, pranešimo m = 13 parašas yra s = 7.

162

Page 165: Gintaras Skersys Julius Andrikonis Valdas Dičiūnas ...klevas.mif.vu.lt/~skersys/19r/dm/DMpratybos.pdf · VILNIAUS UNIVERSITETAS Gintaras Skersys Julius Andrikonis Valdas Dičiūnas

2. Norėdamas patikrinti iš Birutės gauto pranešimo m parašo s galiojimą, Algis pasinau-doja Birutės viešuoju raktu Kv = (e, n). Jis apskaičiuoja m′ ≡ se mod n ir patikrina,ar m′ = m. Jei taip, parašas tikras, o jei ne, parašas s padirbtas arba pranešimas msiuntimo metu buvo pakeistas, t. y. parašas s neatitinka pranešimo m. Mūsų atvejum′ ≡ 73 mod 33. Skaičiuojame:

71 = 772 = 49 ≡ 16

Tada

73 = 72+1

= 72 · 71

≡ 16 · 7= 112≡ 13

Taigi, gavome, kad m′ = 13 sutampa su pranešimu m, todėl parašas yra galiojantis.

163