Моноид — различия между версиями
Shersh (обсуждение | вклад) м |
м (rollbackEdits.php mass rollback) |
||
(не показаны 24 промежуточные версии 5 участников) | |||
Строка 1: | Строка 1: | ||
{{Определение | {{Определение | ||
|definition= | |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> \forall x\in G : \varepsilon\cdot x=x \cdot \varepsilon = x</tex>. Иногда его обозначают <tex> \varepsilon_G </tex>, или <tex>e_G </tex>. |
}} | }} | ||
− | Другими словами, моноид {{---}} это [[Полугруппа|полугруппа]], в которую добавлен нейтральный элемент. | + | Другими словами, моноид {{---}} это [[Полугруппа|полугруппа]], в которую добавлен нейтральный элемент. |
+ | |||
+ | == Примеры == | ||
+ | |||
+ | * множество натуральных чисел <tex> \mathbb{N} </tex> с операцией сложения является моноидом <tex>\langle \mathbb{N}, +, 0 \rangle</tex> | ||
+ | * множество положительных целых <tex> \mathbb{Z}_+ </tex> с операцией умножения является моноидом <tex>\langle\mathbb{Z}_+, \cdot, 1 \rangle</tex> | ||
+ | * множество натуральных числел с операцией умножения является моноидом <tex>\langle \mathbb{N}, \cdot, 1 \rangle</tex> с нейтральным элементом <tex>1</tex> (наличие нуля не мешает этой структуре быть моноидом: <tex>1 \cdot 0 = 0</tex>, как того и требует аксиома нейтрального элемента), но тройка <tex>\langle \mathbb{N}, \cdot, 0 \rangle</tex> моноидом уже не является. | ||
+ | |||
+ | == Свойства == | ||
{{Утверждение | {{Утверждение | ||
Строка 15: | Строка 23: | ||
Действительно, пусть <tex>\varepsilon_1</tex> и <tex>\varepsilon_2</tex> {{---}} два нейтральных элемента. Тогда имеем: <tex>\varepsilon_1 = \varepsilon_1\cdot \varepsilon_2 = \varepsilon_2</tex>. | Действительно, пусть <tex>\varepsilon_1</tex> и <tex>\varepsilon_2</tex> {{---}} два нейтральных элемента. Тогда имеем: <tex>\varepsilon_1 = \varepsilon_1\cdot \varepsilon_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>\varphi \colon M \rightarrow N</tex> совместимое с операциями из <tex> M </tex> и <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= | |definition= | ||
− | '''Свободным моноидом''' (англ. ''free monoid'') <tex> M </tex> над множеством <tex> S </tex> <tex>(</tex>обозначается как <tex> M_S )</tex> называется моноид над множеством <tex> S^* </tex> {{---}} набором всевозможных элементов, | + | '''Свободным моноидом''' (англ. ''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= | |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>, что опять же приводит нас к противоречию. | ||
+ | }} | ||
== См. также == | == См. также == | ||
Строка 40: | Строка 104: | ||
* [[Изоморфизм групп]] | * [[Изоморфизм групп]] | ||
− | == | + | == Источники информации == |
+ | * [[wikipedia:Monoid | Wikipedia {{---}} Monoid ]] | ||
+ | * [[wikipedia:ru:Моноид | Википедия {{---}} Моноид ]] | ||
* [[wikipedia:Free_monoid | Wikipedia {{---}} Free monoid ]] | * [[wikipedia:Free_monoid | Wikipedia {{---}} Free monoid ]] | ||
* [http://ncatlab.org/nlab/show/free+monoid nLab {{---}} 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://www.proofwiki.org/wiki/Definition:Free_Monoid Proof Wiki {{---}} Free monoid] | ||
+ | * [http://habrahabr.ru/post/112394/ Habrahabr {{---}} Моноиды и их приложения: моноидальные вычисления в деревьях] | ||
[[Категория:Теория групп]] | [[Категория:Теория групп]] |
Текущая версия на 19:38, 4 сентября 2022
Определение: |
Кортеж моноидом, если он удовлетворяет следующим аксиомам:
| называется
Другими словами, моноид — это полугруппа, в которую добавлен нейтральный элемент.
Содержание
Примеры
- множество натуральных чисел с операцией сложения является моноидом
- множество положительных целых с операцией умножения является моноидом
- множество натуральных числел с операцией умножения является моноидом с нейтральным элементом (наличие нуля не мешает этой структуре быть моноидом: , как того и требует аксиома нейтрального элемента), но тройка моноидом уже не является.
Свойства
Утверждение (О единственности нейтрального элемента): |
Нейтральный элемент в моноиде единственен. |
Действительно, пусть | и — два нейтральных элемента. Тогда имеем: .
Гомоморфизм моноидов
Определение: |
Гомоморфизмом моноидов (англ. monoid homomorphism) | и называется отображение совместимое с операциями из и , то есть такое, что:
Свободный моноид над множеством
Определение: |
Свободным моноидом (англ. free monoid) конкатенации этих последовательностей. | над множеством обозначается как называется моноид над множеством — набором всевозможных последовательностей (или списков) конечной длины (в том числе и нулевой), образованных из элементов множества — с ассоциативной операцией
Примеры свободного моноида над множеством
- тривиальный пример: множество . Тогда .
- . Тогда .
Свободный моноид
Определение: |
Моноид изоморфен некоторому свободному моноиду над каким-то множеством. | называется свободным, если он
Примеры свободного моноида
Моноид с порождающими соотношениями
Введём дополнительное определение, чтобы привести пример моноида, не являющегося свободным.
Определение: |
Моноидом с порождающими соотношениями (англ. equational presentation of monoid) называется моноид, на котором введены дополнительные правила (то есть бинарные отношения на строках), отождествляющие некоторые элементы моноида. |
Примером такого моноида является множество
всевозможных строк над алфавитом , , что обозначает равенство строк и в моноиде. И хотя такой моноид образован всевозможными последовательностями, он не является свободным. Покажем это.Теорема: |
Моноид не является свободным |
Доказательство: |
Для начала покажем, что каждый элемент такого моноида можно представить в виде . Докажем это конструктивно. Возьмём произвольную строку и будем в ней заменять все подстроки вида на подстроки . Если таких подстрок нет, то наша строка имеет вид , а если есть, то строка за конечное число шагов приведётся к указанному виду.Замечание: конкатенация двух последовательностей классу эквивалентности. и аналогична операции конкатенации строк, только после её применения строку надо привести к виду , поэтому результат операции равен не конкретной строке, а целомуПредположим, что данный моноид свободный. Это значит, что он изоморфен какому-то свободному моноиду над множеством , то есть существует биективное отображение . Оно сохраняет ассоциативность операций, поэтому
Следовательно, так как бордера длин и соответственно, значит, она периодическая и имеет период равный . и отображение является изоморфизмом, то . Пусть . Равенство этих последовательностей означает, что у последовательности есть дваИз этого следует, что последовательности и можно представить в виде конечного объединения некоторой подпоследовательности , являющейся периодом и имеющей длину .
Пусть , тогда
Откуда следует, что Равенство , то есть отображение не является изоморфизмом. Значит, мы пришли к противоречию, предположив, что данный моноид является свободным. может сохранять изоморфизм, если , но тогда , что опять же приводит нас к противоречию. |