<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=212.193.78.231&amp;*</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=212.193.78.231&amp;*"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/212.193.78.231"/>
		<updated>2026-04-22T19:04:24Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5_%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F,_%D1%81%D0%B2%D1%8F%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5_%D1%81%D0%BE_%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0%D0%BC%D0%B8&amp;diff=65736</id>
		<title>Основные определения, связанные со строками</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5_%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F,_%D1%81%D0%B2%D1%8F%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5_%D1%81%D0%BE_%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0%D0%BC%D0%B8&amp;diff=65736"/>
				<updated>2018-05-22T09:54:37Z</updated>
		
		<summary type="html">&lt;p&gt;212.193.78.231: /* Отношения между строками */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Базовые определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition='''Символ''' (англ. ''symbol'') {{---}} объект, имеющий собственное содержание и уникальную читаемую форму.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=alphabet&lt;br /&gt;
|definition =&lt;br /&gt;
'''Алфавит''' (англ. ''alphabet'') {{---}} конечное непустое [[Множества|множество]] символов. Условимся обозначать алфавит большой греческой буквой &amp;lt;tex&amp;gt;\Sigma&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
Наиболее часто используются следующие алфавиты:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\Sigma=\{0, 1\}&amp;lt;/tex&amp;gt; {{---}} бинарный или двоичный алфавит.&lt;br /&gt;
* &amp;lt;tex&amp;gt;\Sigma=\{a, b, \dots,z\}&amp;lt;/tex&amp;gt; {{---}} множество строчных букв английского алфавита.&lt;br /&gt;
* &amp;lt;tex&amp;gt;\Sigma = \left\{0, 1, 2, \dots, 9\right\} &amp;lt;/tex&amp;gt; {{---}} алфавит цифр.&lt;br /&gt;
* &amp;lt;tex&amp;gt;\Sigma = \left\{\cdot, -\right\} &amp;lt;/tex&amp;gt; {{---}} алфавит, лежащий в основе азбуки Морзе.&lt;br /&gt;
* Нотные знаки&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=string&lt;br /&gt;
|definition =&lt;br /&gt;
'''Слово''' (англ. ''string'') или '''цепочка''' {{---}} конечная последовательность символов некоторого алфавита.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
'''Длина цепочки''' (англ. ''string length'') {{---}} число символов в цепочке. Длину некоторой цепочки &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; обычно обозначают &amp;lt;tex&amp;gt;|w|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
&amp;lt;tex&amp;gt;\Sigma^k&amp;lt;/tex&amp;gt; {{---}} множество цепочек длины &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; над алфавитом &amp;lt;tex&amp;gt;\Sigma&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
&amp;lt;tex&amp;gt;\Sigma^* = \bigcup \limits _{k=0}^\infty \Sigma^k&amp;lt;/tex&amp;gt; {{---}} множество всех цепочек над алфавитом &amp;lt;tex&amp;gt;\Sigma&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id = defconcat&lt;br /&gt;
|definition =&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\alpha,\ \beta \in \Sigma^*&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt; \alpha \cdot \beta &amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt; \alpha \beta &amp;lt;/tex&amp;gt; обозначает их '''конкатенацию''' (англ. ''concatenation''), то есть цепочку, в которой последовательно записаны цепочки &amp;lt;tex&amp;gt; \alpha &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; \beta &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
'''Пустая цепочка''' (англ. ''empty string'') {{---}} цепочка, не содержащая ни одного символа. Эту цепочку, обозначаемую &amp;lt;tex&amp;gt; \varepsilon &amp;lt;/tex&amp;gt;, можно рассматривать как цепочку в любом алфавите. Для любой строки &amp;lt;tex&amp;gt;\alpha \in \Sigma^k&amp;lt;/tex&amp;gt; верно &amp;lt;tex&amp;gt; : \alpha\varepsilon=\varepsilon\alpha=\alpha&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Множество строк с операцией ''конкатенации'' и нейтральным элементом ''пустой строкой'' образует [[Моноид|свободный моноид]].&lt;br /&gt;
&lt;br /&gt;
==Отношения между строками==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=prefix&lt;br /&gt;
|definition='''Префикс''' (англ. ''prefix'') строки &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt; {{---}} строка &amp;lt;tex&amp;gt;\alpha : \beta = \alpha \gamma&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\beta = \underline{abr}acadabra&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\alpha = abr&amp;lt;/tex&amp;gt; {{---}} префикс &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=suffix&lt;br /&gt;
|definition='''Суффикс''' (англ. ''suffix'') строки &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt; {{---}} строка &amp;lt;tex&amp;gt;\alpha : \beta = \gamma \alpha &amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\beta = abracada\underline{bra}&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\alpha = bra&amp;lt;/tex&amp;gt; {{---}} суффикс &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=border&lt;br /&gt;
|definition='''Бордер''' (англ. ''circumfix'') строки &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt; {{---}} строка &amp;lt;tex&amp;gt;\alpha : \beta = \gamma \alpha = \alpha \eta&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\beta = \underline{abra}cad\underline{abra}&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\alpha = abra&amp;lt;/tex&amp;gt; {{---}} бордер &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=ind&lt;br /&gt;
|definition=&amp;lt;tex&amp;gt;\alpha[i]&amp;lt;/tex&amp;gt; {{---}} символ строки &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;, находящийся на &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ой позиции.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\beta = cacao&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\beta[1] = c, \beta[4] = a &amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &lt;br /&gt;
{{Определение&lt;br /&gt;
|id=period&lt;br /&gt;
|definition='''Период''' (англ. ''period'') строки &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} число &amp;lt;tex&amp;gt;p : \forall i = 1 \ldots |\alpha| - p, &lt;br /&gt;
\alpha [i] = \alpha[i + p]&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\alpha = acaacaa&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;p = 3&amp;lt;/tex&amp;gt; {{---}} период строки &amp;lt;tex&amp;gt;\alpha = acaacaa&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=Пусть известна строка &amp;lt;tex&amp;gt;\tau&amp;lt;/tex&amp;gt; {{---}} период &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;|\alpha|&amp;lt;/tex&amp;gt;, тогда можно восстановить всю строку &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=Из определения периода строки следует, что &amp;lt;tex&amp;gt;\alpha[1 \dots |\tau|] = \alpha[|\tau| + 1 \dots 2 \cdot |\tau|] = \dots = \alpha[|\tau| \cdot (k - 1) + 1 \dots |\tau| \cdot k] &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;k = &amp;lt;/tex&amp;gt; &amp;lt;tex dpi=&amp;quot;140&amp;quot;&amp;gt;\left\lfloor\frac{|\alpha|}{|\tau|} \right\rfloor&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Таким образом &amp;lt;tex&amp;gt;\alpha = &amp;lt;/tex&amp;gt;&amp;lt;tex dpi=&amp;quot;140&amp;quot;&amp;gt;\sum \limits_{i=1}^{\left\lfloor\frac{|\alpha|}{|\tau|} \right\rfloor}&amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt; \tau + \tau[1 \dots |\alpha| \bmod |\tau|]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=hardperiod&lt;br /&gt;
|definition=Строка &amp;lt;tex&amp;gt;\alpha \neq \varepsilon&amp;lt;/tex&amp;gt; c периодом &amp;lt;tex&amp;gt;p \neq |\alpha|&amp;lt;/tex&amp;gt;, называется '''сильнопериодической''', если &amp;lt;tex&amp;gt;|\alpha| \bmod p = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Строка &amp;lt;tex&amp;gt;\alpha = acaacaaca&amp;lt;/tex&amp;gt; является сильнопериодической с периодом &amp;lt;tex&amp;gt;p = 3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=substring&lt;br /&gt;
|definition='''Подстрока''' (англ. ''substring'') {{---}} некоторая непустая подпоследовательность подряд идущих символов строки.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\beta = abr\underline{aca}dabra&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\alpha = aca&amp;lt;/tex&amp;gt; {{---}} подстрока строки &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=repetition&lt;br /&gt;
|definition='''Тандемным повтором''' (англ. ''repetition'') называется непустая строка вида &amp;lt;math&amp;gt;\alpha\alpha&amp;lt;/math&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=palindrome&lt;br /&gt;
|definition='''Палиндромом''' (англ. &amp;lt;i&amp;gt;Palindrome&amp;lt;/i&amp;gt;) называется строка вида &amp;lt;tex&amp;gt;\alpha\overline{\alpha}&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;\alpha c\overline{\alpha}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\overline{\alpha}&amp;lt;/tex&amp;gt; {{---}} развернутая строка &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;c&amp;lt;/tex&amp;gt; {{---}} любой символ.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
Строка &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; '''лексикографически меньше''' строки &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt; (&amp;lt;tex&amp;gt;\alpha &amp;lt; \beta&amp;lt;/tex&amp;gt;), если&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} префикс &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''или''&lt;br /&gt;
&lt;br /&gt;
2. &amp;lt;tex&amp;gt; \mathcal \exists k : k \leqslant \min(|\alpha|, |\beta|) &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; \alpha[k] &amp;lt; \beta[k] &amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt; \mathcal \forall j &amp;lt; k : \alpha_j = \beta_j &amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Строка &amp;lt;tex&amp;gt;\alpha = aca &amp;lt; \beta = acaaba&amp;lt;/tex&amp;gt;, так как является префиксом &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Строка &amp;lt;tex&amp;gt;\alpha = acaa &amp;lt; \beta = acab&amp;lt;/tex&amp;gt;, так как &amp;lt;tex&amp;gt;a &amp;lt; b&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Формальные языки ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|id = deflanguage&lt;br /&gt;
|definition =&lt;br /&gt;
'''Язык''' (англ. ''language'') над алфавитом &amp;lt;tex&amp;gt;\Sigma&amp;lt;/tex&amp;gt; {{---}} некоторое подмножество &amp;lt;tex&amp;gt;\Sigma^*&amp;lt;/tex&amp;gt;. Иногда такие языки называют '''формальными''' (англ. ''formal''), чтобы подчеркнуть отличие от языков в привычном смысле.&lt;br /&gt;
}}&lt;br /&gt;
Отметим, что язык в &amp;lt;tex&amp;gt;\Sigma&amp;lt;/tex&amp;gt; не обязательно должен содержать цепочки, в которые входят все символы &amp;lt;tex&amp;gt;\Sigma&amp;lt;/tex&amp;gt;. Поэтому, если известно, что &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; является языком над &amp;lt;tex&amp;gt;\Sigma&amp;lt;/tex&amp;gt;, то можно утверждать, что &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; {{---}} это язык над любым алфавитом, являющимся надмножеством &amp;lt;tex&amp;gt;\Sigma&amp;lt;/tex&amp;gt;.&lt;br /&gt;
=== Операции над языками ===&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; {{---}} языки. Тогда над ними можно определить следующие операции.&lt;br /&gt;
#Теоретико-множественные операции:&lt;br /&gt;
#* &amp;lt;tex&amp;gt;L \cup M&amp;lt;/tex&amp;gt; {{---}} объединение,&lt;br /&gt;
#* &amp;lt;tex&amp;gt;L \cap M &amp;lt;/tex&amp;gt; {{---}} пересечение,&lt;br /&gt;
#* &amp;lt;tex&amp;gt;L \setminus M&amp;lt;/tex&amp;gt; {{---}} разность,&lt;br /&gt;
#* &amp;lt;tex&amp;gt;\overline{L}=\Sigma^* \setminus L&amp;lt;/tex&amp;gt; {{---}} дополнение.&lt;br /&gt;
# Конкатенация: &amp;lt;tex&amp;gt;LM=\left\{\alpha\beta|\alpha \in L, \beta \in M\right\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# Конкатенация с обратным языком: &amp;lt;tex&amp;gt;LR^{-1} = \{ w \mid \exists y \in R : wy \in L\}&amp;lt;/tex&amp;gt;; конкатенация с обратным словом: &amp;lt;tex&amp;gt;Ly^{-1} = L\{y\}^{-1}, y \in \Sigma^*&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# Степень языка: &amp;lt;tex&amp;gt;L^k=\begin{cases}&lt;br /&gt;
\{\varepsilon\}, k = 0\\&lt;br /&gt;
LL^{k-1}, k &amp;gt; 0.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/tex&amp;gt;&lt;br /&gt;
# Замыкание Клини: &amp;lt;tex&amp;gt;L^*=\bigcup\limits_{i=0}^{\infty}L^i&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# [[#Гомоморфизм языков| Гомоморфизм]]&lt;br /&gt;
&lt;br /&gt;
=== Примеры ===&lt;br /&gt;
* &amp;lt;tex&amp;gt;(\{0\}^*) \cup (\{1\}^*)&amp;lt;/tex&amp;gt; {{---}} язык состоит из последовательностей нулей, последовательностей единиц и пустой строки.&lt;br /&gt;
* &amp;lt;tex&amp;gt;(\{0\}\{0\}^*) \cup (\{1\}\{1\}^*)&amp;lt;/tex&amp;gt; {{---}} аналогично предыдущему, но не содержит пустую строку.&lt;br /&gt;
* &amp;lt;tex&amp;gt;(\{0\} \cup \{1\})^* = \{0, 1\}^*&amp;lt;/tex&amp;gt; {{---}} содержит все двоичные векторы и пустую строку.&lt;br /&gt;
* Если &amp;lt;tex&amp;gt;L_p&amp;lt;/tex&amp;gt; — язык десятичных представлений всех простых чисел, то язык &amp;lt;tex&amp;gt;(L_p \setminus (\{3\}\{1,2,3,4,5,6,7,8,9,0\}^*))&amp;lt;/tex&amp;gt; будет содержать десятичные представления простых чисел, не начинающихся с тройки.&lt;br /&gt;
* &amp;lt;tex&amp;gt;\{\mathrm{ab, ba, bba, abab, aa}\}a^{-1} = \{\mathrm{b, bb, a}\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Гомоморфизм языков ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть даны два алфавита &amp;lt;tex&amp;gt;\Sigma_1, \Sigma_2&amp;lt;/tex&amp;gt;. '''Гомоморфизмом''' называется такое отображение &amp;lt;tex&amp;gt; \varphi \colon \Sigma_{1}^{*} \to \Sigma_{2}^{*}&amp;lt;/tex&amp;gt;, что:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\varphi(\varepsilon) = \varepsilon&amp;lt;/tex&amp;gt;, то есть сохраняет пустую строку&lt;br /&gt;
* &amp;lt;tex&amp;gt;\forall w_1, w_2 \in \Sigma_1^*: \varphi(w_1w_2) = \varphi(w_1)\varphi(w_2)&amp;lt;/tex&amp;gt;, то есть сохраняет конкатенацию&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Образом языка''' &amp;lt;tex&amp;gt;L \subset \Sigma_1^* &amp;lt;/tex&amp;gt; при гомоморфизме &amp;lt;tex&amp;gt;\varphi: \Sigma_1^* \to \Sigma_2^*&amp;lt;/tex&amp;gt; (иногда называют '''прямым гомоморфизмом''') называется язык &amp;lt;tex&amp;gt;M = \varphi(L) \overset{\underset{\mathrm{def}}{}}{=} \{ \varphi(x) \mid x \in L \}&amp;lt;/tex&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;\varphi&amp;lt;/tex&amp;gt; будет [[Моноид#defmonhom | гомоморфизмом моноидов]] &amp;lt;tex&amp;gt;\langle L, \cdot, \varepsilon \rangle&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\langle M, \cdot, \varepsilon \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Прообразом языка''' &amp;lt;tex&amp;gt;M \subset \Sigma_2^*&amp;lt;/tex&amp;gt; при гомоморфизме &amp;lt;tex&amp;gt;\varphi: \Sigma_1^* \to \Sigma_2^*&amp;lt;/tex&amp;gt; (иногда называют '''обратным гомоморфизмом''') называется язык &amp;lt;tex&amp;gt;L = \varphi^{-1}(M) \overset{\underset{\mathrm{def}}{}}{=} \{ x \mid \varphi(x) \in M \}&amp;lt;/tex&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;\varphi&amp;lt;/tex&amp;gt; будет [[Моноид#defmonhom | гомоморфизмом моноидов]] &amp;lt;tex&amp;gt;\langle L, \cdot, \varepsilon \rangle&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\langle M, \cdot, \varepsilon \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Примеры ===&lt;br /&gt;
&lt;br /&gt;
* тривиальные гомоморфизмы&lt;br /&gt;
** обнуляющий: &amp;lt;tex&amp;gt; \varphi(x) = \varepsilon, x \in L &amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt; \varphi(L) = \{ \varepsilon \} &amp;lt;/tex&amp;gt;&lt;br /&gt;
** тождественный: &amp;lt;tex&amp;gt; \varphi(x) = x, x \in L &amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt; \varphi(L) = L &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; \varphi^{-1}(L) = L&amp;lt;/tex&amp;gt;&lt;br /&gt;
* '''гомоморфизм цепочек''' {{---}} функция, подставляющая некоторую строку вместо каждого символа. Более формально, для заданного отображения &amp;lt;tex&amp;gt; h\colon \Sigma_1 \to \Sigma_1^* &amp;lt;/tex&amp;gt; гомоморфизмом цепочек будет функция &amp;lt;tex&amp;gt; \varphi: \Sigma_1^* \to \Sigma_2^* &amp;lt;/tex&amp;gt;, действующая от каждого символа строки из языка следующим образом &amp;lt;tex&amp;gt; \varphi(\overline{c_1 c_2 ... c_n}) = h(c_1)h(c_2) ... h(c_k) &amp;lt;/tex&amp;gt;. Регулярные языки [[Замкнутость регулярных языков относительно различных операций#st1 | замкнуты]] относительно гомоморфизма цепочек&lt;br /&gt;
* ''солнечный язык'' из детских игр (когда после каждой гласной в слове надо добавлять букву &amp;quot;С&amp;quot; и эту же гласную) может быть представлен в виде гомоморфизма языков, где все согласные символы отображаются сами в себя, а гласный символ &amp;lt;tex&amp;gt; z &amp;lt;/tex&amp;gt; переходит в &amp;lt;tex&amp;gt; zCz &amp;lt;/tex&amp;gt; &lt;br /&gt;
* циклический гомоморфизм: зафиксируем порядок символов в алфавите, будем отображать каждый символ в следующий, а последний {{---}} в первый. Обратным гомоморфизмом будет отображение каждого символа в предыдущий.&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Период и бордер, их связь]]&lt;br /&gt;
* [[Слово Фибоначчи]]&lt;br /&gt;
* [[Слово Туэ-Морса]]&lt;br /&gt;
* [[Регулярные языки: два определения и их эквивалентность]]&lt;br /&gt;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
* [[wikipedia:Formal_language_theory | Wikipedia {{---}} Formal language]]&lt;br /&gt;
* [[wikipedia:Kleene_star | Wikipedia {{---}} Kleene star]]&lt;br /&gt;
* [[wikipedia:String_operations#String_homomorphism | Wikipedia {{---}} String homomorphism]]&lt;br /&gt;
* [[wikipedia:ru:Формальный_язык | Википедия {{---}} Формальный язык]]&lt;br /&gt;
* [[wikipedia:ru:Звезда_Клини| Википедия {{---}} Звезда Клини]]&lt;br /&gt;
* [http://www.google.ru/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CCsQFjAA&amp;amp;url=http%3A%2F%2Fehess.modelisationsavoirs.fr%2Fatiam%2Fbiblio%2FLothaire83-chap1.pdf&amp;amp;ei=UiV6UuvbAeaP4gSot4HwCA&amp;amp;usg=AFQjCNGUnEUG4oKbynqjDvd6NVMfSUuMJQ&amp;amp;sig2=GzMd4HvBNW2vYctSWDfvZQ&amp;amp;bvm=bv.55980276,d.bGE&amp;amp;cad=rjt M.Lothaire &amp;quot;Combinatorics on words&amp;quot;]&lt;br /&gt;
* Гасфилд Д. Строки, деревья и последовательности в алгоритмах: Информатика и вычислительная биология. — 2-е изд.&lt;br /&gt;
* Kelley, Dean (1995). Automata and Formal Languages: An Introduction. London: Prentice-Hall International. ISBN 0-13-497777-7.&lt;br /&gt;
* ''Хопкрофт Д., Мотвани Р., Ульман Д.'' Введение в теорию автоматов, языков и вычислений, 2-е изд. : Пер. с англ. {{---}} М.:Издательский дом «Вильямс», 2002. {{---}} С. 45.&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Основные определения. Простые комбинаторные свойства слов]]&lt;br /&gt;
[[Категория: Автоматы и регулярные языки]]&lt;/div&gt;</summary>
		<author><name>212.193.78.231</name></author>	</entry>

	</feed>