2 votos

¿Cómo encontrar las clases de equivalencia de un complemento de lenguaje formal?

Dejemos que L={({ϵ,a,b}{bbai|i0})}L={({ϵ,a,b}{bbai|i0})} sea una lengua sobre ={a,b,c}={a,b,c} . Encuentre las clases de equivalencia de la relación RLRL que se define como sigue: xRLyz:xzLyzLxRLyz:xzLyzL .

Hemos aprendido un teorema que RL=RL donde L es el complemento de L . Así que para encontrar RL de {({ϵ,a,b}{bbai|i0})} equivale a encontrar {ϵ,a,b}{bbai|i0} .

{ϵ,a,b}{bbai|i0}={ϵ,a,b,bba} . Así que hay 4 clases de equivalencia: S1=ϵS2=aS2=bS=bba .

Sin embargo, la solución a este problema menciona la quinta clase: cΣ+aΣ++b(a+c)Σ+bbΣ(b+c)Σ No entiendo lo que representa esta clase. Parece que en realidad representa las palabras en L . Pero si es así por qué lo añadimos ya que estas palabras no están en L ?

0 votos

Creo que debemos interpretar RL=RL como "hay una biyección (posiblemente incluso un isomorfismo, no sé el teorema al que te refieres) entre RL y RL "en lugar de una igualdad literal, porque digamos que L={ε} entonces RL={{ε}} pero RL={ΣΣ} ¿verdad?

0 votos

RL=RL significa que RL y RL tienen las mismas clases de equivalencia.

1 votos

En realidad ahora tiene sentido para mí por qué la quinta clase eq. está en RL porque necesitamos una clase para todas las palabras que no están en L por lo que para cualquier z:xzLxyL Así que xRLy

3voto

SpectreWriter Puntos 609

Es fácil demostrar que las clases de equivalencia de Nerode son las mismas para un lenguaje L y su complemento L . xRLy(z:xzLyzL)xRLy(z:xzLyzL) Dado que las cadenas en L son exactamente las cadenas que no están en L entonces xzLxzL(xzLyzL)(xzLyzL)(xzLyzL) Por lo tanto, (z:xzLyzL)(z:xzLyzL)xRLyxRLy


Parece que has olvidado las clases de equivalencias que contienen todas las cadenas que no son aceptadas. Sin embargo, le advierto que no intente encontrar las clases de equivalencia de la forma en que lo ha hecho.

Una de las razones es que puede haber múltiples clases de equivalencia de cadenas que no se aceptan (por ejemplo, esta pregunta ). No siempre serán evidentes y es posible que no pueda adivinarlos a partir de la definición.

Otra razón es que las clases de equivalencia de aceptación que se leen pueden no ser clases de equivalencia separadas. Por ejemplo, ¿qué pasaría si cambiáramos un poco su lenguaje: el lenguaje generado por {ϵ,a,b,bba,aba} . También se puede afirmar que las clases de equivalencia que se aceptan son S1={ϵ}S2={a}S3={b}S4={bba}S5={aba} Sin embargo, esto no es cierto. Las cadenas a y b deben estar en la misma clase de equivalencia, ya que no pueden estar separadas por ninguna zΣ .

Por estas razones, me gustaría altamente recomiendan encontrar el DFA mínimo de un lenguaje para encontrar las clases de equivalencia. Tu manera funcionó (aunque te faltó la última clase de equivalencia), pero para muchos otros lenguajes te dará una respuesta muy equivocada.

0 votos

De hecho, ¿por qué no podríamos haber escrito la última clase? cΣ+aΣ++b(a+c)Σ+bbΣ(b+c)Σ como 4 ¿clases de equivalencia separadas?

1 votos

@Yos Porque la relación especifica que dos elementos están en la misma clase de equivalencia si y sólo si para todos zΣ o bien xz y yz son ambos aceptados o ambos rechazados. Considere las cadenas c y a . ¿Puedes encontrar un z tal que cz se acepta pero az no es o viceversa? Si no puede, entonces deben estar en la misma clase de equivalencia.

0 votos

Por lo que si la clase eq. tuviera cΣ+aΣ podríamos haber dividido la clase en dos, ¿verdad? porque cϵL pero aϵL

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X