OPERACJE BINARNE. Przykład 1 Niech A = Z oraz a,b A. Odwzorowania (a,b) a + b, (a,b) a b, (a,b) ab są przykładami funkcji f : A 2 A.



Podobne dokumenty
Matematyka:Matematyka I - ćwiczenia/granice funkcji

Podstawy Informatyki Gramatyki formalne

Ćwiczenie nr 2 Zbiory rozmyte logika rozmyta Rozmywanie, wnioskowanie, baza reguł, wyostrzanie

KONKURSY MATEMATYCZNE. Treść zadań

Logika I. Wykład 2. Działania na zbiorach

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

1 Granice funkcji. Definicja 1 (Granica w sensie Cauchy ego). Mówimy, że liczba g jest granicą funkcji f(x) w punkcie x = a, co zapisujemy.

1. Rozwiązać układ równań { x 2 = 2y 1

Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej

1. Podstawy budowania wyra e regularnych (Regex)

I. LOGICZNE STRUKTURY DRZEWIASTE

W. Guzicki Zadanie 23 z Informatora Maturalnego poziom rozszerzony 1

2.Prawo zachowania masy

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

Algorytmy graficzne. Podstawy kompresji danych fragment wykładu. Marcin Wilczewski

ROZWIĄZANIA ZADAŃ Zestaw P3 Odpowiedzi do zadań zamkniętych

MATEMATYKA 9. INSTYTUT MEDICUS Kurs przygotowawczy do matury i rekrutacji na studia medyczne Rok 2017/2018 FUNKCJE WYKŁADNICZE, LOGARYTMY

PRAWA ZACHOWANIA. Podstawowe terminy. Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc

Ogólna charakterystyka kontraktów terminowych

Harmonogramowanie projektów Zarządzanie czasem

Test F- Snedecora. będzie zmienną losową chi-kwadrat o k 1 stopniach swobody a χ

Regulamin w konkurencjach solowych

Przykłady wybranych fragmentów prac egzaminacyjnych z komentarzami Technik ochrony fizycznej osób i mienia 515[01]

Warszawska Giełda Towarowa S.A.

Korzystając z wzorów de Morgana zwartość można także określić w terminach zbiorów domkniętych.

WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania

Projektowanie bazy danych

REGULAMIN TURNIEJU SPORTOWEJ GRY KARCIANEJ KANASTA W RAMACH I OGÓLNOPOLSKIEGO FESTIWALU GIER UMYSŁOWYCH 55+ GORZÓW WLKP R.

Kurs wyrównawczy dla kandydatów i studentów UTP

Podejmowanie decyzji. Piotr Wachowiak

STA T T A YSTYKA Korelacja

Temat: Funkcje. Własności ogólne. A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1

KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH

Moduł Pulpit opcji oraz Narzędzia. Opis v 1.0

Postanowienia ogólne. Usługodawcy oraz prawa do Witryn internetowych lub Aplikacji internetowych

Podstawowe pojęcia: Populacja. Populacja skończona zawiera skończoną liczbę jednostek statystycznych

Wiedza niepewna i wnioskowanie (c.d.)

Wykład 4 Wybrane zagadnienia programowania w C++

Topologia I, Egzamin. II termin, Nr albumu: Nazwisko prowadzącego ćwiczenia: Nr grupy:

Warunki Oferty PrOmOcyjnej usługi z ulgą

PODSTAWY DZIAŁANIA UKŁADÓW CYFROWYCH

Zarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

O ROZWIĄZYWANIU ZADAŃ Z RACHUNKU

KASA EDUKACYJNA INSTRUKCJA. WARIANT I - dla dzieci młodszych

Egzamin na tłumacza przysięgłego: kryteria oceny

Wojewódzki Konkurs Matematyczny dla uczniów gimnazjów rok szkolny 2015/2016 Etap II rejonowy

Całka potrójna. Całka potrójna po prostopadłoscianie. f (x i, y i, z i ) x i y i z i. (1)

KLAUZULE ARBITRAŻOWE

XIII KONKURS MATEMATYCZNY

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, Warszawa

TEORIA GIER W EKONOMII WYKŁAD 1: GRY W POSTACI EKSTENSYWNEJ I NORMALNEJ

s n = a k (2) lim s n = S, to szereg (1) nazywamy zbieżnym. W przeciwnym przypadku mówimy, że szereg jest rozbieżny.

Test całoroczny z matematyki. Wersja A

Geometria Wykreślna Wykład 3

PODSTAWY METROLOGII ĆWICZENIE 4 PRZETWORNIKI AC/CA Międzywydziałowa Szkoła Inżynierii Biomedycznej 2009/2010 SEMESTR 3

KURS GEOMETRIA ANALITYCZNA

ASD - ćwiczenia III. Dowodzenie poprawności programów iteracyjnych. Nieformalnie o poprawności programów:

DE-WZP JJ.3 Warszawa,

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

USTAWA. z dnia 26 czerwca 1974 r. Kodeks pracy. 1) (tekst jednolity)

