Sztuczne Systemy Skojarzeniowe SSS Asocjacyjne grafowe struktury danych AGDS Associative Graph Data Structure Adrian Horzyk horzyk@agh.edu.pl AGH Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i Inżynierii Biomedycznej Laboratorium Biocybernetyki 30-059 Kraków, al. Mickiewicza 30, paw. C3/205
STRUKTURY REPREZENTACJI DANYCH Struktura reprezentacji danych odgrywa bardzo istotne znaczenie w informatyce i decyduje o: Dostępie do danych Szybkości operacji na danych Utrwaleniu relacji pomiędzy danymi Bogactwie reprezentacji relacji pomiędzy danymi STRUKTURA REPREZENTACJI DANYCH PASYWNA AKTYWNA
PASYWNE STRUKTURY DANYCH Umożliwiają przechowywanie danych w ich nienaruszonej postaci i formie. AKTYWNE STRUKTURY DANYCH Dopuszczają możliwość wzajemnego oddziaływania danych na siebie.
Klasyczne pasywne tabelaryczne struktury danych Proszę opisać widoczne relacje pomiędzy tymi danymi? Czy to są wszystkie relacje? Czy istnieją jakieś ukryte relacje, których nie widać? Czy wszystkie relacje pomiędzy danymi są utrwalone lub zapamiętane bezpośrednio? Czy warto byłoby utrwalić jeszcze jakieś relacja, które z punktu widzenia obliczeń byłyby przydatne lub wartościowe? Jak reprezentacja danych wpływa na szybkość ich przetwarzania lub dostępu do nich? Co zrobić, żeby zwiększyć efektywność pracy na danych? Czy struktura ma znaczenie?
AGDS to pasywna asocjacyjna grafowa struktura danych
AGDS asocjacyjna grafowa struktura danych (associative graph data structure)
AGDS - asocjacyjna grafowa struktura danych
Porównanie klasycznej struktury z AGDS Co zyskujemy stosując AGDS w porównaniu do klasycznej tabelarycznej struktury danych? Jakie są wady i zalety tych struktur? Jak wpływa struktura na efektywność operacji na danych w tych strukturach? Którą strukturę wybrać i dlaczego?? TRANSFORMACJA
Tworzenie grafowej struktury AGDS opartej na drzewie param Asocjacyjna transformacja swi 2,3 2,6 3,0 3,3 2,7 3,0 3,2 2,2 2,5 3,0 2,7 2,5 3,2 ple 3,3 4,0 4,5 4,7 5,1 5,0 4,8 5,0 4,5 4,8 5,1 5,0 5,1 pwi 1,0 1,2 1,5 1,6 1,6 1,7 1,8 1,5 1,7 1,8 1,9 2,0 2,0 swi ple pwi klasa R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 5,0 5,8 5,4 6,3 6,0 6,7 5,9 6,0 4,9 6,0 5,8 5,7 6,5 2,3 2,6 3,0 3,3 2,7 3,0 3,2 2,2 2,5 3,0 2,7 2,5 3,2 3,3 4,0 4,5 4,7 5,1 5,0 4,8 5,0 4,5 4,8 5,1 5,0 5,1 1,0 1,2 1,5 1,6 1,6 1,7 1,8 1,5 1,7 1,8 1,9 2,0 2,0 R1 WZORCE IRIS w grafowej strukturze opartej na drzewie swi R3 R4 R2 ple pwi klasa 5,0 5,8 5,4 6,3 6,0 6,7 5,9 6,0 4,9 6,0 5,8 5,7 6,5 2,3 2,6 3,0 3,3 2,7 3,0 3,2 2,2 2,5 3,0 2,7 2,5 3,2 3,3 4,0 4,5 4,7 5,1 5,0 4,8 5,0 4,5 4,8 5,1 5,0 5,1 1,0 1,2 1,5 1,6 1,6 1,7 1,8 1,5 1,7 1,8 1,9 2,0 2,0 R3 R4 R5 R6 R7 R8 R5 R6 R7 R9 R10 R11 R12 R13 AGDS klasa 4,9 5,0 5,4 5,7 5,8 5,9 6,0 6,3 6,5 6,7 2,2 2,3 2,5 2,6 2,7 3,0 3,2 3,3 R2 swi param sle R1 sle klasa WZORCE IRIS sle 5,0 5,8 5,4 6,3 6,0 6,7 5,9 6,0 4,9 6,0 5,8 5,7 6,5 WZORCE IRIS WZORCE IRIS param R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 sle param ple R8 pwi 3,3 4,0 4,5 4,7 4,8 5,0 5,1 1,0 1,2 1,5 1,6 1,7 1,8 1,9 2,0 R9 R10 R11 R12 R13 Dostęp do elementów grafu uzyskuje za pośrednictwem wyróżnionego węzła głównego param, który posiada połączenia z wszystkimi parametrami (atrybutami, cechami), a one z wartościami, a te etykietami wzorców.
Grafowa struktura AGDS i dostęp do danych AGDS param sle swi klasa ple pwi 4,9 5,0 5,4 5,7 5,8 5,9 6,0 6,3 6,5 6,7 2,2 2,3 2,5 2,6 2,7 3,0 3,2 3,3 3,3 4,0 4,5 4,7 4,8 5,0 5,1 1,0 1,2 1,5 1,6 1,7 1,8 1,9 2,0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 Struktura grafowa oparta na drzewie pozwala uzyskać bardzo szybki dostęp do dowolnych danych oraz reprezentowanych relacji pomiędzy tymi danymi. Jeśli kolejność rekordów ma znaczenie można dodać połączenia pomiędzy nimi, celem odwzorowania tej kolejności.
Dla dowolnego zbioru danych i zadania klasyfikacji można poszukać podobieństw umożliwiających określenie dyskryminujących je grup
Struktura AGDS dla zbioru Irys z ML Repository
Struktura AGDS i klasyczna struktura tabelaryczna dla zbioru Irys USUNIĘCIE NADMIAROWOŚCI
Struktura AGDS i klasyczna struktura tabelaryczna dla zbioru Irys AGREGACJA I ELIMINACJA DUPLIKATÓW
Struktura AGDS i klasyczna struktura tabelaryczna dla zbioru Irys ZAGREGOWANA REPREZENTACJA ZDUPLIKOWANYCH OBIEKTÓW
Struktura AGDS i klasyczna struktura tabelaryczna dla zbioru Irys BRAK REDUDANCJI I DUPLIKATÓW
Korelacje pomiędzy klasą Virginica a Setosa i Versicolor SZYBKIE ZNAJDYWANIE KORELACJI
OBCE KORELACJE UTRUDNIAJĄCE DYSKRYMINACJĘ?
ZNAJDYWANIE ZALEŻNOŚCI POMIĘDZY DANYMI I ICH GRUPAMI WYKRYWANIE ZALEŻNOŚCI
ASOCJACYJNE GRAFOWE STRUKTURY DANYCH To struktury pasywne Przechowywanie posortowanych danych względem wszystkich atrybutów równocześnie Usunięcie wszelkiej nadmiarowości, duplikatów Bezstratną kompresję danych poprzez eliminację duplikatów Powiązanie danych poprzez dodatkowe relacje (nie występujące w tabelarycznych strukturach) Szybszy dostęp do danych i ich przetwarzanie Osiągnięcie podstawowych asocjacyjnych właściwości Czy można od struktur danych oczekiwać jeszcze więcej? AGDS pasywne TAK AANG aktywne
ASOCJACYJNE GRAFOWE STRUKTURY DANYCH AGDS dzięki swoistej asocjacji i agregacji danych w strukturze grafowej są w stanie zastąpić nie tylko mało efektywne struktury tabelaryczne, lecz również zastąpić część operacji na danych związanych z przeszukiwaniem tabel, tj.: wyszukiwanie danych lub obiektów podobnych, różnych, skorelowanych, odwrotnych, sąsiednich, duplikatów filtrowanie i wyszukiwanie grup, klas względem wybranych wartości cech lub ich zakresów porządkowanie obiektów według wybranych grup atrybutów Mówimy, że struktura danych zastępuje operacje wykonywane na innej strukturze danych wtedy, gdy złożoność obliczeniowa uzyskania danych wynikowych zmniejsza się i osiąga stałą złożoność obliczeniową O(1). Mówiąc potocznie, jeśli po wyniki przetwarzania danych na innej strukturze (np. tabeli) możemy sięgnąć w czasie stałym (np. w AGDS), nie musząc je przeszukiwać w celu zgromadzenia wyników (np. grupowania, określenia sąsiadów, duplikatów), wtedy struktura zastępuje operacje na danych. Ze względu na to, iż w informatyce najwięcej czasu tracimy na różne operacje przeszukiwania danych, struktury AGDS mogą przyspieszyć działanie programów kilkadziesiąt, kilkaset lub kilka tysięcy razy w zależności od rozmiaru danych!
ASOCJACYJNE GRAFOWE STRUKTURY DANYCH a LUDZKI UMYSŁ Aktywne asocjacyjne struktury grafowe znajdujemy np. w ludzkim mózgu, dlatego właśnie proces przetwarzania danych przez ludzki umysł jest taki szybki i skuteczny mimo pozornie wolno działających neuronów! Dzięki takim strukturom w ludzkim mózgu nie muszą zachodzić procesy przeszukiwania, porównywania i eksploracji danych w pętlach obliczeniowych ani nie istnieją tabele danych. Biologiczne procesy formowania wiedzy, przechowywania danych, informacji i wnioskowania oparte są na asocjacjach, które sięgają po odpowiednie dane, jeśli takowe zostały w nich utrwalone na skutek uczenia się, doświadczenia, introspekcji, wnioskowania i innych procesów myślowych. Ponadto ludzki umysł ma zdolność zestawiania ze sobą różnych wywołanych z pamięci zdarzeń niezależnie od rzeczywistego miejsca i czasu ich zaistnienia. Ta zdolność pozwala na tworzenie nowych kontekstów skojarzeniowych dla procesów myślowych, jak również zapewnia kreatywność oraz możliwość uogólniania na wysokim poziomie mentalnym, logicznym i abstrakcyjnym. We współczesnej informatyce na razie za dużo czasu i pieniędzy tracimy na mało efektywne przeszukiwanie ogromnych ilości danych A można inaczej!
AKTYWNA REPREZENTACJA DANYCH AGDS? Wykorzystamy neurony i ich aktywny i dynamiczny charakter do aktywnej reprezentacji struktur danych. AGDS pasywne AANG aktywne
BIBLIOGRAFIA 1. Horzyk, A., How Does Generalization and Creativity Come into Being in Neural Associative Systems and How Does It Form Human-Like Knowledge?, Neurocomputing, 2014, IF = 1,634. 2. Horzyk, A., Human-Like Knowledge Engineering, Generalization and Creativity in Artificial Neural Associative Systems, Springer, AISC 11156, 2014. 3. Horzyk, A., Human-Like Knowledge Engineering, Generalization and Creativity in Artificial Neural Associative Systems, Springer Verlag, AISC 11156, ISSN 2194-5357, 2015. 4. Horzyk, A., Innovative Types and Abilities of Neural Networks Based on Associative Mechanisms and a New Associative Model of Neurons - referat na zaproszenie na międzynarodowej konferencji ICAISC 2015, Springer Verlag, LNAI, 2015. 5. Horzyk, A., Sztuczne systemy skojarzeniowe i asocjacyjna sztuczna inteligencja, EXIT, Warszawa, 2013. 6. Tadeusiewicz, R., Horzyk, A., Man-Machine Interaction Improvement by Means of Automatic Human Personality Identification, Gerhard Goos, Juris Hartmanis, and Jan van Leeuwen (Eds.), Springer, LNCS 8104, 2013. 7. Horzyk, A., Gadamer, M., Associative Text Representation and Correction, Springer Verlag Berlin Heidelberg, LNAI 7894, 2013, pp. 76-87. 8. Horzyk, A., Information Freedom and Associative Artificial Intelligence, Springer Verlag Berlin Heidelberg, LNAI 7267, 2012, pp. 81-89. 9. Horzyk, A., Self-Optimizing Neural Network 3, L. Franco, D. Elizondo, J.M. Jerez (eds.), Constructive Neural Networks, Springer, Series: Studies in Computational Intelligence, Vol. 258, 2009, pp. 83-101. 10. Dudek-Dyduch, E., Tadeusiewicz, R., Horzyk, A., Neural Network Adaptation Process Effectiveness Dependent of Constant Training Data Availability, Neurocomputing 72, 2009, pp. 3138-3149, IF = 1,440. horzyk@agh.edu.pl