Это не официальный сайт wikipedia.org 01.01.2023

Звезда Клини — Википедия

Звезда Клини

(перенаправлено с «Замыкание Клини»)

Звезда́ Кли́ни (или замыка́ние Кли́ни) в математической логике и информатикеунарная операция над множеством строк либо символов. Замыкание Клини множества V обозначается V*. Широко применяется в регулярных выражениях.

Если V — множество строк
то V* — минимальное надмножество множества V, которое содержит ε (пустую строку) и замкнуто относительно конкатенации. Это также множество всех строк, полученных конкатенацией нуля или более строк из V.
Если V — множество символов
то V* — множество всех строк из символов из V с добавлением пустой строки.

ОпределениеПравить

Степень множестваПравить

i  -я степень множества V   — это конкатенация множества V   с самим собой i 1   раз.

Нулевая степень любого множества неизменна:

V 0 = { ε }  .

Остальные степени определяются рекурсивно:

V i = V i 1 V = { w v | w V i 1 v V }  , где i N  .
Если V   — множество символов
то V i   — множество строк длиной i   символов, взятых из V  .

Звезда КлиниПравить

Замыкание Клини множества V   есть

V = i = 0 V i  .

То есть это множество всех строк конечной длины́, порождённое элементами множества V  .

Плюс КлиниПравить

Есть операция, аналогичная звезде Клини, — плюс Клини:

V + = i = 1 V i  .

Как видим, отличается тем, что пропущено V 0  , содержащее пустую строку.

СвойстваПравить

V = V  .
  • Замыкание Клини включает в себя порождающее множество:
V V  .
  • Замыкание Клини всегда содержит пустую строку:
ε V  .
| V | = | V + | = 0 V { ε }  .

ПримерыПравить

Для множества строк
{"Go", "Russia"}* = {ε, "Go", "Russia", "GoGo", "GoRussia", "RussiaGo", "RussiaRussia", "GoGoGo", "GoGoRussia", "GoRussiaGo", …}.
Для множества символов
{'a', 'b', 'c'}* = {ε, "a", "b", "c", "aa", "ab", "ac", "ba", "bb", "bc", "ca", "cb", "cc", "aaa", …}.
Для множества из пустой строки
{ ε } = { ε } + = { ε }  .
Для пустого множества
= { ε }  .
+ = =  .

ОбобщениеПравить

Стро́ки образуют моноид по конкатенации с нейтральным элементом ε  . Таким образом, определение звезды́ Клини можно распространить на любой моноид.

См. такжеПравить

ЛитератураПравить

  • John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. Introduction to Automata Theory, Languages, and Computation. — 3rd Edition. — 2006. — 535 p. — ISBN 0321462254.
  • Katrin Erk, Lutz Priese. Theoretische Informatik: eine umfassende Einführung. — 2., erw. — Springer-Verlag, 2002. — С. 27—29. — ISBN 3-540-42624-8.