Metoda LBL (ang. Layer by Layer, pol. Warstwa Po Warstwie). Jest ona metodą najprostszą.

PAKIET MathCad - Część III

Opłaty wstępne w leasingu jako koszty bezpośrednio związane z uzyskanym przychodem

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Podstawowe działania w rachunku macierzowym

WSTĘP DO PROGRAMOWANIA

WYRAŻENIA REGULARNE I JĘZYK AWK

SPECYFIKACJA TECHNICZNA D GEODEZYJNA OBSŁUGA BUDOWY

PLANIMETRIA. Poziom podstawowy

PROE wykład 7 kontenery tablicowe, listy. dr inż. Jacek Naruniec

TWIERDZENIE PITAGORASA

'()(*+,-./01(23/*4*567/8/23/*98:)2(!."/+)012+3$%-4#"4"$5012#-4#"4-6017%*,4.!"#$!"#%&"!!!"#$%&"#'()%*+,-+

Przygotowały: Magdalena Golińska Ewa Karaś

ALGORYTMY I STRUKTURY DANYCH

Elementy cyfrowe i układy logiczne

7. REZONANS W OBWODACH ELEKTRYCZNYCH

40. Międzynarodowa Olimpiada Fizyczna Meksyk, lipca 2009 r. ZADANIE TEORETYCZNE 2 CHŁODZENIE LASEROWE I MELASA OPTYCZNA

Specyfikacja techniczna banerów Flash

Jednotaśmowa, deterministyczna maszyna Turinga :

Zagadnienia transportowe

ZAPYTANIE OFERTOWE PRZEDMIOT ZAMÓWIENIA: DOSTAWA UŻYWANEGO SAMOCHODU DOSTAWCZEGO DLA ZAKŁADU WODOCIĄGÓW I KANALIZACJI W PACZKOWIE

Wskazówki dotyczące przygotowania danych do wydruku suplementu

Opracowała: Karolina Król-Komarnicka, kierownik działu kadr i płac w państwowej instytucji

Na podstawie art.4 ust.1 i art.20 lit. l) Statutu Walne Zebranie Stowarzyszenia uchwala niniejszy Regulamin Zarządu.

CitiDirect Online Banking. Powiadomienia

Statystyki opisowe. Marcin Zajenkowski. Marcin Zajenkowski () Statystyki opisowe 1 / 57

Automatyczne przetwarzanie recenzji konsumenckich dla oceny użyteczności produktów i usług

Arkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu.

BINGO LOTTO INSTRUKCJA. zabawka i gra rekomendowany wiek: od lat 5 liczba graczy: 2-18

RZECZPOSPOLITA POLSKA. Prezydent Miasta na Prawach Powiatu Zarząd Powiatu. wszystkie

Rekompensowanie pracy w godzinach nadliczbowych

Bazy danych. Andrzej Łachwa, UJ, /15

Umowa o pracę zawarta na czas nieokreślony

REGULAMIN PRZEPROWADZANIA OCEN OKRESOWYCH PRACOWNIKÓW NIEBĘDĄCYCH NAUCZYCIELAMI AKADEMICKIMI SZKOŁY GŁÓWNEJ HANDLOWEJ W WARSZAWIE

Jak korzystać z Group Tracks w programie Cubase na przykładzie EWQLSO Platinum (Pro)

Polska-Warszawa: Usługi w zakresie doradztwa prawnego i reprezentacji prawnej 2015/S

Program szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych

Zaawansowana adresacja IPv4

Transkrypt:

