3.4. Przekształcenia gramatyk bezkontekstowych
|
|
- Agata Baranowska
- 5 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
Bardziej szczegółowoJAO - 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
Bardziej szczegółowoJę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
Bardziej szczegółowoGramatyki 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 =
Bardziej szczegółowoParsery 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
Bardziej szczegółowoGramatyki, 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 =
Bardziej szczegółowo0.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
Bardziej szczegółowoJę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...
Bardziej szczegółowoMatematyczne 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ą
Bardziej szczegółowoWprowadzenie 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
Bardziej szczegółowoAnalizator 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
Bardziej szczegółowoJę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
Bardziej szczegółowoMaszyna 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
Bardziej szczegółowoGramatyka 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ą
Bardziej szczegółowoJę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
Bardziej szczegółowoGRAMATYKI 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
Bardziej szczegółowoJAO - 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
Bardziej szczegółowoAutomat 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
Bardziej szczegółowoMetody 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
Bardziej szczegółowoMetody 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ę.
Bardziej szczegółowoEfektywna 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
Bardziej szczegółowoJIP. 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
Bardziej szczegółowoMatematyczne 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
Bardziej szczegółowoJę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
Bardziej szczegółowoHierarchia 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
Bardziej szczegółowoWykł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
Bardziej szczegółowoLista 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
Bardziej szczegółowoLingwistyka 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
Bardziej szczegółowoJę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
Bardziej szczegółowoHierarchia 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
Bardziej szczegółowoZasada 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,.
Bardziej szczegółowoGramatyki 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
Bardziej szczegółowoObliczanie. 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
Bardziej szczegółowoAnaliza 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)
Bardziej szczegółowoMatematyczna 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
Bardziej szczegółowoAnaliza 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.
Bardziej szczegółowoDefiniowanie 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
Bardziej szczegółowoProgramowanie 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
Bardziej szczegółowoZadanie 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:
Bardziej szczegółowoJę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)
Bardziej szczegółowoGranica 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
Bardziej szczegółowoGranica 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
Bardziej szczegółowoMatematyczna 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
Bardziej szczegółowoJę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
Bardziej szczegółowoZadanie 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 =
Bardziej szczegółowoGranica 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
Bardziej szczegółowoOdtworzenie 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
Bardziej szczegółowoGranica 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
Bardziej szczegółowo11 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.
Bardziej szczegółowoMatematyka 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ę
Bardziej szczegółowoWyk 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
Bardziej szczegółowo1. 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
Bardziej szczegółowoJĘ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
Bardziej szczegółowoDystrybucje. 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...................................
Bardziej szczegółowoAlgorytmy 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
Bardziej szczegółowoWykł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
Bardziej szczegółowo1. 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 ( ϕ ) ( ϕ
Bardziej szczegółowoMetody 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)
Bardziej szczegółowoJę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
Bardziej szczegółowo10. 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)
Bardziej szczegółowoRekurencja, 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
Bardziej szczegółowoKATEDRA 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
Bardziej szczegółowo1 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
Bardziej szczegółowoPrzykł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ę
Bardziej szczegółowoMetody 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
Bardziej szczegółowoWłą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
Bardziej szczegółowoGenerowanie 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
Bardziej szczegółowoMaszyny 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 )
Bardziej szczegółowo2 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
Bardziej szczegółowoAndrzej 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
Bardziej szczegółowo4.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
Bardziej szczegółowoLogika 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
Bardziej szczegółowoSystem 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
Bardziej szczegółowo1 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
Bardziej szczegółowoCzęść 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
Bardziej szczegółowoAlgorytmy 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,
Bardziej szczegółowoUproszczony 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
Bardziej szczegółowo; 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ę
Bardziej szczegółowoWprowadzenie 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
Bardziej szczegółowo1.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,
Bardziej szczegółowoJę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
Bardziej szczegółowoLOGIKA 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ć
Bardziej szczegółowo1 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ą
Bardziej szczegółowoPrzestrzenie 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:
Bardziej szczegółowoWykł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
Bardziej szczegółowoGramatyki 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
Bardziej szczegółowoNumeryczne 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ń
Bardziej szczegółowoGramatyki 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
Bardziej szczegółowoObliczenia 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.
Bardziej szczegółowoZadania 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;
Bardziej szczegółowoZależ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
Bardziej szczegółowoUwagi 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
Bardziej szczegółowoInformacja 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ą
Bardziej szczegółowoVIII 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
Bardziej szczegółowoIII 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
Bardziej szczegółowoNieró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
Bardziej szczegółowoWyk 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
Bardziej szczegółowoJĘ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/
Bardziej szczegółowoJaki 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
Bardziej szczegółowoTemat: 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
Bardziej szczegółowo