Product Code Database
Example Keywords: battlefield -playbook $42-121
barcode-scavenger
   » » Wiki: Monoid
Tag Wiki 'Monoid'.
Tag

In , a monoid is a set equipped with an and an . For example, the nonnegative with addition form a monoid, the identity element being .

Monoids are with identity. Such algebraic structures occur in several branches of mathematics.

The functions from a set into itself form a monoid with respect to function composition. More generally, in , the morphisms of an object to itself form a monoid, and, conversely, a monoid may be viewed as a category with a single object.

In and computer programming, the set of strings built from a given set of characters is a . Transition monoids and are used in describing finite-state machines. and provide a foundation for and concurrent computing.

In theoretical computer science, the study of monoids is fundamental for (Krohn–Rhodes theory), and formal language theory (star height problem).

See for the history of the subject, and some other general properties of monoids.


Definition
A set equipped with a , which we will denote , is a monoid if it satisfies the following two axioms:

Associativity
For all , and in , the equation holds.
Identity element
There exists an element in such that for every element in , the equalities and hold.

In other words, a monoid is a with an . It can also be thought of as a magma with associativity and identity. The identity element of a monoid is unique. For this reason the identity is regarded as a constant, i. e. -ary (or nullary) operation. The monoid therefore is characterized by specification of the .

Depending on the context, the symbol for the binary operation may be omitted, so that the operation is denoted by ; for example, the monoid axioms may be written and . This notation does not imply that it is numbers being multiplied.

A monoid in which each element has an is a group.


Monoid structures

Submonoids
A submonoid of a monoid is a of that is closed under the monoid operation and contains the identity element of . Symbolically, is a submonoid of if , and whenever . In this case, is a monoid under the binary operation inherited from .

On the other hand, if is a subset of a monoid that is closed under the monoid operation, and is a monoid for this inherited operation, then is not always a submonoid, since the identity elements may differ. For example, the is closed under multiplication, and is not a submonoid of the (multiplicative) monoid of the nonnegative integers.


Generators
A subset of is said to generate if the smallest submonoid of containing is . If there is a finite set that generates , then is said to be a finitely generated monoid.


Commutative monoid
A monoid whose operation is is called a commutative monoid (or, less commonly, an abelian monoid). Commutative monoids are often written additively. Any commutative monoid is endowed with its algebraic , defined by if there exists such that . An order-unit of a commutative monoid is an element of such that for any element of , there exists in the set generated by such that . This is often used in case is the of a partially ordered , in which case we say that is an order-unit of .


Partially commutative monoid
A monoid for which the operation is commutative for some, but not all elements is a ; trace monoids commonly occur in the theory of concurrent computation.


