Gramatyki grafowe. Dla v V, ϕ(v) etykieta v. Klasa grafów nad Σ - G Σ.

Podobne dokumenty
Graf. Definicja marca / 1

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka

Gramatyki rekursywne

Marek Miszczyński KBO UŁ. Wybrane elementy teorii grafów 1

SPÓJNOŚĆ. ,...v k. }, E={v 1. v k. i v k. ,...,v k-1. }. Wierzchołki v 1. v 2. to końce ścieżki.

2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego

Algorytmiczna teoria grafów

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

JAO - lematy o pompowaniu dla jezykow bezkontekstowy

JAO - Wprowadzenie do Gramatyk bezkontekstowych

1 Automaty niedeterministyczne

Podstawowe własności grafów. Wykład 3. Własności grafów

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

Gramatyka operatorowa

Algorytmiczna teoria grafów

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyka dyskretna

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Wykład 2. Drzewa zbalansowane AVL i 2-3-4

Zastosowanie CP-grafów do generacji siatek

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Matematyczne Podstawy Informatyki

GRAMATYKI BEZKONTEKSTOWE

Gramatyki atrybutywne

Hierarchia Chomsky ego Maszyna Turinga

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Matematyczne Podstawy Informatyki

Programowanie w Logice Gramatyki metamorficzne. Przemysław Kobylański na podstawie [CM2003] i [SS1994]

Matematyczne Podstawy Informatyki

Spis treści Podstawowe definicje Wielomian charakterystyczny grafu Grafy silnie regularne

0.1 Lewostronna rekurencja

Języki formalne i automaty Ćwiczenia 9

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie

3 Abstrakcyjne kompleksy symplicjalne.

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

3.4. Przekształcenia gramatyk bezkontekstowych

Języki, automaty i obliczenia

G. Wybrane elementy teorii grafów

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Algorytmy stochastyczne, wykład 05 Systemy Liendenmayera, modelowanie roślin

Języki formalne i automaty Ćwiczenia 1

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Indukowane Reguły Decyzyjne I. Wykład 3

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Wprowadzenie do programowania języki i gramatyki formalne. dr hab. inż. Mikołaj Morzy

Języki formalne i automaty Ćwiczenia 4

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

JĘZYKIFORMALNE IMETODYKOMPILACJI

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV

Analiza semantyczna. Gramatyka atrybutywna

Ilustracja S1 S2. S3 ściana zewnętrzna

Hierarchia Chomsky ego

Języki i operacje na językach. Teoria automatów i języków formalnych. Definicja języka

Języki, automaty i obliczenia

Języki i gramatyki formalne

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}

a) 7 b) 19 c) 21 d) 34

(j, k) jeśli k j w przeciwnym przypadku.

Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz?

E ' E G nazywamy krawędziowym zbiorem

Lingwistyka Matematyczna Języki formalne i gramatyki Analiza zdań

Rozpoznawanie obrazów dłoni za pomocą gramatyk klasy ETPL(k) w systemach wizyjnych analizy języka migowego.

Suma dwóch grafów. Zespolenie dwóch grafów

KURS MATEMATYKA DYSKRETNA

TEORIA GRAFÓW I SIECI

7. Teoria drzew - spinanie i przeszukiwanie

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

JĘZYKI FORMALNE I METODY KOMPILACJI

6. Wstępne pojęcia teorii grafów

Matematyka dyskretna - 7.Drzewa

Języki formalne i automaty Ćwiczenia 3

Teoria automatów i języków formalnych. Określenie relacji

0. ELEMENTY LOGIKI. ALGEBRA BOOLE A

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

G. Plebanek, MIARA I CAŁKA Zadania do rozdziału 1 28

Ogólne wiadomości o grafach

KaŜdemu atrybutowi A przyporządkowana jest dziedzina Dom(A), czyli zbiór dopuszczalnych wartości.

5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów.

Parsery LL(1) Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki

Automat ze stosem. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki

Paradygmaty dowodzenia

KURS MATEMATYKA DYSKRETNA

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA

Sortowanie topologiczne skierowanych grafów acyklicznych

Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i

Wprowadzenie do analizy składniowej. Bartosz Bogacki.

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Teoria grafów - Teoria rewersali - Teoria śladów

Definicja układu kombinacyjnego była stosunkowo prosta -tabela prawdy. Opis układu sekwencyjnego jest zadaniem bardziej złożonym.

Wykład 8. Drzewa AVL i 2-3-4

