Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Algebra Struktury s jednou operací
Teoretická informatika 2 Proč zavádíme algebru hledáme nástroj pro popis objektů reálného světa (zejména pak matematiky) a pro popis operací s těmito objekty chceme tento nástroj budovat postupně od nejjednodušších objektů (univerzálních) po úzce specializované objekty
Teoretická informatika 3 Základní pojmy Každý objekt je reprezentován datovým nosičem množina popisující data, se kterými pracujeme operacemi nejjednoduššími transformacemi, které nad daty můžeme provádět Binární operace na množině je zobrazení A A A, obvykle použijeme infixový tvar pro zápis operace a b
Teoretická informatika 4 Grupoid Nejuniverzálnějším objektem je grupoid (A, ), což je datový nosič A s jednou operací Jedinou vlastností je fakt, že užitím operace na libovolné dva prvky z A dostaneme opět prvek z A. Tedy množina A je vzhledem k operaci uzavřená. Zavádíme pojem komutativní grupoid a,b A: a b = b a
Teoretická informatika 5 Pologrupa Pro asociativní operaci platí a,b,c A: (a b) c = a (b c) Pologrupa (A, ) je grupoid s asociativní operací POZOR! Vlastnosti grupoidu zůstávají Opět můžeme hovořit o komutativní pologrupě, pokud je operace navíc komutativní Opakovanou aplikací operace na tentýž prvek získáme mocninu v monoidu (A, ) označíme a n = a a... a (n-krát) pro lib. n N
Teoretická informatika 6 Neutrální prvek Levý neutrální prvek je takové e A, které splní a A: e a = a Analogicky pravý neutrální prvek je takové e A, kde a A: a e = a Levých neutrálních prvků může být více, pokud nejsou žádné pravé (a naopak). Obsahuje-li pologrupa levý a pravý neutrální prvek, pak se musí jednat o tentýž prvek, který se nazývá neutrální prvek důkaz: e l = e l e p = e p
Teoretická informatika 7 Monoid Monoid (A, ) je pologrupa s neutrálním prvkem Monoid je tedy množina s operací, kde platí uzavřenost, asociativní zákon a existuje neutrální prvek (oboustranný). V případě komutativní operace hovoříme o komutativním monoidu.
Teoretická informatika 8 Inverzní prvek Mějme monoid (A, ) s neutrálním prvkem e Pak b A je levý (resp. pravý) inverzní prvek k a A, pokud platí b a = e (resp. a b = e) Inverzní prvek je pak takový prvek, který splní a b = b a = e Inverzní prvek k prvku a značíme a -1
Teoretická informatika 9 Grupa Je dán monoid (A, ), kde je a A, e neutrální prvek, l levý inverzní prvek k a a p pravý inverzní prvek k a. Pak platí: p = e p = (l a) p = l (a p) = l e = l Z uvedeného plyne, že l = p V monoidu tedy neexistuje nic jako levý a pravý inverzní prvek! Grupa (A, ) je monoid, kde ke každému prvku existuje prvek inverzní Opět hovoříme také o komutativní grupě
Teoretická informatika 10 Řád prvku a řád grupy Řád prvku a grupy (G, ) je nejmenší přirozené číslo n takové, že a n = e. Pokud takové n neexistuje, pak a má řád 0. Řádem grupy se nazývá mohutnost, tj. počet prvků její nosné množiny.
Teoretická informatika strana 11 Zbytkové třídy Pro dané číslo n N definujeme na množině Z relaci ρ takto: a ρ b a b (mod n) n a-b Tedy v relaci jsou spolu právě taková čísla a a b, která dávají po dělení n stejný zbytek Relace ρ je relací ekvivalence na množině Z. Této relaci přísluší rozklad Z/ρ značí se Z n jednotlivé prvky (třídy) rozkladu se nazývají zbytkové třídy a značí se [a] n tedy [a] n = {a + kn k Z}
Teoretická informatika strana 12 Operace se zbytkovými třídami Na množině zbytkových tříd modulo n lze definovat operace + a * takto: [a] n + [b] n = [a+b] n [a] n [b] n = [a b] n Operace jsou korektně definovány pomocí reprezentantů Modulární aritmetika; aplikace v kryptografii Množina zbytkových tříd je uzavřená vzhledem k operacím sčítání a násobení
Teoretická informatika strana 13 Grupy zbytkových tříd Algebraická struktura (Z n,+) je komutativní grupa pro libovolné n operace je uzavřená, komutativní a asociativní existuje neutrální prvek e = [0] n ke každému prvku [a] n existuje inverzní prvek [-a] n Algebraická struktura (Z n, ) je komutativní monoid pro libovolné n operace je uzavřená, komutativní a asociativní existuje neutrální prvek e = [1] n inverzní prvky obecně existovat nemusí
Teoretická informatika strana 14 Invertibilní prvky Prvky, k nimž existuje inverze Třída [a] n má inverzi NSD(a,n)=1 plyne z Bezoutovy rovnosti Vypustíme-li všechny třídy soudělné s modulem (včetně nulové), získáme grupu zbytkových tříd značíme (Z n *, )
Teoretická informatika 15 Tradiční matematické příklady (N, +) komutativní pologrupa (N 0, +) komutativní monoid (N, ) komutativní monoid (Z, +) komutativní grupa (Z, ) komutativní monoid (Q, +) komutativní grupa (Q, ) komutativní monoid (Q-{0}, ) komutativní grupa (Z n, +) komutativní grupa (Z n, ) komutativní monoid (Z n*, ) komutativní grupa
Teoretická informatika 16 Vlastnosti struktur V pologrupách nezáleží na uzávorkování V komutativní grupoidech nezáleží na pořadí V pologrupách definujeme mocninu a n jako aplikaci operace na n činitelů a Mocnina se zápornými n se definuje jako inverze na mocninu V monoidu existuje také a 0 = e V grupě je inverzí k prvku a b prvek b -1 a -1 Lze dokázat (v monoidu) platnost a m a n = a m+n, (a m ) n = a m n
Teoretická informatika 17 Příklady Na konečné množině A = {@, #, $, %} je možno zadat operaci * tabulkou. Rozhodněte, zda je operace * komutativní a asociativní Existuje v grupoidu (A,*) neutrální prvek? Pokud ano, existuje ke každému prvku inverzní prvek? Ukažte, že ({a,b} +, ) je pologrupa, ale není monoid. Určete řád prvku 5 v grupě (Z 7, +) Určete řád prvku 3 v grupě (Z 5*, ) Určete vlastnosti struktur ({0,1},+) a ({0,1}, ) * @ # $ % @ @ @ @ @ # @ # @ # $ @ @ $ $ % @ # $ %
Teoretická informatika 18 Podstruktury Nechť (A,*) je grupoid / pologrupa / monoid / grupa a nechť B A. Jestliže je i (B,*) grupoid / pologrupa / monoid / grupa, nazýváme jej / ji podgrupoid / podpologrupa / podmonoid / podgrupa. Například (S 0, +) je podmonoidem monoidu (N 0, +), kde S značí množinu všech sudých přirozených čísel.
Teoretická informatika 19 Podgrupy (H, ) je podgrupou grupy (G, ) právě tehdy, když: H G e H a H a -1 H a,b H a b H Pomocí množiny M G můžeme generovat podgrupu (M, ) grupy (G, ) hovoříme o podgrupě generované množinou M Grupa generovaná jednoprvkovou množinou se nazývá cyklická