Examples
  • Out of the 16 possible binary Boolean operators, four have a two-sided identity that is also commutative and associative. These four each make the set a commutative monoid. Under the standard definitions, AND and XNOR have the identity while XOR and OR have the identity . The monoids from AND and OR are also while those from XOR and XNOR are not.
  • The set of is a commutative monoid under addition (identity element ) or multiplication (identity element ). A submonoid of under addition is called a .
  • The set of is a commutative monoid under multiplication (identity element ).
  • Given a set , the set of subsets of is a commutative monoid under intersection (identity element is itself).
  • Given a set , the set of subsets of is a commutative monoid under union (identity element is the ).
  • Generalizing the previous example, every bounded is an commutative monoid.
    • In particular, any bounded lattice can be endowed with both a meet- and a join- monoid structure. The identity elements are the lattice's top and its bottom, respectively. Being lattices, and Boolean algebras are endowed with these monoid structures.
  • Every closed under a binary operation forms the trivial (one-element) monoid, which is also the .
  • Every group is a monoid and every a commutative monoid.
  • Any may be turned into a monoid simply by adjoining an element not in and defining for all . This conversion of any semigroup to the monoid is done by the between the category of semigroups and the category of monoids.
    • Thus, an idempotent monoid (sometimes known as find-first) may be formed by adjoining an identity element to the left zero semigroup over a set . The opposite monoid (sometimes called find-last) is formed from the right zero semigroup over .
      • Adjoin an identity to the left-zero semigroup with two elements . Then the resulting idempotent monoid models the lexicographical order of a sequence given the orders of its elements, with e representing equality.
  • The underlying set of any ring, with addition or multiplication as the operation. (By definition, a ring has a multiplicative identity .)
    • The , , or , with addition or multiplication as operation.
    • The set of all by matrices over a given ring, with or matrix multiplication as the operation.
  • The set of all finite strings over some fixed alphabet forms a monoid with string concatenation as the operation. The serves as the identity element. This monoid is denoted and is called the over . It is not commutative if has at least two elements.
  • Given any monoid , the opposite monoid has the same carrier set and identity element as , and its operation is defined by . Any commutative monoid is the opposite monoid of itself.
  • Given two sets and endowed with monoid structure (or, in general, any finite number of monoids, ), their Cartesian product , with the binary operation and identity element defined on corresponding coordinates, called the , is also a monoid (respectively, ).
  • Fix a monoid . The set of all functions from a given set to is also a monoid. The identity element is a constant function mapping any value to the identity of ; the associative operation is defined .
  • Fix a monoid with the operation and identity element , and consider its consisting of all of . A binary operation for such subsets can be defined by . This turns into a monoid with identity element . In the same way the power set of a group is a monoid under the product of group subsets.
  • Let be a set. The set of all functions forms a monoid under function composition. The identity is just the identity function. It is also called the full transformation monoid of . If is finite with elements, the monoid of functions on is finite with elements.
  • Generalizing the previous example, let be a category and an object of . The set of all of , denoted , forms a monoid under composition of . For more on the relationship between category theory and monoids see below.
  • The set of classes of with the . Its unit element is the class of the ordinary 2-sphere. Furthermore, if denotes the class of the , and denotes the class of the projective plane, then every element of the monoid has a unique expression in the form where is a positive integer and , or . We have .
  • Let be a cyclic monoid of order , that is, . Then for some . Each such gives a distinct monoid of order , and every cyclic monoid is isomorphic to one of these.
    Moreover, can be considered as a function on the points given by
\begin{bmatrix}
0 & 1 & 2 & \cdots & n-2 & n-1 \\
1 & 2 & 3 & \cdots & n-1 & k\end{bmatrix} or, equivalently f(i) := \begin{cases}
i+1, & \text{if }  0 \le i < n-1  \\
k,  & \text{if } i = n-1.
\end{cases} 
     
Multiplication of elements in is then given by function composition. When then the function is a permutation of , and gives the unique of order .


Properties
By the monoid axioms the identity element is unique, since if and were identity elements of a monoid, then .


Products and powers
For each nonnegative integer , one can define the product p_n = \textstyle \prod_{i=1}^n a_i of any sequence of elements of a monoid recursively: let and let for .

As a special case, one can define nonnegative integer powers of an element of a monoid: and for . Then for all .


Invertible elements
An element is called if there exists an element such that and . The element is called the inverse of . Inverses, if they exist, are unique: if and are inverses of , then by associativity .

If is invertible, say with inverse , then one can define negative powers of by setting for each ; this makes the equation hold for all .

The set of all invertible elements in a monoid, together with the operation •, forms a group.


Grothendieck group
Not every monoid sits inside a group. For instance, it is perfectly possible to have a monoid in which two elements and exist such that holds even though is not the identity element (for example, take a = 0 and b = 1 in the additive monoid of nonnegative integers.) Such a monoid cannot be embedded in a group, because in the group multiplying both sides with the inverse of would get that , which is not true.

A monoid has the cancellation property (or is cancellative) if for all , and in , the equality implies , and the equality implies .