Efektywny parsing języka naturalnego przy użyciu gramatyk probabilistycznych

Matematyka dyskretna. Andrzej Łachwa, UJ, A/14

TEORETYCZNE PODSTAWY INFORMATYKI

Złożoność obliczeniowa klasycznych problemów grafowych

Matematyczne Podstawy Informatyki

Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też. A = (A, Q, q I, F, δ)

Transkrypt:

Gramatyki grafowe Def. Nieskierowany NL-graf (etykietowane wierzchołki) jest czwórką g = (V, E, Σ, ϕ), gdzie: V niepusty zbiór wierzchołków, E V V zbiór krawędzi, Σ - skończony, niepusty alfabet etykiet wierzchołkowych, ϕ: V Σ - funkcja etykietowania wierzchołków. Dla v V, ϕ(v) etykieta v. Klasa grafów nad Σ - G Σ. Dla g = (V, E, Σ, ϕ) graf nieetykietowany zwany grafem podstawowym h = (V, E) otrzymujemy przez usunięcie etykiet wierzchołkowych, oznaczamy und(h) (underlying graph). Def. Gramatyka grafowa jest piątką G= (V, Σ, P, C, X), gdzie: V alfabet ogólny gramatyki, Σ alfabet terminalny, P zbiór produkcji C transformacja osadzenia, X G Σ graf początkowy zwany aksjomatem. Def. Produkcja gramatyki grafowej jest uporządkowaną parą π=(α,β), α- lewa strona π, β- prawa strona π, (α β) Przepisanie w grafie g za pomocą produkcji α β: 1) znaleźć podgraf α w g izomorficzny z α (α musi być podgrafem indukowanym przez wierzchołki α tzn. jeśli

wierzchołki x, y α i (x,y) jest krawędzią g to (x,y) α ) α graf matka, 2) ustalić obszar osadzenia (embedding area) podzbiór wierzchołków reszty grafu. ZaleŜy on od rozwaŝanej gramatyki wierzchołki, które będą połączone z wstawianym grafem, 3) usunąć α z g (wraz krawędziami incydentnymi z wierzchołkami α ), 4) zastąpić α przez β izomorficzny z β. β graf córka. Wierzchołki β muszą być rozłączne z wierzchołkami g-α (aby uniknąć niewłaściwej identyfikacji), 5) osadzić β w g-α poprzez dodanie krawędzi pomiędzy niektórymi wierzchołkami β i obszaru osadzenia. Osadzenie zaleŝy od typu uŝywanej gramatyki grafowej Def. g bezpośrednio wyprowadza h za pomocą π, g h, jeśli h jest otrzymywane z g w 5 powyŝszych krokach. Def. P- zbiór produkcji, g wyprowadza h za pomocą P albo g=h albo n 1 i ciąg grafów g 0, g 1,, g n, taki, Ŝe g 0 = g, g n = h i 1 i n, g i-1 bezpośrednio generuje g i za pomocą π i P (g * h). W takiej gramatyce grafowej nie ma warunków stosowalności, czyli kaŝdy podgraf g izomorficzny z lewą stroną produkcji moŝe być grafem matką. Wywód jest sekwencyjny, w bezpośrednim wyprowadzeniu przepisywany jest tylko jeden podgraf g.

Np. π 1 : Osadzenie: dodajemy krawędź (x,y), x β, y EA x i y są stopnia trzeciego i mają tę samą etykietę. Gramatyka grafowa NLC (node-label controlled) jest gramatyką grafową gdzie: 1) lewa strona produkcji jest grafem jednowierzchołkowym, 2) obszar osadzenia wszystkie wierzchołki reszty grafu incydentne z grafem matką, 3) osadzenie określone poprzez binarną relację C na zbiorze etykiet wierzchołków (connection relation). Dla kaŝdej pary etykiet (σ 1, σ 2 ) C dodawana jest krawędź (x, y) pomiędzy kaŝdym wierzchołkiem x grafu wstawianego etykietowanym σ 1 i kaŝdym wierzchołkiem y obszaru osadzenia etykietowanym przez σ 2. Produkcję moŝemy zapisać jako: σ β, gdzie σ - etykieta wierzchołka lewej strony (lewa strona ma tylko jeden wierzchołek). Gramatyka NLC wybór grafu matki i ustalenie krawędzi osadzenia zaleŝy tylko od etykiet wierzchołków.

