KATEDRA INFORMATIKY ˇ ´IRODOVEˇDECKA ´ FAKULTA PR UNIVERZITA PALACKE´HO
´ VOD DO INFORMATIKY U ´ VEK RADIM BEˇLOHLA
´N VY´VOJ TOHOTO UCˇEBNI´HO TEXTU JE SPOLUFINANCOVA ´ LNI´M FONDEM A STA ´ TNI´M ROZPOCˇTEM CˇESKE´ REPUBLIKY EVROPSKY´M SOCIA
Olomouc 2008
Abstrakt
Text je u´vodem do teoreticky´ch partiı´ informatiky. Poskytuje informace o vybrany´ch metoda´ch diskre´tnı´ matematiky, ktere´ se v informatice pouzˇ´ıvajı´. Text je psa´n matematicky´m stylem, tj. nove´ pojmy jsou definova´ny, o definovany´ch pojmech jsou vyslovova´na tvrzenı´ a ta jsou pak dokazova´na. Du˚raz je kladen na motivaci pro zavedenı´ novy´ch pojmu˚ a jejich vysveˇtlenı´. Text prˇedpokla´da´ jen za´kladnı´ strˇedosˇkolske´ znalosti matematiky. Deˇkuji RNDr. Miroslavu Kolarˇ´ıkovi, Ph.D. za to, zˇe meˇ upozornil na chyby, ktere´ se v prˇedcha´zejı´cı´ verzi textu vyskytovaly.
Cı´lova´ skupina
Text je urcˇen pro studenty oboru˚ Aplikovana´ informatika a Informatika uskutecˇnˇovany´ch v prezencˇnı´ a kombinovane´ formeˇ na Prˇ´ırodoveˇdecke´ fakulteˇ Univerzity Palacke´ho v Olomouci.
Obsah 1
2
Za´klady logiky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.1
Co a k cˇemu je logika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.2
Vy´roky a logicke´ spojky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.3
Pravdivostnı´ hodnota vy´roku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.4
Kvantifika´tory a pravdivostnı´ hodnoty vy´roku˚ s kvantifika´tory . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
1.5
Za´klady vy´rokove´ logiky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Mnozˇiny, relace, funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.1
Co a k cˇemu jsou mnozˇiny, relace a funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2
Mnozˇiny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3
2.4
2.5
3
Pojem mnozˇiny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.2
Za´pisova´nı´ mnozˇin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.3
Vztahy mezi mnozˇinami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.4
Operace s mnozˇinami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Relace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.3.1
Pojem relace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3.2
Vztahy a operace s relacemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3.3
Operace s bina´rnı´mi relacemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3.4
Bina´rnı´ relace a jejich reprezentace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Bina´rnı´ relace na mnozˇineˇ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.4.1
Vlastnosti bina´rnı´ch relacı´ na mnozˇineˇ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.4.2
Ekvivalence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.4.3
Usporˇa´da´nı´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Funkce (zobrazenı´) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.5.1
Pojem funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.5.2
Typy funkcı´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.5.3
Princip indukce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.5.4
Konecˇne´, spocˇetne´ a nespocˇetne´ mnozˇiny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Cˇ´ısla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.1
Prˇirozena´, cela´, raciona´lnı´ a rea´lna´ cˇ´ısla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2
Deˇlitelnost a prvocˇ´ısla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Cˇ´ıselne´ soustavy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.3 4
2.2.1
Kombinatorika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.1
Co a k cˇemu je kombinatorika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2
Pravidla soucˇtu a soucˇinu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.3
Permutace, variace, kombinace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.3.1
Permutace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.3.2
Variace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.3.3
Kombinace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.3.4
Dalsˇ´ı vy´beˇry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.4
Princip inkluze a exkluze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.5
Pocˇ´ıta´nı´ pravdeˇpodobnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
A Seznam obra´zku˚ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 B Seznam tabulek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
1
Za´klady logiky
Studijnı´ cı´le: Po prostudova´nı´ te´to kapitoly by student meˇl rozumeˇt za´kladnı´m pojmu˚m z logiky. Meˇl by take´ rozumeˇt za´kladu˚m vy´rokove´ logiky. Klı´cˇova´ slova: logika, pravdivostnı´ hodnota, logicka´ spojka, formule, vy´rokova´ logika.
1.1
Co a k cˇemu je logika
Logika je veˇdou o spra´vne´m usuzova´nı´. V logice jde o to, aby usuzova´nı´ meˇlo spra´vnou formu bez ohledu na obsah. Uvazˇujme naprˇ. tvrzenı´ „Prsˇ´ı.“ a „Jestlizˇe prsˇ´ı, pak jsou silnice mokre´“. Z nich lze odvodit tvrzenı´ „Silnice jsou mokre´.“ Uvazˇujme jinou dvojici tvrzenı´, naprˇ. „Petr ma´ hlad.“ a „Jestlizˇe ma´ Petr hlad, pak se Petr snazˇ´ı sehnat neˇco k jı´dlu.“ Z teˇchto tvrzenı´ lze odvodit tvrzenı´ „Petr se snazˇ´ı sehnat neˇco k jı´dlu.“ V uvedeny´ch prˇ´ıkladech vyply´valo z dvojice tvrzenı´ dalsˇ´ı tvrzenı´. Uvedene´ dvojice tvrzenı´ meˇly zcela jisteˇ jiny´ obsah, nebot’ „Prsˇ´ı.“ znamena´ neˇco jine´ho nezˇ „Petr ma´ hlad.“ Zpu˚sob, ˇ ´ıka´me, zˇe usuzova´nı´ meˇlo stejnou jaky´m jsme odvodili trˇetı´ tvrzenı´ byl vsˇak v obou prˇ´ıpadech stejny´. R formu. Tuto formu je mozˇne´ zna´zornit symbolicky takto: z tvrzenı´ A, a tvrzenı´ A i B (cˇteme „jestlizˇe A, pak B“), plyne tvrzenı´ B. Uvedene´ rysy jsou pro modernı´ logiku charakteristicke´, proto je zopakujme: logika studuje formy usuzova´nı´ bez ohledu na obsah. Modernı´ logika ma´ proto symbolicky´ charakter, nebot’jednotliva´ tvrzenı´ oznacˇujeme symboly (naprˇ. vy´sˇe uvedeny´mi symboly A a B), zpu˚soby spojenı´ tvrzenı´ ve slozˇiteˇjsˇ´ı tvrzenı´ oznacˇujeme take´ symboly (naprˇ. vy´sˇe uvedene´ “i”). Pro uvedene´ rysy by´va´ modernı´ logika oznacˇova´na jako logika forma´lnı´ , poprˇ. symbolicka´. Symbolicky´ charakter umozˇnˇuje logice snadneˇji odhle´dnout od obsahu a soustrˇedit se na formy usuzova´nı´. Slovo „logika“ ma´ v beˇzˇne´m zˇivoteˇ i jine´ vy´znamy. Tyto vy´znamy jsou od pu˚vodnı´ho vy´znamu, ktery´ jsme si pra´veˇ vysveˇtlili, odvozene´, ale jsou neprˇesne´ a zava´deˇjı´cı´. Meˇli bychom se proto snazˇit slovo „logika“ v teˇchto odvozeny´ch vy´znamech nepouzˇ´ıvat. Naprˇ. veˇtou „Prˇedlozˇeny´ na´vrh nema´ zˇa´dnou logiku.“ chce autor rˇ´ıct, zˇe na´vrh je nesrozumitelny´, poprˇ. sˇpatneˇ zdu˚vodneˇny´, poprˇ. neraciona´lnı´. Veˇtou „Logika nasˇeho podnika´nı´ spocˇ´ıva´ v maxima´lnı´m uspokojova´nı´ potrˇeb za´kaznı´ka.“ chce autor rˇ´ıct, zˇe uspokojova´nı´ potrˇeb za´kaznı´ku˚ je hlavnı´m rysem jeho podnikatelske´ strategie. „To je nelogicke´.“ znamena´, zˇe to nema´ smysl. Podobny´ch prˇ´ıkladu˚ mu˚zˇeme najı´t celou rˇadu.
Logika je veˇda o spra´vne´m usuzova´nı´.
V logice jde o formu usuzova´nı´, ne o obsah usuzova´nı´.
Logika ma´ symbolicky´ charakter.
Prˇi studiu ota´zek, ktere´ v logice vznikajı´, se cˇasto pouzˇ´ıva´ matematicky´ch metod. Z tohto du˚vodu se neˇkdy hovorˇ´ı o matematicke´ logice. Dalsˇ´ım prˇ´ıvlastkem, ktery´ se v souvislosti s pojmem logika pouzˇ´ıva´, je „klasicka´“, poprˇ. „neklasicka´“. Zjednodusˇeneˇ lze rˇ´ıcı´, zˇe klasickou logikou se rozumı´ logika, ktera´ pouzˇ´ıva´ dveˇ pravdivostnı´ hodnoty (pravda a nepravda) a tzv. klasicke´ logicke´ spojky. Mezi klasicke´ logicke´ spojky patrˇ´ı naprˇ. spojka “jestlizˇe . . . , pak. . . ”, se kterou jsme se setkali vy´sˇe. Logika, ktera´ se zaby´va´ i jiny´mi spojkami nezˇ klasicky´mi, poprˇ. dalsˇ´ımi aspekty, ktery´mi se klasicka´ logika nezaby´va´, se nazy´va´ neklasicka´ logika. Prˇ´ıkladem neklasicke´ spojky je spojka “je mozˇne´, zˇe . . . ”. Touto spojkou se zaby´va´ moda´lnı´ logika. Dalsˇ´ım prˇ´ıkladem neklasicke´ logiky je tzv. tempora´lnı´ logika (neˇkdy nazy´vana´ logikou cˇasu). Tempora´lnı´ logika, se zaby´va´ tvrzenı´mi, ve ktery´ch hraje roli cˇas, naprˇ. „Po zelene´ naskocˇ´ı na semaforu oranzˇova´.“, „Kazˇdy´ den vycha´zı´ Slunce.“ Dalsˇ´ım prˇ´ıkladem neklasicke´ logiky je tzv. fuzzy logika. Ta se zaby´va´ tvrzenı´mi, ktere´ mohou mı´t kromeˇ pravdivostnı´ch hodnot pravda a nepravda i jine´ hodnoty. Naprˇ tvrzenı´ „Za´kaznı´k je spokojeny´.“ mu˚zˇe mı´t pravdivostnı´ hodnotu 1 (pravda), pokud je spokojeny´ bez vy´hrad, 0 (nepravda), pokud je nespokojeny´, ale i 0.8, pokud je naprˇ. spokojeny´, ale ne zcela. Fuzzy logika nasˇla vy´znamne´ uplatneˇnı´ v praxi a sta´le v nı´ probı´ha´ intenzı´vnı´ vy´zkum. Vztah logiky a informatiky je bohaty´ a ru˚znorody´. Se za´klady logiky by meˇl by´t obezna´men kazˇdy´ informatik. Znalost za´kladu˚ logiky na´m umozˇnˇuje srozumitelneˇ a jednoznacˇneˇ se vyjadrˇovat a argumentovat. To je pochopitelneˇ uzˇitecˇne´ pro kazˇde´ho, nejen pro informatika. Pro informatika je to vsˇak navy´sost du˚lezˇite´ proto, zˇe svoje konstrukce a na´vrhy musı´ „sdeˇlit pocˇ´ıtacˇi“, naprˇ. ve formeˇ zdrojove´ho ko´du napsane´ho ve vhodne´m programovacı´m jazyku. Zdrojovy´ ko´d obvykle obsahuje vy´razy, ktere´ se vyhodnocujı´ podle pravidel logiky (naprˇ. podmı´nky v prˇ´ıkazech veˇtvenı´ „if . . . then . . . else . . . “). Logika na´s teˇmto pravidlu˚m ucˇ´ı. Zdrojovy´ ko´d musı´ by´t prˇesny´, jinak je program chybny´. Chyby mohou mı´t dalekosa´hle´ na´sledky (pomysleme na program pro vy´pocˇet mezd, program pro rˇ´ızenı´ elektra´rny apod.). Zdrojovy´ program musı´ by´t take´ srozumitelny´, jinak mu nikdo jiny´ nezˇ jeho autor nebude rozumeˇt (a po cˇase mu nebude rozumeˇt ani jeho autor). Logika na´s ucˇ´ı prˇesnosti i srozumitelnosti. To je dalsˇ´ı vy´znamny´ efekt studia logiky. Pokrocˇilejsˇ´ı partie logiky jsou za´kladem du˚lezˇity´ch oblastı´ informatiky, pro prˇ´ıklad jmenujme logicke´ programova´nı´, umeˇlou inteligenci, expertnı´ syste´my, analy´zu dat. 4
Budeme se zaby´vat klasickou logikou.
Existujı´ i neklasicke´ logiky, naprˇ. moda´lnı´ logika, tempora´lnı´ logika, fuzzy logika.
Vztah logiky a informatiky je bohaty´ a ru˚znorody´.
Logika na´s ucˇ´ı prˇesnosti i srozumitelnosti.
1.2
Vy´roky a logicke´ spojky
Vy´rokem intuitivneˇ rozumı´me tvrzenı´ (vy´poveˇd’), u ktere´ho ma´ smysl uvazˇovat o jeho pravdivosti. Vy´roky jsou naprˇ. na´sledujı´cı´ tvrzenı´. Prsˇ´ı. Byl jsem v obchodeˇ a koupil jsem si knihu.
Vy´rok je tvrzenı´, ktere´ mu˚zˇe by´t pravdive´ nebo nepravdive´.
Kdyzˇ prsˇ´ı, jsou mokre´ silnice. 2 + 2 = 4 a 3 < 100. 2 + 2 = 6. Na´sledujı´cı´ tvrzenı´ ale nejsou vy´roky. Kniha v obchodeˇ. 2+2 A˛ je peˇkne´ pocˇası´. Z jednodusˇsˇ´ıch vy´roku˚ se vytva´rˇejı´ slozˇiteˇjsˇ´ı vy´roky pomocı´ tzv. logicky´ch spojek1 . Logicke´ spojky jsou specia´lnı´ jazykove´ vy´razy jako naprˇ. “. . . a . . . ”,
“. . . nebo . . . ”,
“. . . , pra´veˇ kdyzˇ . . . ”,
“jestlizˇe . . . , pak . . . ”,
“ne . . . ” (tj. “nenı´ pravda, zˇe . . . ”).
Naprˇ. z vy´roku “2+2=4” a vy´roku “Prsˇ´ı.” mu˚zˇeme vytvorˇit pomocı´ spojky “a” vy´rok “2+2=4 a Prsˇ´ı.” Z vy´roku “Prsˇ´ı.” vytvorˇ´ıme pomocı´ spojky “ne” (tj. “nenı´ pravda, zˇe . . . ”) vy´rok “Neprsˇ´ı.” (tj. “Nenı´ pravda, zˇe prsˇ´ı.”). Z vy´roku˚ “Prsˇ´ı.” a “Silnice jsou mokre´.” vytvorˇ´ıme pomocı´ spojky “jestlizˇe . . . , pak . . . ” vy´rok “Jestlizˇe prsˇ´ı, pak jsou silnice mokre´.” Pru˚vodce studiem Vsˇimneˇme si, zˇe pojem spojka zde pouzˇ´ıva´me v sˇirsˇ´ım vy´znamu nezˇ by´va´ beˇzˇne´: spojkou cha´peme jazykovy´ vy´raz, jehozˇ pouzˇitı´m na vy´roky dostaneme novy´ vy´rok. Naprˇ. vy´rok “Jestlizˇe prsˇ´ı, pak jsou silnice mokre´.” vznikl pouzˇitı´m spojky “jestlizˇe. . . , pak . . . ” na vy´roky “Prsˇ´ı.” a “Silnice jsou mokre´.” Z hlediska cˇeske´ho jazyka je vy´raz “jestlizˇe” spojkou, jinou spojkou je vy´raz “pak”. Vsˇimneˇme si take´, zˇe prˇi pouzˇitı´ spojek na vy´roky meˇnı´me porˇadı´ veˇtny´ch cˇlenu˚. Naprˇ. v pra´veˇ uvedene´m prˇ´ıkladu by prˇ´ısneˇ vzato vy´sledny´m vy´rokem meˇl by´t vy´rok “Jestlizˇe prsˇ´ı, pak silnice jsou mokre´.”. Tento vy´rok ale neznı´ peˇkneˇ. Podobne´ jazykove´ jevy budeme z hlediska logiky povazˇovat za podruzˇne´ a nebudeme se jimi zaby´vat. Ze stejne´ho du˚vodu nebudeme rozlisˇovat naprˇ. tvrzenı´ “Neprsˇ´ı.” a “Nenı´ pravda, zˇe prsˇ´ı.”
Klasicka´ logika (te´ se budeme veˇnovat) se zaby´va´ tzv. klasicky´mi spojkami. Mezi neˇ patrˇ´ı vy´sˇe uvedene´ spojky, s dalsˇ´ımi klasicky´mi spojkami se sezna´mı´me pozdeˇji. Pru˚vodce studiem Kromeˇ klasicky´ch spojek se v beˇzˇne´m zˇivoteˇ pouzˇ´ıvajı´ i dalsˇ´ı spojky, naprˇ. “je mozˇne´, zˇe . . . ”, “je nutne´, zˇe . . . ”, “vı´ se, zˇe . . . ”, “veˇrˇ´ı se, zˇe . . . ”. Naprˇ. z vy´roku “Vesmı´r je nekonecˇny´.” vytvorˇ´ıme pomocı´ spojky “veˇrˇ´ı se, zˇe . . . ” vy´rok “Veˇrˇ´ı se, zˇe vesmı´r je nekonecˇny´.”, pomocı´ spojky “je mozˇne´, zˇe . . . ” pak vy´rok “Je mozˇne´, zˇe vesmı´r je nekonecˇny´.” Spojkami “je mozˇne´, zˇe . . . ”, “je nutne´, zˇe . . . ” se zaby´va´ moda´lnı´ logika, spojkami “vı´ se, zˇe . . . ”, “veˇrˇ´ı se, zˇe . . . ” se zaby´va´ epistemicka´ logika. Tyto spojky jsou slozˇiteˇjsˇ´ı nezˇ klasicke´ spojky a my se jimi zaby´vat nebudeme.
Neˇktere´ vy´roky jsou pravdive´ (naprˇ. “2+2=4”), neˇktere´ jsou nepravdive´ (naprˇ. “2+2=6”). O tvrzenı´, ktere´ je pravdive´, rˇekneme, zˇe ma´ pravdivostnı´ hodnotu 1 (pravda); o tvrzenı´, ktere´ je nepravdive´, rˇekneme, zˇe ma´ pravdivostnı´ hodnotu 0 (nepravda). 1 Mı´sto
“logicka´ spojka” rˇ´ıka´me cˇasto jen “spojka”.
5
Logicke´ spojky jsou jazykove´ vy´razy, ktery´mi z jednodusˇsˇ´ıch vy´roku˚ vytva´rˇ´ıme vy´roky slozˇiteˇjsˇ´ı.
Pru˚vodce studiem U neˇktery´ch tvrzenı´ ma´ smysl uvazˇovat o jejich pravdivosti (jsou tedy vy´roky), naprˇ. “Cˇloveˇk s vy´sˇkou 180cm je vysoky´”, prˇesto se vsˇak zdra´ha´me rˇ´ıci, zˇe dane´ tvrzenı´ je pravdive´ nebo, zˇe nenı´ pravdive´ (je nepravdive´). Pravdivostnı´ hodnota, kterou bychom mu prˇirˇadili, by byla neˇkde mezi 0 a 1, naprˇ. rˇekneme-li, zˇe “Cˇloveˇk vysoky´ 180cm je vysoky´” ma´ pravdivostnı´ hodnotu 0.8, rˇ´ıka´me tı´m, zˇe je pravdive´ ve stupni 0.8, tj. zˇe je skoro pravdive´. V na´sledujı´cı´m se omezı´me na (tvrzenı´, ktere´ mohou mı´t jen) dveˇ pravdivostnı´ hodnoty (0 a 1). Poznamenejme pouze, zˇe studiem vı´ce pravdivostnı´ch hodnot se zaby´va´ tzv. fuzzy logika (ta je v soucˇasne´ dobeˇ intenzı´vneˇ zkouma´na). U neˇktery´ch tvrzenı´ za´visı´ pravdivostnı´ hodnota na cˇase, naprˇ. “Za ty´den bude prsˇet.” Takovy´mi tvrzenı´mi se zaby´va´ tempora´lnı´ logika (logika cˇasu). My se takovy´mi tvrzenı´mi zaby´vat nebudeme.
Klasicka´ logika se tedy zaby´va´ jen specia´lnı´mi vy´roky. Nepokry´va´ vsˇechny vy´roky, ktere´ v beˇzˇne´m zˇivoteˇ pouzˇ´ıva´me, pokry´va´ ale jejich vy´znamnou cˇa´st. V dalsˇ´ım vy´kladu se zameˇrˇ´ıme na to, jak se vy´roku˚m prˇirˇazujı´ pravdivostnı´ hodnoty.
1.3
Pravdivostnı´ hodnota vy´roku
V prˇedchozı´ cˇa´sti jsme si rˇekli, zˇe neˇktere´ vy´roky jsou pravdive´, neˇktere´ jsou nepravdive´. Je-li vy´rok V pravdivy´, rˇ´ıka´me take´, zˇe ma´ pravdivostnı´ hodnotu “pravda”. Mı´sto “pravda” pouzˇ´ıva´me symbolicke´ oznacˇenı´ 1, a rˇ´ıka´me tedy, zˇe V ma´ pravdivostnı´ hodnotu 1. Je-li vy´rok V nepravdivy´, rˇ´ıka´me, zˇe ma´ pravdivostı´ hodnotu “nepravda”, poprˇ. zˇe ma´ pravdivostnı´ hodnotu 0. zˇe je vy´rok V pravdivy´, resp. nepravdivy´, pak zapisujeme take´ ||V || = 1, ||V || = 0, tj. pravdivostnı´ hodnotu vy´roku V oznacˇujeme ||V ||. Jak ale zjistı´me pravdivostnı´ hodnotu vy´roku? Podı´vejme se na na´sledujı´cı´ vy´rok. Prsˇ´ı a venkovnı´ teplota je mensˇ´ı nezˇ 15◦ C. Tento vy´rok vznikl pouzˇitı´m spojky “a” na vy´rok “Prsˇ´ı.” a na vy´rok “Venkovnı´ teplota je mensˇ´ı nezˇ 15◦ C.” Vy´roky “Prsˇ´ı.” a “Venkovnı´ teplota je mensˇ´ı nezˇ 15◦ C.” neobsahujı´ zˇa´dne´ spojky. Takovy´m vy´roku˚m rˇ´ıka´me atomicke´. Pravdivostnı´ hodnota vy´roku “Prsˇ´ı a venkovnı´ teplota je mensˇ´ı nezˇ 15◦ C.” za´visı´ na pravdivostnı´ch hodnota´ch vy´roku˚ “Prsˇ´ı.” a “Venkovnı´ teplota je mensˇ´ı nezˇ 15◦ C.” Jsou-li oba vy´roky “Prsˇ´ı.” i “Venkovnı´ teplota je mensˇ´ı nezˇ 15◦ C.” pravdive´, je i vy´rok “Prsˇ´ı a venkovnı´ teplota je mensˇ´ı nezˇ 15◦ C.” pravdivy´. Jinak, tj. je-li neˇktery´ z vy´roku˚ “Prsˇ´ı.” a “Venkovnı´ teplota je mensˇ´ı nezˇ 15◦ C.” nepravdivy´, je vy´rok “Prsˇ´ı a venkovnı´ teplota je mensˇ´ı nezˇ 15◦ C.” nepravdivy´. Uvedeny´ postup ma´ obecnou platnost, a proto ho rozeberme podrobneˇji. Oznacˇme slozˇeny´ vy´rok “Prsˇ´ı a venkovnı´ teplota je mensˇ´ı nezˇ 15◦ C.” symbolem V . Atomicke´ vy´roky “Prsˇ´ı.” a “Venkovnı´ teplota je mensˇ´ı nezˇ 15◦ C.” oznacˇmeˇ symboly V1 a V2 . Oznacˇme da´le spojku “a” symbolem c. Vy´rok V ma´ tedy tvar (neˇkdy rˇ´ıka´me formu) V1 c V2 . Pravdivostnı´ hodnotu ||V1 c V2 || vy´roku V1 c V2 vlastneˇ “spocˇ´ıta´me” z pravdivostnı´ch hodnot ||V1 || a ||V2 || vy´roku˚ V1 a V2 pomocı´ vy´znamu spojky “a”. Vy´znam spojky “a” je da´n na´sledujı´cı´ tabulkou. ∧ 0 1
0 0 0
1 0 1
Vy´znam spojky “a” je tedy da´n prˇirˇazenı´m pravdivostnı´ch hodnot dvojicı´m pravdivostnı´ch hodnot. Naprˇ. dvojici 0 a 0 je prˇirˇazena hodnota 0, dvojici 0 a 1 hodnota 0, dvojici 1 a 0 hodnota 0, dvojici 1 a 1 hodnota 1, protozˇe na pru˚secˇ´ıku rˇa´dku oznacˇene´ho 0 a sloupce oznacˇene´ho 0 je hodnota 0 atd. Toto prˇirˇazenı´ (zobrazenı´, funkci) oznacˇme ∧. Tabulka tedy rˇ´ıka´ 0 ∧ 0 = 0, 0 ∧ 1 = 0, 1 ∧ 0 = 0, 1 ∧ 1 = 1. Pravdivostnı´ hodnota ||V1 c V2 || vy´roku V1 c V2 je tedy da´na vztahem ||V1
c V2 ||
= ||V1 || ∧ ||V2 ||.
Tomuto vztahu je trˇeba rozumeˇt takto: Pravdivostnı´ hodnotu ||V1 c V2 || vy´roku V1 c V2 (leva´ strana rovnice) spocˇ´ıta´me pouzˇitı´m funkce ∧ na pravdivostnı´ hodnoty ||V1 || a ||V2 || vy´roku˚ V1 a V2 . Tı´mto 6
Vy´rok mu˚zˇe by´t pravdivy´ nebo nepravdivy´.
pouzˇitı´m zı´ska´me hodnotu ||V1 || ∧ ||V2 || funkce ∧ na pravdivostnı´ch hodnota´ch ||V1 || a ||V2 || (prava´ strana rovnice). Hodnotu ||V1 || ∧ ||V2 || zjistı´me z vy´sˇe uvedene´ tabulky: je to hodnota na pru˚secˇ´ıku rˇa´dku oznacˇene´ho ||V1 || a sloupce oznacˇene´ho ||V2 ||. Ota´zkou zu˚sta´va´, jak zjistı´me pravdivostnı´ hodnoty ||V1 || a ||V2 || vy´roku˚ V1 a V2 . Zde musı´me rozlisˇit dva prˇ´ıpady. 1. Je-li vy´rok Vi atomicky´, tj. neobsahuje logicke´ spojky, pak jeho pravdivostnı´ hodnota musı´ by´t da´na “zvencˇ´ı”. Naprˇ. v nasˇem prˇ´ıpadeˇ jsou oba vy´roky V1 (“Prsˇ´ı.”) i V2 (“Venkovnı´ teplota je mensˇ´ı nezˇ 15◦ C.”) atomicke´. Jejich pravdivostnı´ hodnotu na´m neˇkdo rˇekne, poprˇ. ji sami zjistı´me (podı´va´me se z okna, podı´va´me se na teplomeˇr, najdeme na internetu apod.). Obecneˇ budeme prˇedpokla´dat, zˇe existuje neˇjaky´ externı´ zdroj informacı´, oznacˇme ho e, pomocı´ ktere´ho pravdivostnı´ hodnotu e(Vi ) vy´roku Vi zjistı´me. 2. Nenı´-li vy´rok Vi atomicky´, tj. obsahuje logicke´ spojky, pak je to slozˇeny´ vy´rok a jeho pravdivostnı´ hodnotu spocˇ´ıta´me podobneˇ jako jsme pocˇ´ıtali pravdivostnı´ hodnotu pu˚vodnı´ho vy´roku V . Pokud je naprˇ. vy´rok V1 slozˇeny´m vy´rokem a ma´ tvar V11 c V12 , pak pravdivostnı´ hodnotu ||V1 || vy´roku V1 , tj. hodnotu ||V11 c V12 || vy´roku V11 c V12 spocˇ´ıta´me podle vztahu ||V11
c V12 ||
= ||V11 || ∧ ||V12 ||.
Vy´roky V11 a V12 mohou by´t opeˇt slozˇne´ nebo atomicke´ a prˇi urcˇova´nı´ jejich pravdivostnı´ch hodnot postupujeme obdobneˇ. Vy´rok V je jazykovy´ vy´raz (tvrzenı´), naprˇ. “Prsˇ´ı a venkovnı´ teplota je mensˇ´ı nezˇ 15◦ C.” Pravdivostnı´ hodnota vy´roku V za´visı´ na vy´znamu logicky´ch spojek a na pravdivostnı´ch hodnota´ch atomicky´ch vy´roku˚, ze ktery´ch se vy´rok V skla´da´. V nasˇem prˇ´ıpadeˇ za´visı´ pravdivostnı´ hodnota vy´roku V na tabulce pravdivostnı´ch funkce ∧ spojky “a” a na pravdivostnı´ch hodnota´ch atomicke´ho vy´roku “Prsˇ´ı.” a atomicke´ho vy´roku “Venkovnı´ teplota je mensˇ´ı nezˇ 15◦ C.” Tabulky pravdivostnı´ch funkcı´ logicky´ch spojek povazˇujeme za jednou provzˇdy dane´ (pevne´, konstantnı´). Jak jsme ale rˇekli, pravdivostnı´ hodnoty atomicky´ch vy´roku˚ jsou da´ny zvencˇ´ı. Neˇkdo na´m je musı´ sdeˇlit nebo je musı´me zjistit. Obecneˇ prˇedpokla´da´me, zˇe pravdivostnı´ hodnoty e(“Prsˇ´ı.”) a e(“Venkovnı´ teplota je mensˇ´ı nezˇ 15◦ C.”) vy´roku˚ “Prsˇ´ı.” a “Venkovnı´ teplota je mensˇ´ı nezˇ 15◦ C.” zjistı´me z neˇjake´ho externı´ho zdroje informacı´ e. Na tomto zdroji tedy pravdivostnı´ hodnota vy´roku V za´visı´. Proto bychom prˇesneˇji meˇli psa´t ||V ||e
mı´sto
||V ||,
abychom explicitneˇ zdu˚raznili, zˇe jde o pravdivostnı´ hodnotu vy´roku V prˇi e. Na e se vlastneˇ mu˚zˇeme dı´vat jako na prˇirˇazenı´, ktere´ atomicky´m vy´roku˚m prˇirˇazuje pravdivostnı´ hodnoty. e se proto v logice nazy´va´ pravdivostnı´ ohodnocenı´ (atomicky´ch vy´roku˚). Stejneˇ jako v prˇ´ıpadeˇ spojky “a” postupujeme i v prˇ´ıpadeˇ ostatnı´ch logicky´ch spojek, naprˇ. “ne”, “nebo”, “jestlizˇe . . . , pak . . . ”, “. . . , pra´veˇ kdyzˇ . . . ”. Tyto spojky oznacˇujeme symboly n, d, i, e. Jejich vy´znamy, tj. zobrazenı´ popisujı´cı´ prˇirˇazenı´ pravdivostnı´ch hodnot, pak oznacˇujeme ¬, ∨, →, ↔. Prˇehled pra´veˇ uvedeny´ch logicky´ch spojek poda´va´ Tabulka 1. Pru˚vodce studiem Kazˇda´ logicka´ spojka ma´ sve´ oznacˇenı´ a svu˚j vy´znam. Oznacˇenı´m je symbol logicke´ spojky. Vy´znamem je pravdivostnı´ funkce logicke´ spojky. Symboly a pravdivostnı´ funkce za´kladnı´ch logicky´ch spojek poda´va´ Tabulka 1. Prˇ´ıklad 1.1. Ma´me za u´kol urcˇit pravdivostnı´ hodnotu vy´roku “2 + 2 = 5 nebo cˇ´ıslo 10 je deˇlitelne´ cˇ´ıslem 6.” Jde o slozˇeny´ vy´rok, ktery´ vznikl pouzˇitı´m spojky disjunkce (“nebo”) na atomicke´ vy´roky “2 + 2 = 5” a “Cˇ´ıslo 10 je deˇlitelne´ cˇ´ıslem 6.” Oznacˇ´ıme-li tyto atomicke´ vy´roky symboly V1 a V2 a slozˇeny´ vy´rok symbolem V , mu˚zˇeme vy´rok V zapsat symbolicky ve tvaru V1 d V2 . Prˇitom vı´me, zˇe “2 + 2 = 5” je nepravdivy´ vy´rok a “Cˇ´ıslo 10 je deˇlitelne´ cˇ´ıslem 6.” je take´ nepravdivy´ vy´rok, tj. e(“2 + 2 = 5”) = 0 a e(“Cˇ´ıslo 10 je deˇlitelne´ cˇ´ıslem 6.”) = 0. Pro pravdivostnı´ hodnotu vy´roku “2 + 2 = 5 nebo cˇ´ıslo 10 je deˇlitelne´ cˇ´ıslem 6.” potom dostaneme ||“2 + 2 = 5 nebo cˇ´ıslo 10 je deˇlitelne´ cˇ´ıslem 6.”|| = = ||V ||e = ||V1 d V2 ||e = ||V1 ||e ∨ ||V2 ||e = 0 ∨ 0 = 0.
7
Pravdivostnı´ hodnota vy´roku se pocˇ´ıta´ z pravdivostnı´ch hodnot atomicky´ch vy´roku˚ pomocı´ pravdivostnı´ch funkcı´ spojek.
na´zev
za´pis v prˇirozene´m jazyce
symbol
pravdivostnı´ funkce
tabulka pravd. funkce ¬a 1 0
a 0 1
negace
“ne”
n
¬
konjunkce
“a”
c
∧
∧ 0 1
0 0 0
1 0 1
disjunkce
“nebo”
d
∨
∨ 0 1
0 0 1
1 1 1
implikace
“jestlizˇe . . . , pak . . . ”
i
→
→ 0 1
0 1 0
1 1 1
ekvivalence
“. . . , pra´veˇ kdyzˇ . . . ”
e
↔
↔ 0 1
0 1 0
1 0 1
Tabulka 1: Za´kladnı´ logicke´ spojky. Pozna´mka 1.2. V prˇ´ıpadeˇ slozˇeny´ch vy´roku˚ cˇasto pouzˇ´ıva´me za´vorky, abychom jednoznacˇneˇ vyznacˇili strukturu vy´roku. Naprˇ. kdybychom napsali “2 · 3 = 5 a 2 + 2 = 5 nebo 2 + 2 = 4”, nenı´ jasne´, jestli myslı´me “2 · 3 = 5 a (2 + 2 = 5 nebo 2 + 2 = 4)” nebo “(2 · 3 = 5 a 2 + 2 = 5) nebo 2 + 2 = 4”. Vsˇimneˇme si, zˇe prˇi prvnı´m uza´vorkova´nı´ dostaneme nepravdivy´ vy´rok, zatı´mco prˇi druhe´m uza´vorkova´nı´ dostaneme vy´rok pravdivy´. Za´vorky pouzˇ´ıva´me i prˇi symbolicke´m za´pisu vy´roku˚. Pı´sˇeme naprˇ. V1 c (V2 d V3 ), (V1 c V2 ) d V3 . Shrnˇme nynı´, co vı´me o urcˇova´nı´ pravdivostnı´ hodnoty vy´roku. Pru˚vodce studiem Je-li da´n vy´rok V v prˇirozene´m jazyce a ma´me-li urcˇit jeho pravdivostnı´ hodnotu, postupujeme na´sledovneˇ. 1. Urcˇ´ıme atomicke´ vy´roky V1 , . . . , Vn , ze ktery´ch se V skla´da´. 2. Urcˇ´ıme pravdivostnı´ hodnoty e(V1 ), . . . , e(Vn ) atomicky´ch vy´roku˚ V1 , . . . , Vn . Hodnoty e(Vi ) jsou soucˇa´stı´ zada´nı´ nebo je zjistı´me nebo je zna´me. 3. Vy´rok V zapı´sˇeme v symbolicke´ podobeˇ, dostaneme naprˇ. V1
c (V2 i V3 ).
4. Je-li V atomicky´ vy´rok, pak ||V ||e = e(V ). 5. Je-li V slozˇeny´ vy´rok, tj. ma´ jeden z tvaru˚ n V1 , V1 jeho pravdivostnı´ hodnotu urcˇ´ıme podle pravidel
c V2 , V1 d V2 , V1 i V2 , V1 e V2 , pak
• || n V1 ||e = ¬||V1 ||e ,
c V2 ||e = ||V1 ||e ∧ ||V2 ||e , ||V1 d V2 ||e = ||V1 ||e ∨ ||V2 ||e , ||V1 i V2 ||e = ||V1 ||e → ||V2 ||e , ||V1 e V2 ||e = ||V1 ||e ↔ ||V2 ||e .
• ||V1 • • •
Pozna´mka 1.3. Poznamenejme, zˇe ohodnocenı´ e (na´sˇ externı´ zdroj informacı´, ktery´ rˇ´ıka´, ktere´ atomicke´ vy´roky jsou pravdive´ a ktere´ jsou nepravdive´) neˇkdy nenı´ popsa´n u´plneˇ. U neˇktery´ch atomicky´ch vy´roku˚ se totizˇ prˇedpokla´da´, zˇe je zna´mo, zda jsou pravdive´ cˇi nikoli. Nasˇe zada´nı´ potom je naprˇ. 8
Urcˇete pravdivostnı´ hodnotu vy´roku “2 + 2 = 4 a 2 · 3 = 5”. mı´sto u´plne´ho Urcˇete pravdivostnı´ hodnotu vy´roku “2 + 2 = 4 a 2 · 3 = 5”, vı´te-li, zˇe “2 + 2 = 4” je pravdivy´ a “2 · 3 = 5” je nepravdivy´ vy´rok. U zkra´cene´ho zada´nı´ se prˇedpokla´dalo, zˇe vı´me e(“2 + 2 = 4”) = 1 a e(“2 · 3 = 5”) = 0. Prˇ´ıklad 1.4. Urcˇeme pravdivostnı´ hodnotu vy´roku “(2 + 2 = 4 a cˇ´ıslo 10 je deˇlitelne´ cˇ´ıslem 6), pra´veˇ kdyzˇ nenı´ pravda, zˇe Cˇ´ına je nejlidnateˇjsˇ´ı sta´t sveˇta”, vı´me-li, zˇe “Cˇ´ına je nejlidnateˇjsˇ´ı sta´t sveˇta” je pravdivy´ vy´rok. Tento vy´rok se skla´da´ ze trˇ´ı atomicky´ch vy´roku˚, totizˇ z vy´roku “2 + 2 = 4”, vy´roku “cˇ´ıslo 10 je deˇlitelne´ cˇ´ıslem 6” a vy´roku “Cˇ´ına je nejlidnateˇjsˇ´ı sta´t sveˇta.” Oznacˇ´ıme-li tyto vy´roky V1 , V2 a V3 , vı´me, zˇe e(V1 ) = 1, e(V2 ) = 0, e(V3 ) = 1. Symbolicka´ podoba zadane´ho vy´roku je (V1 c V2 ) en V3 . Pravdivostnı´ hodnota ||(V1 c V2 ) en V3 || je ||(V1 c V2 ) en V3 || = ||V1 c V2 || ↔ || n V3 || = (||V1 || ∧ ||V2 ||) ↔ (¬||V3 ||) = (1 ∧ 0) ↔ (¬1) = 0 ↔ 0 = 1, tedy vy´rok “(2 + 2 = 4 a cˇ´ıslo 10 je deˇlitelne´ cˇ´ıslem 6), pra´veˇ kdyzˇ nenı´ pravda, zˇe Cˇ´ına je nejlidnateˇjsˇ´ı sta´t sveˇta.” je pravdivy´.
1.4
Kvantifika´tory a pravdivostnı´ hodnoty vy´roku˚ s kvantifika´tory
Neˇktere´ vy´razy prˇirozene´ho jazyka obsahujı´ promeˇnne´. Prˇ´ıkladem jsou veˇty Cˇ´ıslo x je veˇtsˇ´ı nebo rovno 3. 2 + y = 4. Jestlizˇe je x deˇlitelne´ deseti, pak je x sude´. x + y ≥ z. Tyto vy´razy nejsou vy´roky. K tomu, aby se tyto vy´razy staly vy´roky, bychom museli urcˇit hodnotu promeˇnny´ch, ktere´ se v teˇch vy´razech vyskytujı´. Dosazenı´m cˇ´ıselny´ch hodnot za promeˇnne´ vzniknou z teˇchto vy´razu˚ vy´roky. V nasˇem prˇ´ıpadeˇ, pokud dosadı´me 1 za x, 2 za y, 103 za z, dostaneme vy´roky Cˇ´ıslo 1 je veˇtsˇ´ı nebo rovno 3. 2 + 2 = 4. Jestlizˇe je 1 deˇlitelne´ deseti, pak je 1 sude´. 1 + 2 ≥ 103. Prvnı´ a cˇtvrty´ vy´rok je nepravdivy´, druhy´ a trˇetı´ je pravdivy´. Vy´razy obsahujı´cı´ promeˇnne´, ktere´ se po dosazenı´ hodnot za promeˇnne´ stanou vy´roky, se nazy´vajı´ vy´rokove´ formy. Vy´roky jsme oznacˇovali pı´smeny, naprˇ. V . Vy´rokove´ formy by´va´ zvykem oznacˇovat pı´smenem, za ktery´m jsou v za´vorce uvedeny vsˇechny promeˇnne´, ktere´ forma obsahuje. Naprˇ. “Cˇ´ıslo x je veˇtsˇ´ı nebo rovno 3.” bychom oznacˇili V (x), “x + y ≥ z” bychom oznacˇili U (x, y, z) apod. Vy´raz, ktery´ vznikne z vy´razu U (x, y, z) dosazenı´m hodnoty 6 za promeˇnnou y, oznacˇ´ıme U (x, 6, z) apod. Poznamenejme, zˇe U (x, 6, z) nenı´ vy´rok, nebot’ sta´le obsahuje promeˇnne´. Vy´rokem bude naprˇ. vy´raz U (1, 6, 100), tj. vy´raz “1 + 6 ≥ 100”. Z vy´rokovy´ch forem mu˚zˇeme tedy tvorˇit vy´roky dosazenı´m hodnot za promeˇnne´. Pro kazˇdou promeˇnnou x, ktera´ se v dane´ vy´rokove´ formeˇ vyskytuje, bychom ale meˇli zadat jejı´ obor hodnot, tj. mnozˇinu Dx vsˇech hodnot, ktery´ch mu˚zˇe promeˇnna´ x naby´vat. Obor hodnot Dx se neˇkdy nezada´va´, zvla´sˇteˇ je-li z neˇjake´ho du˚vodu zrˇejmy´. To vsˇak mu˚zˇe ve´st k nedorozumeˇnı´, a proto bychom obor hodnot kazˇde´ promeˇnne´ meˇli vzˇdy zadat. Naprˇ. u vy´razu “x je veˇtsˇ´ı nebo rovno 3” nenı´ jasne´, co je oborem hodnot promeˇnne´ x. Tento obor musı´me zadat. Musı´me naprˇ. rˇ´ıct, zˇe x mu˚zˇe naby´vat hodnot z mnozˇiny vsˇech cely´ch cˇ´ısel, tj. Dx = {0, 1, −1, 2, −2, 3, −3, . . . }. Dalsˇ´ı zpu˚sob, jak tvorˇit z vy´rokovy´ch forem vy´roky prˇedstavujı´ kvantifika´tory. V klasicke´ logice rozezna´va´me dva kvantifika´tory, obecny´ a existencˇnı´. Obecny´ kvantifika´tor s promeˇnnou x je vy´raz 9
Vy´razy, obsahujı´cı´ promeˇnne´, ze ktery´ch se po dosazenı´ hodnot za promeˇnne´ stanou vy´roky, se nazy´vajı´ vy´rokove´ formy.
Kvantifika´tory jsou jazykove´ vy´razy, ktery´mi s vy´rokovy´ch forem vznikajı´ vy´roky. V klasicke´ logice rozezna´va´me obecny´ a existencˇnı´ kvantifika´tor.
“Pro kazˇdy´ x platı´, zˇe . . . ”, poprˇ. jen “Pro kazˇdy´ x . . . ”. Symbolicky se obecny´ kvantifika´tor s promeˇnnou x oznacˇuje vy´razem (∀x). Pouzˇitı´m obecne´ho kvantifika´toru na vy´raz “x je veˇtsˇ´ı nebo rovno 1” dostaneme vy´raz “Pro kazˇdy´ x platı´, zˇe x je veˇtsˇ´ı nebo rovno 1”, cozˇ mu˚zˇeme zapsat take´ symbolicky jako “(∀x) (x je veˇtsˇ´ı nebo rovno 1)”, poprˇ. “(∀x) (x ≥ 1)”. Existencˇnı´ kvantifika´tor s promeˇnnou x je vy´raz “Existuje x tak, zˇe platı´ . . . ”, poprˇ. jen “Existuje x tak, zˇe . . . ”. Symbolicky se existencˇnı´ kvantifika´tor s promeˇnnou x oznacˇuje vy´razem (∃x). Pouzˇitı´m existencˇnı´ho kvantifika´toru na vy´raz “x je veˇtsˇ´ı nebo rovno 1” dostaneme vy´raz
Obecny´ kvantifika´tor se znacˇ´ı symbolem ∀, existencˇnı´ kvantifika´tor se znacˇ´ı symbolem ∃.
“Existuje x tak, zˇe x je veˇtsˇ´ı nebo rovno 1.”, cozˇ mu˚zˇeme zapsat take´ symbolicky jako “(∃x) (x je veˇtsˇ´ı nebo rovno 1).”, poprˇ. “(∃x) (x ≥ 1)”. Tento vy´raz je vy´rokem. Pru˚vodce studiem Symboly ∀ a ∃ pro obecny´ a existencˇnı´ kvantifika´tor pocha´zejı´ z neˇmcˇiny. Symbol ∀ vznikl otocˇenı´m pocˇa´tecˇnı´ho velke´ho „A“ ve sloveˇ „allgemein“, cozˇ je neˇmecky´ vy´raz pro „obecny´“. Symbol ∃ vznikl otocˇenı´m pocˇa´tecˇnı´ho velke´ho „E“ ve sloveˇ „existentiell“, cozˇ je neˇmecky´ vy´raz pro „existencˇnı´“.
Obecneˇ platı´, zˇe pouzˇitı´m obecne´ho nebo existencˇnı´ho kvantifika´toru s promeˇnnou x na vy´rokovou formu, jejı´zˇ jedinou promeˇnnou je promeˇnna´ x, zı´ska´me vy´rok. To je snadno videˇt. Naprˇ. ve vy´sˇe uvedene´m prˇ´ıkladu vznikl vy´rok “Existuje x tak, zˇe x je veˇtsˇ´ı nebo rovno 1.” pouzˇitı´m existencˇnı´ho kvantifika´toru na vy´raz “x je veˇtsˇ´ı nebo rovno 1.” Obecneˇji platı´, zˇe vy´rok vznikne pouzˇitı´m obecne´ho nebo existencˇnı´ho kvantifika´toru s promeˇnnou x na vy´raz, ve ktere´m je promeˇnna´ x jedinou promeˇnnou, ktera´ ma´ v dane´m vy´razu volny´ vy´skyt. Pojem volny´ vy´skyt promeˇnne´ zde nebudeme prˇesneˇ definovat. Je to pojem intuitivneˇ jasny´, a proto zu˚staneme v rovineˇ intuice. Rˇekneme, zˇe vy´skyt promeˇnne´ x v neˇjake´m vy´razu je volny´, pokud se promeˇnna´ x v tomto vy´skytu nenacha´zı´ v dosahu platnosti neˇjake´ho kvantifika´toru s promeˇnnou x. Uvazˇujme naprˇ. vy´raz
Pouzˇitı´m kvantifika´toru˚ na vy´rokove´ formy vznikajı´ vy´roky.
(Pro kazˇde´ z je z veˇtsˇ´ı nezˇ 0) nebo (existuje y tak, zˇe x je mensˇ´ı nezˇ y). Dosah platnosti kvantifika´toru je ta cˇa´st vy´razu, na kterou se kvantifika´tor vztahuje. Naprˇ. dosah platnosti kvantifika´toru “Pro kazˇde´ z” je “z veˇtsˇ´ı nezˇ 0”, dosah platnosti kvantifika´toru “existuje y” je “x je mensˇ´ı nezˇ y” apod. Proto vy´skyt promeˇnne´ z ve vy´razu “z veˇtsˇ´ı nezˇ 0” nenı´ volny´m vy´skytem (z je totizˇ v dosahu platnosti kvantifika´toru “Pro kazˇde´ z”), vy´skyt promeˇnne´ y ve vy´razu “x je mensˇ´ı nezˇ y” nenı´ volny´m vy´skytem (y je totizˇ v dosahu platnosti kvantifika´toru “existuje y”), ale vy´skyt promeˇnne´ x ve vy´razu “x je mensˇ´ı nezˇ y” je volny´m vy´skytem. Podı´vejme se nynı´, jak se vyhodnocujı´ pravdivostnı´ hodnoty vy´roku˚, ktere´ obsahujı´ kvantifika´tory. Prˇedpokla´dejme, zˇe je da´na vy´rokova´ forma V (x), kde x je promeˇnna´ s oborem hodnot Dx . Pravdivostnı´ hodnotu ||(∀x)V (x)|| vy´roku (∀x)V (x), tj. vy´roku “Pro kazˇde´ x platı´ V (x)” definujeme pravidlem 1 pokud pro kazˇde´ m ∈ Dx je ||V (m)|| = 1 ||(∀x)V (x)|| = 0 jinak. Slovy: Vy´rok (∀x)V (x) je pravdivy´, pokud pro kazˇdou hodnotu m z oboru Dx je vy´rok V (m), ktery´ vznikne dosazenı´m m do vy´rokove´ formy V (x), pravdivy´. Pravdivostnı´ hodnotu ||(∃x)V (x)|| vy´roku (∃x)V (x), tj. vy´roku “Existuje x tak, zˇe platı´ V (x)” definujeme pravidlem 1 pokud asponˇ pro jedno m ∈ Dx je ||V (m)|| = 1 ||(∃x)V (x)|| = 0 jinak. Slovy: Vy´rok (∃x)V (x) je pravdivy´, pokud pro alesponˇ jednu hodnotu m z oboru Dx je vy´rok V (m), ktery´ vznikne dosazenı´m m do vy´rokove´ formy V (x), pravdivy´.
10
Pravdivostnı´ hodnoty vy´roku˚ s kvantifika´tory se urcˇujı´ podle jednoduchy´ch pravidel.
Prˇ´ıklad 1.5. (1) Je da´n vy´rok “Pro kazˇde´ x platı´, zˇe jestlizˇe x je deˇlitelne´ 6, pak x je deˇlitelne´ 3”. Oborem hodnot promeˇnne´ x je mnozˇina vsˇech prˇirozeny´ch cˇ´ısel, tj. Dx = {1, 2, 3, 4, . . . }. Urcˇete pravdivostnı´ hodnotu dane´ho vy´roku. Dany´ vy´rok mu˚zˇeme symbolicky zapsat jako (∀x)(V (x)), kde V (x) je “Jestlizˇe x je deˇlitelne´ 6, pak x je deˇlitelne´ 3.” Podle vy´sˇe uvedene´ho pravidla je ||(∀x)(V (x))|| = 1, pra´veˇ kdyzˇ pro kazˇde´ prˇirozene´ cˇ´ıslo m je ||V (m)|| = 1. Prˇitom vy´rok V (m) ma´ tvar V1 (m) i V2 (m), kde V1 (m) je “m je deˇlitelne´ 6” a V2 (m) je “m je deˇlitelne´ 3”. Je zrˇejme´, zˇe ||V1 (m) i V2 (m)|| = 1, tj. zˇe ||V (m)|| = 1 (podrobneˇji: pro m deˇlitelna´ 6 je ||V1 (m) i V2 (m)|| = ||V1 (m)|| → ||V2 (m)|| = 1 → 1 = 1; pro m nedeˇlitelna´ 6 je ||V1 (m) i V2 (m)|| = ||V1 (m)|| → ||V2 (m)|| = 0 → ||V2 (m)|| = 1). Proto je ||(∀x)(V1 (x) i V2 (x))|| = 1, tj. vy´rok “Pro kazˇde´ x platı´, zˇe jestlizˇe x je deˇlitelne´ 6, pak x je deˇlitelne´ 3” je pravdivy´. (2) Je da´n vy´rok “Existuje x tak, zˇe pro kazˇde´ y platı´, zˇe x ≤ y”. Oborem hodnot promeˇnny´ch x i y je mnozˇina vsˇech prˇirozeny´ch cˇ´ısel, tj. Dx = Dy = {1, 2, 3, 4, . . . }. Urcˇete pravdivostnı´ hodnotu dane´ho vy´roku. Dany´ vy´rok mu˚zˇeme symbolicky zapsat jako (∃x)(∀y)(V (x, y)), kde V (x, y) je “x ≤ y”. Prˇitom (∀y)(V (x, y)) je vy´rokova´ forma, kterou mu˚zˇeme oznacˇit U (x). Podle uvedeny´ch pravidel je ||(∃x)(∀y)(V (x, y))|| = 1, tj. ||(∃x)U (x)|| = 1, pra´veˇ kdyzˇ existuje prˇirozene´ cˇ´ıslo m tak, zˇe ||U (m)|| = 1. Zvolme za m cˇ´ıslo 1. U (1) je vy´rok (∀y)(V (1, y)). To je vy´rok tvaru (∀y)(W (y)), kde W (y) je vy´rokova´ forma V (1, y), tj. W (y) je 1 ≤ y. Podle uvedeny´ch pravidel je ||(∀y)(V (1, y))|| = 1, tj. ||(∀y)(W (y))|| = 1, pra´veˇ kdyzˇ pro kazˇde´ prˇirozene´ cˇ´ıslo m je ||W (m)|| = 1, tj. kdyzˇ pro kazˇde´ prˇirozene´ cˇ´ıslo m je ||V (1, m)|| = 1, tj. kdyzˇ pro kazˇde´ prˇirozene´ cˇ´ıslo m je 1 ≤ m. To je evidentneˇ pravda, a proto ||(∀y)(V (1, y))|| = 1, a tedy i ||(∃x)(∀y)(V (x, y))|| = 1. Vy´rok “Existuje x tak, zˇe pro kazˇde´ y platı´, zˇe x ≤ y” je tedy pravdivy´. Pozna´mka 1.6. Kvantifika´tory se neˇkdy objevujı´ v na´sledujı´cı´ podobeˇ. „Pro kazˇde´ liche´ x platı´, zˇe x2 − 1 je sude´.“
„Existuje sude´ x tak, zˇe x2 je sude´.“,
obecneˇji potom „Pro kazˇde´ x splnˇujı´cı´ P (x) platı´ V (x).“
„Existuje x splnˇujı´cı´ P (x) tak, zˇe V (x).“
Tato tvrzenı´ jsou vlastneˇ zkratkou za tvrzenı´ „Pro kazˇde´ x platı´, zˇe jestlizˇe P (x), pak V (x).“
1.5
„Existuje x tak, zˇe P (x) a V (x).“
Za´klady vy´rokove´ logiky
´ vod U Na´sˇ dosavadnı´ vy´klad logiky uka´zal neˇkolik za´kladnı´ch pojmu˚ a postupu˚, ktere´ jsou v logice du˚lezˇite´. Za´kladnı´ pojmy, se ktery´mi jsme pracovali, tj. pojmy vy´rok a pozdeˇji vy´rokova´ forma, vsˇak zu˚staly jen ˇ ekli jsme, zˇe vy´rokem intuitivneˇ rozumı´me tvrzenı´, u ktere´ho ma´ smysl uvazˇovat neurcˇiteˇ definovane´. R o jeho pravdivosti. Tato definice, byt’v rˇadeˇ prˇ´ıpadu˚ stacˇ´ı, ma´ dveˇ za´sadnı´ nevy´hody. Za prve´, je neprˇesna´ a ponecha´va´ prostor pro spekulace o tom, co to vlastneˇ vy´rok je. Proto byly i dalsˇ´ı nasˇe definice prˇ´ısneˇ vzato neprˇesne´ a staveˇne´ spı´sˇe na intuici2 . Za druhe´, je prˇ´ılisˇ sˇiroka´, prˇipousˇtı´ i ru˚zna´ komplikovana´ tvrzenı´, ktera´ mohou prˇine´st za´sadnı´ proble´my. Ukazˇme si to na prˇ´ıkladu, ktere´mu se rˇ´ıka´ paradox lha´rˇe. Pru˚vodce studiem Prˇedstavme si cˇloveˇka C, ktery´ rˇ´ıka´ „Lzˇu“. Podle nasˇeho krite´ria je to vy´rok. Je tento vy´rok pravdivy´ nebo ne? Pojd’me si to rozebrat. Jsou dveˇ mozˇnosti. Bud’je to pravdivy´ vy´rok nebo je to nepravdivy´ vy´rok. Je-li vy´rok „Lzˇu.“ pravdivy´, pak je pravda to, co C rˇ´ıka´, tj. je pravda, zˇe C lzˇe. To, co C rˇ´ıka´, je tedy nepravdive´, tedy i vy´rok „Lzˇu.“ je nepravdivy´. Za´veˇrem: Je-li vy´rok „Lzˇu.“ pravdivy´, pak je tento vy´rok nepravdivy´. 2 Prˇesto jsme se se za ´ kladnı´mi principy klasicke´ logiky pomeˇrneˇ dobrˇe sezna´mili. Mohli jsme sice postupovat zcela prˇesneˇ uzˇ od zacˇa´tku, ale bylo by to na u´kor srozumitelnosti.
11
Na´sˇ pojem vy´roku je neurcˇity´ a prˇ´ılisˇ sˇiroky´.
Je-li vy´rok „Lzˇu.“ nepravdivy´, pak nenı´ pravda to, co C rˇ´ıka´, tj. C nelzˇe. To, co C rˇ´ıka´, je tedy pravdive´, tedy i vy´rok „Lzˇu.“ je pravdivy´. Za´veˇrem: Je-li vy´rok „Lzˇu.“ nepravdivy´, pak je tento vy´rok pravdivy´. Dosˇli jsme k tomu, zˇe vy´rok „Lzˇu.“ je pravdivy´, pra´veˇ kdyzˇ je nepravdivy´. To je spor.
Paradox lha´rˇe ukazuje, zˇe prˇirozeny´ jazyk je natolik bohaty´, zˇe mu˚zˇe ve´st k situacı´m, kdy neˇjaky´ vy´rok nemu˚zˇe by´t ani pravdivy´, ani nepravdivy´, anizˇ by se porusˇila celkova´ logicka´ bezespornost. V prˇ´ıpadeˇ paradoxu lha´rˇe je prˇ´ıcˇinou to, zˇe vy´rok „Lzˇu.“ se odvola´va´ sa´m na sebe, mluvı´ sa´m o sobeˇ, podobneˇ jako vy´rok „Tento vy´rok je nepravdivy´.“
Prˇirozeny´ jazyk je velmi bohaty´. Obsahuje vy´roky, ktere´ vedou k logicky sporny´m situacı´m.
Ma´ ale paradox lha´rˇe neˇjake´ rˇesˇenı´? Jednı´m z mozˇny´ch rˇesˇenı´ je vzda´t se ambice pracovat se vsˇemi mozˇny´mi vy´roky prˇirozene´ho jazyka a namı´sto toho pracovat jen s urcˇity´mi vy´roky, ktere´ ke sporu˚m nevedou. Tak postupuje modernı´ matematicka´ logika. Cı´lem Kapitoly 1.5 je uka´zat si za´klady vy´rokove´ logiky. Vy´rokova´ logika je nejjednodusˇsˇ´ı klasickou logikou. Umozˇnı´ na´m ale uka´zat zpu˚sob, jaky´m se v modernı´ logice pracuje. Jazyk vy´rokove´ logiky, formule, pravdivostnı´ ohodnocenı´ formulı´ Na prˇ´ıkladu paradoxu lha´rˇe jsme videˇli, zˇe pokud nijak neomezı´me mnozˇinu vy´roku˚, se ktery´mi pracujeme, mu˚zˇeme se dostat do sporu. Ve vy´rokove´ logice jsou vy´roky, se ktery´mi se pracuje, omezene´. Ve vy´rokove´ logice navı´c nepracujeme s vy´roky samotny´mi, ale pracujeme s formami (tvary) vy´roku˚. Formy vy´roku˚ se nazy´vajı´ formule a jsou to prˇesneˇ definovane´ rˇeteˇzce symbolu˚. Definici formule uvedeme pozdeˇji. Prˇ´ıkladem formulı´ jsou rˇeteˇzce (p cn q), (p i (q c r)), (p c r) d q. Formule je volneˇ rˇecˇeno to, co je spolecˇne´ vy´roku˚m se stejny´m tvarem. Naprˇ. formule (p i (q c r)) popisuje tvar mnoha konkre´tnı´ch vy´roku˚, naprˇ. vy´roku˚ „Jestlizˇe prsˇ´ı, pak jsou silnice mokre´ a hrozı´ nebezpecˇ´ı smyku.“, „Jestlizˇe inflace roste, pak lide´ me´neˇ sporˇ´ı a vı´ce utra´cejı´.“ Tyto konkre´tnı´ vy´roky mu˚zˇeme z formule (p i (q c r)) dostat dosazenı´m atomicky´ch vy´roku˚ za symboly p, q, r, naprˇ. prvnı´ vy´rok dostaneme dosazenı´m „Prsˇ´ı.“ za p, „Silnice jsou mokre´.“ za q a „Hrozı´ nebezpecˇ´ı smyku.“ za r. Proto ze symbolu˚m p, q, r, ktere´ se ve formulı´ch vy´rokove´ logiky vyskytujı´, rˇ´ıka´ vy´rokove´ symboly. Tı´m, zˇe ve vy´rokove´ logice pracujeme s formulemi, a ne s konkre´tnı´mi vy´roky, se mu˚zˇeme le´pe odhle´dnout od obsahu a soustrˇedit se na formu. A o to na´m v logice jde.
Formule vy´rokove´ logiky popisujı´ tvar konkre´tnı´ch vy´roku˚. Konkre´tnı´ vy´roky dostaneme z formulı´ nahrazenı´m vy´rokovy´ch symbolu˚ atomicky´mi vy´roky.
Zacˇneme definicı´ jazyka vy´rokove´ logiky. Definice 1.7. Jazyk vy´rokove´ logiky se skla´da´ z • vy´rokovy´ch symbolu˚ p, q, r, . . . , poprˇ. s indexy, p1 , p2 ; prˇedpokla´da´me, zˇe ma´me neomezeneˇ mnoho (spocˇetneˇ mnoho) vy´rokovy´ch symbolu˚; • symbolu˚ vy´rokovy´ch spojek e (ekvivalence);
n (negace), i(implikace), poprˇ. da´le c (konjunkce), d (disjunkce),
• pomocny´ch symbolu˚ (, ), [, ], atd. (ru˚zne´ druhy za´vorek). Ze symbolu˚ jazyka sesta´vajı´ formule vy´rokove´ logiky. Definice 1.8. Necht’je da´n jazyk vy´rokove´ logiky. Formule dane´ho jazyka vy´rokove´ logiky je definova´na na´sledovneˇ: • kazˇdy´ vy´rokovy´ symbol je formule (tzv. atomicka´ formule); • jsou-li ϕ a ψ formule, jsou i vy´razy n ϕ, (ϕ c ψ), (ϕ d ψ), (ϕ i ψ), (ϕ e ψ) formule. Prˇ´ıklad 1.9. Formulemi jsou tedy jiste´ konecˇne´ posloupnosti symbolu˚ jazyka vy´rokove´ logiky. Formulemi jsou naprˇ. posloupnosti p, q1 , n p, (p i q), ((p c r) d p), (n p i (q cn r)). Posloupnost (n p i (q cn r)) je formule, protozˇe: r je formule (atomicka´), tedy i n r je formule, cozˇ spolu s tı´m, zˇe q je formule, da´va´, zˇe (q cn r) je formule; da´le je p a tedy i n p formule, a tedy konecˇneˇ i (n p i (q cn r)) je formule. Formulemi nejsou posloupnosti c p, p cd p, pp i (p c)), atd.
12
Jazyk vy´rokove´ logiky obsahuje symboly, ze ktery´ch se skla´dajı´ formule vy´rokove´ logiky.
Vsˇimneˇme si, zˇe spra´vneˇ bychom meˇli rˇ´ıkat „formule dane´ho jazyka vy´rokove´ logiky“. My vsˇak v prˇ´ıpadeˇ, zˇe jazyk je zrˇejmy´ z kontextu, poprˇ. nenı´ du˚lezˇity´, budeme rˇ´ıkat pouze „formule vy´rokove´ logiky“ nebo jen „formule“. Pozna´mka 1.10 (konvence o vynecha´va´nı´ za´vorek). Jak zna´ cˇtena´rˇ z aritmetiky, je pro zjednodusˇenı´ za´pisu a cˇtenı´ uzˇitecˇne´ vynecha´vat za´vorky tam, kde neutrpı´ jednoznacˇnost cˇtenı´. Podobneˇ budeme postupovat i my. Naprˇ. mı´sto (p i q) budeme psa´t jen p i q. Da´le se dohodneme na priorita´ch symbolu˚ spojek: od nejveˇtsˇ´ı po nejmensˇ´ı je to n, c, d, i, e. To na´m umozˇnı´ vynecha´vat za´vorky. Tak naprˇ. mı´sto (p c (q c r)) mu˚zˇeme psa´t jen p c (q c r), mı´sto (p i ((p c q) d r)) jen p i p c q d r apod. Zatı´m jsme se veˇnovali jen tzv. syntakticke´ stra´nce vy´rokove´ logiky. Vı´me, co je to jazyk vy´rokove´ logiky, co jsou to formule. Zatı´m vsˇak nevı´me, co to je pravdiva´ formule apod. Formule jsou jiste´ posloupnosti symbolu˚ jazyka, samy o sobeˇ vsˇak nemajı´ zˇa´dny´ vy´znam. Prˇirˇazenı´ vy´znamu syntakticky´m objektu˚m je za´lezˇitostı´ tzv. se´mantiky. Pra´veˇ se´mantice vy´rokove´ logiky se v dalsˇ´ım budeme veˇnovat. Definice 1.11. (Pravdivostnı´) ohodnocenı´ je libovolne´ zobrazenı´ e vy´rokovy´ch symbolu˚ dane´ho jazyka vy´rokove´ logiky do mnozˇiny {0, 1}, tj. ohodnocenı´ e prˇirˇazuje kazˇde´mu vy´rokove´mu symbolu p hodnotu 0 nebo 1. Pozna´mka 1.12. (1) 0 a 1 reprezentujı´ pravdivostnı´ hodnoty nepravda a pravda. Hodnotu prˇirˇazenou ohodnocenı´m e symbolu p oznacˇujeme e(p). Je tedy e(p) = 0 nebo e(p) = 1. (2) Vy´znam ohodnocenı´ e mu˚zˇeme cha´pat na´sledovneˇ. Jak jsme si rˇekli, vy´rokove´ symboly jsou pro na´s symboly, ktere´ oznacˇujı´ atomicke´ vy´roky. Je-li e(p) = 1, znamena´ to pro na´s, zˇe atomicky´ vy´rok oznacˇeny´ symbolem p je pravdivy´. Je-li e(p) = 0, znamena´ to, zˇe atomicky´ vy´rok oznacˇeny´ symbolem p je nepravdivy´. Je-li da´no ohodnocenı´ e, mu˚zˇeme rˇ´ıci, co je to pravdivostnı´ hodnota formule. Pravdivostnı´ hodnota libovolne´ formule je pravdivostnı´m ohodnocenı´m jednoznacˇneˇ urcˇena a je definova´na na´sledovneˇ. Definice 1.13. Necht’je da´no ohodnocenı´ e. Pravdivostnı´ hodnota formule ϕ prˇi ohodnocenı´ e, oznacˇujeme ji kϕke , je definova´na na´sledovneˇ: • Je-li ϕ vy´rokovy´m symbolem p, pak kpke = e(p). • Je-li ϕ slozˇna´ formule, tj. jednoho z tvaru˚ n ψ, ψ
c θ, ψ d θ, ψ i θ, ψ e θ, pak
k n ψke = ¬kψke ,
c θke = kψke ∧ kθke , kψ d θke = kψke ∨ kθke , kψ i θke = kψke → kθke , kψ e θke = kψke ↔ kθke , kψ
kde ¬, ∧, ∨, →, ↔ jsou pravdivostnı´ funkce logicky´ch spojek z Tabulky 1. Pozna´mka 1.14. (1) Je-li kϕke = 1 (kϕke = 0), rˇ´ıka´me, zˇe formule ϕ je prˇi ohodnocenı´ e pravdiva´ (nepravdiva´). Uveˇdomme si, zˇe nema´ smysl rˇ´ıci “formule ϕ je pravdiva´” nebo “nepravdiva´” (musı´me rˇ´ıci, prˇi jake´m ohodnocenı´!). Uveˇdomme si, zˇe to prˇesneˇ odpovı´da´ situaci z Kapitoly 1.3, kdy jsme prˇi urcˇova´nı´ pravdivostnı´ hodnoty vy´roku museli zna´t pravdivostnı´ hodnoty atomicky´ch vy´roku˚. Roli atomicky´ch vy´roku˚ ted’ majı´ vy´rokove´ symboly. (2) Cˇa´st definice pravdivostnı´ hodnoty formule, ve ktere´ se zava´dı´ pravdivostnı´ hodnota slozˇene´ formule, mu˚zˇeme alternativneˇ uve´st „slovneˇ“: k n ψke = kψ
c θke =
1 pokud kψke = 0, 0 jinak, 1 pokud kψke = 1 a kθke = 1, 0 jinak, 13
1 pokud kψke = 1 nebo kθke = 1, 0 jinak,
kψ
d θke =
i θke =
kψ
1 pokud kψke = 0 nebo kθke = 1, 0 jinak,
e θke =
kψ
1 pokud kψke = kθke , 0 jinak.
Snadno se vidı´ (oveˇrˇte si), zˇe takova´ definice skutecˇneˇ vede ke stejny´m pravdivostnı´m hodnota´m formulı´. Na´sledujı´cı´ definice zava´dı´ neˇktere´ dalsˇ´ı uzˇitecˇne´ pojmy. Definice 1.15. Formule se nazy´va´ • tautologie, je-li prˇi kazˇde´m ohodnocenı´ pravdiva´, • kontradikce, je-li prˇi kazˇde´m ohodnocenı´ nepravdiva´, • spnitelna´, je-li prˇi asponˇ jednom ohodnocenı´ pravdiva´. Formule ϕ se´maticky vyply´va´ z mnozˇiny T formulı´, oznacˇujeme T |= ϕ, jestlizˇe ϕ je pravdiva´ prˇi kazˇde´m ohodnocenı´, prˇi ktere´m jsou pravdive´ vsˇechny formule z T . Pozna´mka 1.16. Splnitelne´ formule jsou tedy pra´veˇ ty, ktere´ nejsou kontradikcemi. zˇe je formule ϕ tautologie, se neˇkdy zapisuje |= ϕ. Prˇ´ıklad 1.17. (1) Formule p dn p i p i (p d q) jsou tautologie. (2) Formule p cn p i p en p jsou kontradikce. (3) Formule p in p je splnitelna´, ale nenı´ to ani tautologie, ani kontradikce. (4) Formule p i q se´manticky vyply´va´ z mnozˇiny formulı´ T = {p i r, n q
in r}.
Prˇ´ıklad 1.18. Dokazˇme, zˇe pro libovolnou mnozˇinu T formulı´ a formule ϕ, ψ platı´ T, ϕ |= ψ pra´veˇ kdyzˇ T |= ϕ i ψ. To je inutitivneˇ pomeˇrneˇ jasne´ tvrzenı´. Prˇitom T, ϕ znamena´ T ∪ {ϕ}, tj. T, ϕ oznacˇuje mnozˇinu T rozsˇ´ırˇenou o formuli ϕ. Du˚kaz je velmi snadny´, stacˇ´ı si rozmyslet, co ma´me doka´zat. Prˇedpokla´dejme tedy T, ϕ |= ψ a dokazˇme T |= ϕ i ψ. Ma´me doka´zat, zˇe je-li e ohodnocenı´, prˇi ktere´m jsou pravdive´ vsˇechny formule z T , je prˇi e pravdiva´ i formule ϕ i ψ. Kdyby ale prˇi e nebyla pravdiva´ formule ϕ i ψ, musela by by´t prˇi e ϕ pravdiva´ a ψ nepravdiva´ (z definice pravdivostnı´ funkce spojky implikace). Je-li ale prˇi e pravdiva´ ϕ i vsˇechny formule z T , pak je dle prˇedpokladu T, ϕ |= ψ pravdiva´ i ψ, cozˇ je spor s tı´m, zˇe ψ je nepravdiva´. Naopak, prˇedpokla´dejme T |= ϕ i ψ a dokazˇme T, ϕ |= ψ. Ma´me doka´zat, zˇe je-li e ohodnocenı´, prˇi ktere´m je pravdiva´ ϕ i vsˇechny formule z T , je prˇi neˇm pravdiva´ i ψ. Dle prˇedpokladu je ovsˇem prˇi e pravdiva´ i ϕ i ψ a protozˇe je prˇi e pravdiva´ i ϕ, je prˇi e pravdiva´ i ψ, cozˇ jsme meˇli doka´zat. Tabulkova´ metoda Tabulkova´ metoda prˇedstavuje jednoduchy´ zpu˚sob, jak prˇehledneˇ zapsat pravdivostnı´ hodnoty dane´ formule prˇi vsˇech mozˇny´ch ohodnocenı´ch. Jsou-li p1 , . . . , pn vsˇechny vy´rokove´ symboly, ktere´ se vyskytujı´ ve formuli ϕ, budeme mı´sto ϕ psa´t take´ ϕ(p1 , . . . , pn ). Podstata tabulkove´ metody je na´sledujı´cı´. Pro zadanou formuli ϕ(p1 , . . . , pn ) vytvorˇ´ıme tabulku. Taˇ a´dky tabulky odpovı´dajı´ ohodnocenı´m bulka 2 ukazuje tabulku pro formuli (p i q) c (p i r). R vy´rokovy´ch symbolu˚. Sloupce tabulky odpovı´dajı´ symbolu˚m p1 , . . . , pn a formuli ϕ. Tabulka ma´ tedy n + 1 sloupcu˚, kazˇdy´ je v za´hlavı´ oznacˇen prˇ´ıslusˇny´m vy´razem, tj. bud’pi nebo ϕ. Obsah rˇa´dku, ktery´ odpovı´da´ ohodnocenı´ e je na´sledujı´cı´. Na mı´steˇ odpovı´dajı´cı´mu sloupci tabulky s oznacˇenı´m pi je hodnota e(pi ), tj. hodnota symbolu pi prˇi ohodnocenı´ e. Na mı´steˇ odpovı´dajı´cı´mu sloupci tabulky s oznacˇenı´m ϕ je hodnota ||ϕ||e , tj. pravdivostnı´ hodnota formule ϕ prˇi ohodnocenı´ e. Tabulka ma´ tolik rˇa´dku˚, kolik je mozˇnostı´, jak ohodnotit symboly p1 , . . . , pn hodnotami 0 a 1. Protozˇe kazˇde´mu ze symbolu˚ p1 , . . . , pn 14
p 0 0 0 0 1 1 1 1
q 0 0 1 1 0 0 1 1
r 0 1 0 1 0 1 0 1
(p i q) c (p i r) 1 1 1 1 0 0 0 1
Tabulka 2: Tabulka pro formuli (p i q) c (p i r). mu˚zˇeme prˇirˇadit dveˇ mozˇne´ hodnoty (tj. e(pi ) mu˚zˇe by´t 0 nebo 1), ma´me celkem 2n mozˇnostı´ (2 mozˇnosti pro p1 kra´t 2 mozˇnosti pro p2 kra´t · · · kra´t 2 mozˇnosti pro pn , tj. 2 × · · · × 2 = 2n mozˇnostı´). Tabulka ma´ tedy 2n rˇa´dku˚. To je potvrzeno v Tabulce 2. Zde ma´me trˇi vy´rokove´ symboly p, q, r, tabulka ma´ tedy 23 = 8 rˇa´dku˚. V kazˇde´m rˇa´dku uvedeme prˇ´ıslusˇne´ ohodnocenı´ symbolu˚ p1 , . . . , pn a hodnotu formule ϕ prˇi tomto ohodnocenı´. Naprˇ. ve trˇetı´m rˇa´dku Tabulky 2 jsou uvedeny postupneˇ hodnoty 0, 1, 0, 1, protozˇe tento rˇa´dek odpovı´da´ ohodnocenı´, ktere´ symbolu˚m p, q a r prˇirˇazuje postupneˇ hodnoty 0, 1 a 0 a protozˇe prˇi tomto ohodnocenı´ ma´ formule (p i q) c (p i r) hodnotu 1. Je zvykem vsˇechna mozˇna´ ohodnocenı´ symbolu˚ uva´deˇt prˇirozeneˇ usporˇa´dana´, tj. v prvnı´ch n sloupcı´ch bude v prvnı´m rˇa´dku 0 . . . 0 (n nul), ve druhe´m rˇa´dku pak 0 . . . 01 (n − 1 nul a jedna jednicˇka), atd. azˇ v poslednı´m rˇa´dku bude 1 . . . 1 (n jednicˇek). Tak je to take´ v Tabulce 2. Pozna´mka 1.19. Rˇekli jsme, zˇe v tabulce chceme zachytit hodnoty ϕ prˇi vsˇech mozˇny´ch ohodnocenı´ch. Ohodnocenı´ e je ale da´no tı´m, jake´ hodnoty prˇirˇazuje vsˇem vy´rokovy´m symbolu˚m, tedy nejen symbolu˚m p1 , . . . , pn . My jsme ale prˇi popisu tabulkove´ metody uvazˇovali jen hodnoty prˇirˇazene´ symbolu˚m p1 , . . . , pn . Dopustili jsme se tı´m jiste´ neprˇesnosti, ale vcelku nepodstatne´. Prˇesneˇ rˇecˇeno se ma´ situace takto. Pravdivostnı´ hodnota ||ϕ||e za´visı´ jen na hodnota´ch e(p1 ), . . . , e(pn ), tj. na ohodnocenı´ vy´rokovy´ch symbolu˚ p1 , . . . , pn , a neza´visı´ na e(p) pro p 6= p1 , . . . , p 6= pn , tj. ohodnocenı´ vy´rokovy´ch symbolu˚ jiny´ch nezˇ p1 , . . . , pn . To je jasne´ proto, zˇe ϕ(p1 , . . . , pn ) jine´ vy´rokove´ symboly nezˇ p1 , . . . , pn neobsahuje. Chceme-li v tabulce zachytit hodnoty ϕ prˇi vsˇech mozˇny´ch ohodnocenı´ch, stacˇ´ı tedy zachytit hodnoty ϕ pro vsˇechna mozˇna´ ohodnocenı´ symbolu˚ p1 , . . . , pn . Totizˇ, jak jsme rˇekli, hodnota ||ϕ||e za´vı´sı´ jen na hodnota´ch e(p1 ), . . . , e(pn ). Je-li e0 jine´ ohodnocenı´, ktere´ se s e shoduje v hodnota´ch prˇirˇazeny´ch p1 , . . . , pn , tj. e(p1 ) = e0 (p1 ), . . . , e(pn ) = e0 (pn ), pak ||ϕ||e = ||ϕ||e0 , tj. hodnoty formule ϕ prˇi ohodnocenı´ch e a e0 jsou stejne´. V dane´m rˇa´dku uvedena´ hodnota formule ||ϕ||e je tedy hodnotou formule ϕ prˇi kazˇde´m ohodnocenı´ e, ktere´ symbolu˚m p1 , . . . , pn prˇirˇazuje hodnoty uvedene´ v prvnı´ch n sloupcı´ch tohoto rˇa´dku. Naprˇ. 3. rˇa´dek v Tabulce 2 uda´va´ hodnotu formule (p i q) c (p i r) prˇi ohodnocenı´ e, kde e(p) = 0, e(q) = 1, e(r) = 0, e(p1 ) = 0, e(p2 ) = 0, . . . (p1 a p2 jsou vy´rokove´ symboly jazyka, ktere´ se nevyskytujı´ ve formuli (p i q) c (p i r)), ale i prˇi ohodnocenı´ e0 , e0 (p) = 0, e0 (q) = 1, e0 (r) = 0, e0 (p1 ) = 0, e0 (p2 ) = 1, . . . , a i prˇi kazˇde´m dalsˇ´ım ohodnocenı´ e00 , pro ktere´ je e00 (p) = 0, e00 (q) = 1, e00 (r) = 0. Rˇa´dky tedy vlastneˇ neodpovı´dajı´ jednotlivy´m ohodnocenı´m, ale cely´m trˇ´ıda´m (skupina´m) ohodnocenı´. Tabulka vytvorˇena´ pro formuli ϕ umozˇnˇuje zjistit neˇktere´ vy´sˇe popsane´ vlastnosti formule ϕ: ϕ je tautologie, pra´veˇ kdyzˇ ve sloupci odpovı´dajı´cı´m formuli ϕ jsou same´ 1; ϕ je kontradikce, pra´veˇ kdyzˇ ve sloupci odpovı´dajı´cı´m formuli ϕ jsou same´ 0; ϕ je splnitelna´, pra´veˇ kdyzˇ ve sloupci odpovı´dajı´cı´m formuli ϕ je asponˇ jedna 1. Tabulkovou metodu mu˚zˇeme jednodusˇe rozsˇ´ırˇit pro vı´ce formulı´. Prˇedpokla´dejme, zˇe ma´me formule ϕ1 , . . . , ϕm , a zˇe vsˇechny promeˇnne´ vyskytujı´cı´ se v alesponˇ jedne´ z teˇchto formulı´ jsou pra´veˇ p1 , . . . , pn . Odpovı´dajı´cı´ tabulka bude mı´t 2n rˇa´dku˚ a n+m formulı´, oznacˇeny´ch postupneˇ p1 , . . . , pn a ϕ1 , . . . , ϕm . Do rˇa´dku˚ pı´sˇeme ohodnocenı´ e a hodnoty formulı´ ϕ1 , . . . , ϕm v teˇchto ohodnocenı´ch: hodnoty e(pi ) symbolu˚ pi v ohodnocenı´ e pı´sˇeme do sloupcu˚ oznacˇeny´ch pi . Prˇ´ıslusˇne´ hodnoty ||ϕj ||e formulı´ ϕj prˇi ohodnocenı´ e pı´sˇeme do sloupcu˚ oznacˇeny´ch ϕj . Prˇ´ıklad vidı´me v Tabulce 3. Rozsˇ´ırˇenou tabulkovou metodu mu˚zˇeme pouzˇ´ıt ke zjisˇteˇnı´, zda formule ϕ se´manticky plyne z formulı´ ϕ1 , . . . , ϕm . Stacˇ´ı vytvorˇit tabulku pro formule ϕ1 , . . . , ϕm a ϕ. Podle definice pak ϕ se´manticky plyne z ϕ1 , . . . , ϕm , pra´veˇ kdyzˇ v kazˇde´m rˇa´dku, ve ktere´m majı´ formule ϕ1 , . . . , ϕm hodnotu 1, ma´ take´ formule ϕ hodnotu 1. Z Tabulky 3 naprˇ. vidı´me, zˇe formule q vyply´va´ z formulı´ nn p a (n q in p). Totizˇ, jediny´ rˇa´dek, ve ktere´m majı´ obeˇ formule nn p a (n q in p) hodnotu 1, je cˇtvrty´ rˇa´dek a v 15
p 0 0 1 1
q 0 1 0 1
nn p
(n q
0 0 1 1
in p) 1 1 0 1
q 0 1 0 1
Tabulka 3: Tabulka pro formule nn p, (n q x1 0 0 1 1
x2 0 1 0 1
f 0 1 1 0
x1 0 0 1 1
in p) a q.
x2 0 1 0 1
g 0 1 1 1
Tabulka 4: Tabulka booleovsky´ch funkcı´ dvou promeˇnny´ch. tomto rˇa´dku ma´ formule q take´ hodnotu 1. Naopak, formule nn p nevyply´va´ z formulı´ (n q in p) a q, protozˇe ve druhe´m rˇa´dku majı´ formule (n q in p) a q hodnotu 1, ale formule nn p tam ma´ hodnotu 0. Pru˚vodce studiem Tabulkova´ metoda slouzˇ´ı k vypsa´nı´ (tabelaci) hodnot zadany´ch formulı´ ϕ1 , . . . , ϕm v tabulce. Tabulka ma´ 2n rˇa´dku˚ a n + m sloupcu˚, kde n je pocˇet vsˇech vy´rokovy´ch symbolu˚, ktere´ se vyskytujı´ ve formulı´ch ϕ1 , . . . , ϕm . Do rˇa´dku˚ pı´sˇeme vsˇechna mozˇna´ ohodnocenı´ teˇchto symbolu˚ a hodnoty formulı´ ϕ1 , . . . , ϕm . Pomocı´ tabulkove´ metody mu˚zˇeme zjistit, zda zadana´ formule je tautologie, kontradikce, splnitelna´, a take´, zda zadana´ formule se´manticky vyply´va´ z jiny´ch zadany´ch formulı´.
Booleovske´ funkce, u´plna´ konjunktivnı´ a disjunktivnı´ norma´lnı´ forma Booleovska´ funkce s n argumenty (neˇkdy n-a´rnı´ booleovska´ funkce) je libovolne´ zobrazenı´, ktere´ kazˇde´ usporˇa´dane´ n-tici hodnot 0 nebo 1 prˇirˇadı´ hodnotu 0 nebo 1. Kazˇdou booleovskou funkci f s n argumenty lze zapsat v tabulce podobny´m zpu˚sobem jako jsme videˇli u tabulkove´ metody. Prˇedpokla´dejme, zˇe argumenty funkce f oznacˇ´ıme x1 , . . . , xn , pak pı´sˇeme take´ f (x1 , . . . , xn ). Odpovı´dajı´cı´ tabulka ma´ 2n rˇa´dku˚ a n + 1 sloupcu˚. Sloupce oznacˇ´ıme symboly x1 , . . . , xn a f . Do kazˇde´ho rˇa´dku napı´sˇeme hodnoty promeˇnny´ch x1 , . . . , xn a do poslednı´ho sloupce pak hodnotu, kterou funkce f naby´va´ prˇi teˇchto hodnota´ch promeˇnny´ch. Prˇ´ıkladem jsou booleovska´ funkce f a g dvou promeˇnny´ch, ktere´ jsou zapsane´ v Tabulce 4. Funkce f naprˇ. prˇirˇazuje dvojici hodnot 0 a 1 hodnotu 1, tj. f (0, 1) = 1, da´le f (0, 0) = 0, f (1, 0) = 1, f (1, 1) = 1. Pro funkci g je g(0, 0) = 0, g(0, 1) = 1, g(1, 0) = 1, g(1, 1) = 1. Vsˇimneˇme si, zˇe vy´sˇe uvedena´ funkce g je shodna´ s pravdivostnı´ funkcı´ ∨ spojky disjunkce. Pravdivostnı´ funkce kazˇde´ ze spojek, se ktery´mi jsme se setkali, jsou booleovske´ funkce. Pravdivostnı´ funkce spojek c, d, i a e, jsou funkce 2 argumentu˚, pravdivostnı´ funkce spojky n je booleovska´ funkce jednoho argumentu. Pravdivostnı´ funkce logicky´ch spojek jsou vlastneˇ booleovske´ funkce. Funkce f z Tabulky 4 ukazuje, zˇe existujı´ i jine´ booleovske´ funkce nezˇ pravdivostnı´ funkce ∧, ∨, → a ↔ logicky´ch spojek c, d, i a e. Kazˇdou booleovskou funkci 2 promeˇnny´ch mu˚zˇeme povazˇovat za pravdivostnı´ funkci logicke´ spojky se dveˇma argumenty. Z tohoto pohledu jsou tedy spojky c, d, i a e jen neˇktere´ z logicky´ch spojek se dveˇma argumety. Skutecˇneˇ, naprˇ. pravdivostnı´ funkce spojky “bud’ . . . , anebo . . . ” je pra´veˇ funkce f z Tabulky 4 („Bud’V1 , nebo V2 “ je pravdivy´ vy´rok, pra´veˇ kdyzˇ je pravdivy´ pra´veˇ jeden z vy´roku˚ V1 , V2 ). Kolik je ale booleovsky´ch funkcı´ s n argumenty, tj. kolik je ru˚zny´ch logicky´ch spojek s n argumenty? Veˇta 1.20. Existuje pra´veˇ 2(2
n
)
booleovsky´ch funkcı´ s n argumenty.
Du˚kaz. Funkcı´ je tolik, kolika zpu˚soby lze vyplnit prˇ´ıslusˇnou tabulku. Protozˇe funkce majı´ n argumentu˚, ma´ tabulka 2n rˇa´dku˚. V kazˇde´m rˇa´dku je jedno volne´ mı´sto pro hodnotu funkce, a tu mu˚zˇeme vyplnit libovolny´m zpu˚sobem (napsat tam 0 nebo 1). Protozˇe volny´ch mı´st je 2n , lze je hodnotami 0 nebo 1 n vyplnit 2(2 ) zpu˚soby. 16
x1 0 1
f1 0 0
x1 0 1
f2 0 1
x1 0 1
f3 1 0
x1 0 1
f3 1 1
Tabulka 5: Vsˇechny booleovske´ funkce jedne´ promeˇnne´. Prˇ´ıklad 1.21. Tabulka 5 ukazuje vsˇechny una´rnı´ (1-a´rnı´) booleovske´ funkce. Prˇitom f3 je pravdivostnı´ funkce spojky negace. Je jasne´, zˇe kazˇda´ formule ϕ obsahujı´cı´ vy´rokove´ symboly p1 , . . . , pn indukuje booleovskou funkci ϕ n argumentu˚. Je to pra´veˇ funkce, jejı´zˇ tabulku zı´ska´me vytvorˇenı´m tabulky pro formuli ϕ. Naprˇ. pro funkci f(piq)c(qir) indukovanou formulı´ (p i q) c (q i r) ma´me f(piq)c(qir) (0, 0, 0) = 1, . . . , f(piq)c(qir) (1, 0, 1) = 0, . . . , f(piq)c(qir) (1, 1, 1) = 1, viz Tabulka 2. Zajı´mave´ ale je, zˇe platı´ take´ opacˇne´ tvrzenı´. Ke kazˇde´ booleovske´ funkci f s n argumenty existuje formule ϕf takova´, zˇe tato formule indukuje pra´veˇ funkci f . Platı´ dokonce, zˇe formuli ϕf mu˚zˇeme vzı´t takovou, zˇe obsahuje pouze spojky n, c a d. Postup, jak takovou formuli zı´skat, si nynı´ podrobneˇ popı´sˇeme. Zaved’me nejprve na´sledujı´cı´ pojmy. Definice 1.22. Necht’V je mnozˇina vy´rokovy´ch symbolu˚. Pak • litera´l nad V je libovolny´ vy´rokovy´ symbol z V nebo jeho negace; • u´plna´ elementa´rnı´ konjunkce nad V je libovolna´ konjunkce litera´lu˚, ve ktere´ se kazˇdy´ vy´rokovy´ symbol z V vyskytuje pra´veˇ v jednom litera´lu; • u´plna´ elementa´rnı´ disjunkce nad V je libovolna´ disjunkce litera´lu˚, ve ktere´ se kazˇdy´ vy´rokovy´ symbol z V vyskytuje pra´veˇ v jednom litera´lu; • u´plna´ konjunktivnı´ norma´lnı´ forma nad V je konjunkce u´plny´ch elementa´rnı´ch disjunkcı´ nad V ; • u´plna´ disjunktivnı´ norma´lnı´ forma nad V je disjunkce u´plny´ch elementa´rnı´ch konjunkcı´ nad V . Prˇ´ıklad 1.23. Pro V = {p, q, r} • litera´ly: p, q, r, n p, n q, n r, (ne nn p) ´ EK: p c q • U
c r, n p c q cn r, (ne p c r)
´ ED: p dn q • U • •
dr ´ DNF: (p c q c r) d (p c q cn r) U ´ KNF: (p d q dn r) c (p dn q dn r) U
Veˇta 1.24. Ke kazˇde´ formuli vy´rokove´ logiky, ktera´ nenı´ tautologiı´ (kontradikcı´) existuje s nı´ (se´manticky) ekvivalentnı´ formule, ktera´ je ve tvaru u´plne´ konjunktivnı´ norma´lnı´ formy (u´plne´ disjunktivnı´ norma´lnı´ formy). ´ DNF: Du˚kaz. Pro U -pro ϕ(p1 , . . . , pn ) uvazˇ. tabulku pr. hodnot ´ EK z pi (pro 1) a n pi (pro 0) -pro rˇa´dky s hodnotou 1 sestroj U ´ DNF je disjunkcı´ takovy´ch U ´ EK -vy´sledna´ U ´ KNF dua´lneˇ: (rˇa´dky s nulou; k nim U ´ ED z pi (pro 0) a n pi (pro 1); U ´ KNF je konjunkcı´ takovy´ch Pro U ´ UED) ´ DNF a U ´ KNF k (p i q) c (p i r). Prˇ´ıklad 1.25. Sestrojte U
17
p
q
r
(p i q) c (p i r)
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
´ EK U
´ ED U
n p cn q cn r n p cn q c r n p c q cn r npcqcr
pcq
cr
´ DNF je (n p cn q cn r) d (n p cn q c r) d (n p c q Tedy: U ´ KNF je: (n p d q d r) c (n p d q dn r) c (n p dn q d r) U
npdqdr n p d q dn r n p dn q d r
cn r) d (n p c q c r) d (p c q c r)
Vyjadrˇova´nı´ spojek jiny´mi spojkami ´ plne´ syste´my spojek VL U Definice 1.26. Booleovska´ funkce (n-a´rnı´) je libovolne´ zobrazenı´ f : {0, 1}n → {0, 1}. Pozna´mka 1.27. Kazˇde´mu symbolu logicke´ spojky odpovı´da´ booleovska´ funkce, naprˇ. →.
i odpovı´da´
Definice 1.28. Mnozˇina {f1 , . . . , fk } booleovsky´ch funkcı´ je funkcˇneˇ u´plna´, pokud kazˇdou f : {0, 1}n → {0, 1} lze vyja´drˇit jako slozˇenı´ neˇktery´ch funkcı´ z {f1 , . . . , fk }. Mnozˇina vy´rokovy´ch spojek je u´plna´, jestlizˇe je u´plna´ mnozˇina jim odpovı´dajı´cı´ch booleovsky´ch funkcı´. Veˇta 1.29. {¬, ∨, ∧} je funkcˇneˇ u´plna´. ´ DNF. Du˚kaz. Plyne z veˇty o U Lemma 1.30. Je-li mozˇne´ kazˇdou z {f1 , . . . , fk } vyja´drˇit jako slozˇenı´ neˇktery´ch z {g1 , . . . , gl }, pak je-li {f1 , . . . , fk } u´plna´, je i {g1 , . . . , gl } u´plna´. Du˚kaz. Snadny´. Zaved’me operace sh(a, b) = ¬(a ∧ b) (Shefferova); pe(a, b) = ¬a ∧ ¬b (Peirceova nebo Nicodova . . . “ani . . . , ani . . . ”); Du˚sledek 1.31. {¬, ∧}, {¬, ∨}, {¬, →}, {sh}, {pe} jsou u´plne´ syste´my spojek vy´rokove´ logiky. Du˚kaz. Plyne z u´plnosti {¬, ∨, ∧}, uvedene´ho Lemma a a∨b a∧b a∧b ¬a (a ∧ b) ¬a (a ∨ b)
= = = = = = =
¬(¬a ∧ ¬b) ¬(¬a ∨ ¬b) ¬(a → ¬b) sh(a, a) sh(sh(a, b), sh(a, b)) pe(a, a) pe(pe(a, b), pe(a, b))
´ plnost {f1 , . . . , fk } . . . k realizaci logicky´ch obvodu˚ vystacˇ´ım s hradly realizujı´cı´ {f1 , . . . , fk }. U Kolik existuje n-a´rnı´ch Booleovsky´ch funkcı´? Jsou syste´my {↔} a {¬, ↔} u´plne´? Shrnutı´ Logika je veˇda o spra´vne´m usuzova´nı´. V logice jde o formu usuzova´nı´, nikoli o obsah. Pojmy k zapamatova´nı´ 18
• • • • • •
logika, logicka´ spojka, vy´rok, pravdivostnı´ hodnota vy´roku, symbol logicke´ spojky a pravdivostnı´ funkce logicke´ spojky, kvantifika´tor.
Kontrolnı´ ota´zky 1. 2. 3. 4. 5. 6.
Jake´ zna´te logicke´ spojky? Co to je klasicka´ a neklasicka´ logika? Jaky´ je vztah mezi obecny´m a existencˇnı´m kvantifika´torem? Co to je formule vy´rokove´ logiky? Vysveˇtlete, co to je tabulkova´ metoda a k cˇemu slouzˇ´ı. Vysveˇtlete pojem se´manticke´ vyply´va´nı´.
Cvicˇenı´ 1. Urcˇete pravdivostnı´ hodnotu vy´roku “Jestlizˇe Cˇ´ına je nejlidnateˇjsˇ´ı sta´t sveˇta, pak Petr je synem Marie.”. Prˇitom “Petr je synem Marie.” je pravdivy´ vy´rok. 2. Je da´n vy´rok “Pro kazˇde´ x platı´, zˇe jestlizˇe 2x + 1 je sude´, pak x je na´sobkem 5”. Prˇitom Dx je mnozˇina vsˇech prˇirozeny´ch cˇ´ısel. Je dany´ vy´rok pravdivy´? 3. Jsou da´ny vy´roky “Pro kazˇde´ x existuje y tak, zˇe platı´ x ≤ y” a “Existuje y tak, zˇe pro kazˇde´ x platı´ x ≤ y”. Oborem hodnot promeˇnny´ch x i y je mnozˇina vsˇech cely´ch cˇ´ısel, tj. Dx = Dy = {0, 1, −1, 2, −2, 3, −3, . . . }. Urcˇete pravdivostnı´ hodnoty dany´ch vy´roku˚. 4. U kazˇde´ z na´sledujı´cı´ch formulı´ zjisteˇte, zda je tautologie, kontradikce, splnitelna´. ϕ dn ϕ n (ϕ cn ϕ) n (ϕ c ψ) e (n ϕ dn ψ) n (ϕ d ψ) e (n ϕ cn ψ) (ϕ i ψ) e (n ψ in ϕ)
za´kon vyloucˇene´ho trˇetı´ho za´kon sporu De Morganu˚v za´kon De Morganu˚v za´kon za´kon kontrapozice
5. Zjisteˇte, zda formule ψ se´manticky plyne z ϕ: (a) ϕ je (p (p c q) d r, ψ je p i (q dn r). 6. Prˇesveˇdcˇte se, zˇe je-li ψ |= ϕ a ϕ |= χ, pak ψ |= χ.
c q) d r, ψ je p i (q d r); (b) ϕ je
´ koly k textu U 1. Vypisˇte vsˇechny bina´rnı´ logicke´ spojky. 2. Uved’te prˇ´ıklady vy´rokovy´ch forem V (x, y) tak, zˇe (∀x)(∃y)(V (x, y)) je pravdivy´ vy´rok a (∃y)(∀x)(V (x, y)) je nepravdivy´ vy´rok. Lze najı´t prˇ´ıklad formy V (x, y) tak, aby (∀x)(∃y)(V (x, y)) byl nepravdivy´ vy´rok a aby (∃y)(∀x)(V (x, y)) byl pravdivy´ vy´rok? 3. Ukazˇte, zˇe je-li V (x) vy´rokova´ forma, pak ||(∀x)(V (x))|| = minx∈Dx ||V (m)|| a ||(∃x)(V (x))|| = maxx∈Dx ||V (m)||. 4. Ukazˇte, zˇe je-li V (x) vy´rokova´ forma, pak ||(∀x)(V (x))|| = || ||(∃x)(V (x))|| = || n (∀x)(n V (x))||.
n
(∃x)(n V (x))|| a
5. Neˇkdy se uva´dı´ na´sledujı´cı´ varianta paradoxu lha´rˇe: Kre´t’an rˇ´ıka´ „Vsˇichni Kre´t’ani lzˇou.“ Je to paradox, tj. vede tato situace ke sporu podobneˇ jako vede ke sporu paradox lha´rˇe? 6. Zdu˚vodneˇte podle definice, zˇe formule ϕ je tautologie, pra´veˇ kdyzˇ ϕ se´manticky vyply´va´ z pra´zdne´ mnozˇiny formulı´.
ˇ esˇenı´ R 19
1. Vy´rok je pravdivy´. 2. Vy´rok je pravdivy´. Na´poveˇda: Pro kazˇde´ prˇirozene´ cˇ´ıslo m je 2m+1 liche´, tedy “Jestlizˇe 2m+1 je sude´, pak m je na´sobkem 5” je pravdivy´ vy´rok, viz tabulka pravdivostnı´ funkce spojky implikace. 3. Vy´rok “Pro kazˇde´ x existuje y tak, zˇe platı´ x ≤ y.” je pravdivy´. Vy´rok “Existuje y tak, zˇe pro kazˇde´ x platı´ x ≤ y.” je nepravdivy´. 4. Vsˇechny formule jsou tautologie. 5. (a) ano; (b) ne. 6. Jednoduchou u´vahou prˇ´ımo z definice: Necht’e je libovolne´ ohodnocenı´, prˇi ktere´m je ψ pravdiva´. Protozˇe prˇedpokla´da´me ψ |= ϕ, je prˇi ohodnocenı´ e pravdiva´ take´ ϕ, a tedy protozˇe prˇedpokla´da´me ϕ |= χ, je prˇi e pravdiva´ i χ, cozˇ jsme meˇli doka´zat.
20
2
Mnozˇiny, relace, funkce
Studijnı´ cı´le: Po prostudova´nı´ kapitol 2.1 a 2.2 by student meˇl rozumeˇt pojmu mnozˇina. Meˇl by zna´t za´kladnı´ operace a vztahy definovane´ nad mnozˇinami. Student by meˇl tyto pojmy zna´t aktivneˇ, meˇl by umeˇt samostatneˇ doka´zat jednoducha´ tvrzenı´, hledat prˇ´ıklady a protiprˇ´ıklady. Klı´cˇova´ slova: mnozˇina, prvek, podmnozˇina, pru˚nik, sjednocenı´, rozdı´l.
2.1
Co a k cˇemu jsou mnozˇiny, relace a funkce
Mnozˇiny, relace a funkce jsou matematicky´mi proteˇjsˇky jevu˚, se ktery´mi se setka´va´me v kazˇdodennı´m zˇivoteˇ. Mnozˇina je proteˇjsˇkem souboru (cˇi seskupenı´ ). Relace je proteˇjsˇkem vztahu. Funkce je proteˇjsˇkem prˇirˇazenı´. Pojmy mnozˇina, relace a funkce patrˇ´ı k za´kladnı´m stavebnı´m prvku˚m diskre´tnı´ matematiky a matematiky vu˚bec. Umozˇnˇujı´ prˇesne´, srozumitelne´ a jednoduche´ vyjadrˇova´nı´. Pouzˇ´ıvajı´ se v matematice (bez jejich znalosti nemu˚zˇeme cˇ´ıst zˇa´dny´ matematicky´ text) a v rˇadeˇ aplikovany´ch oboru˚ vcˇetneˇ informatiky (funkciona´lnı´ programova´nı´, relacˇnı´ databa´ze, informacˇnı´ syste´my, znalostnı´ inzˇeny´rstvı´ a dalsˇ´ı).
Mnozˇina, relace a funkce jsou za´kladnı´ pojmy matematiky. V informatice se bez nich neobejdeme.
Pru˚vodce studiem S pojmy mnozˇina, relace a funkce se podrobneˇ seznamte. Jsou to jednoduche´ pojmy. Byly zavedeny, abychom mohli prˇesneˇ mluvit o souborech, seskupenı´ch, syste´mech, vztazı´ch, prˇirˇazenı´ch apod. Nenechte se sve´st tı´m, zˇe prˇeci vı´te, co je to seskupenı´ nebo vztah. Kdyzˇ formalismus mnozˇin, relacı´ a funkcı´ dobrˇe zvla´dnete, usˇetrˇ´ıte si spoustu pra´ce v dalsˇ´ım studiu. Navı´c budete umeˇt prakticke´ proble´my dobrˇe „uchopit“ a popsat. Kdyzˇ naopak formalismus mnozˇin, relacı´ a funkcı´ nezvla´dnete, budete s tı´m i v dalsˇ´ıch oblastech neusta´le bojovat.
2.2
Mnozˇiny
2.2.1
Pojem mnozˇiny
Pojem mnozˇina je matematicky´m proteˇjsˇkem beˇzˇneˇ pouzˇ´ıvany´ch pojmu˚ soubor, seskupenı´, apod. Mnozˇina je objekt, ktery´ se skla´da´ z jiny´ch objektu˚, tzv. prvku˚ te´ mnozˇiny. Tak naprˇ´ıklad mnozˇina (oznacˇme ji S) vsˇech sudy´ch cˇ´ısel, ktere´ jsou veˇtsˇ´ı nezˇ 1 a mensˇ´ı nezˇ 9, se skla´da´ z cˇ´ısel 2, 4, 6, 8. Tato cˇ´ısla jsou tedy prvky mnozˇiny S. Fakt, zˇe S se skla´da´ pra´veˇ z prvku˚ 2, 4, 6, 8 zapisujeme S = {2, 4, 6, 8}.
Mnozˇina je objekt, ktery´ se skla´da´ z jiny´ch objektu˚, tzv. prvku˚ mnozˇiny.
Mnozˇiny zpravidla oznacˇujeme velky´mi pı´smeny (A, B, . . . , Z), jejich prvky pak maly´mi pı´smeny (a, b, . . . , z). Fakt, zˇe x je prvkem mnozˇiny A oznacˇujeme x∈A a rˇ´ıka´me take´, zˇe x patrˇ´ı do A (poprˇ. x je v A, A obsahuje x apod.). Nenı´-li x prvkem A, pı´sˇeme x 6∈ A. Dany´ objekt do dane´ mnozˇiny bud’ patrˇ´ı, nebo nepatrˇ´ı. Mnozˇina je jednoznacˇneˇ da´na svy´mi prvky, tj. tı´m, ktere´ prvky do nı´ patrˇ´ı a ktere´ ne. Nema´ tedy smysl hovorˇit o porˇadı´ prvku˚ v mnozˇineˇ (tj. pojmy „prvnı´ prvek mnozˇiny“, „druhy´ prvek mnozˇiny“ atd. nemajı´ smysl). Nema´ take´ smysl uvazˇovat, kolikra´t je dany´ prvek v dane´ mnozˇineˇ (tj. rˇ´ıci „prvek x je v dane´ mnozˇineˇ A trˇikra´t“). Specia´lnı´ mnozˇinou je tzv. pra´zdna´ mnozˇina. Oznacˇuje se ∅. Tato mnozˇina neobsahuje zˇa´dny´ prvek, tj. pro kazˇdy´ prvek x platı´ x 6∈ ∅. Prˇ´ıklad 2.1. Vy´znacˇne´ mnozˇiny cˇ´ısel majı´ sva´ specia´lnı´ oznacˇenı´. • N oznacˇuje mnozˇinu vsˇech prˇirozeny´ch cˇ´ısel. N tedy sesta´va´ z prvku˚ 1, 2, 3, 4, 5, . . . . • Z oznacˇuje mnozˇinu vsˇech cely´ch cˇ´ısel. Z tedy sesta´va´ z prvku˚ 0, 1, −1, 2, −2, 3, −3, 4, −4, . . . . • Q oznacˇuje mnozˇinu vsˇech raciona´lnı´ch cˇ´ısel. Q tedy sesta´va´ z celocˇ´ıselny´ch zlomku˚, tj. z cˇ´ısel m n , kde m ∈ Z, n ∈ N. 21
Mnozˇina je jednoznacˇneˇ da´na tı´m, jake´ prvky obsahuje.
• R oznacˇuje mnozˇinu vsˇech rea´lny´ch cˇ´ısel. Ta obsahuje i iraciona´lnı´ cˇ´ısla, naprˇ.
√
2, π apod.
Mnozˇiny se deˇlı´ na konecˇne´ a nekonecˇne´. Mnozˇina A se nazy´va´ konecˇna´, pra´veˇ kdyzˇ existuje prˇirozene´ cˇ´ıslo n tak, zˇe prvky te´to mnozˇiny lze jednoznacˇneˇ ocˇ´ıslovat cˇ´ısly 1, 2, . . . n. Cˇ´ıslo n se prˇitom nazy´va´ ˇ ´ıka´me take´, zˇe A ma´ n prvku˚. Naprˇ. mnozˇina pocˇet prvku˚ mnozˇiny A a znacˇ´ıme ho |A|, tj. |A| = n. R {2, 4, 6, 8} je konecˇna´. Zvolı´me-li totizˇ n = 4, mu˚zˇeme jejı´ prvky ocˇ´ıslovat naprˇ. na´sledovneˇ: prvku 2 prˇirˇadı´me cˇ´ıslo 1, prvku 4 cˇ´ıslo 2, prvku 6 cˇ´ıslo 3, prvku 8 cˇ´ıslo 4. Ma´me tedy |{2, 4, 6, 8}| = 4, tj. pocˇet prvku˚ mnozˇiny {2, 4, 6, 8} je 4. Mnozˇina A se nazy´va´ nekonecˇna´, nenı´-li konecˇna´. Pak pı´sˇeme |A| = ∞ a rˇ´ıka´me, zˇe A ma´ nekonecˇneˇ mnoho prvku˚. Naprˇ. mnozˇina N vsˇech prˇirozeny´ch cˇ´ısel je nekonecˇna´. 2.2.2
Prvky konecˇny´ch mnozˇin lze ocˇ´ıslovat cˇ´ısly 1, . . . , n. Pokud to nelze, je mnozˇina nekonecˇna´.
Za´pisova´nı´ mnozˇin
Mnozˇiny zapisujeme dveˇma za´kladnı´mi zpu˚soby. Prvnı´m je za´pis tzv. vy´cˇtem prvku˚. Mnozˇina sesta´vajı´cı´ pra´veˇ z prvku˚ a1 , . . . , an se oznacˇuje {a1 , . . . , an }. Prˇ´ıkladem je vy´sˇe uvedeny´ za´pis {2, 4, 6, 8}. Za´pis vy´cˇtem prvku˚ mu˚zˇeme pouzˇ´ıt u konecˇny´ch mnozˇin. Druhy´m je za´pis uda´nı´m tzv. charakteristicke´ vlastnosti. Mnozˇina sesta´vajı´cı´ pra´veˇ z prvku˚, ktere´ splnˇujı´ vlastnost ϕ(x), se oznacˇuje {x | ϕ(x)}.
{a1 , . . . , an } je mnozˇina, ktera´ obsahuje pra´veˇ prvky a1 , . . . , an .
Vlastnost ϕ(x) mu˚zˇe by´t popsana´ trˇeba i v prˇirozene´m jazyce, ale musı´ mı´t jednoznacˇny´ smysl. Naprˇ. je-li ϕ(x) vlastnost „x je sude´ prˇirozene´ cˇ´ıslo veˇtsˇ´ı nezˇ 1 a mensˇ´ı nezˇ 9“, mu˚zˇeme uvazˇovat mnozˇinu oznacˇenou {x | ϕ(x)}. Ta je shodna´ s mnozˇinou oznacˇenou {2, 4, 6, 8}.
{x | ϕ(x)} je mnozˇina, ktera´ obsahuje pra´veˇ prvky x splnˇujı´cı´ vlastnost ϕ(x).
Mı´sto „mnozˇina oznacˇena´ za´pisem {. . . }“ budeme rˇ´ıkat jen „mnozˇina {. . . }“. Naprˇ. rˇ´ıka´me „mnozˇina {a, b, c} ma´ trˇi prvky“, „uvazˇujme mnozˇinu {x | x je sude´ cele´ cˇ´ıslo}“ apod. Neˇkdy se pouzˇ´ıva´ i pro za´pis nekonecˇny´ch mnozˇin zpu˚sob, ktery´ je podobny´ za´pisu vy´cˇtem. Naprˇ´ıklad mnozˇinu vsˇech kladny´ch sudy´ch cˇ´ısel zapı´sˇeme {2, 4, 6, 8, . . . }. Obecneˇ tedy mu˚zˇeme pouzˇ´ıt za´pis {a1 , a2 , a3 , a4 , . . . }, pokud je z prvku˚ a1 , a2 , a3 , a4 zrˇema´ vlastnost charakterizujı´cı´ prvky popisovane´ mnozˇiny. Poznamenejme take´, zˇe pra´zdna´ mnozˇina se neˇkdy zapisuje {}. Pozna´mka 2.2. Za´pis vy´cˇtem prvku˚ sva´dı´ k tomu mluvit o prvnı´m prvku mnozˇiny, druhe´m prvku mnozˇiny, atd. Naprˇ. u mnozˇiny {2, 4, 6, 8} ma´me tendenci rˇ´ıci, zˇe 2 je prvnı´m prvkem, 4 druhy´m prvkem atd. My vsˇak vı´me, zˇe vy´razy „prvnı´ prvek mnozˇiny“, „druhy´ prvek mnozˇiny“ atd. nemajı´ smysl. Mnozˇina je totizˇ da´na jen tı´m, jake´ prvky obsahuje, ne jejich porˇadı´m. Prˇi za´pisu vy´cˇtem se ale porˇadı´ objevuje. Spra´vneˇ bychom meˇli rˇ´ıci, zˇe {2, 4, 6, 8} oznacˇuje mnozˇinu, v jejı´mzˇ za´pise vy´cˇtem, ktery´ jsme pouzˇili, je prvek 2 na prvnı´m mı´steˇ, prvek 4 na druhe´m mı´steˇ atd. Stejnou mnozˇinu mu˚zˇeme zapsat vy´cˇtem a naprˇ. {4, 6, 2, 8}. V tomto za´pise je prvek 2 na trˇetı´m mı´steˇ. Za´pis vy´cˇtem sva´dı´ da´le k tomu mluvit o tom, kolikra´t se prvek v dane´ mnozˇineˇ vyskytuje. Z technicky´m du˚vodu˚ je vy´hodne´ prˇipustit, aby se prvky v za´pisu vy´cˇtem opakovaly. Mu˚zˇeme naprˇ. napsat {2, 4, 6, 8, 2, 2, 4}. Takovy´ za´pis oznacˇuje stejnou mnozˇinu jako {2, 4, 6, 8}. Stejnou mnozˇinu oznacˇuje i {6, 6, 6, 2, 4, 8}. Za´lezˇ´ı tedy jen na tom, ktere´ prvky se v za´pise vyskytujı´, neza´lezˇ´ı na pocˇtu jejich vy´skytu. Nelze tedy naprˇ. rˇ´ıci, zˇe mnozˇina {2, 4, 6, 8, 2, 2, 4} obsahuje trˇi prvky 2. Mu˚zˇeme jen rˇ´ıci, zˇe v za´pise {2, 4, 6, 8, 2, 2, 4} se prvek 2 vyskytuje trˇikra´t. Pozna´mka 2.3. (1) Za´pis {x ∈ A | ϕ(x)} oznacˇuje mnozˇinu {x | x ∈ A a ϕ(x)}. Je to tedy za´pis pomocı´ charakteristicke´ vlastnosti. Oznacˇ´ıme-li totizˇ ψ(x) vlastnost, kterou prvek x splnˇuje, pra´veˇ kdyzˇ patrˇ´ı do A a splnˇuje ϕ(x), pak mnozˇina {x ∈ A | ϕ(x)} je rovna mnozˇineˇ {x | ψ(x)}. Naprˇ. mnozˇina {x ∈ Z | x ≤ 2} je mnozˇina {x | x ∈ Z a x ≤ 2}, tj. mnozˇina vsˇech cely´ch cˇ´ısel, ktera´ jsou nejvy´sˇe rovna 2. (2) Cˇasto se take´ pouzˇ´ıva´ za´pis {ai | i ∈ I}. Prˇitom I je neˇjaka´ mnozˇina (rˇ´ıka´ se jı´ indexova´) a pro kazˇdy´ (index) i ∈ I je ai neˇjaky´ prvek. Pak {ai | i ∈ I} je mnozˇina {x | existuje i ∈ I tak, zˇe x = ai }. {ai | i ∈ I} je tedy vlastneˇ za´pis pomocı´ charakteristicke´ vlastnosti, nebot’oznacˇuje mnozˇinu {x | ϕ(x)}, kde ϕ(x) je „existuje i ∈ I, tak, zˇe x = ai “. Je-li kazˇdy´ prvek ai mnozˇinou, nazy´va´ se {ai | i ∈ I} indexovany´ syste´m mnozˇin. (3) Prˇi za´pise pomocı´ charakteristicke´ vlastnosti se prˇi popisu vlastnosti ϕ(x) cˇasto pouzˇ´ıvajı´ obraty „pro kazˇde´ y platı´, zˇe . . . “ a „existuje y tak, zˇe platı´ . . . “. Jak je beˇzˇne´, budeme tyto obraty zkra´ceneˇ zapisovat (po rˇadeˇ) pomocı´ „∀y . . . “ a „∃y . . . “ s prˇ´ıpadny´mi za´vorkami, ktere´ zajistı´ jednoznacˇny´ zpu˚sob cˇtenı´, poprˇ. veˇtsˇ´ı srozumitelnost. „∀y ∈ Y . . . “ a „∃y ∈ Y . . . “ znamenajı´ „pro kazˇde´ y z mnozˇiny Y platı´, zˇe . . . “ a „existuje y z mnozˇiny Y tak, zˇe platı´ . . . “. Naprˇ. mnozˇina {x | ∃y ∈ N : x = y 2 } je mnozˇina prvku˚ x takovy´ch, zˇe existuje prˇirozene´ cˇ´ıslo y tak, zˇe x = y 2 . Je to tedy mnozˇina vsˇech druhy´ch mocnin prˇirozeny´ch cˇ´ısel. 22
Prˇ´ıklad 2.4. Podı´vejte se na na´sledujı´cı´ mnozˇiny a jejich za´pisy. • {k | ∃n ∈ N : k = 2n } oznacˇuje mnozˇinu vsˇech kladny´ch mocnin cˇ´ısla 2. Stejnou mnozˇinu oznacˇuje {2, 4, 8, 16, . . . }. • {k ∈ N | k 6= 1 a jestlizˇe ∃m, n ∈ N : m · n = k, pak m = 1 nebo n = 1} oznacˇuje mnozˇinu vsˇech prvocˇ´ısel. • {{a, b}, {a}, {1, 2, 3, {a, b}}} je mnozˇina, ktera´ ma´ trˇi prvky. Tyto prvky samy, tj. {a, b}, {a}, a {1, 2, 3, {a, b}}}, jsou opeˇt mnozˇiny. {a, b} ma´ dva prvky (a a b), {a} ma´ jeden prvek (a), {1, 2, 3, {a, b}}} ma´ cˇtyrˇi prvky (jsou to 1, 2, 3 a {a, b}). Vidı´me tedy, zˇe mnozˇina mu˚zˇe obsahovat prvek, ktery´ je sa´m mnozˇinou. Tento prvek-mnozˇina sa´m mu˚zˇe obsahovat prvky, ktere´ jsou mnozˇinami. • {∅} je jednoprvkova´ mnozˇina. Jejı´m jediny´m prvkem je ∅ (pra´zdna´ mnozˇina). Uveˇdomte si, zˇe {∅} a ∅ jsou ru˚zne´ mnozˇiny ({∅} obsahuje jeden prvek, ∅ neobsahuje zˇa´dny´). {∅, {∅}, {{∅}}, {∅, {∅}}} je cˇtyrˇprvkova´ mnozˇina. Jejı´ prvky jsou ∅, {∅}, {{∅}}, {∅, {∅}}. • Necht’ a1 = p, a2 = q, a3 = r, a4 = x, a5 = y, a6 = z, a7 = 1, a8 = r, I = {1, 2, 3, 4}, J = {1, 2, 3, 7, 8}. Pak {ai | i ∈ I} je mnozˇina {p, q, r, x}, {ai | i ∈ J} je mnozˇina {p, q, r, 1}. • {2i | i ∈ N} je za´pis typu {ai | i ∈ I} (ma´me ai = 2i , I = N). Je to mnozˇina vsˇech kladny´ch mocnin cˇ´ısla 2. Mnozˇina je pojem, ktery´ intuitivneˇ pouzˇ´ıva´me v beˇzˇne´m zˇivoteˇ, chceme-li oznacˇit neˇkolik objektu˚ najednou („da´t je do jednoho pytle“). Naprˇ. rˇekneme-li „ekonomicke´ oddeˇlenı´ “, myslı´me tı´m vlastneˇ mnozˇinu zameˇstnancu˚ ekonomicke´ho oddeˇlenı´. Mnozˇinovy´ za´pis take´ umozˇnˇuje jednodusˇe vyja´drˇit hierarchickou strukturu. Prˇedpokla´dejme pro jednoduchost, zˇe v nemocnici pracuje rˇeditel (R), trˇi u´drzˇba´rˇi (U1 , U2 , U3 ), na oddeˇlenı´ chirurgie dva le´karˇi (C1 , C2 ) a trˇi sestry (CS1 , CS2 , CS3 ), na anesteziologickoresuscitacˇnı´m oddeˇlenı´ dva le´karˇi (A1 , A2 ) a dveˇ sestry (AS1 , AS2 ), na oddeˇlenı´ internı´m trˇi le´karˇi (I1 , I2 , I3 ) a cˇtyrˇi sestry (IS1 , IS2 , IS3 , IS4 ). Pak strukturu zameˇstnancu˚ nemocnice popisuje jisty´m zpu˚sobem naprˇ. mnozˇina
Pouhy´ mnozˇinovy´ za´pis umozˇnˇuje prˇehledneˇ vyja´drˇit strukturu, kterou chceme zachytit.
{{R}, {U1 , U2 , U3 }, {{C1 , C2 , CS1 , CS2 , CS3 }, {A1 , A2 , AS1 , AS2 }, {I1 , I2 , I3 , IS1 , IS2 , IS3 , IS4 }}}. Prˇi tomto pohledu se dı´va´me takto: Zameˇstnanci nemocnice jsou rozdeˇleni do trˇech skupin, a to {R} (vedenı´), {U1 , U2 , U3 } (technicky´ persona´l), {{C1 , C2 , CS1 , CS2 , CS3 }, {A1 , A2 , AS1 , AS2 }, {I1 , I2 , I3 , IS1 , IS2 , IS3 , IS4 } (zdravotnicky´ persona´l). Zdravotnicky´ persona´l se da´le deˇlı´ na {C1 , C2 , CS1 , CS2 , CS3 } (chirurgicke´ oddeˇlenı´), {A1 , A2 , AS1 , AS2 } (anesteziologicko-resuscitacˇnı´ oddeˇlenı´) a {I1 , I2 , I3 , IS1 , IS2 , IS3 , IS4 } (internı´ oddeˇlenı´). Jiny´m zpu˚sobem (vedenı´, technicky´ persona´l, le´karˇi, sestry) popisuje strukturu zameˇstnancu˚ mnozˇina {{R}, {U1 , U2 , U3 }, {C1 , C2 , A1 , A2 , I1 , I2 , I3 }, {CS1 , CS2 , CS3 , AS1 , AS2 , IS1 , IS2 , IS3 , IS4 }}. Pokud mluvı´me o mnozˇineˇ, jejı´zˇ prvky jsou opeˇt mnozˇiny, rˇ´ıka´ se neˇkdy mı´sto „mnozˇina mnozˇin“ spı´sˇe „syste´m mnozˇin“ nebo „soubor mnozˇin“. Du˚vody k tomu jsou vsˇak jen esteticke´ (zvukomalebne´, „mnozˇina mnozˇin“ neznı´ dobrˇe). Pozna´mka 2.5. (1) Ne kazˇdou slovneˇ popsanou vlastnost lze pouzˇ´ıt k za´pisu mnozˇiny. Uvazˇujme naprˇ. za´pis {x | x je cˇ´ıslo uda´vajı´cı´ ve stupnı´ch Celsia vysokou letnı´ teplotu v Cˇesku}. Proble´m je v tom, zˇe pojem „vysoka´ letnı´ teplota v Cˇesku“ nenı´ vymezen tak, zˇe by kazˇda´ teplota bud’ byla nebo nebyla vysoka´. Naprˇ. by teploty 30 stupnˇu˚ a vı´ce byly vysoke´ a teploty mensˇ´ı nezˇ 30 stupnˇu˚ vysoke´ nebyly. Pojem „vysoka´ letnı´ teplota v Cˇesku“ je totizˇ va´gnı´, urcˇite´ teploty mu vyhovujı´ le´pe, urcˇite´ hu˚rˇe. Va´gnostı´ se zaby´va´ tzv. fuzzy logika a fuzzy mnozˇiny. Fuzzy mnozˇina se od (klasicke´, tj. „nefuzzy“) mnozˇiny lisˇ´ı v za´sadeˇ v tom, zˇe objekt do fuzzy mnozˇiny mu˚zˇe patrˇit v urcˇite´m stupni, naprˇ. 0 (vu˚bec nepatrˇ´ı), 0.2 (patrˇ´ı jen trochu), . . . , 1 (u´plneˇ patrˇ´ı). Klasicke´ mnozˇiny lze cha´pat jako hranicˇnı´ prˇ´ıpad fuzzy mnozˇin, ve ktere´m pouzˇ´ıva´me pouze stupneˇ 0 a 1. Za´jemce odkazujeme naprˇ. na [KlYu95]. (2) Prˇ´ıstup k mnozˇina´m, ktery´ zde prˇedstavujeme, je tzv. naivnı´ (poprˇ. intuitivnı´). Mu˚zˇe vsˇak ve´st k zvla´sˇtnı´m situacı´m, tzv. paradoxu˚m. Zacˇa´tkem 20. stol. na neˇ upozornil Bertrand Russel. Aby paradoxy 23
Je-li vlastnost ϕ(x) popsana´ slovneˇ, nemusı´ by´t urcˇita´, a pak {x | ϕ(x)} nepopisuje mnozˇinu.
odstranil, navrhl tzv. teorii typu˚ a na nı´ vybudoval prˇ´ıstup k mnozˇina´m, ve ktere´m se paradoxy neobjevujı´. Jiny´, pozdeˇji mnohem rozsˇ´ırˇeneˇjsˇ´ı prˇ´ıstup k mnozˇina´m, ve ktere´m se paradoxy nevyskytujı´, nabı´zı´ tzv. axiomaticka´ teorie mnozˇin. Pro nasˇe u´cˇely a i v rˇadeˇ jiny´ch situacı´ vsˇak postacˇuje naivnı´ prˇ´ıstup. Protozˇe je take´ mnohem jednodusˇsˇ´ı, zu˚staneme u neˇj. (3) Jednı´m z nejzna´meˇjsˇ´ıch paradoxu˚ naivnı´ho prˇ´ıstupu k mnozˇina´m je tzv. Russellu˚v paradox. Vypada´ takto: Prvky mnozˇin mohou by´t opeˇt mnozˇiny. Da´le lze jisteˇ uvazˇovat vlastnost „x 6∈ x“ a mnozˇiny objektu˚, ktere´ ji splnˇujı´. Oznacˇme ji N a nazveˇme ji mnozˇinou vsˇech norma´lnı´ch mnozˇin, tj. x ∈ N , pra´veˇ kdyzˇ x 6∈ x. Poznamenejme na okraj, zˇe vsˇechny mnozˇiny, ktere´ jsme zatı´m videˇli, byly norma´lnı´. Protozˇe N je sama o sobeˇ mnozˇina, mu˚zˇeme se zeptat, zda platı´ N ∈ N , tj. zda N sama je norma´lnı´. Je jasne´, zˇe musı´ by´t bud’(a) N ∈ N , nebo (b) N 6∈ N . Zkusme ty mozˇnosti rozebrat: (a) Kdyzˇ N ∈ N , pak N splnˇuje vlastnost prvku˚ mnozˇiny N , tedy splnˇuje x 6∈ x, tedy N 6∈ N . Naopak, kdyzˇ (b) N 6∈ N , pak protozˇe N splnˇuje vlastnost x 6∈ x, je dle definice norma´lnı´ a tedy patrˇ´ı do mnozˇiny vsˇech norma´lnı´ch mnozˇin, tedy patrˇ´ı do N , tedy N ∈ N . Vidı´me tedy, zˇe z N ∈ N plyne N 6∈ N a z N 6∈ N plyne N ∈ N , tedy N ∈ N platı´, pra´veˇ kdyzˇ N 6∈ N . To je spor. Z prˇirozeny´ch prˇedpokladu˚ jsme prˇirozeny´mi u´vahami dosˇli ke sporu, odtud na´zev paradox. Russellu˚v paradox ma´ rˇadu popula´rnı´ch podob. Jednou z nich je tzv. paradox holicˇe: Ve meˇsteˇ je holicˇ, ktery´ holı´ pra´veˇ ty lidi, kterˇ´ı neholı´ sami sebe. Ota´zka: Holı´ holicˇ sa´m sebe? 2.2.3
Russellu˚v paradox ukazuje meze nasˇeho prˇ´ıstupu k mnozˇina´m.
Vztahy mezi mnozˇinami
Za´kladnı´ vztahy mezi mnozˇinami jsou rovnost (oznacˇujeme ji symbolem =) a inkluze (oznacˇujeme ji symbolem ⊆). Jsou-li A a B mnozˇiny, pak A = B cˇteme „(mnozˇina) A se rovna´ (mnozˇineˇ) B“ a A ⊆ B cˇteme „(mnozˇina) A je podmnozˇinou (mnozˇiny) B“. Prˇitom A=B
pro kazˇdy´ x : x ∈ A pra´veˇ kdyzˇ x ∈ B
znamena´, zˇe
a A⊆B
znamena´, zˇe
pro kazˇdy´ x : jestlizˇe x ∈ A, pak x ∈ B.
Jiny´mi slovy, A = B znamena´, zˇe mnozˇiny A a B obsahujı´ stejne´ prvky (neexistuje prvek, ktery´ by do jedne´ patrˇil ale do druhe´ ne). A ⊆ B znamena´, zˇe vsˇechny prvky mnozˇiny A jsou take´ prvky mnozˇiny B. A 6= B znamena´, zˇe neplatı´ A = B. A 6⊆ B znamena´, zˇe neplatı´ A ⊆ B. Vsˇimneˇme si, zˇe A = B platı´, pra´veˇ kdyzˇ platı´ za´rovenˇ A ⊆ B a B ⊆ A. Neˇkdy je vy´hodne´ psa´t A ⊂ B, abychom oznacˇili, zˇe A ⊆ B a A 6= B. Da´le si uveˇdomme, zˇe pro vsˇechny mnozˇiny A, B, C je ∅ ⊆ A, A ⊆ A a zˇe jestlizˇe A ⊆ B a B ⊆ C, pak A ⊆ C. Dokazˇme poslednı´ tvrzenı´. Prˇedpokla´dejme, zˇe A ⊆ B a B ⊆ C. Ma´me doka´zat A ⊆ C, tedy zˇe pro kazˇdy´ x platı´, zˇe kdyzˇ x ∈ A, pak x ∈ C. Zvolme tedy libovolny´ x a prˇedpokla´dejme, zˇe x ∈ A. Chceme uka´zat x ∈ C. Udeˇla´me to na´sledovneˇ. Z x ∈ A a z prˇedpokladu A ⊆ B plyne, zˇe x ∈ B. Da´le z x ∈ B a z prˇedpokladu B ⊆ C plyne x ∈ C. Du˚kaz je hotov. Pra´veˇ doka´zane´ tvrzenı´ je velmi jednoduche´. Je tak jednoduche´, zˇe ma´ cˇloveˇk sklon rˇ´ıci „to je prˇece jasne´, to nenı´ trˇeba dokazovat“. Tvrzenı´ vsˇak mohou by´t slozˇiteˇjsˇ´ı a slozˇiteˇjsˇ´ı (viz da´le) tak, zˇe uzˇ nebudou „prˇece jasna´“. Doka´zat dane´ tvrzenı´, tj. vyjı´t z prˇedpokladu˚ a pomocı´ jednoduchy´ch u´vah (a poprˇ. i pomocı´ zna´my´ch tvrzenı´) dojı´t z prˇedpokladu˚ k za´veˇru dane´ho tvrzenı´, je pak jediny´m zpu˚sobem, jak se prˇesveˇdcˇit, zˇe tvrzenı´ platı´. Ostatneˇ uveˇdomme si, zˇe i u velmi jednoduchy´ch tvrzenı´ je jediny´m ˇ ´ıci „to je prˇece jasne´“ nema´ jako argument zˇa´dnou va´hu. Za prve´, korektnı´m zdu˚vodneˇnı´m du˚kaz. R cˇloveˇk se mu˚zˇe sple´st (to, co se mu zda´ jasne´, tak ve skutecˇnosti nemusı´ by´t). Za druhe´, a to je snad jesˇteˇ du˚lezˇiteˇjsˇ´ı, argumentujeme-li pomocı´ „to je jasne´“, mu˚zˇe se na´m sta´t, zˇe pojmy, o ktery´ch mluvı´me, vlastneˇ porˇa´dneˇ necha´peme, zˇe je cha´peme jen povrchneˇ, intuitivneˇ. Umeˇt doka´zat i jednoducha´ tvrzenı´ (a tvrzenı´ vu˚bec) je tedy i dobry´ test, jestli veˇci rozumı´me (u slozˇiteˇjsˇ´ıch tvrzenı´ je dobre´ alesponˇ du˚kaz si prˇecˇ´ıst a pochopit). Tedy nasˇe doporucˇenı´: Cˇteˇte du˚kazy a pokousˇejte se je sami vymy´sˇlet. To je uzˇitecˇny´ zvyk nejen pro diskre´tnı´ matematiku. Moje zkusˇenost je na´sledujı´cı´: Osvojit si du˚kazy (cˇ´ıst je, ty jednoduche´ i sami formulovat) vyzˇaduje pocˇa´tecˇnı´ cˇasovou investici. Ta se ale vyplatı´. Veˇcem le´pe porozumı´te, zacˇnou se zda´t jednoduche´ a zacˇnete videˇt souvislosti. Platı´ to nejen pro matematiku a informatiku, ale i pro kazˇdou oblast, ve ktere´ ze za´kladnı´ch kamenu˚ (pojmu˚, konstruktu˚, principu˚, . . . ) budujeme slozˇiteˇjsˇ´ı syste´m. Prˇ´ıklad 2.6. Platı´ naprˇ. • {2} = {n ∈ N | n je sude´ prvocˇ´ıslo}, 24
Za´kladnı´ vztahy mezi mnozˇinami jsou rovnost a inkluze.
• ∅ = {k ∈ Z | ∃n ∈ N : 2k = 2n + 1}, • {a, b, c, d} = {b, d, c, a}, {a, b, 1} = {1, a, a, b, b, b, 1}, • {a, b} ⊆ {a, b, c, d}, {a, b} ⊆ {1, 2, a, b}, • {a, {a, b}, {{a, 1}, b}} ⊆ {a, b, {a, b}, {a, b, 1}, {{a, 1}, b}}, • {a, b} 6⊆ {{a, b, c}}, {{a, 1}} 6⊆ {a, b, 1, {a}, {1}}. Procˇ platı´ {a, b} 6⊆ {{a, b, c}}, tj. procˇ {a, b} nenı´ podmnozˇinou {{a, b, c}}? Vzˇdyt’ v {{a, b, c}} jsou vsˇechny prvky, ktere´ jsou v {a, b} (pokusˇenı´ ktere´ mu˚zˇe plynout z povrchnı´ho cha´pa´nı´ ⊆). Zdu˚vodneˇnı´: Naprˇ. pro prvek a je a ∈ {a, b}, ale a 6∈ {{a, b, c}}. Pru˚vodce studiem Podı´vejte se znovu na Prˇ´ıklad 2.6. Vztahy mezi mnozˇinami, ktere´ jsou v neˇm uvedene´, a dalsˇ´ı podobne´ vztahy byste meˇli umeˇt bez proble´mu˚ zdu˚vodnit. Tak si oveˇrˇ´ıte, zˇe teˇm u´plneˇ za´kladnı´m veˇcem rozumı´te. Tady i na jiny´ch mı´stech v textu platı´, zˇe skoro nema´ smysl cˇ´ıst text da´l, dokud va´m nebude jasne´ (tj. dokud nebudete umeˇt pomocı´ definic zdu˚vodnit), procˇ naprˇ. platı´ {{a}} ⊆ {{a}, {b}} a procˇ neplatı´ {{a}} ⊆ {{a, b}}. Nezˇ tyto veˇci zacˇnete jasneˇ cha´pat a videˇt, mu˚zˇe to chvı´li trvat. Ten cˇas se va´m ale vra´tı´. Zdu˚vodneˇte naprˇ., procˇ je x ∈ A, pra´veˇ kdyzˇ {x} ⊆ A.
Mnozˇina, jejı´mizˇ prvky jsou pra´veˇ vsˇechny podmnozˇiny dane´ mnozˇiny X, se nazy´va´ potencˇnı´ mnozˇina mnozˇiny X a znacˇ´ı se 2X (neˇkdy take´ P (X)). Tedy 2X = {A | A ⊆ X}. Vezmeˇme naprˇ. X = {a, b}. X ma´ cˇtyrˇi podmnozˇiny. Jsou to ∅ (ta je podmnozˇinou kazˇde´ mnozˇiny), {a}, {b} a {a, b} (mnozˇina je podmnozˇinou sebe same´). Tedy 2X = {∅, {a}, {b}, {a, b}}. Prˇ´ıklad 2.7.
Potencˇnı´ mnozˇina mnozˇiny X je mnozˇina vsˇech podmnozˇin mnozˇiny X.
• Pro X = {a} je 2X = {∅, {a}},
• pro X = {1, 2, 3} je 2X = {∅, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}, • pro X = ∅ je 2X = {∅} (to si promyslete: jedinou podmnozˇinou mnozˇiny ∅ je ∅), • pro X = {a, {a}} je 2X = {∅, {a}, {{a}}, {a, {a}}}. 2.2.4
Operace s mnozˇinami
Se skupinami objektu˚ prova´dı´me v beˇzˇne´m zˇivoteˇ ru˚zne´ operace. Naprˇ. rˇekneme „samostatnost a logicke´ uvazˇova´nı´ jsou spolecˇne´ vlastnosti Jany a Aleny“. Z mnozˇinove´ho pohledu tı´m myslı´me na´sledujı´cı´. Jana i Alena majı´ neˇjake´ vlastnosti. Mnozˇinu rysu˚ Jany oznacˇme J, mnozˇinu rysu˚ Aleny oznacˇme A. Mnozˇiny J a A jsou ru˚zne´, naprˇ. oznacˇuje-li m vlastnost „je dobra´ v matematice“, mu˚zˇe by´t m ∈ J (Jana je dobra´ v matematice), ale m 6∈ A (Alena nenı´ dobra´ v matematice). Oznacˇme s a l vlastnosti „samostatnost“ a „logicke´ uvazˇova´nı´“. Oznacˇme da´le J ∩ A mnozˇinu vlastnostı´, ktere´ patrˇ´ı do J i do A. Pak „samostatnost a logicke´ uvazˇova´nı´ jsou spolecˇne´ vlastnosti Jany a Aleny“ vlastneˇ znamena´ s ∈ J ∩ A a l ∈ J ∩ A. Mezi za´kladnı´ operace s mnozˇinami, se ktery´mi se sezna´mı´me, patrˇ´ı pru˚nik (znacˇ´ı se ∩), sjednocenı´ (znacˇ´ı se ∪) a rozdı´l (znacˇ´ı se −). Jsou-li A a B mnozˇiny, definujeme mnozˇiny A ∩ B, A ∪ B a A − B prˇedpisy A∩B A∪B A−B
= {x | x ∈ A a x ∈ B}, = {x | x ∈ A nebo x ∈ B}, = {x | x ∈ A a x 6∈ B}.
Tedy x patrˇ´ı do A ∩ B, pra´veˇ kdyzˇ x patrˇ´ı do A i do B; x patrˇ´ı do A ∪ B, pra´veˇ kdyzˇ x patrˇ´ı do A nebo do B; x patrˇ´ı do A − B, pra´veˇ kdyzˇ x patrˇ´ı do A, ale nepatrˇ´ı do B. Prˇ´ıklad 2.8. {a, e},
• Pro A = {a, b, e}, B = {b, c, d} je A ∩ B = {b}, A ∪ B = {a, b, c, d, e}, A − B =
25
Za´kladnı´ operace s mnozˇinami jsou pru˚nik, sjednocenı´ a rozdı´l.
B
A
A
A=B
A
B
B
Obra´zek 1: Vennovy diagramy. • pro A = {1, 2, a, b}, B = {1, a} je A ∩ B = {1, a}, A ∪ B = {1, 2, a, b}, A − B = {2, b}, B − A = ∅, • Pro A = {a}, B = {b, {a}} je A ∩ B = ∅, A ∪ B = {a, b, {a}}, • pro A = {∅, a, {a}, {a, b}}, B = {b, {a, {b}}} je A ∩ B {∅, a, {a}, {a, b}, b, {a, {b}}}, A − B = A, B − A = B.
=
∅, A ∪ B
=
Mnozˇiny A a B se nazy´vajı´ (navza´jem) disjunktnı´, pra´veˇ kdyzˇ A ∩ B = ∅. Naprˇ. mnozˇiny {a, b, c, d} a {1, 2, 3} jsou disjunktnı´, mnozˇiny {a, b, 1} a {1, 2, a} disjunktnı´ nejsou. Cˇasto uvazˇujeme jednu mnozˇinu X, ktere´ rˇ´ıka´me univerzum (obor nasˇich u´vah) a pracujeme jen s mnozˇinami, ktere´ jsou podmnozˇinami X. Naprˇ. uvazˇujeme univerzum X vsˇech obcˇanu˚ Cˇeske´ republiky a potom pracujeme s jeho podmnozˇinami (naprˇ. mnozˇina deˇtı´ z X, mnozˇina zameˇstnany´ch, mnozˇina du˚chodcu˚ apod.). Je-li da´no neˇjake´ univerzum X a mnozˇina A ⊆ X, pak doplneˇk (neˇkdy take´ komplement) mnozˇiny A je mnozˇina X − A a znacˇ´ıme ji A. Naprˇ. pro X = {a, b, c, d, e} je {a, c} = {b, d, e}. Je-li A = {Bi | i ∈ I} mnozˇina, jejı´zˇ prvky jsou opeˇt mnozˇiny, definujeme [ A = {x | ∃i ∈ I : x ∈ Bi }, S tedy x ∈ A, pra´veˇ kdyzˇ x patrˇ´ı do neˇjake´ mnozˇiny, ktera´ je prvkem A. Naprˇ. S {{a, b, c}, {a, 1}, {1, 2}} = {a, b, c, 1, 2}. Pru˚vodce studiem Operace a za´kladnı´ vztahy mezi mnozˇinami mu˚zˇeme ilustrovat pomocı´ tzv. Vennovy´ch diagramu˚. Mnozˇiny se zna´zornˇujı´ (jsou reprezentova´ny) v rovineˇ jako obrazce ohranicˇene´ uzavrˇeny´mi krˇivkami (kruzˇnice, ova´ly apod.). Prˇitom jedna mnozˇina mu˚zˇe by´t reprezentova´na neˇkolika obrazci, ktere´ se neprotı´najı´, poprˇ. se jen doty´kajı´. Prvky mnozˇiny jsou ty body roviny, ktere´ se nacha´zejı´ uvnitrˇ odpovı´dajı´cı´ho obrazce (poprˇ. se neˇktere´ prvky v obrazci explicitneˇ vyznacˇ´ı krˇ´ızˇkem). Ke kazˇde´mu obrazci se napı´sˇe symbol odpovı´dajı´cı´ mnozˇiny. Podı´vejte se na Obr. 1. Kazˇda´ ze cˇtyrˇ situacı´ (vlevo dole, vpravo dole, vpravo nahorˇe, vlevo nahorˇe) zna´zornˇuje dveˇ mnozˇiny, A a B. Pro situaci vlevo dole je A = B, vpravo dole jsou A a B disjunktnı´, vpravo nahorˇe A a B disjunktnı´ nejsou, vlevo nahorˇe je A ⊆ B. Mnozˇina A ∩ B je reprezentova´na obrazcem, ktery´ je roven spolecˇne´ cˇa´sti obrazce reprezentujı´cı´ho A a obrazce reprezentujı´cı´ho B. Mnozˇina A ∪ B je reprezentova´na obrazcem, ktery´ je da´n sloucˇenı´m obrazce reprezentujı´cı´ho A a obrazce reprezentujı´cı´ho B. Fakt A ⊆ B odpovı´da´ situaci, kdy obrazec reprezentujı´cı´ A je obsazˇen v obrazci reprezentujı´cı´m B. Vennovy diagramy umozˇnˇujı´ na´zornou prˇedstavu. Lze pomocı´ nich zna´zornit mnozˇiny, jejichzˇ prvky mu˚zˇeme cha´pat jako dvourozmeˇrne´. Neˇktere´ mnozˇiny tak zna´zornit nemu˚zˇeme. John Venn (1834–1923) byl anglicky´ logik a filozof. Napsal naprˇ. vlivne´ knihy The Logic of Chance: An Essay on the Foundations and Province of the Theory of Probability, 1866, a Symbolic Logic, 1881.
Podı´vejme se ted’ na neˇktere´ za´kladnı´ vlastnosti.
26
Vennovy diagramy slouzˇ´ı ke graficke´ ilustraci mnozˇin.
Veˇta 2.9. Pro mnozˇiny A, B, C platı´ A ∩ ∅ = ∅, A ∪ A = A, A ∪ B = B ∪ A, (A ∪ B) ∪ C = A ∪ (B ∪ C), A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C), A ∪ (A ∩ B) = A,
A∪∅=A A∩A=A A∩B =B∩A (A ∩ B) ∩ C = A ∩ (B ∩ C) A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C) A ∩ (A ∪ B) = A
Prˇed du˚kazem si uveˇdomme na´sledujı´cı´. Ma´me-li doka´zat A = B, ma´me podle definice doka´zat, zˇe pro libovolny´ prvek x je x ∈ A, pra´veˇ kdyzˇ x ∈ B. To lze da´le rozlozˇit na oveˇrˇenı´ toho, zˇe z x ∈ A plyne x ∈ B a zˇe z x ∈ B plyne x ∈ A. Pojd’me na du˚kaz Veˇty 2.9. Du˚kaz. A ∩ ∅ = ∅: Zvolme libovolny´ x. Je x ∈ A ∩ ∅, pra´veˇ kdyzˇ (podle definice ∩) x ∈ A a x ∈ ∅. Protozˇe x ∈ ∅ je vzˇdy nepravdive´, je vzˇdy nepravdivy´ i vy´rok x ∈ A a x ∈ ∅. Ma´me tedy da´le x ∈ A a x ∈ ∅, pra´veˇ kdyzˇ x ∈ ∅. Celkem tedy ma´me x ∈ A ∩ ∅, pra´veˇ kdyzˇ x ∈ ∅, cozˇ dokazuje A ∩ ∅ = ∅. A ∪ ∅ = A: x ∈ A ∪ ∅, pra´veˇ kdyzˇ (podle definice ∪) x ∈ A nebo x ∈ ∅, pra´veˇ kdyzˇ (protozˇe x ∈ ∅ je vzˇdy nepravdive´) x ∈ A. A ∪ A = A: x ∈ A ∪ A, pra´veˇ kdyzˇ x ∈ A nebo x ∈ A, pra´veˇ kdyzˇ x ∈ A. A ∩ A = A: Podobneˇ jako prˇedchozı´, x ∈ A ∩ A, pra´veˇ kdyzˇ x ∈ A a x ∈ A, pra´veˇ kdyzˇ x ∈ A. A ∪ B = B ∪ A: x ∈ A ∪ B, pra´veˇ kdyzˇ x ∈ A nebo x ∈ B, pra´veˇ kdyzˇ x ∈ B nebo x ∈ A, pra´veˇ kdyzˇ x ∈ B ∪ A. A ∩ B = B ∩ A: Podobneˇ jako prˇedchozı´. (A ∪ B) ∪ C = A ∪ (B ∪ C): x ∈ (A ∪ B) ∪ C, pra´veˇ kdyzˇ x ∈ (A ∪ B) nebo x ∈ C, pra´veˇ kdyzˇ (x ∈ A nebo x ∈ B) nebo x ∈ C, pra´veˇ kdyzˇ (podle pravidel vy´rokove´ logiky) x ∈ A nebo (x ∈ B nebo x ∈ C), pra´veˇ kdyzˇ x ∈ A nebo x ∈ B ∪ C, pra´veˇ kdyzˇ x ∈ A ∪ (B ∪ C). (A ∩ B) ∩ C = A ∩ (B ∩ C): Podobneˇ jako prˇedchozı´. A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C): x ∈ A ∩ (B ∪ C), pra´veˇ kdyzˇ x ∈ A a x ∈ B ∪ C, pra´veˇ kdyzˇ x ∈ A a (x ∈ B nebo x ∈ C), cozˇ je podle pravidel vy´rokove´ logiky pra´veˇ kdyzˇ (x ∈ A a x ∈ B) nebo (x ∈ A a x ∈ C), pra´veˇ kdyzˇ x ∈ A ∩ B nebo x ∈ A ∩ C, pra´veˇ kdyzˇ x ∈ (A ∩ B) ∪ (A ∩ C). A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C): Podobneˇ jako prˇedchozı´. A ∪ (A ∩ B) = A: x ∈ A ∪ (A ∩ B), pra´veˇ kdyzˇ x ∈ A nebo (x ∈ A a x ∈ B)), cozˇ je podle pravidel vy´rokove´ logiky pra´veˇ kdyzˇ x ∈ A. A ∩ (A ∪ B) = A: Podobneˇ jako prˇedchozı´. Vidı´me tedy, zˇe rˇadu vlastnostı´ operacı´ s mnozˇinami dostaneme jednodusˇe z odpovı´dajı´cı´ch pravidel vy´rokove´ logiky. Podı´vejme se jesˇteˇ jednou na du˚kaz tvrzenı´ A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C). Z vy´rokove´ logiky vı´me, zˇe formule p c (q d r) je ekvivalentnı´ formuli (p c q) d (p c r), tj. tyto formule majı´ prˇi kazˇde´m ohodnocenı´ stejnou pravdivostnı´ hodnotu. Vezmeme-li ohodnocenı´, ktere´ vy´rokovy´m symbolu˚m p, q a r prˇirˇazujı´ po rˇadeˇ pravdivostnı´ hodnoty tvrzenı´ x ∈ A, x ∈ B, x ∈ C, pak prˇi tomto ohodnocenı´ ma´ formule p c (q d r) stejnou pravdivostnı´ hodnotu jako tvrzenı´ x ∈ A ∩ (B ∪ C) (podı´vejte se do vy´sˇe napsane´ho du˚kazu) a formule (p c q) d (p c r) ma´ stejnou pravdivostnı´ hodnotu jako tvrzenı´ x ∈ (A ∩ B) ∪ (A ∩ C). Proto je x ∈ A ∩ (B ∪ C), pra´veˇ kdyzˇ x ∈ (A ∩ B) ∪ (A ∩ C), tedy A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C). Pru˚vodce studiem Jednı´m z jednoduchy´ch ale uzˇitecˇny´ch prˇ´ınosu˚ teorie mnozˇin je, zˇe na´m da´va´ prostrˇedky jednodusˇe a jednoznacˇneˇ se vyjadrˇovat. Bez mnozˇinove´ho formalismu bychom vsˇe museli vyjadrˇovat opisem. K jednoduchosti: Zkuste naprˇ. opisem (tj. v prˇirozene´m jazyku, bez mnozˇinove´ho formalismu) popsat mnozˇinu (A∩(B ∪(A∩D)))∪(B ∪E). K jednoznacˇnosti: Rˇekneme-li „seskupenı´ sudy´ch a lichy´ch ˇ ekneme-li ale cˇ´ısel“, ma´me nejspı´sˇ na mysli sjednocenı´ mnozˇiny sudy´ch a mnozˇiny lichy´ch cˇ´ısel. R „soubor maly´ch a zeleny´ch muzˇ´ıcˇku˚“, ma´me asi na mysli soubor teˇch muzˇ´ıcˇku˚, kterˇ´ı jsou za´roveˇnˇ
27
malı´ a zelenı´ (pru˚nik mnozˇiny maly´ch muzˇ´ıcˇku˚ a mnozˇiny zeleny´ch muzˇ´ıcˇku˚), ale mu˚zˇeme mı´t namysli i soubor teˇch muzˇ´ıcˇku˚, kterˇ´ı jsou malı´ nebo zelenı´ (sjednocenı´ mnozˇiny maly´ch muzˇ´ıcˇku˚ a mnozˇiny zeleny´ch muzˇ´ıcˇku˚). Co prˇesneˇ ma´me na mysli, vyply´va´ z kontextu nebo to musı´me uprˇesnit. Mnozˇinovy´ formalismus je naproti tomu jednoznacˇny´.
Shrnutı´ Mnozˇiny, relace a funkce patrˇ´ı k za´kladnı´m pojmu˚m matematiky. Mnozˇina je matematicky´ pojem, ktery´ je proteˇjsˇkem beˇzˇneˇ pouzˇ´ıvane´ho pojmu soubor, seskupenı´ apod. Relace je proteˇjsˇkem pojmu vztah. Funkce je proteˇjsˇkem pojmu prˇirˇazenı´. Mnozˇina je da´na tı´m, jake´ prvky obsahuje. Specia´lnı´ mnozˇinou je pra´zdna´ mnozˇina, ta neobsahuje zˇa´dny´ prvek. S mnozˇinami mu˚zˇeme prova´deˇt ru˚zne´ operace. Mezi za´kladnı´ patrˇ´ı pru˚nik, sjednocenı´ a rozdı´l. Za´kladnı´ vztah mezi mnozˇinami je vztah inkluze (by´t podmnozˇinou). Mnozˇiny zapisujeme nejcˇasteˇji vy´cˇtem prvku˚ nebo uda´nı´m charakteristicke´ vlastnosti. Pojmy k zapamatova´nı´ • • • •
mnozˇina, inkluze, pru˚nik, sjednocenı´, rozdı´l, potencˇnı´ mnozˇina.
Kontrolnı´ ota´zky 1. Mu˚zˇe mnozˇina obsahovat dany´ prvek vı´ce nezˇ jedenkra´t? Procˇ? Jsou mnozˇiny {a, b} a {b, a} ru˚zne´? Procˇ? 2. Jake´ zna´te zpu˚soby za´pisu mnozˇin? Jsou mnozˇiny {x ∈ R | x2 < 0} a {x ∈ N | x4 < 0} stejne´? Je neˇktera´ z nich rovna ∅? 3. Platı´, zˇe kdyzˇ A ⊆ B, pak |A| = |B|? Co je to potencˇnı´ mnozˇina dane´ mnozˇiny? Existuje mnozˇina, jejı´zˇ potencˇnı´ mnozˇina je pra´zdna´? 4. Jake´ zna´te mnozˇinove´ operace? Jaka´ je nutna´ a postacˇujı´cı´ podmı´nka pro to, aby A ∩ X = A? Jaka´ pro A ∪ X = A? Cvicˇenı´ 1. Platı´ na´sledujı´cı´ tvrzenı´? a) ∅ ⊆ ∅ b) ∅ ∈ ∅ c) {a} ∈ {a, b, c} d) {a} ∈ {{a, b}, c} e) {a, b} ⊆ {a, {a, b}} f) {a, b} ⊆ {a, b, {a, b}} 2. 3. 4. 5.
g) A ∈ 2A Necht’A = {a, 1, {a, b}}, B = {2, a, {a}}, C = {∅, 2, 3, {a, b}}. Urcˇete A ∪ B, A ∩ C, C − A, 2B . Necht’A = {a, {b}}, B = {a, b, {a, b}}. Urcˇete B ∩ 2A . Urcˇete 2∅ , 2{∅} , 2{1} , 2{{∅}} , 2{∅,{∅}} . Definujme operaci ⊕ vztahem A ⊕ B = (A ∪ B) − (A ∩ B). Zjisteˇte, zda platı´ na´sledujı´cı´ vztahy (vztahy dokazˇte, nebo nalezneˇte protiprˇ´ıklady). a) A ⊕ A = A b) A ⊕ (B ∩ C) = (A ⊕ B) ∩ (A ⊕ C) c) A ∩ (B ⊕ C) = (A ∩ B) ⊕ (A ∩ C) 28
d) A ⊕ (A ⊕ A) = A e) A ⊆ B ⇒ A ⊕ C ⊆ B ⊕ C 6. Najdeˇte nutnou a postacˇujı´cı´ podmı´nku pro to, aby a) A ⊕ B = A ∪ B, b) A ⊕ B = A. 7. Najdeˇte prˇ´ıklady mnozˇin A, B, C tak, aby platilo a) A ∩ B = C ∩ B, ale A 6= C 6= ∅ b) A ∩ B ⊂ A ∩ C, ale B 6⊆ C c) A ∪ B = C ∪ B, ale A 6= C d) A ∪ B ⊂ A ∪ C, ale B 6⊆ C 8. Necht’ pro mnozˇiny A, B, C platı´ B ⊂ A ⊂ C. Urcˇete mnozˇinu X, pro kterou A − X = B a A ∪ X = C.
´ koly k textu U 1. Zdu˚vodneˇte (prˇesneˇ podle definice), procˇ je pra´zdna´ mnozˇina podmnozˇinou kazˇde´ mnozˇiny. 2. Mu˚zˇe mı´t potencˇnı´ mnozˇina mnozˇiny A me´neˇ prvku˚ nezˇ mnozˇina A? Mu˚zˇe jich mı´t stejneˇ? Mu˚zˇe jich mı´t vı´ce? 3. Jake´ vztahy platı´ mezi mnozˇinou A a 2A ?
ˇ esˇenı´ R 1. a) ano, b) ne, c) ne, d) ne, e) ne, f) ano, g) ano. 2. A ∪ B = {a, 1, 2, {a}, {a, b}}, A ∩ C = {{a, b}}, C − A = {∅, 2, 3}, 2B = {∅, {2}, {a}, {{a}}, {2, a}, {2, {a}}, {a, {a}}, {2, a, {a}}}. 3. B ∩ 2A = ∅ 4. 2∅ = {∅}, 2{∅} = {∅, {∅}}, 2{1} = {∅, {1}}, 2{{∅}} = {{{∅}}, ∅}, 2{∅,{∅}} = {∅, {∅}, {{∅}}, {∅, {∅}}}. 5. a) ne, b) ano, c) ano, d) ano, e) ne 6. a) A ∩ B = ∅, b) B = ∅. 7. a) A = {a, b, c}, B = {a, c, d}, C = {a}, b) A = {a}, B = {a, b}, C = {a, c}, c) A = {a}, B = {a, b, c}, C = {c}, d) A = {a, b}, B = {a, c}, C = {b, c, d}. 8. X = C − B (jine´ nejsou). Studijnı´ cı´le: Po prostudova´nı´ kapitol 2.3 a 2.5 by student meˇl rozumeˇt pojmu˚m relace a funkce. Meˇl by zna´t za´kladnı´ operace a vztahy definovane´ nad teˇmito pojmy. Student by meˇl tyto pojmy zna´t aktivneˇ, meˇl by umeˇt samostatneˇ doka´zat jednoducha´ tvrzenı´, hledat prˇ´ıklady a protiprˇ´ıklady. Klı´cˇova´ slova: karte´zsky´ soucˇin, relace, reprezentace relacı´, inverznı´ relace, skla´da´nı´ relacı´, funkce, injekce, surjekce, bijekce, princip indukce. Potrˇebny´ cˇas: 180 minut.
2.3 2.3.1
Relace Pojem relace
Pojem relace je matematicky´m proteˇjsˇkem beˇzˇneˇ pouzˇ´ıvane´ho pojmu vztah. Ru˚zne´ objekty jsou nebo nejsou v ru˚zny´ch vztazı´ch. Naprˇ. cˇ´ıslo 3 je ve vztahu „by´t mensˇ´ı“ s cˇ´ıslem 5, ne vsˇak s cˇ´ıslem 2. Karel Cˇapek byl ve vztahu „by´t bratrem“ s Josefem Cˇapkem. Trˇi body v rovineˇ mohou by´t ve vztahu „lezˇet na jedne´ prˇ´ımce“. Vsˇimneˇme si, cˇ´ım je vztah urcˇen. Za prve´ je to tzv. arita vztahu, tj. cˇ´ıslo uda´vajı´cı´ pocˇet objektu˚, ktere´ do vztahu vstupujı´. Naprˇ. do vztahu „by´t bratrem“ vstupujı´ dva objekty, ten vztah je bina´rnı´, do vztahu „lezˇet na jedne´ prˇ´ımce“ vstupujı´ trˇi objekty, ten vztah je terna´rnı´. Za druhe´ jsou to mnozˇiny, jejichzˇ prvky do vztahu vstupujı´. Naprˇ. do vztahu „by´t bratrem“ vstupujı´ dva objekty, prvnı´ je z mnozˇiny X1 lidı´, druhy´ je z mnozˇiny X2 lidı´. V tomto prˇ´ıpadeˇ jsou X1 a X2 stejne´, tj. X1 = X2 . To tak ale nemusı´ by´t. 29
Uvazˇujme naprˇ. vztah „mı´t“ mezi mnozˇinou X1 neˇjaky´ch objektu˚ a mnozˇinou X2 neˇjaky´ch atributu˚. V tomto prˇ´ıpadeˇ je obecneˇ X1 6= X2 , naprˇ. X1 = {pes, kocˇka, beˇhat, stu˚l, rychly´, zeleny´, cˇ´ıst} a X2 = {„je podstatne´ jme´no“, „je sloveso“}. Je-li da´na arita n a prˇ´ıslusˇne´ mnozˇiny X1 , . . . , Xn , vztah je potom urcˇen tı´m, ktere´ prvky x1 z X1 , . . . , xn z Xn v tom vztahu jsou a ktere´ ne. To na´s prˇiva´dı´ k pojmu relace. Za´kladnı´m pojmem je pojem usporˇa´dane´ n-tice prvku˚. Usporˇa´dana´ n-tice objektu˚ x1 , . . . , xn (v tomto porˇadı´) se oznacˇuje hx1 , . . . , xn i. Prvek xi (1 ≤ i ≤ n) se nazy´va´ i-ta´ slozˇka dane´ n-tice. Rovnost definujeme tak, zˇe hx1 , . . . , xn i = hy1 , . . . , ym i, pra´veˇ kdyzˇ n = m a x1 = y1 , . . . , xn = yn . Usporˇa´dana´ n-tice a usporˇa´dana´ m-tice jsou si tedy rovny, pra´veˇ kdyzˇ majı´ stejny´ pocˇet slozˇek a odpovı´dajı´cı´ si slozˇky jsou stejne´. Definice 2.10. Karte´zsky´ soucˇin mnozˇin X1 , . . . , Xn je mnozˇina X1 × · · · × Xn definovana´ prˇedpisem X1 × · · · × Xn = {hx1 , . . . , xn i | x1 ∈ X1 , . . . , xn ∈ Xn }. n
Je-li X1 = · · · = Xn = X, pak X1 × · · · × Xn znacˇ´ıme take´ X (n-ta´ karte´zska´ mocnina mnozˇiny X). Usporˇa´danou 1-tici hxi obvykle ztotozˇnˇujeme s prvkem x (tj. hxi = x). Potom tedy X 1 je vlastneˇ mnozˇina X. Prˇ´ıklad 2.11. • Pro A = {a, b, c}, B = {1, 2} je A × B {ha, 1i, ha, 2i, hb, 1i, hb, 2i, hc, 1i, hc, 2i}, B 2 = {h1, 1i, h1, 2i, h2, 1i, h2, 2i},
Karte´zsky´ soucˇin n mnozˇin je mnozˇina vsˇech usporˇa´dany´ch n-tic prvku˚ z teˇchto mnozˇin.
=
• pro A = {{a}, b}, B = {1} je A × B = {h{a}, 1i, hb, 1i}, • pro A = {1, 2}, B = {b} je A × B × A = {h1, b, 1i, h1, b, 2i, h2, b, 1i, h2, b, 2i}, • pro A = ∅, B = {1, 2, 3} je A × B = ∅ (neexistuje totizˇ usporˇa´dana´ dvojice hx, yi tak, aby x ∈ A a y ∈ B). Mu˚zˇeme prˇistoupit k definici pojmu relace. Definice 2.12. Necht’ X1 , . . . , Xn jsou mnozˇiny. Relace mezi X1 , . . . , Xn je libovolna´ podmnozˇina karte´zske´ho soucˇinu X1 × · · · × Xn . Pozna´mka 2.13. (1) Cˇ´ıslu n rˇ´ıka´me arita relace R, R se nazy´va´ n-a´rnı´. Je-li X1 = · · · = Xn = X, nazy´va´ se R take´ n-a´rnı´ relace v mnozˇineˇ X. Pro n = 1, 2, 3, 4 se mı´sto n-a´rnı´ pouzˇ´ıva´ take´ una´rnı´, bina´rnı´, terna´rnı´, kvaterna´rnı´. To, zˇe R je una´rnı´ relace v X, vlastneˇ znamena´, zˇe R ⊆ X. (2) O prvcı´ch x1 ∈ X1 , . . . , xn ∈ Xn rˇ´ıka´me, zˇe jsou (v tomto porˇadı´) v relaci R, pokud hx1 , . . . , xn i ∈ R. Relace je tedy mnozˇina sesta´vajı´cı´ z n-tic prvku˚ prˇ´ıslusˇny´ch mnozˇin. Obsahuje ty n-tice hx1 , . . . , xn i, ktere´ mezi sebou majı´ zamy´sˇleny´ vztah. Ty, ktere´ zamy´sˇleny´ vztah nemajı´, neobsahuje. Beˇzˇneˇ pouzˇ´ıvany´, avsˇak jen intuitivneˇ cha´pany´, pojem vztah je tedy pojmem relace matematizova´n. Pojem relace je prˇitom zalozˇen na pojmech mnozˇina a usporˇa´dana´ n-tice. Prˇ´ıklad 2.14. (1) Pro X = {a, b, c}, Y = {1, 2, 3, 4} jsou {ha, 2i, ha, 3i, hb, 1i, hc, 1i}, {ha, 2i}, ∅, X × Y bina´rnı´ relace mezi X a Y . {ha, b, 2, 4, ci, ha, a, 2, 2, ai} je relace mezi X, X, Y, Y, X. {ha, 1i, h2, ci} nenı´ bina´rnı´ relace mezi X a Y , protozˇe dvojice h2, ci nepatrˇ´ı do karte´zske´ho soucˇinu X ×Y. (2) Prˇedpokla´dejme, zˇe na rodinne´ oslaveˇ jsou Adam (A), Bedrˇich (B), Cyril (C), Dominik (D), Egon (E), Marta (M), Nad’a (N), Olga (O), Pavla (P) a Radka (R). Prˇitom Adam je synem Cyrila a Marty, Cyril je synem Egona a Olgy, Pavla je dcerou Dominka, Egon je synem Adama a Radky. Urcˇete bina´rnı´ relaci R, ktera´ odpovı´da´ vztahu „X je dı´teˇtem Y“, a terna´rnı´ relaci S, ktera´ odpovı´da´ vztahu „X je dı´teˇtem Y a Z“, kde Y je otec a Z je matka. Jde o relace na mnozˇineˇ {A, B, C, D, E, M, N, O, P, R}. R bude obsahovat vsˇechny usporˇa´dane´ dvojice hx, yi takove´, zˇe x je dı´teˇtem y. S bude obsahovat vsˇechny usporˇa´dane´ trojice hx, y, zi takove´, zˇe x je dı´teˇtem otce y a matky z. Tedy R = {hA, Ci, hA, Mi, hC, Ei, hC, Oi, hP, Di, hE, Ai, hE, Ri} a S = {hA, C, Mi, hC, E, Oi, hE, A, Ri}. 30
Relace mezi mnozˇinami X1 , . . . , Xn je podmnozˇina karte´zske´ho soucˇinu X1 × · · · × Xn .
prˇ´ıjmenı´ Adam Kos Mala´ Rychly´ .. .
jme´no Jirˇ´ı Jan Magda Karel .. .
narozenı´ 1976 1961 1955 1967 .. .
Zahradnı´k
Milan
1950
vzdeˇla´nı´ SSˇ VSˇ SSˇ VSˇ .. . ZSˇ
funkce prodejce projektant sekreta´rˇka rˇeditel .. . technik
Tabulka 6: Databa´ze z Prˇ´ıkladu 2.15. Platı´-li navı´c, zˇe Cyril je manzˇelem Marty, Egon je manzˇelem Olgy a Adam je manzˇelem Radky, mu˚zˇeme uvazˇovat bina´rnı´ relaci T mezi mnozˇinou X = {A, B, C, D, E} muzˇu˚ a mnozˇinou Y = {M, N, O, P, R} zˇen, tj. T ⊆ X × Y , ktera´ odpovı´da´ vztahu „by´t manzˇelem“. Pak bude T = {hC, Mi, hE, Oi, hA, Ri}. (3) Zapisˇte jako bina´rnı´ relaci vztah deˇlitelnosti (tj. „x deˇlı´ y“ znamena´, zˇe existuje cele´ cˇ´ıslo k tak, zˇe x · k = y) na mnozˇineˇ X = {2, . . . , 10}. Oznacˇme prˇ´ıslusˇnou relaci D. Je tedy D ⊆ X × X, konkre´tneˇ D
= {h2, 2i, h2, 4i, h2, 6i, h2, 8i, h2, 10i, h3, 3ih3, 6i, h3, 9i, h4, 4i, h4, 8i, h5, 5i, h5, 10i, h6, 6i, h7, 7i, h8, 8i, h9, 9i, h10, 10i}. Pru˚vodce studiem Zastavme se u pojmu relace. Podle Definice 2.12 je relace podmnozˇina karte´zske´ho soucˇinu. Da´va´ to smysl? Relace ma´ by´t matematicky´m proteˇjsˇkem pojmu vztah, ktery´ je prˇece kazˇde´mu jasny´. Naproti tomu „podmnozˇina karte´zske´ho soucˇinu“ znı´ neprˇ´ıstupneˇ a zbytecˇneˇ komplikovaneˇ. Pokud souhlası´te s prˇedchozı´mi dveˇma veˇtami, bude nejlepsˇ´ı, kdyzˇ si zkusı´te sami navrhnout definici pojmu relace. Uvidı´te, jestli prˇijdete na neˇco lepsˇ´ıho nezˇ je Definice 2.12. Prˇitom ale dodrzˇte „pravidla hry“: Vasˇe definice musı´ by´t jednoznacˇna´ (tj. musı´ by´t zalozˇena na jednoznacˇneˇ definovany´ch pojmech) a musı´ by´t tak obecna´, aby odpovı´dala pojmu vztah (tj. nemu˚zˇete se naprˇ. omezit jen na bina´rnı´ relace). Naprˇ. definice „Relace je da´na tı´m, ktere´ prvky jsou v relaci se ktery´mi.“ neobstojı´. Je znacˇneˇ neurcˇita´ a navı´c je to definice kruhem (v definici pojmu relace se odkazujeme na pojem relace). Zkuste si prˇedstavit, zˇe podle te´to definice ma´te rozhodnout, zde neˇco je nebo nenı´ relace, zˇe je trˇeba, aby definice relace byla jednoznacˇna´ a jednoducha´ vynikne nejle´pe, kdyzˇ si uveˇdomı´me, zˇe relace mu˚zˇeme chtı´t zpracova´vat pocˇ´ıtacˇem (a pocˇ´ıtacˇovy´ch aplikacı´ zalozˇeny´ch na relacı´ch je cela´ rˇada). Prˇedkla´da´me-li nejednoznacˇnou definici cˇloveˇku, mu˚zˇe na´m to projı´t, ten cˇloveˇk si definici trˇeba domyslı´. U pocˇ´ıtacˇe na´m to neprojde, pocˇ´ıtacˇ si nic nedomyslı´. Kromeˇ toho, jednoznacˇnost a jednoduchost definice patrˇ´ı ke kulturˇe vyjadrˇova´nı´ nejen v matematice. Nejste-li tedy spokojeni s Definicı´ 2.12, zkuste ted’ sami navrhnout lepsˇ´ı a pak pokracˇujte ve cˇtenı´. Porovnejte nynı´ va´sˇ na´vrh s Definicı´ 2.12 (nejle´pe s kolegy nebo ucˇitelem). Pokud jste lepsˇ´ı definici nevymysleli, vrat’te se k Definici 2.12 a znovu ji posud’te.
Prˇ´ıklad 2.15. Pojem relace ma´ u´strˇednı´ roli v tzv. relacˇnı´m databa´zove´m modelu, ktery´ navrhl E. F. Codd.3 Tzv. relacˇnı´ pohled na databa´ze spocˇ´ıva´ v tom, zˇe databa´zi cha´peme jako relaci. Naprˇ. databa´zi zna´zorneˇnou Tab. 6, ktera´ obsahuje v rˇa´dcı´ch informace o zameˇstnancı´ch, mu˚zˇeme cha´pat jako 5-a´rnı´ relaci R mezi mnozˇinami (teˇm se v databa´zı´ch rˇ´ıka´ dome´ny) D1 = {Adam, Kos, Mala´, Rychly´, . . . }, D2 = {Jirˇ´ı, Jan, Magda, Karel, . . . }, D3 = {n ∈ N | 1900 ≤ n ≤ 2004}, D4 = {ZSˇ, SOU, SSˇ, VSˇ}, D5 = {prodejce, projektant, sekreta´rˇka, rˇeditel, . . . }, tedy R ⊆ D1 × D2 × D3 × D4 × D5 . Relace je da´na za´znamy (rˇa´dky) v databa´zi, takzˇe naprˇ. hAdam, Jirˇ´ı, 1976, SSˇ, prodejcei ∈ R, hKos, Jan, 1961, VSˇ, projektanti ∈ R. V relacˇnı´ch databa´zı´ch jsou zavedeny i jine´ operace nezˇ ty, ktere´ zavedeme my. Tyto operace slouzˇ´ı k manipulaci a zprˇ´ıstupnˇova´nı´ dat v databa´zi a cˇtena´rˇ se s nimi mu˚zˇe sezna´mit te´meˇrˇ v kazˇde´ ucˇebnici databa´zovy´ch syste´mu˚. 3 Pe ˇ kneˇ je o tom napsa´no v knize C. J. Date: The Database Relational Model: A Retrospective Analysis. Addison Wesley, Reading, MA, 2001.
31
R a b c
1 ×
2 × ×
3
4 × ×
×
Tabulka 7: Tabulka popisujı´cı´ bina´rnı´ relaci R mezi X = {a, b, c} a Y = {1, 2, 3, 4}. 2.3.2
Vztahy a operace s relacemi
Relace jsou mnozˇiny (relace je podmnozˇina karte´zske´ho soucˇinu). Proto s nimi lze prova´deˇt mnozˇinove´ operace (∩, ∪, −) a lze na neˇ aplikovat vztah inkluze (⊆). Prˇ´ıklad 2.16. (1) Meˇjme X = {a, b, c}, Y = {1, 2, 3, 4} a uvazˇujme bina´rnı´ relace R = {ha, 1i, ha, 4i, hc, 2i, hc, 3i, hc, 4i}, S = {ha, 2i, ha, 3i, ha, 4i, hb, 1i, hb, 3i}, T = {ha, 4i, hc, 4i} mezi X a Y . Pak je naprˇ. R∩S R∪S
Relace jsou specia´lnı´ mnozˇiny, a proto s nimi mu˚zˇeme prova´deˇt vsˇechny mnozˇinove´ operace.
= {ha, 4i}, = {ha, 1i, ha, 2i, ha, 3i, ha, 4i, hb, 1i, hb, 3i, hc, 2i, hc, 3i, hc, 4i}.
Da´le je T ⊆ R, R 6⊆ S apod. (2) Necht’≤ je relace usporˇa´da´nı´ a | relace deˇlitelnosti na mnozˇineˇ N prˇirozeny´ch cˇ´ısel. Tedy hk, li ∈≤, pra´veˇ kdyzˇ k je mensˇ´ı nebo rovno l, a hk, li ∈ |, pra´veˇ kdyzˇ l je deˇlitelne´ cˇ´ıslem k (v tomto prˇ´ıpadeˇ, jako i u jiny´ch prˇ´ıpadu˚ bina´rnı´ch relacı´, beˇzˇneˇ pouzˇ´ıva´me tzv. infixovou notaci, tj. pı´sˇeme k ≤ l a k|l). Pak | ⊆≤, tj. relace | je podmnozˇinou relace ≤. To vlastneˇ znamena´, zˇe pro vsˇechna prˇirozena´ cˇ´ısla k, l ∈ N platı´, zˇe kdyzˇ k|l, pak k ≤ l. (3) Jsou-li R1 a R2 relace popisujı´cı´ neˇjake´ databa´ze (viz Prˇ´ıklad 2.15), pak R1 ∪ R2 je relace popisujı´cı´ databa´zi, ktera´ vznikne sloucˇenı´m vy´chozı´ch databa´zı´, tj. zrˇeteˇzenı´m databa´zovy´ch tabulek (prˇesneˇ vzato, sloucˇenı´m a vymaza´nı´m duplicitnı´ch vy´skytu˚ databa´zovy´ch rˇa´dku˚). R1 ∩ R2 je relace, ktera´ popisuje spolecˇne´ polozˇky obou databa´zı´. 2.3.3
Operace s bina´rnı´mi relacemi
S relacemi vsˇak lze dı´ky jejich specia´lnı´ strukturˇe prova´deˇt i dalsˇ´ı operace. Zameˇrˇ´ıme se na bina´rnı´ relace. Ty lze zna´zornˇovat tabulkami. Naprˇ. relace R = {ha, 1i, ha, 2i, ha, 4i, hb, 2i, hb, 4i, hc, 1i} mezi mnozˇinami X = {a, b, c} a Y = {1, 2, 3, 4} je zna´zorneˇna v Tab. 7. Tedy, je-li hx, yi ∈ R, je v pru˚secˇ´ıku rˇa´dku x a sloupce y symbol ×, jinak tam nenı´ nic. Zacˇneme tzv. inverznı´ relacı´. Inverznı´ relacı´ k relaci R ⊆ X × Y je relace R−1 mezi Y a X definovana´ prˇedpisem R−1 = {hy, xi | hx, yi ∈ R}. Prˇ´ıklad 2.17. Necht’ relace R mezi X = {a, b, c} a Y = {1, 2, 3} je R = {ha, 1i, ha, 2i, hb, 2i}. Pak inverznı´ relace k R je relace R−1 mezi Y a X dana´ R−1 = {h1, ai, h2, ai, h2, bi}. Dalsˇ´ı operacı´ je tzv. skla´da´nı´. Je-li R relacı´ mezi mnozˇinami X a Y a S relacı´ mezi mnozˇinami Y a Z, pak slozˇenı´m relacı´ R a S je relace R ◦ S mezi X a Z definovana´ prˇedpisem R ◦ S = {hx, zi | existuje y ∈ Y : hx, yi ∈ R a hy, zi ∈ S}. Tedy hx, zi patrˇ´ı do relace R ◦ S, pra´veˇ kdyzˇ existuje prvek y ∈ Y tak, zˇe hx, yi jsou v relaci R a hy, zi jsou v relaci S. Uvazˇujme na´sledujı´cı´ prˇ´ıklad. Necht’X je mnozˇina pacientu˚, Y mnozˇina prˇ´ıznaku˚ nemocı´ a Z mnozˇina nemocı´. Necht’ R ⊆ X × Y je relace „mı´t prˇ´ıznak“, tj. hx, yi ∈ R znamena´, zˇe pacient x ma´ prˇ´ıznak y, a S ⊆ Y × Z je relace „by´t prˇ´ıznakem“, tj. hy, zi ∈ S znamena´, zˇe y je prˇ´ıznakem nemoci z (naprˇ. zvy´sˇena´ teplota je prˇ´ıznakem chrˇipky). Pak pro pacienta x ∈ X a nemoc z ∈ Z znamena´ hx, zi ∈ R ◦ S, zˇe existuje prˇ´ıznak y ∈ Y tak, zˇe pacient x ma´ tento prˇ´ıznak a za´rovenˇ je tento prˇ´ıznak prˇ´ıznakem nemoci z. Tedy hx, zi ∈ R ◦ S mu˚zˇeme interpretovat jako „pacient x mu˚zˇe mı´t nemoc z“. Prˇ´ıklad 2.18. Necht’X = {1, 2, 3, 4, 5, 6, 7} (X reprezentuje pacienty 1–7), Y = {b, h, k, o, r, s, v, z} (b . . . bolest hlavy, h . . . horecˇka, k . . . bolest koncˇetin, o . . . otekle´ zˇla´zy na krku, r . . . ry´ma, s . . . strnuly´ 32
S bina´rnı´mi relacemi lze navı´c prova´deˇt operace inverze a skla´da´nı´.
R 1 2 3 4 5 6 7
b
×
× ×
h × × × × × ×
k
×
×
o
×
r ×
s
×
×
× ×
v
× × ×
×
S b h k o r s v z
z
×
×
C × × ×
M × ×
N
S
Za
× ×
×
× × ×
×
×
×
Tabulka 8: K Prˇ´ıkladu 2.18: Tabulky popisujı´cı´ bina´rnı´ relaci R mezi pacienty a prˇ´ıznaky nemocı´ (vlevo) a relaci S prˇ´ıznaky nemocı´ a nemocemi (vpravo). R◦S 1 2 3 4 5 6 7
C × × ×
M × × ×
× × ×
× × ×
N
× × ×
S × × × × × × ×
Za
× × ×
Tabulka 9: Tabulka popisujı´cı´ bina´rnı´ relaci R ◦ S mezi pacienty a nemocemi (viz Prˇ´ıklad 2.18). krk, v . . . vyra´zˇka, z . . . zvracenı´), Z = {C, M, N, S, Za} (C . . . chrˇipka, M . . . meningitida, N . . . plane´ nesˇtovice, S . . . spalnicˇky, Za . . . zardeˇnky). Vztah „mı´t prˇ´ıznak“ mezi pacienty a prˇ´ıznaky je popsa´n relacı´ R ⊆ X × Y zna´zorneˇnou v Tab. 8 vlevo, vztah „by´t prˇ´ıznakem nemoci“ mezi prˇ´ıznaky a nemocemi je popsa´n relacı´ S ⊆ Y × Z zna´zorneˇnou v Tab. 8 vpravo. Slozˇenı´ relacı´ R a S je relace R ◦ S ⊆ X × Z zna´zorneˇna´ v Tab. 9. Protozˇe hx, zi ∈ R ◦ S mu˚zˇeme cha´pat tak, zˇe pacient x mu˚zˇe mı´t nemoc z, mu˚zˇeme se na prˇ´ıklad dı´vat na´sledovneˇ. Ze vstupnı´ch informacı´ R (da´no le´karˇsky´m vysˇetrˇenı´m) a S (da´no znalostı´ le´karˇe) jsme odvodili nove´ informace reprezentovane´ relacı´ R ◦ S. Ty rˇ´ıkajı´, zˇe naprˇ. pacient 1 mu˚zˇe mı´t chrˇipku, meningitidu nebo spalnicˇky, zˇe pacient 3 mu˚zˇe mı´t libovolnou z uvazˇovany´ch nemocı´ (ma´ vsˇechny sledovane´ prˇ´ıznaky), pacient 5 mu˚zˇe mı´t libovolnou z uvazˇovany´ch nemocı´ (prˇestozˇe nema´ vsˇechny sledovane´ prˇ´ıznaky) atd. Veˇta 2.19. Pro relace R ⊆ X × Y , S ⊆ Y × Z, T ⊆ Z × U platı´. R ◦ (S ◦ T ) = (R ◦ S) ◦ T (R ◦ S)−1 = S −1 ◦ R−1 (R−1 )−1 = R
Du˚kaz. R ◦ (S ◦ T ) = (R ◦ S) ◦ T : Ma´me hx, ui ∈ R ◦ (S ◦ T ), pra´veˇ kdyzˇ existuje y ∈ Y tak, zˇe hx, yi ∈ R a hy, ui ∈ S ◦ T , pra´veˇ kdyzˇ existuje y ∈ Y tak, zˇe hx, yi ∈ R a existuje z ∈ Z tak, zˇe hy, zi ∈ S a hz, ui ∈ T , pra´veˇ kdyzˇ existujı´ y ∈ Y a z ∈ Z tak, zˇe hx, yi ∈ R, hy, zi ∈ S, hz, ui ∈ T , pra´veˇ kdyzˇ existuje z ∈ Z tak, zˇe hx, zi ∈ R ◦ S a hz, ui ∈ T , pra´veˇ kdyzˇ hx, ui ∈ (R ◦ S) ◦ T . (R ◦ S)−1 = S −1 ◦ R−1 : hz, xi ∈ (R ◦ S)−1 , pra´veˇ kdyzˇ hx, zi ∈ (R ◦ S), pra´veˇ kdyzˇ existuje y ∈ Y tak, zˇe hx, yi ∈ R a hy, zi ∈ S, pra´veˇ kdyzˇ existuje y ∈ Y tak, zˇe hz, yi ∈ S −1 a hy, xi ∈ R−1 , pra´veˇ kdyzˇ hz, xi ∈ S −1 ◦ R−1 . (R−1 )−1 = R: hx, yi ∈ (R−1 )−1 , pra´veˇ kdyzˇ hy, xi ∈ R−1 , pra´veˇ kdyzˇ hx, yi ∈ R. Existujı´ vsˇak i dalsˇ´ı prˇirozene´ zpu˚soby, jak skla´dat relace. Prˇedpokla´dejme opeˇt, zˇe R ⊆ X × Y , S ⊆ Y × Z. Pak R C S, R B S a R S jsou relace mezi X a Z definovane´ prˇedpisy RCS RBS RS
= {hx, zi | pro kazˇde´ y ∈ Y : pokud hx, yi ∈ R, pak hy, zi ∈ S}, = {hx, zi | pro kazˇde´ y ∈ Y : pokud hy, zi ∈ S, pak hx, yi ∈ R}, = {hx, zi | pro kazˇde´ y ∈ Y : hx, yi ∈ R, pra´veˇ kdyzˇ hy, zi ∈ S}.
Vrat’me se k prˇ´ıkladu s pacienty, prˇ´ıznaky a nemocemi. hx, zi ∈ R C S znamena´, zˇe vsˇechny prˇ´ıznaky, ktere´ ma´ pacient x, jsou prˇ´ıznaky nemoci z. hx, zi ∈ R B S znamena´, zˇe pacient x ma´ vsˇechny prˇ´ıznaky 33
Zpu˚sobu˚, jak skla´dat relace, existuje vı´ce.
RCS 1 2 3 4 5 6 7
C × ×
M
N
S × ×
Za
×
× ×
×
×
RBS 1 2 3 4 5 6 7
× × RS 1 2 3 4 5 6 7
C
M
N
S
C
M
N
S
Za
×
×
× × ×
×
×
×
× × Za
× × × ×
Tabulka 10: Tabulka popisujı´cı´ bina´rnı´ relace R C S, R B S a R S mezi pacienty a nemocemi (viz Prˇ´ıklad 2.20). nemoci y. hx, zi ∈ R S znamena´, zˇe pacient x ma´ pra´veˇ prˇ´ıznaky nemoci y. Uveˇdomme si, zˇe relace R mu˚zˇe vzniknout na za´kladeˇ le´karˇske´ho vysˇetrˇenı´ (le´karˇ zjisˇt’uje, jake´ prˇ´ıznaky pacienti majı´) a zˇe relace S je „ucˇebnicova´ znalost“ (le´karˇske´ knihy popisujı´ prˇ´ıznaky jednotlivy´ch nemocı´). Obeˇ R i S tedy mohou by´t dostupne´ naprˇ. v databa´zi. Vsˇechna slozˇenı´ R ◦ S, R C S, R B S i R S je pak mozˇne´ z R a S jednodusˇe spocˇ´ıtat. Tyto relace poskytujı´ netrivia´lnı´ informace o tom, kterˇ´ı pacienti mohou mı´t ktere´ nemoci. Prˇitom pro dane´ho pacienta x a danou nemoc y ma´ kazˇdy´ z faktu˚ hx, zi ∈ R ◦ S, hx, zi ∈ R C S, hx, zi ∈ R B S i hx, zi ∈ R S prˇesneˇ stanoveny´ vy´znam. Prˇitom nejslabsˇ´ı indikacı´ toho, zˇe pacient x ma´ nemoc z je fakt hx, zi ∈ R ◦ S (x ma´ asponˇ jeden prˇ´ıznak nemoci z), nejsilneˇjsˇ´ı naopak fakt hx, zi ∈ R S (x ma´ pra´veˇ vsˇechny prˇ´ıznaky nemoci z). Jak je videˇt prˇ´ımo z definice (rozmyslete si), relace C i B jsou podmnozˇinami relace (tj. C ⊆ a B ⊆ ), ta je jejich pru˚nikem (tj. = C ∩ B). Prˇ´ıklad 2.20. Vrat’me se k Prˇ´ıkladu 2.18. Relace R C S, R B S a R S jsou zna´zorneˇny v Tab. 10. 2.3.4
Bina´rnı´ relace a jejich reprezentace
Pru˚vodce studiem Chceme-li matematicke´ pojmy zpracova´vat v pocˇ´ıtacˇi, je trˇeba je vhodny´m zpu˚sobem v pocˇ´ıtacˇi reprezentovat. Musı´me tedy navrhnout, jak by meˇl by´t matematicky´ pojem (mnozˇina, relace apod.) v pocˇ´ıtacˇi (tj. v pameˇti pocˇ´ıtacˇe) ulozˇen. Nejde ale jen o samotne´ ulozˇenı´ v pameˇti, ny´brzˇ take´ o to, aby vy´pocˇty, ktere´ budou s dany´mi pojmy prova´deˇny, byly rychle´.
V te´to kapitole si uka´zˇeme za´kladnı´ zpu˚soby reprezentace bina´rnı´ch relacı´. Prˇedpokla´dejme, zˇe je da´na bina´rnı´ relace R mezi konecˇny´mi mnozˇinami X a Y . Reprezentace maticı´ (tabulkou) Prˇipomenˇme, zˇe matice typu m × n je obde´lnı´kove´ sche´ma o m rˇa´dcı´ch a n sloupcı´ch, ve ktere´m se na kazˇde´m mı´steˇ odpovı´dajı´cı´m neˇjake´mu rˇa´dku a neˇjake´mu sloupci nacha´zı´ neˇjaka´ (zpravidla cˇ´ıselna´) hodnota. Oznacˇme takovou matici M. Pro kazˇde´ i ∈ {1, . . . , m} a j ∈ {1, . . . , n} oznacˇme mij prvek matice z pru˚secˇ´ıku rˇa´dku i a sloupce j. Pru˚vodce studiem Matice typu m × n je to same´ co tabulka o m rˇa´dcı´ch a n sloupcı´ch. Rozdı´l je jen v tom, zˇe
34
Matematicke´ pojmy je trˇeba umeˇt vhodneˇ reprezentovat. Zvla´sˇt’ du˚lezˇita´ je reprezentace v pameˇti pocˇ´ıtacˇe.
R a b c
1 ×
2 × ×
3
4 × ×
1 MR = 0 1
×
1 1 0
0 0 0
1 1 . 0
Tabulka 11: Tabulka (vlevo) a matice (vpravo) popisujı´cı´ bina´rnı´ relaci R mezi X = {a, b, c} a Y = {1, 2, 3, 4}.
matice majı´ specificky´ zpu˚sob za´pisu a zˇe s maticemi jsou definova´ny ru˚zne´ standardnı´ operace. Pojem matice pouzˇ´ıvajı´ matematici a inzˇeny´rˇi, zvla´sˇt’ kdyzˇ se s u´daji zaneseny´mi v matici budou prova´deˇt dalsˇ´ı operace. Pojem tabulka pouzˇ´ıva´ kazˇdy´, kdo chce prˇehledny´m zpu˚sobem zapsat u´daje o neˇjaky´ch polozˇka´ch (viz tabulkove´ procesory, nabı´dkove´ katalogy apod.).
Tabulky a matice prˇedstavujı´ za´kladnı´ zpu˚sob reprezentace bina´rnı´ch relacı´. Necht’ R je relace mezi mnozˇinami X = {x1 , . . . , xm } a Y = {y1 , . . . , yn }. Relaci R reprezentujeme tabulkou/maticı´, ve ktere´ se na mı´steˇ odpovı´dajı´cı´m rˇa´dku i a sloupci j nacha´zı´ hodnota, ktera´ urcˇuje, zda dvojice hxi , yj i je v relaci R. Obvykle se pouzˇ´ıva´ 1 (poprˇ. ×) k oznacˇenı´ hxi , yj i ∈ R a 0 (poprˇ. pra´zdne´ mı´sto) k oznacˇenı´ hxi , yj i 6∈ R. Matice MR reprezentujı´cı´ relaci R ⊆ {x1 , . . . , xm } × {y1 , . . . , yn } je definova´na prˇedpisem 1 je-li hxi , yj i ∈ R, mij = (2.1) 0 je-li hxi , yj i ∈ / R.
Relaci lze reprezentovat maticı´ (tabulkou).
MR se nazy´va´ matice relace R. Naopak take´, kazˇda´ bina´rnı´ matice M typu m×n, tj. matice s hodnotami 0 a 1, reprezentuje relaci mezi X = {x1 , . . . , xm } a Y = {y1 , . . . , yn }. Prˇ´ıklad 2.21. V Tab. 11 vidı´me tabulkovou a maticovou reprezentaci relace R = {ha, 1i, ha, 2i, ha, 4i, hb, 2i, hb, 4i, hc, 1i} mezi X = {a, b, c} a Y = {1, 2, 3, 4}. Vy´hodou te´to reprezentace je prˇehlednost a to, zˇe zjistit, zda hxi , yj i ∈ R, lze rychle. Nevy´hodou je pameˇt’ova´ na´rocˇnost. Naprˇ. pro reprezentaci relace na mnozˇineˇ X s 1000 prvky je odpovı´dajı´cı´ matice rozmeˇru 1000 × 1000 a ma´ tedy 1000000 polı´cˇek. V prˇ´ıpadeˇ, zˇe kazˇdy´ prvek z X je v relaci s (pru˚meˇrneˇ) 3 prvky z Y , obsahuje matice 3 tisı´ce jednicˇek a zbytek (997 tisı´c) jsou nuly. Prˇitom uchova´vat nuly je zbytecˇne´, stacˇilo by uchovat informaci o tom, kde majı´ by´t jednicˇky. Pro takove´ prˇ´ıpady se pouzˇ´ıvajı´ jine´ reprezentace.
Maticova´ reprezentace je na´zorna´. Jejı´ nevy´hodou je velka´ pameˇt’ova´ na´rocˇnost.
Pro bina´rnı´ matice mu˚zˇeme zave´st operace, ktere´ odpovı´dajı´ operacı´m s relacemi. Meˇjme bina´rnı´ matice M, N typu m × n a matici K typu n × k. Definujme na´sledujı´cı´ operace. M ∨ N = P,
pij = max{mij , nij }
M ∧ N = P,
pij = min{mij , nij }
M − N = P,
pij = max{0, mij − nij }
M · K = P, MT ,
pij = max{mil · klj ; l = 1, . . . , n}
mTij = mji .
Naprˇ´ıklad operace ∧ prˇirˇazuje maticı´m M a N matici P, jejı´zˇ kazˇdy´ prvek pij je roven minimu z hodnot mij a nij . Veˇta 2.22. Pro relace R, S ⊆ X × Y , U ⊆ Y × Z je MR∪S = MR ∨ MS MR∩S = MR ∧ MS MR−S = MR − MS MR◦U = MR · MU MR−1 = (MR )T
35
Operace s relacemi lze prova´deˇt pomocı´ vhodny´ch operacı´ s maticemi.
a
d
b
c
Obra´zek 2: Graf relace k Prˇ´ıkladu 2.24. Du˚kaz. Du˚kaz je jednoduchy´. Stacˇ´ı porovnat definice operacı´ s maticemi a definice operacı´ s relacemi. Prˇ´ıklad 2.23. Na mnozˇineˇ X = {a1 , a2 , a3 , a4 } uvazˇujme relace R = idX ∪ {ha1 , a2 i, ha1 , a3 i, ha3 , a2 i} a S = {ha1 , a1 i, ha2 , a4 i, ha3 , a4 i, ha4 , a1 i}. Prˇitom idX = {ha1 , a1 i, . . . , ha4 , a4 i}. Matice teˇchto relacı´ jsou 1 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0 a MS = MR = 0 0 0 1 . 0 1 1 0 1 0 0 0 0 0 0 1 Matice relace R ∪ S je
1 1 1 0
1 0 1 0
0 1 . 1 1
0 0 0 0
0 0 0 0
0 0 . 0 0
0 0 0 0
0 0 0 0
1 1 . 1 0
1 0 MR ∨ MS = 0 1 Matice relace R ∩ S je 1 0 MR ∧ MS = 0 0 Matice relace R ◦ S je 1 0 MR · MS = 0 1 Matice relace R−1 je
1 1 T (MR ) = 1 0
0 1 0 0
0 1 1 0
0 0 . 0 1
Reprezentace grafem Grafy prˇedstavujı´ dalsˇ´ı zpu˚sob reprezentace bina´rnı´ch relacı´, ktery´ je na´zorny´. Graf bina´rnı´ relace R na mnozˇineˇ X dostaneme tak, zˇe kazˇdy´ prvek x ∈ X zna´zornı´me v rovineˇ jako krouzˇek s oznacˇenı´m dane´ho prvku. Pokud hx, yi ∈ R, nakreslı´me z krouzˇku odpovı´dajı´cı´ho x do krouzˇku odpovı´dajı´cı´ho y sˇipku. Prˇ´ıklad 2.24. Na Obr. 2 vidı´me graf reprezentujı´cı´ bina´rnı´ relaci R = {ha, bi, ha, di, hc, ai, hb, di} na mnozˇineˇ X = {a, b, c, d}. Upozorneˇme uzˇ ted’, zˇe graf je jednı´m ze za´kladnı´ch pojmu˚ diskre´tnı´ matematiky. Reprezentace seznamem seznamu˚ Tento zpu˚sob reprezentace je vhodny´ pro ulozˇenı´ bina´rnı´ relace R na mnozˇineˇ X v pameˇti pocˇ´ıtacˇe. Na Obr. 3 je zna´zorneˇna reprezentace relace R z Prˇ´ıkladu 2.24 seznamem seznamu˚. Reprezentaci tvorˇ´ı
36
Relace na mnozˇineˇ lze graficky zna´zornit pomocı´ tzv. grafu˚.
a • •
b •
b • •
d
c • •
a
d
d
Obra´zek 3: Relace R z Prˇ´ıkladu 2.24 reprezentovana´ seznamem seznamu˚. hlavnı´ (spojovy´) seznam4 , ve ktere´m jsou ulozˇeny vsˇechny prvky mnozˇiny X. Na Obr. 3 je hlavnı´ seznam zna´zorneˇn shora dolu˚ spojeny´mi cˇtverecˇky, ktere´ obsahujı´ a, . . . , d. Z kazˇde´ho prvku x ∈ X hlavnı´ho seznamu vede seznam obsahujı´cı´ pra´veˇ ty y ∈ X, pro ktere´ hx, yi ∈ R. Na Obr. 3 jsou tyto seznamy zna´zorneˇny vodorovneˇ. Naprˇ. z prvku a hlavnı´ho seznamu vede seznam obsahujı´cı´ b a d. To proto, zˇe ha, bi ∈ R a ha, di ∈ R. Z prvku d nevede zˇa´dny´ seznam (tj. z d vede pra´zdny´ seznam), protozˇe neexistuje y ∈ X tak, zˇe hd, yi ∈ R. Vrat’me se k relaci na mnozˇineˇ X s 1000 prvky, kde kazˇdy´ prvek je v relaci s pru˚meˇrneˇ 3 prvky. Prˇi reprezentaci seznamem seznamu˚ budeme potrˇebovat 1000 polı´cˇek pro prvky hlavnı´ho seznamu a pro kazˇdy´ z teˇchto prvku˚ 3 dalsˇ´ı polı´cˇka pro prvky seznamu, ktery´ z tohoto prvku vede. To je celkem 4000 polı´cˇek. Zapocˇ´ıta´me-li, zˇe v kazˇde´m polı´cˇku je trˇeba mı´t nejen oznacˇenı´ prvku, ale i ukazatel na dalsˇ´ı polı´cˇko, je trˇeba zhruba 2 × 4000 pameˇt’ovy´ch buneˇk. Prˇipomenˇme, zˇe maticova´ reprezentace takove´ relace vyzˇaduje 1000000 pameˇt’ovy´ch buneˇk5 .
2.4
Bina´rnı´ relace na mnozˇineˇ
Podrobne´ informace ke kapitole 2.4 lze najı´t v kapitole 5 textu Beˇlohla´vek R., Vychodil V.: Diskre´tnı´ matematika pro informatiky II, ktery´ je dostupny´ na http://phoenix.inf.upol.cz/esf/ucebni/DM2.pdf. 2.4.1
Vlastnosti bina´rnı´ch relacı´ na mnozˇineˇ
reflexivita, symetrie, antisymetrie, tranzitivita 2.4.2
Ekvivalence
ekvivalence a rozklady 2.4.3
Usporˇa´da´nı´
(cˇa´stecˇne´) usporˇa´da´nı´, za´kladnı´ pojmy, Hasseovy diagramy
2.5
Funkce (zobrazenı´)
2.5.1
Pojem funkce
Funkce je matematicky´m proteˇjsˇkem beˇzˇneˇ pouzˇ´ıvane´ho pojmu prˇirˇazenı´. Objektu˚m jsou cˇasto jednoznacˇny´m zpu˚sobem prˇirˇazova´ny dalsˇ´ı objekty. Naprˇ. funkce sinus prˇirˇazuje kazˇde´mu rea´lne´mu cˇ´ıslu x hodnotu sin(x), zameˇstnancu˚m jsou v ra´mci spolecˇnosti, kde pracujı´, prˇirˇazova´na identifikacˇnı´ cˇ´ısla 4 Spojovy ´ 5 Cela ´
seznam je jednou ze za´kladnı´ch datovy´ch struktur. Blı´zˇe viz jakoukoli ucˇebnici algoritmu˚ a datovy´ch struktur. tato u´vaha je zjednodusˇena´, ale ilustruje podstatu veˇci.
37
Reprezentace seznamem seznamu˚ je pameˇt’oveˇ u´sporna´ a je vhodna´ pro pocˇ´ıtacˇove´ zpracova´nı´.
apod. Takove´ prˇirˇazenı´ je mozˇne´ cha´pat jako mnozˇinu dvojic hx, yi, kde y je objekt prˇirˇazeny´ objektu x. Prˇirˇazenı´ je tedy mozˇne´ cha´pat jako bina´rnı´ relaci mezi mnozˇinou X objektu˚, ktery´m jsou prˇirˇazova´ny objekty, a mnozˇinou Y objektu˚, ktere´ jsou objektu˚m z X prˇirˇazova´ny. Takova´ relace R ma´ dı´ky jednoznacˇnosti prˇirˇazenı´ na´sledujı´cı´ specia´lnı´ vlastnost: je-li hx, y1 i ∈ R (objektu x je prˇirˇazen objekt y1 ) a hx, y2 i ∈ R (objektu x je prˇirˇazen objekt y2 ), pak y1 = y2 (jednoznacˇnost prˇirˇazene´ho objektu, objektu x nemohou by´t prˇirˇazeny dva ru˚zne´ objekty). To vede k na´sledujı´cı´ definici. Definice 2.25. Relace R mezi X a Y se nazy´va´ funkce (neˇkdy take´ zobrazenı´ ) mnozˇiny X do mnozˇiny Y , pra´veˇ kdyzˇ pro kazˇde´ x ∈ X existuje y ∈ Y tak, zˇe hx, yi ∈ R a pro kazˇde´ x ∈ X a y1 , y2 ∈ Y platı´, zˇe hx, y1 i ∈ R a hx, y2 i ∈ R implikuje y1 = y2 . Fakt, zˇe R je funkce X do Y , oznacˇujeme R : X → Y . Pro funkce pouzˇ´ıva´me spı´sˇ f, g, . . . nezˇ R, S, . . . . Je-li f : X → Y funkce a x ∈ X, pak ten y ∈ Y , pro ktery´ je hx, yi ∈ f , oznacˇujeme f (x), pı´sˇeme take´ x 7→ y, poprˇ. x 7→ f (x). Prˇ´ıklad 2.26. Uvazˇujme mnozˇiny X = {a, b, c}, Y = {a, b, 1, 2}. • Relace R = {ha, ai, hb, bi} nenı´ funkce X do Y , protozˇe k prvku c ∈ X neexistuje prvek y ∈ Y tak, zˇe hx, yi ∈ R. • Relace R = {ha, ai, hb, 2i, hc, ai, hc, 2i} nenı´ funkce X do Y , protozˇe k prvku c ∈ X existujı´ dva ru˚zne´ prvky, ktere´ jsou s nı´m v relaci R. Ma´me totizˇ hc, ai ∈ R, hc, 2i ∈ R, ale a 6= 2. • Relace R = {ha, 2i, hb, bi, hc, 2i} je funkce X do Y . Relace R ⊆ X × Y , ktera´ splnˇuje kdyzˇ hx, y1 i ∈ R a hx, y2 i ∈ R, pak y1 = y2 se neˇkdy nazy´va´ parcia´lnı´ (cˇa´stecˇna´) funkce. Neˇkdy se pouzˇ´ıva´ obrat „uvazˇujme funkci y = f (x)“, kde f (x) je neˇjaky´ vy´raz, naprˇ. y = x2 apod. Prˇitom se ma´ za to, zˇe je jasne´, o jake´ mnozˇiny X a Y se jedna´ (cˇasto je X = Y = R, poprˇ. X ⊆ R). Pak jde vlastneˇ o funkci {hx, yi | x ∈ X, y ∈ Y, y = f (x)}. 2.5.2
Typy funkcı´
Definice 2.27. Funkce f : X → Y se nazy´va´ • prosta´ (neˇkdy take´ injektivnı´ ), pra´veˇ kdyzˇ pro kazˇde´ x1 , x2 ∈ X takove´, zˇe x1 6= x2 , platı´ f (x1 ) 6= f (x2 ), • funkce mnozˇiny X na mnozˇinu Y (neˇkdy take´ surjektivnı´ ), pra´veˇ kdyzˇ pro kazˇde´ y ∈ Y existuje x ∈ X tak, zˇe f (x) = y, • vza´jemneˇ jednoznacˇna´ (neˇkdy take´ bijektivnı´ ), pra´veˇ kdyzˇ je prosta´ a je to funkce na mnozˇinu Y (tj. injektivnı´ a surjektivnı´). Funkce je tedy prosta´, pra´veˇ kdyzˇ z f (x1 ) = f (x2 ) plyne x1 = x2 . Prˇ´ıklad 2.28. • Pro X = {a, b, c, d} a Y = {1, 2, 3, 4} je f = {ha, 1i, hb, 1i, hc, 4i, hd, 3i} funkce X do Y . f nenı´ injektivnı´ (protozˇe f (a) = f (b), ale a 6= b), ani surjektivnı´ (neexistuje x ∈ X tak, aby f (x) = 2), a tedy ani bijektivnı´. • Pro X = {a, b} a Y = {1, 2, 3} je f = {ha, 1i, hb, 3i} funkce X do Y , ktera´ je injektivnı´, ale nenı´ surjektivnı´ (neexistuje x ∈ X tak, aby f (x) = 2), a tedy ani bijektivnı´. • Pro X = {a, b, c} a Y = {1, 2} je f = {ha, 2i, hb, 2i, hc, 1i} funkce X do Y , ktera´ nenı´ injektivnı´ (protozˇe f (a) = f (b), ale a 6= b), ale je surjektivnı´, a tedy nenı´ bijektivnı´. • Pro X = {a, b, c} a Y = {1, 2, 3} je f = {ha, 2i, hb, 1i, hc, 3i} funkce X do Y , ktera´ je injektivnı´ i surjektivnı´, a tedy bijektivnı´. 38
Prˇ´ıklad 2.29. Podı´vejte se na na´sledujı´cı´ funkce. • f = {hx, yi ∈ R × R | y = x2 } je funkce R do R, ktera´ nenı´ injekce (naprˇ. (−2)2 = 22 ) ani surjekce (naprˇ. neexistuje x ∈ R tak, zˇe x2 = −1). Uvazˇujeme-li ji vsˇak jako funkci mnozˇiny R do mnozˇiny {a ∈ R | a ≥ 0} (neza´porna´ rea´lna´ cˇ´ısla), je to surjekce. • f = {hx, yi ∈ R × R | y = x3 } je funkce R do R, ktera´ je injekcı´ i surjekcı´, tj. je bijekcı´. • f = {hx, yi ∈ N × N | y = x!} je funkce N do N (faktoria´l, tj. x! = x · (x − 1) · · · 2 · 1). Je to injekce, ale ne surjekce (naprˇ. cˇ´ıslo 3 nenı´ faktoria´lem zˇa´dne´ho cˇ´ısla, tj. neexistuje x ∈ N tak, zˇe x! = 3). Podı´vejme se na neˇktere´ vlastnosti funkcı´. Veˇta 2.30. Pro funkce f : X → Y a g : Y → Z platı´ a) f ◦ g je funkce. b) Jsou-li f, g injekce, je f ◦ g injekce. c) Jsou-li f, g surjekce, je f ◦ g surjekce. Du˚kaz. Dokazˇme a). Nejprve musı´me uka´zat, zˇe pro kazˇde´ x ∈ X existuje z ∈ Z tak, zˇe hx, zi ∈ f ◦ g. Protozˇe je f funkce, existuje k x ∈ X prvek y ∈ Y tak, zˇe hx, yi ∈ f , a protozˇe je g funkce, existuje k tomu y prvek z ∈ Z tak, zˇe hy, zi ∈ g. Podle definice je tedy hx, zi ∈ f ◦ g. Nynı´ musı´me uka´zat, zˇe kdyzˇ hx, z1 i ∈ f ◦ g a hx, z2 i ∈ f ◦ g, pak z1 = z2 . Kdyzˇ hx, z1 i ∈ f ◦ g a hx, z2 i ∈ f ◦ g, pak podle definice pro neˇjake´ y1 , y2 ∈ Y je hx, y1 i ∈ f , hy1 , z1 i ∈ g, a hx, y2 i ∈ f , hy2 , z2 i ∈ g. Protozˇe f je funkce, musı´ by´t y1 = y2 , a protozˇe g je funkce, musı´ by´t z1 = z2 . Tedy a) platı´. Dokazˇme b). Je-li hx1 , zi ∈ f ◦ g, hx2 , zi ∈ f ◦ g, pak existujı´ y1 , y2 ∈ Y tak, zˇe hx1 , y1 i ∈ f , hx2 , y2 i ∈ f , hy1 , zi ∈ g, hy2 , zi ∈ g. Protozˇe g je injekce, platı´ y1 = y2 . Platı´ tedy hx1 , y1 i ∈ f , hx2 , y1 i ∈ f , a protozˇe f je injekce, je x1 = x2 , tedy f ◦ g je injekce. c) se doka´zˇe podobneˇ. 2.5.3
Princip indukce
Princip (matematicke´) indukce umozˇnˇuje dokazovat tvrzenı´ tvaru „pro kazˇde´ prˇirozene´ cˇ´ıslo n platı´ V (n)“, kde V (n) je neˇjake´ tvrzenı´, ktere´ za´visı´ na n (naprˇ. 1 + 2 + · · · + n = n(n+1) ). 2 Veˇta 2.31 (princip indukce). Necht’je pro kazˇde´ n ∈ N da´no tvrzenı´ V (n). Prˇedpokla´dejme, zˇe platı´ • V (1) (indukcˇnı´ prˇedpoklad), • pro kazˇde´ n ∈ N: z V (n) plyne V (n + 1) (indukcˇnı´ krok). Pak V (n) platı´ pro kazˇde´ n ∈ N. Princip indukce je jednou ze za´kladnı´ch vlastnostı´ prˇirozeny´ch cˇ´ısel. Z prˇedpokladu, zˇe kazˇda´ nepra´zdna´ podmnozˇina K ⊆ N ma´ nejmensˇ´ı prvek (cozˇ je intuitivneˇ zrˇejmy´ prˇedpoklad) lze princip indukce doka´zat. Du˚kaz. Princip indukce doka´zˇeme sporem. Prˇedpokla´dejme, zˇe princip indukce neplatı´, tj. existujı´ tvrzenı´ V (n) (n ∈ N), ktere´ splnˇujı´ oba prˇedpoklady principu indukce, ale pro neˇjake´ n0 ∈ N tvrzenı´ V (n0 ) neplatı´. Oznacˇme K = {m ∈ N | V (m) neplatı´} mnozˇinu vsˇech takovy´ch n0 . K je tedy nepra´zdna´ (nebot’n0 ∈ K). K ma´ tedy nejmensˇ´ı prvek k (viz pozna´mka prˇed du˚kazem) a ten je ru˚zny´ od 1 (protozˇe podle indukcˇnı´ho prˇedpokladu 1 6∈ K). Pak tedy k − 1 6∈ K, tedy V (k − 1) platı´. Z indukcˇnı´ho kroku plyne, zˇe platı´ i V (k), tedy k 6∈ K, cozˇ je spor s k ∈ K. Pn Prˇ´ıklad 2.32. Dokazˇme uzˇ uvedeny´ vztah 1 + 2 + · · · + n = n(n+1) . Tedy V (n) je tvrzenı´ k=1 k = 2 n(n+1) . Podle principu indukce stacˇ´ı oveˇrˇit indukcˇnı´ prˇedpoklad a indukcˇnı´ krok. 2 Indukcˇnı´ prˇedpoklad: V (1) je tvrzenı´ 1 =
1·(1+1) , 2
a to evidentneˇ platı´.
Indukcˇnı´ krok: Prˇedpokla´dejme, zˇe platı´ V (n) a dokazˇme V (n + 1). 1 + · · · + n + n + 1 se rovna´ (1 + · · · + n) + n + 1, cozˇ se dle prˇedpokladu rovna´ n(n+1) + n + 1. Da´le je n(n+1) +n+1 = 2 2 2 n(n+1)+2(n+1) (n+1)·(n+2) (n+1)·(n+2) n +3n+2 = = . Celkem tedy 1 + · · · + n + n + 1 = , cozˇ je 2 2 2 2 pra´veˇ tvrzenı´ V (n + 1). Podle principu indukce je tedy tvrzenı´ doka´zane´. 39
2.5.4
Konecˇne´, spocˇetne´ a nespocˇetne´ mnozˇiny
Mnozˇina A se nazy´va´ konecˇna´, pra´veˇ kdyzˇ je pra´zdna´ (A = ∅), nebo existuje prˇirozene´ cˇ´ıslo n a bijekce f : A → {1, 2, . . . , n}. V prvnı´m prˇ´ıpadeˇ rˇ´ıka´me, zˇe pocˇet prvku˚ mnozˇiny A je 0. Ve druhe´m prˇ´ıpadeˇ rˇ´ıka´me, zˇe pocˇet prvku˚ mnozˇiny A je n. Prˇ´ıklad 2.33. Je tedy |∅| = 0. Mnozˇiny A = {2, 4, 6}, B = {n ∈ N | n ≤ 10000000 a n je sude´} jsou konecˇne´ a je |A| = 3, |B| = 5000000. Mnozˇina A se nazy´va´ nekonecˇna´, pra´veˇ kdyzˇ nenı´ konecˇna´. Mnozˇina A se nazy´va´ spocˇetna´, pra´veˇ kdyzˇ existuje bijekce f : A → N. Mnozˇina A se nazy´va´ nespocˇetna´, pra´veˇ kdyzˇ je nekonecˇna´ a nenı´ spocˇetna´. Pozna´mka 2.34. (1) Protozˇe pro zˇa´dne´ n ∈ N neexistuje bijekce f : {1, . . . , n} → N, je kazˇda´ spocˇetna´ mnozˇina nekonecˇna´. (2) Z definice plyne, zˇe kazˇda´ nekonecˇna´ mnozˇina je bud’ spocˇetna´, nebo nespocˇetna´. 2
(22 )
Prˇ´ıklad 2.35. Mnozˇiny A = {2, 4, 6, 8, . . . }, B = {2, 22 , 2(2 ) , 2(2 ), , . . . }, Z, Q, R, [0, 1] = {x ∈ R | 0 ≤ x ≤ 1} jsou nekonecˇne´. Prˇitom A, B, Z, Q jsou spocˇetne´ a R a [0, 1] jsou nespocˇetne´.
Shrnutı´ Karte´zsky´ soucˇin mnozˇin X1 , . . . , Xn je mnozˇina vsˇech usporˇa´dany´ch n-tic prvku˚ z teˇchto mnozˇin. Relace mezi mnozˇinami X1 , . . . , Xn je libovolna´ podmnozˇina karte´zske´ho soucˇinu teˇchto mnozˇin. S relacemi lze prova´deˇt vsˇechny mnozˇinove´ operace. S bina´rnı´mi relacemi lze prova´deˇt operace inverze a skla´da´nı´. Bina´rnı´ relace se nejcˇasteˇji reprezentujı´ tabulkou nebo grafem, v pameˇti pocˇ´ıtacˇe pak maticı´ nebo seznamem seznamu˚. Funkce je zvla´sˇtnı´ typ relace. Injekce, surjekce a bijekce jsou specia´lnı´ typy funkcı´. Princip indukce slouzˇ´ı k proka´za´nı´ toho, zˇe dany´ vy´rok platı´ pro vsˇechna prˇirozena´ cˇ´ısla. Pojmy k zapamatova´nı´ • • • •
karte´zsky´ soucˇin, relace, bina´rnı´ relace, inverznı´ relace, skla´da´nı´ bina´rnı´ch relacı´, reprezentace bina´rnı´ch relacı´, funkce, injekce, surjekce, bijekce, princip indukce.
Kontrolnı´ ota´zky 1. Je pravda, zˇe kazˇda´ nepra´zdna´ n-a´rnı´ relace ma´ asponˇ n prvku˚? Procˇ? 2. Jaka´ je inverznı´ relace k relaci „by´t otcem“ na mnozˇineˇ vsˇech lidı´ (slovneˇ ji popisˇte)? Je-li R vy´sˇe uvedena´ relace „by´t otcem“, co je relacı´ R ◦ R? Co jsou relace R C R, R B R? 3. Jaky´ je rozdı´l mezi tabulkovou a maticovou reprezentacı´ bina´rnı´ relace? 4. Necht’X a Y jsou mnozˇiny. Jaky´ vztah musı´ platit mezi |X| a |Y | pro to, aby existovala funkce f : X → Y , ktera´ je injekcı´, surjekcı´, bijekcı´? 5. Mu˚zˇe by´t pra´zdna´ mnozˇina funkcı´ X do Y ? Rozeberte v za´vislosti na mnozˇina´ch X a Y . Cvicˇenı´ 1. Dokazˇte na´sledujı´cı´ vztahy. A × B = ∅, pra´veˇ kdyzˇ A = ∅ nebo B = ∅ A × B = B × A, pra´veˇ kdyzˇ A × B = ∅ nebo A = B A × (B ∪ C) = (A × B) ∪ (A × C) (A ∪ B) × C = (A × C) ∪ (B × C) A × (B ∩ C) = (A × B) ∩ (A × C) (A ∩ B) × C = (A × C) ∩ (B × C) A × (B − C) = (A × B) − (A × C) (A − B) × C = (A × C) − (B × C) 40
2. Najdeˇte prˇ´ıklady relacı´, pro ktere´ platı´ (neplatı´) R ◦ S = S ◦ R, R−1 = R. 3. Dokazˇte, zˇe pro relace R, R1 , R2 , U ⊆ X × Y , S, S1 , S2 , V ⊆ Y × Z, T ⊆ Z × W platı´ na´sledujı´cı´ tvrzenı´. Je-li R ⊆ U, S ⊆ V, pak R ◦ S ⊆ U ◦ V. (R1 ∪ R2 )−1 = R1−1 ∪ R2−1 (R1 ∩ R2 )−1 = R1−1 ∩ R2−1 R ◦ (S1 ∪ S2 ) = R ◦ S1 ∪ R ◦ S2 R ◦ (S1 ∩ S2 ) = R ◦ S1 ∩ R ◦ S2 (R1 ∪ R2 ) ◦ S = R1 ◦ S ∪ R2 ◦ S (R1 ∩ R2 ) ◦ S = R1 ◦ S ∩ R2 ◦ S 4. Ktere´ z na´sledujı´cı´ch relacı´ R jsou funkce X do Y ? a) X = Y = N, R = {hm, ni | m 6= n}, b) X = Y = {a, b, c}, R = {ha, ai, ha, bi, ha, ci}, c) X = Y = {a, b, c}, R = {ha, ai, hb, ai, hc, ai}, d) X je mnozˇina vsˇech cˇesky´ch slov, Y je mnozˇina vsˇech pı´smen cˇeske´ abecedy, R = {hw, li | w je cˇeske´ slovo s poslednı´m pı´smenem l}, e) X = Y = R, R = {hx, yi | x2 + y 2 = 1}, f) X = Y = R, R = {hx, yi | x2 = y}, g) X = Y = R, R = {hx, yi | x = y 2 }. 5. Ktere´ z na´sledujı´cı´ch funkcı´ jsou injektivnı´? Ktere´ jsou surjektivnı´? a) f : N → N, f (n) = n + 1, b) f : Z → Z, f (i) = i + 1, c) f : K → K, kde K = {1, 2, . . . , k}, i+1 f (i) = 1
pro 1 ≤ i < k pro i = k
d) f : N → {0, 1, 2, 3}, kde 0 1 f (i) = 2 3
jestlizˇe i je deˇlitelne´ 5, ale ne 11, jestlizˇe i je deˇlitelne´ 11, ale ne 5, jestlizˇe i je deˇlitelne´ 55, v ostatnı´ch prˇ´ıpadech,
e) f : Q → Q, f (i) = i3 . 6. Najdeˇte prˇ´ıklady funkcı´ f a g tak, aby a) g nebyla injekce, ale f ◦ g ano, b) f nebyla surjekce, ale f ◦ g ano. 7. Pro mnozˇinu U necht’je idU = {hu, ui | u ∈ U } relace identita. Ukazˇte, zˇe pro relaci f ⊆ X × Y platı´ a) f splnˇuje, zˇe z hx, y1 i ∈ f a hx, y2 i ∈ f plyne y1 = y2 , pra´veˇ kdyzˇ f −1 ◦ f ⊆ idY , b) je-li f funkce X do Y , pak je injektivnı´, pra´veˇ kdyzˇ f ◦ f −1 = idX . c) Je-li f funkce X do Y , pak je surjektivnı´, pra´veˇ kdyzˇ f −1 ◦ f = idY . 8. Meˇjme f : X → Y . Pro A ⊆ X a B ⊆ Y oznacˇme f (A) = {f (x) | x ∈ A} a f−1 (B) = {x ∈ X | f (x) ∈ B}. Ukazˇte, zˇe a) f je injektivnı´, pra´veˇ kdyzˇ f −1 splnˇuje, zˇe z hy, x1 i ∈ f −1 a hy, x2 i ∈ f −1 plyne x1 = x2 , b) je-li f injektivnı´, pak pro kazˇde´ A, B ⊆ X platı´ f (A ∩ B) = f (A) ∩ f (B), f (A − B) = f (A) − f (B). c) pro kazˇde´ A, B ⊆ Y f−1 (A ∩ B) = f−1 (A) ∩ f−1 (B), f−1 (A − B) = f−1 (A) − f−1 (B). 9. Ukazˇte, zˇe nenı´-li f injektivnı´, neplatı´ bod b) z prˇedchozı´ho cvicˇenı´. 10. Dokazˇte, zˇe pro funkce f, f1 , f2 : X → Y , g, g1 , g2 : Y → Z platı´, zˇe a) je-li f ◦ g injekce, je f injekce, b) je-li f ◦ g surjekce, je g surjekce, 41
c) je-li g injekce f1 ◦ g = f2 ◦ g, je f1 = f2 , d) je-li f surjekce f ◦ g1 = f ◦ g2 , je g1 = g2 . Pn n(n+1)(2n+1) 2 . k=1 k = 6 Pn n(n+1) Dokazˇte indukcı´, zˇe k=1 k 3 = [ 2 ]2 . Dokazˇte indukcı´, zˇe pro n ∈ N je 2n+2 + 32n+1 deˇlitelne´ 7. Dokazˇte, zˇe pro n ∈ N je (1 + 13 )n ≥ 1 + n3 . Kde je chyba v na´sledujı´cı´m „du˚kazu“ indukcı´? Tvrzenı´. Pro kazˇdou posloupnost n prvku˚ a1 , . . . , an platı´, zˇe vsˇechny prvky v nı´ jsou stejne´. Du˚kaz. Pro cˇ´ıslo 1 je tvrzenı´ trivia´lneˇ splneˇno. Prˇedpokla´dejme, zˇe tvrzenı´ platı´ pro k prvku˚. Uvazˇujme posloupnost libovolny´ch k +1 prvku˚ a1 , . . . , ak+1 . Pak a1 , . . . , ak je posloupnost k prvku˚ a a2 , . . . , ak+1 je posloupnost k prvku˚, a podle prˇedpokladu tedy a1 = · · · = ak a a2 = · · · = ak+1 . Odtud plyne a1 = · · · = ak+1 .
11. Dokazˇte indukcı´, zˇe 12. 13. 14. 15.
´ koly k textu U 1. Vrat’me se k pojmu usporˇa´dana´ dvojice prvku˚. Tento pojem jsme cha´pali jako za´kladnı´, tj. nedefinovany´. Je ho vsˇak mozˇne´ definovat pomocı´ pojmu mnozˇina tak, zˇe bude mı´t vsˇechny pozˇadovane´ vlastnosti. Rˇekneˇme, zˇe usporˇa´dana´ dvojice prvku˚ a, b je mnozˇina ha, bi = {a, {a, b}}. Ukazˇte, zˇe ha, bi = hc, di, pra´veˇ kdyzˇ a = c a b = d. 2. Dokazˇte zby´vajı´cı´ cˇa´sti Veˇty 2.9 3. Dokazˇte Veˇtu 2.22. 4. Ukazˇte, zˇe pro konecˇne´ mnozˇiny X a Y existuje bijekce X do Y , pra´veˇ kdyzˇ X a Y majı´ stejny´ pocˇet prvku˚. 5. Dokazˇte bod c) z Veˇty 2.30.
ˇ esˇenı´ R 1. Vztahy se doka´zˇou jednodusˇe, rozepsa´nı´m prˇ´ımo podle definice. 2. Meˇjme naprˇ. X = Y = {x, y, z}. R ◦ S = S ◦ R platı´ pro R = {hx, yi, hz, yi}, S = {hx, xi, hx, yi, hy, yi, hz, zi}, neplatı´ pro R = {hx, yi}, S = {hy, zi}. R−1 = R platı´ naprˇ. pro R = {hx, yi, hy, xi}, neplatı´ naprˇ. pro R = {hx, zi}. 3. Vztahy se doka´zˇou jednodusˇe, rozepsa´nı´m prˇ´ımo podle definice. 4. Funkcemi jsou relace R z c), d), f). 5. Injekce: a), b), c), e), surjekce: b), c), d). 6. Vezmeˇme X = {x}, Y = {y1 , y2 }, Z = {z}. f = {hx, y1 i}, g = {hy1 , zi, hy2 , zi} splnˇujı´ a) i b). 7. a) Necht’f splnˇuje, zˇe z hx, y1 i ∈ f a hx, y2 i ∈ f plyne y1 = y2 . Kdyzˇ hy1 , y2 i ∈ f −1 ◦ f , pak existuje x ∈ X tak, zˇe hy1 , xi ∈ f −1 a hx, y2 i ∈ f , tj. hx, y1 i ∈ f a hx, y2 i ∈ f . Z prˇedpokladu plyne y1 = y2 , tj. f −1 ◦ f ⊆ idY . Naopak, necht’f −1 ◦ f ⊆ idY . Necht’hx, y1 i ∈ f a hx, y2 i ∈ f . Pak hy1 , y2 i ∈ f −1 ◦ f ⊆ idY . Protozˇe f −1 ◦ f ⊆ idY , je hy1 , y2 i ∈ idY , tj. y1 = y2 . Tedy z hx, y1 i ∈ f a hx, y2 i ∈ f plyne y 1 = y2 . b) a c) se doka´zˇou podobny´mi u´vahami. 8. a) prˇ´ımo z definice. b) f (A ∩ B) = f (A) ∩ f (B): Protozˇe A ∩ B ⊆ A i A ∩ B ⊆ B, je dle definice f (A ∩ B) ⊆ f (A) i f (A ∩ B) ⊆ f (B). Z toho plyne f (A ∩ B) ⊆ f (A) ∩ f (B). Naopak, pokud y ∈ f (A) ∩ f (B), pak existujı´ x1 ∈ A a x2 ∈ B tak, zˇe f (x1 ) = y a f (x2 ) = y. Protozˇe je f injekce, musı´ by´t x1 = x2 . Tedy x1 ∈ A ∩ B, a proto y ∈ f (A ∩ B). Proto je f (A) ∩ f (B) ⊆ f (A ∩ B). f (A − B) = f (A) − f (B): Necht’y ∈ f (A − B), tj. existuje x ∈ A − B tak, zˇe f (x) = y. Proto je y ∈ f (A). Kdyby y ∈ f (B), pak by existoval x0 ∈ B tak, zˇe f (x0 ) = y. Protozˇe x ∈ A − B, je x 6= x0 . To je ale spor s injektivitou f , protozˇe ma´me x 6= x0 a f (x) = y = f (x0 ). Tedy je y ∈ f (A) − f (B). Naopak, necht’y ∈ f (A) − f (B). Pak y = f (x) pro neˇjaky´ x ∈ A a neexistuje x0 ∈ B tak, zˇe f (x0 ) = y. Proto je x ∈ A − B, a tedy y ∈ f (A − B). c) se doka´zˇe podobny´mi u´vahami. 42
9. Vezmeˇme naprˇ. X = {x1 , x2 }, Y = {y}, funkci f danou prˇedpisy f (x1 ) = y, f (x2 ) = y, mnozˇiny A = {x1 }, B = {x2 }. Pak f (A ∩ B) = ∅ a f (A) ∩ f (B) = {y}. Pro mnozˇiny A = {x1 , x2 } a B = {x2 } je f (A − B) = f ({x1 }) = {y} a f (A) = f (B) = ∅. 10. Dokazˇme b). Kdyby g nebyla surjekce, pak by existoval z ∈ Z, ke ktere´mu neexistuje y ∈ Y tak, zˇe g(y) = z. Proto nemu˚zˇe existovat x ∈ X tak, aby f ◦ g(x) = z (jinak by pro y = f (x) bylo g(y) = z). Dokazˇme d). Protozˇe f je surjekce, existuje pro libovolny´ prvek y ∈ Y prvek x ∈ X tak, zˇe hx, yi ∈ f . Platı´ tedy g1 (y) = g1 (f (x)) = f ◦ g1 (x) = f ◦ g2 (x) = g2 (f (x)) = g2 (y). Doka´zali jsme, zˇe pro libovolny´ prvek y ∈ Y je g1 (y) = g2 (y), tedy g1 = g2 . a) a c) se doka´zˇou podobny´mi u´vahami. Pn 2 11. V (n) je tvrzenı´ = n(n+1)(2n+1) . V (1) platı´, protozˇe je to tvrzenı´ 12 = k=1 k 6 Pn+1 1(1+1)(2+1) . Prˇedpokla´dejme, zˇe platı´ V (n) a dokazˇme V (n + 1), tj. dokazˇme k=1 k 2 = 6 2 Pn+1 2 Pn n(n+1)(2n+1) (n+1)(n+2)(2(n+1)+1) 2 2 . Je = + 6(n+1) = k=1 k k=1 k + (n + 1) = 6 6 6 (n+1)(n+2)(2(n+1)+1) 2n3 +9n2 +13n+6 = . 6 6 12. Jednoduche´, standardneˇ pouzˇitı´m jednoduchy´ch u´prav. 13. Jednoduche´, standardneˇ pouzˇitı´m jednoduchy´ch u´prav. 14. Jednoduche´, standardneˇ pouzˇitı´m jednoduchy´ch u´prav. 15. Chyba je v tom, zˇe u´vaha, kterou se z V (k) doka´zˇe V (k + 1), nenı´ spra´vna´ pro k = 1, tj. neplatı´, zˇe z V (1) plyne V (2). Projdeˇte si u´vahu podrobneˇ: tvrdı´ se v nı´, zˇe z toho, zˇe v posloupnosti a1 jsou vsˇechny prvky stejne´, a z toho, zˇe v posloupnosti a2 jsou vsˇechny prvky stejne´, plyne, zˇe a1 = a2 , cozˇ nenı´ pravda.
43
Cˇ´ısla
3
Studijnı´ cı´le: Po prostudova´nı´ kapitol by student meˇl rozumeˇt za´kladnı´m pojmu˚m, ktere´ se ty´kajı´ cˇ´ısel a cˇ´ıselny´ch oboru˚. Klı´cˇova´ slova: prˇirozena´ cˇ´ısla, cela´ cˇ´ısla, raciona´lnı´ cˇ´ısla, rea´lna´ cˇ´ısla, princip indukce, deˇlitelnost, prvocˇ´ısla, cˇ´ıselne´ soustavy.
3.1
Prˇirozena´, cela´, raciona´lnı´ a rea´lna´ cˇ´ısla
Prˇedpokla´da´me, zˇe cˇtena´rˇ ma´ za´kladnı´ znalosti o cˇ´ıselny´ch oborech. Budeme vycha´zet z geometricke´ prˇedstavy o cˇ´ısleny´ch oborech, ktera´ je da´na rozmı´steˇnı´m cˇ´ısel na cˇ´ıselne´ ose. Budeme pracovat s na´sledujı´cı´mi mnozˇinami cˇ´ısel: • Prˇirozena´ cˇ´ısla. Jsou to cˇ´ısla 1, 2, 3, 4, . . . . Mnozˇinu vsˇech prˇirozeny´ch cˇ´ısel oznacˇujeme N. • Cela´ cˇ´ısla. Jsou to cˇ´ısla 0, 1, −1, 2, −2, 3, −3, 4, −4, . . . . Mnozˇinu vsˇech cely´ch cˇ´ısel oznacˇujeme Z. • Raciona´lnı´ cˇ´ısla. Jsou to cˇ´ısla, ktera´ lze vyja´drˇit ve tvaru zlomku m ´ cˇ´ıslo a n n , kde m je cele je prˇirozene´ cˇ´ıslo. Mnozˇinu vsˇech raciona´lnı´ch cˇ´ısel oznacˇujeme Q. Raciona´lnı´ cˇ´ısla jsou tedy 20 4 6 , − 10 , atd. 31 , 26 , 18 jsou ru˚zne´ za´pisy te´hozˇ raciona´lnı´ho cˇ´ısla. Rovneˇzˇ − 42 , naprˇ. 13 , − 25 , − 341 10 ˚ zne´ za´pisy te´hozˇ raciona´lnı´ho cˇ´ısla. Raciona´lnı´ cˇ´ısla zapisujeme take´ pomocı´ tzv. −5 , −2 jsou ru desetinne´ho rozvoje. Naprˇ. cˇ´ıslo 32 zapisujeme jako 1.5. Cˇ´ıslo 13 ma´ tzv. nekonecˇny´ desetinny´ rozvoj a jej jı´m 0.3333 . . . , cozˇ take´ zapisujeme jako 0.3. • Rea´lna´ cˇ´ısla. Jsou to vsˇechna cˇ´ısla, ktera´ se nacha´zejı´ na cˇ´ıselne´ ose. Kromeˇ raciona´lnı´ch cˇ´ısel zahrnujı´ rea´lna´ cˇ´ısla i cˇ´ısla tzv. iraciona ´ lnı´ . To jsou cˇ´ısla, ktera´ nelze vyja´drˇit ve tvaru zlomku. √ √ Prˇ´ıkladem iraciona´lnı´ch cˇ´ısel jsou 2, 3, π, e. Mnozˇinu vsˇech rea´lny´ch cˇ´ısel oznacˇujeme R. Je tedy N ⊂ Z ⊂ Q ⊂ R. Prˇedpokla´da´me, zˇe cˇtena´rˇ ma´ za´kladnı´ znalosti o usporˇa´da´nı´ cˇ´ısel. Naprˇ. 1 < 2.8 oznacˇuje, zˇe cˇ´ıslo 1 je mensˇ´ı nezˇ cˇ´ıslo 2.8.
3.2
Deˇlitelnost a prvocˇ´ısla
Definice 3.1. Pro m, n ∈ Z rˇ´ıka´me, zˇe m deˇlı´ n, pı´sˇeme m|n, pra´veˇ kdyzˇ existuje k ∈ Z tak zˇe m · k = n. Kdyzˇ m|n, rˇ´ıka´me take´, zˇe m je deˇlitelem n nebo n je deˇlitelne´ m. m6 |n znamena´, zˇe m|n neplatı´. Prˇ´ıklad 3.2. 1|3, 2|6, 3| − 6, −3| − 6, ale 46 |2, −26 |3. Veˇta 3.3. Pro a, b, c ∈ Z platı´ 1. Jestlizˇe a|b a b|c, pak a|c. 2. Jestlizˇe a|b a a|c, pak pro kazˇde´ x, y ∈ Z platı´ a|(bx + cy). Du˚kaz. Viz prˇedna´sˇky. Veˇta 3.4 (o jednoznacˇnosti deˇlenı´ se zbytkem). Pro a, b ∈ Z existujı´ jednoznacˇneˇ urcˇena´ q, r ∈ Z tak, zˇe a=b·q+r a 0 ≤ r < b. Du˚kaz. Viz prˇedna´sˇky. Cˇ´ıslo r se nazy´va´ zbytek po celocˇ´ıselne´m deˇlenı´ cˇ´ısla a cˇ´ıslem b. Pı´sˇeme take´ (a mod b) = r. Prˇ´ıklad 3.5. Pro a = 10, b = 3 je q = 3, r = 1, tj. (10 mod 3) = 1. Pro a = 35, b = 5 je q = 7, r = 0, tj. (35 mod 5) = 0. Pro a = −16, b = 8 je q = −2, r = 0, tj. (−16 mod 8) = 0. Pro a = −18, b = 4 je q = −5, r = 2, tj. (−18 mod 4) = 2. 44
Definice 3.6. Prˇirozene´ cˇ´ıslo n se nazy´va´ prvocˇ´ıslo, jestlizˇe n 6= 1 a jestlizˇe n je deˇlitelne´ jen cˇ´ısly 1 a n. Prˇ´ıklad 3.7. 2, 3, 5, 7, 11, 13, 17, 19, . . . jsou prvocˇ´ısla. 6 nenı´ prvocˇ´ıslo, protozˇe je deˇlitelne´ 2 a 3. Veˇta 3.8. Existuje nekonecˇneˇ mnoho prvocˇ´ısel. Du˚kaz. Viz prˇedna´sˇky. Veˇta 3.9 (za´kladnı´ veˇta aritmetiky). Kazˇde´ prˇirozene´ cˇ´ıslo lze vyja´drˇit jednoznacˇneˇ azˇ na porˇadı´ cˇinitelu˚ jako soucˇin prvocˇ´ısel. Du˚kaz. Viz prˇedna´sˇky. Prˇ´ıklad 3.10. 15 = 3 · 5, 20 = 2 · 2 · 5, 980220 = 22 · 3 · 5 · 17 · 312 .
3.3
Cˇ´ıselne´ soustavy
Viz prˇedna´sˇky. Za´kladnı´ fakta: Veˇta 3.11 (veˇta o jednoznacˇnosti za´pisu prˇirozene´ho cˇ´ısla v soustaveˇ o za´kladu b). Necht’ b > 1 je prˇirozene´ cˇ´ıslo. Pro kazˇde´ x ∈ N existujı´ jednoznacˇneˇ urcˇena´ cˇ´ısla an , . . . , a1 , a0 tak, zˇe 0 ≤ ai < b, an 6= 0 a x = an · bn + an−1 · bn−1 + · · · + a1 · b + a0 . Du˚kaz. Viz prˇedna´sˇky. Za´pis cˇ´ısla x v soustaveˇ o za´kladu b je da´n cˇ´ısly an , . . . , a1 , a0 . Pro za´pis cˇ´ısel ai pouzˇ´ıva´me dohodnute´ symboly. Naprˇ. pro b = 10 (soustava o za´kladu 10, desı´tkova´ soustava) pouzˇ´ıva´me pro cˇ´ısla nula, jedna, dva, . . . , deveˇt, symboly 0, 1, 2, . . . , 9. Pouzˇijeme-li pro oznacˇenı´ cˇ´ısel 0, . . . , b − 1 symboly s0 , . . . , sb−1 pak za´pisem cˇ´ısla x v soustaveˇ o za´kladu b je rˇeteˇzec san san−1 . . . sa1 sa0 , pı´sˇeme take´ (san san−1 . . . sa1 sa0 )b . Je-li b = 10 nebo je-li b zrˇejme´ z kontextu, zpravidla b vynecha´va´me. Pro za´pisy cˇ´ısel ve dvojkove´ soustaveˇ (b = 2) pouzˇ´ıva´me symboly 0 a 1. Pro za´pisy cˇ´ısel v sˇestna´ctkove´ (hexadecima´lnı´) soustaveˇ (b = 16) pouzˇ´ıva´me symboly 0, 1, . . . , A, B, C, D, E, F . Prˇ´ıklad 3.12. 1. Pro x = 8965 je x = 8 · 103 + 9 · 102 + 6 · 10 + 5, tedy za´pisem cˇ´ısla osm tisı´c deveˇt set sˇedesa´t peˇt v soustaveˇ o za´kladu 10 je rˇeteˇzec 8965, tj. x = (8965)10 . 2. Pro x = 7 a b = 2 je x = 1 · 22 + 1 · 21 + 1, tj. x = (111)2 neboli (7)10 = (111)2 . 3. Pro x = 75 a b = 2 je x = 1 · 26 + 0 · 25 + 0 · 24 + 1 · 23 + 0 · 22 + 1 · 21 + 1 · 20 , tj. (75)10 = (1001011)2 . 4. Pro x = 37 a b = 16 je x = 2 · 161 + 5 · 160 , tj. (37)10 = (25)16 . 5. Pro x = 31 a b = 16 je x = 1 · 161 + 15 · 160 , tj. (31)10 = (1F )16 .
45
Prˇevody mezi za´pisy cˇ´ısel v ru˚zny´ch cˇ´ıselny´ch soustava´ch.
Shrnutı´ DOPLNIT Pojmy k zapamatova´nı´ • DOPLNIT Kontrolnı´ ota´zky 1. DOPLNIT Cvicˇenı´ 1. DOPLNIT
´ koly k textu U 1. DOPLNIT
ˇ esˇenı´ R 1. DOPLNIT
46
4
Kombinatorika
Studijnı´ cı´le: Po prostudova´nı´ kapitol 4.1, 4.2 a 4.3 by student meˇl zna´t za´klady kombinatoricke´ho pocˇ´ıta´nı´. Meˇl by zna´t pravidla soucˇtu a soucˇinu, pojmy permutace, variace a kombinace. Student by meˇl umeˇt v za´kladnı´ch u´loha´ch samostatneˇ prove´st spra´vnou kombinatorickou u´vahu. Meˇl by by´t schopen pouzˇ´ıt pravidla soucˇtu a soucˇinu k rozlozˇenı´ slozˇiteˇjsˇ´ı u´lohy na jednodusˇsˇ´ı. Klı´cˇova´ slova: kombinatorika, pravidlo soucˇtu, pravidlo soucˇinu, permutace, permutace s opakova´nı´m, variace, variace s opakova´nı´m, kombinace, kombinace s opakova´nı´m.
4.1
Co a k cˇemu je kombinatorika
Kombinatorika je jednou z nejuzˇitecˇneˇjsˇ´ıch oblastı´ diskre´tnı´ matematiky. Zaby´va´ se urcˇova´nı´m pocˇtu mozˇnostı´ (konfiguracı´), ktere´ existujı´ za urcˇity´ch prˇedepsany´ch podmı´nek. Mu˚zˇe na´s naprˇ´ıklad zajı´mat, kolika zpu˚soby je mozˇne´ vyja´drˇit prˇirozene´ cˇ´ıslo n ve tvaru soucˇtu n1 + · · · + nk prˇirozeny´ch cˇ´ısel n1 , . . . , nk prˇicˇemzˇ neza´lezˇ´ı na porˇadı´ cˇ´ısel v soucˇtu. Zde se jednou mozˇnostı´ rozumı´ cˇ´ısla n1 , . . . , nk . Prˇedepsane´ podmı´nky v tomto prˇ´ıpadeˇ rˇ´ıkajı´, zˇe musı´ platit n1 + · · · + nk = n a da´le zˇe mozˇnosti n1 , . . . , nk a n01 , . . . , n0k se povazˇujı´ za shodne´ (pocˇ´ıtajı´ se jako jedna mozˇnost), pokud se lisˇ´ı jen porˇadı´m cˇ´ısel (naprˇ. mozˇnosti 1, 1, 2 a 1, 2, 1 se povazˇujı´ za shodne´, 1, 1, 2 a 1, 2, 2 nikoli). Tak naprˇ´ıklad pro cˇ´ıslo 3 existujı´ 3 mozˇnosti (ty mozˇnosti jsou 1 + 1 + 1, 1 + 2, 3), pro cˇ´ıslo 4 existuje 5 mozˇnostı´ (1 + 1 + 1 + 1, 1 + 1 + 2, 1 + 3, 2 + 2, 4) atd.
Kombinatorika se zaby´va´ urcˇova´nı´m pocˇtu mozˇnostı´, ktere´ mohou nastat za prˇedepsany´ch podmı´nek.
Pru˚vodce studiem V cˇasopise BYTE Magazine kdysi vysˇla na´sledujı´cı´ zpra´va. ”According to ... WEB Technologies’ vice president of sales and marketing, the compression algorithm used by DataFiles/16 is not subject to the laws of information theory” (BYTE Magazine 17(6):45, June 1992). Prˇedstavitele´ WEB Technologies tvrdili, zˇe jejich kompresnı´ program DataFiles/16 komprimuje vsˇechny typy souboru˚ na prˇiblizˇneˇ jednu sˇestna´ctinu jejich pu˚vodnı´ velikosti a zˇe pro soubory velikosti asponˇ 64KB je tato komprese bezeztra´tova´. Jednoducha´ kombinatoricka´ u´vaha vsˇak ukazuje, zˇe to nenı´ mozˇne´. Uvazˇujme naprˇ. de´lku souboru 16n bitu˚. Existuje celkem 216n ru˚zny´ch souboru˚ de´lky 16n bitu˚. Kazˇdy´ takovy´ soubor by podle WEB Technologies meˇlo by´t mozˇne´ zkomprimovat na vy´sledny´ soubor de´lky nejvy´sˇe n bitu˚. Prˇitom existuje pra´veˇ 2k ru˚zny´ch souboru˚ de´lky k bitu˚. Tedy navza´jem ru˚zny´ch souboru˚ de´lky nejvy´sˇe n bitu˚ existuje 20 + 21 + 22 + · · · + 2n = 2n+1 − 1. Protozˇe ale 2n+1 − 1 < 216n , nenı´ takova´ komprese mozˇna´. Kompresı´ totizˇ vyrobı´me z dane´ho souboru de´lky 16n bitu˚ (teˇch je 216n ) neˇktery´ ze souboru˚ de´lky nejvy´sˇe rovne´ n (teˇch je 2n+1 − 1). Proto musı´ existovat ru˚zne´ soubory de´lky 16n, ktere´ se kompresı´ prˇevedou na stejny´ soubor de´lky nejvy´sˇe rovne´ n. Takova´ komprese tedy nenı´ bezeztra´tova´.
Prˇ´ıklad 4.1. Prˇedpokla´dejme, zˇe heslo pro prˇ´ıstup do databa´ze je posloupnost sesta´vajı´cı´ z pra´veˇ 5 povoleny´ch znaku˚. Mezi povolene´ znaky patrˇ´ı pı´smena a,. . . , z, A, . . . , Z, cˇ´ıslice 0, 1, . . . , 9. Platı´ prˇitom, zˇe heslo musı´ zacˇ´ınat pı´smenem. Kolik existuje ru˚zny´ch hesel? Protozˇe pı´smen je 52 (26 maly´ch a 26 velky´ch) a cˇ´ıslic je 10, pouzˇitı´m pravidla soucˇinu (viz da´le) zjistı´me, zˇe hesel je 52 · 624 = 768 369 472. Nezna´me-li heslo, musı´me tedy to spra´vne´ „uhodnout“ z ´ vahy tohoto typu musı´ umeˇt prova´deˇt kazˇdy´, kdo se zaby´va´ bezpecˇnostı´ cca 768 milio´nu˚ mozˇny´ch hesel. U pocˇ´ıtacˇovy´ch syste´mu˚. Prˇ´ıklad 4.2. Uvazˇujme na´sledujı´cı´ variantu hazardnı´ hry. Z osudı´ obsahujı´cı´ho mı´cˇky s cˇ´ısly 1, . . . , 20 jsou vylosova´ny 3 mı´cˇky. Hra spocˇ´ıva´ v tom, zˇe si prˇed losova´nı´m mu˚zˇeme vsadit na na´mi vybrana´ 3 cˇ´ısla. Za vsa´zku zaplatı´me 10 Kcˇ. V prˇ´ıpadeˇ, zˇe uhodneme vsˇechna 3 pozdeˇji vylosovana´ cˇ´ısla, dostaneme 20 000 Kcˇ, jinak nedostaneme nic. Vyplatı´ se vsadit si, tj. budeme-li dlouhodobeˇ vsa´zet, budeme celkoveˇ prohra´vat nebo vyhra´vat? Vybrat 3 mı´cˇky z 20 je mozˇne´ 1 140 zpu˚soby (je to pocˇet kombinacı´ 3 z 20, viz da´le). My si vsadı´me na 1 1 takovy´ vy´beˇr. Pravdeˇpodobnost, zˇe trefı´me ten spra´vny´, je tedy 1 140 . Z dlouhodobe´ho hlediska tedy vyhrajeme v 1 z 1 140 prˇ´ıpadu˚. V takovy´ch 1 140 prˇ´ıpadech tedy vyhrajeme 1 × 20 000 = 20 000 Kcˇ, prˇitom za vsa´zenı´ utratı´me 1 140 × 10 = 11 400 Kcˇ. Vsadit si se tedy vyplatı´. Prˇ´ıklad 4.3. Prˇedpokla´dejme, zˇe ko´dujeme elementa´rnı´ zpra´vy (zpra´va mu˚zˇe by´t znak nebo neˇjaka´ posloupnost znaku˚) tak, zˇe kazˇdou zpra´vu zako´dujeme jako posloupnost n symbolu˚ 0 a 1, tzv. ko´dove´ 47
Kombinatorika ma´ pouzˇitı´ v mnoha prakticky´ch oblastech nasˇeho zˇivota.
slovo. Takove´mu ko´du se rˇ´ıka´ bina´rnı´ ko´d de´lky n. Bina´rnı´ ko´d de´lky n tedy mu˚zˇeme povazˇovat za neˇjakou mnozˇinu posloupnostı´ de´lky n, ktere´ sesta´vajı´ z 0 a 1. Naprˇ. {100, 010, 001} je bina´rnı´ ko´d de´lky 3. Ten mu˚zˇe by´t pouzˇit naprˇ. pro ko´dova´nı´ vy´sledku˚ neˇjake´ho procesu, kde vy´sledek je jeden z trˇ´ı mozˇny´ch typu˚ (prohra, remı´za, vy´hra; rychlost ≤ 50 km/h, rychlost > 50, ale < 70 km/h, rychlost ≥ 70 km/h), tak, zˇe naprˇ. prohra je ko´dova´na posloupnostı´ 100, remı´za posloupnostı´ 010, vy´hra posloupnostı´ 001. Prvnı´ ota´zka: Chceme-li ko´dovat k znaku˚ bina´rnı´m ko´dem de´lky n, jake´ nejmensˇ´ı n musı´me zvolit, abychom zarucˇili mozˇnost jednoznacˇne´ho deko´dova´nı´? Aby byl ko´d jednoznacˇneˇ deko´dovatelny´, musı´ obsahovat asponˇ k posloupnostı´. Prˇitom posloupnostı´ z 0 a 1, ktere´ majı´ de´lku n, je pra´veˇ 2n (podle pravidla soucˇinu, viz da´le). De´lka n musı´ tedy splnˇovat k ≤ 2n , tj. log2 k ≤ n. Druha´ ota´zka: Prˇedpokla´dejme, zˇe na ko´dujı´cı´ posloupnosti 0 a 1 pu˚sobı´ rusˇive´ vlivy a zˇe se proto mu˚zˇe 0 zmeˇnit na 1 a 1 zmeˇnit na 0. Takove´ chyby jsou ale ma´lo cˇaste´. Prˇijmeme-li posloupnost v de´lky n, mu˚zˇe by´t zatı´zˇena chybami, a nemusı´ to tedy nutneˇ by´t neˇjake´ ko´dove´ slovo. Protozˇe prˇedpokla´da´me, zˇe chyby jsou ma´lo cˇaste´, je intuitivneˇ prˇirozene´ cha´pat v jako chybou zmeˇneˇne´ ko´dove´ slovo w, a to takove´ w, ktere´ se ze vsˇech ko´dovy´ch slov od v nejme´neˇ lisˇ´ı. Ve vy´sˇe uvedene´m prˇ´ıpadeˇ naprˇ. 110 nenı´ ko´dovy´m slovem a jemu nejblizˇsˇ´ı ko´dova´ slova jsou 100 a 010. Vzda´lenostı´ posloupnostı´ prˇitom rozumı´me pocˇet pozic, na ktery´ch se lisˇ´ı, tj. vzda´lenost posloupnostı´ a1 · · · an a b1 · · · bn je pocˇet prvku˚ mnozˇiny {i | ai 6= bi }. Vzda´lenost 110 a 100 je tedy rovna 1 (lisˇ´ı se pra´veˇ jednou pozicı´). Pokud je ko´d dobrˇe navrzˇeny´, mu˚zˇe deko´dova´nı´ probı´hat tak, zˇe prˇijata´ posloupnost w de´lky n se opravı´ a vy´sledkem bude nejblizˇsˇ´ı ko´dove´ slovo. Jak jsme videˇli, vy´sˇe uvedeny´ ko´d nenı´ dobrˇe navrzˇeny´, protozˇe ke slovu 110 existujı´ dveˇ ko´dova´ slova (100 a 010) se stejnou vzda´lenostı´ od 110. Jaky´ je nejveˇtsˇ´ı pocˇet k ko´dovy´ch posloupnostı´ bina´rnı´ho ko´du de´lky n, ktery´ umozˇnˇuje opravu jednoduchy´ch chyb? Prˇitom jednoducha´ chyba je ta, ktera´ vznikne zmeˇnou pra´veˇ jednoho symbolu posloupnosti (jednoduchou chybou vznikne z 001 naprˇ. 101, ale uzˇ ne 110). Uvazˇujme takto: Necht’ takovy´ ko´d obsahuje pra´veˇ k ko´dovy´ch slov. Vezmeˇme libovolne´ z nich a oznacˇme ho v. Slovem v bude interpretova´na nejen posloupnost v, ale i kazˇda´ posloupnost, jejı´zˇ vzda´lenost od v je 1 (tyto posloupnosti budou opraveny na v). Posloupnostı´, ktere´ majı´ od v vzda´lenost 1, je pra´veˇ n (chyba mu˚zˇe by´t na libovolne´ z n pozic). Slov, ktere´ prˇipadajı´ na ko´dove´ slovo v v tom smyslu, zˇe budou po prˇ´ıpadne´ opraveˇ jedne´ chyby prˇevedeny na v, je tedy celkem 1 + n. Protozˇe na kazˇde´ z k ko´dovy´ch slov takto prˇipada´ n + 1 navza´jem ru˚zny´ch posloupnostı´ de´lky n a protozˇe pocˇet vsˇech posloupnostı´ nul a jednicˇek de´lky n je 2n , musı´ by´t k · (n + 1) ≤ 2n , 2n . Nejveˇtsˇ´ı pocˇet ko´dovy´ch posloupnostı´ bina´rnı´ho ko´du de´lky n, ktery´ umozˇnˇuje opravu tedy k ≤ n+1 3
n
2 2 . Pro n = 3 je tedy nejveˇtsˇ´ı pocˇet 3+1 = 2. Ko´d s 3 ko´dovy´mi slovy jednoduchy´ch chyb, je tedy n+1 opravujı´cı´ jednoduche´ chyby tedy musı´ mı´t de´lku n asponˇ 4 (protozˇe pro de´lku n = 3 je nejveˇtsˇ´ı pocˇet ko´dovy´ch slov 2). Vy´sˇe uvedeny´ prˇ´ıklad tedy nelze spravit tı´m, zˇe vybereme jina´ ko´dova´ slova de´lky 3.
Uvedene´ prˇ´ıklady prˇedstavujı´ typicke´ proble´my, ktery´mi se kombinatorika zaby´va´. Prˇesneˇji rˇecˇeno, kombinatorika se, jako kazˇda´ oblast matematiky, zaby´va´ obecny´mi principy, ktere´ je potom mozˇne´ na konkre´tnı´ situace z prakticke´ho zˇivota pouzˇ´ıt. Tak naprˇ´ıklad prˇedpokla´dejme, zˇe vı´me, kolika zpu˚soby je mozˇne´ vybrat dvouprvkovou podmnozˇinu {x, y} z dany´ch n prvku˚. Oznacˇme pocˇet teˇchto zpu˚sobu˚ D(n). Vı´me tedy, zˇe D(n) = n(n−1) (vyzkousˇejte nebo to prˇ´ımo odvod’te). Pak je snadne´ spocˇ´ıtat, zˇe 2 z 30 studentu˚ je mozˇne´ vybrat dvojici studentu˚ 435 zpu˚soby (nebot’435 = 30·29 ˇ e existuje pra´veˇ 499 2 ), z ) atd. 500 zpu˚sobu˚ jak vybrat dva mı´cˇky z tisı´ce (499 500 = 1000·999 2 Upozornı´me nynı´ na du˚lezˇitou veˇc. I v kombinatorice se setka´me s tı´m, zˇe pro ru˚zne´ situace odvodı´me ru˚zne´ vzorce (jako vy´sˇe uvedeny´ vzorec D(n) = n(n−1) ). Vcˇas vsˇak varujme: Strˇezˇme se mechanicke´ho 2 pouzˇ´ıva´nı´ vzorcu˚! V kombinatorice snad vı´ce nezˇ kde jinde platı´, zˇe k tomu, abychom byli vu˚bec schopni vybrat pro danou situaci “spra´vny´ vzorec”, musı´me situaci rozebrat a dokonale jı´ porozumeˇt. Prˇitom toto porozumeˇnı´ je cˇasto netrivia´lnı´ za´lezˇitost (tomu tak nenı´ naprˇ. u derivova´nı´ funkcı´: ma´me-li naprˇ´ıklad spocˇ´ıtat derivaci funkce x2 · sin(x), stacˇ´ı zna´t vzorce pro derivova´nı´ x2 , sin(x) a vzorec pro derivova´nı´ soucˇinu funkcı´; pouzˇitı´ vzorce pro u´lohu spocˇ´ıta´nı´ derivace dane´ funkce je tedy te´meˇrˇ trivia´lnı´). Rˇesˇenı´ kombinatoricke´ u´lohy se spı´sˇe podoba´ rˇesˇenı´ “slovnı´ u´lohy”: neexistuje obecny´ prˇedpis pro rˇesˇenı´. Situaci musı´me nejdrˇ´ıve dobrˇe porozumeˇt, pokud mozˇno rozlozˇit ji na jednodusˇsˇ´ı situace a ty potom vyrˇesˇit pomocı´ za´kladnı´ch kombinatoricky´ch pravidel. Tato za´kladnı´ pravidla mohou mı´t podobu vzorcu˚. Nesrovnatelneˇ du˚lezˇiteˇjsˇ´ı nezˇ naucˇit se vzorce, je ale naucˇit se pouzˇ´ıvat za´kladnı´ kombinatoricka´ pravidla (tato pravidla jsou pravy´m smyslem kombinatoricky´ch vzorcu˚). Bez porozumeˇnı´ kombinatoricky´m pravidlu˚m nejsme schopni rˇesˇit jine´ nezˇ trivia´lnı´ kombinatoricke´ u´lohy.
48
4.2
Pravidla soucˇtu a soucˇinu
Pravidlo soucˇtu a pravidlo soucˇinu jsou dveˇ za´kladnı´ kombinatoricka´ pravidla. Mnoho dalsˇ´ıch pravidel vznika´ jejich kombinova´nı´m. Pru˚vodce studiem Pravidlo soucˇtu: Lze-li u´kol A prove´st m zpu˚soby a lze-li u´kol B prove´st n zpu˚soby, prˇicˇemzˇ zˇa´dny´ z m zpu˚sobu˚ provedenı´ u´kolu A nenı´ totozˇny´ s zˇa´dny´m z n zpu˚sobu˚ provedenı´ u´kolu B, pak prove´st u´kol A nebo u´kol B lze prove´st m + n zpu˚soby.
Pravidlo soucˇtu je zjevne´. Uka´zˇeme, jak ho lze pouzˇ´ıt. Prˇ´ıklad 4.4. V knihovneˇ je 5 knih, jejichzˇ autorem je A. C. Doyle, a 10 knih, jejichzˇ autorkou je A. Christie. Cˇtena´rˇ si tedy mu˚zˇe vybrat 15 zpu˚soby knihu, kterou napsali A. C. Doyle nebo A. Christie. Je-li A u´kol “vybrat knihu, jejı´zˇ autorem je A. C. Doyle” a B u´kol “vybrat knihu, jejı´zˇ autorem je A. Christie”, pak je m = 5 a n = 10. Prˇitom prove´st u´kol A nebo u´kol B znamena´ vybrat knihu, kterou napsali A. C. Doyle nebo A. Christie. Podle pravidla soucˇtu to lze pra´veˇ m + n = 15 zpu˚soby. Pouzˇitı´ pravidla soucˇtu je opra´vneˇne´, protozˇe zˇa´dna´ kniha, kterou napsal A. C. Doyle, nenı´ totozˇna´ s zˇa´dnou knihou, kterou napsala A. Christie. Prˇ´ıklad 4.5. Mnozˇiny M a N jsou disjunktnı´ (tj. nemajı´ spolecˇne´ prvky) a platı´ |M | = m a |N | = n. Kolika zpu˚soby lze vybrat prvek, ktery´ patrˇ´ı do M nebo do N ? Jsou-li A a B po rˇadeˇ u´koly “vybrat prvek z mnozˇiny M ” a “vybrat prvek z mnozˇiny N ”, pak prˇedpoklady pravidla soucˇtu jsou splneˇny (M a N nemajı´ spolecˇne´ prvky), a proto existuje m + n zpu˚sobu˚, jak vybrat prvek z M nebo N . Jiny´mi slovy, jsou-li M a N disjunktnı´ mnozˇiny, je |M ∪ N | = |M | + |N |. Poznamenejme, zˇe prˇedpoklad pravidla soucˇtu, ktera´ rˇ´ıka´, zˇe zˇa´dny´ z m zpu˚sobu˚ provedenı´ u´kolu A nenı´ totozˇny´ s zˇa´dny´m z n zpu˚sobu˚ provedenı´ u´kolu B, je podstatna´. Uvazˇujme Prˇ´ıklad 4.5, ale vezmeˇme mnozˇiny, ktere´ nejsou disjunktnı´, naprˇ. M = {a, b, c}, N = {b, c, d, e}. Jak snadno vidı´me, existuje 5 zpu˚sobu˚, jak vybrat prvek z M nebo N , prˇitom 5 6= 3 + 4 = m + n. Pravidlo soucˇtu lze zobecnit na konecˇny´ pocˇet u´kolu˚: Lze-li u´kol C rozlozˇit na po sobeˇ na´sledujı´cı´ u´koly A1 , . . . , An a lze-li u´kol Ai prove´st mi zpu˚soby (pro kazˇde´ i = 1, . . . , n), pak lze u´kol C prove´st m1 + · · · + mn zpu˚soby. Pokud u´kol A1 lze prove´st m1 zpu˚soby, u´kol A2 lze prove´st m2 zpu˚soby, . . . , u´kol Ak lze prove´st mk zpu˚soby, prˇicˇemzˇ po kazˇdou dvojici Ai a Aj (i 6= j) zˇa´dny´ z mi zpu˚sobu˚ provedenı´ u´kolu Ai nenı´ totozˇny´ s zˇa´dny´m z mj zpu˚sobu˚ provedenı´ u´kolu Aj , pak prove´st u´kol A1 nebo u´kol A2 nebo · · · nebo u´kol Ak lze prove´st m1 + m2 + · · · + mk zpu˚soby. Prˇ´ıklad 4.6. Necht’M1 , . . . , Mk jsou konecˇne´ po dvou disjunktnı´ mnozˇiny. Kolik prvku˚ ma´ sjednocenı´ M1 ∪ · · · ∪ Mk ? Pomocı´ zobecneˇne´ho pravidla soucˇtu mu˚zˇeme podobneˇ jako v Prˇ´ıkladeˇ 4.5 uka´zat, zˇe |M1 ∪ · · · ∪ Mk | = |M1 | + · · · + |Mk |. Pru˚vodce studiem Pravidlo soucˇinu: Lze-li u´kol C rozlozˇit na po sobeˇ na´sledujı´cı´ u´koly A a B (tj. prove´st C znamena´ prove´st nejdrˇ´ıv A a potom B) a lze-li u´kol A prove´st m zpu˚soby a u´kol B lze prove´st n zpu˚soby, pak lze u´kol C prove´st m · n zpu˚soby.
Take´ pravidlo soucˇinu je zjevne´. Uka´zˇeme ho na konkre´tnı´ch prˇ´ıkladech. Prˇ´ıklad 4.7. Kolik prvku˚ ma´ karte´zsky´ soucˇin M × N dvou konecˇny´ch mnozˇin M a N ? Prˇipomenˇme, zˇe M × N = {hx, yi | x ∈ M, y ∈ N }. Urcˇit libovolny´ prvek hx, yi ∈ M × N znamena´ tote´zˇ, co splnit u´kol “zvol x a zvol y”. Tento u´kol lze rozlozˇit na u´kol “zvol x” a u´kol “zvol y”. Prvek x lze prˇitom zvolit |M | zpu˚soby, prvek y lze zvolit |N | zpu˚soby. Podle pravidla soucˇinu lze tedy u´kol “zvol x a zvol y” prove´st |M | · |N | zpu˚soby. Proto |M × N | = |M | · |N |. Podobneˇ jako pravidlo soucˇtu lze i pravidlo soucˇinu zobecnit na konecˇny´ pocˇet u´kolu˚: Lze-li u´kol C rozlozˇit na po sobeˇ na´sledujı´cı´ u´koly A1 , . . . , Ak a lze-li u´kol Ai prove´st mi zpu˚soby (pro kazˇde´ i = 1, . . . , k), pak lze u´kol C prove´st m1 · · · · · mk zpu˚soby. 49
Za´kladnı´ kombinatoricka´ pravidla jsou pravidlo soucˇtu a pravidlo soucˇinu.
Prˇ´ıklad 4.8. Registracˇnı´ znacˇka vozidla ma´ tvar PKC CCCC, kde P, K, a C jsou symboly a prˇitom P je neˇktera´ z cˇ´ıslic 1–9, K je pı´smeno, urcˇujı´cı´ prˇ´ıslusˇnost ke kraji (naprˇ. T oznacˇuje Moravskoslezsky´ kraj, H oznacˇuje Hradecky´ apod.) a C je neˇktera´ z cˇ´ıslic 0–9. Kolik lze v ra´mci jednoho kraje prˇideˇlit registracˇnı´ch znacˇek? Prvnı´ symbol lze zvolit 9 zpu˚soby, druhy´ symbol nelze volit, protozˇe je v ra´mci kraje pevneˇ dany´, trˇetı´ symbol lze zvolit 10 zpu˚soby, stejneˇ tak lze 10 zpu˚soby zvolit cˇtvrty´, pa´ty´, sˇesty´ i sedmy´ symbol. Podle zobecneˇne´ho pravidla soucˇinu tedy existuje v ra´mci jednoho kraje 9 · 10 · 10 · 10 · 10 · 10 = 9 · 105 (deveˇt set tisı´c) mozˇny´ch ru˚zny´ch registracˇnı´ch znacˇek. Pravidla soucˇtu a soucˇinu se cˇasto v jedne´ u´loze kombinujı´. Ukazˇme jednoduchy´ prˇ´ıklad. Prˇ´ıklad 4.9. Necht’ A, B, C jsou konecˇne´ mnozˇiny, prˇicˇemzˇ A a B jsou disjunktnı´. Kolik prvku˚ ma´ mnozˇina (A ∪ B) × C? ´ kol vybrat libovolneˇ prvek z (A ∪ B) × C lze rozlozˇit na dva na´sledujı´cı´ u´koly: “vyber prvek U z A ∪ B” a “vyber prvek z C” (viz Prˇ´ıklad 4.7). Prˇitom u´kol “vyber prvek z A ∪ B” znamena´ “vyber prvek z A nebo vyber prvek z B” a lze ho podle pravidla soucˇtu prove´st |A| + |B| zpu˚soby (viz Prˇ´ıklad 4.5). Proto lze podle pravidla soucˇtu prvek z (A ∪ B) × C vybrat (|A| + |B|) · |C| zpu˚soby, tedy |(A ∪ B) × C| = (|A| + |B|) · |C|.
4.3
Permutace, variace, kombinace
Kolika zpu˚soby lze serˇadit urcˇity´ pocˇet objektu˚? Kolika zpu˚soby lze vybrat urcˇity´ pocˇet objektu˚ z dany´ch objektu˚, kdyzˇ na porˇadı´ vy´beˇru za´lezˇ´ı? Co kdyzˇ na porˇadı´ vy´beˇru neza´lezˇ´ı? Co kdyzˇ se prvky ve vy´beˇru nemohou opakovat? Co kdyzˇ se opakovat mohou? Tyto a podobne´ ota´zky se cˇasto objevujı´ v ru˚zny´ch kombinatoricky´ch u´loha´ch. Odpoveˇdi na neˇ lze nale´zt pouzˇitı´m pravidel soucˇtu a soucˇinu. Protozˇe se vsˇak tyto ota´zky objevujı´ opravdu cˇasto, odvodı´me si vzorce, ktere´ na neˇktere´ tyto ota´zky odpovı´dajı´. Vzorce, ktere´ odvodı´me, patrˇ´ı k za´kladu˚m kombinatoricke´ho pocˇ´ıta´nı´. Nejprve vsˇak jesˇteˇ jednou varova´nı´. Pru˚vodce studiem Prˇi pouzˇ´ıva´nı´ kombinatoricky´ch vzorcu˚, ktere´ uvedeme, je du˚lezˇite´ vzorci dobrˇe rozumeˇt, “videˇt do neˇj”, umeˇt ho kdykoli odvodit. Du˚lezˇiteˇjsˇ´ı nezˇ vzorce samotne´ jsou totizˇ u´vahy, ktere´ k nim vedou. Vzorec je jen symbolicky´m vyja´drˇenı´m za´veˇru kombinatoricke´ u´vahy. Osvojı´me-li si odpovı´dajı´cı´ u´vahy, potrˇebne´ vzorce si nakonec mu˚zˇeme odvodit sami (nebo je neˇkde najdeme). Kdyzˇ si odpovı´dajı´cı´ u´vahy neosvojı´me, budou na´m nejspı´sˇ vzorce k nicˇemu, nebot’je u jen trochu slozˇiteˇjsˇ´ıch u´loh nebudeme umeˇt pouzˇ´ıvat. Proto na´sledujı´cı´ doporucˇenı´: Nesnazˇte se ucˇit vzorce. Snazˇte se pochopit a naucˇte se sami prova´deˇt u´vahy. Uvidı´te, zˇe veˇci jsou ve skutecˇnosti jednoduche´.
4.3.1
Permutace
Student si u zkousˇky vybere trˇi ota´zky. Mu˚zˇe si vybrat, v jake´m porˇadı´ na neˇ bude odpovı´dat. Kolik ma´ mozˇnostı´? Oznacˇme ota´zky A, B a C. Mozˇna´ porˇadı´ odpovı´da´nı´ jsou ABC, ACB, BAC, BCA, CAB, CBA. Je jich tedy sˇest. Tak prˇicha´zı´me k pojmu permutace. Definice 4.10 (permutace). Permutace n (navza´jem ru˚zny´ch) objektu˚ je libovolne´ serˇazenı´ teˇchto objektu˚, tj. serˇazenı´ od prvnı´ho k n-te´mu. Pocˇet permutacı´ n objektu˚ budeme znacˇit P (n).
Permutace neˇjaky´ch prvku˚ je jejich serˇazenı´.
Veˇta 4.11. P (n) = n!. Du˚kaz. Jedno ale libovolne´ serˇazenı´ dostaneme tak, zˇe vybereme 1. prvek (to lze prove´st n zpu˚soby), pote´ vybereme 2. prvek (to lze prove´st n − 1 zpu˚sobem, protozˇe jeden prvek jsme jizˇ vybrali), pote´ vybereme 3. prvek (to lze prove´st n − 2 zpu˚soby), . . . , nakonec vybereme n-ty´ prvek (to lze prove´st jednı´m zpu˚sobem, n − 1 prvku˚ totizˇ jizˇ bylo vybra´no a zby´va´ poslednı´ prvek). Podle pravidla soucˇinu lze takovy´ vy´beˇr prove´st n · (n − 1) · (n − 2) · · · · · 1 = n! zpu˚soby. Tedy P (n) = n!. Serˇazujeme-li objekty, z nichzˇ neˇktere´ jsou stejne´, prova´dı´me tzv. permutace s opakova´nı´m.
50
U permutacı´ s opakova´nı´m mohou by´t neˇktere´ serˇazovane´ prvky stejne´.
Definice 4.12 (permutace s opakova´nı´m). Je da´no n objektu˚ rozdeˇleny´ch do r skupin, ktere´ majı´ po rˇadeˇ n1 , . . . , nr objektu˚, tj. n1 + · · · + nr = n. Objekty v kazˇde´ ze skupin jsou navza´jem nerozlisˇitelne´. Kazˇde´ serˇazenı´ teˇchto n objektu˚ se nazy´va´ permutace s opakova´nı´m (dany´m parametry (n1 , . . . , nr )). Pocˇet takovy´ch permutacı´ znacˇ´ıme P (n1 , . . . , nr ). Veˇta 4.13. Pro n1 + · · · + nr = n je P (n1 , . . . , nr ) =
n! n1 !·····nr ! .
Du˚kaz. Uvazˇujme libovolnou permutaci s opakova´nı´m. Ocˇ´ıslujme objekty v ra´mci kazˇde´ z r skupin tak, aby se staly rozlisˇitelny´mi. Pak dane´ permutaci s opakova´nı´m odpovı´da´ neˇkolik permutacı´ ocˇ´ıslovany´ch objektu˚ v tom smyslu, zˇe na pozici i (1 ≤ i ≤ n) je v permutaci s opakova´nı´m objekt z j-te´ skupiny (1 ≤ j ≤ n), pra´veˇ kdyzˇ je na pozici i v permutaci ocˇ´ıslovany´ch objektu˚ objekt, ktery´ vznikl ocˇ´ıslova´nı´m z neˇktere´ho objektu z j-te´ skupiny. Pro prˇ´ıklad: Meˇjme n = 5, r = 2, n1 = 3, n2 = 2, objekty prvnı´ skupiny znacˇ´ıme A, objekty druhe´ skupiny znacˇ´ıme B. Po ocˇ´ıslova´nı´ budeme mı´t objekty A1 , A2 , A3 , B1 , B2 . Permutaci s opakova´nı´m ABAAB odpovı´da´ naprˇ. permutace A3 B1 A2 A1 B2 , ne vsˇak permutace A3 A2 A1 B1 B2 . Kolik permutacı´ ocˇ´ıslovany´ch objektu˚ odpovı´da´ kazˇde´ permutaci s opakova´nı´m? Objekty prvnı´ skupiny mu˚zˇeme na jejich pozicı´ch (ty jsou pro danou permutaci s opakova´nı´m da´ny pevneˇ a je jich n1 ) serˇadit n1 ! zpu˚soby (tolik je permutacı´ n1 prvku˚), . . . , objekty r-te´ skupiny mu˚zˇeme na jejich pozicı´ch serˇadit nr ! zpu˚soby. Protozˇe serˇazova´nı´ objektu˚ kazˇde´ skupiny prova´dı´me neza´visle na serˇazova´nı´ objektu˚ libovolne´ jine´ skupiny. Proto je celkovy´ pocˇet permutacı´ ocˇ´ıslovany´ch objektu˚, ktere´ odpovı´dajı´ libovolne´ permutaci s opakova´nı´m roven n1 ! · · · · · nr !. Dostali jsme tedy P (n1 , . . . , nr ) · n1 ! · · · · · nr ! = P (n), odkud plyne P (n1 , . . . , nr ) =
n! n1 !·····nr ! .
Prˇ´ıklad 4.14. Kolik slov (i nesmyslny´ch) lze sestavit prˇerovna´nı´m pı´smen ve sloveˇ POSTOLOPRTY? Pocˇet slov je roven pocˇtu serˇazenı´ pı´smen slova POSTOLOPRTY. Jde o permutace objektu˚ s opakova´nı´m. Ma´me n = 11 objektu˚ (pı´smen), ktere´ jsou rozdeˇleny do r = 7 skupin odpovı´dajı´cı´ch jednotlivy´m pı´smenu˚m P, O, S, T, L, R, Y. Pocˇty objektu˚ v jednotlivy´ch skupina´ch jsou nP = 2, nO = 3, nS = 1, 11! . nT = 2, nL = 1, nR = 1, nY = 1. Pocˇet slov je tedy P (2, 3, 1, 2, 1, 1, 1) = 2!3!2! 4.3.2
Variace
Na lodi jsou cˇtyrˇi du˚stojnı´ci. Z nich je trˇeba jmenovat kapita´na a jeho za´stupce. Kolika zpu˚soby to lze prove´st? Oznacˇme du˚stojnı´ky pı´smeny A, B, C, D. Pak existuje teˇchto 12 zpu˚sobu˚: AB (A je kapita´n, B jeho za´stupce), AC, AD, BA, BC, BD, CA, CB, CD, DA, DB, DC. Definice 4.15 (variace). Je da´no n (navza´jem ru˚zny´ch) objektu˚ a cˇ´ıslo r ≤ n. Variace r (objektu˚) z n (objektu˚) je libovolny´ vy´beˇr r objektu˚ z dany´ch n objektu˚, ve ktere´m za´lezˇ´ı na porˇadı´ vybı´rany´ch objektu˚. Pocˇet takovy´ch variacı´ znacˇ´ıme V (n, r). Ve vy´sˇe uvedene´m prˇ´ıkladu je n = 4 (ma´me 4 objekty) a r = 2 (vybı´ra´me dva objekty). Variace BA je vy´beˇr, ve ktere´m je jako prvnı´ vybra´n objekt B a jako druhy´ objekt A. Variace BA a AB jsou ru˚zne´ (za´lezˇ´ı na porˇadı´). Celkem existuje 12 takovy´ch variacı´, tj. V (4, 2) = 12. Veˇta 4.16. V (n, r) = n · (n − 1) · · · · · (n − r + 1). Du˚kaz. Kazˇda´ variace je da´na tı´m, jake´ objekty jsou na 1., 2., . . . , r-te´m mı´steˇ. Objekt na 1. mı´steˇ lze zvolit n zpu˚soby (vybı´ra´me z n objektu˚), objekt na 2. mı´steˇ pak n − 1 zpu˚soby (vybı´ra´me z n − 1 objektu˚, protozˇe jeden objekt je uzˇ na 1. mı´steˇ), . . . , objekt na r-te´m mı´steˇ lze vybrat n − r + 1 zpu˚soby (tolik objektu˚ jesˇteˇ k vy´beˇru zby´va´). Podle pravidla soucˇinu je tedy celkovy´ pocˇet takto provedeny´ch vy´beˇru˚, tj. pocˇet vsˇech variacı´, n · (n − 1) · · · · · (n − r + 1). Vsˇimneˇme si, zˇe V (n, r) =
n! (n−r)! .
Skutecˇneˇ,
n! n · (n − 1) · · · · · (n − r + 1) · (n − r) · · · · · 1 = = n · (n − 1) · · · · · (n − r + 1) = V (n, r) (n − r)! (n − r) · · · · · 1 Pozna´mka 4.17. Vsˇimneˇte si, zˇe V (n, n) = n! = P (n), tj. pocˇet variacı´ n z n je stejny´ jako pocˇet permutacı´ n objektu˚. To nenı´ na´hoda. Variace n z n je vlastneˇ vy´beˇr n prvku˚ z n prvku˚, ve ktere´m za´lezˇ´ı na porˇadı´. Je to tedy usporˇa´da´nı´, tj. permutace, n prvku˚ (prvnı´ vybrany´ prvek je v dane´m usporˇa´da´nı´ na prvnı´m mı´steˇ, . . . , n-ty´ vybrany´ prvek je v dane´m usporˇa´da´nı´ na n-te´m mı´steˇ). 51
Variace je vy´beˇr, u ktere´ho za´lezˇ´ı na porˇadı´ vybı´rany´ch prvku˚.
Vy´beˇry, ve ktery´ch se prvky mohou opakovat, nazy´va´me variace s opakova´nı´m. Definice 4.18 (variace s opakova´nı´m). Jsou da´ny objekty n ru˚zny´ch typu˚. Objektu˚ kazˇde´ho typu je neomezeneˇ mnoho a jsou navza´jem nerozlisˇitelne´. Variace r (objektu˚) z n (objektu˚) s opakova´nı´m je libovolny´ vy´beˇr r objektu˚ z dany´ch objektu˚ n typu˚, ve ktere´m za´lezˇ´ı na porˇadı´ vybı´rany´ch objektu˚. Pocˇet takovy´ch variacı´ znacˇ´ıme V (n, r).
U variacı´ s opakova´nı´m mu˚zˇe by´t kazˇdy´ prvek vybra´n neˇkolikra´t.
Protozˇe jsou prvky jednotlivy´ch typu˚ nerozlisˇitelne´, jsou dveˇ variace s opakova´nı´m stejne´, pra´veˇ kdyzˇ majı´ na odpovı´dajı´cı´ch si mı´stech (prvnı´m azˇ r-te´m) objekty stejny´ch typu˚. Veˇta 4.19. V (n, r) = nr . Du˚kaz. Prvnı´ prvek mu˚zˇeme vybrat n zpu˚soby, druhy´ prvek mu˚zˇeme vybrat n zpu˚soby, . . . , r-ty´ mu˚zˇeme vybrat n zpu˚soby. Podle pravidla soucˇinu lze tedy vy´beˇr prove´st n · · · · · n = nr zpu˚soby. Prˇ´ıklad 4.20. Za´mek na kolo s ko´dem ma´ pro nastavenı´ ko´du trˇi ota´cˇecı´ kolecˇka. Na kazˇde´m z nich lze nastavit cˇ´ıslice 0, 1, . . . , 9. Prˇedpokla´dejme, zˇe nastavenı´ a zkousˇka jedne´ cˇ´ıselne´ kombinace trva´ 2 sekundy. Jak dlouho trva´ v pru˚meˇrne´m prˇ´ıpadeˇ otevrˇenı´ za´mku, nezna´me-li spra´vnou cˇ´ıselnou kombinaci (pru˚meˇrny´ prˇ´ıpad definujeme jako aritmeticky´ pru˚meˇr nejlepsˇ´ıho a nejhorsˇ´ıho prˇ´ıpadu)? Cˇ´ıselne´ kombinace jsou 000 azˇ 999. Jsou to tedy variace 3 z 10 s opakova´nı´m (3 pozice, 10 cˇ´ıslic). Teˇch je 103 = 1000. V nejlepsˇ´ım prˇ´ıpadeˇ nastavı´me spra´vnou kombinaci uzˇ v 1. pokusu (to trva´ 2 sekundy), = 1001 v nejhorsˇ´ım azˇ v 1000. pokusu (to trva´ 2000 sekund). V pru˚meˇrne´m prˇ´ıpadeˇ je to tedy 2002 2 sekund (cozˇ je 16 minut a 41 sekund). Pozna´mka 4.21. Variace s opakova´nı´m bychom mohli definovat jinak, a to na´sledovneˇ: Je da´no n (navza´jem ru˚zny´ch) objektu˚ a cˇ´ıslo r. Variace r (objektu˚) z n (objektu˚) s opakova´nı´m (definovana´ alternativneˇ) je libovolny´ vy´beˇr r objektu˚ z dany´ch n objektu˚, ve ktere´m za´lezˇ´ı na porˇadı´ vybı´rany´ch objektu˚ a ve ktere´m se prvky po vy´beˇru vracejı´ mezi prvky, ze ktery´ch se vybı´ra´. Uveˇdomme si, zˇe zpu˚sob vy´beˇru zde je jiny´, nezˇ v Definici 4.18. Du˚lezˇite´ vsˇak je, zˇe pocˇet variacı´ s opakova´nı´m je i v tomto prˇ´ıpadeˇ V (n, r) (oveˇrˇte). Prˇ´ıklad 4.22. Z mı´sta A je trˇeba prˇeda´vat na mı´sto B zpra´vu o tom, jak dopadla akce konana´ v mı´steˇ A. Prˇitom existuje celkem 20 000 mozˇny´ch vy´sledku˚ te´ akce. Prˇedpokla´dejme, zˇe pro zako´dova´nı´ vy´sledku se pouzˇije posloupnost k = 2 ru˚zny´ch symbolu˚ (naprˇ. 0 a 1), ktera´ ma´ de´lku d. Jaka´ je nejmensˇ´ı de´lka takove´ posloupnosti? Jak to bude prˇi jiny´ch pocˇtech symbolu˚ k = 3, 4, 5? Jde o to, najı´t nejmensˇ´ı de´lku d tak, aby posloupnostı´ k symbolu˚ bylo asponˇ 20000, tj. aby kazˇdy´ vy´sledek mohl by´t neˇjakou posloupnostı´ zako´dova´n. Vybı´ra´me-li z k symbolu˚ posloupnost de´lky d, vybı´ra´me vlastneˇ variaci d z k s opakova´nı´m. Takovy´ch posloupnostı´ je tedy V (k, d) = k d . Chceme tedy najı´t nejmensˇ´ı d tak, aby k d ≥ 20000. Pro k = 2 je d = 15, pro k = 3 je d = 10, pro k = 4 je d = 8, pro k = 5 je d = 7. 4.3.3
Kombinace
V ta´borˇe jsou 4 muzˇi (oznacˇme je A, B, C, D). Kolika zpu˚soby z nich lze vybrat dvoucˇlennou hlı´dku? Vy´beˇr hlı´dky je da´n vy´beˇrem dvou z nich, tedy dvouprvkovou podmnozˇinou mnozˇiny {A, B, C, D}. Hlı´dky tedy mohou by´t {A, B}, {A, C}, {A, D}, {B, C}, {B, D}, {C, D}, je jich tedy 6. Definice 4.23 (kombinace). Je da´no n (navza´jem ru˚zny´ch) objektu˚ a neza´porne´ cele´ cˇ´ıslo r ≤ n. Kombinace r (objektu˚) z n (objektu˚) je libovolny´ vy´beˇr r objektu˚ z dany´ch n objektu˚, ve ktere´m neza´lezˇ´ı na porˇadı´ vybı´rany´ch objektu˚. Pocˇet takovy´ch kombinacı´ znacˇ´ıme nr . Cˇ´ısla
n r
se nazy´vajı´ kombinacˇnı´ cˇ´ısla a oznacˇujı´ se take´ C(n, r) (cˇte se “en nad er”).
Ve vy´sˇe uvedene´m prˇ´ıkladu je n = 4 (ma´me 4 objekty) a r = 2 (vybı´ra´me dva objekty). Kombinace {A, C} je vy´beˇr, ve ktere´m jsou vybra´ny A a C. Celkem existuje 6 takovy´ch kombinacı´, tj. 42 = 6. n! Veˇta 4.24. nr = (n−r)!r! . n! Du˚kaz. Vı´me, zˇe V (n, r) = (n−r)! . Uveˇdomme si, zˇe kazˇde´ kombinaci r z n odpovı´da´ tolik variacı´ r z n, kolika zpu˚soby lze usporˇa´dat r vybrany´ch objektu˚ (u kombinace za´lezˇ´ı jen na vybrany´ch objektech, ne na jejich usporˇa´da´nı´, kdezˇto u variace za´lezˇ´ı i na jejich usporˇa´da´nı´). Naprˇ. kombinaci {A, B, C}
52
Kombinace je vy´beˇr, u ktere´ho neza´lezˇ´ı na porˇadı´ vybı´rany´ch prvku˚.
odpovı´dajı´ variace ABC, ACB, BAC, BCA, CAB, CBA. Existuje r! zpu˚sobu˚, jak usporˇa´dat r objektu˚. Je tedy pocˇet kombinacı´ r z n kra´t pocˇet usporˇa´da´nı´ r objektu˚ = pocˇet variacı´ r z n, tj. n · r! = V (n, r). r Odtud
n r
=
V (n,r) r!
=
n! (n−r)!r! .
Prˇ´ımo z odvozene´ho vzorce plyne
Skutecˇneˇ,
n n−r
=
n! (n−(n−r))!(n−r)!
n n = . r n−r n! = (n−r)!r! = nr . Da´le platı´, zˇe n n =1 a = 1. n 0
Pozna´mka 4.25. Vzorec pro nr lze odvodit take´ takto. Ocˇ´ıslujme n objektu˚, ze ktery´ch vybı´ra´me, cˇ´ısly 1 azˇ n. Kombinaci r z n mu˚zˇeme vyja´drˇit jako rˇeteˇzec n nul a jednicˇek, ktery´ obsahuje pra´veˇ r jednicˇek, prˇicˇemzˇ na i-te´m mı´steˇ toho rˇeteˇzce je 1, pra´veˇ kdyzˇ se v dane´ kombinaci nacha´zı´ i-ty´ prvek. Naprˇ. jsou-li a, b, c, d prvnı´ azˇ cˇtvrty´ prvek, pak rˇeteˇzci 0110 odpovı´da´ kombinace {b, c}. Takovy´ rˇeteˇzcu˚ existuje pra´veˇ tolik, kolik existuje permutacı´ n prvku˚ s opakova´nı´m, ktere´ jsou rozdeˇleny do dvou skupin n! . obsahujı´cı´ch r prvku˚ (jednicˇky) a n − r prvku˚ (nuly). Takovy´ch permutacı´ je podle Veˇty 4.13 (n−r)!r! Prˇ´ıklad 4.26. Kolika zpu˚soby lze vybrat 4 prˇedmeˇtyz nabı´dky 10 volitelny´ch prˇedmeˇtu˚? Vy´beˇr prˇed10·9·8·7 10! ˚ soby. meˇtu˚ je kombinace 4 z 10. Vy´beˇr lze tedy prove´st 10 4 = 6!·4! = 4·3·2 = 210 zpu Rˇekneme si ted’ dva uzˇitecˇne´ vztahy. Prvnı´m z nich je, zˇe pro k, n ∈ N, 1 < k < n platı´ n n−1 n−1 = + . (4.1) k k−1 k (n−1)! (n−1)! n−1 + k!(n−k−1)! = k·(n−1)!+(n−k)·(n−1)! = Odvod’me to: n−1 = (k−1)!(n−k)! k!(n−k)! k−1 + k (k+(n−k))·(n−1)! n n! = k!(n−k)! = k . k!(n−k)! Druhy´m je tzv. binomicka´ veˇta. Veˇta 4.27 (binomicka´ veˇta). Pro rea´lne´ cˇ´ıslo x a neza´porne´ cele´ n je n X n k (1 + x)n = x . k
(4.2)
k=0
Du˚kaz. Doka´zˇeme to indukcı´ prˇes n. Indukcˇnı´ prˇedpoklad: Pro n = 0 tvrzenı´ platı´, protozˇe (1 + x)0 = 1 a
P0
k=0
n k
xk =
Pn−1
0 0
n−1
x0 = 1.
Indukcˇnı´ krok: Prˇedpokla´dejme, zˇe tvrzenı´ platı´ pro n − 1, tj. (1 + x)n−1 = k=0 k xk , a dokazˇme ho pro n. Ma´me n−1 X n − 1 (1 + x)n = (1 + x)(1 + x)n−1 = (1 + x) xk = k k=0 n−1 n−1 n−1 n X n−1 X n − 1 X n − 1 X n−1 k = xk + xk+1 = xk + x = k k k k−1 k=0 k=0 k=0 k=1 n−1 X n − 1 n−1 0 n−1 k n−1 n k = x + ( x + x ) + x = 0 k k−1 n−1 k=1 n−1 X n − 1 n − 1 0 = x + ( + )xk + xn = k k−1 k=1 n−1 n X n n 0 n n X n k = x + xk + x = x . 0 k n k k=1
k=0
Prˇitom jsme pouzˇili vzorec (4.1). 53
Binomicka´ veˇta ma´ rˇadu pouzˇitı´. Prˇ´ıklad 4.28 (pocˇet podmnozˇin n-prvkove´ mnozˇiny). Dosazenı´m x = 1 do (4.2) dosta´va´me n X n n n n 2n = = + + ··· + . k 0 1 n k=0 Protozˇe nk je pocˇet vsˇech k-prvkovy´ch podmnozˇin n-prvkove´ mnozˇiny, uda´va´ soucˇet vpravo pocˇet 0-prvkovy´ch plus pocˇet 1-prvkovy´ch plus . . . plus pocˇet n-prvkovy´ch, tj. pocˇet vsˇech podmnozˇin nprvkove´ mnozˇiny. Pomocı´ binomicke´ veˇty tedy vidı´me, zˇe je roven 2n . K tomu lze ale dojı´t i takto: Serˇad’me prvky dane´ n-prvkove´ mnozˇiny za sebe. Prˇedstavme si n pozic, ktere´ odpovı´dajı´ 1., 2.,. . . , n. prvku. Do pozic budeme umı´st’ovat 0 a 1. Podmnozˇiny jednoznacˇneˇ odpovı´dajı´ umı´steˇnı´m 0 a 1 do teˇchto pozic: je-li na i-te´ pozici 1, pak i-ty´ prvek patrˇ´ı do dane´ podmnozˇiny, je-li tam 0, pak do nı´ nepatrˇ´ı. Podmnozˇin n-prvkove´ mnozˇiny je tedy pra´veˇ tolik, kolika zpu˚soby lze do n pozic umı´stit nuly a jednicˇky. Tento pocˇet je roven pocˇtu variacı´ n ze 2 (vybı´ra´me z {0, 1}), tedy je to V (n, 2) = 2n . Pru˚vodce studiem Pocˇet vsˇech podmnozˇin n-prvkove´ mnozˇiny je 2n . Lze k tomu dojı´t neˇkolika zpu˚soby. Dva z nich jsme uka´zali v Prˇ´ıkladu 4.28. Takova´ situace, kdy k jednomu vy´sledku mu˚zˇeme dojı´t neˇkolika zpu˚soby, je pro kombinatoriku typicka´. Ru˚zne´ zpu˚soby odpovı´dajı´ ru˚zny´m pohledu˚m na veˇc. Naprˇ´ıklad u pocˇtu vsˇech podmnozˇin byl prvnı´ zpu˚sob “secˇti pocˇty vsˇech 0-prvkovy´ch, 1-prvkovy´ch, . . . , n-prvkovy´ch podmnozˇin”, druhy´ zpu˚sob byl “prˇedstav si podmnozˇiny jako posloupnosti nul a jednicˇek a urcˇi pocˇet teˇchto posloupnostı´”. Obecny´ na´vod, jak si proble´m vhodneˇ prˇedstavit, nenı´. Za´lezˇ´ı jen na nasˇ´ı prˇedstavivosti. Vy´beˇr, ve ktere´m neza´lezˇ´ı na porˇadı´ prvku˚ a ve ktere´m se prvky mohou opakovat, se nazy´va´ kombinace s opakova´nı´m. Vede k tomu na´sledujı´cı´ u´loha. V obchodeˇ majı´ 4 typy za´kusku˚ (veˇnecˇky, rˇezy, sˇpicˇky a veˇtrnı´ky). Ma´me koupit 6 za´kusku˚. Kolika zpu˚soby to lze prove´st? Jeden mozˇny´ zpu˚sob je koupit 6 veˇnecˇku˚, dalsˇ´ı je koupit 6 veˇtrnı´ku˚, dalsˇ´ı je koupit 2 veˇtrnı´ky a 4 rˇezy, dalsˇ´ı je koupit veˇnecˇek, rˇez, sˇpicˇku a 3 veˇtrnı´ky atd. Du˚lezˇite´ je, zaprve´, zˇe porˇadı´ za´kusku˚ v na´kupu je nepodstatne´, a zadruhe´, zˇe v na´kupu mohou by´t za´kusky stejne´ho typu (za´kusky se mohou opakovat). Definice 4.29 (kombinace s opakova´nı´m). Jsou da´ny objekty n ru˚zny´ch typu˚. Objektu˚ kazˇde´ho typu je neomezeneˇ mnoho a jsou navza´jem nerozlisˇitelne´. Kombinace r (objektu˚) z n (objektu˚) s opakova´nı´m je libovolny´ vy´beˇr r objektu˚ z dany´ch objektu˚ n typu˚, ve ktere´m neza´lezˇ´ı na porˇadı´ vybı´rany´ch objektu˚. Pocˇet takovy´ch kombinacı´ znacˇ´ıme C(n, r). Zˇe jsou objekty jednotlivy´ch typu˚ nerozlisˇitelne´, znamena´, zˇe dveˇ kombinace s opakova´nı´m povazˇujeme za stejne´, pra´veˇ kdyzˇ pro kazˇdy´ z n typu˚ obsahujı´ stejne´ pocˇty objektu˚ toho typu. U prˇ´ıkladu se za´kusky to naprˇ. znamena´, zˇe kazˇde´ dva na´kupy obsahujı´cı´ dva veˇtrnı´ky a cˇtyrˇi sˇpicˇky, povazˇujeme za stejne´ (byt’ v jednom na´kupu mohou by´t jine´ dva veˇtrnı´ky nezˇ ve druhe´m). Veˇta 4.30. C(n, r) = n+r−1 n−1 . Du˚kaz. Podı´vejme se na vy´beˇr takhle. Ma´me n prˇihra´dek, ktere´ odpovı´dajı´ typu˚m objektu˚. Vybrat kombinaci r z n s opakova´nı´m znamena´ umı´stit do teˇchto prˇihra´dek celkem r kulicˇek. Pocˇet kulicˇek v i-te´ prˇihra´dce mu˚zˇeme totizˇ cha´pat jako pocˇet objektu˚ typu i, ktere´ jsme vybrali. Hledany´ pocˇet kombinacı´ C(n, r) je tedy stejny´ jako pocˇet umı´steˇnı´ r kulicˇek do n prˇihra´dek. Abychom urcˇili pocˇet takovy´ch umı´steˇnı´, budeme kazˇde´ umı´steˇnı´ reprezentovat posloupnostı´ nul (reprezentujı´ prˇepa´zˇky mezi prˇihra´dkami) a 1 (reprezentujı´ kulicˇky). Naprˇ. pro n = 4 a r = 6 rˇeteˇzec 101100111 reprezentuje umı´steˇnı´, kdy je v prvnı´ prˇihra´dce 1 kulicˇka, ve druhe´ 2 kulicˇky, ve trˇetı´ 0 kulicˇek, ve cˇtvrte´ 3 kulicˇky. Tedy: prvnı´ jednicˇka reprezentuje 1 kulicˇku v prvnı´ prˇihra´dce; na´sledujı´cı´ nula reprezentuje prˇepa´zˇku; na´sledujı´cı´ dveˇ jednicˇky reprezentujı´ 2 kulicˇky ve druhe´ prˇihra´dce; na´sledujı´cı´ nula reprezentuje prˇihra´dku mezi druhou a trˇetı´ prˇihra´dkou; pak nena´sleduje zˇa´dna´ jednicˇka (tj. trˇetı´ prˇihra´dka neobsahuje zˇa´dnou kulicˇku), ale hned dalsˇ´ı nula reprezentujı´cı´ prˇepa´zˇku mezi trˇetı´ a cˇtvrtou prˇihra´dkou; na´sledujı´ trˇi jednicˇky reprezentujı´cı´ 3 kulicˇky ve cˇtvrte´ prˇihra´dce. Protozˇe ma´me n − 1 prˇepa´zˇek a r kulicˇek, je kazˇde´ umı´steˇnı´ reprezentova´no rˇeteˇzcem de´lky n + r − 1, ve ktere´m je n − 1 nul a r jednicˇek. Kazˇdy´ takovy´ rˇeteˇzec je urcˇen tı´m, na ktery´ch jeho n − 1 pozicı´ch z 1.,. . . ,(n + r − 1)-te´ pozice jsou nuly (na ostatnı´ch pozicı´ch jsou totizˇ jednicˇky). Vy´beˇr n − 1 pozic pro nuly z celkove´ho pocˇtu n + r − 1 pozic je kombinace n − 1 z n + r − 1, a teˇch je podle Veˇty 4.24 n+r−1 n−1 . 54
Zpu˚sobu˚, jak vyrˇesˇit kombinatoricky´ proble´m, by´va´ neˇkolik.
U kombinacı´ s opakova´nı´m mu˚zˇe by´t kazˇdy´ prvek vybra´n neˇkolikra´t.
Prˇ´ıklad 4.31. Vrat’me se k za´kusku˚m (viz vy´sˇe). Vy´beˇr 6 za´kusku ze 4 druhu ˚ je kombinace 6 ˚ 4+6−1 ˚ za ´ kusku 9 9! = = = z 4 s opakova´nı´m. Teˇch je podle Veˇty 4.30 C(n, r) = n+r−1 n−1 4−1 3 6!3! = 84. Pozna´mka 4.32. Zastavme se u pojmu˚ permutace s opakova´nı´m, variace s opakova´nı´m a kombinace s opakova´nı´m. Ve vsˇech prˇ´ıpadech ma´me vlastneˇ objekty rozdeˇleny do neˇkolika typu˚. Zatı´mco vsˇak u permutacı´ s opakova´nı´m je objektu˚ kazˇde´ho typu prˇedepsany´ pocˇet a tyto pocˇty mohou by´t pro ru˚zne´ typy ru˚zne´, u variacı´ i kombinacı´ s opakova´nı´m je objektu˚ kazˇde´ho typu neomezeneˇ mnoho. 4.3.4
Dalsˇ´ı vy´beˇry
Permutace, variace a kombinace jsou za´kladnı´ typy vy´beˇru˚. Uka´zali jsme si za´kladnı´ typy u´vah, ktere´ vedou ke stanovenı´ jejich pocˇtu. Prakticky se vsˇak mu˚zˇeme setkat s prˇ´ıklady slozˇiteˇjsˇ´ımi, ve ktery´ch u´vahy o permutacı´ch, variacı´ch a kombinacı´ch mu˚zˇeme vyuzˇ´ıt. Prˇ´ıklad 4.33. Ligu hraje 14 ty´mu˚. Vy´sledek ligy je da´n tı´m, ktere´ ty´my obsadı´ 1., 2. a 3. mı´sto a ktere´ 2 ty´my sestoupı´ do nizˇsˇ´ı souteˇzˇe. Kolik je mozˇny´ch vy´sledku˚ ligy? Vy´sledek ligy je da´n vy´beˇrem ty´mu˚ na 1.-3. mı´steˇ a vy´beˇrem ty´mu˚, ktere´ sestupujı´. Ty´my na 1.-3. mı´steˇ jsou trˇi a vybı´ra´me je z 14 ty´mu˚, prˇitom na porˇadı´ vy´beˇru za´lezˇ´ı. Jde tedy o variace 3 z 14 a je jich V (14, 3). Po jejich vy´beˇru vybereme ze zby adı ´vajı´cı´ch 11 ty´mu˚ dva, ktere´ sestoupı´. Zde na porˇ11 ´ neza´lezˇ´ı. Jde tedy o kombinace 2 z 11 a je jich 11 . Podle pravidla souc ˇ inu je celkove ˇ V (14, 3) · ˇ ny´ch 2 2 moz vy´sledku˚ ligy. Mu˚zˇeme ale take´ postupovat obra´ceneˇ, tj. nejdrˇ´ıv vybrat ze 14 dva sestupujı´cı´ ty´my a pak ze zbyly´ch 12 vybrat 3 medailisty. Tak dostaneme 14 ˇ nostı´. Vy´sledek je ale stejny´ jako u prvnı´ u´vahy, 2 · V (12, 3) moz protozˇe 14 · 13 · 12 · 11 · 10 14 14 · 13 · 12 · 11 · 10 = = · V (12, 3) = 2 2 2 11 · 10 11 = 14 · 13 · 12 · = V (14, 3) · . 2 2 Prˇ´ıklad 4.34. Kolika ru˚zny´mi zpu˚soby lze kolem kulate´ho stolu se 6 zˇidlemi posadit 6 osob? Prˇitom dveˇ posazenı´, ktera´ se lisˇ´ı jen pootocˇenı´m, povazˇujeme za shodna´. Oznacˇmeˇ osoby A, B, C, D, E, F. Kdyby i dveˇ posazenı´ lisˇ´ıcı´ se pootocˇenı´m, byla povazˇova´na za ru˚zna´, pak by pocˇet vsˇech posazenı´ byl stejny´ jako pocˇet vsˇech permutacı´ 6 objektu˚, tj. P (6) = 6!. Kruhove´ usporˇa´da´nı´ kolem stolu by totizˇ nehra´lo roli. Kolem stolu je 6 mı´st, mu˚zˇeme jim rˇ´ıkat 1., 2., . . . , 6. mı´sto. Ota´zka by pak byla, kolika zpu˚soby mu˚zˇeme umı´stit 6 osob na 6 mı´st, tj. vlastneˇ kolika zpu˚soby lze usporˇa´dat 6 osob. Odpoveˇd’ je pak zjevneˇ P (6). Povazˇujeme-li vsˇak posazenı´ za shodna´, pra´veˇ kdyzˇ lze z jednoho do druhe´ho prˇejı´t pootocˇenı´m, bude celkovy´ pocˇet posazenı´ mensˇ´ı. Dojdeme k neˇmu naprˇ. na´sledovneˇ. Kruhove´ posazenı´ kolem stolu “roztrhneme” a zapı´sˇeme linea´rneˇ. Naprˇ. ABCFDE je za´pis, kdy A sedı´ na 1. zˇidi, . . . , E sedı´ na 6. zˇidli. Postupny´m ota´cˇenı´m tohoto posazenı´ o 0 azˇ 5 zˇidlı´ dostaneme celkem 6 jeho za´pisu˚: ABCFDE, BCFDEA, CFDEAB, FDEABC, DEABCF, EABCFD. Celkovy´ pocˇet za´pisu˚ je tedy 6 kra´t veˇtsˇ´ı nezˇ pocˇet posazenı´. Protozˇe za´pisu˚ je P (6), je hledany´ pocˇet 6! posazenı´ P (6) 6 = 6 = 5!. Prˇ´ıklad 4.35. Kolik existuje posloupnostı´ n nul a k jednicˇek, ve ktery´ch zˇa´dne´ dveˇ jednicˇky nejsou vedle sebe? Prˇedstavme si posloupnost n nul. Na zacˇa´tku, mezi nulami a na konci te´to posloupnosti je celkem n + 1 mı´st (naprˇ. pro posloupnost 000 jsou to mı´sta 0 0 0 ). Libovolnou posloupnost n nul a k jednicˇek, ktera´ splnˇuje pozˇadovane´ podmı´nky, tak, zˇe na vznikly´ch n + 1 mı´st umı´stı´me k jednicˇek. Takovy´ch mozˇnostı´ je pra´veˇ tolik, kolika zpu˚soby mu˚zˇeme z n + 1 mı´st (mezi nulami) vybrat k mı´st (na kazˇde´ z nich da´me n+1 jednicˇku), tedy pra´veˇ n+1 . Poc ˇ et hledany ´ch posloupnostı ´ je tedy k k .
Shrnutı´ Kombinatorika se zaby´va´ zjisˇt’ova´nı´m pocˇtu mozˇnostı´, ktere´ mohou nastat za prˇedem dany´ch podmı´nek. Za´kladnı´ kombinatoricka´ pravidla jsou pravidlo soucˇtu a pravidlo soucˇinu. Pomocı´ nich se dajı´ urcˇit naprˇ. pocˇty mozˇnostı´ ru˚zny´ch typu˚ vy´beˇru˚. Mezi za´kladnı´ typy vy´beˇru˚ patrˇ´ı permutace, variace a kombinace. Permutace n prvku˚ je jejich libovolne´ usporˇa´da´nı´. Variace k prvku˚ z n prvku˚ je libovolny´ vy´beˇr k prvku˚ z n prvku˚, ve ktere´m na porˇadı´ vybı´rany´ch prvku˚ za´lezˇ´ı. Kombinace k prvku˚ z n prvku˚ je libovolny´ vy´beˇr 55
k prvku˚ z n prvku˚, ve ktere´m na porˇadı´ vybı´rany´ch prvku˚ neza´lezˇ´ı. Variace a kombinace s opakova´nı´m jsou podobne´ vy´beˇry, ve ktery´ch se vybı´rane´ prvky mohou opakovat. Pojmy k zapamatova´nı´ • • • •
pravidla soucˇtu a soucˇinu, permutace a permutace s opakova´nı´m, variace a variace s opakova´nı´m, kombinace a kombinace s opakova´nı´m.
Kontrolnı´ ota´zky 1. 2. 3.
Co rˇ´ıka´ pravidlo soucˇtu? Co rˇ´ıka´ pravidlo soucˇinu? Cˇ´ım se lisˇ´ı permutace a variace? Cˇ´ım se lisˇ´ı variace a kombinace? Cˇ´ım se lisˇ´ı permutace a permutace s opakova´nı´m? Cˇ´ım se lisˇ´ı variace a variace s opakova´nı´m? Cˇ´ım se lisˇ´ı kombinace a kombinace s opakova´nı´m? 4. Cˇ´ım se lisˇ´ı aspekt opakova´nı´ u permutacı´ s opakova´nı´m, variacı´ s opakova´nı´m a kombinacı´ s opakova´nı´m? Cvicˇenı´ 1. Kolik existuje v soustaveˇ o za´kladu n neza´porny´ch cˇ´ısel, ktere´ majı´ pra´veˇ k cˇ´ıslic? 2. Kolik ru˚zny´ch slov lze zı´skat z akronymu WYSIWYG? n 3. Dokazˇte matematickou indukcı´, zˇe nk + k−1 = n+1 pro vsˇechna n ∈ N a k = 0, 1, . . . , n. k 4. Definujme indukcı´ P 1 (X) = 2X a pro n > 1 P n (X) = P (P n−1 (X)). Je-li mnozˇina X konecˇna´, kolik prvku˚ ma´ P n (X)? 5. Kolik ma´ n-prvkova´ mnozˇina m-prvkovy´ch podmnozˇin (m < n)? 6. Kolik existuje funkcı´ m prvkove´ do n prvkove´ mnozˇiny? 7. Kolik existuje injektivnı´ch funkcı´ z m prvkove´ do n prvkove´ mnozˇiny? 8. Kolik existuje n-a´rnı´ch operacı´ na m-prvkove´ mnozˇineˇ? Kolik z nich je injektivnı´ch? 9. Krotitel ma´ do are´ny prˇive´st za sebou jdoucı´ch 5 lvu˚ a 4 tygry. Prˇitom zˇa´dnı´ dva tygrˇi nesmı´ jı´t bezprostrˇedneˇ za sebou (musı´ mezi nimi by´t lev). Kolika zpu˚soby to lze prove´st? Na porˇadı´ tygru˚ i lvu˚ za´lezˇ´ı. 10. Rozeberte prˇedchozı´ cvicˇenı´ pro prˇ´ıpad n lvu˚ a k tygru˚. 11. Na policˇce je 12 knih. Kolika zpu˚soby lze vybrat 5 z nich tak, aby zˇa´dne´ dveˇ z vybrany´ch nesta´ly vedle sebe? Jak je to prˇi vy´beˇru k knih z n?
´ koly k textu U 1. U Prˇ´ıkladu˚ 4.1, 4.2, 4.3 zdu˚vodneˇte pouzˇite´ kombinatoricke´ u´vahy. 2. Vrat’me se k Prˇ´ıkladu 4.3. Jaky´ je nejveˇtsˇ´ı pocˇet k ko´dovy´ch posloupnostı´ bina´rnı´ho ko´du de´lky n, ktery´ umozˇnˇuje opravu azˇ t-na´sobny´ch chyb? t-na´sobnou chybou vznikne z dane´ho slova slovo, ktere´ se od dane´ho lisˇ´ı pra´veˇ v t pozicı´ch. Prˇ´ıklad 4.3 tedy da´va´ odpoveˇd’ pro t = 1. n [Odpoveˇd’: 1+n+ n2 +···+ n .] (2) (r ) 3. Vrat’me se k Prˇ´ıkladu 4.8. Navrhneˇte ru˚zne´ tvary registracˇnı´ch znacˇek a pro kazˇdy´ tvar spocˇ´ıtejte odpovı´dajı´cı´ pocˇet znacˇek, ktere´ lze prˇideˇlit. Jake´ pravidlo pro na´vrh tvaru registracˇnı´ch znacˇek plyne? 4. Zdu˚vodneˇte podrobneˇ Veˇtu 4.13. 5. Zdu˚vodneˇte podrobneˇ Veˇtu 4.16. 6. Zdu˚vodneˇte podrobneˇ Veˇtu 4.24. 7. Promyslete si a zdu˚vodneˇte du˚kaz Veˇty 4.30.
ˇ esˇenı´ R 56
1. (n − 1) · nk−1 . Na´vod: Jako prvnı´ cˇ´ıslici lze pouzˇ´ıt n − 1 cˇ´ıslic (nelze 0), na kazˇdou z dalsˇ´ıch k − 1 pozic pak n cˇ´ıslic. Podle principu soucˇinu to lze celkem (n − 1) · nk−1 zpu˚soby. 2. 1260. Na´vod: Je to P (2, 2, 1, 1, 1). 3. Na´vod: Prˇ´ımo indukcı´. ..k k . 4. Oznacˇme k = |X|. Pak |P 1 (X)| = 2k , |P 2 (X)| = 22 , atd. Obecneˇ je |P n (X)| = 22 (dvojka je tam k kra´t). n 5. m , je to pra´veˇ pocˇet kombinacı´ m z n. 6. V (n, m) = nm . Na´vod: Meˇjme X = {x1 , . . . , xm }, Y = {y1 , . . . , yn }. Libovolna´ funkce f je da´na usporˇa´danou m-ticı´ hf (x1 ), . . . , f (xm )i hodnot f (xi ) ∈ Y . Vy´beˇr kazˇde´ takove´ m-tice je variace m z n s opakova´nı´m. Teˇch je V (n, m) = nm . 7. Pro m ≤ n existuje V (n, m) injektivnı´ch funkcı´, pro m > n zˇa´dna´. Na´vod: Viz prˇedchozı´ cvicˇenı´, jde o variace bez opakova´nı´. n 8. mm . Na´vod: Pro |X| = m je to pocˇet zobrazenı´ mnozˇiny X n do mnozˇiny X. Protozˇe |X n | = mn , n existje mm n-a´rnı´ch operacı´ na m-prvkove´ mnozˇineˇ (viz prˇedchozı´ cvicˇenı´). Pro n = 1 je z nich V (m, m) = m injektivnı´ch; pro n > 1 nenı´ zˇa´dna´ injektivnı´. 9. Existuje 43200 zpu˚sobu˚. Na´vod: Lvy lze rozmı´stit P (5) = 5! = 120 zpu˚soby. Zby´va´ 6 mı´st pro umı´steˇnı´ tygru˚ (na zacˇa´tku, mezi lvy a na konci). Do nich lze tygry umı´stit V (6, 4) = 360 zpu˚soby. Podle pravidla soucˇinu existuje celkem 120 · 360 = 43200 zpu˚sobu˚. 10. Pro k ≤ n + 1 existuje P (n) · V (n + 1, k) zpu˚sobu˚. Pro k > n + 1 takovy´ zpu˚sob neexistuje. mozˇnostı´ (pokud 2k − 1 ≤ n, jinak 11. Existuje 56 mozˇnostı´. V obecne´m prˇ´ıpadeˇ existuje n+k−1 k zˇa´dna´ mozˇnost neexistuje). Na´vod: Kazˇdy´ takovy´ vy´beˇr k knih z n knih mu˚zˇeme reprezentovat posloupnostı´ k jednicˇek (na pozicı´ch vybrany´ch knih) a n − k nul (na pozicı´ch nevybrany´ch knih), ve ktere´ se nevyskytujı ´ sousedı´cı´ jednicˇky (vybrane´ knihy nestojı´ vedle sebe). Teˇch je podle Prˇ´ıkladu 4.35 n−k+1 . k Studijnı´ cı´le: Po prostudova´nı´ kapitol 4.4 a 4.5 by student meˇl zna´t princip inkluze a exkluze a umeˇt ho pouzˇ´ıt. Da´le by meˇl zna´t za´klady pocˇ´ıta´nı´ pravdeˇpodobnostı´. Student by meˇl umeˇt v za´kladnı´ch u´loha´ch samostatneˇ prove´st spra´vnou kombinatorickou u´vahu. Klı´cˇova´ slova: princip inkluze a exkluze, pravdeˇpodobnost, pocˇ´ıta´nı´ pravdeˇpodobnosti
4.4
Princip inkluze a exkluze
V nabı´dce volitelny´ch prˇedmeˇtu˚ je neˇmcˇina a anglicˇtina. Neˇmcˇinu si zvolilo 15 studentu˚, anglicˇtinu 30 studentu˚. 5 studentu˚ si zvolilo neˇmcˇinu i anglicˇtinu. Kolik studentu˚ si jako volitelny´ prˇedmeˇt vybralo cizı´ jazyk (tj. neˇmcˇinu nebo anglicˇtinu)? Oznacˇme N a A po rˇadeˇ mnozˇiny studentu˚, kterˇ´ı si zapsali neˇmcˇinu a anglicˇtinu. Secˇteme-li |N | (pocˇet teˇch, kterˇ´ı si zapsali neˇmcˇinu) a |A| (pocˇet teˇch, kterˇ´ı si zapsali anglicˇtinu), pocˇ´ıta´me dvakra´t ty, kterˇ´ı si zapsali neˇmcˇinu i anglicˇtinu (teˇch je |N ∩ A|). Ty tedy musı´me od |N | + |A| odecˇ´ıst. Pocˇet |N ∪ A| teˇch, kterˇ´ı si zapsali neˇmcˇinu nebo anglicˇtinu, je tedy |N ∪ A| = |N | + |A| − |N ∩ A| = 15 + 30 − 5 = 40. Jiny´ prˇ´ıklad: Na jiste´ univerziteˇ je 56 ucˇitelu˚ cˇleny americke´ informaticke´ spolecˇnosti ACM (Association for Computing Machinery). Cˇlenove´ ACM si mohou prˇikoupit cˇlenstvı´ v neˇktere´ z tzv. special interest group (SIG, SIG jsou soucˇa´sti ACM). Ze zmı´neˇny´ch 56 ucˇitelu˚ jich je 20 cˇleny SIGMOD (Special Interest Group on Management of Data), oznacˇme jejich mnozˇinu A1 ; 15 cˇleny SIGIR (Special Interest Group on Information Retrieval), oznacˇme jejich mnozˇinu A2 ; 20 cˇleny SIGKDD (Special Interest Group on Knowledge Discovery in Data), oznacˇme jejich mnozˇinu A3 . Da´le je zna´mo, zˇe 10 jich je cˇleny SIGMOD i SIGIR, 8 jich je cˇleny SIGMOD i SIGKDD, 7 jich je cˇleny SIGIR i SIGKDD, 4 jsou cˇleny SIGMOD, SIGIR i SIGKDD. Kolik z 56 cˇlenu˚ ACM je cˇlenem neˇktere´ z SIGMOD, SIGIR, SIGKDD? Pta´me se vlastneˇ, kolik prvku˚ ma´ mnozˇina A1 ∪ A2 ∪ A3 , prˇitom zna´me |A1 |, |A2 |, |A3 |, |A1 ∩ A2 |, |A1 ∩ A3 |, |A2 ∩ A3 | a |A1 ∩ A2 ∩ A3 |. Pokud bychom pouze secˇetli |A1 | + |A2 | + |A3 |, 57
pak jsou dvakra´t zapocˇ´ıta´ni ti z A1 ∩ A2 , z A1 ∩ A3 a z A2 ∩ A3 , a dokonce trˇikra´t jsou zapocˇ´ıta´ni ti z A1 ∩ A2 ∩ A3 . To sva´dı´ k tomu rˇ´ıci, zˇe |A1 ∪ A2 ∪ A3 | se rovna´ |A1 | + |A2 | + |A3 | − |A1 ∩ A2 | − |A1 ∩ A3 | − |A2 ∩ A3 | − 2|A1 ∩ A2 ∩ A3 |. To je ale sˇpatneˇ. Odecˇteme-li totizˇ od |A1 |+|A2 |+|A3 | pocˇty |A1 ∩A2 |, |A1 ∩A3 | i |A2 ∩A3 |, odecˇ´ıta´me v kazˇde´m z |A1 ∩ A2 |, |A1 ∩ A3 | a |A2 ∩ A3 | i pocˇet teˇch, kterˇ´ı jsou v A1 ∩ A2 ∩ A3 (nakreslete si obra´zek). Tedy od |A1 | + |A2 | + |A3 | jsme odecˇetli 3|A1 ∩ A2 ∩ A3 |. K tomu jsme pak jesˇteˇ odecˇetli 2|A1 ∩ A2 ∩ A3 |. Celkoveˇ jsme tedy od |A1 | + |A2 | + |A3 | odecˇetli |A1 ∩ A2 ∩ A3 | peˇtkra´t a meˇli jsme to odecˇ´ıst jen dvakra´t. Spra´vny´ vy´sledek tedy je |A1 ∪ A2 ∪ A3 | = |A1 | + |A2 | + |A3 | − |A1 ∩ A2 | − |A1 ∩ A3 | − |A2 ∩ A3 | + +|A1 ∩ A2 ∩ A3 | = 20 + 15 + 20 − 10 − 8 − 7 + 4 = 24. ´ vahy uka´zane´ na vy´sˇe uvedeny´ch prˇ´ıkladech jsou prˇedmeˇtem tzv. principu inkluze a exkluze (tj. U zapojova´nı´ a vylucˇova´nı´). Veˇta 4.36 (princip inkluze a exkluze). Pro mnozˇiny A1 , . . . , An platı´ X \ |A1 ∪ A2 ∪ · · · ∪ An | = (−1)|I|+1 | Ai |. i∈I
∅6=I⊆{1,2,...,n}
Zastavme se nejdrˇ´ıv nad tı´m, co princip inkluze a exkluze rˇ´ıka´. Na leve´ straneˇ rovnosti je pocˇet prvku˚, ktere´ patrˇ´ı do sjednocenı T ´ A1 ∪ · · · ∪ An , tj. alesponˇ do jedne´ z A1 , . . . , An . Na prave´ straneˇ je soucˇet |I|+1 vy ´razu ˚ (−1) | ´ prˇes vsˇechny nepra´zdne´ podmnozˇiny mnozˇiny {1, . . . , n}. i∈I Ai |, kde I probı´ha T | i∈I Ai | je pocˇet prvku˚ pru˚niku mnozˇin, jejichzˇ index patrˇ´ı do I, tj. naprˇ. pro I = {2, 3, 5} je to |A2 ∩ A3 ∩ A5 |. Vy´raz (−1)|I|+1 je roven 1, pokud I obsahuje lichy´ pocˇet prvku˚, a je roven −1, pokud I obsahuje sudy´ pocˇet prvku˚. Tedy: v soucˇtu na prave´ straneˇ jsou pocˇty prvku˚ vsˇech mozˇny´ch pru˚niku˚ (jednocˇlenny´ch, dvoucˇlenny´ch,. . . , azˇ po n-cˇlenny´) utvorˇene´ z A1 , . . . , An , prˇitom pocˇet prvku˚ dane´ho pru˚niku je se zname´nkem + pro pru˚niky liche´ho pocˇtu mnozˇin a se zname´nkem − pro pru˚niky sude´ho pocˇtu mnozˇin. Zkontrolujte, zˇe vzorec pro n = 2 i n = 3 da´va´ pra´veˇ dva vzorce, ke ktery´m jsme dosˇli i u prˇ´ıkladu˚ s volitelny´mi prˇedmeˇty a s cˇlenstvı´m v SIG ACM. Prˇejdeˇme nynı´ k du˚kazu Veˇty 4.36. Du˚kaz. Vezmeˇme libovolny´ prvek x z A1 ∪ · · · ∪ An a porovnejme, jaky´m cˇ´ıslem x “prˇispı´va´” na leve´ a na prave´ straneˇ dokazovane´ rovnosti. Na leve´ straneˇ prˇispı´va´ zrˇejmeˇ jednicˇkou. Pro pravou stranu je to slozˇiteˇjsˇ´ı. Prvek x patrˇ´ı pra´veˇ do, rˇekneˇme, k mnozˇin z mnozˇin A1 , . . . , An . Mu˚zˇeme prˇedpokla´dat, zˇe to jsou mnozˇiny A1 , . . . , Ak (kdyby ne, mnozˇiny prˇeznacˇ´ıme). Pak x patrˇ´ı do neˇjake´ho pru˚niku, ktery´ je na prave´ straneˇ rovnosti, pra´veˇ kdyzˇ je to pru˚nik neˇjaky´ch T mnozˇin z A1 , . . . , Aj . Je-li to pru˚nik liche´ho pocˇtu mnozˇin, x do odpovı´dajı´cı´ho vy´razu (−1)|I|+1 | Ai | prˇispı´va´ cˇ´ıslem 1, je-li to pru˚nik T sude´ho pocˇtu mnozˇin, x do vy´razu (−1)|I|+1 | Ai | prˇispı´va´ cˇ´ıslem −1. Z A1 , . . . , Ak lze vytva´rˇet jednoprvkove´, . . . , k-prvkove´ pru˚niky. Pocˇet l-prvkovy´ch pru˚niku˚ je prˇitom kl . Vidı´me tedy, zˇe x prˇispı´va´ celkem na pravou stranu cˇ´ıslem k k k k − + − · · · + (−1)k+1 . 1 2 3 k Jaka´ je hodnota tohoto soucˇtu? Vezmeˇme binomickou veˇtu a dosad’me do (4.2) x = −1. Dostaneme k X n
k X
k 0 = 0 = (1 − 1) = (1 + x) = x =1+ (−1) = k i i=0 i=1 k k k k = 1−( − + − · · · + (−1)k+1 ). 1 2 3 k k
k
k
i
i
Odtud tedy vidı´me, zˇe hledana´ hodnota soucˇtu je 1. Prvek x tedy i na pravou stranu prˇispı´va´ jednicˇkou. Protozˇe x byl libovolny´, vy´razy na leve´ a prave´ straneˇ dokazovane´ rovnosti majı´ stejne´ hodnoty. Prˇ´ıklad 4.37. Kolik je prˇirozeny´ch cˇ´ısel mezi 1 a 100 (vcˇetneˇ 1 i 100), ktera´ nejsou deˇlitelna´ ani dveˇma, ani trˇemi nebo peˇti? Princip inkluze a exkluze mu˚zˇeme pouzˇ´ıt na´sledovneˇ. Oznacˇme A1 A2 A3
= {n ∈ N | 1 ≤ n ≤ 100, n je deˇlitelne´ 2}, = {n ∈ N | 1 ≤ n ≤ 100, n je deˇlitelne´ 3}, = {n ∈ N | 1 ≤ n ≤ 100, n je deˇlitelne´ 5}. 58
(4.3) (4.4) (4.5)
Pak prˇirozena´ cˇ´ısla mezi 1 a 100 (vcˇetneˇ 1 i 100), ktera´ nejsou deˇlitelna´ ani dveˇma, ani trˇemi nebo peˇti, jsou pra´veˇ prvky mnozˇiny A = A1 ∩ A2 ∩ A3 . Protozˇe A1 ∩ A2 ∩ A3 = A1 ∪ A2 ∪ A3 , je |A| = |A1 ∪ A2 ∪ A3 | = 100 − |A1 ∪ A2 ∪ A3 |. Podle principu inkluze a exkluze je |A1 ∪ A2 ∪ A3 | = |A1 | + |A2 | + |A3 | − |A1 ∩ A2 | − |A1 ∩ A3 | − |A2 ∩ A3 | + |A1 ∩ A2 ∩ A3 |. Zby´va´ tedy urcˇit |A1 |, |A2 |, |A3 |, |A1 ∩ A2 |, |A1 ∩ A3 |, |A2 ∩ A3 |, |A1 ∩ A2 ∩ A3 |, cozˇ je snadne´. Ukazˇme to na prˇ´ıkladu mnozˇiny A1 ∩ A2 . A1 ∩ A2 je mnozˇina prˇirozeny´ch cˇ´ısel mezi 1 a 100, ktera´ jsou deˇlitelna´ dveˇma i trˇemi. To jsou ale pra´veˇ ta cˇ´ısla, ktera´ jsou deˇlitelna´ 6 (cˇ´ıslo je deˇlitelne´ 6, pra´veˇ kdyzˇ je deˇlitelne´ 2 i 3). Teˇch je b 100 ´ cˇa´st cˇ´ısla 100 ˇ 6 c = 16 (dolnı´ cela 6 ), tj. |A1 ∩ A2 | = 16. Podobne dostaneme |A1 | = 50, |A2 | = 33, |A3 | = 20, |A1 ∩ A3 | = 10, |A2 ∩ A3 | = 6, |A1 ∩ A2 ∩ A3 | = 3. Dosazenı´m pak dostaneme |A| = 100 − |A1 ∪ A2 ∪ A3 | = 26.
4.5
Pocˇ´ıta´nı´ pravdeˇpodobnosti
Pocˇ´ıta´nı´ pravdeˇpodobnostı´ jednoduchy´ch jevu˚ je jednou z aplikacı´ kombinatoricke´ho pocˇ´ıta´nı´, ktera´ je v prakticke´m zˇivoteˇ velmi uzˇitecˇna´. Prˇedstavme si, zˇe ha´zı´me kostkou. Mu˚zˇe padnout jednicˇka, dvojka, trojka, cˇtyrˇka, peˇtka nebo sˇestka. Prˇitom kazˇdy´ z teˇchto vy´sledku˚ ma´ stejnou sˇanci (kostka je fe´rova´). Jaka´ je pravdeˇpodobnost, zˇe prˇi hodu padne cˇ´ıslo deˇlitelne´ trˇemi? Jiny´mi slovy, jaka´ je pravdeˇpodobnost, zˇe prˇi hodu padne trojka nebo sˇestka? Celkem existuje 6 mozˇny´ch vy´sledku˚ hodu kostkou. Z teˇchto pra´veˇ dva vy´sledky (trojka a sˇestka) odpovı´dajı´ jevu „padne trojka nebo sˇestka“. Cha´peme-li pravdeˇpodobnost jako pocˇet prˇ´ıznivy´ch vy´sledku˚ ku pocˇtu vsˇech mozˇny´ch vy´sledku˚, je to dveˇ ku sˇesti, tedy 26 = 0.33333 . . . . Pru˚vodce studiem Ota´zkami o pravdeˇpodobnostech a usuzova´nı´ za nejistoty se zaby´va´ teorie pravdeˇpodobnosti. Velke´ mnozˇstvı´ prˇ´ıpadu˚, se ktery´mi se prakticky setka´va´me, ma´ na´sledujı´cı´ podobu. Prˇedstavme si, zˇe se kona´ neˇjaky´ pokus, ktery´ skoncˇ´ı jednı´m z vy´sledku˚ e1 , . . . , en . Vy´sledku˚m e1 , . . . , en se rˇ´ıka´ elementa´rnı´ jevy. Prˇedpokla´da´me, zˇe kazˇdy´ z vy´sledku˚ e1 , . . . , en ma´ stejnou sˇanci, tj. elementa´rnı´ jevy jsou stejneˇ pravdeˇpodobne´. Pokusem mu˚zˇe by´t hod kostkou, elementa´rnı´ jevy jsou pak 1, 2, 3, 4, 5, 6 (vy´sledky hodu). Jev je kazˇda´ podmnozˇina A ⊆ E = {e1 , . . . , en }. Jevem u hodu kostkou je naprˇ. mnozˇina A = {3, 6} (padne cˇ´ıslo deˇlitelne´ trˇemi) nebo B = {2, 3, 4, 5, 6} (padne cˇ´ıslo ru˚zne´ od 1). Pravdeˇpodobnost P (A) jevu A je da´na vztahem P (A) =
|A| , |E|
tj. je to pocˇet vsˇech vy´sledku˚ prˇ´ıznivy´ch jevu A ku pocˇtu vsˇech mozˇny´ch vy´sledku˚. Naprˇ. pravdeˇ|{3,6}| podobnost toho, zˇe padne cˇ´ıslo deˇlitelne´ 3 je tedy P (A) = |{1,2,3,4,5,6}| = 13 , pravdeˇpodobnost, zˇe |{2,3,4,5,6}| padne cˇ´ıslo ru˚zne´ od 1 je P (A) = |{1,2,3,4,5,6}| = 65 . Pravdeˇpodobnost mu˚zˇe naby´vat hodnot od 0 do 1. 0 je pravdeˇpodobnost nemozˇne´ho jevu, naprˇ. zˇe padne cˇ´ıslo, ktere´ je sude´ i liche´. 1 je pravdeˇpodobnost jiste´ho jevu, naprˇ. zˇe padne cˇ´ıslo mensˇ´ı nezˇ 9.
Chceme-li urcˇit pravdeˇpodobnost neˇjake´ uda´losti, mu˚zˇeme jednodusˇe pouzˇ´ıt vzorec P (A) = je ale trˇeba ucˇinit na´sledujı´cı´:
|A| |E| . K tomu
1. Urcˇit mnozˇinu E vsˇech elementa´rnı´ch jevu˚ (vy´sledku˚) a oveˇrˇit, zˇe jsou vsˇechny stejneˇ pravdeˇpodobne´, 2. urcˇit jev A ⊆ E, ktery´ odpovı´da´ dane´ uda´losti, 3. urcˇit pocˇet prvku˚ mnozˇiny E, tj. urcˇit |E|, 4. urcˇit pocˇet prvku˚ mnozˇiny A, tj. urcˇit |A|. V krocı´ch 1. a 2. si koncepcˇneˇ ujasnı´me situaci (1. a 2. odpovı´da´ nalezenı´ spra´vne´ho pohledu na veˇc), v krocı´ch 3. a 4. obvykle provedeme urcˇite´ kombinatoricke´ u´vahy. Zacˇneme jednoduchy´mi prˇ´ıklady. 59
Prˇ´ıklad 4.38. Ha´zı´me modrou a cˇervenou kostkou. Jaka´ je pravdeˇpodobnost, zˇe na modre´ kostce padne sude´ a na cˇervene´ liche´ cˇ´ıslo? Na sitaci se mu˚zˇeme dı´vat takto: Vy´sledek, tj. elementa´rnı´ jev, je da´n dvojicı´ cˇ´ısel hm, ci, kde m, c ∈ {1, 2, 3, 4, 5, 6} a m a c jsou po rˇadeˇ vy´sledek na modre´ a cˇervene´ kostce. Tedy ma´me E = {hm, ci | m, c ∈ {1, 2, 3, 4, 5, 6}}. Elementa´rnı´ jev hm, ci je prˇ´ıznivy´ uda´losti „na modre´ kostce padne sude´ a na cˇervene´ liche´ cˇ´ıslo“, pra´veˇ kdyzˇ m ∈ {2, 4, 6} a c ∈ {1, 3, 5}. Tedy A = {hm, ci | m ∈ {2, 4, 6}, c ∈ {1, 3, 5}}. Vidı´me, zˇe |E| = 6 · 6 = 36 (prˇ´ımo podle pravidla soucˇinu) a zˇe |A| = 3 · 3 = 9 (podle pravidla |A| 9 soucˇinu). Tedy hledana´ pravdeˇpodobnost P (A) je P (A) = |E| = 36 = 0.25. Prˇ´ıklad 4.39. Ha´zı´me dveˇma kostkami, ktere´ jsou nerozlisˇitelne´. Jaka´ je pravdeˇpodobnost, zˇe asponˇ na jedne´ z nich padne dvojka? Vezmeˇme opeˇt E = {hm, ci | m, c ∈ {1, 2, 3, 4, 5, 6}}. Zajı´ma´ na´s ted’ jev A = {hm, ci ∈ E | m = 2 nebo c = 2} a jeho pocˇet prvku˚. K neˇmu mu˚zˇeme dojı´t tak: Pro jevy A1 = {hm, ci ∈ E | m = 2} (na prvnı´ padne dvojka) a A2 = {hm, ci ∈ E | c = 2} (na druhe´ padne dvojka) zrˇejmeˇ platı´ A = A1 ∪ A2 . Protozˇe A1 ∩ A2 = {h2, 2i}, je podle principu inkluze a exkluze |A| = |A1 ∪ A2 | = |A1 | + |A2 | − |A1 ∩ A2 | = 6 + 6 − 1 = 11. Pravdeˇpodobnost, zˇe asponˇ na jedne´ z kostek padne dvojka je tedy P (A) =
|A| |E|
=
11 36 .
Prˇi hleda´nı´ vhodne´ho pohledu na veˇc (viz bod 1.) musı´me by´t opatrnı´. Podı´vejme se znovu na Prˇ´ıklad 4.39. Prˇ´ıklad sva´dı´ k na´sledujı´cı´mu pohledu. Na hody se mu˚zˇeme dı´vat jako na kombinace 2 z 6 s opakova´nı´m. Pro to, zda padne dvojka, totizˇ nenı´ du˚lezˇite´, jestli padne na jedne´ nebo druhe´ kostce. Du˚lezˇite´ je veˇdeˇt, zˇe naprˇ. padla trojka a cˇtyrˇka, neza´lezˇ´ı na tom, na ktere´ z kostek ta cˇ´ısla padla. Tedy hod 7mu ˚ zˇeme cha´pat jako kombinaci 2 z 6 s opakova´nı´m a teˇch je podle Veˇty 4.30 C(6, 2) = 6+2−1 = ´ me 6−1 5 = 21. Ma tedy 21 elementa´rnı´ch jevu˚. Kolik z nich je prˇ´ıznivy´ch jevu A, ktery´ popisuje, zˇe padla asponˇ jedna dvojka? Je jich 6. Skutecˇneˇ, v kombinaci, ktera´ do jevu patrˇ´ı, musı´ by´t jeden z prvku˚ dvojka a ten druhy´ mu˚zˇe by´t libovolny´ z 1, 2, 3, 4, 5, 6. To je celkem 6 mozˇnostı´. Hodnota pravdeˇpodobnosti P (A) je tedy |A| 6 = 21 . To je ale jiny´ vy´sledek nezˇ ten, ktery´ jsme dostali v Prˇ´ıkladu 4.39! Kde je chyba P (A) = |E| (zkuste na to prˇijı´t nejdrˇ´ıv sami)? Je v tom, zˇe kdyzˇ se na elementa´rnı´ jevy dı´va´me jako na kombinace s opakova´nı´m, nejsou vsˇechny stejneˇ pravdeˇpodobne´. Naprˇ. kombinace, ve ktere´ jsou dveˇ trojky (padnou dveˇ trojky) je (dvakra´t) me´neˇ pravdeˇpodobna´ nezˇ kombinace, ve ktere´ je trojka a sˇestka. Vy´sledek „dveˇ trojky“ totizˇ mu˚zˇe nastat pra´veˇ jednı´m zpu˚sobem: na prvnı´ i druhe´ kostce padne trojka. Vy´sledek „trojka a sˇestka“ mu˚zˇe naproti tomu padnout dveˇma zpu˚soby: na prvnı´ kostce trojka a na druhe´ sˇestka, nebo na |A| prvnı´ kostce sˇestka a na druhe´ trojka. Vzorec P (A) = |E| tedy nemu˚zˇeme pouzˇ´ıt. Prˇ´ıklad 4.40. Jaka´ je pravdeˇpodobnost, zˇe prˇi rozda´va´nı´ 4 karet z balı´cˇku 32 hracı´ch karet dostaneme cˇtyrˇi sedmicˇky? Jaka´ je pravdeˇpodobnost, zˇe dostaneme dva kra´le a dveˇ esa? V tomto prˇ´ıpadeˇ mu˚zˇeme za elementa´rnı´ jevy povazˇovat cˇtyrˇprvkove´ mnozˇiny karet (podmnozˇiny 32-prvkove´ mnozˇiny vsˇech karet). Kazˇde´mu rozda´nı´ totizˇ odpovı´da´ jedna cˇtyrˇprvkova´ mnozˇina karet (na porˇadı´ neza´lezˇ´ı). Pravdeˇpodobnost, zˇe dostaneme cˇtyrˇi sedmicˇky je 1/ 32 ˇ podobnost, zˇe 4 . Pravde 32 4 4 dostaneme 2 kra´le a 2 esa je 2 2 / 4 .
Shrnutı´ Princip inkluze a exkluze je cˇasto pouzˇ´ıvany´m kombinatoricky´m principem. Uda´va´ pocˇet prvku˚ sjednocenı´ neˇkolika mnozˇin pomocı´ pocˇtu prvku˚ pru˚niku˚ jednotlivy´ch mnozˇin. Pocˇ´ıta´nı´ pravdeˇpodobnostı´ jednoduchy´ch jevu˚ patrˇ´ı mezi za´kladnı´ aplikace kombinatoricke´ho pocˇ´ıta´nı´. Pravdeˇpodobnost jevu je da´na podı´lem pocˇtu mozˇnostı´ prˇ´ıznivy´ch dane´mu jevu ku pocˇtu vsˇech mozˇnostı´. Kombinatoricke´ u´vahy se uplatnı´ prˇi urcˇova´nı´ pocˇtu mnozˇnostı´. Pojmy k zapamatova´nı´ • princip inkluze a exkluze, 60
• elementa´rnı´ jev, jev, • pravdeˇpodobnost. Kontrolnı´ ota´zky 1. Co rˇ´ıka´ princip inkluze a exkluze? 2. Jak se zjednodusˇ´ı vzorec z principu inkluze a exkluze, jsou-li mnozˇiny A1 , . . . , An po dvou disjunktnı´? 3. Jaky´ je rozdı´l mezi pojmy jev a elementa´rnı´ jev? 4. Co je to pravdeˇpodobnost jevu a jak je definova´na? Cvicˇenı´ 1. Urcˇete pocˇet prˇirozeny´ch cˇ´ısel mezi 1 a 2000 (vcˇetneˇ 1 i 2000), ktera´ nejsou deˇlitelna´ ani 2, ani 3, ani 5. 2. Urcˇete pocˇet prˇirozeny´ch cˇ´ısel mezi 1 a 2000 (vcˇetneˇ 1 i 2000), ktera´ nejsou deˇlitelna´ ani 2, ani 3, ani 5, ani 7. 3. Urcˇete pocˇet prˇirozeny´ch cˇ´ısel mezi 1 a 2000 (vcˇetneˇ 1 i 2000), ktera´ nejsou deˇlitelna´ ani 2, ani 3, ani 5, ale jsou deˇlitelna´ 7. 4. Kolika zpu˚soby mu˚zˇeme rozmı´stit 15 ru˚zny´ch knih do 5 prˇihra´dek tak, aby v kazˇde´ prˇihra´dce byla asponˇ jedna kniha, ale nejvy´sˇe 4 knihy? 5. Ha´zı´me dveˇma kostkami. Ma´me si vsadit na cˇ´ıslo, ktere´ vzejde jako soucˇet vy´sledku˚ na jednotlivy´ch kostka´ch. Na jake´ cˇ´ıslo vsadı´me? 6. Rozved’te vy´pocˇet u Prˇ´ıkladu 4.40. 7. Ha´zı´me trˇikra´t po sobeˇ kostkou. Jaka´ je pravdeˇpodobnost, zˇe vy´sledek prˇi druhe´m i prˇi trˇetı´m hodu je veˇtsˇ´ı nezˇ vy´sledek prˇi prvnı´m hodu? 8. Ha´zı´me trˇikra´t po sobeˇ kostkou. Jaka´ je pravdeˇpodobnost, zˇe vy´sledek prˇi druhe´m hodu je veˇtsˇ´ı nezˇ vy´sledek prˇi prvnı´m hodu a zˇe vy´sledek prˇi trˇetı´m hodu je veˇtsˇ´ı nezˇ vy´sledek prˇi druhe´m hodu?
´ koly k textu U 1. Vyrˇesˇte podrobneˇ Prˇ´ıklad 4.37. 2. Na za´kladeˇ Prˇ´ıkladu 4.37 dokazˇte na´sledujı´cı´ tvrzenı´: Jsou-li podmnozˇiny A1 , . . . , An neˇjake´ kprvkove ´ mnozˇiny X, pak pocˇet prvku P T˚ mnozˇiny X, ktere´ nepatrˇ´ı ani jedne´ z mnozˇin A1 , . . . , An je k − ∅6=I⊆{1,2,...,n} (−1)|I|+1 | i∈I Ai |. 3. Vysveˇtlete podrobneˇ chybu popsanou v odstavci na Prˇ´ıkladem 4.39.
ˇ esˇenı´ R 1. 2. 3. 4. 5. 6.
534. 458. 76. 5 10 5 6 15!(˙ 14 10 − 1 6 + 2 2 ). 7. Na´vod: Pocˇet vsˇech cˇtyrˇprvkovy´ch podmnozˇin 32-prvkove´ mnozˇiny je 32 ´ z 4 ; existuje jedina nich, ktera´ obsahuje same´ sedmicˇky; 42 42 z nich obsahuje 2 kra´le a 2 esa. 7. 55/216. 8. 5/54.
61
Reference [Goo98]
Goodaire E. G., Parmenter M. M.: Discrete Mathematics with Graph Theory. Prentice-Hall, Inc., 1998.
[Gri99]
Grimaldi R.: Discrete and Combinatorial Mathematics. An Applied Introduction. 4th ed. Addison Wesley, Reading, MA, 1999.
[KlYu95] Klir G. J., Yuan B.: Fuzzy Sets and Fuzzy Logic. Theory and Applications. Prentice Hall, Upper Saddle River, NJ, 1995. [MaNe00] Matousˇek J., Nesˇetrˇil J.: Kapitoly z diskre´tnı´ matematiky. Karolinum, Praha, 2000. [Mau91]
Maurer S. B., Ralston A.: Discrete Algorithmic Mathematics, 3rd Ed. AK Peters, 2004.
[PrYe73] Preparata F. P., Yeh R. T.: Introduction to Discrete Structures. For Computer Science and Engineering. Addison Wesley, Reading, MA, 1973. [Soch01] Sochor A.: Klasicka´ matematicka´ logika. Karolinum, Praha, 2001. [Sˇve02]
Sˇvejdar V.: Logika, neu´plnost a slozˇitost. Academia, Praha, 2002.
[Vil77]
Vilenkin N. J.: Kombinatorika. SNTL, Praha, 1977.
62
A
Seznam obra´zku˚ 1
Vennovy diagramy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2
Graf relace k Prˇ´ıkladu 2.24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3
Relace R z Prˇ´ıkladu 2.24 reprezentovana´ seznamem seznamu˚. . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
63
B
Seznam tabulek 1
Za´kladnı´ logicke´ spojky. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Tabulka pro formuli (p i q) c (p i r). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3
Tabulka pro formule nn p, (n q
4
Tabulka booleovsky´ch funkcı´ dvou promeˇnny´ch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5
Vsˇechny booleovske´ funkce jedne´ promeˇnne´. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6
Databa´ze z Prˇ´ıkladu 2.15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7
Tabulka popisujı´cı´ bina´rnı´ relaci R mezi X = {a, b, c} a Y = {1, 2, 3, 4}. . . . . . . . . . . . . . . . . . . . . . 32
8
K Prˇ´ıkladu 2.18: Tabulky popisujı´cı´ bina´rnı´ relaci R mezi pacienty a prˇ´ıznaky nemocı´ (vlevo) a relaci S prˇ´ıznaky nemocı´ a nemocemi (vpravo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
9
Tabulka popisujı´cı´ bina´rnı´ relaci R ◦ S mezi pacienty a nemocemi (viz Prˇ´ıklad 2.18). . . . . . . . . . . . . . . . 33
10
Tabulka popisujı´cı´ bina´rnı´ relace R C S, R B S a R S mezi pacienty a nemocemi (viz Prˇ´ıklad 2.20). . . . . . . 34
11
Tabulka (vlevo) a matice (vpravo) popisujı´cı´ bina´rnı´ relaci R mezi X = {a, b, c} a Y = {1, 2, 3, 4}. . . . . . . . 35
in p) a q.
64
8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16