Przepisywanie wykresu

W informatyce transformacja grafów lub przepisywanie grafów dotyczy techniki algorytmicznego tworzenia nowego wykresu z oryginalnego wykresu. Ma wiele zastosowań, począwszy od inżynierii oprogramowania ( konstruowanie oprogramowania , a także weryfikacja oprogramowania ) po algorytmy układu i generowanie obrazów.

Transformacje grafów mogą być używane jako abstrakcja obliczeniowa. Podstawową ideą jest to, że jeśli stan obliczeń można przedstawić jako wykres, dalsze kroki w tym obliczeniu można następnie przedstawić jako reguły transformacji na tym wykresie. Reguły takie składają się z grafu oryginalnego, który ma być dopasowany do podgrafu w stanie kompletnym oraz grafu zastępującego, który zastąpi dopasowany podgraf.

Formalnie system przepisywania wykresów zwykle składa z zestawu reguł przepisywania wykresów w postaci , przy czym jest nazywany wykresem wzorca (lub lewą stroną) nazywany wykresem zastępczym (lub prawą stroną reguły). Reguła przepisywania grafów jest stosowana do grafu macierzystego poprzez wyszukiwanie wystąpienia grafu wzorcowego ( dopasowywanie wzorców , rozwiązując w ten sposób problem izomorfizmu podgrafu ) i zastępując znalezione wystąpienie instancją grafu zastępczego. Reguły przepisywania można dalej regulować w przypadku grafów oznaczonych , na przykład w gramatykach grafów regulowanych łańcuchami.

Czasami gramatyka grafów jest używana jako synonim systemu przepisywania grafów , zwłaszcza w kontekście języków formalnych ; inne sformułowania służą podkreśleniu celu konstrukcji, jakim jest wyliczenie wszystkich grafów z jakiegoś grafu startowego, czyli wygenerowanie języka grafów – zamiast po prostu przekształcenia danego stanu (grafu macierzystego) w nowy stan.

Podejścia do przepisywania grafów

U góry: przykładowa reguła przepisywania grafu ( optymalizacja z konstrukcji kompilatora: mnożenie przez 2 zastąpione przez dodawanie). Dół: Zastosowanie reguły do ​​optymalizacji „y=x*2” do „y=x+x”.

Podejście algebraiczne

Algebraiczne podejście do przepisywania grafów opiera się na teorii kategorii . Podejście algebraiczne jest dalej podzielone na podejścia podrzędne, z których najczęstszymi są podejście podwójnego wypychania (DPO) i podejście pojedynczego wypychania (SPO) . Inne podejścia podrzędne obejmują podejście sesqui-pushout i pullback .

