Ist es entscheidend, ob eine Sprache, die durch die Anzahl der Vorkommen beschrieben wird, regelmäßig ist?

14

Es ist bekannt, dass die Sprache von Wörtern mit der gleichen Anzahl von 0 und 1 nicht regulär ist, während die Sprache von Wörtern mit der gleichen Anzahl von 001 und 100 regulär ist ( siehe hier ).

Ist es bei zwei gegebenen Wörtern w1,w2 entscheidend, ob die Sprache der Wörter, die die gleiche Anzahl von w1 und w2 regulär ist?

sdcvvc
quelle
Können Sie andere Beispiele für so definierte reguläre Sprachen als 1i0 und 01i oder 0i1 und 10i ? Was ist mit einem Beispiel für ein Alphabet mit 3 Symbolen?
Babou
Wenn w1 ein striktes Unterwort von w2 , ist die Wahrscheinlichkeit groß, dass die Sprache leer ist, also regelmäßig. Andere Beispiele kenne ich nicht.
SDCVVC
Ich vermute, dass die obigen Beispiele die einzigen sind, die das Problem entscheidbar machen würden. Wenn Sie nur zwei Teilzeichenfolgen angeben, würde ich vermuten, dass es sich um CF handelt ... je nachdem, was Sie in Bezug auf Vorkommen angeben können. Sie machen nicht genau genug, was Sie mit "beschrieben nach Anzahl der Vorkommen" meinen.
Babou
Der Fragekörper ist genau genug, IMO.
SDCVVC
1
Die bisherigen Lösungen für Sonderfälle scheinen von der Vorstellung abhängig zu sein, dass das Vorkommen von Teilzeichenfolgen von w1 nur ein einziges Vorkommen von dazwischenliegendem garantiert w2. es scheint also eine Beziehung zwischen w1 und w2 , die in der Mitte des Abtastens der Zeichenkette garantiert, dass man sich entweder in den Zuständen "gleich" oder "ungleich" befinden kann ", aber nur durch eine maximale endliche Zahl für den" ungleichen "Fall aus.
VZN

Antworten:

3

Ist es bei zwei gegebenen Wörtern , w 2 entscheidend, ob die Sprache L von Wörtern, die die gleiche Anzahl von w 1 und w 2 enthalten, regulär ist?w1w2Lw1w2

Zunächst einige Definitionen:
Sie könnten präziser formuliert und die Notationen verbessert werden, wenn sie in Proofs verwendet werden sollen. Dies ist nur ein erster Entwurf.

Ausgehend von zwei Wörtern und w 2 sagen wir: w1w2

  • tritt immermit w 2 auf , notiert mit w 1w 2 , wenn fw1 w2w1w2

    1. für irgendeinen String so dass s = x w 2 y mit x ,ss=xw2y und | x | 0 , | x | 1 | , | y | 0 , | y | 1 | 1 gibt es eine weitere Zerlegung s = x ' w 1 y ' . Anmerkung: Die Bedingung, dass x und yx,y ≥∣w1+w2|x|0,|x|1|,|y|0,|y|1|1s=xw1y
      xyJedes enthält mindestens eine 0 und eine 1, die von einem pathologischen Fall (gefunden von @sdcvvc) benötigt werden: , w 2 = v 1 i + j und y 1 , und seine symetrischen Varianten.w1=1i0w2=v1i+jy1
    2. es gibt eine Zeichenkette mit x ,s=xw2y , so dass es höchstens eine Zersetzung s = x ' w 1 y 'x,y ≥∣w1+w2s=xw1y
  • fällt immermit w 2 zusammen , notiert mit w 1w1 w2 , wenn jedes immer mit dem anderen auftritt,w1w2

  • und w 2 treten unabhängig voneinander auf, wobei w 1≤ istw1w2 , wenn keines immer mit dem anderen auftritt,w1w2

  • tritt immer m mal oder mehrals w 2 stellte w 1 m w 2 , genau dannwenn für jedes Zeichenfolge s , so dass s = x w 2 y mit | x | , | y | | w 1+ w 2 es gibt m andere Zerlegungen s = x i w 1 y iw1 mw2w1mw2ss=xw2yx, y| ≥∣w1+w2ms=xiw1yifür so dass i j x ix j impliziert .i[1,m]ijxixj

Diese Definitionen sind so aufgebaut, dass wir ignorieren können, was an den Enden der Zeichenkette passiert, an denen und w 2 auftreten sollen. Randeffekte am Ende der Zeichenfolge müssen separat analysiert werden, aber sie stellen eine begrenzte Anzahl von Fällen dar (tatsächlich denke ich, dass ich ein oder zwei solcher Randunterfälle in meiner ersten Analyse unten vergessen habe, aber das spielt keine Rolle). Die Definitionen sind kompatibel mit Überlappungen von Vorkommen.w1w2

