XV International PhD Workshop OWD 2013, 19 22 October 2013 Hipergrafy w selekcji podsieci automatowych Selection of SM-Components based on Hypergraphs Łukasz Stefanowicz, Uniwersytet Zielonogórski (24.04.2013, prof. zw. dr hab. inż. Marian Adamski, Uniwersytet Zielonogórski) Abstract The paper deals with State Machine Components (SM-Components) selection of Petri nets based on hypergraphs theory. Petri nets are used for modeling of concurrency processes. The SM-Components selection is classified as NP-hard problem so there does not exists polynomial algorithm which can solve this problem. It should be pointed out that selection is especially important because it determines the final number of sequential automata. In the article it will be shown introduction, main definitions, methodology, research results and summary. The SM-Components can be selected in two possible ways: traditional and based on hypergraphs. The article contains description of used three algorithms: backtracking, greedy and exact transversals. On this basis it has been presented the problem, possible solutions, as well as researches carried out showing the advantages and disadvantages of each method. The summary contains an objective comment on the article and the results of research. Streszczenie Referat porusza zagadnienie selekcji podsieci automatowych sieci Petriego z wykorzystaniem modelu hipergrafowego. Wykorzystano w tym celu trzy metody, a mianowicie dokładny algorytm z nawrotami, metodę zachłanną oraz algorytm bazujący na zastosowaniu transwersal dokładnych. Na tej podstawie przedstawiony został problem, zaprezentowano możliwe rozwiązania, a także przeprowadzono badania ukazujące zalety i wady poszczególnych metod. 1. Wprowadzenie Sieci Petriego są wykorzystywane głównie do modelowania procesów współbieżnych, ponieważ umożliwiają zapis miejsc zarówno sekwencyjnych, jak i równoległych [1,2]. Z uwagi na stosunkowo prosty mechanizm zapisu miejsc oraz tranzycji są one dosyć powszechnie wykorzystywane na całym świecie. Bardzo często spore rozmiary sieci, a także wykładnicza zależność rozmiaru od liczby stanów uniemożliwia analizę [1,2,3]. Aby analiza była możliwa, wykorzystuje się selekcję podsieci automatowych sieci Petriego uzyskując w ten sposób zagadnienie mniej złożone [4]. Selekcja podsieci może zostać wykonana z wykorzystaniem metod klasycznych, a także używając modelu hipergrafowego. Należy w tym momencie podkreślić, iż zastosowanie hipergrafów pozwala w znacznej większości przypadków na analizę w czasie wielomianowym [5,6,7]. W bieżącym artykule zaprezentowano możliwe trzy algorytmy uzyskania pokrycia, również z zastosowaniem modelu hipergrafowego: algorytm z nawrotami, zachłanny oraz metodę wykorzystującą transwersale dokładne [6,8,9]. Cykl postępowania sprowadza się do wyznaczenia hipergrafu współbieżności na podstawie sieci bazowej. Hipergraf ten przedstawiony w formie macierzy zawiera wierzchołki (kolumny), które odzworowują miejsca sieci Petriego, a także hiperkrawędzie (wiersze) odwzorowujące relacje pomiędzy miejscami. W dalszej kolejności wyznaczany jest hipergraf selekcji oraz wyznaczana transwersala dokładna stanowiąca rozwiązanie [6,7,10]. Opisany proces zostanie szczegółowo przedstawiony w dalszej części artykułu. 2. Podstawowe definicje 2.1 Hipergraf Hipergraf H definiuje dwójka [11]: H = ( V, E) (1) gdzie: V={v 1,,v n} jest skończonym, niepustym zbiorem wierzchołków; E={E 1,,E n} jest zbiorem hiperkrawędzi, czyli podzbioru zbioru P(V) wszystkich możliwych 102
niepustych zbiorów, których elementy należą do V [5]. 2.2 Graf Graf G jest szczególnym przypadkiem hipergrafu H. Formalnie graf definiuje dwójka [11]: G = ( V, E) (2) gdzie: V={v 1,,v n} jest skończonym, niepustym zbiorem wierzchołków; E={E 1,,E n} jest skończonym zbiorem nieuporządkowanych par wierzchołków, zwanych krawędziami. 2.3 Sieć Petriego Sieć Petriego PN jest dwudzielnym grafem skierowanym o dwóch rodzajach wierzchołków: miejscach i tranzycjach połączonych skierowanym łukiem [1,2]. Sieć Petriego definiuje trójka: PN = ( P, T, F) (3) gdzie: P jest skończonym, niepustym zbiorem miejsc; T jest skończonym, niepustym zbiorem tranzycji; F ( P T ) ( T F), (4) jest skończonym, niepustym zbiorem łuków. 2.4 Podsieć automatowa sieci Petriego Podsiecią automatową PN sieci Petriego PN jest taka jej spójna podsieć [12]: P N = ( P, T, F ), (5) że t T : t = t = 1; (6) P = T T ; (7) F = (( P T ) ( T P )) F (8) 2.5 Transwersala Transwersalą (bazą wierzchołkową, pokryciem wierzchołkowym) hipergrafu H jest zbiór [9,11]: T V (9) zawierający wierzchołki incydentne do każdej krawędzi hipergrafu [5]. Transwersalę nazywamy minimalną, jeśli nie zawiera żadnej innej transwersalni hipergrafu H. 2.6 Transwersala dokładna Transwersalą dokładną D hipergrafu H jest zbiór [9]: D V (10) wierzchołków hipergrafu H, incydentny do wszystkich krawędzi hipergrafu H, przy czym każda krawędź jest incydentna z dokładnie jednym wierzchołkiem zbioru D, tworzącego transwersalę dokładną. 2.7 Hipergraf transwersal dokładnych Hipergraf transwersal dokładnych H XT, nazywany dalej xt-hipergrafem, to hipergraf, w którym wszystkie minimalne transwersale są jednocześnie transwersalami dokładnymi [9]. Mówimy, że hipergraf należy do klasy hipergrafów dokładnych wtedy i tylko wtedy, gdy: H H XT (4) 2.8 Hipergraf dokładny Hipergraf dokładny H D to hipergraf, w którym każdy zbiór wierzchołków zgodnych (nie połączonych krawędzią) wchodzi w skład przynajmniej jednej transwersalni dokładnej [6]. Hipergraf dokładny jest generalizacją hipergrafu transwersal dokładnych, z uwagi na co prawidłowa jest zależność: H XT H D (5) 2.9 Hipergraf współbieżności Hipergrafem współbieżności H C nazywamy hipergraf wyznaczony na podstawie grafu znakowań, który reprezentuje właściwą współbieżność miejsc danej sieci Petriego [6]. Struktura hipergrafu współbieżności w formie macierzowej jest następująca: Wierzchołki (kolumny macierzy) odwzorowują miejsca sieci Petriego Hiperkrawędzie (wiersze macierzy) odwzorowują relacje pomiędzy miejscami. Wierzchołki są połączone krawędzią wtedy i tylko wtedy, gdy są oznakowane w odpowiadającym grafie znakowań (miejsca, które sąwykonywanie współbieżnie). 2.10 Hipergraf sekwencyjności Hipergraf sekwencyjności H S to hipergraf powstały na skutek wyznaczenia transwersal dokładnych hipergrafu współbieżności [6]. Struktura hipergrafu sekwencyjności w formie macierzowej jest następująca: Wierzochołki (kolumny macierzy) odwzorowują miejsca, bądź też makromiejsca sieci Petriego, Hiperkrawędzie (wiersze macierzy) odwzorowują transwersale dokładne D, a co za tym idzie podsieci automatowe. Efektywne metody wyznaczania hipergrafu współbieżności oraz hipergrafu sekwencyjności przedstawiono m.in. w [5] oraz [6]. 103
3. Sformułowanie problemu Selekcja podsieci automatowych jest istotna przede wszystkim w procesie dekompozycji [12]. Na jej podstawie uzyskiwane są docelowe podsieci automatowe, które umożliwiają pokrycie całej sieci Petriego. Algorytmy przybliżone pozwalają na otrzymanie rezultatu w głównej mierze nadmiarowego, a co za tym idzie nie jest ono optymalne. Algorytmy dokładne (kolorowanie, backtracking) pozwalają na uzyskanie rezultatów nie zawierających nadmiarowych podsieci, ponieważ przeszukiwany jest kompletny zbiór rozwiązań, z uwagi na co otrzymane rozwiązanie jest optymalne, a liczba podsieci minimalna. Analiza z wykorzystaniem modelu hipergrafowego [6] pozwala na uzyskanie rezultatu dokładnego w czasie wielomianowym dla znakomitej większości przypadków [7]. Należy podkreślić, iż selekcja jest problemem zaliczanym do klasy NPtrudnych, z uwagi na co obecnie nie jest znany algorytm pozwalający na uzyskanie rezultatu dokładnego w czasie wielomianowym. Proces selekcji można podzielić na cztery podstawowe etapy [6]: 1) Wyznaczenie hipergrafu współbieżności na podstawie sieci bazowej, 2) Wyznaczenie podsieci automatowych, 3) Właściwa selekcja podsieci automatowych, 4) Wyznaczenie rozwiązania pokrycia. Rysunek 1 przedstawia ideę selekcji podsieci automatowych. Rys.1. Proces analizy selekcji podsieci automatowych Fig.1. SM-Components selection analysis process 4. Aktualny stan wiedzy Selekcja podsieci automatowych należy do problemów klasy NP-trudnej. Oznacza to, iż nie istnieje uniwersalny wielomianowy algorytm pozwalający na uzyskanie rozwiązania optymalnego w czasie wielomianowym. Dekompozycję sieci Petriego w postaci selekcji podsieci automatowych można przeprowadzić z zastosowaniem metod klasycznych wykorzystujących grafy, a także wykorzystując teorię hipergrafów. Selekcja bazująca na teorii grafów zakłada wykorzystanie kolorowania grafu [6,13,14], natomiast wykorzystanie teorii hipergrafów bazuje na metodzie wyznaczenia transwersal hipergrafu dokładnego, zaproponowanej w [6]. Metoda ta została rozwinięta o zastosowanie hipergrafu transwersal dokładnych, zaproponowana w [7]. Metody dokładne charakteryzują się wykładniczą złożonością obliczeniową [15], z uwagi na co wymagają zastosowania metod aproksymacyjnych. Te z kolei pozwalają na uzyskanie rozwiązania zawierającego z reguły nadmiarowe podsieci, jednak w akceptowalnym czasie [6,13]. Metoda wykorzystująca hipergraf dokładny nie zawsze jest skuteczna, ponieważ nie istnieje wielomianowy algorytm pozwalający na przeprowadzenie testu, czy zadany hipergraf należy do klasy hipergrafów dokładnych. Metoda zaproponowana w [7] bazuje na wykorzystaniu hipergrafu transwersal dokładnych, a ponieważ istnieje wielomianowy algorytm pozwalający na przeprowadzenie testu w czasie wielomianowym [9], czy zadany hipergraf należy do klasy hipergrafów transwersal dokładnych możliwe jest przeprowadzenie selekcji w czasie wielomianowym. Innymi słowy możliwe jest uzyskanie pokrycia dokładnego, a co za tym idzie rozwiązania optymalnego pod warunkiem, że hipergraf selekcji będzie należał do klasy hipergrafów transwersal dokładnych. 5. Krótka charakterystyka metod wykorzystanych w badaniach Niniejszy artykuł zakłada wykorzystanie trzech algorytmów w celu uzyskania pokrycia: 1) Algorytm z nawrotami (backtracking), 2) Algorytm zachłanny (greedy), 3) Algorytm wykorzystujący transwersale dokładne, bazujący na xt-hipergrafie. 5.1 Algorytm z nawrotami Metoda backtrackingowa pozwala na uzyskanie rozwiązania dokładnego, a co za tym idzie optymalnego, ponieważ sprawdza wszystkie możliwe kombinacje. W rezultacie zwracane jest pokrycie najmniejsze. Największą wadą takiego rozwiązania jest niestety złożoność obliczeniowa, która jest wykładnicza. W rzeczywistości oznacza to, iż metoda ta sprawdzi się jedynie dla małych sieci. Algorytm ten działa w bardzo prosty spoób. W pierwszej kolejności wybierana jest podsieć, którą następnie usuwamy. Jeżeli taki zbiór podsieci stanowi nadal pokrycie sieci, uzyskany w ten sposób rezultat jest uznawany za lepszy od dotyczasowego. W dalszych etapach algorytm rekurencyjnie poszukuje rozwiązania optymalnego dla wszystkich posieci sieci bazowej. Metoda z nawrotami zawsze zwróci najlepsze rozwiązanie, a co za tym idzie optymalne, co jest niewątpliwie ogromną zaletą. Największą wadą jest 104
wykładnicza złożoność obliczeniowa, co w praktyce oznacza, że dany problem może nie zostać rozwiązany, bądź też rozwiązanie nie zostanie wyznaczone w akceptowalnym czasie. 5.2 Algorytm zachłanny Algorytm zachłanny poszukuje rozwiązania bazując na podstawie decyzji, która jest lokalnie optymalna [16]. Każdy krok metody polega na wyborze rozwiązania aktualnie optymalnego. Do zalet metody należy zaliczyć złożoność obliczeniową. Najistotniejszą wadą metody jest fakt, że rozwiązanie uznawane za lokalnie optymalne nie zawsze jest globalnie optymalne. Z uwagi na fakt, iż mówiąc o selekcji podsieci automatowych mówimy o równoważnym hipergrafie selekcji, algorytm zachłanny przedstawiony został poniżej w wersji wierzchołkowej. Zasadę działania można przedstawić następująco: 1) Zbiór pokrycia = zbiór pusty. 2) Wybór wierzchołka istotnego (jedyny należący do danej krawędzi). Jeżeli takowy nie istnieje, wybierany jest wierzchołek o największym stopniu. W tym punkcie następuje selekcja rozwiązania lokalnie optymalnego. Jeżeli nie jest możliwe jednoznaczne określenie wierzchołka, wybierany jest pierwszy możliwy. 3) Wybrany lokalnie optymalny wierzchołek jest dodawany do zbioru pokrycia, natomiast usuwany z hipergrafu selekcji. 4) Następuje sprawdzenie, czy zbiór ten stanowi pokrycie. jeśli tak nie jest, powtarzany jest krok 2. 5.3 Algorytm transwersal dokładnych Algorytm transwersal dokładnych został opisany w [6]. Idea metody została przedstawiona na rysunku 2. Pierwszym krokiem jest transpozycja macierzy hipergrafu sekwencyjności oraz redukcja cykliczna nazywana Cyclic-Core [3]. Polega ona na redukcji zdominowanych kolumn oraz dominujących wierszy. Następnie dla tak uzyskanego hipergrafu wyznaczana jest pierwsza transwersala dokładna. Warto zauważyć, iż cały proces może zostać wykonany w czasie wielomianowym pod warunkiem, że hipergraf poddany redukcji cyklicznej będzie należał do klasy hipergrafów dokładnych. Ponadto możliwe jest wykonanie w czasie wielomianowym testu, czy hipergraf należy do klasy hipergrafów transwersal dokładnych (hipergraf dokładny jest generalizacją hipergrafu transwersal dokładnych), z uwagi na co już na etapie uzyskania hipergrafu po redukcji możliwe jest ocenienie prawdopodobieństwa uzyskania rozwiązania dokładnego. Jak przedstawiono w [7], ponad 85% testowanych sieci zawierało hipergraf selekcji należący do klasy xt. Oznacza to, że dla ponad 85% testowanych przypadków możliwe jest uzyskanie rozwiązania dokładnego w czasie wielomianowym, co jest niewątpliwie ogromną zaletą metody. Zastosowanie teorii hipergrafów pozwala zredukować czasu wykonania z wykładniczego na wielomianowy dla znakomitej większości przypadków. Rys.2. Idea metody transwersal dokładnych Fig.2. Idea of exact transversal method 6. Proces selekcji podsieci automatowych Cały proces selekcji podsieci automatowych można przedstawić w następujących krokach: 1) Dana jest sieć wejściowa. 2) Na podstawie sieci wejściowej wyznaczany jest hipergraf współbieżności, w którym wierzchołki odpowiadają miejscom sieci Petriego, natomiast hiperkrawędzie opisują relacje pomiędzy miejscami. 3) Na podstawie hipergrafu współbieżności wyznaczany jest hipergraf sekwencyjności, w którym wierzchołki odpowiadają miejscom, natomiast hiperkrawędzie określają podsieci automatowe [6]. 4) Właściwa selekcja podsieci automatowych za pomocą metody z nawrotami, algorymu zachłannego lub transwersal dokładnych. 5) Wyznaczone zostaje ostateczne rozwiązanie,. Rysunek 3 przedstawia istotę selekcji, opisanego powyżej. Rys.3. Detailed SM-Components selection process used in research Fig.3. Szczegóły selekcji podsieci automatowych użytego w badaniach 105
7. Badania Istotą badań jest wykorzystanie benchmarków w celu ukazania skuteczności oraz sprawności metod zaprezentowanych w artykule. W szczególności zostały porównane czasy wykonywania poszczególnych algorytmów, uwzględniając newralgiczne miejsca, a także zwracane rezultaty. Wykorzystano 30 benchmarków, których sieci należą do różnych klas: MG (marked Graphs), FC (Free-Choice), EFC (Extended Free-Choice) oraz SN (Simple Nets). Kolumna minimalna liczba podsieci zawiera podział ze względu na wykorzystane algorytmy: Backtracking (B), Greedy (G), Transwersal dokładnych (T). Z uwagi na obszerność danych tabelarycznych zostały wybrane reprezentatywne benchmarki oraz przedstawione poniżej (tab.1). Tab.1. Częściowe rezultaty badań Tab.1. Patrial results of research Benchmark wyznaczenia pokrycia - Backtrackin g [s] całego selekcji - Backtracking [s] wyznaczenia pokrycia - Zachłanny [s] całego selekcji - Zachłanny [s] wyznaczeni a pokrycia - Exact [s] całego selekcji - Exact [s] Min. liczba podsieci B/Z/T bridge 0.119 0.338 0.128 0.254 0.002 0.162 2/2/2 cncrr002 0.281 0.504 0.288 0.449 0.002 0.162 5/5/5 frame 0.204 0.748 0.201 0.387 0.002 0.188 3/3/3 P2N2 0.702 2.901 0.711 1.684 0.009 0.841 4/4/4 MG_NP 0.439 16.521 0.438 0.644 0.005 0.188 3/4/3 Philosophe rs2 0.382 0.651 0.312 0.577 0.002 0.194 6/6/6 Tabela 1 zawiera wybrane reprezentatywne benchmarki z grupy testowanych. Jak można zauważyć, algorytm wykorzystujący transwersale dokładne góruje nad algorytmem z nawrotami oraz zachłannym pod kątem czasu wykonywania, umożliwiając uzyskanie tak samo dobrych rezultatów. Algorytm zachłanny dla sieci MG_NP nie umożliwia uzyskania optymalnej wartości, natomiast z nawrotami cechuje się sporym czasem wykonywania, z odróżnieniu od algorytmu transwersal dokładnych, który w najkrótszym czasie umożliwia znalezienie rozwiązania optymalnego. Dla wartości wyszczególnionych w tabeli 1 wyznaczono wartości średnie zaprezentowane w tabeli 2. Tab.2. Rezultaty średnie badań Tab.2. Average results of research Algorytm Średni czas wyznaczenia pokrycia [s] Średni czas całego selekcji [s] Średnia min. liczba podsieci B 0.178 0.429 3.155 G 0.167 0.328 3.190 T 0.002 0.140 3.155 Jak można słusznie zauważyć, wykładniczy ale i dokładny algorytm z nawrotami pozwala na znalezienie rozwiązania optymalnego. Główną wadą algorytmu jest złożoność czasowa, która jest o ponad 30% większa niż algorytmu zachłannego oraz o ponad 200% większa niż algorytmu wykorzystującego transwersale dokładne. 8. Wnioski oraz podsumowanie W artykule zaprezentowano selekcję podsieci automatowych sieci Petriego, wykorzystując przy tym model hipergrafowy. Należy zwrócić uwagę, iż selekcja jest problemem zaliczanym do klasy problemów NP-trudnych. Głównym celem artykułu było zaprezentowanie możliwości rozwiązania problemu selekcji za pomocą hipergrafów. W związku z tym zaprezentowane zostały trzy algorytmy: z nawrotami, zachłanny, a także transwersal dokładnych. Algorytm ostatni został zaproponowany oraz opisany w [6], natomiast jego zmodyfikowana wersja została przedstawiona oraz poddana badaniom w [7]. Istotą badań było wykazanie sprawności oraz skuteczności poszczególnych algorytmów. Ze względu na zbyt duże rozmiary wyników badań, została wyszczególniona grupa benchmarków reprezentatywnych, a na ich podstawie przedstawione częściowe rezultaty. Można zauważyć, iż algorytm z nawrotami, który de facto pozwala na uzyskanie rozwiązania optymalnego wymaga często sporo więcej czasu na wykonanie. Fakt ten jest związany z wykładniczą złożonością obliczeniową. Algorytm zachłanny pozwala na znalezienie rozwiązania w optimum lokalnym, które nie zawsze jest równoznaczne ze znalezieniem rozwiązania optymalnego globalnie. wykonywania jest nierzadko krótszy od algorytmu z nawrotami, jednak dane rozwiązanie może nie być najlepsze. Algorytm transwersal dokładnych pozwala na znalezienie 106
rozwiązania dokładnego dla sporej większości przypadków w czasie wielomianowym [7], co też potwierdzają przedstawione badania. Należy zwrócić uwagę, iż dane rozwiązanie jest tak samo dobre, jak uzyskane za pomocą algorytmu z nawrotami, który cechuje się wykładniczą złożonością obliczeniową. wymagany do wykonania algorytmu z nawrotami jest o ponad 30% większy od czasu wykonania algorytmu zachłannego oraz o ponad 200% większy od algorytmu transwersal dokładnych. Literatura 1. Murata T.: Petri Nets: Properties, Analysis and Applications, Proceedings of IEEE, 1989 2. Karatkevich A.: Dynamic analysis of Petri net-based discrete systems, Springer, 2011 3. Karatkevich, A., Wisniewski, R.: Computation of Petri nets covering by SM-components based on the graph theory. Electrical Review, vol. 8, pp. 141 144, 2012 (in Polish) 4. Rudell R. L.: Logic Synthesis for VLSI Design. PhD Thesis. EECS Department, University of California, Berkeley, 1989 5. Wiśniewski R., Adamski M., Wiśniewska M.: Polynomial algorithm for concurrency hypergraph formulation of free-choice Petri, Measurement, Automatics, Control, nr 07, s. 650-652, 2012 6. Wisniewska, M.: Application of hypergraphs in decomposition of discrete systems. Lecture Notes in Control and Computer Science, vol. 23, Univ. of Zielona Gora Press, 2012 7. Stefanowicz Ł, Adamski M., Wiśniewski R., Application of an Exact Transversal Hypergraph in Selection of SM-Components, Technical Innovation for the Internet Things, IFIP Advanced in Information and Communication Technology, Springer, 2013. 8. Knuth D.: Dancing Links, Millennial Perspectives in Computer Science, 2000 9. Eiter, T.: Exact Transversal Hypergraphs and Application to Boolean µ-functions. Journal of Symbolic Computations, vol. 17, pp. 215--225, Academic Press Ltd, 1994 10. Kovalyov A.: Concurrency Relations and the Safety Problem for Petri Nets, Application and Theory of Petri Nets, 1992 11. Berge C.: Graphs and Hypergraphs, American Elsevier Pub. Co., 1989 12. Karatkevich, A.: SM-Components problem reductions of Petri nets. Telecommunication Review, vol. 6/2008, 2008 (in Polish) 13. Kubale M., Obszarski P., Piwakowski K.: Hypergraphs coloring, Scientific Papers of Silesian University of Technology, 2006 14. Banaszak Z., Kuś J., Adamski M.: Petri Nets: modeling, control and discrete systems synthesis, Wydawnictwo Wyższej Szkoły Inżynierskiej, 1993 15. Blanchard, M.: Comprendre, Maîtriser Et Appliquer Le Grafcet Cepadues, Tolouse, 1979 (in French). 16. DeMicheli, G.: Synthesis and Optimization of Digital Circuits, McGraw-Hill Higher Education, 1994 Adres służbowy Autora: mgr inż. Łukasz Stefanowicz Uniwersytet Zielonogórski ul. Prof. Z. Szafrana 2 65-246 Zielona Góra email: L.Stefanowicz@weit.uz.zgora.pl 107