Znalezienie przykładów języków „antypalindromicznych”


15

Niech Σ={0,1} . Język mówi się, że „anty-palindrom” własność jeśli każdy ciąg że jest palindrom, . Ponadto dla każdego łańcucha który nie jest palindromem, lub , ale nie oba (!) (Wyłączne lub).LΣwwLuuLReverse(u)L

Rozumiem właściwość anty-palindromową, ale nie mogłem znaleźć języków, które mają tę właściwość. Najbliższy jeden udało mi się znaleźć to , ale nie posiada wyłączne lub część ... to jest, na przykład, zarówno i są w .ΣL0110L

Czy ktoś mógłby mi podać przykład języka, który ma tę właściwość? A może nawet więcej niż jeden przykład, ponieważ nie widzę, jakie ograniczenia to nakłada na język. (Czy musi to być nieregularny? Bez kontekstu? Lub nawet w ? I itp.)R


„Nie mogłem znaleźć języków, które mają tę właściwość”. - właśnie zdefiniowałeś, podając właściwość, zakładając, że istnieje jakikolwiek język, który spełnia ten warunek.
Raphael

7
Nie zgadzam się, że zdefiniował klasę języków. To nie stanowi dobrze zdefiniowanej definicji języka.
Shreesh

Odpowiedzi:


12

Jednym z przykładów będzie .L={x  |  binary(x)<binary(xR),x[0,1]}

I jeszcze inny przykład .L={x  |  binary(x)>binary(xR),x[0,1]}

Chodzi o to, że jeśli ustalasz regułę, aby wybrać tylko jeden z nich. Musisz wybrać regułę, aby palindromy były odrzucane ( f ( x ) < f ( x R ) , dla palindromów musisz mieć f ( x ) = f ( x R ) ). Możesz także zmienić alfabet, wziąłem alfabet binarny, aby uzyskać szybką odpowiedź.xxRf(x)<f(xR)f(x)=f(xR)

i L powyżej nie są regularne. I każdyjęzykanty-palindromicznybędzie nieregularny i może być tak samo zły jak język inny niż RE. Egzamin z nierozstrzygalnego języka: L = { x | taki, że b i n a r y ( x ) < b i n a r y ( x R ), jeśli zarówno x i x R Zatrzymaj lub zarówno x i x R Zatrzymaj, w przeciwnym razie, jeżeliLLL={x  |  binary(x)<binary(xR)xxR xxR Zatrzymaj }x}

Klaus Draeger wyjaśnił w komentarzu poniżej, że język anty-palindromiczny podany na początku odpowiedzi jest pozbawiony kontekstu: L={x0y1xR | x,y{0,1}}


Rozumiem, więc prawdą jest, że każdy język anty-palindromowy jest nieregularny. Ale czy można powiedzieć, że musi być w ? ponieważ nawet rozwijając ten pomysł każde zamówienie / funkcję, której będziemy używać, można obliczyć za pomocą TM w R. .. dobrze? RR
Marik S.

@Marik Istnieją dobrze zdefiniowane, ale nieobliczalne funkcje . Na przykład odwzorowanie liczb reprezentujących M, w w problemie Haltinga na [0,1].
Shreesh,

Tak, ale czy takie funkcje będą w stanie zdefiniować całkowite zamówienie na ? Σ
Marik S.

1
Tak. Na przykład jeśli x i x R lub Halt, w przeciwnym razie x lub x R w zależności od tego, który jest w Halt } . Zatrzymanie jest wszystkie ( M , w ) takie, że ML={x|xxR,binary(x)<binary(xR)xxRxxR}(M,w)M halts on w.
Shreesh

1
And if you take diagonalization language then it becomes non-RE.
Shreesh

10

About generating a few examples:

Building on the answer of @shreesh, we can prove that every anti-palindrome language must be of the form

L={x | x<xR}()
for some strict total ordering <.

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 ().

To, że każde zdefiniowane jako ( ) nie jest palindromem, jest banalne, więc ( ) jest pełną charakterystyką języków innych niż palindrom.L()()

Odpowiadając na pierwotne pytanie, wiemy teraz, że możemy uzyskać kilka przykładów języków anty-palindromowych , tworząc zamówienia < . Wiemy również, że robiąc to, nie ograniczamy się do podklasy języków, tracąc ogólność.L<


O pytaniu „czy te języki mogą być regularne?”:

Aby udowodnić, że jakikolwiek anty-palindrom nie jest regularny, załóż przez sprzeczność, że jest on regularny.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)


1
Lub prościej, możesz zauważyć, że aby DFA zaakceptował język palindromów, musi wziąć pod uwagę pierwszą połowę łańcucha podczas analizowania drugiej połowy - ale DFA ma skończoną liczbę stanów i nie może przechowywać dowolnie długi ciąg. To samo rozumowanie pokazuje, że język zrównoważonych nawiasów jest nieregularny (głębokość paren może być dowolnie duża).
Kevin

LL={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.)


8
Which leads to an even more explicit description: L={x0y1xR | x,y{0,1}}.
Klaus Draeger
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.