O ALGORYTMACH BADANIA WŁASNOŚCI RELACJI

Podobne dokumenty
O relacjach i algorytmach

O relacjach i algorytmach. Zenon Gniazdowski Warszawska Wyższa Szkoła Informatyki zgniazdowski@wwsi.edu.pl

Wszechnica Popołudniowa: Algorytmika i programowanie O relacjach i algorytmach. Zenon Gniazdowski

Rozważmy funkcję f : X Y. Dla dowolnego zbioru A X określamy. Dla dowolnego zbioru B Y określamy jego przeciwobraz:

Teoria automatów i języków formalnych. Określenie relacji

Zbiory, relacje i funkcje

Matematyka dyskretna. 1. Relacje

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14

Relacje. opracował Maciej Grzesiak. 17 października 2011

domykanie relacji, relacja równoważności, rozkłady zbiorów

BOGDAN ZARĘBSKI ZASTOSOWANIE ZASADY ABSTRAKCJI DO KONSTRUKCJI LICZB CAŁKOWITYCH

- Dla danego zbioru S zbiór wszystkich jego podzbiorów oznaczany symbolem 2 S.

Wykłady z Matematyki Dyskretnej

DEFINICJA. Definicja 1 Niech A i B będą zbiorami. Relacja R pomiędzy A i B jest podzbiorem iloczynu kartezjańskiego tych zbiorów, R A B.

Sortowanie topologiczne skierowanych grafów acyklicznych

Relacje binarne. Def. Relację ϱ w zbiorze X nazywamy. antysymetryczną, gdy x, y X (xϱy yϱx x = y) spójną, gdy x, y X (xϱy yϱx x = y)

Zbiory. Specjalnym zbiorem jest zbiór pusty nie zawierajacy żadnych elementów. Oznaczamy go symbolem.

Matematyczne Podstawy Informatyki

Relacje i relacje równoważności. Materiały pomocnicze do wykładu. przedmiot: Matematyka Dyskretna 1 wykładowca: dr Magdalena Kacprzak

Rozdział 7 Relacje równoważności

Grupy. Permutacje 1. (G2) istnieje element jednostkowy (lub neutralny), tzn. taki element e G, że dla dowolnego a G zachodzi.

Przykładowe zadania z teorii liczb

Algebra liniowa z geometrią

Relacje. Relacje / strona 1 z 18

Matematyka dyskretna

3. Macierze i Układy Równań Liniowych

Lista zadań - Relacje

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Podstawowe struktury algebraiczne

Pytania i polecenia podstawowe

Algebra Liniowa 2 (INF, TIN), MAP1152 Lista zadań

Teoretyczne podstawy informatyki

5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów.

Ciała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a);

DB Algebra liniowa semestr zimowy 2018

1 Działania na zbiorach

Kongruencje. Sławomir Cynk. 24 września Nowy Sącz. Instytut Matematyki Uniwersytetu Jagiellońskiego

Pokazać, że wyżej zdefiniowana struktura algebraiczna jest przestrzenią wektorową nad ciałem

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same

Egzamin z logiki i teorii mnogości, rozwiązania zadań

Matematyka dyskretna

Teoretyczne podstawy informatyki

1 Zbiory i działania na zbiorach.

1 Podstawy c++ w pigułce.

Matematyka dyskretna. Andrzej Łachwa, UJ, 2017 Zadania 1

Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i

Teoria ciała stałego Cz. I

Metalogika (1) Jerzy Pogonowski. Uniwersytet Opolski. Zakład Logiki Stosowanej UAM

Wstęp do Matematyki (2)

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Macierze - obliczanie wyznacznika macierzy z użyciem permutacji

Chcąc wyróżnić jedno z działań, piszemy np. (, ) i mówimy, że działanie wprowadza w STRUKTURĘ ALGEBRAICZNĄ lub, że (, ) jest SYSTEMEM ALGEBRAICZNYM.

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn a 1j a 2j R i = , C j =

Logika I. Wykład 3. Relacje i funkcje

Algebra WYKŁAD 3 ALGEBRA 1

Liczby zespolone. x + 2 = 0.

1 Rozwiązywanie układów równań. Wyznaczniki. 2 Wektory kilka faktów użytkowych

