Звезда Клини

Pause

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

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

Определение

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

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

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

.

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

, где .
Если  — множество символов
то  — множество строк длиной символов, взятых из .

Звезда Клини

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

.

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

Плюс Клини

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

.

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

Свойства

  • Связь операций:
  • Идемпотентность:
.
  • Замыкание Клини включает в себя порождающее множество:
.
  • Замыкание Клини всегда содержит пустую строку:
.
.

Примеры

Для множества строк

Пусть дано множество строк {«Да», «Нет»}.

Тогда замыкание Клини этого множества имеет вид:

{«Да», «Нет»}* = {ε, «Да», «Нет», «ДаДа», «ДаНет», «НетДа», «НетНет», «ДаДаДа», «ДаДаНет», «ДаНетДа», …}.

Для множества символов

{‘а’, ‘б’, ‘в’}* = {ε, «а», «б», «в», «аа», «аб», «ав», «ба», «бб», «бв», «ва», «вб», «вв», «ааа», …}.

Для множества из пустой строки
.
Для пустого множества
.
.

Обобщение

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

Литература

  • 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.

Категории

Pause