Słowo parametru
W matematycznym badaniu kombinatoryki na słowach słowo parametryczne to ciąg nad danym alfabetem zawierający pewną liczbę znaków wieloznacznych . Zestaw łańcuchów pasujących do danego słowa parametru nazywany jest zestawem parametrów lub kostką kombinatoryczną . Słowa parametrów można komponować w celu wytworzenia mniejszych podsześcianów danej kostki kombinatorycznej. Mają zastosowanie w teorii Ramseya iw informatyce do wykrywania duplikatów kodu .
Definicje i notacja
Formalnie, słowo parametru o długości nad danym alfabetem sekwencją znaków, z niektóre można narysować za od a pozostałe to symbole . Każdy symbol wieloznaczny musi pojawić się co najmniej raz, ale może pojawić się wiele razy, a znaki wieloznaczne muszą pojawiać się w kolejności określonej przez ich indeksy: pierwszy znak wieloznaczny w słowie musi być ∗ 1 {\ displaystyle , następny, który różni się od musi być , itd. W szczególnym przypadku słowo nad danym alfabetem, bez żadnych symboli wieloznacznych, jest uważane za słowo z parametrem 0. W przypadku słów 1-parametrowych indeksy dolne można pominąć, ponieważ nie ma dwuznaczności między różnymi symbolami wieloznacznymi. Zbiór wszystkich { nad oznaczony . o długości , jest
A parametru reprezentuje zbiór ciągi znaków (słowa z parametrem 0), uzyskane przez zastąpienie symbolu wieloznacznego Ten zestaw ciągów nazywany jest kostki kombinatorycznej , a jego wymiarem. Jednowymiarowy sześcian kombinatoryczny można nazwać linią kombinatoryczną .
W kostce kombinatorycznej każda kopia określonego znaku wieloznacznego musi mieć ten sam zamiennik. Uogólnienie słów parametrycznych umożliwia zastąpienie różnych kopii tego samego symbolu wieloznacznego różnymi znakami z alfabetu w kontrolowany sposób. Jeśli i jest z działaniem na , to słowo parametru oznaczone etykietą jest A -słowo parametru wraz z przypisaniem elementu grupy do każdego symbolu wieloznacznego w słowie. Pierwszemu wystąpieniu każdego symbolu wieloznacznego należy przypisać element tożsamości grupy. ciągi reprezentowane przez słowo parametru z etykietą są uzyskiwane przez wybranie znaku dla każdego wieloznacznego i zastąpienie wyniku połączenia tego znaku elementem grupy oznaczającym każdą kopię tego znaku. Zestaw wszystkich -oznaczonych displaystyle słowa nad , o długości są oznaczone .
Przykład
W grze w kółko i krzyżyk komórkom planszy można nadać dwie współrzędne całkowite alfabetu . Połączenie tych dwóch współrzędnych daje łańcuch reprezentujący każdą komórkę, jeden z dziewięciu ciągów lub . W tym alfabecie jest siedem jednoparametrowych słów o długości dwóch, słowa i . Odpowiednie linie kombinatoryczne tworzą siedem z ośmiu linii trzech komórek w rzędzie planszy w kółko i krzyżyk; jednoparametrowe odpowiada _ odpowiada linii kombinatorycznej .
Jednak w tym zestawie linii kombinatorycznych brakuje jednej z ośmiu zwycięskich linii gry w kółko i krzyżyk: linii antydiagonalnej. { Displaystyle 13 Możliwe jest otrzymanie tej linii jako linii kombinatorycznej (bez uwzględnienia jakichkolwiek innych kombinacji komórek, które byłyby nieważne dla kółko i krzyżyk) za pomocą grupy z dwoma elementami i akcji, w której element nietożsamościowy zamienia litery alfabetu i element na . Istnieje osiem oznaczonych jednoparametrowych słów o długości dwóch dla tej akcji, z których siedem uzyskuje się z nieoznakowanych słów jednoparametrowych przy użyciu etykiety tożsamości dla wszystkich symboli wieloznacznych. Te siedem ma te same linie kombinatoryczne, co poprzednio. Ósme słowo z etykietą składa się ze słowa tożsamości dla pierwszego i odwrotnym elementem braku tożsamości dla drugiego ; do jest ostatnią wygrywającą linią planszy
Kompozycja
parametrów całkowitych jest połączenie dwóch słów parametrów, sol , aby utworzyć inne słowo parametru . Aby to zrobić, po prostu zastąp każdą kopię symbolu wieloznacznego w th znak i . To z konieczności stworzy słowo o długości raz użyje każdego z symboli wieloznacznych w kolejności rosnącej, więc tworzy prawidłowy parametr słowo długości . To pojęcie kompozycji można również rozszerzyć na komponowanie etykietowanych słów parametrów (zarówno przy użyciu tego samego alfabetu, jak i akcji grupowej), poprzez zastosowanie akcji grupowej do znaków zastępowanych innymi niż symbole wieloznaczne i tworzenie etykiet grupowych dla zastępowanych znaków wieloznacznych. Podzbiór kostki kombinatorycznej jest mniejszym sześcianem kombinatorycznym, jeśli można go uzyskać za pomocą kompozycji w ten sposób.
Wyliczanie kombinatoryczne
Liczba słów parametrów w rozmiarze to liczba Stirlinga za } drugi rodzaj . Liczby te zliczają liczbę podziałów liczb całkowitych z zakresu w niepuste podzbiory, tak że pierwsze należą do różnych podzbiorów typu można umieścić w bijektywnej równoważności ze słowami parametru, tworząc słowo ze znakiem dla każdej z całkowitych z zakresu , ustawiając tę wartość znaku na liczbę całkowitą należącą do tego podzbioru partycji lub znak wieloznaczny dla każdego podzbioru partycji, w . Liczby są zgodne z prostą relacją powtarzalności dzięki której można je łatwo obliczyć.
Aplikacje
W teorii Ramseya słowa parametryczne i kostki kombinatoryczne mogą być użyte do sformułowania twierdzenia Grahama-Rothschilda , zgodnie z którym dla każdego skończonego alfabetu i akcji grupowej oraz dla każdej kombinacji wartości całkowitych , i istnieje wystarczająco duża liczba na że jeśli każdy ciągach o przypisany jeden z sześcian -wymiarowe dwuwymiarowy , którego wszystkie podsześciany mają ten sam kolor. Wynik jest kluczową podstawą strukturalnej teorii Ramseya służy do zdefiniowania liczby Grahama , ogromnej liczby używanej do oszacowania wartości dla określonej kombinacji wartości.
W informatyce , w problemie wyszukiwania zduplikowanego kodu , kod źródłowy dla danej procedury lub modułu może zostać przekształcony w słowo parametru poprzez przekształcenie go w sekwencję tokenów oraz dla każdej nazwy zmiennej lub podprogramu, zastępując każdą kopię tej samej nazwy tym samym symbolem wieloznacznym. Jeśli kod zostanie zduplikowany, wynikowe słowa parametrów pozostaną takie same, nawet jeśli zmieniono nazwy niektórych zmiennych lub podprogramów. Bardziej wyrafinowane algorytmy wyszukiwania mogą znaleźć długie zduplikowane sekcje kodu, które tworzą podciągi większych repozytoriów kodu źródłowego, umożliwiając wzajemne zastępowanie znaków wieloznacznych.
Ważnym szczególnym przypadkiem słów parametrycznych, dobrze zbadanych w kombinatoryce słów, są słowa częściowe . Są to łańcuchy ze znakami wieloznacznymi, które mogą być zastępowane niezależnie od siebie, bez wymogu, aby niektóre z zastępowanych znaków były równe lub kontrolowane przez akcję grupową. W języku słów parametrycznych słowo częściowe można opisać jako słowo parametryczne, w którym każdy symbol wieloznaczny pojawia się dokładnie raz. Jednakże, ponieważ nie ma powtórzeń symboli wieloznacznych, częściowe słowa można zapisać prościej, pomijając indeksy dolne symboli wieloznacznych.