A commutative monoid with the cancellation property can always be embedded in a group via the Grothendieck group construction. That is how the additive group of the integers (a group with operation ) is constructed from the additive monoid of natural numbers (a commutative monoid with operation and cancellation property). However, a non-commutative cancellative monoid need not be embeddable in a group.

If a monoid has the cancellation property and is finite, then it is in fact a group.

The right- and left-cancellative elements of a monoid each in turn form a submonoid (i.e. are closed under the operation and obviously include the identity). This means that the cancellative elements of any commutative monoid can be extended to a group.

The cancellative property in a monoid is not necessary to perform the Grothendieck construction – commutativity is sufficient. However, if a commutative monoid does not have the cancellation property, the homomorphism of the monoid into its Grothendieck group is not injective. More precisely, if , then and have the same image in the Grothendieck group, even if . In particular, if the monoid has an absorbing element, then its Grothendieck group is the .


Types of monoids
An inverse monoid is a monoid where for every in , there exists a unique in such that and . If an inverse monoid is cancellative, then it is a group.

In the opposite direction, a zerosumfree monoid is an additively written monoid in which implies that and : equivalently, that no element other than zero has an additive inverse.


Acts and operator monoids
Let be a monoid, with the binary operation denoted by and the identity element denoted by . Then a (left) -act (or left act over ) is a set together with an operation which is compatible with the monoid structure as follows:
  • for all in : ;
  • for all , in and in : .
This is the analogue in monoid theory of a (left) group action. Right -acts are defined in a similar way. A monoid with an act is also known as an . Important examples include transition systems of . A transformation semigroup can be made into an operator monoid by adjoining the identity transformation.


Monoid homomorphisms
A between two monoids and is a function such that
  • for all , in
  • ,
where and are the identities on and respectively. Monoid homomorphisms are sometimes simply called monoid morphisms.

Not every semigroup homomorphism between monoids is a monoid homomorphism, since it may not map the identity to the identity of the target monoid, even though the identity is the identity of the image of the homomorphism. For example, consider , the set of modulo equipped with multiplication. In particular, is the identity element. Function given by is a semigroup homomorphism, since . However, , so a monoid homomorphism is a semigroup homomorphism between monoids that maps the identity of the first monoid to the identity of the second monoid and the latter condition cannot be omitted.

In contrast, a semigroup homomorphism between groups is always a group homomorphism, as it necessarily preserves the identity (because, in the target group of the homomorphism, the identity element is the only element such that ).

A monoid homomorphism is called a monoid . Two monoids are said to be isomorphic if there is a monoid isomorphism between them.


Equational presentation
Monoids may be given a presentation, much in the same way that groups can be specified by means of a group presentation. One does this by specifying a set of generators , and a set of relations on the . One does this by extending (finite) on to monoid congruences, and then constructing the quotient monoid, as above.

Given a binary relation , one defines its symmetric closure as . This can be extended to a symmetric relation by defining if and only if and for some strings with . Finally, one takes the reflexive and transitive closure of , which is then a monoid congruence.

In the typical situation, the relation is simply given as a set of equations, so that . Thus, for example,

\langle p,q\,\vert\; pq=1\rangle
is the equational presentation for the , and
\langle a,b \,\vert\; aba=baa, bba=bab\rangle
is the of degree (it has infinite order). Elements of this plactic monoid may be written as a^ib^j(ba)^k for integers , , , as the relations show that commutes with both and .


Relation to category theory
Monoids can be viewed as a special class of . Indeed, the axioms required of a monoid operation are exactly those required of composition when restricted to the set of all morphisms whose source and target is a given object. That is,
A monoid is, essentially, the same thing as a category with a single object.
More precisely, given a monoid , one can construct a small category with only one object and whose morphisms are the elements of . The composition of morphisms is given by the monoid operation .