Podstawy logiki i teorii zbiorów Ćwiczenia

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Relacje. 1 Iloczyn kartezjański. 2 Własności relacji

Matematyka stosowana i metody numeryczne

Grupy, pierścienie i ciała

Wykład z Technologii Informacyjnych. Piotr Mika

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

(4) x (y z) = (x y) (x z), x (y z) = (x y) (x z), (3) x (x y) = x, x (x y) = x, (2) x 0 = x, x 1 = x

Analiza matematyczna i algebra liniowa Macierze

W pewnym mieście jeden z jej mieszkańców goli wszystkich tych i tylko tych jej mieszkańców, którzy nie golą się

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

FUNKCJE. (odwzorowania) Funkcje 1

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Macierz o wymiarach m n. a 21. a 22. A =

TEORIA GRAFÓW I SIECI

Podstawowe struktury algebraiczne

Logika i teoria mnogości Ćwiczenia

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

IVa. Relacje - abstrakcyjne własności

1. Elementy (abstrakcyjnej) teorii grup

Kongruencje twierdzenie Wilsona

1 Zbiory. 1.1 Kiedy {a} = {b, c}? (tzn. podać warunki na a, b i c) 1.2 Udowodnić, że A {A} A =.

Wokół Problemu Steinhausa z teorii liczb

Matematyka dyskretna. Andrzej Łachwa, UJ, A/14

Funkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska

Wykład 7. Informatyka Stosowana. 21 listopada Informatyka Stosowana Wykład 7 21 listopada / 27

O MACIERZACH I UKŁADACH RÓWNAŃ

Model procesu dydaktycznego

Temperatura w atmosferze (czy innym ośrodku) jako funkcja dł. i szer. geogr. oraz wysokości.

LOGIKA I TEORIA ZBIORÓW

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Algebra abstrakcyjna

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

0 --> 5, 1 --> 7, 2 --> 9, 3 -->1, 4 --> 3, 5 --> 5, 6 --> 7, 7 --> 9, 8 --> 1, 9 --> 3.

Logika binarna. Prawo łączności mówimy, że operator binarny * na zbiorze S jest łączny gdy (x * y) * z = x * (y * z) dla każdego x, y, z S.

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Technologie i systemy oparte na logice rozmytej

G. Wybrane elementy teorii grafów

Wykład 4. Informatyka Stosowana. Magdalena Alama-Bućko. 25 marca Magdalena Alama-Bućko Wykład 4 25 marca / 25

Matematyka dyskretna Literatura Podstawowa: 1. K.A. Ross, C.R.B. Wright: Matematyka Dyskretna, PWN, 1996 (2006) 2. J. Jaworski, Z. Palka, J.

Teoria liczb. Magdalena Lemańska. Magdalena Lemańska,

Transkrypt:

ZESZYTY NAUKOWE 23-37 Zenon GNIAZDOWSKI 1 O ALGORYTMACH BADANIA WŁASNOŚCI RELACJI Streszczenie W artykule omówione relacje dwuargumentowe, oraz algorytmy służące do badania ich własności, a także przedstawiono przykłady relacji wraz z określeniem ich typów. Abstract In this paper, the binary relations and algorithms for examination of theirs properties are presented. At the end, examples with full description of relations types are showed. 1. WSTĘP Pojęcie relacji jest podstawowym pojęciem matematycznym [1,2]. Pojęcie to jest także użyteczne w innych dziedzinach. Jako przykład jego użyteczności można podać relacyjne bazy danych lub statystykę. W bazach danych, pojęcie relacji jest używane w znaczeniu pewnego podzbioru iloczynu kartezjańskiego. W statystyce relacje konstytuują skale pomiarowe: skala nominalna jest stanowiona przez relację równoważności, skale mocniejsze przez relacje porządku. W przypadku dwuargumentowych relacji na zbiorach skończonych istnieje możliwość ich reprezentacji przy pomocy macierzy kwadratowej (notabene będącej macierzą sąsiedztwa grafu). Macierzowa reprezentacja relacji umożliwia algorytmizację badanie własności relacji. Takie podejście ma istotne znaczenie z punktu widzenia dydaktyki informatyki. Inżynier powinien umieć skojarzyć pojęcia teoretyczne 1 Dr hab. inż. Zenon Gniazdowski jest profesorem Warszawskiej Wyższej Szkole Informatyki oraz docentem w Instytucie Technologii Elektronowej. 23

