Beispiele für Sprachen finden, die „antipalindromisch“ sind


15

Es sei . Eine Sprache gesagt wird die „anti-Palindrom“ Eigenschaft hat , wenn für jede Saite dass ein Palindrom ist, . Außerdem ist für jede Zeichenfolge , die kein Palindrom ist, entweder oder , aber nicht beide (!) (Exklusive oder).L Σ * w W L u u L R e V e r s e ( u ) LΣ={0,1}LΣwwLuuLReverse(u)L

Ich verstehe die Anti-Palindrom-Eigenschaft, konnte jedoch keine Sprachen finden, die diese Eigenschaft aufweisen. Die nächstgelegene ich finden konnte , ist , aber es hat nicht die ausschließliche oder teil ... das heißt, beispielsweise sowohl und sind in .01 10 LΣL0110L

Könnte mir jemand ein Beispiel für eine Sprache geben, die diese Eigenschaft hat? Oder vielleicht sogar mehr als ein einzelnes Beispiel, weil ich nicht verstehe, welche Einschränkungen dies für eine Sprache mit sich bringt. (Muss es nicht regelmäßig sein? Kontextfrei? Oder nicht einmal in ? Und etc.)R


"Ich konnte keine Sprachen finden, die diese Eigenschaft haben." - Sie haben gerade eine durch Angabe der Eigenschaft definiert, vorausgesetzt, es gibt eine Sprache, die die Bedingung erfüllt.
Raphael

7
Ich stimme nicht zu, was er definierte, war eine Klasse von Sprachen. Das ist keine genau definierte Definition für eine Sprache.
Shreesh

Antworten:


12

Ein Beispiel ist .L={x  |  binary(x)<binary(xR),x[0,1]}

Und noch ein Beispiel .L={x  |  binary(x)>binary(xR),x[0,1]}

Die Idee ist, wenn Sie eine Regel bilden, um nur einen von ihnen zu wählen. Sie müssen die Regel so wählen, dass Palindrome verworfen werden sollen ( , für Palindrome müssen Sie ) haben. Sie können auch das Alphabet ändern, Ich habe binäres Alphabet genommen, um eine schnelle Antwort zu bekommen. f ( x ) < f ( x R ) f ( x ) = f ( x R )xxRf(x)<f(xR)f(x)=f(xR)

L ' L = { x | b i n a r y ( x ) < b i n a r y ( x R ) x x Rx x Rx }L und sind nicht regelmäßig. Und jede antipalindromische Sprache ist nicht regelmäßig und kann genauso schlecht sein wie eine Sprache ohne RE. Ein Beispiel für eine unentscheidbare Sprache: so dass wenn sowohl als auch Halt oder sowohl als auch Halt, sonst wenn HaltLL={x  |  binary(x)<binary(xR)xxR xxR x}

Klaus Draeger erklärte im Kommentar unterhalb dieser anti-Palindrom Sprache am Anfang der Antwort ist kontextfrei:L={x0y1xR | x,y{0,1}}


Ich verstehe, also ist es wahr, dass jede Anti-Palindrom-Sprache nicht regelmäßig ist. Aber kann man sagen, dass es in ? denn selbst wenn wir diese Idee erweitern, kann jede Reihenfolge / Funktion, die wir verwenden, mit einem TM in ..right berechnet werden? RRR
Marik S.

@Marik Es gibt gut definierte, aber nicht berechenbare Funktionen . Zum Beispiel Mapping von Zahlen, die M, w in Halting Problem darstellen, auf [0,1].
Shreesh

Ja, aber können solche Funktionen eine Gesamtreihenfolge für ? Σ
Marik S.

1
Ja. Zum Beispiel wenn sowohl als auch oder Halt sind, andernfalls oder je nachdem, was in Halt ist . Halt ist alles so, dass auf . x x Rx x R } ( M , w ) M wL={x|xxR,binary(x)<binary(xR)xxRxxR}(M,w)Mw
Shreesh

1
Und wenn Sie eine Diagonalisierungssprache verwenden, wird diese zu einer Non-RE-Sprache.
Shreesh

