2011-09-26 11 views
12

Questo era un problema di assegnazione dei compiti a casa che so di aver risposto in modo errato. Ho dato:Una grammatica che accetta il set vuoto secondo la regola S-> S

S -> '' 

significa che S produce la stringa vuota. So che il set vuoto e la stringa vuota non sono la stessa cosa. Secondo il mio professore, la risposta è:

S -> S 

Ora, la risposta sembra strano per me:

  1. E non terminerà mai.
  2. Non è tanto un linguaggio quanto l'assenza di uno.

Capisco da un punto di vista strettamente matematico, non ho intenzione di ottenere ovunque con il numero due. Tuttavia, è necessario che una lingua termini? Avere un linguaggio che PUO andare avanti per sempre suona bene, ma uno che non terminerà mai i suoni abbastanza in modo sbagliato che ho pensato di chiedere se qualcuno sa se questo è un requisito di lingua o meno.

+1

Penso che questa domanda sarebbe più adatta a cstheory.stackexchange.com. – jwodder

+0

S: = S è una risposta corretta. Chiaramente infinitamente molte grammatiche generano la lingua vuota. Quale parte della definizione di grammatica viola questa grammatica? Nessuno ... – Patrick87

+0

@ Patrick87 la parte che spero esista affermando che deve essere in grado di terminare? Questa è l'intera premessa della domanda! –

risposta

10

Dal Formal Grammar Wikipedia page:

il linguaggio di G, indicata come L (G), è definito come tutte quelle frasi che possono essere derivate in un numero finito di passi dal simbolo iniziale S.

A partire da S, applicare la regola di produzione una volta a S dà S. Applicare la regola due volte dà S. Per induzione, applicando la regola ogni numero finito restituisce ancora S. Poiché non è possibile derivare alcuna frase in un numero finito di passaggi , la lingua è vuota, quindi il tuo professore ha ragione.

Modi alternativi per definire una grammatica che accetta il set vuoto sono L(G) = {} (la lingua è vuota) o P = {} (l'insieme di regole di produzione è vuoto).

+0

Non è necessario accettare una risposta che non si sente rispondere alla domanda. Se vuoi risposte di migliore qualità, puoi provare una taglia. –

+1

L'unica cosa negativa di questa risposta è che si infrange un po 'con informazioni irrilevanti. La risposta è assolutamente giusta: il tuo professore ha una correttezza senza ambiguità, e la sua è una serie inequivocabile di produzioni per generare il linguaggio vuoto. Il tuo accettare o non accettare questa risposta non cambierà la matematica. – Patrick87

+0

@Levi: Ti ha dato una risposta migliore: la grammatica vuota (cioè nessuna regola di produzione). – Nemo

Problemi correlati