Koło Naukowe Matematyków Uniwersytetu Rzeszowskiego * 96-07-16 Koło Naukowe Matematyków Uniwersytetu Rzeszowskiego Krzysztof Gąsior Komputerowe badanie własności relacji http://delta.univ.rzeszow.pl/knm/ *
Cel Prezentacja wykorzystania komputera jako narzędzia do rozwiązywania problemów matematycznych – informatyczne metody: tworzenia macierzy relacji, grafu oraz diagramu Hessa wyznaczanie liczby relacji przy pomocy komputera oraz porównanie efektywności algorytmów warunki poprawnej optymalizacji programów matematycznych
Tematyka wprowadzenie przekształcanie zadanych relacji na macierze relacji w Javie 5.0 „Tiger” oraz ich wizualizacja za pomocą grafu i diagramu Hessa w Matematice 6.0 komputer jako narzędzie do badania własności relacji wyznaczanie liczby relacji za pomocą metody „brutalnej siły” zastosowanie metody „dziel i zwyciężaj” do wyznaczenia liczby relacji przechodniej
Tematyka wprowadzenie przekształcanie zadanych relacji na macierze relacji w Javie 5.0 „Tiger” oraz ich wizualizacja za pomocą grafu i diagramu Hessa w Matematice 6.0 komputer jako narzędzie do badania własności relacji wyznaczanie liczby relacji za pomocą metody „brutalnej siły” zastosowanie metody „dziel i zwyciężaj” do wyznaczenia liczby relacji przechodniej
Krata Definicja. Zbiór częściowo uporządkowany nazywamy kratą, gdy wszystkie jego podzbiory dwuelementowe mają kresy zwane działaniami kratowymi: Definicja. Kratę nazywamy ograniczoną, gdy i stosujemy oznaczenia
Krata Twierdzenie 1. Jeżeli jest kratą, to dla dowolnych elementów mamy:
Relacje Iloczyn Kartezjański definiujemy następująco: Relacją nazywamy dowolny podzbiór iloczynu kartezjańskiego zbioru. Relacją odwrotną na do relacji nazywamy relacje Złożeniem relacji (Iloczynem względnym) nazywamy taką relację , że
Relacje Relacje można reprezentować przy pomocy: listy macierzy relacji grafu skierowanego diagramu
Macierz relacji R nazywamy macierzą relacji, a elementy tej macierzy traktujemy jako wartości boolowskie.
Interpretacja macierzowa Macierze relacji Przez relację: Interpretacja macierzowa pełną rozumiemy ; pustą rozumiemy ; identyczności rozumiemy I;
Rachunek relacji Twierdzenie 2. Jeżeli , to
Rachunek relacji Twierdzenie 3. Jeżeli , to
Rodzaje relacji zwrotna, gdy ; symetryczna, gdy ; antysymetryczna, gdy ;
Rodzaje relacji przeciwsymetryczna, gdy ; przechodnia, gdy ; idempotentna, gdy ;
Interpretacja działań na relacjach w postaci macierzy relacji
Tabele logiczne 1 1 1
Rodzaje relacji Definicja. Relację zwrotną, symetryczną i przechodnią nazywamy relacją równoważności.
Relacje porządku Definicja. Relacją częściowo porządkującą zbiór X nazywamy relację spełniającą warunki: zwrotności antysymetryczności przechodniości Definicja. Relacją quasi-porządkującą zbiór X nazywamy relację spełniającą warunki: zwrotności przechodniości
Przykłady relacji Relacja (pusta) jest symetryczna, asymetryczna, przeciwsymetryczna, przechodnia, idempotentna; I (identyczności) jest zwrotna, symetryczna, asymetryczna, przechodnia, idempotentna; (pełna) jest zwrotna, symetryczna, przechodnia, idempotentna;
Własności relacji Twierdzenie 4. Jeżeli relacja jest relacją równoważności (idempotentna) , to relacja jest relacją równoważności(idempotentną) . Twierdzenie 5. Jeżeli są relacjami równoważności(idempotentne) oraz , to jest relacją równoważności(idempotentną). Twierdzenie 6. Każdy podzbiór relacji I w X jest relacją idempotentną. Wniosek. Wszystkich macierzy relacji tego rodzaju jest , gdzie n jest wymiarem macierzy.
Ilość relacji binarnych Relacja n - elementowe Wzór Wszystkich Zwrotne Symetryczne Antysymetryczne
Uwaga Twierdzenie 7. Niech wtedy poniższe warunki są równoważne: 1. 2. , dla pewnych 3. , dla pewnych
Uwaga Z faktu, że jest kratą macierzy działania możemy zamienić na:
Tematyka wprowadzenie przekształcanie zadanych relacji na macierze relacji w Javie 5.0 „Tiger” oraz ich wizualizacja za pomocą grafu i diagramu Hessa w Matematice 6.0 komputer jako narzędzie do badania własności relacji wyznaczanie liczby relacji za pomocą metody „brutalnej siły” zastosowanie metody „dziel i zwyciężaj” do wyznaczenia liczby relacji przechodniej
Grafy i diagramy Hessa
Grafy i diagramy Hessa Przykład pokazuje nieprawidłowe działanie metody HesseDiagram[g], ponieważ z interpretacji grafowej wynika, że nie jest to relacja zwrotna, a zatem nie jest to relacja porządku częściowego, czyli diagram nie powinien być utworzony.
Tematyka wprowadzenie przekształcanie zadanych relacji na macierze relacji w Javie 5.0 „Triger” oraz ich wizualizacja za pomocą grafu i diagram Hessa w Matematice 6.0 komputer jako narzędzie do badania własności relacji wyznaczanie liczby relacji za pomocą metody „brutalnej siły” zastosowanie metody „dziel i zwyciężaj” do wyznaczenia liczby relacji przechodniej
Mathematica & Java Java Mathematica macierz – zmienna przechowująca tablice wielowymiarową typu boolean reprezentująca macierz relacji Mathematica g – zmienna przechowująca graf skierowany utworzony przy pomocy metody MakeGraph[].
Matematyka & Java Matematyka Java && || ! 1 true false ==
Działanie metod w Javie będzie polegało na przeszukiwaniu tablicy wielowymiarowej typu boolean (nasza macierz) w poszukiwaniu elementu/ów nie spełniających wybranej własności relacyjnej.
Relacja zwrotna Java Mathematica ReflexiveQ[g]
Relacja symetryczna Java Mathematica SymmetricQ[g]
Relacja asymetryczna Java
Relacja antysymetryczna Java Mathematica AntiSymmetricQ[g]
* 96-07-16 Relacja przechodnia Java Mathematica TransitiveQ[g] *
Relacja idempotentna Java
Relacja równoważności Java Mathematica EquivalenceRelationQ [g]
Relacja quasi - relacja Java
Relacja porządku częściowego Java Mathematica PartialOrderQ[g]
Przykład w Mathematice
Wyznaczanie ilości relacji Rozwiązanie problemu wyznaczenia ilości relacji, będzie polegało na generowaniu kolejnych macierzy od relacji pustej do pełnej i testowanie ich pod względem własności relacyjnych.
Tematyka wprowadzenie przekształcanie zadanych relacji na macierze relacji w Javie 5.0 „Triger” oraz ich wizualizacja za pomocą grafu i diagramu Hessa w Matematice 6.0 komputer jako narzędzie do badania własności relacji wyznaczanie liczby relacji za pomocą metody „brutalnej siły” zastosowanie metody „dziel i zwyciężaj” do wyznaczenia liczby relacji przechodniej
Metoda „brutalnej siły” Metoda „brutalnej siły” jest metodą, która nie wykorzystuje zwykle żadnych informacji o zbiorze poszukiwań, a komputer wykorzystuje jedynie jako szybkie narzędzie do „mało inteligentnego” jego przeglądania.
Start l < BigInteger count = new BigInteger („0”); BigInteger l = new BigInteger („0”); boolean [][] macierz; Czytaj(n); macierz = new boolean[n][n]; l < TAK Czy macierz spełnia własność? NIE TAK Zwiększ zmienną count o jeden; Generuj macierz
Przykład działania dla relacji przechodnich w zbiorze 2 elementowym. ? ? ? ? … Jest relacją przechodnią Nie jest relacją przechodnią
Start l < BigInteger count = new BigInteger („0”); BigInteger l = new BigInteger („0”); boolean [][] macierz; Czytaj(n); macierz = new boolean[n][n]; l < NIE TAK Czy macierz spełnia własność? NIE TAK Zwiększ zmienną count o jeden; Generuj macierz Wypisz wynik poszukiwań
Wszystkich relacji przechodnich w zbiorze 2 elementowym jest 13.
Start l < BigInteger count = new BigInteger („0”); BigInteger l = new BigInteger („0”); boolean [][] macierz; Czytaj(n); macierz = new boolean[n][n]; l < NIE TAK Czy macierz spełnia własność? NIE TAK Zwiększ zmienną count o jeden; Generuj macierz Wypisz wynik poszukiwań Stop
Wyniki Ilość elementów w zbiorze Ilość relacji Zwrotnych Symetrycznych Przechodnich 1 2 4 8 13 3 64 1 024 171 4 096 32 768 3 994 5 1 048 576 2 097 152 154 303 …
Wyniki Ilość elementów w zbiorze Ilość relacji Antysymetryczna Asymetryczna Idempotentna 1 2 12 3 11 216 27 123 4 11 664 729 2 360 5 1 889 568 59 049 73 023 …
Wyniki Ilość elementów w zbiorze Ilość relacji równoważności quasi porządku porządku częściowego 1 2 4 3 5 29 19 15 355 219 52 6 942 4 321 …
Tematyka wprowadzenie przekształcanie zadanych relacji na macierze relacji w Javie 5.0 „Triger” oraz ich wizualizacja za pomocą grafy i diagramów Hessego w Matematice 6.0 komputer jako narzędzie do badania własności relacji wyznaczanie liczby relacji za pomocą metody „brutalnej siły” zastosowanie metody „dziel i zwyciężaj” do wyznaczenia liczby relacji przechodniej
Metoda „dziel i zwyciężaj” Metoda „dziel i zwyciężaj” jest pewną ogólną metodą rozwiązywania problemów polegającą na podziale problemu na mniejsze i wyznaczeniu rozwiązania z rozwiązań problemów mniejszych.
Metoda generowania 5 … 5 … 29 … 29 … 29 … 29 …
Metoda działania programu … … … … zakres działania metody przechodnia
Porównanie Przestrzeń stanów n Metoda Różnica % „Brutalna siła” „Dziel i zwyciężaj” 1 2 50,00 16 15 6,25 3 512 418 94 18,36 4 65 536 22 135 43 401 66,22 5 33 554 432 2 063 069 31 491 363 93,85 6 68 719 476 736 317 921 310 68 401 555 426 99,54
Porównanie n = 5 Metoda Różnica % „Brutalna siła” „Dziel i zwyciężaj” Czas 32 266 ms 2 003 ms 30 263 ms 93,79 Zużycie pamięci 181 MB Zużycie procesora 100%
Uwagi i spostrzeżenia słuchaczy
Więcej informacji M. Malec, „Elementy wstępu do teorii relacji, cześć 1”, AGH, Kraków 1998 J. A. Szrejder, „Równość, podobieństwo, porządek”, WNT, Warszawa 1975 Z. Moszner, „O teorii relacji, PZWS”, Warszawa 1967 K. Gąsior, „Relacje przechodnie”, Rzeszów 2007, praca licencjacka M. Świedr, „Relacje zwrotne i przeciwzwrotne”, Rzeszów 2007, praca licencjacka
Więcej informacji E. M. Reingold, J. Nievergelt, D. Narsingh, „Algorytmy kombinatoryczne”, PWN, 1985 Warszawa L. Banachowski, K. Diks, W. Rytter, „ Algorytmy i struktury danych”, WNT, 1996 Warszawa E. Koffman, P. Wolfgang, „ Struktury danych i techniki obiektowe na przykładzie Javy 5.0”, Helion, 2006 Gliwice
Internet B. Pękala, „Rachunek macierzy nad kratami”, rozprawa doktorska, AGH, Kraków 2007 http://www.math.us.edu.pl/zmd/mdmatw1.pdf Wykłady z matematyki dyskretnej – Internet Discrete Mathematical Structures: Theory and Applications - Matrices and Closures of Relations
Internet J. Gosling, B. Joy, G. Steele, G. Bracha, „ The Java™ Language Specification, Third Edition”, Java Tutorial Mathematica – Wolfram, Combinatorica Nowe cechy języka Java w wersji 1.5
Dziękuje za uwagę