Zenon GNIAZDOWSKI z praktycznym ich zastosowaniem. W szczególności inżynier informatyk powinien umieć modele matematycznych przedstawiać w formie zalgorytmizowanej. W niniejszym artykule zostaną omówione relacje dwuargumentowe, a także sposoby ich reprezentacji oraz algorytmy do badania własności relacji. Zostaną także pokazane przykłady relacji wraz z omówieniem ich własności i określeniem ich typów. Dla zobrazowania relacji zostaną przedstawione grafy narysowane przy pomocy programu yed Graph Editor [3]. 2. ILOCZYN KARTEZJAŃSKI ZBORÓW Rozważa się dwa zbiory S i T. Elementami zbioru S są elementy s : s S. Analogicznie, elementami zbioru T są elementy t : t T. Zbiór wszystkich uporządkowanych par (s, t) nazywa się iloczynem (produktem) kartezjańskim zbiorów S i T. Iloczyn kartezjański oznacza się jako S T. Można to zapisać w następujący sposób: s t S T, : ss i t T (1) Jako przykład może posłużyć iloczyn kartezjański dwóch zbiorów, z których pierwszy zawiera cztery cyfry: S = {1,2,3,4}, zaś zbiór drugi zawiera trzy litery: T = {a,b,c}: S T 1,2,3,4 a, b, c 1, a 1, b 1, c 2, a 2, b 2, c 3, a 3, b 3, c 4, a 4, b 4, c Przykład ten może mieć swoją interpretację graficzną (Rys. 1). Jeżeli na płaszczyźnie oznaczyć wiersze elementami jednego zbioru, a kolumny elementami zbioru drugiego, to na przecięciu odpowiedniego wiersza i kolumny można zaznaczyć punkt, będący reprezentacją pary (cyfra litera). a b c 1 2 3 4 Rys. 1. Graficzna interpretacja iloczynu kartezjańskiego Wnioskiem z definicji (1) jest stwierdzenie, że operacja iloczynu kartezjańskiego nie jest operacją przemienną: (2) 24

O ALGORYTMACH BADANIA WŁASNOŚCI RELACJI S T T S. (3) W uzupełnieniu należy dodać, że jeżeli zachodzi równość S = T, to zamiast S S można napisać S 2. Przykładem iloczynu kartezjańskiego jest zbiór punktów na płaszczyźnie. Jeśli w (1) przyjąć S = R, gdzie R jest zbiorem liczb rzeczywistych, wówczas S S = R R = R 2. Taki zapis oznacza zbiór punktów na płaszczyźnie OXY. Z nieprzemienności operacji iloczynu kartezjańskiego wynika, że dla pary liczb definiujących punkt w dwuwymiarowej przestrzeni kartezjańskiej nie jest obojętna kolejność ich występowania 2. Innym przykładem iloczynu kartezjańskiego jest zbiór adresów elementów macierzy. Macierz jest skończonym dwuwskaźnikowym ciągiem elementów, zwykle zapisywanym w postaci tablicy o m wierszach i n kolumnach: (4) Dwuwskaźnikowy indeks jest adresem elementu w macierzy. Np. zapis a 24 =1 oznacza, że element znajdujący się w drugim wierszu i czwartej kolumnie macierzy jest równy 1. Macierz jest definiowana jako funkcja określona na iloczynie kartezjańskim zbiorów {1,2,...,m} oraz {1,2,...,n}: f 1,2,, m 1,2,, n R 3. RELACJA DWUARGUMENTOWA : (5) Dla danych zbiorów S i T relacją dwuargumentową na zbiorze S T jest jego dowolny podzbiór. Przykładem relacji może być przydział przedmiotów, których uczą nauczyciele w pewnej szkole. W przykładzie tym można wyodrębnić dwa zbiory. Pierwszy z nich, to zbiór nazwisk nauczycieli: S={Kowalski, Kwiatkowski, Malinowski, Nowak, Wiśniewski}. W zbiorze drugim znajdą się przedmioty, które są w szkole nauczane: T={gimnastyka, rytmika, śpiew, taniec}. Oto przydział przedmiotów do różnych nauczycieli: {(Nowak, rytmika), (Nowak, śpiew), (Nowak, taniec), (Kwiatkowski, gimnastyka), (Malinowski, rytmika), (Malinowski, taniec), (Kowalski, taniec), (Wiśniewski, gimnastyka), (Wiśniewski, śpiew)}. Przydział ten 2 Pojecie iloczynu kartezjańskiego można to rozszerzyć na większą liczbę wymiarów: produkt R R R oznacza zbiór punktów w przestrzeni trójwymiarowej, oznaczanej przez R 3. 25

