En álgebra abstracta , una rama de las matemáticas , un monoide es un conjunto dotado de una operación binaria asociativa y un elemento identidad . Por ejemplo, los números enteros no negativos con suma forman un monoide, siendo el elemento identidad el 0 .
Los monoides son semigrupos con identidad. Estas estructuras algebraicas se dan en varias ramas de las matemáticas.
Las funciones de un conjunto sobre sí mismo forman un monoide con respecto a la composición de funciones. De manera más general, en la teoría de categorías , los morfismos de un objeto sobre sí mismo forman un monoide y, a la inversa, un monoide puede considerarse como una categoría con un único objeto.
En informática y programación , el conjunto de cadenas construido a partir de un conjunto dado de caracteres es un monoide libre . Los monoides de transición y los monoides sintácticos se utilizan para describir máquinas de estados finitos . Los monoides de traza y los monoides históricos proporcionan una base para los cálculos de procesos y la computación concurrente .
En informática teórica , el estudio de los monoides es fundamental para la teoría de autómatas ( teoría de Krohn-Rhodes ) y la teoría del lenguaje formal ( problema de la altura de las estrellas ).
Consulte semigrupo para conocer la historia del tema y algunas otras propiedades generales de los monoides.
Un conjunto S dotado de una operación binaria S × S → S , que denotaremos • , es un monoide si satisface los dos axiomas siguientes:
En otras palabras, un monoide es un semigrupo con un elemento identidad . También puede considerarse como un magma con asociatividad e identidad. El elemento identidad de un monoide es único. [a] Por esta razón, la identidad se considera una operación constante , es decir, 0 -aria (o nularia). Por lo tanto, el monoide se caracteriza por la especificación de la tripleta ( S , • , e ) .
Dependiendo del contexto, el símbolo de la operación binaria puede omitirse, de modo que la operación se denota por yuxtaposición ; por ejemplo, los axiomas monoides pueden escribirse ( ab ) c = a ( bc ) y ea = ae = a . Esta notación no implica que se trate de números que se multiplican.
Un monoide en el que cada elemento tiene un inverso es un grupo .
Un submonoide de un monoide ( M , •) es un subconjunto N de M que está cerrado bajo la operación monoide y contiene el elemento identidad e de M . [1] [b] Simbólicamente, N es un submonoide de M si e ∈ N ⊆ M , y x • y ∈ N siempre que x , y ∈ N . En este caso, N es un monoide bajo la operación binaria heredada de M .
Por otra parte, si N es un subconjunto de un monoide que está cerrado bajo la operación monoide, y es un monoide para esta operación heredada, entonces N no siempre es un submonoide, ya que los elementos identidad pueden diferir. Por ejemplo, el conjunto singleton {0} está cerrado bajo la multiplicación, y no es un submonoide del monoide (multiplicativo) de los enteros no negativos .
Se dice que un subconjunto S de M genera M si el submonoide más pequeño de M que contiene a S es M . Si hay un conjunto finito que genera M , entonces se dice que M es un monoide finitamente generado .
Un monoide cuya operación es conmutativa se llama monoide conmutativo (o, menos comúnmente, monoide abeliano ). Los monoides conmutativos a menudo se escriben de forma aditiva. Cualquier monoide conmutativo está dotado de su preordenamiento algebraico ≤ , definido por x ≤ y si existe z tal que x + z = y . [2] Una unidad de orden de un monoide conmutativo M es un elemento u de M tal que para cualquier elemento x de M , existe v en el conjunto generado por u tal que x ≤ v . Esto se usa a menudo en caso de que M sea el cono positivo de un grupo abeliano parcialmente ordenado G , en cuyo caso decimos que u es una unidad de orden de G .
Un monoide cuya operación es conmutativa para algunos, pero no todos los elementos, es un monoide de traza ; los monoides de traza ocurren comúnmente en la teoría de computación concurrente .
o, equivalentemente
La multiplicación de elementos en ⟨ f ⟩ viene entonces dada por la composición de funciones.
Cuando k = 0 entonces la función f es una permutación de {0, 1, 2, ..., n −1} , y da el único grupo cíclico de orden n .
Los axiomas monoides implican que el elemento identidad e es único: si e y f son elementos identidad de un monoide, entonces e = ef = f .
Para cada entero no negativo n , se puede definir el producto de cualquier secuencia ( a 1 , ..., a n ) de n elementos de un monoide recursivamente: sea p 0 = e y sea p m = p m −1 • a m para 1 ≤ m ≤ n .
Como caso especial, se pueden definir potencias enteras no negativas de un elemento x de un monoide: x 0 = 1 y x n = x n −1 • x para n ≥ 1 . Entonces x m + n = x m • x n para todo m , n ≥ 0 .
Un elemento x se llama invertible si existe un elemento y tal que x • y = e e y • x = e . El elemento y se llama inverso de x . Los inversos, si existen, son únicos: si y y z son inversos de x , entonces por asociatividad y = ey = ( zx ) y = z ( xy ) = ze = z . [6]
Si x es invertible, digamos con y inversa , entonces se pueden definir potencias negativas de x fijando x − n = y n para cada n ≥ 1 ; esto hace que la ecuación x m + n = x m • x n sea válida para todo m , n ∈ Z .
El conjunto de todos los elementos invertibles de un monoide, junto con la operación •, forma un grupo .
No todo monoide se encuentra dentro de un grupo. Por ejemplo, es perfectamente posible tener un monoide en el que existan dos elementos a y b de modo que a • b = a se cumpla aunque b no sea el elemento identidad. Un monoide de este tipo no puede estar incluido en un grupo, porque en el grupo, al multiplicar ambos lados por el inverso de a, se obtendría que b = e , lo cual no es cierto.
Un monoide ( M , •) tiene la propiedad de cancelación (o es cancelativo) si para todos a , b y c en M , la igualdad a • b = a • c implica b = c , y la igualdad b • a = c • a implica b = c .
Un monoide conmutativo con la propiedad de cancelación siempre se puede incluir en un grupo mediante la construcción del grupo de Grothendieck . Así es como se construye el grupo aditivo de los números enteros (un grupo con la operación + ) a partir del monoide aditivo de los números naturales (un monoide conmutativo con la operación + y la propiedad de cancelación). Sin embargo, un monoide cancellativo no conmutativo no necesita ser integrable en un grupo.
Si un monoide tiene la propiedad de cancelación y es finito , entonces es de hecho un grupo. [c]
Los elementos cancelativos por derecha e izquierda de un monoide forman, a su vez, un submonoide (es decir, están cerrados bajo la operación y, obviamente, incluyen la identidad). Esto significa que los elementos cancelativos de cualquier monoide conmutativo pueden extenderse a un grupo.
La propiedad cancelatoria en un monoide no es necesaria para realizar la construcción de Grothendieck – la conmutatividad es suficiente. Sin embargo, si un monoide conmutativo no tiene la propiedad cancelatoria, el homomorfismo del monoide en su grupo de Grothendieck no es inyectivo. Más precisamente, si a • b = a • c , entonces b y c tienen la misma imagen en el grupo de Grothendieck, incluso si b ≠ c . En particular, si el monoide tiene un elemento absorbente , entonces su grupo de Grothendieck es el grupo trivial .
Un monoide inverso es un monoide en el que para cada a en M , existe un único a −1 en M tal que a = a • a −1 • a y a −1 = a −1 • a • a −1 . Si un monoide inverso es cancelativo, entonces es un grupo.
En la dirección opuesta, un monoide libre de suma cero es un monoide escrito de forma aditiva en el que a + b = 0 implica que a = 0 y b = 0 : [7] equivalentemente, que ningún elemento distinto de cero tiene un inverso aditivo.
Sea M un monoide, con la operación binaria denotada por • y el elemento identidad denotado por e . Entonces una M -acción (izquierda) (o acción izquierda sobre M ) es un conjunto X junto con una operación ⋅ : M × X → X que es compatible con la estructura del monoide como sigue:
Este es el análogo en la teoría de monoides de una acción de grupo (izquierda) . Los M -actos de la derecha se definen de manera similar. Un monoide con un acto también se conoce como monoide operador . Ejemplos importantes incluyen sistemas de transición de semiautómatas . Un semigrupo de transformación se puede convertir en un monoide operador mediante la unión de la transformación identidad.
Un homomorfismo entre dos monoides ( M , ∗) y ( N , •) es una función f : M → N tal que
donde e M y e N son las identidades en M y N respectivamente. Los homomorfismos monoides a veces se denominan simplemente morfismos monoides .
No todo homomorfismo de semigrupo entre monoides es un homomorfismo de monoide, ya que puede no mapear la identidad a la identidad del monoide objetivo, incluso aunque la identidad sea la identidad de la imagen del homomorfismo. [d] Por ejemplo, considere [ Z ] n , el conjunto de clases de residuos módulo n equipado con multiplicación. En particular, [1] n es el elemento identidad. La función f : [ Z ] 3 → [ Z ] 6 dada por [ k ] 3 ↦ [3 k ] 6 es un homomorfismo de semigrupo, ya que [3 k ⋅ 3 l ] 6 = [9 kl ] 6 = [3 kl ] 6 . Sin embargo, f ([1] 3 ) = [3] 6 ≠ [1] 6 , por lo que un homomorfismo de monoide es un homomorfismo de semigrupo entre monoides que asigna la identidad del primer monoide a la identidad del segundo monoide y la última condición no se puede omitir.
Por el contrario, un homomorfismo de semigrupo entre grupos es siempre un homomorfismo de grupo , ya que necesariamente preserva la identidad (porque, en el grupo objetivo del homomorfismo, el elemento identidad es el único elemento x tal que x ⋅ x = x ).
Un homomorfismo monoide biyectivo se denomina isomorfismo monoide . Se dice que dos monoides son isomorfos si existe un isomorfismo monoide entre ellos.
A los monoides se les puede dar una presentación , de la misma manera que se pueden especificar grupos por medio de una presentación de grupo . Esto se hace especificando un conjunto de generadores Σ y un conjunto de relaciones en el monoide libre Σ ∗ . Esto se hace extendiendo las relaciones binarias (finitas) en Σ ∗ a congruencias de monoides y luego construyendo el monoide cociente, como se indicó anteriormente.
Dada una relación binaria R ⊂ Σ ∗ × Σ ∗ , se define su clausura simétrica como R ∪ R −1 . Esto se puede extender a una relación simétrica E ⊂ Σ ∗ × Σ ∗ definiendo x ~ E y si y solo si x = sut e y = svt para algunas cadenas u , v , s , t ∈ Σ ∗ con ( u , v ) ∈ R ∪ R −1 . Finalmente, se toma la clausura reflexiva y transitiva de E , que es entonces una congruencia monoide.
En la situación típica, la relación R se da simplemente como un conjunto de ecuaciones, de modo que R = { u 1 = v 1 , ..., u n = v n } . Así, por ejemplo,
es la presentación ecuacional para el monoide bicíclico , y
es el monoide pláctico de grado 2 (tiene orden infinito). Los elementos de este monoide pláctico pueden escribirse como para los números enteros i , j , k , ya que las relaciones muestran que ba conmuta tanto con a como con b .
Los monoides pueden considerarse como una clase especial de categorías . De hecho, los axiomas requeridos para una operación monoide son exactamente los requeridos para la composición de morfismos cuando se restringe al conjunto de todos los morfismos cuyo origen y destino es un objeto dado. [8] Es decir,
Más precisamente, dado un monoide ( M , •) , se puede construir una pequeña categoría con un solo objeto y cuyos morfismos son los elementos de M . La composición de morfismos está dada por la operación monoide • .
De la misma manera, los homomorfismos de monoides son simplemente funtores entre categorías de objetos individuales. [8] Por lo tanto, esta construcción da una equivalencia entre la categoría de monoides (pequeños) Mon y una subcategoría completa de la categoría de categorías (pequeñas) Cat . De manera similar, la categoría de grupos es equivalente a otra subcategoría completa de Cat .
En este sentido, la teoría de categorías puede considerarse como una extensión del concepto de monoide. Muchas definiciones y teoremas sobre monoides pueden generalizarse a categorías pequeñas con más de un objeto. Por ejemplo, un cociente de una categoría con un objeto es simplemente un monoide cociente.
Los monoides, al igual que otras estructuras algebraicas, también forman su propia categoría, Mon , cuyos objetos son monoides y cuyos morfismos son homomorfismos de monoides. [8]
También existe el concepto de objeto monoide , que es una definición abstracta de lo que es un monoide en una categoría. Un objeto monoide en un conjunto es simplemente un monoide.
En informática, muchos tipos de datos abstractos pueden dotarse de una estructura monoide. En un patrón común, una secuencia de elementos de un monoide se " pliega " o "acumula" para producir un valor final. Por ejemplo, muchos algoritmos iterativos necesitan actualizar algún tipo de "total acumulado" en cada iteración; este patrón puede expresarse elegantemente mediante una operación monoide. Alternativamente, la asociatividad de las operaciones monoides garantiza que la operación pueda paralelizarse empleando una suma de prefijo o un algoritmo similar, para utilizar múltiples núcleos o procesadores de manera eficiente.
Dada una secuencia de valores de tipo M con elemento identidad ε y operación asociativa • , la operación de plegado se define de la siguiente manera:
Además, cualquier estructura de datos se puede "plegar" de manera similar, dada una serialización de sus elementos. Por ejemplo, el resultado de "plegar" un árbol binario puede diferir según el recorrido del árbol en preorden o en posorden .
Una aplicación de los monoides en informática es el llamado modelo de programación MapReduce (véase Codificación de Map-Reduce como un monoide con plegado a la izquierda). MapReduce, en informática, consta de dos o tres operaciones. Dado un conjunto de datos, "Map" consiste en asignar datos arbitrarios a elementos de un monoide específico. "Reduce" consiste en plegar esos elementos, de modo que al final produzcamos solo un elemento.
Por ejemplo, si tenemos un multiset , en un programa se representa como un mapa de elementos a sus números. Los elementos se denominan claves en este caso. El número de claves distintas puede ser demasiado grande y, en este caso, el multiset se está fragmentando. Para finalizar la reducción correctamente, la etapa de "Reordenamiento" reagrupa los datos entre los nodos. Si no necesitamos este paso, todo el Map/Reduce consiste en mapear y reducir; ambas operaciones son paralelizables, la primera debido a su naturaleza elemento por elemento, la segunda debido a la asociatividad del monoide.
Un monoide completo es un monoide conmutativo equipado con una operación de suma infinitaria para cualquier conjunto de índices I tal que [9] [10] [11] [12]
y
Un monoide conmutativo ordenado es un monoide conmutativo M junto con un ordenamiento parcial ≤ tal que a ≥ 0 para cada a ∈ M , y a ≤ b implica a + c ≤ b + c para todo a , b , c ∈ M .
Un monoide continuo es un monoide conmutativo ordenado ( M , ≤) en el que cada subconjunto dirigido tiene un límite superior mínimo , y estos límites superiores mínimos son compatibles con la operación del monoide:
para cada a ∈ M y subconjunto dirigido S de M .
Si ( M , ≤) es un monoide continuo, entonces para cualquier conjunto de índices I y colección de elementos ( a i ) i ∈ I , se puede definir
y M junto con esta operación de suma infinitaria es un monoide completo. [12]