10

Über das Generieren einiger Beispiele:

Aufbauend auf der Antwort von @shreesh, können wir beweisen , dass jede anti-Palindrom Sprache der Form sein muss für einige strenge totale Ordnung .<

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

In der Tat können wir bei jedem Anti-Palindrom ein assoziiertes wie folgt definieren. Wir beginnen mit einer beliebigen Aufzählung von , wobei jedes Wort genau einmal vorkommt. Dann ändern wir die Aufzählung: Für jedes Paar von Nicht-Palindromen tauschen wir ihre Position, damit dasjenige, das zu gehört, vor dem anderen erscheint. Die neue Aufzählung führt zu einer Gesamtreihenfolge befriedigend .< x 0 , x 1 , { 0 , 1 } x , x R L < ( )L<x0,x1,{0,1}x,xRL<()

Daß jedes als definierte kein Palindrom ist, ist trivial, so daß eine vollständige Charakterisierung von nicht-palindromen Sprachen ist.( ) ( )L()()

Wenn wir uns der ursprünglichen Frage widmen, wissen wir jetzt, dass wir mehrere Beispiele für Anti-Palindrom-Sprachen erhalten können, indem wir Bestellungen . Wir wissen auch, dass wir uns dadurch nicht auf eine Unterklasse von Sprachen beschränken, sondern die Allgemeinheit verlieren.<L<


Über die Frage "Können diese Sprachen regelmäßig sein?":

Um zu beweisen, dass ein Anti-Palindrom nicht regelmäßig ist, wird im Widerspruch angenommen, dass es regelmäßig ist.L

  1. Da die Regelmäßigkeit durch Umkehrung erhalten bleibt , ist auch regelmäßig.LR
  2. Da die Regelmäßigkeit durch Vereinigung erhalten bleibt, ist auch , die Menge aller Nicht-Palindrome, regelmäßig.LLR
  3. Da die Regelmäßigkeit durch Ergänzung erhalten bleibt, ist die Menge aller Palindrome regelmäßig.

Aus der letzten Aussage können wir durch Pumpen einen Widerspruch ableiten. (Siehe zB hier für eine Lösung)


1
Oder einfacher gesagt: Damit ein DFA die Sprache der Palindrome akzeptiert, muss er beim Parsen der zweiten Hälfte die erste Hälfte der Zeichenfolge berücksichtigen. Ein DFA hat jedoch eine endliche Anzahl von Zuständen und kann keine speichern beliebig lange Saite. Dieselbe Überlegung zeigt, dass die Sprache der ausgeglichenen Klammern nicht regelmäßig ist (die Parentiefe kann beliebig groß sein).
Kevin

Ich sehe, aber wenn irgendein diese Eigenschaft hat, dann aus der Form bedeutet dies, dass jede Sprache auch kontextfrei ist? Oder wenn nicht CFL, muss es in ? da jeder Auftrag mit einem TM in berechnet werden kann . L = { x | x < x R } R < RLL={x|x<xR}R<R
Marik S.

@MarikS. Die folgende Grammatik von rici beweist, dass kontextfrei sein kann. Ich bin mir ziemlich sicher, dass einige nicht rekursiv sind, da es unzählige solcher Sprachen gibt - in meinem Beweis oben können wir unzählige Entscheidungen treffen, welche als erstes zwischen und , und jede Kombination gibt eine andere . Die Kardinalität solcher Sprachen ist also die gleiche wie bei , was unzählig ist. L x x R L { 0 , 1 } NLLxxRL{0,1}N
Chi

9

Hier ist eine einfache kontextfreie Grammatik für eine antipalindromische Sprache:

S0S01S10X1XϵX0X1

(Tatsächlich handelt es sich hierbei um die von @shreesh vorgeschlagene antipalindromische Sprache, bei der ein lexikografischer Vergleich für den Kleiner-als-Operator verwendet wird.)


8
Was zu einer noch genaueren Beschreibung führt: . L={x0y1xR | x,y{0,1}}
Klaus Draeger
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.