Ich mag die Anzahl der Saiten zählen über ein endliches Alphabet , die keine Wiederholungen enthalten, und dass ich für jede Teilkette bedeuten von ,gibt es keine disjunkte Kopie von in . Zum Beispiel sei . Dann ist eine der Saiten , die ich zählen möchten, da für die Teilzeichen , es gibt keine Kopien disjunkt sind. Allerdings enthält eine solche Wiederholung.
Wenn jemand bereits eine nützliche Formel gefunden hat, verlinken Sie bitte. Andernfalls werde ich in jedem Artikel, den ich schreibe, auf diesen Beitrag zurückgreifen, wenn ich die Antwort von jemandem verwende.
Hier ist ein weiteres Beispiel. Versuchen wir, eine lange Zeichenfolge über , die keine Wiederholungen enthält:
aaa (kann nicht a sein)
aaab (a oder b)
aaabbb (kann nicht b sein)
aaabbba (kann nicht b oder a sein)
aaaba (kann nicht a oder b sein)
Wenn wir einen Baum bauen würden, könnten wir die Anzahl der Knoten zählen, aber ich möchte eine Formel.
Bearbeiten: Nun, es ist nicht so entmutigend, wie ich zuerst dachte, wenn wir dies in ein Problem bei der Auswahl von Behältern umwandeln. Eine Menge von Zeichenketten der Länge k mit mindestens einer Wiederholung ist gleich der Menge, die die Vereinigung aller Permutationen des kartesischen Produkts darstellt: wobei die erforderliche Wiederholung ist. Ich weiß nicht, ob das hilfreich ist, aber es klang pro :) Wie auch immer, lass sie | A | sein Bins, wählen Sie zwei beliebige (auch wenn das gleiche) als Wiederholung, wählen Sie dann mehr und multiplizieren Sie (die ersten 4 sind bereits ausgewählt, siehe?). Jetzt muss ich nur noch diese Formel aus der diskreten Mathematik finden.
quelle
Antworten:
Dies beantwortet die Frage nach der Anzahl der wiederholungsfreien Wörter pro Größe, was bedeutet, dass die gewünschte Menge überhaupt existiert.
Definition: Anruf Wiederholung frei , wenn und nur wenn es keinen Faktor enthält x y x mit x & egr ; & Sgr; & ge ; 2 und y & egr ; & Sgr; * .w∈Σ xyx x∈Σ≥2 y∈Σ∗
Behauptung: Für gegebenes endliches Alphabet mit | Σ | = k , es gibt keine wiederholungsfreien Wörter mit einer Länge von mehr als 2 k 2 + 1 .Σ |Σ|=k 2k2+1
Beweisidee: Nach dem Pigeon-Hole-Prinzip. Nehmen Sie ein Wort der Länge 2 k 2 + 2 (oder ein längeres Wort und betrachten Sie dessen Präfix dieser Länge), dh w = a 0 a ' 0 … a k 2 a ' k 2 . Angenommen, w ist wiederholungsfrei; das bedeutet, dass a i a ' i ≠ a j a ' j für alle i ≠ j ist (ansonsten hatten wir eine Wiederholung). Daher gibt es kw 2k2+2 w=a0a′0…ak2a′k2 w aia′i≠aja′j i≠j viele Symbolpaare; dies widerspricht | Σ 2 | = k 2 . So w ist nicht wiederholen frei. ◻k2+1 |Σ2|=k2 w □
Beachten Sie, dass dies ein grober Beweis ist: Die Faktoren können noch früher zu einer Wiederholung führen.a′iai+1
Notation:
quelle