Sede del Instituto de Tecnología de Harbin 2022 Preguntas del examen final de autómatas y lenguaje formal

En circunstancias normales, los estudiantes de último año sólo pueden realizar una prueba por materia. Espero que los jóvenes puedan transmitir el mismo legado en el futuro.
Nota: Solo recuerdo el significado general del examen , pero no recuerdo la descripción específica, por lo que es solo como referencia.

Un compañero de clase publicó las preguntas originales del examen de inglés del maestro . Si tiene las preguntas originales del examen de inglés, ¿por qué debería usar esta versión de recuperación? 233. Enlace: https://blog.csdn.net/weixin_44705388/article/details/126386915 . El artículo publicado por este estudiante sigue el acuerdo CC 4.0 BY-SA, que permite modificar y compartir el trabajo original, por lo que he incorporado el contenido en esta pregunta de recuperación para su referencia . Al mismo tiempo, este artículo también sigue la licencia CC 4.0 BY-SA .

Experimenté el examen de lenguaje formal y autómatas el domingo 8 de mayo de 2022, de 13:00 a 15:00 de la tarde, y la versión recuperada de las preguntas del examen ahora se presenta a continuación para su referencia.

Hablemos primero de la experiencia del examen: las preguntas son un poco más difíciles que las de 2019 y 2020. La razón de la dificultad es que algunos puntos que “pensé” pueden no estar cubiertos o rara vez se examinan. Escuche atentamente al maestro durante la clase, el maestro será muy cuidadoso . Indica claramente qué áreas se evalúan con frecuencia, qué áreas se evaluarán y cuáles no. (Todo lo que no esté claramente indicado para no ser evaluado puede ser evaluado , pero no te preocupes, en realidad no tiene mucho contenido). Y qué estándares de respuesta se deben seguir para diferentes preguntas.

La versión PDF se cargará en Github en un futuro próximo: proyecto HITSZ-OpenCS, así que estad atentos ~

Actualización 2022.05.19: Ya salieron los resultados. Si tienes alguna duda puedes preguntarle al profesor. El profesor te explicará claramente los puntos que te descontarán, para que puedas convencerte. Lo que escribí durante el examen es difícil de reproducir exactamente ahora, así que no daré las respuestas :) Personalmente creo que algunos de los puntos más complicados se ubicarán al final del artículo.

1. Diseñe un DFA para el siguiente idioma: L = { w ∈ { 0 , 1 } ∗ ∣ w contiene 00 y 11 } L=\left\{ w\in \left\{ 0,1 \right\} ^*|w\text{incluye tanto}00\text{ como }11 \right\}l={ w{ 0 ,1 }w contiene tanto 00 como 11 }

[10 puntos] Diseñe un DFA para L = { w ∈ { 0 , 1 } ∗ ∣ w L=\left\{w \in\{0,1\}^* \mid w\right.l={ w{ 0 ,1 }wcontiene 00 y 11 como subcadenas } \}} .

2. Diseñe un NFA para el siguiente lenguaje: L = { w ∈ { 0 , 1 } ∗ ∣ w Las subcadenas 01 y 10 aparecen con la misma frecuencia} L=\left\{ w\in \left\{ 0,1 \ right\} ^*|w\text{cadena de neutrones}01\text{, }10\text{igual número de apariciones} \right\}l={ w{ 0 ,1 }∣wLas subcadenas 01 y 10 aparecen con la misma frecuencia }

[10 puntos] Diseñe un AFN para L = { w ∈ { 0 , 1 } ∗ ∣ w L=\left\{w \in\{0,1\}^* \mid w\right.l={ w{ 0 ,1 }wcontiene un número igual de apariciones de las subcadenas 01 y 10 } \}} .

3. Diseñe expresiones regulares para los siguientes lenguajes:
(1) L = { w ∈ { a , b } ∗ ∣ w la cadena de neutrones aa aparece al menos dos veces} L=\left\{ w\in \left\{ a , b \right\} ^*|w\text{cadena de neutrones}aa\text{aparece al menos dos veces} \right\}l={ w{ un ,segundo }w cadena de neutrones aa aparece al menos dos veces } (Me temblaban las manos y escribí la pregunta incorrecta aquí antes. ¡Gracias a mis compañeros de clase por ayudarme a señalar el error!)

