Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 14. 04. 2009 13:57

xy2000
Příspěvky: 37
Reputace:   
 

bezkontextová gramatika

Dobrý den,
uměl by někdo vyřešit tenhle příklad?
děkuji.

Navrhněte bezkontextové gramatiky pro následující jazyky:

a) L1 = {x#y | x, y ∈ {0, 1}*, x se nerovna  y}
b) L2 = {xy | x, y ∈ {0, 1}*, |x| = |y|, x se nerovna y}

Offline

 

#2 14. 04. 2009 15:21 — Editoval Kondr (14. 04. 2009 15:35)

Kondr
Veterán
Místo: Linz, Österreich
Příspěvky: 4247
Škola: FI MU 2013
Pozice: Vývojář, JKU
Reputace:   38 
 

Re: bezkontextová gramatika

a) slova L1 a L2 se musí někde lišit. Pokud se liší na i-té pozici, jsou tvaru
x=v0w
y=r1s
nebo
x=v1w
y=r0s

kde |v|=|r|=i-1

proto slovo x#y je tvaru v0w#r1s nebo v1w#r0s
pro kořenový neterminál tedy máme přepisovací pravidla
S=N1C | J0C
kde C je cokoliv (tedy C=eps|Z|ZC, kde Z=0|1), N je 0C# "obalené" slovy délky i-1,
J je 1C# "obalené" slovy délky i-1
N=0C|ZNZ
N=1C|ZNZ

b) pokud se x liší od y na i-té pozici, je hledané slovo tvaru u0vr1s nebo u1vr0s, kde |u|=|r|=i-1, |v|=|s|=|x|-i. Můžeme si odtud všimnout že |u|+|s|=|v|+|r|. Můžme proto položit vr=pq, kde |p|=|u|, |q|=|s|. Slovo z jazyka je pak u0pq1s nebo u1pq0s, přitom u1p je jednička "obalená" stejným počtem znaků z obou stran, podobně q0s.

Gramatika proto může vypadat takto:
S=JN|NJ
J=1|ZJZ
N=0|ZNZ
Z=0|1


BRKOS - matematický korespondenční seminář pro střední školy

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson