Słowo Lyndona

W matematyce , kombinatoryce i informatyce słowo Lyndona to niepusty ciąg znaków , który w porządku leksykograficznym jest znacznie mniejszy niż wszystkie jego obroty . Słowa Lyndona zostały nazwane na cześć matematyka Rogera Lyndona , który zbadał je w 1954 roku, nazywając je standardowymi sekwencjami leksykograficznymi . Anatolij Szirszow wprowadził słowa Lyndona w 1953 roku, nazywając je zwykłymi słowami . Słowa Lyndona są szczególnym przypadkiem słów Halla ; prawie wszystkie właściwości słów Lyndona są wspólne dla słów Halla.

Definicje

Istnieje kilka równoważnych definicji.

A -ary słowo Lyndona o długości ciąg nad alfabetem o rozmiarze który jest unikalnym k {\ displaystyle minimalny element porządku leksykograficznego w multizbiorze wszystkich jego obrotów. Bycie wyjątkowo najmniejszą rotacją oznacza, że ​​​​słowo Lyndona różni się od którejkolwiek z jego nietrywialnych rotacji, a zatem jest aperiodyczne.

Alternatywnie, słowo gdy jest niepuste i leksykograficznie ściśle mniejsze niż którykolwiek z jego właściwych przyrostków, to znaczy dla wszystkich niepustych słów takie, że \ puste

Inna charakterystyka jest następująca: Słowo Lyndona ma tę właściwość, że jest niepuste i zawsze, gdy jest dzielone na dwa niepuste podłańcuchy, lewy podłańcuch jest zawsze leksykograficznie mniejszy niż prawy podłańcuch. To znaczy, jeśli słowem Lyndona i rozkładem na czynniki na dwa podłańcuchy, z rozumianym v być niepusty, to . Ta definicja implikuje że ciąg gdy istnieją słowa Lyndona takie, że u i i . Chociaż może być więcej niż i istnieje szczególny wybór, zwany faktoryzacją , w której jest długo, jak to możliwe.

Wyliczenie

Słowa Lyndona nad dwusymbolowym alfabetem binarnym {0,1}, posortowane według długości, a następnie leksykograficznie w każdej klasie długości, tworzą nieskończoną sekwencję, która zaczyna się

0, 1, 01, 001, 011, 0001, 0011, 0111, 00001, 00011, 00101, 00111, 01011, 01111, ...

Pierwszy ciąg, który nie należy do tego ciągu, „00”, jest pomijany, ponieważ jest okresowy (składa się z dwóch powtórzeń podłańcucha „0”); drugi pominięty ciąg, „10”, jest aperiodyczny, ale nie jest minimalny w swojej klasie permutacji, ponieważ może być cyklicznie permutowany do mniejszego ciągu „01”.

Pusty ciąg spełnia również definicję słowa Lyndona o długości zero. Liczby binarnych słów Lyndona o każdej długości, począwszy od długości zero, tworzą sekwencję całkowitą

1, 2, 1, 2, 3, 6, 9, 18, 30, 56, 99, 186, 335, ... (sekwencja A001037 w OEIS )

Słowa Lyndona odpowiadają aperiodycznym przedstawicielom klas naszyjników i dlatego można je policzyć za pomocą funkcji liczenia naszyjników Moreau .

Pokolenie

1988) zapewnia wydajny algorytm wymieniania słów Lyndona o długości co najwyżej rozmiarem alfabetu porządku leksykograficznym . Jeśli jednym ze słów w sekwencji, to następne słowo po można znaleźć, wykonując następujące czynności:

  1. symbole z aby utworzyć nowe słowo o długości dokładnie gdzie jest x tak samo jak symbol na pozycji length ( ) .
  2. Dopóki ostatni symbol kolejności alfabetu, usuń go, tworząc krótsze słowo.
  3. Zastąp ostatni pozostały symbol w posortowanej kolejności alfabetu.

