Изменения

Перейти к: навигация, поиск

Моноид

10 349 байт добавлено, 19:38, 4 сентября 2022
м
rollbackEdits.php mass rollback
{{В разработкеОпределение|definition=Кортеж <tex>\langle G,\cdot: G \times G \to G, \varepsilon \in G \rangle</tex> называется [[моноид|моноидом]], если он удовлетворяет следующим аксиомам:* Бинарная операция <tex>\cdot</tex> — определена везде и [[Ассоциативная операция | ''ассоциативна'']].* <tex>\varepsilon</tex> называется нейтральным элементом относительно <tex>\cdot</tex>, то есть для него выполняется:: <tex> \forall x\in G : \varepsilon\cdot x=x \cdot \varepsilon = x</tex>. Иногда его обозначают <tex> \varepsilon_G </tex>, или <tex>e_G </tex>.}}
== Моноид ==Другими словами, моноид {{---}} это [[Полугруппа|полугруппа]], в которую добавлен нейтральный элемент.
Полугруппа <tex>\langle G,\cdot\rangle</tex> называется '''моноидом''', если в множестве <tex>G</tex> существует элемент, нейтральный относительно операции полугруппы:== Примеры ==
* множество натуральных чисел <tex>\exists emathbb{N} </tex> с операцией сложения является моноидом <tex>\langle \in G : mathbb{N}, +, 0 \rangle</tex>* множество положительных целых <tex> \mathbb{Z}_+ </tex> с операцией умножения является моноидом <tex>\langle\mathbb{Z}_+, \cdot, 1 \rangle</tex>* множество натуральных числел с операцией умножения является моноидом <tex>\langle \mathbb{N}, \forall xcdot, 1 \in G rangle</tex> с нейтральным элементом <tex>1</tex> (наличие нуля не мешает этой структуре быть моноидом: e<tex>1 \cdot x0 =x 0</tex>, как того и требует аксиома нейтрального элемента), но тройка <tex>\langle \mathbb{N}, \cdot e=x, 0 \rangle</tex>моноидом уже не является.
Нейтральный элемент единственен. Действительно, путь <tex>e_1</tex> и <tex>e_2</tex> -- два нейтральных элемента. Тогда имеем:== Свойства ==
{{Утверждение|about=О единственности нейтрального элемента|statement=Нейтральный элемент в моноиде единственен.|proof=Действительно, пусть <tex>\varepsilon_1</tex> и <tex>e_1 \varepsilon_2</tex> {{---}} два нейтральных элемента. Тогда имеем: <tex>\varepsilon_1 = e_1\varepsilon_1\cdot e_2 \varepsilon_2 = e_2\varepsilon_2</tex>.}}
Примером моноида является множество действительных чисел == Гомоморфизм моноидов =={{Определение|id = defmonhom|definition='''Гомоморфизмом моноидов''' (англ. ''monoid homomorphism'') <tex>\langle M, \cdot_M, \varepsilon_M \rangle </tex> и <tex>\langle N, \cdot_N, \varepsilon_N \rangle </tex> называется отображение <tex>\mathbb{R}varphi \colon M \rightarrow N</tex> совместимое с операциями из <tex> M </tex> c операцией умножения или сложения (нейтральными элементами являются 1 и 0 соответственно).<tex> N </tex>, то есть такое, что:
* <tex>\varphi(\varepsilon_M) = \varepsilon_N</tex>* <tex> \forall x, y \in M \colon \varphi(x\cdot_M y) = \varphi(x) \cdot_N \varphi(y)</tex>}} == Свободный моноид над множеством == {{Определение|definition='''Свободным моноидом''' (англ. ''free monoid'') <tex> M </tex> '''над множеством''' <tex> S </tex> <tex>(</tex>обозначается как <tex> M_S )</tex> называется моноид над множеством <tex> S^* </tex> {{---}} набором всевозможных последовательностей (или списков) конечной длины (в том числе и нулевой), образованных из элементов множества <tex> S </tex> {{---}} с ассоциативной операцией [[Основные определения: алфавит, слово, язык, конкатенация, свободный моноид слов; операции над языками#defconcat|конкатенации]] <tex>\texttt{++}</tex> этих последовательностей.}}=== Примеры свободного моноида над множеством === * тривиальный пример: множество <tex> S = \varnothing </tex>. Тогда <tex> S^* = \{\varnothing\} </tex>.* <tex> S = \{1\} </tex>. Тогда <tex>S^* = \{[], [1], [1, 1], ... \} </tex>. == Свободный моноид == {{Определение|definition=Моноид <tex>M</tex> называется '''свободным''', если он [[Изоморфизм групп | изоморфен]] некоторому свободному моноиду над каким-то множеством.}}=== Примеры свободного моноида === * <tex>\langle \mathbb{N}, +, 0 \rangle </tex> {{---}} пример свободного моноида, так как он изоморфен свободному моноиду над <tex>S = \{1\}</tex>: ** <tex>i(0) = []</tex>** <tex>i(a + b) = i(a) ~ \texttt{++} ~ i(b)</tex> == Моноид с порождающими соотношениями == Введём дополнительное определение, чтобы привести пример моноида, не являющегося свободным.{{Определение|definition='''Моноидом с порождающими соотношениями''' (англ. ''equational presentation of monoid'') называется моноид, на котором введены дополнительные правила (то есть бинарные отношения на строках), отождествляющие некоторые элементы моноида.}}Примером такого моноида является множество <tex> G </tex> всевозможных строк над алфавитом <tex> \Sigma = \{a, b\} </tex>, <tex dpi = 130> G = \Sigma^{*}_{/ab = ba} </tex>, что обозначает равенство строк <tex> ab </tex> и <tex> ba </tex> в моноиде. И хотя такой моноид образован всевозможными последовательностями, он не является свободным. Покажем это. {{Теорема |statement= Моноид <tex dpi = 130> G = \Sigma^{*}_{/ab = ba} </tex> не является свободным|proof=Для начала покажем, что каждый элемент такого моноида можно представить в виде <tex> a^i b^j, i \geqslant 0, j \geqslant 0 </tex>. Докажем это конструктивно. Возьмём произвольную строку и будем в ней заменять все подстроки вида <tex> ba </tex> на подстроки <tex> ab </tex>. Если таких подстрок нет, то наша строка имеет вид <tex> a^i b^j </tex>, а если есть, то строка за конечное число шагов приведётся к указанному виду. '''Замечание''': конкатенация двух последовательностей <tex> a^i b^j </tex> и <tex> a^k b^t </tex> аналогична операции конкатенации строк, только после её применения строку надо привести к виду <tex> a^{i + k} b^{j + t} </tex>, поэтому результат операции равен не конкретной строке, а целому [[Отношение эквивалентности#Классы эквивалентности | классу эквивалентности]]. Предположим, что данный моноид свободный. Это значит, что он изоморфен какому-то свободному моноиду над множеством <tex> M_S </tex>, то есть существует биективное отображение <tex> f \colon G \to M_S </tex>. Оно сохраняет ассоциативность операций, поэтому  <tex> f(ab) = f(a) ~\texttt{++}~ f(b) </tex> <tex> f(ba) = f(b) ~\texttt{++}~ f(a) </tex> Следовательно, так как <tex> ab = ba </tex> и отображение <tex> f </tex> является изоморфизмом, то <tex> f(ab) = f(a) ~\texttt{++}~ f(b) = f(b) ~\texttt{++}~ f(a) = f(ba) </tex>. Пусть <tex> |f(a)| = m, |f(b)| = n </tex>. Равенство этих последовательностей означает, что у последовательности <tex> f(a) ~\texttt{++}~ f(b) </tex> есть два [[Период и бордер, их связь | бордера]] длин <tex> m </tex> и <tex> n </tex> соответственно, значит, она периодическая и имеет период равный <tex>\gcd(n, m)</tex>. [[File:FreeMonoidConcatExample.png|300px]] Из этого следует, что последовательности <tex> f(a) </tex> и <tex> f(b) </tex> можно представить в виде конечного объединения некоторой подпоследовательности <tex> s </tex>, являющейся периодом и имеющей длину <tex>\gcd(n, m)</tex>. <tex> f(a) = \overbrace{s ~\texttt{++}~ s ~\texttt{++}~ ... ~\texttt{++}~ s}^{p} </tex> <tex> f(b) = \overbrace{s ~\texttt{++}~ s ~\texttt{++}~ ... ~\texttt{++}~ s}^{q} , s \in M_S </tex> Пусть <tex>\mathrm{lcm}(p, q) = l</tex>, тогда <tex dpi> \overbrace{f(a) ~\texttt{++}~ f(a) ~\texttt{++}~ ... ~\texttt{++}~ f(a)}^{l / p} = \overbrace{s ~\texttt{++}~ s ~\texttt{++}~ ... ~\texttt{++}~ s}^{l} </tex> <tex dpi> \overbrace{f(b) ~\texttt{++}~ f(b) ~\texttt{++}~ ... ~\texttt{++}~ f(b)}^{l / q} = \overbrace{s ~\texttt{++}~ s ~\texttt{++}~ ... ~\texttt{++}~ s}^{l} </tex>  Откуда следует, что <tex dpi = 140> a^{l / p} = b^{l / q} </tex>, то есть отображение <tex> f </tex> не является изоморфизмом. Значит, мы пришли к противоречию, предположив, что данный моноид <tex dpi = 130> G = \Sigma^{*}_{/ab = ba} </tex> является свободным. Равенство <tex> f(ab) = f(ba) </tex> может сохранять изоморфизм, если <tex> f(a) = [] </tex>, но тогда <tex> f(a) = f(aa) </tex>, что опять же приводит нас к противоречию.}} == См. также ==* [[Группа]]* [[Изоморфизм групп]]  == Источники информации ==* [[wikipedia:Monoid | Wikipedia {{---}} Monoid ]]* [[wikipedia:ru:Моноид | Википедия {{---}} Моноид ]]* [[wikipedia:Free_monoid | Wikipedia {{---}} Free monoid ]]* [http://ncatlab.org/nlab/show/free+monoid nLab {{---}} Free Monoid]* [http://www.proofwiki.org/wiki/Definition:Free_Monoid Proof Wiki {{---}} Free monoid]* [http://habrahabr.ru/post/112394/ Habrahabr {{---}} Моноиды и их приложения: моноидальные вычисления в деревьях] [[Категория: Теория групп]]
1632
правки

Навигация