Encontrar ejemplos de lenguajes que son "antipalindrómicos"

15

Deje Σ={0,1} . Un lenguaje LΣ se dice que tiene la propiedad "anti-palíndromo" si para cada cadena w que es un palíndromo, wL . Además, para cada cadena que no es un palíndromo, o , pero no ambos (!) (Exclusivo o).u L R e v e r s e ( u )uuLReverse(u)L

Entiendo la propiedad anti-palíndromo, pero no pude encontrar ningún idioma que tenga esta propiedad. El más cercano que pude encontrar es , pero no tiene la exclusiva o parte ... que es, por ejemplo, ambos y están en .01 10ΣL0110L

¿Alguien podría darme un ejemplo de un idioma que tenga esta propiedad? O posiblemente incluso más que un solo ejemplo, porque no veo qué tipo de limitaciones pone esto en un idioma. (¿Debe ser no regular? ¿Sin contexto? ¿O ni siquiera en ? Y etc.)R

Marik S.
fuente
"No pude encontrar ningún idioma que tenga esta propiedad". - acaba de definir uno dando la propiedad, asumiendo que hay algún lenguaje que cumpla con la condición.
Raphael
77
No estoy de acuerdo, lo que definió fue una clase de idiomas. Eso no constituye una definición bien definida para un idioma.
Shreesh

Respuestas:

12

Un ejemplo será .L={X  El |  siyonorteunry(X)<siyonorteunry(XR),X[0 0,1]}

Y otro ejemplo más .L={x  |  binary(x)>binary(xR),x[0,1]}

La idea es que si haces una regla para elegir solo uno de ellos. Debe elegir la regla para que los palíndromos se rechacen ( f ( x ) < f ( x R ) , para los palíndromos debe tener f ( x ) = f ( x R ) ). También puede cambiar el alfabeto, tomé alfabeto binario solo para obtener una respuesta rápida.xxRf(x)<f(xR)f(x)=f(xR)

y L ' anteriores no son regulares. Y cadalenguajeantipalindrómicoserá no regular y puede ser tan malo como un lenguaje que no sea RE. Ejemplo de un lenguaje indecidible: L = { x | tal que b i n a r y ( x ) < b i n a r y ( x R ) si tanto x como x R Detener o ambas x y x R Detener, de lo contrario siLLL={x  |  binary(x)<binary(xR)xxR xxR Alto }x}

Klaus Draeger explicó en el comentario a continuación que el lenguaje antipalindrómico dado al comienzo de la respuesta no tiene contexto: L={x0y1xR | x,y{0,1}}

Shreesh
fuente
Ya veo, así que es cierto que cada lenguaje anti-palíndromo no es regular. ¿Pero se puede decir que debe estar en ? porque incluso expandiendo esta idea cada orden / función que usaremos se puede calcular con una TM en R .. ¿verdad? RR
Marik S.
@Marik Hay funciones bien definidas pero inconfundibles . Por ejemplo, mapeo de números que representan M, w en Problema de detención a [0,1].
Shreesh
Sí, pero ¿podrán tales funciones definir un orden total en ? Σ
Marik S.
1
Si. Por ejemplo si tanto x como x R o Detener, de lo contrario x o x R lo que esté en Detener } . Detener es todo ( M , w ) tal que ML={x|xxR,binary(x)<binary(xR)xxRxxR}(M,w)Mse detiene en . w
Shreesh
1
Y si toma el lenguaje de diagonalización, entonces se convierte en no RE.
Shreesh
10

Acerca de generar algunos ejemplos:

Sobre la base de la respuesta de @shreesh, podemos demostrar que cada lenguaje antipandrome debe ser de la forma paraalgunospedidos totales estrictos < .

L={x | x<xR}()
<

Indeed, given any anti-palindrome L, we can define an associated < as follows. We start by taking any enumeration x0,x1, of {0,1}, where each word occurs exactly once. Then, we alter the enumeration: for each pair of non-palindromes x,xR, we swap their position so to make the one that belongs to L to appear before the other. The new enumeration induces a total ordering < satisfying ().

Que cada definida como ( ) sea ​​no palíndromo es trivial, por lo que ( ) es una caracterización completa de lenguajes no palíndromos.L()()

Al abordar la pregunta original, ahora sabemos que podemos obtener varios ejemplos de lenguajes anti-palíndromo elaborando pedidos < . También sabemos que al hacerlo no nos estamos restringiendo a una subclase de idiomas, perdiendo generalidad.L<


Sobre la pregunta "¿pueden estos idiomas ser regulares?":

Para probar que cualquier antipalíndromo no es regular, suponga por contradicción que es regular.L

  1. Since regularity is preserved by reversal, LR is also regular.
  2. Since regularity is preserved by union, LLR, which is the set of all the non-palindromes, is also regular.
  3. Since regularity is preserved by complement, the set of all palindromes is regular.

From the last statement, we can derive a contradiction by pumping. (See e.g. here for a solution)

chi
fuente
1
Or more simply, you can observe that in order for a DFA to accept the language of palindromes, it needs to consider the first half of the string while parsing the second half -- but a DFA has a finite number of states and cannot store an arbitrarily long string. It's the same reasoning that shows the language of balanced parentheses is non-regular (paren-depth can be arbitrarily large).
Kevin
I see, but if any L that has this property if from the form L={x|x<xR} does it indicate that every language is also Context Free? Or if not CFL, then must it be in R? since every order < can be calculated in R with a TM.
Marik S.
@MarikS. The grammar of rici below proves that L can be context-free. I'm pretty sure that some L is non-recursive, since there are uncountably many such languages -- in my proof above we can make countably infinite choices about which to put first between x and xR, and each combination gives a distinct L. So the cardinality of such languages is the same of {0,1}N, which is uncountable.
chi
9

For what it's worth, here is a simple context-free grammar for one anti-palindromic language:

S0S01S10X1XϵX0X1

(In fact, this is the anti-palindromic language proposed by @shreesh, using lexicographic comparison for the less-than operator.)

rici
fuente
8
Which leads to an even more explicit description: L={x0y1xR | x,y{0,1}}.
Klaus Draeger