4 Binární relace, Ekvivalence Na pojem relace velmi brzo narazí(snad) každý informatik při studiu relačních databází. Nenítovšakjentatooblast,aleijinámístainformatiky,kdeserelaceskrývajíčipřímo explicitně objevují. Nejčastěji se takto setkáme s binárními relacemi, například vždy, kdyžrozdělujemeobjektypodle shodných znaků(relaceekvivalence),nebokdyž objektymezisebou srovnáváme (relaceuspořádání). Stručný přehled lekce * Reprezentace relací, tabulkou a grafem. * Základní vlastnosti binárních relací. * Relace ekvivalence, neboli rozklady množin. Petr Hliněný, FI MU Brno 1 FI: IB000: Binární Relace
Zopakování pojmu relace Definice4.1.Relace mezimnožinami A 1,,A k,pro k Æ, je libovolná podmnožina kartézského součinu R A 1 A k. Pokud A 1 = =A k = A,hovořímeok-árnírelacina A. Takžebinárnírelace R(pro k=2)je R A A. Příklady relací. {(1,a),(2,a)}jerelacemezi {1,2,3}a{a,b}. {(i,2.i) i Æ}jebinárnírelacena Æ. {(i,j,i+ j) i,j Æ}jeternárnírelacena Æ. Relace mítrychlejšípočítač jebinárnírelacímezistudentyfi. Petr Hliněný, FI MU Brno 2 FI: IB000: Binární Relace
4.1 Reprezentace konečných relací Příklad 4.2. Tabulky relační databáze. Definujmenásledujícímnožiny( elementárnítypy ) ZNAK={a,,z, A,,Z, mezera}, CISLICE={0,1,2,3,4,5,6,7,8,9}. Dáledefinujemetytomnožiny( odvozenétypy ) JMENO=ZNAK 15, PRIJMENI=ZNAK 20, VEK=CISLICE 3, ZAMESTNANEC JMENO PRIJMENI VEK. Relaci typu ZAMESTNANECpaklzereprezentovattabulkou: JMENO PRIJMENI VEK Jan Novák 42 Petr Vichr 28 Pavel Zíma 26 Relační datábáze je konečná množina tabulek. Schéma databáze je(zjednodušeněřečeno)množina typů jednotlivýchtabulek. Petr Hliněný, FI MU Brno 3 FI: IB000: Binární Relace
Reprezentace binárních relací na množině Značení: Binární relaci R M M lze jednoznačně znázornit jejím grafem. Prvky M znázorníme jako body v rovině. Prvek(a,b) Rznázornímejakoorientovanouhranu( šipku )zado b. Je-li a=b,pakjetoutohranou smyčka na a. Pozor,nejednáseo grafyfunkcí známézanalýzy. Napříkladmějme M= {a, b, c, d, e, f}ar={(a, b),(b, c),(b, d),(b, e),(b, f),(d, c), (e, c),(f, c),(e, d),(e, f),(f, b)},pak: f e a b d c Vpřípadě,že Rjenekonečnánebo velká,můžebýtreprezentace Rjejím grafemnepraktická(záležípaknamíře pravidelnosti R). Petr Hliněný, FI MU Brno 4 FI: IB000: Binární Relace
4.2 Vlastnosti binárních relací Definice4.3. Nechť R M M.Binárnírelace Rje reflexivní,právěkdyžprokaždé a Mplatí(a,a) R; ireflexivní,právěkdyžprokaždé a Mplatí(a,a) R; X X symetrická,právěkdyžprokaždé a,b M platí,žejestliže(a,b) R, paktaké(b,a) R; antisymetrická, právě když pro každé a, b (a,b),(b,a) R,pak a=b; X M platí, že jestliže Petr Hliněný, FI MU Brno 5 FI: IB000: Binární Relace
tranzitivní,právěkdyžprokaždé a,b,c Mplatí,žejestliže(a,b),(b,c) R,paktaké(a,c) R. a b c Následují dva základní typy binárních relací, R je relace ekvivalence, právě když je R reflexivní, symetrická a tranzitivní; částečné uspořádání, právě když je R reflexivní, antisymetrická a tranzitivní (často říkáme jen uspořádání). Poznámka: Pozor, může být relace symetrická i antisymetrická zároveň? Ano! Petr Hliněný, FI MU Brno 6 FI: IB000: Binární Relace
Příklad 4.4. Několik příkladů relací definovaných v přirozeném jazyce. Buď Mmnožinavšechstudentů1.ročníkuFI.Uvažmepostupněrelace R M M definované takto (x, y) Rprávěkdyž xaymajístejnérodnéčíslo; (x, y) Rprávěkdyž xmástejnouvýškujako y(dejmetomunacelémm); (x, y) Rprávěkdyžvýška xaysenelišívícejako2mm; (x, y) Rprávěkdyž xmáalespoňtakovouvýškujako y; (x, y) Rprávěkdyž xmájinouvýškunež y(dejmetomunacelémm); (x, y) Rprávěkdyž xjezamilován(a)do y. Příklad 4.5. Jaké vlastnosti mají následující relace? Buď R Æ Æ definovaná takto (x,y) R právě když x dělí y. (Částečné uspořádání, ale ne každá dvě čísla jsou porovnatelná.) Buď R Æ Ædefinovanátakto(x,y) Rprávěkdyž xaymajístejný zbytek po dělení číslem 5. (Ekvivalence.) Nechť F= {f f: Æ Æ}jemnožinafunkcí.Buď R F Fdefinovaná takto(f,g) Rprávěkdyž f(x) < g(x)provšechna x. (Antisymetrická a tranzitivní, ale ne reflexivní není uspořádání.) Petr Hliněný, FI MU Brno 7 FI: IB000: Binární Relace
4.3 Relace ekvivalence Relace R M Mjeekvivalenceprávěkdyž Rjereflexivní,symetrickáa tranzitivní. Tyto tři vlastnosti je tedy třeba ověřit k důkazu toho, že daná relace R je ekvivalence. Jak vypadá graf ekvivalence? Neformálněřečeno:ekvivalencejerelace R M M,taková,že(x,y) R právěkdyž xayjsouvnějakémsmyslu stejné. Petr Hliněný, FI MU Brno 8 FI: IB000: Binární Relace
Buď Mmnožinavšechstudentů1.ročníkuFI.Uvažmepostupněrelace R M Mdefinovanétakto (x,y) Rprávěkdyž xmástejnouvýškujako y; (x,y) Rprávěkdyž xmástejnoubarvuvlasůjako y; (x,y) Rprávěkdyž x,ymajístejnouvýškuastejnoubarvuvlasů; (x,y) Rprávěkdyž x,ymajístejnouvýškunebostejnoubarvuvlasů. (Tato relace obecně není ekvivalence! Proč?) Příklad4.6.Buď R Æ Æbinárnírelacedefinovanátakto:(x,y) Rprávě když x y jedělitelnétřemi. Vjakémsmyslujsouzde xay stejné? Dávajístejnýzbytekpodělenítřemi. Příklad 4.7. Buď R binární relace mezi všemi studenty na přednášce FI: IB000 definovanátakto:(x,y) Rprávěkdyž xiysedívprvnílavici. Proč se v tomto případě nejedná o relaci ekvivalence? Protože není reflexivní pro studenty sedící v dalších lavicích.(takže si dávejte dobrý pozor na správné pochopení definic.) Petr Hliněný, FI MU Brno 9 FI: IB000: Binární Relace
4.4 Rozklady a jejich vztah k ekvivalencím Definice 4.8. Rozklad. Buď M množina. Rozklad(na) Mjemnožinapodmnožin N 2 M splňujícínásl.třipodmínky: N(tj.každýprvek Njeneprázdnápodmnožina M); pokud A,B N,pakbuď A=Bnebo A B= ; A N A=M. Prvkům N se také říká třídy rozkladu. Buď M= {a,b,c,d}.pak N= {{a}, {b,c}, {d}}jerozkladna M. Nechť A 0 = {k Æ kmod3=0}, A 1 = {k Æ kmod3=1}, A 2 = {k Æ kmod3=2}. Pak N= {A 0,A 1,A 2 }jerozkladvšechpřirozenýchčísel Æpodlezbytkových tříd. Každýrozklad Nna Mjednoznačněurčujejistouekvivalenci R N na M. Petr Hliněný, FI MU Brno 10 FI: IB000: Binární Relace
Věta4.9.Buď MmnožinaaNrozkladna M.Nechť R N M Mjerelace na M definovaná takto (x,y) R N právěkdyžexistuje A Ntaková,že x,y A. Pak R N jeekvivalencena M. Důkaz:Dokážeme,že R N jereflexivní,symetrickáatranzitivní(def.4.3). Reflexivita:Buď x Mlibovolné.Jelikož Njerozkladna M,musíexistovat A N takové,že x A(jinaksporsetřetípodmínkouzDefinice4.8). Proto(x,x) R N,tedy R N jereflexivní. Symetrie:Nechť(x,y) R N.Podledefinice R N pakexistuje A N taková,že x,y A.Toaleznamená,žetaké(y,x) R N podledefinice R N,tedy R N jesymetrická. Tranzitivita:Nechť(x,y),(y,z) R N.Podledefinice R N existují A,B Ntakové,že x,y Aay,z B.Jelikož A B,podledruhépodmínky zdefinice4.8platí A=B.Tedy x,z A=B,proto(x,z) R N podle definice R N. Petr Hliněný, FI MU Brno 11 FI: IB000: Binární Relace
Každá ekvivalence R na M jednoznačně určuje jistý rozklad M/R na M. Věta4.10.Buď MmnožinaaRekvivalencena M.Prokaždé x Mdefinujeme množinu [x]={y M (x,y) R}. Pak {[x] x M}jerozkladna M,kterýznačíme M/R. [c] [d] [h] [g] M [a] [b] [e] [f] Důkaz: Dokážeme, že M/R splňuje podmínky Definice 4.8. Petr Hliněný, FI MU Brno 12 FI: IB000: Binární Relace
[c] [d] [h] [g] [b] [e] [f] M [a] Prokaždé[x] M/Rplatí[x],neboť x [x]. Nechť[x],[y] M/R.Ukážeme,žepokud[x] [y],pak[x]=[y]. Jestliže[x] [y],existuje z Mtakové,že z [x]az [y].podle definice[x]a[y]toznamená,že(x,z),(y,z) R.Jelikož Rjesymetrickáa (y,z) R,platí(z,y) R.Jelikož(x,z),(z,y) RaRjetranzitivní,platí (x,y) R.Prototaké(y,x) R(opětzesymetrie R). Nynídokážeme, že[y]=[x]: [x] [y]: Nechť v [x].pak(x, v) Rpodledefinice[x].Dále(y, x) R(vizvýše),tedy(y, v) Rneboť Rjetranzitivní.Topodledefinice[y] znamená,že v [y]. [y] [x]: Nechť v [y].pak(y, v) Rpodledefinice[y].Dále(x, y) R(vizvýše),tedy(x, v) Rneboť Rjetranzitivní.Topodledefinice[x] znamená,že v [x]. Platí [x] M/R[x]=M,neboť x [x]prokaždé x M. Petr Hliněný, FI MU Brno 13 FI: IB000: Binární Relace