(2) L = { w ∈ { a , b } ∣ ∣ w no termina en aa o bb} L=\left\{ w\in \left\{ a,b \right\} ^*|w\text { No termina en }aa\text{ o }bb\text{} \right\}l={ w{ un ,segundo }w no termina en aa o bb }

[10 puntos] Diseñar expresiones regulares para lenguajes superiores a Σ = { a , b } \Sigma=\{a, b\}S={ un ,b } :
(1) Todas las cadenas que tienen al menos dos apariciones de la subcadenaaaaaaa .
(2) Todas las cadenas que no terminan con subcadenasaaaaaa obbbbbb .

4. Utilice el lema de la bomba para demostrar que L no es regular: L = { w ∈ { 0 , 1 } ∗ ∣ w Las subcadenas 00 y 11 aparecen con la misma frecuencia} L=\left\{ w\in \left\{ 0 ,1 \right\} ^*|w\text{cadena de neutrones}00\text{y}11\text{el número de apariciones es igual} \right\}l={ w{ 0 ,1 }Las subcadenas 00 y 11 aparecen con la misma frecuencia en w }

[10 puntos] Demuestre que el idioma LLL no es regular con el lema de bombeoL = { w ∈ { 0 , 1 } ∗ ∣ w L=\left\{w \in\{0,1\}^* \mid w\right.l={ w{ 0 ,1 }wtiene el mismo número de subcadenas 00 y 11 } \}} .

5. Seleccione entre cualquier idioma habitual L ⊆ Σ ∗ L\subseteq \Sigma ^*lSA partir del DFA de ∗ , construimos el DFA de h(L) usando lenguaje simbólico formal. dondeh : Σ → Σ ∗ , ∀ a ∈ Σ , h ( a ) = aah:\Sigma \rightarrow \Sigma ^*,\forall a\in \Sigma ,h\left( a \right) =aah:SS ,unS ,h( un )=Automóvil club británico

[10 puntos] Sea h : Σ → Σ ∗ h: \Sigma \rightarrow \Sigma^*h:SS ser un homomorfismo:∀ a ∈ Σ , h ( a ) = aa \forall a \in \Sigma, h(a)=aaunS ,h ( una )=aa . Proporcione una construcción formal del DFA parah ( L ) h (L)h ( L ) del DFA que acepta el lenguaje regularLLL sobreΣ \SigmaS. _

6. Construya una gramática para el siguiente lenguaje: { w ∈ { 0 , 1 } ∗ ∣ w tiene dos bloques ( block ) 0 , cada bloque tiene el mismo número de 0 } \left\{ w\in \left\{ 0,1 \right\} ^*|w\text{Hay dos bloques}\left( bloque \right) 0\text{, el número de cada bloque}0\text{ es igual} \right\}{ w{ 0 ,1 }w tiene dos piezas( bloque ) _ _ _0 , el número de 0 en cada bloque es igual }
[Nota: la pregunta original era "sólo" dos bloques, pero el profesor la eliminó solo en el examen]

[10 puntos] Diseña una gramática libre de contexto para el lenguaje
L = { x ∈ { 0 , 1 } ∗ ∣ x L=\left\{x \in\{0,1\}^* \mid x\right.l={ x{ 0 ,1 }Xtiene solo dos bloques no vacíos de 0 de la misma longitud } \}} .

7. Construya una PDA determinista para el siguiente lenguaje: { w = anb 2 n + 1 ∣ n ⩾ 1 } \left\{ w=a^nb^{2n+1}|n\geqslant 1 \right\}{ w=anb _2norte + 1 ∣norte_ __1 }

[10 puntos] Diseñar una PDA determinista para L = { anb 2 n + 1 ∣ n ≥ 1 } L=\left\{a^nb^{2n+1} \mid n \geq1\right\}l={ unnb _2n + 1_ _norte1 } .

8. Dado el CFG:
S → ASA ∣ A ∣ ε A → 00 ∣ ε S\rightarrow ASA|A|\varepsilon \\A\rightarrow 00|\varepsilonSA S A A εA00∣ε _