Def. NLC gramatyka grafowa jest systemem G=(Σ,, P, C, Z), gdzie: Σ - skończony niepusty zbiór zwany alfabetem ogólnym, - niepusty podzbiór Σ zwany alfabetem terminalnym, P skończony zbiór produkcji będących parami postaci (σ, α), σ Σ, α G Σ, C podzbiór Σ Σ - relacja połączeń, Z G Σ - aksjomat. Język generowany przez NLC gramatykę grafową. Def. G=(Σ,, P, C, Z) gramatyka grafowa NLC. 1) Język wyczerpujący dla G: S(G) = {g G Σ Z * g} 2) Język terminalny dla G: L(G) = {g G Z * g} 3) Język spójny dla G: L con (G) = {g G Z * g i g jest spójny} 4) Nieetykietowany język dla G: und(l(g)) = {und(g) g L(G)} Np. Gramatyka NLC G=(Σ,, P, C, Z), gdzie: = {a, a, b, b, c, c, d, d }, Σ = {S, S }, P i C jak w poprzednim przykładzie, Z = g z poprzedniego przykładu. Ograniczony przypadek przepisywania wierzchołków: graf usuwany składa się tylko z jednego wierzchołka. Jeśli osadzenie wykonane jest takŝe w sposób lokalny (poprzez połączenie grafu wstawianego z wierzchołkami pozostałej części, które są blisko usuwanego wierzchołka) to jest to lokalna transformacja grafowa. Gramatyki grafowe oparte na przepisywaniu wierzchołków iteracja transformacji lokalnych prowadzi do globalnej transformacji grafu.

Zastępowanie wierzchołków definiuje skończony zbiór produkcji, a mechanizm osadzenia skończona liczba instrukcji połączeń. Produkcje i instrukcje łączone są w reguły przepisywania. KaŜda taka reguła składa się z jednej produkcji i skończonej liczby instrukcji połączeń. Gramatyki NLC przepisywane są nieskierowane grafy o etykietowanych wierzchołkach. Proces przepisywania jest lokalny (w osadzeniu rozwaŝane są tylko wierzchołki sąsiednie dla usuwanego wierzchołka). Instrukcje połączeń są uporządkowanymi parami relacja połączeń ((δ, µ) stwórz krawędź między kaŝdym wierzchołkiem wstawianego grafu o etykiecie δ i kaŝdym wierzchołkiem o etykiecie µ w sąsiedztwie usuwanego wierzchołka). Np. Produkcja: Osadzenie {(a,c), (b,b), (A, b)} Niech ciąg α 1,...,α n, α i (terminalne), n 1 oznacza nieskierowany graf etykietowany wierzchołkowo z wierzchołkami x 1,...,x n i krawędziami {x i, x i+1 }, 1 i n-1, gdzie x i ma etykietę α i 1 i n. α oznacza graf jednowierzchołkowy z etykietą α. Np. G=(Σ,, P, C, Z), L(G)= {(abc) + z krawędziami między wszystkimi wierzchołkami o etykiecie b}. Σ = {A, a, b, c}, = {a, b, c}, C= {(a,c),(b,b),(a,b)}, Z = A, P: produkcja powyŝsza i A abc. Pośrednie wyprowadzane grafy mają postać (abc)*a z dodatkowymi krawędziami między wszystkimi wierzchołkami A i b.

Gramatyka grafowa NLC jest bezkontekstowa, reguły działają lokalnie (jeden wierzchołek po lewej stronie) i nie ma predykatów stosowalności. Ogólnie nie posiada jednak (w przeciwieństwie do ciągowych gramatyk bezkontekstowych) własności zapewniającej, Ŝe wynik wywodu jest niezaleŝny od kolejności stosowania produkcji (własność ta zapewnia istnienie drzew wywodu odzwierciedlających rekursywną naturę gramatyk bezkontekstowych). Gramatyka grafowa posiadająca tę własność jest gramatyką niezaleŝną od kolejności. Np. Graf początkowy S, S AB, A a, B b. Jako gramatyka ciągowa ma 1 drzewo wywodu. L(G)={ab}. Niech C={(a,B), (b, a)}. L(G) = {ab, g}, g jest grafem z dwoma wierzchołkami bez krawędzi. g powstaje jeśli najpierw zastosujemy B b, a potem A a, ab jeśli zastosujemy produkcje w odwrotnej kolejności. Jedno drzewo wyprowadzenia, ale dwa sposoby przechodzenia po nim. NiezaleŜność od porządku jest własnością rozstrzygalną. MoŜna nałoŝyć na gramatykę ograniczenia zapewniające tę niezaleŝność. Np. ograniczenie graniczne Gramatyka grafowa B-NLC nie ma dwóch wierzchołków o etykietach nieterminalnych połączonych krawędzią (w grafie początkowym i prawych stronach produkcji). Gramatyka generująca język {(abc) + z krawędziami między wszystkimi wierzchołkami o etykiecie b} jest gramatyką B-NLC a nawet jest liniowa (tylko jeden nieterminal). Cecha gramatyki NLC: jeśli w wywodzie dostaniemy graf pośredni z wierzchołkami x i y nie połączonymi krawędzią to w dalszym procesie wywodu Ŝaden

