Wstęp.
Następnym etapem zaraz po zbiorach, który należy poruszyć są relacje. Czym są, po co są, co umieją i czego nie umieją, dowiemy się już za moment. Zapraszam więc do dzieła.
Rozwinięcie.
Zastawiając się nad pojęciem relacji, pierwsza myśl, jaka mogłaby przyjść nam do głowy, jest taka, że relacja matematyczna, może być jakoś związana z relacją w pojęciu takim, jakim go normalnie rozumiemy. Czy jednak mielibyśmy rację?
Tak i nie, jednocześnie.
Zasianą wątpliwość rozwiejmy idąc krok po kroku wyjaśniając, co jest czym.
Czym jest?
Otóż relacją w pojęciu matematycznym/teorio-mnogościowym, nazywamy zbiór \(n\)-tek uporządkowanych. W zapisie prezentuje się to tak:
\(\displaystyle R \subseteq A \times B \times C \times \ ...\)
Dokładnie tak. Czyli mówiąc prościej, jest to zbiór \(n\)-tek uporządkowanych, które są podzbiorem zbioru powstałego z iloczynu kartezjańskiego pewnych zbiorów.
Jakich?
Nie ma to znaczenia. Np. jeżeli zdefiniujemy sobie zbiór \(A = \{1, 2, 3\}\) oraz \(B = \{4, 5, 6\}\), to relacją może być np:
\(R = \{ (1, 5), (2, 4), (3, 5) \}\)
Jeżeli zdefiniujemy sobie \(3\) zbiory, \(A = \{1, 2, 3\}\), \(B = \{4, 5, 6\}\) oraz \(C = \{7, 8, 9\}\), to relacją może być np:
\(R = \{(1, 5, 8), (3, 4, 7)\}\)
Dowolny podzbiór iloczynu kartezjańskiego zbiorów.
Jak duża jest?
Teraz, zwróćmy uwagę na to, ile elementów, mają owe \(n\)-tki. Jest to ważne, ponieważ od \(n\)-ości owych \(n\)-tek zależeć będzie nazwa owej relacji.
Jeżeli:
- \(n = 2\), to relacja będzie dwuargumentowa/binarna,
- \(n = 3\), to relacja będzie trzyargumentowa/ternarna,
- \(n = 4\) to relacja będzie czteroargumentowa/kwaternarna,
- \(n = 5\) to relacja będzie pięcioargumentowa/kwinarna,
Oczywiście, pamiętając czym jest iloczyn kartezjański, dostrzegamy, że jego wynikiem muszą być co najmniej pary uporządkowane więc nie rozważamy tutaj \(n = 1\).
Łatwo zauważyć można pewną leksykalną właściwość nazw tych relacji, a mianowicie ich "arnych" odpowiedników, bowiem każdy z nich kończy się na "-arna". Jest to fundament, na którym zbudujemy ogólne nazewnictwo relacji, a mianowicie, w kontekście tego, jak duże będą \(n\)-tki w relacji, będziemy mówić o arności relacji. W ogólności powiemy o \(n\)-arności (relacji \(n\)-arnej), choć można oczywiście mówić o \(n\)-argumentowości (relacja \(n\)-argumentowa) relacji, zachowując ścisłość. Pojęcie to wprowadzam, ponieważ jest używane i warto je znać.
Jak dużo posiada elementów?
Otóż tak dużo jak dużo posiada elementów.
Brzmi głupio, ale tak w rzeczywistości jest.
A tak w rzeczywistości jest, ponieważ nie jesteśmy w stanie a priori, czyli przed zobaczeniem owej relacji, stwierdzić jak duża ona jest, ponieważ zależy ona tylko od wizji i marzeń jej stwórcy.
Możemy natomiast próbować ją policzyć, narzucając uprzednio jakieś warunki. Najbardziej rozsądnym założeniem będzie, że relacja, będzie równać się iloczynowi kartezjańskiemu zbiorów (w przyszłości zauważymy, że jest to dobre założenie). Wtedy już od razu wiemy ile elementów ma relacja, bo wtedy możemy jasno stwierdzić, że będzie to iloczyn liczności zbiorów, które w owy iloczyn kartezjański wchodzą.
Dziedziny.
Czym jest dziedzina?
Otóż dziedzina, jest to zbiór, wedle którego odnosimy się aktualnie w relacji. Można to sobie zobrazować jako taki "rząd" w \(n\)-tce uporządkowanej.
Ile jest tych dziedzin?
Ano tyle, ilo-argumentowa jest owa relacja. Np. jeżeli zdefiniujemy sobie relację \(5\)-argumentową, to owa relacja będzie miała \(5\) dziedzin. Można powiedzieć jeszcze bardziej obrazowo, że jeżeli relacja tworzy \(n\)-tki uporządkowane, to posiada \(n\) dziedzin.
Dziedzinę oznaczamy literą \(D\), czyli mówiąc o \(i\)-tej dziedzinie relacji napiszemy (Czemu o \(i\)-tej, a nie \(n\)-tej? Bo zaraz pomieszają się nam literki. Za chwilę w tekście dowiemy się dlaczego):
\(D_i(R)\)
Pokażmy to na przykładzie.
Zdefiniujmy sobie relację \(R = \{ (1, 5, 6, 3), (2, 4, 7, 1), (3, 5, 9, 0) \}\). Jak już wcześniej ustaliliśmy, jako że tworzy \(4\)-ki uporządkowane, to jest to relacja \(4\)-argumentowa, przez co ma \(4\) dziedziny. Ustawmy sobie te czwórki nieco inaczej. W pionie.
\(R = \{ \\ \space (1, 5, 6, 3), \\ \space (2, 4, 7, 1), \\ \space (3, 5, 9, 0) \\ \}\)
Teraz, każdą \(i\)-tą dziedzinę, będzie nam określać \(i\)-ta "kolumna" tych czwórek, czyli np. dziedziną pierwszą będzie \(\{1, 2, 3\}\), drugą będzie \(\{5, 4, 5\} = \{5, 4\}\) itd. Formalnie rzecz ujmując można by to rozpisać tak:
\(D_1(R) = \{1, 2, 3\}\\ D_2(R) = \{5, 4\} \\ D_3(R) = \{6, 7, 9\} \\ D_4(R) = \{3, 1, 0\}\)
Wiemy już czym jest dziedzina, teraz należy ją trochę "uformalnić".
Wiemy, że dziedzina jest zbiorem. Wiemy, że jest związana z \(i\)-tym elementem \(n\)-tki uporządkowanej.
Wiemy, że tworzą ją wszystkie \(i\)-te elementy \(n\)-tek uporządkowanych.
Trzeba więc zapisać formalnie, że \(i\)-tą dziedzinę, tworzy zbiór stworzony ze wszystkich \(i\)-tych elementów \(n\)-tek uporządkowanych naszej relacji.
Teraz wróćmy do pierwszej formalnej definicji relacji:
\(\displaystyle R \subseteq A \times B \times C \times \ ...\)
Zmienimy ją trochę, tak żeby każdy zbiór relacji zindeksować liczbowo a nie literami:
\(\displaystyle R \subseteq A_1 \times A_2 \times A_3 \times \ ...\)
Teraz pojedynczy element z \(i\)-tego zbioru oznaczymy małym \(a\) z \(i\)-tym indeksem, czyli \(a_i\).
Mając uściślone oznaczenia napiszmy więc, że:
\(\displaystyle D_i = \{ x \in A_i, \space \text{takich że istnieje} \space (a_1, a_2, a_3, \ ... \ , a_{i - 1}, x, a_{i + 1}, \ ... ) \in R \}\)
Czyli \(i\)-ta dziedzina to zbiór elementów \(x\) należących do \(i\)-tego zbioru iloczynu kartezjańskiego tworzącego relację \(R\), takich że istnieje \(n\)-tka uporządkowana, która istnieje w relacji \(R\), w której na \(i\)-tym miejscu znajduje się owy element \(x\).
Teraz jedna rzecz.
Czemu "zbiór elementów \(x\) należących do \(i\)-tego zbioru iloczynu kartezjańskiego tworzącego relację \(R\)"?
Otóż dlatego, że jak przypomnimy sobie czym jest iloczyn kartezjański, to przypomnimy sobie, że jest to tworzenie zbioru każdy-z-każdym, więc tworząc te \(n\)-tki z iloczynu, będziemy wybierać na \(i\)-te miejsce \(i\)-ty zbiór. Więc dlatego \(i\)-ta dziedzina musi zawierać się w \(i\)-tym zbiorze.
Trochę pokręcone, ale spróbujmy na przykładzie.
Weźmy znów relację \(R = \{ (1, 5, 6, 3), (2, 4, 7, 1), (3, 5, 9, 0) \}\). Teraz jej drugą dziedzinę \(D_2(R) = \{5, 4\}\) i sprawdźmy czy pasuje.
Od początku, czyli \(5\). Czy istnieje taka czwórka, w której na drugim miejscu znajduje się \(5\)? No tak. Pierwsza i trzecia z tej relacji. Teraz drugi element, czyli \(4\). Czy istnieje taka czwórka, w której na drugim miejscu znajduje się \(4\)? No tak. Druga z tej relacji.
Proste i przejrzyste.
Pole relacji.
Pole relacji to pojęcie, które będzie odzwierciedlać wszystkie pojedyncze elementy, jakie mogą pojawić w \(n\)-tkach jakie te relacja definiuje. Dokładniej mówiąc w polu relacji znajdują się wszystkie elementy, wszystkich dziedzin owej relacji. I tak dokładnie się to definiuje, jako sumę wszystkich dziedzin relacji, czyli:
\(D_1(R) \cup D_2(R) \cup \space ... \space \cup D_n(R) = \bigcup D_i(R)\)
Czy owe pole ma swoje oznaczenie? Z tego co mi wiadomo to nie ma. Ale jeżeli komuś uda się owe odnaleźć, proszę o pilny kontakt.
Obcięcie relacji
To pojęcie znaczy dokładnie to jak się nazywa. Chodzi w nim o to, że niektóre relacje mogą obejmować bardzo duże zbiory, a nam będą potrzebne tylko nieduże podzbiory z nich, lub po prostu mniejsze.
Z pomocą przychodzi nam obcięcie.
Polega ono na obcięciu jednego ze zbiorów relacji do jego mniejszego podzbioru. Pokażmy to na przykładzie.
Mamy zbiór \(A = \{1, 2, 3, 4, 5\}\) oraz zbiór \(B = \{6, 7, 8, 9\}\) i relację \(R = \{(1, 6), (2, 7), (3, 8), (4, 9), (5,9)\}\). Teraz załóżmy, że tak wielka relacja jest nam zupełnie do niczego nie potrzebna. Potrzebujemy trochę innej, dlatego sformułujemy sobie nowy zbiór, który ograniczy nam zbiór \(A\) i nazwiemy go \(C\), a będzie on wyglądał tak: \(C = \{1, 2\}\). Mając taki podzbiór spróbujmy ograniczyć naszą relację do niego, tak jakby zastąpił on zbiór \(A\), czyli usuńmy wszystkie elementy, które stworzyły pary, ale nie ma ich w zbiorze \(C\), czyli \(\{3, 4, 5\}\). Wyjdzie nam z tego \(R_1 = \{(1, 6), (2, 7)\}\).
Dokonaliśmy więc teraz obcięcia dziedziny relacji do zbioru \(C\), czyli ograniczyliśmy naszą relację do podzbioru jednej z członków/zbiorów relacji. Taką operację oznaczać będziemy taką pionową półstrzałką w górę, czyli \(\restriction\) .
Zapiszmy sobie teraz naszą relację \(R_1\) jako obcięcie:
\(R_1 = R \restriction C\)
Można takie obcięcie zdefiniować jeszcze formalnie i teraz to uczynimy.
Zdefiniujmy sobie relację:
\(\displaystyle R \subseteq A_1 \times A_2 \times A_3 \times \ ...\)
Teraz obcięciem \(i\)-tej dziedziny relacji \(R\), do zbioru, powiedzmy \(C\), będzie:
\(R\restriction C = \{ A_1\times A_2 \times A_3 \space ... \space\times (C \cap A_i) \times \space ... \space \}\)
Relacje pełne
Otóż relacja utworzona z jakichś zbiorów, może być pełna, bądź niepełna. Teraz, co to pojęcie znaczy?
Relację nazwiemy pełną, jeżeli będzie równać się iloczynowi kartezjańskiemu zbiorów, które ją tworzą.
Ważna rzecz. NIE że relacja będzie podzbiorem, tylko będzie się RÓWNAĆ iloczynowi kartezjańskiemu. Mówi to nam mniej więcej tyle, że będzie zawierać wszystkie możliwe kombinacje elementów, wszystkich zbiorów tworzących.
Jakby próbować opisać to formalnie, to można by napisać że:
\(\text{Relacja } R \text{ na zbiorach } A_1, A_2, A_3, ...,A_n \text{ jest pełna jeżeli } R = A_1 \times A_2 \times A_3 \times \space ... \space \times A_n\)
Czasami można też usłyszeć o relacji pełnej, jako całkowitej/totalnej, nie mniej jest to pojęcie, w kontekście relacji ogólnie, mające różne definicje, dlatego w tym przypadku zostawimy sobie relację pełną, a o całkowitej jeszcze usłyszymy w relacjach binarnych.
Zakończenie
Mamy teraz duży słownik pojęć i wiedzę na temat podstaw konstrukcji relacji. Podstawy te, dadzą nam solidny fundament pod to, by wkroczyć w świat relacji binarnych i funkcji.
Próbując jednak rozwiać wątpliwość zasianą na początku artykułu, czy relacje matematyczne, mają coś wspólnego ze zwykłymi?
Tak i nie.
Nie, dlatego, że twór relacji, nie musi odwzorowywać nic. Może to być dowolny zbiór \(n\)-tek, zupełnie losowych, nie mających żadnego sensu, zarówno praktycznego, jak i teoretycznego.
Ale...
Znacznie częściej relacjom jednak przypisuje się jakiś sens, związany właśnie z byciem w relacji z czymś, w związku z czymś. Takie są np. relacje większości, albo relacje równości, gdzie definiujemy wzajemny stosunek do siebie, np. liczb.
Tak podsumowawszy, żegnam się z Tobą czytelniku, dziękuję za uwagę i do zobaczenia w następnych artykułach.
Hej, jest możliwość kontaktu z tobą? Bo mam zadania z bazy danych o relacjach funkcyjnych a nawet nie wiem jak się zabrać za to. karlauguscik@gmail.com Jak byś mógł proszę o kontakt.