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⊆Σ∗ww∉Luu∈LReverse(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ź.x≠xRf(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żeliLL′L={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|x≠xR,binary(x)<binary(xR)xxR∉∈xxR}(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, L∪LR, 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:

S→0S0∣1S1∣0X1X→ϵ∣X0∣X1

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