Zenon GNIAZDOWSKI jest przykładem relacji. Jak widać, jest to tylko pewien podzbiór iloczynu kartezjańskiego S T. Iloczyn kartezjański zawierałby dwadzieścia par (nazwisko, przedmiot), zaś przedstawiona relacja zawiera tylko dziewięć par. 4. Reprezentacja relacji Rozważa się dwa zbiory: zbiór S = {x 1,x 2,...x m } składający się z m elementów oraz zbiór T = {y 1,y 2,...y n } zawierający n elementów. Niech na ich iloczynie kartezjańskim będzie określona pewna relacja ρ. Relacja ta może być reprezentowana w postaci macierzy. Ponieważ macierz relacji jest jednocześnie macierzą sąsiedztwa grafu, Relacja może być także reprezentowana w formie grafu. 1.1. Macierz relacji Macierzą relacji ρ jest to zerojedynkowa macierz [R ij ] i m,j n (macierz boolowska), zawierająca m wierszy i n kolumn. Jej elementy określone są następującym wzorem: W przypadku, gdy S = T, to relacją w zbiorze S jest pewien podzbiór zbioru S S. W dalszej części artykułu będą tylko rozpatrywane relacje w skończonym n- elementowym zbiorze S. Relacje te będą reprezentowane przez kwadratową macierz o rozmiarze n n. Jako przykład, zostanie pokazana relacja ρ określona na pięcioelementowym zbiorze S={1,2,3,4,5}, Dla dwóch zmiennych m,n S, relacja zdefiniowana jest w następujący sposób: mρn m + n jest liczbą złożoną. Macierz tej relacji (ozn. R) ma następującą postać: (6) (7) W pokazanym przykładzie suma 3 + 5 jest liczbą złożoną. Zgodnie z definicją tej relacji, pomiędzy liczbami 3 i 5 zachodzi relacja. Tymczasem, suma 2 + 3 jest liczbą 26

O ALGORYTMACH BADANIA WŁASNOŚCI RELACJI pierwszą. Oznacza to, że pomiędzy liczbami 2 i 3 nie zachodzi relacja. Powyższe fakty ujawniają się w macierzy w ten sposób, że R 35 = 1, zaś R2 3 = 0. 1.2. Graf relacji Jeżeli elementy zbioru S = {x 1,x 2,...x n } potraktować jako węzły grafu, to fakt, iż element x i jest w relacji z elementem x j, można na grafie przedstawić przy pomocy łuku skierowanego od węzła x i do węzła x j. Otrzymany graf jest grafem skierowanym, zaś macierz relacji jest jednocześnie macierzą sąsiedztwa grafu. Na Rys. 2 przedstawiono graf relacji opisanej macierzą (7). Rys. 2. Graf relacji opisanej macierzą (7). 5. WŁASNOŚCI RELACJI Relacja dwuczłonowa może się charakteryzować pewnymi własnościami. Może ona być zwrotna, przeciwzwrotna, symetryczna, antysymetryczna, przechodnia lub spójna. Ponieważ relacja może być reprezentowana przez macierz lub graf, to jej własności ujawnią się we własnościach tej macierzy lub grafu. Identyfikując te własności, można algorytmizować sprawdzanie, czy relacja posiada daną własność. Z drugiej strony, macierz relacji jest macierzą zerojedynkową lub boolowską. Ta podwójna interpretacja pozwala na dwojakie podejście do algorytmizacji badania własności relacji. W zależności od interpretacji elementów macierzy, dla jej zerojedynkowych elementów będą stosowne operacje algebry liczb, zaś dla elementów boolowskich operacje boolowskie. Do tego celu w naturalny sposób nadaje się język C, który zostanie użyty do tworzenia algorytmów badania własności relacji 3. 3 W języku C nie ma osobnego typu dla zmiennych boolowskich, które są reprezentowane jak liczby całkowite. Dlatego, całkowite wartości 1 oraz 0 można traktować jako logiczne wartości prawda oraz fałsz. 27

