Основные определения, связанные со строками — различия между версиями
Gaporf (обсуждение | вклад) м (→Примеры) |
|||
Строка 1: | Строка 1: | ||
+ | {| class="wikitable" align="center" style="color: red; background-color: black; font-size: 56px; width: 800px;" | ||
+ | |+ | ||
+ | |-align="center" | ||
+ | |'''НЕТ ВОЙНЕ''' | ||
+ | |-style="font-size: 16px;" | ||
+ | | | ||
+ | 24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян. | ||
+ | |||
+ | Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием. | ||
+ | |||
+ | Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей. | ||
+ | |||
+ | Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить. | ||
+ | |||
+ | ''Антивоенный комитет России'' | ||
+ | |-style="font-size: 16px;" | ||
+ | |Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению. | ||
+ | |-style="font-size: 16px;" | ||
+ | |[https://meduza.io/ meduza.io], [https://www.youtube.com/c/popularpolitics/videos Популярная политика], [https://novayagazeta.ru/ Новая газета], [https://zona.media/ zona.media], [https://www.youtube.com/c/MackNack/videos Майкл Наки]. | ||
+ | |} | ||
+ | |||
== Базовые определения == | == Базовые определения == | ||
{{Определение | {{Определение |
Версия 07:06, 1 сентября 2022
НЕТ ВОЙНЕ |
24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян. Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием. Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей. Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить. Антивоенный комитет России |
Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению. |
meduza.io, Популярная политика, Новая газета, zona.media, Майкл Наки. |
Содержание
Базовые определения
Определение: |
Символ (англ. symbol) — объект, имеющий собственное содержание и уникальную читаемую форму. |
Определение: |
Алфавит (англ. alphabet) — конечное непустое множество символов. Условимся обозначать алфавит большой греческой буквой . |
Наиболее часто используются следующие алфавиты:
- — бинарный или двоичный алфавит.
- — множество строчных букв английского алфавита.
- — алфавит цифр.
- — алфавит, лежащий в основе азбуки Морзе.
- Нотные знаки
Определение: |
Слово (англ. string) или цепочка — конечная последовательность символов некоторого алфавита. |
Определение: |
Длина цепочки (англ. string length) — число символов в цепочке. Длину некоторой цепочки | обычно обозначают .
Определение: |
— множество цепочек длины над алфавитом . |
Определение: |
— множество всех цепочек над алфавитом . |
Определение: |
Пусть | . Тогда или обозначает их конкатенацию (англ. concatenation), то есть цепочку, в которой последовательно записаны цепочки и .
Определение: |
Пустая цепочка (англ. empty string) — цепочка, не содержащая ни одного символа. Эту цепочку, обозначаемую | , можно рассматривать как цепочку в любом алфавите. Для любой строки верно .
Множество строк с операцией конкатенации и нейтральным элементом пустой строкой образует свободный моноид.
Отношения между строками
Определение: |
Префикс (англ. prefix) строки | — строка .
Пусть , тогда — префикс .
Определение: |
Суффикс (англ. suffix) строки | — строка .
Пусть , тогда — суффикс .
Определение: |
Бордер (англ. circumfix) строки | — строка .
Пусть , тогда — бордер .
Определение: |
— символ строки , находящийся на -ой позиции. |
Пусть , тогда .
Определение: |
Период (англ. period) строки | — число .
Пусть , тогда — период строки .
Утверждение: |
Пусть известна строка — период и , тогда можно восстановить всю строку . |
Из определения периода строки следует, что Таким образом , где . . |
Определение: |
Строка | c периодом , называется сильнопериодической, если .
Строка является сильнопериодической с периодом .
Определение: |
Подстрока (англ. substring) — некоторая непустая подпоследовательность подряд идущих символов строки. |
Пусть , тогда — подстрока строки .
Определение: |
Тандемным повтором (англ. repetition) называется непустая строка вида | .
Определение: |
Палиндромом (англ. Palindrome) называется строка вида | или , где — развернутая строка , — любой символ.
Определение: |
Строка 1. — префиксили 2. и , при этом | лексикографически меньше строки ( ), если
Строка , так как является префиксом .
Строка
, так как .Формальные языки
Определение: |
Язык (англ. language) над алфавитом | — некоторое подмножество . Иногда такие языки называют формальными (англ. formal), чтобы подчеркнуть отличие от языков в привычном смысле.
Отметим, что язык в
не обязательно должен содержать цепочки, в которые входят все символы . Поэтому, если известно, что является языком над , то можно утверждать, что — это язык над любым алфавитом, являющимся надмножеством .Операции над языками
Пусть
и — языки. Тогда над ними можно определить следующие операции.- Теоретико-множественные операции:
- — объединение,
- — пересечение,
- — разность,
- — дополнение.
- Конкатенация: .
- Конкатенация с обратным языком: ; конкатенация с обратным словом: .
- Степень языка:
- Замыкание Клини: .
- Гомоморфизм
Примеры
- — язык состоит из последовательностей нулей, последовательностей единиц и пустой строки.
- — аналогично предыдущему, но не содержит пустую строку.
- — содержит все двоичные векторы и пустую строку.
- Если — язык десятичных представлений всех простых чисел, то язык будет содержать десятичные представления простых чисел, не начинающихся с тройки.
- .
Гомоморфизм языков
Определение: |
Пусть даны два алфавита
| . Гомоморфизмом называется такое отображение , что:
Определение: |
Образом языка Заметим, что будет гомоморфизмом моноидов и | при гомоморфизме (иногда называют прямым гомоморфизмом) называется язык .
Определение: |
Прообразом языка Заметим, что будет гомоморфизмом моноидов и | при гомоморфизме (иногда называют обратным гомоморфизмом) называется язык .
Примеры
- тривиальные гомоморфизмы
- обнуляющий: , тогда
- тождественный: , тогда и
- гомоморфизм цепочек — функция, подставляющая некоторую строку вместо каждого символа. Более формально, для заданного отображения замкнуты относительно гомоморфизма цепочек гомоморфизмом цепочек будет функция , действующая от каждого символа строки из языка следующим образом . Регулярные языки
- солнечный язык из детских игр (когда после каждой гласной в слове надо добавлять букву "С" и эту же гласную) может быть представлен в виде гомоморфизма языков, где все согласные символы отображаются сами в себя, а гласный символ переходит в
- циклический гомоморфизм: зафиксируем порядок символов в алфавите, будем отображать каждый символ в следующий, а последний — в первый. Обратным гомоморфизмом будет отображение каждого символа в предыдущий.
См. также
- Период и бордер, их связь
- Слово Фибоначчи
- Слово Туэ-Морса
- Регулярные языки: два определения и их эквивалентность
Источники информации
- Wikipedia — Formal language
- Wikipedia — Kleene star
- Wikipedia — String homomorphism
- Википедия — Формальный язык
- Википедия — Звезда Клини
- M.Lothaire "Combinatorics on words"
- Гасфилд Д. Строки, деревья и последовательности в алгоритмах: Информатика и вычислительная биология. — 2-е изд.
- Kelley, Dean (1995). Automata and Formal Languages: An Introduction. London: Prentice-Hall International. ISBN 0-13-497777-7.
- Хопкрофт Д., Мотвани Р., Ульман Д. Введение в теорию автоматов, языков и вычислений, 2-е изд. : Пер. с англ. — М.:Издательский дом «Вильямс», 2002. — С. 45.