Matematické základy informatiky
Množiny
okolo nás
Kde ich stretneš v appkách, ktoré používaš každý deň
Množina v množine
Podmnožina: každý prvok A je aj prvkom B → píšeme A ⊆ B
Ľudia na svete
Používatelia Spotify
Premium
Premium
⊆ Spotify
⊆ Ľudia
Každý Premium používateľ je aj používateľ Spotify. Opačne to neplatí.
U × P: všetky možné dvojice
U = používatelia, P = pesničky. Karteziánsky súčin = každý s každou.
s1 Ain't in LA
ADÉLA
s2 Leto v kufri
Gleb
s3 Blinding Lights
The Weeknd
s4 Birds of a Feather
Billie Eilish
s5 Espresso
Sabrina Carpenter
Ema
Tomáš
Lucia
Marek
(Ema, s1)
(Ema, s2)
(Ema, s3)
(Ema, s4)
(Ema, s5)
(Tomáš, s1)
(Tomáš, s2)
(Tomáš, s3)
(Tomáš, s4)
(Tomáš, s5)
(Lucia, s1)
(Lucia, s2)
(Lucia, s3)
(Lucia, s4)
(Lucia, s5)
(Marek, s1)
(Marek, s2)
(Marek, s3)
(Marek, s4)
(Marek, s5)
|U × P| = |U| · |P| = 4 · 5 = 20 dvojíc
Obľúbené ⊆ U × P
Kto má ktorú pesničku v obľúbených? Len niektoré dvojice zo súčinu.
s1 Ain't in LA
ADÉLA
s2 Leto v kufri
Gleb
s3 Blinding Lights
The Weeknd
s4 Birds of a Feather
Billie Eilish
s5 Espresso
Sabrina Carpenter
Ema
Tomáš
Lucia
Marek
♥ (Ema, s1)
♥ (Ema, s4)
♥ (Tomáš, s2)
♥ (Lucia, s1)
♥ (Lucia, s3)
♥ (Lucia, s5)
♥ (Marek, s4)
7 z 20 dvojíc. Takáto podmnožina súčinu sa volá relácia – v databáze je to tabuľka obľúbené(používateľ, pesnička).
Operácie, ktoré poznáš z appiek
A ∩ B · prienik
Instagram – „Sleduje ho Ema a 12 ďalších“:
koho sledujem ja ∩ jeho followeri
A ∪ B · zjednotenie
Playlist na spoločnú párty:
moje obľúbené ∪ tvoje obľúbené
A \ B · rozdiel
Facebook – „Ľudia, ktorých možno poznáš“:
priatelia priateľov \ moji priatelia
Množiny priamo v kóde: Set
Python
moje = {"s1", "s4", "s7"}
tvoje = {"s4", "s5", "s7"}
moje & tvoje # {'s4','s7'}
moje | tvoje # zjednotenie
moje - tvoje # {'s1'}
"s4" in moje # True
TypeScript
const tagy = ["js","py","js"];
const u = new Set(tagy);
// Set {"js", "py"}
u.size // 2
u.has("py") // true
a.intersection(b) // ES2025
Set = žiadne duplikáty + rýchla otázka „je prvkom?“ – presne to, čo treba pri lajkoch, tagoch či unikátnych návštevníkoch.
Filtre v e-shope = prienik
Notebooky
Cena do 800 €
16 GB RAM
výsledky = N ∩ C ∩ R (zelený stred)
Každý ďalší zaškrtnutý filter = ďalší prienik → menej výsledkov, nikdy nie viac.
Na zamyslenie
Spotify má stovky miliónov používateľov a desiatky miliónov pesničiek.
Koľko prvkov má U × P?
Rádovo 10¹⁶ dvojíc.
Preto sa nikdy neukladá celý súčin – iba relácia „obľúbené“.