stringtranslate.com

Клини звезда

В математической логике и информатике звезда Клини (или оператор Клини , или замыкание Клини ) — это унарная операция , выполняемая либо над наборами строк , либо над наборами символов или символов. В математике она более известна как конструкция свободного моноида . Применение звезды Клини к множеству записывается как . Он широко используется для регулярных выражений , в контексте которого он был введен Стивеном Клини для характеристики определенных автоматов , где он означает «ноль или более повторений».

  1. Если это набор строк, то он определяется как наименьшее надмножество , содержащее пустую строку и закрывающееся при операции конкатенации строк .
  2. Если — набор символов или символов, то — это набор всех строк над символами в , включая пустую строку .

Набор также можно описать как набор, содержащий пустую строку и все строки конечной длины, которые могут быть сгенерированы путем объединения произвольных элементов , что позволяет использовать один и тот же элемент несколько раз. Если это либо пустое множество ∅, либо одноэлементное множество , то ; если есть любое другое конечное множество или счетно-бесконечное множество , то это счетно-бесконечное множество. [1] Как следствие, каждый формальный язык над конечным или счетно-бесконечным алфавитом счетен, поскольку он является подмножеством счетно-бесконечного множества .

Операторы используются в правилах перезаписи порождающих грамматик .

Определение и обозначения

Учитывая набор , определите

(язык, состоящий только из пустой строки),
,

и рекурсивно определим множество

для каждого .

Если это формальный язык, то -я степень множества является сокращением для объединения множества с самим собой времен. То есть под ним можно понимать набор всех строк , которые можно представить как конкатенацию строк в .

Определение звезды Клини : [2]

Это означает, что оператор звезды Клини является идемпотентным унарным оператором : для любого набора строк или символов, как и для каждого .

Клини плюс

В некоторых формальных языковых исследованиях (например, в теории AFL ) используется вариант операции «звезда Клини», называемый плюс Клини . В «Клин плюс» этот термин в приведенном выше союзе отсутствует. Другими словами, «Клин плюс »

или

[3]

Примеры

Пример звезды Клини, примененной к набору струн:

{"ab","c"} * = { ε, "ab", "c", "abab", "abc", "cab", "cc", "ababab", "ababc", "abcab", «abcc», «cabab», «cabc», «ccab», «ccc», ...}.

Пример использования Kleene plus к набору символов:

{"a", "b", "c"} + = { "a", "b", "c", "aa", "ab", "ac", "ba", "bb", "bc" ", "ca", "cb", "cc", "aaa", "aab", ...}.

Звезда Клини применена к тому же набору символов:

{"a", "b", "c"} * = { ε, "a", "b", "c", "aa", "ab", "ac", "ba", "bb", «bc», «ca», «cb», «cc», «aaa», «aab», ...}.

Пример звезды Клини, примененной к пустому множеству:

* = {ε}.

Пример применения «Клин плюс» к пустому множеству:

+ = ∅ ∅ * = { } = ∅,

где конкатенация — ассоциативное и некоммутативное произведение.

Пример Клини плюс и Клини звездочка, примененных к одноэлементному набору, содержащему пустую строку:

Если , то и для каждого , следовательно .

Обобщение

Строки образуют моноид с конкатенацией в качестве бинарной операции и ε в качестве единичного элемента. Звезда Клини определена для любого моноида, а не только для струн. Точнее, пусть ( M , ⋅ ) — моноид и SM. Тогда S * — наименьший подмоноид M , содержащий S ; то есть S * содержит нейтральный элемент M , множество S , и таково, что если x , yS * , то xyS * .

Более того, звезда Клини обобщается путем включения *-операции (и объединения) в саму алгебраическую структуру посредством понятия полного звездного полукольца . [4]

Смотрите также

Рекомендации

  1. Наюки Минасэ (10 мая 2011 г.). «Счетные множества и звезда Клини». Проект Наюки . Проверено 11 января 2012 г.
  2. ^ Флетчер, Питер; Хойл, Хьюз; Пэтти, К. Уэйн (1991). Основы дискретной математики . Брукс/Коул. п. 656. ИСБН 0534923739. Замыкание Клини L * L определяется как .
  3. ^ Это уравнение справедливо, потому что каждый элемент V + должен либо состоять из одного элемента V и конечного числа непустых членов V , либо быть просто элементом V (где V сам извлекается путем объединения V с ε).
  4. ^ Дросте, М.; Куич, В. (2009). «Глава 1: Полукольца и формальный степенной ряд». Справочник по взвешенным автоматам . Монографии по теоретической информатике. Спрингер. п. 9. дои : 10.1007/978-3-642-01492-5_1. ISBN 978-3-642-01491-8.

дальнейшее чтение