3.4. Przekształcenia gramatyk bezkontekstowych
|
|
- Agata Baranowska
- 6 lat temu
- Przeglądów:
Transkrypt
1 3.4. Przekształcenia gramatyk bezkontekstowych Definicje Niech będzie dana gramatyka bezkontekstowa G = <N, T, P, Z> G BK Symbol X (N T) nazywamy nieużytecznym w G G BK jeśli nie można w tej gramatyce przeprowadzić wyprowadzenia: Z * G wxy * G wxy przy czym w,x,y T * (czyli z X nie można wyprowadzić żadnego słowa w symbolach terminalnych). Symbol X (N T) nazywamy nieosiągalnym w G G BK, jeśli X nie pojawia się w żadnej formie zdaniowej tej gramatyki (czyli nie można go wyprowadzić z Z). Gramatyka G G BK jest gramatyką bez ε-produkcji, gdy: (i) P nie zawiera produkcji postaci ε, N, Z (ii) jeśli (Z ε) P to symbol Z nie występuje w prawych stronach pozostałych produkcji Twierdzenie Każdą gramatykę bezkontekstową G = <N, T, P, Z> G BK można przekształcić do postaci równoważnej G = <N, T, P, Z> G BK (to znaczy takiej, że L(G ) = L(G) ) nie zawierającej symboli nieosiągalnych, symboli nieużytecznych oraz będącej gramatyką bez ε- produkcji (w sensie powyższych definicji). Sposoby wykonania odpowiednich przekształceń podają poniższe algorytmy. Czytelnik zechce udowodnić poprawność tych algorytmów. lgorytm usuwania symboli nieosiągalnych wejście: wyjście: G = <N, T, P, Z> G BK G = <N, T, P, Z> G BK taka, że (i) L(G ) = L(G) (ii) ( X (N T ) ) ( α,β (N T ) * ) ( Z * G αxβ ) V 0 := {Z}; i := 0; repeat i := i + 1; V i := V i-1 {X (N T) ( αxβ) P V i-1 α,β (N T) * }; until V i = V i-1 ; /* V i zawiera te symbole terminalne i nieterminalne które: - występują w produkcjach z P - dają się wyprowadzić z Z */ N := V i N;
2 T := V i T; P := {(u v) P u,v V * i } /* zawiera te produkcje z P, które zbudowane są z symboli z V i */ G := <N, T, P, Z> lgorytm usuwania symboli nieużytecznych wejście: G = <N, T, P, Z> G BK wyjście: G = <N, T, P, Z> G BK taka, że: (i) L(G ) = L(G) (ii) (N T ) nie zawiera symboli nieużytecznych N 0 := φ; /* φ - zbiór pusty */ i := 0; repeat i := i + 1; N i := N i-1 { N ( α) P α (N i-1 T) * } until N i = N i-1 ; G 1 := < N N i, T, P 1, Z> gdzie P 1 := {(u v) P u,v (N i T) * }; zastosować do G 1 algorytm usuwania symboli nieosiągalnych uzyskując w wyniku tego gramatykę G = <N, T, P, Z> G = <{S,, B}, {a, b}, {S a ; S ; B ; B b}, S> G 1 = <{S, B}, {a, b}, {S a ; B b}, S> G = <{S}, {a}, {S a}, S> lgorytm usuwania ε-produkcji wejście: G = <N, T, P, Z> G BK wyjście: G = <N, T, P, Z > G BK taka, że: (i) L(G) = L(G ) (ii) G jest gramatyką bez ε-produkcji N 0 := φ; /* φ - zbiór pusty */
3 i := 0; repeat i:= i + 1; * N i := N i-1 { N ( x) P x N i-1 }; until N i = N i-1 ; N e := N i ; /* N e = { N + G ε} */ P := P ; for ( x) P do przedstawiamy x w postaci α 0 B 1 α 1 B 2 α 2... B k α k, k 0, gdzie B i N e (1 i k), α i ((N T) N e ) * (0 i k); P := P {( α 0 X 1 α 1 X 2 α 2... X k α k ) : (X i = B i X i = ε)}; if ( ε) P then P := P {( ε)}; end; if Z N e then N := N {Z }; P := P {(Z Z), (Z ε)}; Z := Z ; end else N := N; Z := Z; end; S asbs S bsas S ε Po usunięciu S ε otrzymujemy S S S ε S asbs, S asb, S abs, S ab
4 S bsas, S bsa, S bas, S ba Usuwanie produkcji łańcuchowych i cykli Produkcje łańcuchowe, to produkcje postaci: B ;, B N Gramatyka G zawiera cykle, wówczas gdy istnieją w gramatyce wyprowadzenia postaci + G ; N Cykle typu + powstają poprzez istnienie w gramatyce produkcji łańcuchowych, np. B, B C, C, więc usuwając produkcje łańcuchowe usuwamy również automatycznie wszystkie cykle. Twierdzenie Każdą gramatykę bezkontekstową G = <N, T, P, Z> G BK można przekształcić do postaci równoważnej G = <N, T, P, Z> G BK (to znaczy takiej, że L(G ) = L(G) ) nie zawierającej produkcji łańcuchowych i cykli (w sensie powyższych definicji). lgorytm usuwania produkcji łańcuchowych i cykli wejście: wyjście: G = <N, T, P, Z> G BK ; G bez ε-produkcji! G = <N, T, P, Z> G BK taka, że (i) L(G) = L(G ) (ii) G nie zawiera produkcji łańcuchowych i cykli for N do N 0 := {}; i := 0; repeat i := i + 1; N i := N i-1 { C N (B C) P B N i-1 } until N i-1 = N i ; N := N i ; /* N = { B + G B } */ end; P := φ; /* φ - zbiór pusty */ for p P do if p = (B α) and α N then /* p nie jest łańcuchowa */ M B := { N B N };
5 for M B do /* M B = { : * G B} */ P := P { α }; end; end; Rozpatrujemy gramatykę: (1) E E + T (2) E T (3) T T * F (4) T F (5) F ( E ) (6) F id Wyznaczamy odpowiednie zbiory nieterminali: N E = { E, T, F } N T = { T, F } N F = { F } M E = { E } M T = { E, T } M F = { E, T, F } nalizujemy kolejno wszystkie produkcje gramatyki przekształcanej (1) E E + T (2) wypada, bo jest łańcuchowa (3) E T * F T T * F (4) wypada, bo jest łańcuchowa (5) E ( E ) T ( E ) F ( E ) (6) E id T id F id Definicja Gramatyka G = < N, T, P, Z > G BK nazywa się prawidłową, jeśli: (i) nie zawiera cykli, (ii) jest gramatyką bez ε-produkcji, (iii) nie zawiera nieużytecznych symboli. Usuwanie lewostronnej rekursji U N jest symbolem lewostronnie rekursywnym gramatyki G jeżeli U + G Uβ ; β (N T) * Gramatyka G nazywa się lewostronnie rekursywną ( U N) ( U + G Uβ ; β (N T) * ) Twierdzenie Dana jest gramatyka G = < N, T, P, Z > G BK oraz symbol nieterminalny N.
6 Zbiór { α 1... α m β 1... β n } P jest zbiorem wszystkich produkcji mających po lewej stronie symbol ; żadne z β i (N T) * (i = 1,..., n) nie zaczyna się od symbolu. Niech G = < N { }, T, P, Z > będzie nową gramatyką, w której nowy symbol nieterminalny zaś zbiór produkcji P' jest określony jak niżej P = P { α 1... α m β 1... β n } { β 1... β n } { α 1... α m ε } Wówczas zachodzi L(G) = L(G ). Twierdzenie podaje sposób usuwania lewej rekursji, ale tylko bezpośredniej. α β α nalizowane α słowo : βααα α β Po modyfikacji: β ε β α α nalizowane α słowo : βααα α ε Twierdzenie Każdą gramatykę bezkontekstową G = <N, T, P, Z> G BK można przekształcić do postaci równoważnej G = <N, T, P, Z> G BK (to znaczy takiej, że L(G ) = L(G) ) nie zawierającej (bezpośredniej i pośredniej) lewostronnej rekursji.
7 lgorytm usuwania (także pośredniej) rekursji lewostronnej wejście: wyjście: G = <N, T, P, Z> G BK, G gramatyka prawidłowa! G = <N, T, P, Z> G BK taka, że (i) G nie jest gramatyką lewostronnie rekursywną (ii) L(G ) = L(G) numerujemy symbole nieterminalne N := { 1,..., n }; n := #N N := N ; P := P ; i := 1 ; repeat if ( i i δ) P and δ (N T) * then N := N { i } P := P { i i α 1... i α q β 1... β p } { i β 1 i... β p i } { i α 1 i... α q i ε} end; /* q liczba wszystkich produkcji i i... (lewostr. rekurs.) żadne z β 1,..., β p nie zaczyna się od i p liczba wszystkich produkcji i... bez lewej rekursji */ if i = n then STOP else i := i + 1 ; for j := 1 to i 1 do P := P { i j α 1... j α x } { ( i γ k α l ) l = 1,..., x k = 1,..., m γ k prawe strony produkcji: j γ 1... γ k... γ m }; /* x liczba wszystkich produkcji typu i j α m liczba wszystkich produkcji typu j γ 1... γ m */ until FLSE ; /* w ten sposób prawa strona każdej produkcji i... zaczyna się albo od symbolu terminalnego, albo od nieterminala j o numerze j > i */
8 BC a B C b C B CC a Rodzaje rekursji lewostronnej: B C B C rekursja posrednia rekursja bezposrednia I i = 1 G bez zmian II i = 2 ; j = 1 B C BCb ab I i = 2 B CB abb B CbB ε II i = 3 ; j = 1 C BCB ab CC a i = 3 ; j = 2 C CB CB abb CB ab CC a I i = 3 C abb CBC abc ac C B CBC CC ε Ostatecznie: BC a B CB abb B CbB ε C abb CBC abc ac C B CBC CC ε
9 Wariant drugi usuwania lewostronnej rekursji dla potrzeb przekształcania gramatyki bezkontekstowej do postaci normalnej Greibacha Twierdzenie (wariant drugi) Dana jest gramatyka G = < N, T, P, Z > G BK oraz symbol nieterminalny N. Zbiór { α 1... α m β 1... β n } P jest zbiorem wszystkich produkcji mających po lewej stronie symbol ; żadne z β i (N T) * (i = 1,..., n) nie zaczyna się od symbolu. Niech G = < N { }, T, P, Z > będzie nową gramatyką, w której nowy symbol nieterminalny zaś zbiór produkcji P' jest określony jak niżej P = P { α 1... α m } { β 1... β n } { α 1... α m α 1... α m } Wówczas zachodzi L(G) = L(G ). Twierdzenie podaje drugi sposób usuwania bezpośredniej lewej rekursji (nie powodujący dodawania ε produkcji ale zwiększający liczbę nowych produkcji wprowadzanych do gramatyki). α β α nalizowane α słowo : βααα α β Po modyfikacji: β β β α α ' α α nalizowane α słowo : βααα
10 Drugi wariant algorytmu usuwania (także pośredniej) rekursji lewostronnej wejście: wyjście: G = <N, T, P, Z> G BK, G gramatyka prawidłowa G = <N, T, P, Z> G BK taka, że (i) G nie jest gramatyką lewostronnie rekursywną (ii) L(G ) = L(G) numerujemy symbole nieterminalne N := { 1,..., n }; n := #N N := N ; P := P ; i := 1 ; repeat if ( i i δ) P and δ (N T) * then N := N { i } P = P { i i α 1... i α q } { i β 1 i... β p i } { i α 1 i... α q i α 1... α q } end; /* q liczba wszystkich produkcji i i α r... (lewostr. rekurs.) żadne z β 1,..., β p nie zaczyna się od i p liczba wszystkich produkcji i β r... (bez lewej rekursji) */ if i = n then STOP else i := i + 1 ; for j := 1 to i 1 do P := P { i j α 1... j α x } { ( i γ k α l ) l = 1,..., x k = 1,..., m γ k prawe strony produkcji: j γ 1... γ k... γ m }; /* x liczba wszystkich produkcji typu i j α m liczba wszystkich produkcji typu j γ 1... γ m */ until FLSE ; /* w ten sposób prawa strona każdej produkcji i... zaczyna się albo od symbolu terminalnego, albo od nieterminala j o numerze j > i */
11 BC a B C b C B CC a I i = 1 G bez zmian II i = 2 ; j = 1 B C BCb ab I i = 2 B CB abb C ab B CbB Cb II i = 3 ; j = 1 C BCB ab CC a i = 3 ; j = 2 C CB CB abb CB CCB abcb ab CC a I i = 3 C abb'cbc' abcbc' abc' ac' abb'cb abcb ab a C B'CBC' CBC' CC' B'CB CB C Ostatecznie: BC a B CB abb C ab B CbB Cb C abb'cbc' abcbc' abc' ac' abb'cb abcb ab a C B'CBC' CBC' CC' B'CB CB C
2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego
2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną G = gdzie: N zbiór symboli nieterminalnych, T zbiór symboli terminalnych, P zbiór
JAO - Wprowadzenie do Gramatyk bezkontekstowych
JAO - Wprowadzenie do Gramatyk bezkontekstowych Definicja gramatyki bezkontekstowej Podstawowymi narzędziami abstrakcyjnymi do opisu języków formalnych są gramatyki i automaty. Gramatyka bezkontekstowa
Języki formalne i automaty Ćwiczenia 3
Języki formalne i automaty Ćwiczenia 3 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Algorytm LL(1)... 2 Definicja zbiorów FIRST1 i FOLLOW1... 3 Konstrukcja tabeli parsowania
Gramatyki rekursywne
Gramatyki bezkontekstowe, rozbiór gramatyczny eoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyki rekursywne Niech będzie dana gramatyka bezkontekstowa G =
Parsery LL(1) Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki
Parsery LL() Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy generacyjnej (zstępującej, top-down) symbol początkowy już terminale wyprowadzenie lewostronne pierwszy od lewej
Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka
Gramatyki, wyprowadzenia, hierarchia Chomsky ego Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną gdzie: G =
0.1 Lewostronna rekurencja
0.1 Lewostronna rekurencja Sprawdź czy poniższa gramatyka E jest zgodna z LL(1), tzn. czy umożliwia przeprowadzenie analizy bez powrotu z wyprzedzeniem o jeden symbol. Wyjaśnienie pojęcia LL(1): Pierwsze
Języki formalne i automaty Ćwiczenia 1
Języki formalne i automaty Ćwiczenia Autor: Marcin Orchel Spis treści Spis treści... Wstęp teoretyczny... 2 Wprowadzenie do teorii języków formalnych... 2 Gramatyki... 5 Rodzaje gramatyk... 7 Zadania...
Matematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Gramatyki bezkontekstowe I Gramatyką bezkontekstową
Wprowadzenie do analizy składniowej. Bartosz Bogacki.
Wprowadzenie do analizy składniowej Bartosz Bogacki Bartosz.Bogacki@cs.put.poznan.pl Witam Państwa. Wykład, który za chwilę Państwo wysłuchają dotyczy wprowadzenia do analizy składniowej. Zapraszam serdecznie
Analizator syntaktyczny
Analizator syntaktyczny program źródłowy analizator leksykalny token daj nast. token analizator syntaktyczny drzewo rozbioru syntaktycznego analizator semantyczny kod pośredni tablica symboli Analizator
Języki formalne i automaty Ćwiczenia 4
Języki formalne i automaty Ćwiczenia 4 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Sposób tworzenia deterministycznego automatu skończonego... 4 Intuicyjne rozumienie konstrukcji
Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu
Problem Hilberta: 9 Czy istnieje ogólna mechaniczna procedura, która w zasadzie pozwoliłaby nam po kolei rozwiązać wszystkie matematyczne problemy (należące do odpowiednio zdefiniowanej klasy)? 2 Przykłady
Gramatyka operatorowa
Gramatyki z pierwszeństwem operatorów Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyka operatorowa Definicja: G = G BK jest gramatyką operatorową (i) (ii) G jest gramatyką
Języki formalne i automaty Ćwiczenia 2
Języki formalne i automaty Ćwiczenia 2 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Metoda brute force... 2 Konwersja do postaci normalnej Chomskiego... 5 Algorytm Cocke a-youngera-kasamiego
GRAMATYKI BEZKONTEKSTOWE
GRAMATYKI BEZKONTEKSTOWE PODSTAWOWE POJĘCIE GRAMATYK Przez gramatykę rozumie się pewien układ reguł zadający zbiór słów utworzonych z symboli języka. Słowa te mogą być i interpretowane jako obiekty językowe
JAO - lematy o pompowaniu dla jezykow bezkontekstowy
JAO - lematy o pompowaniu dla jezykow bezkontekstowych Postać normalna Chomsky ego Gramatyka G ze zbiorem nieterminali N i zbiorem terminali T jest w postaci normalnej Chomsky ego wtw gdy każda produkcja
Automat ze stosem. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki
Automat ze stosem Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Automat ze stosem (1) dno stosu Stos wierzchołek stosu Wejście # B B A B A B A B a b b a b a b $ q i Automat ze
Metody Kompilacji Wykład 7 Analiza Syntaktyczna
Metody Kompilacji Wykład 7 Analiza Syntaktyczna Parsowanie Parsowanie jest to proces określenia jak ciąg terminali może być generowany przez gramatykę. Włodzimierz Bielecki WI ZUT 2/57 Parsowanie Dla każdej
Metody Kompilacji Wykład 8 Analiza Syntaktyczna cd. Włodzimierz Bielecki WI ZUT
Metody Kompilacji Wykład 8 Analiza Syntaktyczna cd Analiza Syntaktyczna Wstęp Parser dostaje na wejściu ciąg tokenów od analizatora leksykalnego i sprawdza: czy ciąg ten może być generowany przez gramatykę.
Efektywna analiza składniowa GBK
TEORETYCZNE PODSTAWY INFORMATYKI Efektywna analiza składniowa GBK Rozbiór zdań i struktur zdaniowych jest w wielu przypadkach procesem bardzo skomplikowanym. Jego złożoność zależy od rodzaju reguł produkcji
JIP. Analiza składni, gramatyki
JIP Analiza składni, gramatyki Książka o różnych językach i paradygmatach 2 Polecam jako obowiązkową lekturę do przeczytania dla wszystkich prawdziwych programistów! Podsumowanie wykładu 2 3 Analiza leksykalna
Matematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Automat ze stosem Automat ze stosem to szóstka
Języki formalne i automaty Ćwiczenia 9
Języki formalne i automaty Ćwiczenia 9 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Maszyna Mealy'ego... 2 Maszyna Moore'a... 2 Automat ze stosem... 3 Konwersja gramatyki bezkontekstowej
Hierarchia Chomsky ego
Hierarchia Chomsky ego Gramatyki nieograniczone Def. Gramatyką nieograniczoną (albo typu 0) nazywamy uporządkowaną czwórkę G= gdzie: % Σ - skończony alfabet symboli końcowych (alfabet, nad którym
Wykład 5. Jan Pustelnik
Wykład 5 Jan Pustelnik Konstruowanie parsera Istnieje kilka podstawowych metod konstrukcji parsera bez nawracania Ze względów wydajnościowych parser bez nawracania jest jedynym sensownym rozwiązaniem (prawo
Lista 5 Gramatyki bezkontekstowe i automaty ze stosem
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Teoretyczne Podstawy Informatyki Lista 5 Gramatyki bezkontekstowe i automaty ze stosem 1 Wprowadzenie 1.1 Gramatyka bezkontekstowa
Lingwistyka Matematyczna Języki formalne i gramatyki Analiza zdań
Katedra Informatyki Stosowanej Politechnika Łódzka Lingwistyka Matematyczna Języki formalne i gramatyki Analiza zdań dr hab. inŝ. Lidia Jackowska-Strumiłło Historia rozwoju języków programowania 1955 1955
Języki, automaty i obliczenia
Języki, automaty i obliczenia Wykład 12: Gramatyki i inne modele równoważne maszynom Turinga. Wstęp do złożoności obliczeniowej Sławomir Lasota Uniwersytet Warszawski 20 maja 2015 Plan 1 Gramatyki 2 Języki
Hierarchia Chomsky ego Maszyna Turinga
Hierarchia Chomsky ego Maszyna Turinga Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną gdzie: G = V skończony zbiór
Zasada indukcji matematycznej
Zasada indukcji matematycznej Twierdzenie 1 (Zasada indukcji matematycznej). Niech ϕ(n) będzie formą zdaniową zmiennej n N 0. Załóżmy, że istnieje n 0 N 0 takie, że 1. ϕ(n 0 ) jest zdaniem prawdziwym,.
Gramatyki grafowe. Dla v V, ϕ(v) etykieta v. Klasa grafów nad Σ - G Σ.
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
Obliczanie. dr hab. inż. Joanna Józefowska, prof. PP 1
Obliczanie 1 Obliczanie Co to jest obliczanie? Czy wszystko można obliczyć? Czy to, co intuicyjnie uznajemy za obliczalne można obliczyć za pomocą mechanicznej procedury? 2 Czym jest obliczanie? Dawid
Analiza leksykalna 1. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki
Analiza leksykalna 1 Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Kod źródłowy (ciąg znaków) Analizator leksykalny SKANER Ciąg symboli leksykalnych (tokenów)
Matematyczna wieża Babel. 3. Gramatyki o językach bezkontekstowych materiały do ćwiczeń
Matematyczna wieża Babel. 3. Gramatyki o językach bezkontekstowych materiały do ćwiczeń Projekt Matematyka dla ciekawych świata spisał: Michał Korch 21 marca 2019 1 Gramatyki! Gramatyka to taki przepis
Analiza metodą zstępującą. Bartosz Bogacki.
Analiza metodą zstępującą Bartosz Bogacki Bartosz.Bogacki@cs.put.poznan.pl Witam Państwa. Wykład, który za chwilę Państwo wysłuchają dotyczy analizy metodą zstępującą. Zapraszam serdecznie do wysłuchania.
Definiowanie języka przez wyrażenie regularne(wr)
Wykład3,str1 Definiowanie języka przez wyrażenie regularne(wr) DEFINICJA: (wyrażenia regularne) M(specjalneznakinienależącedoalfabetu:{,},, ) literyalfabetusąwr złożeniawrsąwr: jeśliw 1 iw 2 sąwr,to{w
Programowanie w Logice Gramatyki metamorficzne. Przemysław Kobylański na podstawie [CM2003] i [SS1994]
Programowanie w Logice Gramatyki metamorficzne Przemysław Kobylański na podstawie [CM2003] i [SS1994] Gramatyki bezkontekstowe Gramatyką bezkontekstową jest uporządkowana czwórka G = Σ, N, S, P, gdzie
Zadanie analizy leksykalnej
Analiza leksykalna 1 Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Przykład: We: COST := ( PRICE + TAX ) * 0.98 Wy: id 1 := ( id 2 + id 3 ) * num 4 Tablica symboli:
Języki, automaty i obliczenia
Języki, automaty i obliczenia Wykład 11: Obliczalność i nieobliczalność Sławomir Lasota Uniwersytet Warszawski 6 maja 2015 Plan 1 Problemy częściowo rozstrzygalne 2 Problemy rozstrzygalne 3 Funkcje (częściowo)
Granica i ciągłość funkcji. 1 Granica funkcji rzeczywistej jednej zmiennej rzeczywsitej
Wydział Matematyki Stosowanej Zestaw zadań nr 3 Akademia Górniczo-Hutnicza w Krakowie WEiP, energetyka, I rok Elżbieta Adamus listopada 07r. Granica i ciągłość funkcji Granica funkcji rzeczywistej jednej
Granica funkcji. 27 grudnia Granica funkcji
27 grudnia 2011 Punkty skupienia Definicja Niech D R będzie dowolnym zbiorem. Punkt x 0 R nazywamy punktem skupienia zbioru D jeżeli δ>0 x D\{x0 } : x x 0 < 0. Zbiór punktów skupienia zbioru D oznaczamy
Matematyczna wieża Babel. 4. Ograniczone maszyny Turinga o językach kontekstowych materiały do ćwiczeń
Matematyczna wieża Babel. 4. Ograniczone maszyny Turinga o językach kontekstowych materiały do ćwiczeń Projekt Matematyka dla ciekawych świata spisał: Michał Korch 4 kwietnia 2019 1 Dodajmy kontekst! Rozważaliśmy
Języki formalne i automaty Ćwiczenia 8
Języki formalne i automaty Ćwiczenia 8 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Konwersja NFA do DFA... 2 Minimalizacja liczby stanów DFA... 4 Konwersja automatu DFA do
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, δ)
Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też L = {vw : vuw L dla pewnego u A takiego, że u = v + w } Rozwiązanie. Niech A =
Granica funkcji. 8 listopada Wykład 4
Granica funkcji 8 listopada 2011 Definicja Niech D R będzie dowolnym zbiorem. Punkt x 0 R nazywamy punktem skupienia zbioru D jeżeli δ>0 x D\{x0 } : x x 0 < δ. Zbiór punktów skupienia zbioru D oznaczamy
Odtworzenie wywodu metodą wstępującą (bottom up)
Przeglądane wejśca od lewej strony do prawej L (k) Odtwarzane wywodu prawostronnego Wystarcza znajomosc "k" następnych symbol łańcucha wejścowego hstor dotychczasowych redukcj, aby wyznaczyc jednoznaczne
Granica funkcji. 16 grudnia Wykład 5
Granica funkcji 16 grudnia 2010 Tw. o trzech funkcjach Twierdzenie Niech f, g, h : R D R będa funkcjami takimi, że lim f (x) = lim h(x), x x 0 x x0 gdzie x 0 D. Jeżeli istnieje otoczenie punktu x 0 w którym
11 Probabilistic Context Free Grammars
11 Probabilistic Context Free Grammars Ludzie piszą i mówią wiele rzeczy, a ich wypowiedzi mają zawsze jakąś określoną strukture i regularność. Celem jest znalezienie i wyizolowanie tego typu struktur.
Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne
A. Permutacja losowa Matematyka dyskretna - wykład - część 2 9. Podstawowe algorytmy kombinatoryczne Załóżmy, że mamy tablice p złożoną z n liczb (ponumerowanych od 0 do n 1). Aby wygenerować losową permutację
Wyk lad 4 Warstwy, dzielniki normalne
Wyk lad 4 Warstwy, dzielniki normalne 1 Warstwy grupy wzgl edem podgrupy Niech H bedzie podgrupa grupy (G,, e). W zbiorze G wprowadzamy relacje l oraz r przyjmujac, że dla dowolnych a, b G: a l b a 1 b
1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych.
Elementy logiki i teorii zbiorów. 1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych. Pojęcia pierwotne to najprostsze
JĘZYKI FORMALNE I METODY KOMPILACJI
Stefan Sokołowski JĘZYKI FORMALNE I METODY KOMPILACJI Inst Informatyki Stosowanej, PWSZ Elbląg, 2015/2016 JĘZYKI FORMALNE reguły gry Wykład1,str1 Zasadnicze informacje: http://iispwszelblagpl/ stefan/dydaktyka/jezform
Dystrybucje. Marcin Orchel. 1 Wstęp Dystrybucje Pochodna dystrybucyjna Przestrzenie... 5
Dystrybucje Marcin Orchel Spis treści 1 Wstęp 1 1.1 Dystrybucje................................... 1 1.2 Pochodna dystrybucyjna............................ 3 1.3 Przestrzenie...................................
Algorytmy zwiazane z gramatykami bezkontekstowymi
Algorytmy zwiazane z gramatykami bezkontekstowymi Rozpoznawanie j zyków bezkontekstowych Problem rozpoznawania j zyka L polega na sprawdzaniu przynale»no±ci sªowa wej±ciowego x do L. Zakªadamy,»e j zyk
Wykład 4 Udowodnimy teraz, że jeśli U, W są podprzetrzeniami skończenie wymiarowej przestrzeni V to zachodzi wzór: dim(u + W ) = dim U + dim W dim(u
Wykład 4 Udowodnimy teraz, że jeśli U, W są podprzetrzeniami skończenie wymiarowej przestrzeni V to zachodzi wzór: dim(u + W ) = dim U + dim W dim(u W ) Rzeczywiście U W jest podprzetrzenią przestrzeni
1. Reguły minimalne (optymalne) Podstawowe twierdzenia i definicje. Definicja 1 Funkcję postaci f. nazwiemy n-argumentową funkcją boolowską.
1. Reguły minimalne (optymalne) Podstawowe twierdzenia i definicje Definicja 1 Funkcję postaci f n :{ 0, 1} { 0, 1} nazwiemy n-argumentową funkcją boolowską. Definicja 2 1 2 Term g = x 1 x x ( ϕ ) ( ϕ
Metody Realizacji Języków Programowania
1/54 Metody Realizacji Języków Programowania Analiza składniowa wstępujaca Marcin Benke MIM UW 9 stycznia 2015 2/54 Analiza wstępujaca metoda LR Od Lewej, prawostronne wyprowadzenie (w odwrotnej kolejności)
Języki, automaty i obliczenia
Języki, automaty i obliczenia Wykład 9: Własności języków bezkontekstowych Sławomir Lasota Uniwersytet Warszawski 27 kwietnia 2016 Plan 1 Pompowanie języków bezkontekstowych 2 Własności domknięcia 3 Obrazy
10. Translacja sterowana składnią i YACC
10. Translacja sterowana składnią i YACC 10.1 Charakterystyka problemu translacja sterowana składnią jest metodą generacji przetworników tekstu języków, których składnię opisano za pomocą gramatyki (bezkontekstowej)
Rekurencja, schemat rekursji i funkcje pierwotnie rekurencyjne
Rekurencja, schemat rekursji i funkcje pierwotnie rekurencyjne Elementy Logiki i Teorii Mnogości 2015/2016 Zadanie 1. Oblicz iteracyjnie i rekurencyjnie f(4), gdzie f jest funkcją określoną na zbiorze
KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204
Opracował: prof. dr hab. inż. Jan Kazimierczak KATEDA INFOMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 204 Temat: Hardware'owa implementacja automatu skończonego pełniącego
1 Macierz odwrotna metoda operacji elementarnych
W tej części skupimy się na macierzach kwadratowych. Zakładać będziemy, że A M(n, n) dla pewnego n N. Definicja 1. Niech A M(n, n). Wtedy macierzą odwrotną macierzy A (ozn. A 1 ) nazywamy taką macierz
Przykładowe zadania z teorii liczb
Przykładowe zadania z teorii liczb I. Podzielność liczb całkowitych. Liczba a = 346 przy dzieleniu przez pewną liczbę dodatnią całkowitą b daje iloraz k = 85 i resztę r. Znaleźć dzielnik b oraz resztę
Metody Kompilacji Wykład 13
Metody Kompilacji Wykład 13 Prosty Translator Translator dla prostych wyrażeń Schemat translacji sterowanej składnią często służy za specyfikację translatora. Schemat na następnym slajdzie zostanie użyty
Włączenie analizy leksykalnej do analizy składniowej jest nietrudne; po co więc jest wydzielona?
Po co wydziela się analizę leksykalną? Wykład7,str1 Włączenie analizy leksykalnej do analizy składniowej jest nietrudne; po co więc jest wydzielona? 1 Analiza leksykalna jest prostsza niż składniowa leksyka
Generowanie liczb o zadanym rozkładzie. ln(1 F (y) λ
Wprowadzenie Generowanie liczb o zadanym rozkładzie Generowanie liczb o zadanym rozkładzie wejście X U(0, 1) wyjście Y z zadanego rozkładu F (y) = 1 e λy y = ln(1 F (y) λ = ln(1 0,1563 0, 5 0,34 Wprowadzenie
Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne
Maszyny Turinga Maszyna Turinga jest automatem ta±mowym, skª da si z ta±my (tablicy symboli) potencjalnie niesko«czonej w prawo, zakªadamy,»e w prawie wszystkich (tzn. wszystkich poza sko«czon liczb )
2 Równania różniczkowe zwyczajne o rozdzielonych zmiennych
2. Równania o rozdzielonych zmiennych 2 1 2 Równania różniczkowe zwyczajne o rozdzielonych zmiennych Równaniem różniczkowym zwyczajnym pierwszego rzędu o rozdzielonych zmiennych nazywamy równanie różniczkowe
Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ
Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ 1 Inferencyjna równoważność formuł Definicja 9.1. Formuła A jest
4.6. Gramatyki regularne
4.6. Grmtyki regulrne G = < N,T,P,Z > jest grmtyką prwostronnie liniową, jeśli jej produkcje mją postć: ( i) U xv x T * U,V N ( ii) U x G = < N,T,P,Z > jest grmtyką prwostronnie regulrną, jeśli jej produkcje
Logika Matematyczna (10)
Logika Matematyczna (10) Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl Rezolucja w KRZ Jerzy Pogonowski (MEG) Logika Matematyczna (10) Rezolucja w KRZ 1 / 39 Plan
System BCD z κ. Adam Slaski na podstawie wykładów, notatek i uwag Pawła Urzyczyna. Semestr letni 2009/10
System BCD z κ Adam Slaski na podstawie wykładów, notatek i uwag Pawła Urzyczyna Semestr letni 2009/10 Rozważamy system BCD ze stałą typową κ i aksjomatami ω κ κ i κ ω κ. W pierwszej części tej notatki
1 Zbiory. 1.1 Kiedy {a} = {b, c}? (tzn. podać warunki na a, b i c) 1.2 Udowodnić, że A {A} A =.
1 Zbiory 1.1 Kiedy {a} = {b, c}? (tzn. podać warunki na a, b i c) 1.2 Udowodnić, że A {A} A =. 1.3 Pokazać, że jeśli A, B oraz (A B) (B A) = C C, to A = B = C. 1.4 Niech {X t } będzie rodziną niepustych
Część wspólna (przekrój) A B składa się z wszystkich elementów, które należą jednocześnie do zbioru A i do zbioru B:
Zbiory 1 Rozważmy dowolne dwa zbiory A i B. Suma A B składa się z wszystkich elementów, które należą do zbioru A lub do zbioru B: (x A B) (x A x B). Część wspólna (przekrój) A B składa się z wszystkich
Algorytmy stochastyczne, wykład 05 Systemy Liendenmayera, modelowanie roślin
Algorytmy stochastyczne, wykład 5, modelowanie roślin Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 214-3-2 1 2 3 ze stosem Przypomnienie gramatyka to system (Σ, A, s,
Uproszczony schemat działania kompilatora
Uproszczony schemat działania kompilatora Wykład7,str.1 program źródłowy ciąg leksemów drzewo wywodu drzewo i tablice symboli analiza leksykalna analiza syntaktyczna analiza semantyczna KOMPILATOR generacja
; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...
Tekst na niebiesko jest komentarzem lub treścią zadania. Zadanie. Dane są macierze: A D 0 ; E 0 0 0 ; B 0 5 ; C Wykonaj poniższe obliczenia: 0 4 5 Mnożenia, transpozycje etc wykonuję programem i przepisuję
Wprowadzenie do programowania języki i gramatyki formalne. dr hab. inż. Mikołaj Morzy
Wprowadzenie do programowania języki i gramatyki formalne dr hab. inż. Mikołaj Morzy plan wykładu wprowadzenie gramatyki podstawowe definicje produkcje i drzewa wywodu niejednoznaczność gramatyk hierarchia
1.1 Definicja. 1.2 Przykład. 1.3 Definicja. Niech G oznacza dowolny, niepusty zbiór.
20. Definicje i przykłady podstawowych struktur algebraicznych (grupy, pierścienie, ciała, przestrzenie liniowe). Pojęcia dotyczące przestrzeni liniowych (liniowa zależność i niezależność układu wektorów,
Języki i gramatyki formalne
Języki i gramatyki formalne Języki naturalne i formalne Cechy języka naturalnego - duża swoboda konstruowania zdań (brak ścisłych reguł gramatycznych), duża ilość wyjątków. Języki formalne - ścisły i jednoznaczny
LOGIKA Klasyczny Rachunek Zdań
LOGIKA Klasyczny Rachunek Zdań Robert Trypuz trypuz@kul.pl 5 listopada 2013 Robert Trypuz (trypuz@kul.pl) Klasyczny Rachunek Zdań 5 listopada 2013 1 / 24 PLAN WYKŁADU 1 Alfabet i formuła KRZ 2 Zrozumieć
1 X-gramatyki, Hierarchia Chomsky ego
1 X-gramatyki, Hierarchia Chomsky ego 1.1 X-gramatyka i język przez nią wyznaczony Symbolem X dalej oznaczamy ustalony niepusty zbiór symboli terminalnych zwanych też tokenami. Definicja 1.1 X-gramatyką
Przestrzenie wektorowe
Rozdział 4 Przestrzenie wektorowe Rozważania dotyczące przestrzeni wektorowych rozpoczniemy od kilku prostych przykładów. Przykład 4.1. W przestrzeni R 3 = {(x, y, z) : x, y, z R} wprowadzamy dwa działania:
Wykład 2. Drzewa zbalansowane AVL i 2-3-4
Wykład Drzewa zbalansowane AVL i -3-4 Drzewa AVL Wprowadzenie Drzewa AVL Definicja drzewa AVL Operacje wstawiania i usuwania Złożoność obliczeniowa Drzewa -3-4 Definicja drzewa -3-4 Operacje wstawiania
Gramatyki regularne i automaty skoczone
Gramatyki regularne i automaty skoczone Alfabet, jzyk, gramatyka - podstawowe pojcia Co to jest gramatyka regularna, co to jest automat skoczony? Gramatyka regularna Gramatyka bezkontekstowa Translacja
Numeryczne metody optymalizacji Optymalizacja w kierunku. informacje dodatkowe
Numeryczne metody optymalizacji Optymalizacja w kierunku informacje dodatkowe Numeryczne metody optymalizacji x F x = min x D x F(x) Problemy analityczne: 1. Nieliniowa złożona funkcja celu F i ograniczeń
Gramatyki atrybutywne
Gramatyki atrybutywne, część 1 (gramatyki S-atrybutywne Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyki atrybutywne Do przeprowadzenia poprawnego tłumaczenia, oprócz informacji
Obliczenia inspirowane Naturą
Obliczenia inspirowane Naturą Wykład 05 Biologia i gramatyka Jarosław Miszczak IITiS PAN Gliwice 07/04/2016 1 / 40 1 Nieformalne określenie fraktali. 2 Wymiar pudełkowy/fraktalny. 3 Definicja fraktali.
Zadania z analizy matematycznej - sem. I Granice funkcji, asymptoty i ciągłość
Zadania z analizy matematycznej - sem. I Granice funkcji asymptoty i ciągłość Definicja sąsiedztwo punktu. Niech 0 a b R r > 0. Sąsiedztwem o promieniu r punktu 0 nazywamy zbiór S 0 r = 0 r 0 0 0 + r;
Zależności funkcyjne
Zależności funkcyjne Plan wykładu Pojęcie zależności funkcyjnej Dopełnienie zbioru zależności funkcyjnych Postać minimalna zbioru zależności funkcyjnych Domknięcie atrybutu relacji względem zależności
Uwagi wprowadzajace do reguł wnioskowania w systemie tabel analitycznych logiki pierwszego rzędu
Witold Marciszewski: Wykład Logiki, 17 luty 2005, Collegium Civitas, Warszawa Uwagi wprowadzajace do reguł wnioskowania w systemie tabel analitycznych logiki pierwszego rzędu 1. Poniższe wyjaśnienie (akapit
Informacja o przestrzeniach Sobolewa
Wykład 11 Informacja o przestrzeniach Sobolewa 11.1 Definicja przestrzeni Sobolewa Niech R n będzie zbiorem mierzalnym. Rozważmy przestrzeń Hilberta X = L 2 () z iloczynem skalarnym zdefiniowanym równością
VIII Olimpiada Matematyczna Gimnazjalistów
VIII Olimpiada Matematyczna Gimnazjalistów Zawody stopnia pierwszego część testowa www.omg.edu.pl (18 października 01 r.) Rozwiązania zadań testowych 1. Miary α, β, γ kątów pewnego trójkąta spełniają warunek
III rok kognitywistyki UAM,
METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ WYKŁAD 14: POWTÓRKA III rok kognitywistyki UAM, 2016 2017 Dzisiejszy wykład w całości poświęcony będzie omówieniu przykładowych zadań, podobnych do
Nierówności. dla początkujących olimpijczyków. Aleksander Kubica Tomasz Szymczyk
STOWARZYSZENIE NA RZECZ EDUKACJI MATEMATYCZNEJ KOMITET GŁÓWNY OLIMPIADY MATEMATYCZNEJ GIMNAZJALISTÓW Nierówności dla początkujących olimpijczyków Aleksander Kubica Tomasz Szymczyk wwwomgedupl Warszawa
Wyk lad 4 Dzia lania na macierzach. Określenie wyznacznika
Wyk lad 4 Dzia lania na macierzach Określenie wyznacznika 1 Określenie macierzy Niech K bedzie dowolnym cia lem oraz niech n i m bed a dowolnymi liczbami naturalnymi Prostokatn a tablice a 11 a 12 a 1n
JĘZYKIFORMALNE IMETODYKOMPILACJI
Stefan Sokołowski JĘZYKIFORMALNE IMETODYKOMPILACJI Inst. Informatyki Stosowanej, PWSZ Elbląg, 2009/2010 JĘZYKI FORMALNE reguły gry Wykład1,2X2009,str.1 Zasadnicze informacje: http://iis.pwsz.elblag.pl/
Jaki język zrozumie automat?
Jaki język zrozumie automat? Wojciech Dzik Instytut Matematyki Uniwersytet Śląski Katowice wojciech.dzik@us.edu.pl 7. Forum Matematyków Polskich, 12-17 września 2016, Olsztyn Prosty Automat do kawy Przemawiamy
Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych
Opracował: dr inż. Zbigniew Buchalski KATEDRA INFORMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów