2011-09-26 16 views
12

Este fue un problema de tarea que sé que he respondido incorrectamente. Di:Una gramática que acepta el conjunto vacío por la regla S-> S

S -> '' 

lo que significa que S se obtiene la cadena vacía. Sé que el conjunto vacío y la cadena vacía no son lo mismo. De acuerdo a mi profesor, la respuesta es:

S -> S 

Ahora, esa respuesta me parece extraño:

  1. Nunca va a terminar.
  2. No es tanto un lenguaje como la ausencia de uno.

entiendo desde un punto de vista estrictamente matemático, que no voy a llegar a ninguna parte con el número dos. Sin embargo, ¿es necesario que un idioma finalice? Tener un idioma que PUEDE durar para siempre suena bien, pero uno que nunca terminará suena lo suficientemente mal como para pensar que preguntaría si alguien sabe si es un requisito de idioma o no.

+1

Creo que esta pregunta sería más adecuada para cstheory.stackexchange.com. – jwodder

+0

S: = S es una respuesta correcta. Claramente, infinitas gramáticas generan el lenguaje vacío. ¿Qué parte de la definición de gramática viola esta gramática? Ninguno ... – Patrick87

+0

@ Patrick87 la parte que espero que exista que indique que debe ser capaz de terminar? ¡Esa es toda la premisa de la pregunta! –

Respuesta

10

Desde el Formal Grammar Wikipedia page:

el lenguaje de G, denotado como L (G), se define como todas aquellas frases que se pueden derivar en un número finito de pasos de la símbolo de inicio S.

Comenzando con S, aplicando la regla de producción una vez para S da S. aplicando la regla dos veces da S. Por inducción, aplicando la regla de cualquier número finito todavía da S. Dado que no hay frases se pueden derivar en un número finito de pasos , el idioma está vacío, por lo que su profesor es correcto.

maneras alternativas para definir una gramática que acepta el conjunto vacío son L(G) = {} (la lengua está vacía) o P = {} (el conjunto de reglas de producción está vacío).

+0

No es necesario que acepte una respuesta que no sienta que responde la pregunta. Si quieres respuestas de mejor calidad, podrías probar una recompensa. –

+1

Lo único malo de esta respuesta es que flojea un poco con información irrelevante. La respuesta es absolutamente correcta: su profesor es inequívocamente correcto, y el suyo es un conjunto inequívoco de producciones para generar el lenguaje vacío. Aceptar o no aceptar esta respuesta no cambiará las matemáticas. – Patrick87

+0

@Levi: Te dio una mejor respuesta: la gramática vacía (es decir, no hay reglas de producción en absoluto). – Nemo

Cuestiones relacionadas