Es sind 4 Hauptfälle zu berücksichtigen (wobei die Symmetrie zwischen und w 2 ignoriert wird ):w1w2

  1. Beide Wörter müssen zusammenkommen, außer möglicherweise an den Enden der Zeichenkette. Dies betrifft nur Paare der Form 1 i 0 und 01 i oder 0 i 1 und 10 i . Dies wird leicht von einemendlichen Automatenerkannt, der nur an beiden Enden der zu erkennenden Zeichenfolge auf einzelne Vorkommen prüft, um sicherzustellen, dass an beiden Enden oder an keinem Ende ein einzelnes Vorkommen vorliegt. Es gibt auch den entarteten Fall, wenn w 1 = w 2 ist : dann ist die Sprache L offensichtlich regelmäßig.w1w2
    1i001i0i110iw1=w2

  2. , aber nicht w 2w 1 Eines der beiden Wörter kann ohne das andere nicht vorkommen, aber die Umkehrung ist nicht wahr (außer möglicherweise an den Enden der Zeichenkette). Dies passiert, wenn:w1w2w2w1

    • ist eine Teilzeichenfolge von w 2 : Dann kann ein endlicher Automat nur überprüfen, dass w 1 nicht außerhalb einer Instanz von w 2 auftritt.w1w2w1w2

    • und w 2 = v 1 j für ein Wort v { 0 , 1 } , v 01 i : dann eine endliche Automatenprüfung wie im vorhergehenden Fall, dass w 1 nicht getrennt von w 2 auftritt. Der Automat erlaubt jedoch das Zählen einer zusätzlichen Instanz von w 1 , die die Annahme von w 2 ermöglichtw1=1i0w2=v1jv{0,1}v01iw1w2w1w2ist ein Suffix der Zeichenfolge. Es gibt drei weitere symmetrische Fälle (1: 0-Symmetrie und Links-Rechts-Symmetrie).

  3. w12w2
    One of the 2 words occurs twice in the other. That can be recognized by an a finite automation that checks that the smaller word never occurs in the string. The is also a slightly more complex variant that combines the two variations of case 2. In this case the automaton checks that the smaller string 1i0 never occurs, except possibly as part of v in the larger one v1j coming as a suffix of the string (and 3 other cases by symetry).

  4. w1w2
    The 2 words can occur independently of each other. We build a generalized-sequential-machine (gsm) G that output a when it recognizes an occurrence of w1 and b when recognizing an occurrence of w2, and forgets everything else. The language L is regular only if the language G(L) is regular. But G(L)={w{a,b} wa=∣wb} which is clearly context-free and not regular. Hence L is not regular.
    Actually we have L=G1(G(L)). Since regular languages and context-free languages are closed under gsm mapping and inverse gsm mapping, we know also that L is context free.

One way to organize a formal proof could be the following. First build a PDA that recognizes the language. Actually it can be done with a 1-counter machine, but it is easier to have two stack symbols to avoid duplicating the finite control. Then, for the cases where it should be a FA, show that the counter can be bounded by a constant that depends only on the two words. For the other cases show that the counter can reach any arbitrary value. Of course, the PDA should be organized so that the proofs are easy enough to carry.

Representing the FA as a 2-stack-symbols PDA is probably the simplest representation for it. In the non-regular case, the finite control part of the PDA is the same as that of the GSM in the proof sketch above. Instead of outputting a's and b's like the GSM, the PDA counts the difference in number with the stack.

babou
quelle
I had a question about context-freeness in the case of three words. I deleted it when I realised it could be analyzed similarly. I had first thought that proving non-CFness would make an original exercise, but the GSM ruins it.
babou
2
It is not clear what do you mean by "occur independently of each other", "come necessarily together" etc. Please write formal definitions instead, and prove that they cover all cases.
sdcvvc
1
I am not sure what you are asking, and what level of formalization you need, for what purpose. I realized that analyzing by hand possible relations of the two words is not garanteed to be correct, and does not matter anyway. What matters is whether an occurence of one word can exist without creating at the same time an occurence (or several) of the other word. The details do not matter as it will always be localized and thus manageable finitely. The two ends do not matter either as tey are localized too. Even overlaps of occurrences do not matter since they can only be finitely many in 1 place
babou
1
I asked you about precise definitions of the terms mentioned in the comment. Thank you for writing them. Was I supposed to guess them previously? Anyway, you seem to claim that 0i110i. This does not satisfy condition 1. of the definition of "w1 always occurs with w2", since there is no occurrence of 10i in s=0M0i11M.
sdcvvc
Sorry, I did not mean to make you guess. It only took me time to understand what exactly you wanted. My failing only. Regarding your counter example, you are correct. But for me it only means that I have to be a little bit more careful about telomeres, in the definition of the relations. I defined them too quickly, but 0M or 1M do not convey much information in this context. This is really a boundary pathological example within a pathological case, that actually cannot occur when more than 2 symbols are used. I just do not believe it changes anything.
babou