Zenon GNIAZDOWSKI Zwrotność: Relacja ρ określona w zbiorze S jest zwrotna, gdy dla każdego elementu x S element ten pozostaje w relacji z samym sobą. Można to przedstawić w następujący sposób: (8) W zapisie macierzowym zwrotność przejawia się tym, że wszystkie elementy znajdujące się na przekątnej macierzy R są równe 1. Oznacza to, że w każdym węźle grafu relacji znajdować się będzie pętla. Algorytm sprawdzania zwrotności powinien sprawdzać, czy na przekątnej macierzy znajdują się same jedynki. Jeżeli pojawi się co najmniej jedno zero, to relacja nie jest relacją zwrotną. Algorytm badania zwrotności zapisany w postaci funkcji w języku C ma następującą postać: int zwrotna(int A[SIZE][SIZE],int n) { int i,j; for (i=0;i<n;i++) if (A[i][i] == 0) return 0; return 1; } Przeciwzwrotność: Relacja ρ określona w zbiorze S jest przeciwzwrotna, gdy żaden element x S nie jest w relacji z samym sobą: (9) W zapisie macierzowym, przeciwzwrotność przejawia się tym, że na głównej przekątnej macierzy relacji znajdują się same zera. Na grafie ujawni się to w ten sposób, że żaden jego węzeł nie będzie posiadał pętli. Algorytm badania przeciwzwrotności powinien poszukiwać jedynek na przekątnej macierzy. Jeżeli pojawi się co najmniej jedna jedynka, to relacja nie jest relacją przeciwzwrotną. Funkcja badająca przeciwzwrotność ma następującą postać: int przeciwzwrotna(int A[SIZE][SIZE],int n) { int i,j; for (i=0;i<n;i++) if (A[i][i] == 1) return 0; return 1; } Symetria: Relacja ρ określona w zbiorze S jest symetryczna, gdy dla dwóch dowolnych elementów x,y S, z faktu, że x jest w relacji z y, wynika, że y jest w relacji z x: 28

O ALGORYTMACH BADANIA WŁASNOŚCI RELACJI (10) W zapisie macierzowym, symetria relacji przejawia się w symetrii macierzy relacji: R = R T. Obraz grafu takiej relacji charakteryzuje się tym, że wszystkie łuki między dwoma węzłami grafu biegną w dwóch kierunkach. Algorytm badania symetrii polega na przebiegu przez wszystkie elementy R ij znajdujące się ponad przekątną i sprawdzaniu, czy komplementarne elementy R ji leżące pod przekątną są im równe. Jeżeli pojawi się sytuacja, że R ij Rj i, wtedy relacja nie jest relacją symetryczną. Algorytm badania symetrii relacji ma następującą postać: int symetryczna(int A[SIZE][SIZE],int n) { int i,j; for (i=0;i<n-1;i++) for (j=i+1;j<n;j++) if (A[i][j]!= A[j][i]) return 0; return 1; } Antysymetria: Relacja ρ określona w zbiorze S jest antysymetryczna, jeżeli dla dowolnych dwóch elementów x,y S z faktu, że x jest w relacji z elementem y i y jest w relacji z x, wynika, że elementy x i y są identyczne: (11) W zapisie macierzowym, antysymetria relacji przejawia się tym, że jeżeli w R ij =1, to R ji =0. Oznacza to, ze dla relacji antysymetrycznej zawsze zachodzi następujący warunek:. (12) Na grafie ujawni się to w tym, że jeżeli między dwoma różnymi węzłami jest jakiś łuk, to jest to łuk pojedynczy. Algorytm badania antysymetrii relacji polega na przebiegu przez wszystkie elementy znajdujące się ponad przekątną i sprawdzaniu warunku (12). Jeżeli ten warunek nie jest spełniony co najmniej jeden raz, to relacja nie jest antysymetryczna. Algorytm badania antysymetrii ma postać: int antysymetryczna(int A[SIZE][SIZE],int n) { int i,j; for (i=0;i<n-1;i++) for (j=i+1;j<n;j++) if (A[i][j] && A[j][i]) return 0; return 1; } 29