Z punktu widzenia podejścia DPO reguła przepisywania grafów to para morfizmów w kategorii grafów i homomorfizmy grafów między nimi: , również napisane , gdzie iniekcyjne . Graf K nazywany jest niezmiennym lub czasami wykresem klejenia . Krok przepisywania gdzie lub zastosowanie reguły r do hosta G jest przez dwa diagramy wypychania , oba tego samego morfizmu , jest kontekstowym ( stąd nazwa double -pushout). Inny morfizm grafu w G i nazywa dopasowaniem . Praktyczne zrozumienie tego jest takie, że to podgraf, który jest dopasowany z (patrz izomorfizmu podgrafu dopasowania zostaje zastąpiony przez na wykresie hosta sol gdzie służy jako interfejs zawierający węzły i krawędzie, które są zachowywane podczas stosowania reguły. Wykres wzór do jego kontekstu: jeśli jest pusty, dopasowanie może oznaczać tylko cały połączony .

W przeciwieństwie do tego, reguła przepisywania grafów w podejściu SPO jest pojedynczym morfizmem w kategorii oznaczonych multigrafów i mapowań częściowych , które zachowują strukturę multigrafu: . Zatem krok przepisywania jest definiowany przez pojedynczy wypychania . Praktyczne rozumienie tego jest podobne do podejścia DPO. Różnica polega na tym, że nie ma interfejsu między grafem macierzystym G a grafem G' będącym wynikiem etapu przepisywania.

Z praktycznego punktu widzenia kluczową różnicą między DPO i SPO jest sposób, w jaki radzą sobie z usuwaniem węzłów z sąsiednimi krawędziami, w szczególności w jaki sposób unikają sytuacji, w której takie usunięcia mogą pozostawić „wiszące krawędzie”. Podejście DPO usuwa węzeł tylko wtedy, gdy reguła określa również usunięcie wszystkich sąsiednich krawędzi (ten wiszący warunek można sprawdzić dla danego dopasowania), podczas gdy podejście SPO po prostu usuwa sąsiednie krawędzie, bez konieczności wyraźnej specyfikacji.

Istnieje również inne algebraiczne podejście do przepisywania grafów, oparte głównie na algebrze Boole'a i algebrze macierzy, zwane gramatyką grafów macierzowych .

Określ przepisywanie grafu

Jeszcze inne podejście do przepisywania grafów, znane jako przepisywanie grafów zdeterminowanych , wywodzi się z logiki i teorii baz danych . W tym podejściu grafy traktowane są jako instancje bazy danych, a operacje przepisywania jako mechanizm definiowania zapytań i widoków; w związku z tym wymagane jest, aby każde przepisywanie dawało unikalne wyniki ( aż do izomorfizmu ), a osiąga się to poprzez jednoczesne stosowanie dowolnej reguły przepisywania na całym wykresie, gdziekolwiek ma to zastosowanie, w taki sposób, że wynik jest rzeczywiście jednoznacznie zdefiniowany.

Przepisywanie wykresu terminowego

Innym podejściem do przepisywania grafów jest przepisywanie grafów terminów , które obejmuje przetwarzanie lub przekształcanie grafów terminów (znanych również jako abstrakcyjne grafy semantyczne ) za pomocą zestawu reguł przepisywania składni.

semantykę operacyjną kompilatora . Grafy terminowe są również używane jako abstrakcyjne maszyny zdolne do modelowania obliczeń chemicznych i biologicznych, a także rachunków graficznych, takich jak modele współbieżności. Wykresy terminów mogą przeprowadzać automatyczną weryfikację i programowanie logiczne, ponieważ dobrze nadają się do przedstawiania skwantyfikowanych stwierdzeń w logice pierwszego rzędu. Oprogramowanie do programowania symbolicznego to kolejna aplikacja do grafów terminów, które są w stanie przedstawiać i wykonywać obliczenia za pomocą abstrakcyjnych struktur algebraicznych, takich jak grupy, pola i pierścienie.

Konferencja TERMGRAPH skupia się w całości na badaniach nad przepisywaniem grafów terminowych i jego zastosowaniami.

Klasy gramatyki grafów i system przepisywania grafów

Systemy przepisywania grafów w naturalny sposób grupują się w klasy w zależności od rodzaju reprezentacji grafów, które są używane i sposobu wyrażania przepisywania. W klasyfikacjach najczęściej używany jest termin gramatyka grafów , inaczej równoważny systemowi przepisywania grafów lub systemowi zastępowania grafów . Niektóre popularne typy to:

Wdrożenia i aplikacje

Grafy to ekspresyjny, wizualny i matematycznie precyzyjny formalizm służący do modelowania obiektów (bytów) powiązanych relacjami; obiekty są reprezentowane przez węzły, a relacje między nimi przez krawędzie. Węzły i krawędzie są zwykle wpisywane i przypisywane. Obliczenia opisywane są w tym modelu poprzez zmiany relacji między encjami lub zmiany atrybutów elementów grafu. Są one zakodowane w regułach przepisywania/transformacji grafów i wykonywane przez systemy przepisywania grafów/narzędzia do transformacji grafów.

Zobacz też

Cytaty

Źródła