W najgorszym przypadku czas na wygenerowanie następnika słowa pomocą tej procedury to . Jeśli jednak generowane słowa są przechowywane w długości a konstrukcja z przez symboli na końcu zamiast tworzenia nowej kopii , to średni czas wygenerowania następnika jest stały. Dlatego sekwencja wszystkich długości słów Lyndona proporcjonalnym do długości sekwencji. Stały ułamek słów w tej sekwencji ma długość dokładnie ta sama procedura może być użyta do wydajnego generowania słów o długości dokładnie słów, których długość dzieli , odfiltrowując wygenerowane słowa, które nie spełniają tych kryteriów.

Standardowa faktoryzacja

Zgodnie z twierdzeniem Chen-Fox-Lyndon , każdy ciąg może być utworzony w unikalny sposób przez połączenie sekwencji słów Lyndona, w taki sposób, że słowa w sekwencji nie rosną leksykograficznie. Ostatnim słowem Lyndona w tej sekwencji jest leksykograficznie najmniejszy sufiks podanego ciągu. Faktoryzacja na nierosnący ciąg słów Lyndona (tzw. faktoryzacja Lyndona) może być skonstruowana w czasie liniowym . Rozkłady na czynniki Lyndona mogą być używane jako część bijektywnego wariantu transformaty Burrowsa-Wheelera do kompresji danych oraz w algorytmach do geometria cyfrowa .

Takie rozkłady na czynniki można zapisać (jedynie) jako skończone drzewa binarne, z liśćmi oznaczonymi alfabetem, z każdą prawą gałęzią określoną przez ostatnie słowo Lyndona w sekwencji. Takie drzewa są czasami nazywane standardowymi nawiasami i mogą być traktowane jako faktoryzacja elementów wolnej grupy lub jako elementy podstawowe dla wolnej algebry Liego . Drzewa te są szczególnym przypadkiem drzew Halla (ponieważ słowa Lyndona są szczególnym przypadkiem słów Halla), podobnie słowa Halla zapewniają standardową kolejność, zwaną procesem zbierania komutatora dla grup i podstawy dla algebr Liego. Rzeczywiście, zapewniają one wyraźną konstrukcję komutatorów występujących w twierdzeniu Poincarégo – Birkhoffa – Witta, potrzebnych do konstrukcji uniwersalnych algebr obejmujących .

Każde słowo Lyndona może być rozumiane jako permutacja , standardowa permutacja sufiksu .

Algorytm Duvala

Duval (1983) opracował algorytm znajdowania standardowego rozkładu na czynniki, który działa w czasie liniowym i stałej przestrzeni. Iteruje po łańcuchu, próbując znaleźć jak najdłuższe słowo Lyndona. Kiedy go znajdzie, dodaje go do listy wyników i przechodzi do wyszukiwania pozostałej części ciągu. Wynikowa lista ciągów jest standardową faktoryzacją danego ciągu. Poniżej znajduje się bardziej formalny opis algorytmu.

Biorąc pod uwagę łańcuch S o długości N , należy wykonać następujące kroki:

  1. Niech m będzie indeksem kandydata na symbol, który ma zostać dołączony do już zebranych symboli. Początkowo m = 1 (indeksy symboli w łańcuchu zaczynają się od zera).
  2. Niech k będzie indeksem symbolu, do którego porównalibyśmy inne. Początkowo k = 0 .
  3. Podczas gdy k i m są mniejsze niż N , porównaj S[k] ( k -ty symbol łańcucha S ) z S[m] . Możliwe są trzy wyniki:
    1. S[k] jest równe S[m] : dołącz S[m] do aktualnie zebranych symboli. Przyrost k i m .
    2. S[k] jest mniejsze niż S[m] : jeśli dodamy S[m] do aktualnie zebranych symboli, otrzymamy słowo Lyndona. Ale nie możemy jeszcze dodać go do listy wyników, ponieważ może to być tylko część większego słowa Lyndon. Zatem po prostu zwiększ m i ustaw k na 0, aby następny symbol został porównany z pierwszym w łańcuchu.
    3. S[k] jest większe niż S[m] : jeśli dołączymy S[m] do aktualnie zebranych symboli, nie będzie to ani słowo Lyndona, ani możliwy początek jednego. W ten sposób dodaj pierwsze mk do listy wyników, usuń je z łańcucha, ustaw m na 1 i k na 0, tak aby wskazywały odpowiednio na drugi i pierwszy symbol ciągu.
  4. Kiedy m > N , jest to zasadniczo to samo, co napotkanie minus nieskończoności, dlatego dodaj pierwsze zebrane symbole mk do listy wyników po usunięciu ich z łańcucha, ustaw m na 1 i k na 0 i wróć do poprzedniego kroku.
  5. Dodaj S do listy wyników.