OPERACJE BINARNE Na poprzednim wykładzie przyjęliśmy, że funkcja (pełna) jest taką relacją f A B, że dla każdego a A istnieje dokładnie jedna para (a, b) f, tj. b = f (a). Zauważyliśmy również, że elementy zbioru A mogą być parami, trójkami, lub ogólnie n-tkami i wtedy mamy do czynienia z funkcją wielu zmiennych. Szczególnie często występującym przypadkiem jest odwzorowanie z A 2 w A. Przykład 1 Niech A = Z oraz a,b A. Odwzorowania (a,b) a + b, (a,b) a b, (a,b) ab są przykładami funkcji f : A 2 A. Funkcje takie jak powyższe określają sposób uzyskania z dwoch elementów pewnego zbioru elementu trzeciego i nazywane są operacjami binarnymi. W ogólności operacje nie muszą być definiowane na tym Jȩzyki formalne i automaty 1

samym zbiorze. Kombinacji mogą podlegać elementy dwóch różnych zbiorów, a jej wynikiem być element należacy do jeszcze innego zbioru. Definicja 1 Niech A,B,C będą zbiorami. Operacja binarna na A i B jest odwzorowaniem f : A B C, tj. funkcją, która każdej parze (a, b) A B przyporządkowuje pewną wartość c C. Operacja jest reprezentowana pewnym wybranym symbolem, jak np.. Wówczas zamiast f (a,b) piszemy a b. Symbol jest nazywany operatorem infiksowym. Na dzisiejszym wykładzie będą nas interesować operacje związane z pewnymi obiektami formalnymi takimi jak litery, alfabety, słowa, języki. Jȩzyki formalne i automaty 2

ALFABETY I SŁOWA Definicja 2 Alfabet jest skończonym zbiorem. Elementy alfabetu są nazywane literami. Najłatwiej wyobrazić sobie alfabet jako zbiór liter a,b,c,... Należy jednak pamiętać, że może to być dowolny zbiór, w tym taki gdzie litery są elementami złożonymi i posiadają określoną strukturę. Z liter alfabetu A możemy tworzyć ciągi, zwane słowami, i określić nowy zbiór, który będzie zawierał wszystkie takie słowa. Przykład 2 Zbiór słów, jakie można utworzyć z alfabetu A = {a}, wynosi {a, aa, aaa,...}. Jȩzyki formalne i automaty 3

