ściąga jaio egzam, Studia, Semestr 3, Języki, Automaty i Obliczenia, Egzamin


Lambda ma sens gdy nie jest w zlozeniu

Czyli abb^ = abb = ^abb = ab^b

V - alfabet

V* - słownik

Np. V = {a,b}

V* = { ^, a,b,aa,ab,ba,bb,aaa … } - słownik

ab i ba to dwa rozne slowa

l(x) - długość slowa

l(^) = 0

porządek leksykograficzny u < v , u,v naleza V*

porządek zupełny u<v lub v<u

slowo transponowane

x = kolos

x^T = solok

x = x1,x2,x3,x4

x^T = xn, xn-1 …..

(x*y)^T = y^T * x ^T

^^T = ^

Transpozycja jezyka

0x01 graphic

Usuwanie lambda produkcji

Np

0x01 graphic

Zamiast lambdy wstawiam A i dodaje do reszty

Czyli powstaje :

S -> AB| B bo (A=^)B = B

B-> BB|1|^

A-> 1A0|10

Eliminuje B -> ^ i dodaje do reszty

S-> AB|B|A| ^ bo A*^ = A i B->^ = ^

B-> BB|1|B B -> jest bezuzyteczna wiec skleslam

A->1A0|10

Eliminuje S -> ^

S-> AB|B|A

B-> BB|1

A->1A0|10

Gramatyka bezkontekstowa nazywamy monotoniczna jeżeli prawe strony regul produkcji maja dlugosc wieksza od 1. - czyli ma być taka ze po prawej stronie maja być minimum 2 symbole ;-)

Postac normalna chomskiego i greibacha

PROJEKT

6. Wyznaczyć język bezkontekstowy będący konkatencja, sumą lub domknięciem Kleene'ego L1 i L2

Masz L1={ab,bb} i L2={a,cb}

konkatencja L=L1*L2 czyli L={aba,abcb,bba,bbcb}

suma L=L1+L2 czyli L = {ab,bb,a,cb}

domkniecie Kleeene'ego L1*={lambda,ab,bb,abbb,abab,bbab,bbbb,....}

Domknięciem Kleene'ego dowolnego alfabetu jest język złożony ze wszystkich słów nad tym alfabetem. Przykładowo jeśli 0x01 graphic
, to 0x01 graphic
jest zbiorem wszystkich ciągów zerojedynkowych o skończonej długości.

0x01 graphic

0x01 graphic

0x01 graphic

7.Wyznaczyć gramatyke bezkontekstową dla danego języka skończonego.(zwrocić uwage na całe te opisy itd)

8.Podać wyrażenie regularne opisujące dany język skończony.

mamy np. L = {a, b, ab, aab, abababa}

najprostsze wyrażenie dla tego języka: |a + b + ab + aab + abababa|

algorytm: zamieniamy przecinki na plusy a klamerki na | - gotowe ;]

9. wzorki C Y K

10. C Y K projekt

11. Dane związki regularne przekształcić do zadanej postaci wykorzystując związki w algebrze wyrażeń regularnych.

0x01 graphic

12.

Wg wykładu najpierw się zmienia A na K wszędzie po prawej stronie, a potem dopiero (już po zmianie) dopisuje K-produkcje identyczne jak A-produkcje. Czyli tak jak ktoś już zrobił wcześniej:

A->aA|bC

Zmieniam A na K po prawej:

A->aK|bC

Dopisuje K z przepisanymi regułami z A:

A->aK|bC

K->aK|bC

13.

0x01 graphic

16.

Gramatyka regularna to gramatyka wyglądająca następująco:

S->aB|aC|bS

B->a|aB

C->b

tzn. w regułach produkcji po prawej stronie jeden symbol terminalny poprzedza jeden symbol nieterminalny, lub jest jeden symbol terminalny.

gdy symboli terminalnych po prawej stronie będzie więcej, np. A->ab. Z definicji nie jest, ale można ją przekształcić do regularnej, więc opisuje ona język regularny.

Jeżeli gramatyka jest regularna to jest i bezkontekstowa i kontekstowa i rekurencyjnie przeliczalna.

Gramatyka bezkontekstowa to taka, w której po lewej stronie masz jeden symbol nieterminalny, a po prawej dowolną produkcję, np:

S->SBA|a|lambda

A->aA|B|a <- nie jest regularna!

B->b

Gramatyka bezkontekstowa jest szczególnym przypadkiem gramatyki kontekstowej o kontekście zerowym, jak jest bezkontekstowa albo kontekstowa to i jest rekurencyjnie przeliczalna.

Gramatyka kontekstowa to coś takiego:

aB->aC

tzn. po lewej stronie jest reguła produkcji zawierające lewy lub prawy kontekst (lub też oba jednocześnie - chyba!)

Jak jest kontekstowa to nie jest bezkontekstowa i nie jest regularna, ale jest rekurencyjnie przeliczalna.

W kontekstowej jest coś jeszcze, chyba że kontekst musi stać po tej samej stronie w produkcjach. Pisali o tym wcześniej cichy i mcczester, ja nie kumam tego do końca. Dlatego na temat sprawdzania czy jest kontekstowa czy nie - nie będę się rozpisywał. Zaznaczę tylko że czy jest kontekstowa, sprawdzamy tylko gdy nie jest bezkontekstowa. Bo jak jest bezkontekstowa to automatycznie jest i kontekstowa.

Rekurencyjnie przeliczalna jest gdy jest którą kolwiek z wyżej wymienionych. Gramatyka nie jest rekurencyjnie przeliczalna jeżeli po lewej stronie stoi lambda

lambda->A

Wtedy nie jest żadną z wymienionych gramatyk.



Wyszukiwarka