1 / 74

Koło Naukowe Matematyków Uniwersytetu Rzeszowskiego

Krzysztof Gąsior. Koło Naukowe Matematyków Uniwersytetu Rzeszowskiego. 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:.

cody
Télécharger la présentation

Koło Naukowe Matematyków Uniwersytetu Rzeszowskiego

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Krzysztof Gąsior Koło Naukowe MatematykówUniwersytetu Rzeszowskiego Komputerowe badanie własności relacji http://delta.univ.rzeszow.pl/knm/

  2. 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

  3. 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

  4. 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

  5. Krata Definicja. Zbiór częściowouporządkowany nazywamy kratą, gdy wszystkie jego podzbiory dwuelementowe mają kresy zwane działaniami kratowymi: Definicja. Kratę nazywamy ograniczoną, gdy i stosujemy oznaczenia

  6. Krata Twierdzenie 1. Jeżeli jest kratą, to dla dowolnych elementów mamy:

  7. 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

  8. Relacje • Relacje można reprezentować przy pomocy: • listy • macierzy relacji • grafu skierowanego • diagramu

  9. Macierz relacji R nazywamy macierzą relacji, a elementy tej macierzy traktujemy jako wartości boolowskie.

  10. Macierze relacji Przez relację: Interpretacja macierzowa • pełną rozumiemy ; • pustą rozumiemy ; • identyczności rozumiemy I;

  11. Rachunek relacji Twierdzenie 2. Jeżeli , to

  12. Rachunek relacji Twierdzenie 3. Jeżeli , to

  13. Rodzaje relacji • zwrotna, gdy ; • symetryczna, gdy ; • antysymetryczna, gdy ;

  14. Rodzaje relacji • przechodnia, gdy ; • przeciwsymetryczna, gdy ; • idempotentna, gdy ;

  15. Interpretacja działań na relacjach w postaci macierzy relacji

  16. Tabele logiczne

  17. Rodzaje relacji Definicja.Relację zwrotną, symetryczną i przechodniąnazywamy relacją równoważności.

  18. 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

  19. 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;

  20. 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ą) . Wniosek. Wszystkich macierzy relacji tego rodzaju jest , gdzie n jest wymiarem macierzy. 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 Xjest relacją idempotentną.

  21. Ilość relacji binarnych

  22. Uwaga Twierdzenie 7. Niech wtedy poniższe warunki są równoważne: 1. , dla pewnych 2. , dla pewnych 3.

  23. Uwaga Z faktu, że jest kratą macierzy działania możemy zamienić na:

  24. 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

  25. Grafy i diagramy Hessa

  26. 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.

  27. 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

  28. Mathematica & Java Java macierz – zmienna przechowująca tablice wielowymiarową typu boolean reprezentująca macierz relacji Mathematica g – zmienna przechowująca graf skierowany utworzony przy pomocy metody MakeGraph[].

  29. Matematyka & Java

  30. 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.

  31. Relacja zwrotna Java Mathematica ReflexiveQ[g]

  32. Relacja symetryczna Java Mathematica SymmetricQ[g]

  33. Relacja asymetryczna Java

  34. Relacja antysymetryczna Java Mathematica AntiSymmetricQ[g]

  35. Relacja przechodnia Java Mathematica TransitiveQ[g]

  36. Relacja idempotentna Java

  37. Relacja równoważności Java Mathematica EquivalenceRelationQ [g]

  38. Relacja quasi - relacja Java

  39. Relacja porządku częściowego Java Mathematica PartialOrderQ[g]

  40. Przykład w Mathematice

  41. Wyznaczanie ilości relacji Rozwiązanie problemu wyznaczenia ilości relacji, będzie polegało na generowaniu kolejnych macierzy od relacji pustej do pełneji testowanie ich pod względem własności relacyjnych.

  42. 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

  43. 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.

  44. Start 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

  45. Przykład działania dla relacji przechodnich w zbiorze 2 elementowym. ? ? ? ? … Jest relacją przechodnią Nie jest relacją przechodnią

  46. Start 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ń

More Related