Zenon GNIAZDOWSKI Przeciwsymetria: Relacja ρ określona w zbiorze S jest przeciwsymetryczna, gdy dla dwóch dowolnych elementów x,y S, z faktu, że x jest w relacji z y, wynika, że y nie jest w relacji z x: (13) Przeciwsymetria relacji jest równoważna występowaniu dwóch innych wcześniej zdefiniowanych własności relacji: antysymetrii i przeciwzwrotności. Jeżeli relacja jest przeciwzwrotna i antysymetryczna, to jest przeciwsymetryczna. Oznacza to, że dla badania przeciwsymetrii nie ma potrzeby tworzenia specjalnego algorytmu. Przechodniość: Relacja ρ określona w zbiorze S jest przechodnia, jeżeli dla dowolnych elementów x,y,z S, z faktu, że x jest w relacji z elementem y i y jest w relacji z elementem z, wynika, że x jest w relacji z elementem z: (14) Graf relacji przechodniej charakteryzuje się tym, że jeżeli istnieje łuk od węzła x do węzła y i od węzła y do węzła z, to istnieje także łuk idący na skróty od węzła x do węzła z. Można to także sformułować inaczej: jeśli pomiędzy węzłami x i z istnieje droga o długości dwóch łuków, to w relacji przechodniej pomiędzy tymi węzłami będzie także istniała droga o długości jednego łuku. Powyższa obserwacja może pomóc w znalezieniu algorytmu badania przechodniości. Z teorii grafów wiadomo, że macierz sąsiedztwa grafu (R) zawiera informację o drogach o długości jednego łuku, zaś jej kwadrat (R 2 ) zawiera informację o ilości dróg o długości dwóch łuków [2]. Warunek przechodniości relacji można teraz wyrazić następująco: jeżeli jakiś element macierzy R 2 jest różny od zera, to element o tych samych współrzędnych w macierzy R jest także różny od zera. Macierz R jest macierzą zero-jedynkową (boolowską). Jej kwadrat (zliczający drogi o długości dwóch łuków) może zawierać zera lub liczby większe od zera. Z punktu widzenia badania przechodniości nie jest to istotne. Zamiast niezerowej liczby dróg o długości dwóch łuków, w odpowiednich miejscach macierzy wynikowej wystarczy wstawić jedynkę informującą, że takie drogi istnieją, a następnie sprawdzać, czy jedynkom w macierzy wynikowej towarzyszą jedynki w macierzy R. Operację mnożenia macierzy (przez siebie) oraz wstawiania jedynek, można zastąpić operacją boolowskiego mnożenia macierzy. W tej sytuacji warunek przechodniości relacji będzie spełniony, gdy: R * R R, (15) W wyrażeniu (15) operacja (*) oznacza właśnie mnożenie boolowskie macierzy [2]. 30