wierzchołek pochodzący od x nigdy nie będzie połączony z Ŝadnym wierzchołkiem pochodzącym od y. Połączenia mogą być usuwane ale nie ponownie dodawane. Gramatyka B-NLC zapewnia, Ŝe w kaŝdym grafie pośrednim wierzchołki o etykietach nieterminalnych nie są połączone - stąd wywód nie zaleŝy od kolejności stosowania produkcji. Rozszerzenia gramatyk grafowych 1) Odwołanie w instrukcji połączeń do poszczególnych wierzchołków prawych stron produkcji. Instrukcja ma postać (x, µ), x wierzchołek prawej strony ma być połączony z wierzchołkami etykietowanymi przez µ w sąsiedztwie usuwanego wierzchołka. Np. Zastępujemy wierzchołek m grafem: moŝemy mieć (x,b) albo (y,b) (choć x i y mają taką samą etykietę). Taka gramatyka to NCE gramatka grafowa (neighbourhood controlled embedding) lokalny proces osadzenia. NCE gramatyka generuje taką samą klasę języków grafowych jak gramatyka NLC.

Def. NCE gramatyka grafowa jest systemem G = (Σ,, Z, R), gdzie: Σ,, Z zdefiniowane jak poprzednio, R skończony zbiór reguł postaci (A d, C), gdzie A d produkcja, C relacja połączenia dla d, czyli C V d Σ, V d - zbiór wierzchołków d. 2) Rozszerzamy dziedzinę przepisywania grafów na grafy skierowane i grafy posiadające etykietowane krawędzie. Graf skierowany zamiast relacji połączeń C uŝywamy dwóch relacji połączeń C in, C out dla krawędzi wchodzących i wychodzących z usuwanego wierzchołka. Instrukcja (δ, µ) C out oznacza, Ŝe osadzenie powinno wprowadzić krawędź od kaŝdego wierzchołka o etykiecie δ wstawianego grafu do kaŝdego wierzchołka o etykiecie µ w sąsiedztwie usuwanego wierzchołka m, do którego dochodziła krawędź z m. (δ, µ) C in nowa krawędź od kaŝdego wierzchołka µ w sąsiedztwie usuwanego wierzchołka m, od którego dochodziła krawędź do m, do kaŝdego wierzchołka δ w nowym grafie. Gramatyka zachowuje skierowanie, krawędzie wchodzące do wierzchołka m są zastępowane krawędziami wchodzącymi do grafu d, a wychodzące z m wychodzącymi z grafu d. Skierowanie krawędzi i ich etykietowanie w grafie pozwala rozróŝniać wierzchołki o takich samych etykietach naleŝące do sąsiedztwa m.

Np. Zastępując m, proces osadzenia moŝe róŝnić wierzchołki x i y gdyŝ prowadzące do nich krawędzie mają róŝne etykiety (nie moŝna rozróŝniać po nazwach wierzchołków bo nie wiadomo ile ich będzie). W ten sposób sąsiedztwo m moŝna podzielić na kilka róŝnych typów, w zaleŝności od etykiet krawędziowych. Osadzenie moŝe zmieniać typ tego sąsiedztwa. Instrukcja połączenia postaci (δ, q, µ, p), gdzie q i p są etykietami krawędzi a δ i µ etykietami wierzchołków oznacza, Ŝe osadzenie powinno wprowadzić krawędź etykietowaną q między kaŝdym wierzchołkiem o etykiecie δ wstawianego grafu i wierzchołkiem o etykiecie µ w sąsiedztwie m połączonego z µ krawędzią etykietowaną p (p-sąsiedztwo). Mamy gramatyki dnlc, enlc, ednlc, d oznacza grafy skierowane, e osadzenie sterowane przez etykiety krawędziowe.