Параметрическое слово
В математическом изучении комбинаторики слов параметрическое слово представляет собой строку в заданном алфавите, имеющую некоторое количество подстановочных знаков . [1] Набор строк, соответствующих данному параметрическому слову, называется набором параметров или комбинаторным кубом . Слова-параметры можно составлять для создания подкубов меньшего размера данного комбинаторного куба. Они имеют применение в теории Рамсея и в информатике для обнаружения дублированного кода .
Определения и обозначения [ править ]
Формально -параметрическое слово длины , по заданному алфавиту , представляет собой последовательность персонажи, некоторые из которых могут быть взяты из и другие из которых отдельные символы подстановки . Каждый подстановочный знак должен появляться хотя бы один раз, но может появляться несколько раз, а подстановочные знаки должны появляться в порядке, заданном их индексами: первый подстановочный знак в слове должен быть , следующий, который отличается от должно быть и т. д. В частном случае слово над данным Алфавит без каких-либо подстановочных знаков называется словом с 0 параметрами. Для слов с 1 параметром индексы могут быть опущены, поскольку между различными подстановочными знаками нет неоднозначности. Набор всего -параметрические слова закончились , длины , обозначается . [1]
А -слово параметра представляет собой набор строки (слова с 0 параметрами), полученные заменой символа для каждого подстановочного знака. Этот набор строк называется набором параметров комбинаторного куба , и называется его размерностью. Одномерный комбинаторный куб можно назвать комбинаторной прямой . [1]
В комбинаторном кубе каждая копия определенного подстановочного знака должна иметь одинаковую замену. Обобщение слов-параметров позволяет контролируемым образом заменять разные копии одного и того же подстановочного знака разными символами алфавита. Если это алфавит и это группа с действием на , тогда Слово параметра с меткой - это -слово -параметр вместе с присвоением элемента группы каждому подстановочному знаку в слове. Первому появлению каждого подстановочного знака должен быть присвоен идентификационный элемент группы. Затем строки, представленные помеченным параметрическим словом, получаются путем выбора символа для каждого подстановочного знака и замены результата объединения этого символа элементом группы, маркирующим каждую копию этого символа. Набор всего -маркированный -параметрические слова закончились , длины , обозначается . [1]
Пример [ править ]
В игре крестики-нолики клеткам игрового поля можно задать две целочисленные координаты. из алфавита . Объединение этих двух координат дает строку, представляющую каждую ячейку, одну из девяти строк. или . В этом алфавите есть семь однопараметрических слов длины два, слова и . Соответствующие комбинаторные линии образуют семь из восьми строк по три клетки в ряд на доске «крестики-нолики»; например, однопараметрическое слово соответствует комбинаторной прямой , и однопараметрическое слово соответствует комбинаторной прямой . [2]
Однако в этом наборе комбинаторных линий отсутствует одна из восьми выигрышных линий игры «крестики-нолики»: антидиагональная линия. . Эту строку можно получить как комбинаторную строку (без включения каких-либо других комбинаций ячеек, которые были бы недопустимы для крестиков-ноликов), используя группу из двух элементов и действие, в котором неидентичный элемент меняет местами буквы алфавита и покидая элемент на месте. Для этого действия имеется восемь помеченных однопараметрических слов длиной два, семь из которых получаются из непомеченных однопараметрических слов с использованием идентификационной метки для всех подстановочных знаков. Эти семь имеют те же комбинаторные линии, что и раньше. Восьмое помеченное слово состоит из слова помеченный идентификационным элементом для своего первого и реверсивный неидентичный элемент для второго ; его комбинаторная линия является последней выигрышной линией на доске для игры в крестики-нолики, . [2]
Состав [ править ]
Для трех заданных целочисленных параметров , можно объединить два слова параметра, и , чтобы создать другое слово параметра . Для этого просто замените каждую копию й подстановочный знак в по персонаж в . Это обязательно приведет к созданию слова длиной который использует каждый из подстановочных символов в хотя бы один раз, в порядке возрастания, чтобы получить действительный результат -параметрическое слово длины . Это понятие композиции также можно распространить на композицию помеченных слов-параметров (использующих один и тот же алфавит и групповое действие), применяя групповое действие к заменяемым символам без подстановочных знаков и создавая групповые метки для заменяемых подстановочных знаков. Подмножеством комбинаторного куба является комбинаторный куб меньшего размера, если его можно получить композицией таким способом. [1]
Комбинаторное перечисление [ править ]
Количество слов параметров в для алфавита размером это - число Стирлинга второго рода. . Эти числа подсчитывают количество разделов целых чисел в диапазоне в непустые подмножества такие, что первое целые числа принадлежат к разным подмножествам. Разделы этого типа можно привести в биективную эквивалентность со словами-параметрами, создав слово с символом для каждого из целые числа в диапазоне ,установка этого значения символа как целое число в принадлежащий одному и тому же подмножеству раздела, или подстановочный знак для каждого подмножества раздела, который не содержит целое число в . -Числа Стирлинга подчиняются простому рекуррентному соотношению, с помощью которого их можно легко вычислить. [3] [4]
Приложения [ править ]
В теории Рамсея параметрические слова и комбинаторные кубы могут использоваться для формулировки теоремы Грэма-Ротшильда , согласно которой для каждого конечного алфавита и группового действия, а также каждой комбинации целочисленных значений , , и , существует достаточно большое количество такое, что если каждый -мерный комбинаторный куб над строками длины присваивается один из цвета, то существует -мерный комбинаторный куб, все -мерные подкубы имеют одинаковый цвет. Этот результат является ключевой основой структурной теории Рамсея и используется для определения числа Грэма — огромного числа, используемого для оценки значения для определенной комбинации значений. [1]
В информатике , в задаче поиска дубликатов кода ,исходный код данной процедуры или модуля может быть преобразован в слово параметра путем преобразования его в последовательность токенов ,и для каждого имени переменной или подпрограммы заменять каждую копию одного и того же имени одним и тем же подстановочным знаком. Если код дублируется, результирующие слова параметров останутся равными, даже если некоторые переменные или подпрограммы были переименованы. Более сложные алгоритмы поиска могут находить длинные повторяющиеся разделы кода, которые образуют подстроки в более крупных репозиториях исходного кода, позволяя заменять друг друга подстановочными знаками. [5]
Важный частный случай слов-параметров, хорошо изученный в комбинаторике слов, представляют собой частичные слова . Это строки с подстановочными знаками, которые можно заменять независимо друг от друга, не требуя, чтобы некоторые из заменяемых символов были равны или контролировались групповым действием. На языке слов параметров часть слова может быть описана как слово параметра, в котором каждый подстановочный знак встречается ровно один раз. Однако, поскольку повторение подстановочных символов отсутствует, частичные слова можно записать проще, опуская индексы в подстановочных знаках. [6]
См. также [ править ]
Ссылки [ править ]
- ↑ Перейти обратно: Перейти обратно: а б с д и ж Премель, Ханс Юрген (2002), «Большие числа, обозначение стрелок Кнута и теория Рамсея», Synthese , 133 (1–2): 87–105, doi : 10.1023/A:1020879709125 , JSTOR 20117296 , MR 1950045
- ↑ Перейти обратно: Перейти обратно: а б Премель, Ханс Юрген (2013), «Теорема Хейлса-Джветта», Теория Рэмси для дискретных структур , Springer International Publishing, стр. 41–51, номер документа : 10.1007/978-3-319-01315-2_4
- ^ Бродер, Андрей З. (1984), " -Числа Стирлинга», Дискретная математика , 49 (3): 241–259, doi : 10.1016/0012-365X(84)90161-4 , MR 0743795
- ^ Бензайт, А.; Фойгт, Б. (1989), «Комбинаторная интерпретация », Материалы совещания «Комбинаторик» в Обервольфахе (1986), Дискретная математика , 73 (1–2): 27–35, doi : 10.1016/0012-365X(88)90130-6 , MR 0974810
- ^ Бейкер, Бренда С. (1997), «Параметризованное дублирование в строках: алгоритмы и приложение для обслуживания программного обеспечения», SIAM Journal on Computing , 26 (5): 1343–1362, doi : 10.1137/S0097539793246707 , MR 1471985
- ^ Бланше-Садри, Франсин (2008), Алгоритмическая комбинаторика частичных слов , дискретная математика и ее приложения, Бока-Ратон, Флорида: Chapman & Hall/CRC, ISBN 978-1-4200-6092-8 , МР 2384993