[Gramatyki] Wyznaczenie języka dla danej gramatyki

dall
Użytkownik
Użytkownik
Posty: 25
Rejestracja: 3 lis 2010, o 17:52
Płeć: Kobieta
Lokalizacja: Polska
Podziękował: 15 razy

[Gramatyki] Wyznaczenie języka dla danej gramatyki

Post autor: dall »

Hej
Mam problem w zadaniu w którym z podanej gramatyki bezkontekstowej mam wyprowadzić język generowany przez nią. Niestety zawsze gubię się i za każdym razem wychodzą mi różne rzeczy :/ Czy ktoś mógłby mi to rozpisać?
\(\displaystyle{ G=\left\langle \{S,Y,X,Z,y,x,z\},\{y,x,z\},P,S\right\rangle}\)
reguły produkcji:
\(\displaystyle{ S \rightarrow SZ|Y\\
Y \rightarrow YX|z\\
X \rightarrow Zy|x\\
Z \rightarrow y|z}\)


Mam to rozwiązać do końca tygodnia ale wolę zapytać wcześniej niż później zostawić to sobie na sam koniec. Z góry dziękuję za każdą pomoc

EDIT:
Moje ostatnie dwa rozwiązania:
\(\displaystyle{ z((y+z)y+x)^m(y+z)^n+z(y+z)^n\\}\)
I drugie (to wyszło mi dwa razy takie samo, więc pewnie coś jest na rzeczy )
\(\displaystyle{ z+z((y+z)y+x)^m+z(y+z)^n+z((y+z)y+x)^m(y+z)^n}\)
Wszystkie współczynniki (chyba) od 0...
Czy ktoś może mi powiedzieć czy któreś z tych rozwiązań jest dobre? A jeśli jest jakiś błąd to gdzie?
Ostatnio zmieniony 9 lis 2014, o 19:11 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
norwimaj
Użytkownik
Użytkownik
Posty: 5101
Rejestracja: 11 mar 2011, o 16:31
Płeć: Mężczyzna
Lokalizacja: 52°16'37''N 20°52'45''E
Podziękował: 4 razy
Pomógł: 1001 razy

[Gramatyki] Wyznaczenie języka dla danej gramatyki

Post autor: norwimaj »

Oba Twoje wyniki są takie same, a jeszcze krócej można to zapisać tak: \(\displaystyle{ z((y+z)y+x)^m(y+z)^n,}\) albo raczej tak: \(\displaystyle{ z((y+z)y+x)^{\ast}(y+z)^{\ast}.}\) Ten język jest regularny.
dall
Użytkownik
Użytkownik
Posty: 25
Rejestracja: 3 lis 2010, o 17:52
Płeć: Kobieta
Lokalizacja: Polska
Podziękował: 15 razy

[Gramatyki] Wyznaczenie języka dla danej gramatyki

Post autor: dall »

@up mógłbyś podać przykład 5-literowego słowa? (czy np. zyyxy będzie czy raczej nie?) Bo kolejnym 'punktem' zadania jest algorytm Cocke'a-Youngera-Kasamiego dla dowolnego 5-literowego słowa. Jestem zielona z tego więc wolę zapytać :)
Dzięki wielkie za dotychczasową pomoc :D
norwimaj
Użytkownik
Użytkownik
Posty: 5101
Rejestracja: 11 mar 2011, o 16:31
Płeć: Mężczyzna
Lokalizacja: 52°16'37''N 20°52'45''E
Podziękował: 4 razy
Pomógł: 1001 razy

[Gramatyki] Wyznaczenie języka dla danej gramatyki

Post autor: norwimaj »

Tak, to słowo należy do języka.

\(\displaystyle{ \overbrace{\overbrace{\overbrace{\overbrace{\overbrace{z}^Y \overbrace{\overbrace{y}^Z y}^X}^Y \overbrace{x}^X}^Y}^S \overbrace{y}^Z}^S}\)
dall
Użytkownik
Użytkownik
Posty: 25
Rejestracja: 3 lis 2010, o 17:52
Płeć: Kobieta
Lokalizacja: Polska
Podziękował: 15 razy