Połączenie z sekwencjami de Bruijna

Jeśli połączymy ze sobą, w porządku leksykograficznym, wszystkie słowa Lyndona, których długość dzieli daną liczbę n , otrzymamy sekwencję de Bruijna , cykliczną sekwencję symboli, w której każda możliwa sekwencja długości- n pojawia się dokładnie raz jako jedna z jej ciągłe podciągi. Na przykład konkatenacja binarnych słów Lyndona, których długość dzieli cztery, to

0 0001 0011 01 0111 1

Ta konstrukcja, wraz z wydajnym generowaniem słów Lyndona, zapewnia wydajną metodę konstruowania określonej sekwencji de Bruijna w czasie liniowym i przestrzeni logarytmicznej .

Dodatkowe właściwości i zastosowania

Słowa Lyndona mają zastosowanie do opisu algebr Liego swobodnego , przy konstruowaniu bazy części jednorodnej danego stopnia; to była pierwotna motywacja Lyndona do wprowadzenia tych słów. Słowa Lyndona można rozumieć jako szczególny przypadek zbiorów Halla .

Dla liczby pierwszej p liczba nieredukowalnych wielomianów monicznych stopnia d nad polem jest taka sama, jak liczba słów Lyndona o długości d w alfabecie p symboli; fa można je umieścić w wyraźnej korespondencji.

Twierdzenie Radforda stwierdza, że ​​​​algebrę tasowania na polu o charakterystyce 0 można postrzegać jako algebrę wielomianową na słowach Lyndona. Dokładniej, niech A będzie alfabetem, niech k będzie polem o charakterystyce 0 (lub, bardziej ogólnie, przemienną -algebrą x a | za ZA ) i niech R będzie swobodną nieprzemienną k k . Słowa nad A można wtedy utożsamiać z „nieprzemiennymi jednomianami” (tj. iloczynami x a ) w R ; mianowicie utożsamiamy słowo ( a 1 , a 2 ,..., an ) . z jednomianem x a 1 x a 2 ... x a n Zatem słowa nad A tworzą bazę przestrzeni k -wektorowej R . Następnie produkt losowy jest definiowany na R ; jest to k -bililiniowy, asocjacyjny i przemienny, który jest oznaczony przez ш i który na słowach może być rekurencyjnie zdefiniowany przez

1 ш v = v dla dowolnego słowa v ;
u ш 1 = u dla dowolnego słowa u ;
ua ш vb = ( u ш vb ) za + ( ua ш v ) b dla dowolnego a , b ∈ A i dowolnych słów u i v .

Algebra tasowania w alfabecie A jest zdefiniowana jako grupa addytywna R obdarzona ш jako mnożenie. Twierdzenie Radforda stwierdza teraz, że słowa Lyndona są algebraicznie niezależnymi elementami tej algebry tasowania i generują ją; tak więc algebra tasowania jest izomorficzna z pierścieniem wielomianowym nad k , przy czym nieokreśloności odpowiadają słowom Lyndona.

Zobacz też

Notatki