2011-09-26 13 views
12

To był problem z przydziałem zadań domowych, o którym wiem, że nieprawidłowo odpowiedziałem. Podałem:Gramatyka akceptująca pusty zestaw według reguły S-> S

S -> '' 

oznacza, że ​​S daje pusty ciąg znaków. Wiem, że pusty zestaw i pusty ciąg nie są takie same. Według mojego profesora, odpowiedź brzmi:

S -> S 

Teraz, odpowiedź wydaje się dziwne do mnie:

  1. To nigdy nie wygaśnie.
  2. To nie tyle język, ile brak.

Rozumiem z czysto matematycznego punktu widzenia, nie dostanę nigdzie z numerem dwa. Czy jest jednak wymagane, aby język się zakończył? Posiadanie języka, który MOŻE trwać wiecznie, brzmi dobrze, ale takie, które nigdy nie zakończy dźwięków na tyle, że myślałem, że zapytam, czy ktoś wie, czy to wymóg językowy, czy nie.

+1

Myślę, że to pytanie byłoby lepiej dostosowane do cstheory.stackexchange.com. – jwodder

+0

S: = S to jedna poprawna odpowiedź. Oczywiście nieskończenie wiele gramatyk generuje pusty język. Jaką część definicji gramatyki łamie ta gramatyka? Brak ... – Patrick87

+0

@ Patrick87 część, która mam nadzieję, że istnieje, że stwierdza, że ​​musi być w stanie wypowiedzieć? Oto cała przesłanka pytania! –

Odpowiedz

10

Z Formal Grammar Wikipedia page:

język G, oznaczona jako L (G), to wszystkie te zdań, które mogą być uzyskiwane w skończonej liczbie etapów od symbolu startu S.

Począwszy od S, stosując regułę produkcji raz do S daje S. Stosowanie reguły dwa razy daje S. Przez indukcję, stosując regułę skończona liczba nadal daje S. Ponieważ żadne wyrazy nie mogą być wyprowadzone w skończonej liczbie kroków język jest pusty, więc twój profesor ma rację.

Alternatywnymi sposobami definiowania gramatyki akceptującej pusty zestaw są L(G) = {} (język jest pusty) lub P = {} (zestaw reguł produkcyjnych jest pusty).

+0

Nie musisz przyjmować odpowiedzi, na którą nie masz odpowiedzi. Jeśli chcesz lepszej jakości odpowiedzi, możesz spróbować nagrody. –

+1

Jedyną wadą tej odpowiedzi jest to, że fladruje się trochę z nieistotnymi informacjami. Odpowiedź jest absolutnie słuszna: twój profesor jest jednoznacznie poprawny, a jego jest jednoznaczny zestaw produkcji do generowania pustego języka. Twoja akceptacja lub nie zaakceptowanie tej odpowiedzi nie zmieni matematyki. – Patrick87

+0

@Levi: Dał ci lepszą odpowiedź: pustą gramatykę (to znaczy brak reguł produkcji). – Nemo

Powiązane problemy