Przykład 3 Zbiór słów, jakie można utworzyć z alfabetu A = {a,b,c}, wynosi {a, b, c, aa, bb, cc, ab, ba, bc, cb, ac, ca, aaa, abc,...}. Inaczej mówiąc, słowa są n-tkami ze zbiorów A, A 2, A 3,..., wobec czego ich zbiór możemy określić poprzez domknięcie zbioru A. Definicja 3 Niech A będzie alfabetem. Elementy dodatniego domknięcia zbioru A A + = A A 2 A 3 = są słowami określonymi nad alfabetem A. Długość słowa w = a 1 a 2...a n wynosi w = n, tj. jest równa liczbie elementów ciągu w. [ n=1 A n Naturalną operacją określoną w zbiorze A + jest konkatenacja. Jȩzyki formalne i automaty 4

Definicja 4 Dla dowolnych słów w 1 = a 1 a 2...a p i w 2 = b 1 b 2...b q określonych na alfabecie A słowo w 1 w 2 = a 1 a 2...a p b 1 b 2...b q jest nazywane konkatenacja słów w 1 i w 2. Zbiór slów A + możemy rozszerzyć o słowo puste, oznaczane przez ε, którego długość wynosi 0. Definicja 5 Zbiór A = {ε} A + jest nazywany domknięciem alfabetu A ze względu na operację konkatenacji. Slowo puste jest elementem neutralnym konkatenacji, tj. dla każdego słowa w A + zachodzi εw = wε = w. Definiując A 0 = {ε} otrzymujemy również (podobnie jak w przypadku relacji), że A = [ n=0 A n Jȩzyki formalne i automaty 5

PRZYKŁAD ZASTOSOWANIA ALFABETU - STOSY Wprowadzona abstrakcja ciągów liter, lub słow, dostracza prostego modelu dla zdefiniowania obiektu zwanego stosem (znanego z wykładu z informatyki). Stos jest listą obiektów, do której dostęp jest ograniczony do wierzcholka stosu, tj. początku listy. Stosy są najczęściej wykorzystywane w sytuacji występowania ciągu zdarzeń wymagających obsługi, z których każde kolejne jest bardziej pilne niż poprzednie. Przykład 4 Gdy kompilator czyta wyrażenie takie jak a (b + c) d, generowany jest kod pozwalający na wykonanie powyższych operacji arytmetycznych. Po napotkaniu znaku kompilator jest gotowy do wygenerowania instrukcji mnożenia. Jednakże napotyka on wówczas znak nawiasu (, co powoduje, że operacja mnożenia zostaje zawieszona, a aktualne dane - kod mnożenia i pierwszy argument (lub adres do tych danych), zapamiętane na stosie. Kompilator przechodzi do wytworzenia Jȩzyki formalne i automaty 6

kodu dodawania, po czym odzyskuje dane ze stosu, kontynuuje generację kodu mnożenia i kończy kodem odejmowania. Stos może być w prosty sposób przedstawiony jako ciąg liter, na którym określone są pewne operacje. Definicja 6 Niech A będzie alfabetem. Na słowach określonych na A definiuje się następujące operacje. operację szczyt T : A + A, która dla w = a 1 a 2...a n zwraca T (w) = a n operację reszta R : A + A, która dla w = a 1 a 2...a n zwraca R(w) = a 1 a 2...a n 1 operację na_stos (lub push) S : A A A +, która dla a = a n i w = a 1 a 2...a n 1 zwraca S(a,w) = a 1 a 2...a n Alfabet użyty w powyższych operacjach nazywa się stosem. Jȩzyki formalne i automaty 7

Dodatkowo można zdefiniować operację ze_stosu (lub pop) P : A + A A, która zwraca dwa obiekty P(w) = (T (w),r(w)). Przykład 5 Jeżeli w = abc i d A, to T (w) = c, R(w) = ab i S(d,w) = abcd. Operacje te mogą być kombinowane ze sobą na dowolną głębokość, przy czym istnieją pewne zawsze prawdziwe identyczności. Twierdzenie 1 Dla wyżej zdefiniowanego stosu zawsze zachodzi: x A, w A, R(S(x,w)) = w w A +, S(T (w),r(w)) = w Dowód wynika bezpośrednio z definicji. Jȩzyki formalne i automaty 8

JEZYKI FORMALNE Definicja 7 Niech A bedzie alfabetem. Podzbiór A jest nazywany językiem lub językiem formalnym określonym na alfabecie A. Przykład 6 A = {a, b.g} L 1 = {ε,a,abb} L 2 = {wszystkie możliwe słowa o długości 3, które zaczynają się literą a} L 3 = {wszystkie możliwe słowa o skończonej długości, które zaczynają się literą a} Ponieważ słowa języka L można traktować jako litery alfabetu wyższego rzędu, te same operacje co dla alfabetu można definiować dla języków. Jȩzyki formalne i automaty 9

Definicja 8 Dla dwóch języków L 1 i L 2 określonych na alfabecie A ich produkt lub konkatenacja definiuje się jako L 1 L 2 = {w : w = w 1 w 2, w 1 L 1, w 2 L 2 } Przykład 7 Jeżeli A = {a,b,c,...,z,0,1,...,9} L 1 = {a,b,c,...,z} i L 2 = A to L 1 L 2 jest językiem zawierającym wszystkie słowa, które składają się z małej litery, po której następuje ciąg liter i cyfr. Definicja 9 Dla języka L określonego na A, potęgi L są zdefiniowane jako: L 0 = {ε}, L 1 = L, L n = LL n 1, n 2. Przykład 8 Jeżeli A = {0,1,...,9} i L = {00,11,22,...,99} to L 2 = {0000,0011,0022,...,9988,9999} Jȩzyki formalne i automaty 10

Określenie potęgi pozwala nam także zdefiniować domknięcia. Definicja 10 Niech L będzie językiem określonym na alfabecie A. Dodatnie domknięcie i domknięcie L jest określone jako L + = [ n=1 L n L = [ n=0 L n Zauważmy, że L + = LL oraz A + = AA. Przykład 9 Jeżeli A = {0,1} oraz L = {0,11} to L + jest językiem zawierającym wszystkie możliwe słowa określone na A, które składają się z ciągu jednego lub więcej zer lub ciągu zer z dowolną liczbą 11-tek wstawionych w ten ciąg lub ciągu zawierającego parzystą liczbę jedynek większą od 0. Niektóre takie elementy to: 0, 00, 000, 0110, 11011000, 11, 1111, itd. Jȩzyki formalne i automaty 11

GRAMATYKI FORMALNE Najważniejszym sposobem opisywania języków formalnych są gramatyki formalne. Opis w postaci gramatyki składa się z: Opisania, symbole jakiego alfabetu są używane przez język. Są to tzw. symbole terminalne. Wyboru dowolnego skończonego zbioru symboli pomocniczych, tzw. symboli nieterminalnych Wyboru z symboli nieterminalnych jednego symbolu startowego Wyboru pewnego skończonego zbioru reguł przepisywania, zwanych też produkcjami. Każda z reguł składa się z jednego słowa będącego lewą stroną reguły, oraz drugiego będącego prawą stroną. Reguły zapisuje się w postaci α β. Jȩzyki formalne i automaty 12

Do tak opisanego języka należy każde słowo, dla którego potrafimy zbudować taki ciąg, że: pierwszym elementem ciągu jest słowo złożone z symbolu startowego każde następne słowo powstało przez: wybranie dowolnego fragmentu poprzedniego słowa, które jest równe lewej stronie dowolnej reguły i zamienienie go na prawą stronę tej samej reguły ostatnim elementem ciągu jest dane słowo. Jȩzyki formalne i automaty 13

Przykładowa gramatyka: alfabet składa się z 0 i 1 symbole pomocnicze to A, B i C symbolem startowym jest A reguły przepisywania to: A BC A CB B 0B0 C 1C1 B 0 C 1 Jȩzyki formalne i automaty 14

Przykładowe wyprowadzenie słowa 00011111 w tej gramatyce: A BC (A BC) 0B0C (B 0B0) 0B01C1 (C 1C1) 0B011C11 (C 1C1) 00011C11 (B 0) 00011111 (C 1) Jȩzyki formalne i automaty 15

KLASY GRAMATYK Czy gramatyki formalne są wystarczające do opisu wszystkich języków, które chcemy opisać? Każda gramatyka formalna jest opisem skończonym. Gramatyk formalnych jest więc przeliczalnie wiele (pomijając możliwość różnego oznaczenia zbiorów symboli terminalnych oraz nieterminalnych), a zatem nie wszystkie języki formalne da się opisać za pomocą gramatyk formalnych. Mając jednoznaczny opis języka, chcielibyśmy mieć też możliwie efektywną procedurę, która sprawdzałaby czy dane słowo należy do danego języka. Niestety, ogólne gramatyki formalne nie dostarczają nam takiej metody. Jȩzyki formalne i automaty 16

Niektóre opisywane przez nie języki będą tylko semirozstrzygalne jeśli dane słowo należy do języka, w końcu znajdziemy jego wyprowadzenie, jednak nie istnieje ogólna metoda stwierdzania, czy wyprowadzenie nie istnieje, czy też po prostu jeszcze go nie znaleźliśmy niektóre zaś z tych rozstrzygalnych będą miały zbyt dużą złożoność obliczeniową metoda będzie istniała, ale będzie o wiele za wolna. Dlatego istnieje wiele innych metod opisu języków, które dostarczają bardziej efektywnych metod testowania przynależności danego słowa. Metody te są jednak z natury rzeczy mniej ogólne od gramatyk formalnych, i generalnie czym lepszą mają złożoność, tym mniej języków potrafią opisać. Wśród gramatyk formalnych wydziela się pewne klasy języków, które można opisać za pomocą różnego typu automatów. W szczególności rozważymy poniżej tzw. automaty skończone, pozwalające opisać gramatyki regularne. Jȩzyki formalne i automaty 17

DETERMINISTYCZNY AUTOMAT SKOŃCZONY Deterministyczny automat skończony (ang. Deterministic Finite-state Automaton, DFA) to abstrakcyjna maszyna o skończonej liczbie stanów, która zaczynając w stanie początkowym czyta kolejne symbole pewnego słowa, po przeczytaniu każdego zmieniając swój stan na stan będący wartością funkcji jednego przeczytanego symbolu oraz stanu aktualnego. Jeśli po przeczytaniu całego słowa maszyna znajduje się w którymś ze stanów oznaczonych jako akceptujące (końcowe), słowo należy do języka regularnego, do rozpoznawania którego jest zbudowana. Deterministyczny automat skończony, podobnie jak inne automaty skończone może być reprezentowany za pomocą tabeli przejść pomiędzy stanami lub diagramu stanów. Jȩzyki formalne i automaty 18

Przykład 10 Zbudujmy na przykład maszynę rozpoznającą takie słowa nad alfabetem binarnym, które są podzielne przez 5. Żeby zbudować tę maszynę skorzystajmy z faktu, że: w 0 = 2w, w 1 = 2w + 1 (wartość liczby to ostatnia cyfra plus dwa razy wartość liczby zbudowanej z pozostałych cyfr) Czyli: c n c n 1 c 1 c 0 = c 0 + 2(c 1 + 2( (c n 1 + 2(c n )) )) Ale jako że obchodzi nas nie wynik, a jedynie jego podzielność przez 5, możemy wykonywać obliczenia w arytmetyce modulo 5. Czyli zaczynamy od stanu x 0, i po przeczytaniu każdej cyfry c i przechodzimy ze stanu x j do stanu x 2 j+ci mod5. Jeśli po przeczytaniu całego słowa jesteśmy w stanie x 0, oznacza to, że reszta z dzielenia słowa przez 5 wynosi 0, a więc słowo jest podzielne przez 5. Jȩzyki formalne i automaty 19

x 0 0 x 0, x 0 1 x 1, x 1 0 x 2, x 1 1 x 3, x 2 0 x 4, x 2 1 x 0, x 3 0 x 1, x 3 1 x 2, x 4 0 x 3, x 4 1 x 4 stan startowy: x 0, stany akceptujące: tylko x 0 Jȩzyki formalne i automaty 20

DFA - DEFINICJA FORMALNA Definicja 11 Deterministyczny automat skończony jest piątką (A,X,x 0,X M,d) gdzie: A jest alfabetem X jest zbiorem stanów x 0 jest wyróżnionym stanem początkowym należącym do Q X A X jest zbiorem stanów akceptujących (końcowych) d : X A X jest funkcją przejścia, przypisującą parze (x,a) nowy stan x, w którym znajdzie się automat po przeczytaniu symbolu a w stanie x. Funkcja d może być częściowo określona (tj. mogą istnieć takie pary (x,a), dla których nie jest określony nowy stan x ). Jȩzyki formalne i automaty 21

W powyższym przykładzie mamy: A = {0,1} X = {x0,x1,x2,x3,x4} x 0 = x 0 X A = {x 0 } d jest określona przez: d(x 0,0) = x 0, d(x 0,1) = x 1, d(x 1,0) = x 2, d(x 1,1) = x 3, d(x 2,0) = x 4, d(x 2,1) = x 0, d(x 3,0) = x 1, d(x 3,1) = x 2, d(x 4,0) = x 3, d(x 4,1) = x 4 Jȩzyki formalne i automaty 22

JEZYKI i GRAMATYKI REGULARNE Język regularny to język formalny taki, że istnieje automat skończony potrafiący zdecydować czy dane słowo należy do języka. Każdy język regularny można zapisać w postaci gramatyki regularnej, tj. takiej gramatyki, że po lewej stronie każdej reguły jest jeden symbol nieterminalny, a po prawej dowolna liczba symboli terminalnych, po których występuje co najwyżej jeden symbol nieterminalny. Regułami gramatyki regularnej są więc na przykład: A B A xb A x A xyz A xyzb A ε Jȩzyki formalne i automaty 23

nie są zaś nimi na przykład: A BC AB CD Zależności między językami regularnymi a gramatykami regularnymi są następujące: Każdy język regularny można zapisać za pomocą gramatyki regularnej Każda gramatyka regularna generuje pewien język regularny Język, który nie jest regularny, nie posiada gramatyki regularnej Gramatyka, która nie jest regularna, może generować język regularny, ale nie musi. Jeśli takowy generuje, ma on też inną gramatykę, która jest regularna. Jȩzyki formalne i automaty 24

Regularnymi są np. języki: zbiór wszystkich słów alfabetu 0,1 zbiór wszystkich słów alfabetu 0,1 o długości n zbiór wszystkich słów alfabetu 0,1 o parzystej długości zbiór wszystkich słów alfabetu 0,1 zaczynających się od zera zbiór wszystkich słów alfabetu 0,1 nie zaczynających się od zera zbiór wszystkich słów alfabetu 0,1 w których na przemian występują zera i jedynki zbiór wszystkich słów alfabetu 0,1,2 w których na przemian występują zera, jedynki i dwójki Jȩzyki formalne i automaty 25