[Gramatyki] Wyznaczenie języka dla danej gramatyki

Post autor: dall »

A jakiś pomysł czemu mi nie wychodzi z algorytmu Cocke'a-Youngera-Kasamiego?
norwimaj
Użytkownik
Użytkownik
Posty: 5101
Rejestracja: 11 mar 2011, o 16:31
Płeć: Mężczyzna
Lokalizacja: 52°16'37''N 20°52'45''E
Podziękował: 4 razy
Pomógł: 1001 razy

[Gramatyki] Wyznaczenie języka dla danej gramatyki

Post autor: norwimaj »

A czy przekształciłaś tę gramatykę do postaci normalnej Chomsky'ego?
dall
Użytkownik
Użytkownik
Posty: 25
Rejestracja: 3 lis 2010, o 17:52
Płeć: Kobieta
Lokalizacja: Polska
Podziękował: 15 razy

[Gramatyki] Wyznaczenie języka dla danej gramatyki

Post autor: dall »

Tak, chyba że tutaj popełniłam błąd. Powinno być tak?
\(\displaystyle{ S \rightarrow SZ|YX|z\\
Y \rightarrow YX|z\\
X \rightarrow ZA|x\\
Z \rightarrow y|z\\
A \rightarrow y}\)


Nie jestem pewna czy potrzebne sa nam teraz reguły \(\displaystyle{ Y \rightarrow YX|z\\}\) ale czy je odrzucę czy zostawię to i tak nic dobrego mi nie wychodzi
norwimaj
Użytkownik
Użytkownik
Posty: 5101
Rejestracja: 11 mar 2011, o 16:31
Płeć: Mężczyzna
Lokalizacja: 52°16'37''N 20°52'45''E
Podziękował: 4 razy
Pomógł: 1001 razy

[Gramatyki] Wyznaczenie języka dla danej gramatyki

Post autor: norwimaj »

dall pisze: Nie jestem pewna czy potrzebne sa nam teraz reguły \(\displaystyle{ Y \rightarrow YX|z\\}\)
Raczej tak.


Wypełniłem wiersze tabeli odpowiadające podsłowom długości \(\displaystyle{ 1}\) i \(\displaystyle{ 2}\). Do tej pory masz tak samo? Co dalej?
\(\displaystyle{ \begin{array}{l|c|c|c|c|c}
& z & y & y & x & y \\
1 & S,Y,Z & Z,A & Z,A & X & Z,A \\
2 & S,X & X & & & \\
\end{array}}\)
dall
Użytkownik
Użytkownik
Posty: 25
Rejestracja: 3 lis 2010, o 17:52
Płeć: Kobieta
Lokalizacja: Polska
Podziękował: 15 razy

[Gramatyki] Wyznaczenie języka dla danej gramatyki

Post autor: dall »

A dalej nic mi nie wychodzi niestety. Nie ma reguły która po prawej stronie ma ZX lub AZ (podobnie dalej, nie ma XZ ani XA), a w 3. wierszu nie ma SX ani XX

EDIT:
Już rozumiem błąd, biorę tylko tak jakby jeden przypadek...
\(\displaystyle{ 3\ |\ Y,S\ |\ -\ |\ -\ |\\
4\ |\ S\ |\ -\ |\\
5\ |\ S\ |}\)

Czyli wychodzi na to że pośrednio z symbolu początkowego można otrzymać słowo zyyxy.

Dzięki wielkie za pomoc
norwimaj
Użytkownik
Użytkownik
Posty: 5101
Rejestracja: 11 mar 2011, o 16:31
Płeć: Mężczyzna
Lokalizacja: 52°16'37''N 20°52'45''E
Podziękował: 4 razy
Pomógł: 1001 razy

[Gramatyki] Wyznaczenie języka dla danej gramatyki

Post autor: norwimaj »

Dla słowa \(\displaystyle{ zyyx}\) (\(\displaystyle{ 4.}\) wiersz) jest nie tylko \(\displaystyle{ S,}\) ale też \(\displaystyle{ Y,}\) bo mamy produkcję \(\displaystyle{ Y\to YX.}\) (podział \(\displaystyle{ zyy\cdot x}\))
ODPOWIEDZ