Likewise, monoid homomorphisms are just between single object categories. So this construction gives an equivalence between the category of (small) monoids Mon and a full subcategory of the category of (small) categories Cat. Similarly, the category of groups is equivalent to another full subcategory of Cat.

In this sense, category theory can be thought of as an extension of the concept of a monoid. Many definitions and theorems about monoids can be generalised to small categories with more than one object. For example, a quotient of a category with one object is just a quotient monoid.

Monoids, just like other algebraic structures, also form their own category, Mon, whose objects are monoids and whose morphisms are monoid homomorphisms.

There is also a notion of monoid object which is an abstract definition of what is a monoid in a category. A monoid object in Set is just a monoid.


Monoids in computer science
In computer science, many abstract data types can be endowed with a monoid structure. In a common pattern, a of elements of a monoid is "folded" or "accumulated" to produce a final value. For instance, many iterative algorithms need to update some kind of "running total" at each iteration; this pattern may be elegantly expressed by a monoid operation. Alternatively, the associativity of monoid operations ensures that the operation can be by employing a or similar algorithm, in order to utilize multiple cores or processors efficiently.

Given a sequence of values of type with identity element and associative operation , the fold operation is defined as follows: \mathrm{fold}: M^{*} \rarr M = \ell \mapsto \begin{cases} \varepsilon & \text{if } \ell = \mathrm{nil} \\ m \bullet \mathrm{fold} \, \ell' & \text{if } \ell = \mathrm{cons} \, m \, \ell' \end{cases}

In addition, any can be 'folded' in a similar way, given a serialization of its elements. For instance, the result of "folding" a might differ depending on pre-order vs. post-order .


MapReduce
An application of monoids in computer science is the so-called programming model (see Encoding Map-Reduce As A Monoid With Left Folding). MapReduce, in computing, consists of two or three operations. Given a dataset, "Map" consists of mapping arbitrary data to elements of a specific monoid. "Reduce" consists of folding those elements, so that in the end we produce just one element.

For example, if we have a , in a program it is represented as a map from elements to their numbers. Elements are called keys in this case. The number of distinct keys may be too big, and in this case, the is being sharded. To finalize reduction properly, the "Shuffling" stage regroups the data among the nodes. If we do not need this step, the whole Map/Reduce consists of mapping and reducing; both operations are parallelizable, the former due to its element-wise nature, the latter due to associativity of the monoid.


Complete monoids
A complete monoid is a commutative monoid equipped with an sum operation \Sigma_I for any such that \sum_{i \in \emptyset}{m_i} = 0;\quad \sum_{i \in \{j\}}{m_i} = m_j;\quad \sum_{i \in \{j, k\}}{m_i} = m_j+m_k \quad \text{ for } j\neq k and \sum_{j \in J} {\sum_{i \in I_j}{m_i}} = \sum_{i \in I} m_i \quad \text{ if } \bigcup_{j\in J} I_j=I \text{ and } I_j \cap I_{j'} = \emptyset \quad \text{ for } j\neq j'.

An ordered commutative monoid is a commutative monoid together with a such that for every , and implies for all .

A continuous monoid is an ordered commutative monoid in which every has a least upper bound, and these least upper bounds are compatible with the monoid operation: a + \sup S = \sup(a + S) for every and directed subset of .

If is a continuous monoid, then for any index set and collection of elements , one can define \sum_I a_i = \sup_{\text{finite } E \subset I} \; \sum_E a_i, and together with this infinitary sum operation is a complete monoid.


See also


Notes

Citations


External links
Page 1 of 1
1
Page 1 of 1
1

Account

Social:
Pages:  ..   .. 
Items:  .. 

Navigation

General: Atom Feed Atom Feed  .. 
Help:  ..   .. 
Category:  ..   .. 
Media:  ..   .. 
Posts:  ..   ..   .. 

Statistics

Page:  .. 
Summary:  .. 
1 Tags
10/10 Page Rank
5 Page Refs
1s Time