(1) Eliminar producciones vacías
(2) Eliminar producciones unitarias
(3) Convertir a gramática de Chomsky

[10 puntos] Comience con la gramática:
S → ASA ∣ A ∣ ε A → 00 ∣ ε \begin{aligned} & S \rightarrow ASA|A| \varepsilon \\ & A \rightarrow00\mid \varepsilon \end{aligned}SA S A A εA00mi
(1) Eliminar cualquier ε \varepsilonε -producciones.
(2) Elimine cualquier producción unitaria en la gramática resultante.
(3) Ponga la gramática resultante en la forma normal de Chomsky.

9. Hay una pregunta de PDA->CFG. No recuerdo la pregunta específica. Está en el libro. El profesor también dará ejemplos. Es solo una fórmula. Una vez que conozcas el método, estará bien. .

[10 puntos] Considere un PDA PPP con estado inicialqqq , símbolo de inicioZZZ en la pila y las siguientes reglas de transición. Por favor conviertaPPP a un CFG equivalente.
(1)δ ( q , 0 , Z ) = { ( q , X ) } \delta(q,0, Z)=\{(q, X)\}re ( q ,0 ,Z )={( q ,X )}
(2)δ ( q , 0 , X ) = { ( q , XX ) } \delta(q,0, X)=\{(q, XX)\}re ( q ,0 ,X )={( q ,XX )}
(3)δ ( q , 1 , X ) = { ( r , X ) } \delta(q,1, X)=\{(r, X)\}re ( q ,1 ,X )={( r ,X )}
(4)δ ( r , 0 , X ) = { ( r , ε ) } \delta(r,0, X)=\{(r, \varepsilon)\}re ( r ,0 ,X )={( r ,mi )}

10. Diseñe una máquina de Turing para el siguiente lenguaje: { aibjck ∣ k = i × j , k > 0 } \left\{ a^ib^jc^k|k=i\times j,k>0 \right\ }{ unyo bjc _kk=i×j ,k>0 }

[10 puntos] Diseñe una máquina de Turing para L = { aibjck ∣ k = i × j L=\left\{a^ib^jc^k \mid k=i \times j\right.l={ unyo bjc _kk=i×jy k > 0 } \left.k>0\right\}k>0 } .

La posdata es solo para referencia. Si tiene alguna pregunta, consulte al maestro. No podemos garantizar que lo siguiente sea absolutamente correcto.

  1. Para todas las preguntas de diseño, recuerde verificar la cadena vacía, un carácter y dos caracteres después de dibujar.
  2. Para la pregunta 2, lo mejor es demostrar que lo que estás dibujando es NFA, es decir, tiene una transferencia vacía. Diferentes profesores tienen diferentes requisitos. Algunos permiten dibujar DFA y otros no. Todo debe hacerse de acuerdo con los requisitos del profesor. El profesor lo enfatizará en clase. Si no funciona, puedes preguntarle al profesor después de clase.
  3. La pregunta 3 es la primera pregunta, recuerda considerar la situación aaa.
  4. Pregunta 5, asegúrese de utilizar lenguaje matemático para proporcionar completamente el DFA diseñado (Q, Σ, δ, q 0, F) (Q,\Sigma,\delta,q_{0},F)( Q ,S ,re ,q0,f ) puede
  5. Pregunta 6: Las llamadas dos piezas de 0 solo se pueden llamar dos piezas si hay un 1 en el medio, como "000100"
  6. Pregunta 7: Hay que diseñar DPDA, si alguno de ellos no cumple con las reglas de DPDA, entonces será una pastilla.
  7. La primera pregunta de la pregunta 8 es que S debe derivarse de S. Muchos estudiantes caen en este problema.
  8. Para la pregunta 9, recuerda anotar el proceso, lo mejor es simplificar los símbolos.
  9. Pregunta 10, tenga en cuenta que k > 0 k>0k>0 restricción de condición, no aceptar cadena vacía

Supongo que te gusta

Origin blog.csdn.net/weixin_52027058/article/details/124738005
Recomendado
Clasificación