O ALGORYTMACH BADANIA WŁASNOŚCI RELACJI W zwykłym mnożeniu macierzy znanym z algebry liniowej, wynikowy element mnożenia znajdujący się w i-tym wierszu i j-tej kolumnie jest liczony jako iloczyn skalarny i-tego wiersza w macierzy pełniącej role mnożnej i j-tej kolumny w macierzy będącej mnożnikiem rozważanego iloczynu. Oznaczając kwadrat macierzy R jako RR, można to przedstawić w następujący sposób: (16) W mnożeniu boolowskim, zamiast iloczynu i sumy w wyrażeniu (16) używa się odpowiednio iloczynu i sumy boolowskiej:, (17) W ten sposób, element wynikowy będący skutkiem operacji boolowskich w przeciwieństwie do wyrażenia (16) można wyrazić: (18) Nierówność w wyrażeniu (15) oznacza, że w zerojedynkowej macierzy RR otrzymywanej jako wynik mnożenia boolowskiego, jedynki mogą się znajdować co najwyżej w tych miejscach, w których znajdują się jedynki w macierzy R. Algorytm badania przechodniości składa się z dwóch faz. W fazie pierwszej wykonywana jest operacja (18), zaś w fazie drugiej sprawdzany jest warunek (15): int przechodnia(int A[SIZE][SIZE], int n) { int AA[SIZE][SIZE]; int i,j,k; //mnożenie boolowskie: AA = A*A wz. (18) for (i=0;i<n;i++) for (j=0;j<n;j++) { AA[i][j] = 0; for (k=0;k<n;k++) AA[i][j] = AA[i][j] (A[i][k]&&A[k][j]); } } //sprawdzenie warunku (15) for (i=0;i<n;i++) for (j=0;j<n;j++) if (AA[i][j] > A[i][j]) return 0; return 1; 31

Zenon GNIAZDOWSKI Spójność: Relacja ρ określona w zbiorze S jest spójna, jeżeli dla dowolnych dwóch elementów x,y S element x pozostaje w relacji z elementem y lub element y pozostaje w relacji z elementem x: (19) W zapisie macierzowym spójność przejawia się tym, że jeżeli w macierzy relacji R ij = 0, to R ji = 1. Oznacza to, ze dla relacji spójnej zawsze zachodzi następujący warunek:. (20) Graf relacji spójnej charakteryzuje się tym, że pomiędzy dwoma różnymi jego węzłami istnieje łuk co najmniej w jednym kierunku. Algorytm badania spójności relacji polega na przebiegu przez wszystkie elementy macierzy znajdujące się ponad przekątną i sprawdzaniu, czy spełniony jest warunek (20): int spojna(int A[SIZE][SIZE],int n) { int i,j; for (i=0;i<n-1;i++) for (j=i+1;j<n;j++) if (!(A[i][j] A[j][i])) return 0; return 1; } 6. TYPY RELACJI Własności relacji dwuczłonowej mogą konstytuować jej typ. Jeżeli relacja jest zwrotna, symetryczna i przechodnia to jest relacją równoważności. Jeżeli rozważa się pewien zbiór z określoną na nim relacją równoważności, to elementy zbioru będące ze sobą w relacji stanowią klasę abstrakcji (klasę równoważności). Relacja równoważności dzieli zbiór na rozłączne klasy abstrakcji. Kolejnym typem jest relacja częściowego porządku. Jest to relacja zwrotna, antysymetryczna i przechodnia. Zbiór z relacją częściowego porządku jest zbiorem częściowo uporządkowanym. W zbiorze częściowo uporządkowanym sortowanie (w sensie danej relacji) jest możliwe tylko w ramach pewnych podzbiorów. Niestety, taka relacja nie daje możliwości sortowania całego zbioru. Z kolei mocniejsze wymagania spełnia relacja porządku liniowego. Jeżeli relacja jest relacją porządku częściowego i jest spójna, to jest to relacja porządku liniowego. Porządek liniowy jest własnością silniejszą niż porządek częściowy. Daje on możliwość sortowania całego zbioru. 32

O ALGORYTMACH BADANIA WŁASNOŚCI RELACJI 7. PRZYKŁADY RELACJI Dla pokazania różnych własności relacji zostaną przedstawione przykłady kilku relacji, dla których zostaną wskazane ich własności i typy. Przykład 1: Dany jest zbiór S={1,2,3,4,5,6,7} oraz zmienne m,n S. Relacja jest zdefiniowana w następujący sposób: mρn m+n jest liczbą pierwszą. Macierz tej relacji ma następującą postać: (21) Na Rys. 3 przedstawiono graf relacji (21). Pokazana w przykładzie relacja jest relacją symetryczną: dla macierzy zachodzi związek R = R T, zaś w grafie pomiędzy węzłami biegną łuki w dwie strony. Ponieważ nie zachodzą zdefiniowane wyżej własności (8), (9), (11), (13), (14) i (19), symetria jest jedyną własnością omawianej relacji. Rys. 3. Graf relacji opisanej macierzą (21). 33

Zenon GNIAZDOWSKI Przykład 2: Dla danego zbioru S={1,2,3,4,5,6,7} i zmiennych m,n S, relacja jest zdefiniowana w następujący sposób: mρn m jest dzielnikiem liczby n. Macierz relacji ma postać: (22) Na Rys. 4 przedstawiono graf relacji (22). Pokazana w przykładzie relacja jest relacją zwrotną każda z liczb jest swoim własnym dzielnikiem. Jest to także relacja antysymetryczna jeżeli liczba m jest dzielnikiem różnej od siebie liczby n, to liczba n nie jest dzielnikiem liczby m. W grafie ujawni się to w ten sposób, że pomiędzy węzłami biegną łuki tylko w jedną stronę. Relacja jest także przechodnia zachodzi zależność (15). W ten sposób spełnione są warunki definiujące relację częściowego porządku. Rys. 4. Graf relacji opisanej macierzą (22). Przykład 3: Dla danego zbioru S={1,2,4,8,16,32,64}, i zmiennych m,n S, relacja jest zdefiniowana w następujący sposób: mρn m jest dzielnikiem liczby n. 34

O ALGORYTMACH BADANIA WŁASNOŚCI RELACJI W stosunku do poprzedniego przykładu, różnica polega jedynie na rozpatrywaniu różnych zbiorów. Poza tym, relacja jest zdefiniowana identycznie. Macierz tej relacji ma następującą postać: (23) Rys. 5 pokazuje graf relacji (23). Przedstawiona relacja jest zwrotna, antysymetryczna i przechodnia, oraz jest spójna. W przeciwieństwie do relacji z przykładu 2, która była porządkiem częściowym, jest to relacja porządku liniowego. Rys. 5. Graf realcji opisanej macierzą (23). Przykład 4: Dla danego zbioru S={1,2,3,4,5,6,7,8,9} oraz zmiennych m,n S, relacja jest zdefiniowana w następujący sposób: mρn (m n) mod 4. Relację tę 35

Zenon GNIAZDOWSKI można nazwać relacją kongruencji modulo cztery. Inaczej mówiąc, zmienne m i n są ze sobą w relacji, gdy mają jednakowe reszty z dzielenia przez cztery. Macierz tej relacji ma następującą postać: (24) Na Rys. 6 przedstawiono graf relacji (24). Z analizy macierzy oraz grafu wynika, że jest to relacja zwrotna każdy element jest w relacji z sobą, na przekątnej macierzy znajdują się same jedynki, w grafie każdy węzeł ma pętlę. Jest to także relacja symetryczna jeżeli liczba m ma resztę z dzielenia przez 4 identyczną z resztą z dzielenia liczby n przez cztery, to także liczba n ma resztę z dzielenia przez 4 identyczną z resztą z dzielenia liczby m przez cztery. W grafie pomiędzy różnymi węzłami łuki biegną parami i są skierowane w przeciwnych kierunkach. Relacja jest także przechodnia zachodzi związek (15), zaś na grafie widać, że każda droga o długości dwóch łuków może być zastąpiona przez drogę na skróty mającą ługość jednego łuku. Jest to więc relacja równoważności. Relacja ta dzieli zbiór na cztery klasy abstrakcji. Każda z tych klas zawiera elementy będące ze soba w relacji. Klasy te na grafie są widoczne jako cztery podgrafy spójne. Rys. 6. Graf realcji opisanej macierzą (24). 36

O ALGORYTMACH BADANIA WŁASNOŚCI RELACJI 8. PODSUMOWANIE Relacja dwuargumentowa w zbiorze skończonym może być przedstawiona przy pomocy macierzy boolowskiej, która jest jednocześnie macierzą sąsiedztwa grafu relacji. Graf relacji przez odwoływanie do wyobraźni, daje możliwość badania relacji w prosty i intuicyjny sposób. Tymczasem reprezentacja macierzowa, pozwala na algorytmizację badania własności relacji a w konsekwencji umożliwia stworzenie programu do badania własności i typów relacji. Takie podejście jest korzystne ze względów dydaktycznych, gdyż umożliwia przejście od abstrakcyjnego modelu matematycznego do konkretnego modelu w postaci algorytmu komputerowego. Należy także zauważyć, że algorytmy odwołujące się operacji na macierzach, są dobrym treningiem programistycznym, przygotowującym do tworzenia bardziej złożonych programów. Literatura 1. Rasiowa H.: Wstęp do matematyki współczesnej. Wydawnictwo Naukowe PWN. Warszawa 2003 2. Ross K. A., Wright C. R. B.: Matematyka Dyskretna. Wydawnictwo Naukowe PWN. Warszawa 2003 3. http://www.yworks.com 37