Articulo de referencia

Idempotencia

Botones de encendido / apagado del panel de control del indicador de destino del tren . Al pulsar el botón de encendido (verde), se produce una acción idempotente, ya que tiene ...

Botones de encendido / apagado del panel de control del indicador de destino del tren . Al pulsar el botón de encendido (verde), se produce una acción idempotente, ya que tiene el mismo efecto tanto si se pulsa una vez como varias. Del mismo modo, al pulsar el botón de apagado también se produce una acción idempotente.

La idempotencia ( Reino Unido : / ˌɪdɛmˈpoʊtəns / , [ 1 ] EE . UU .: / ˈaɪdəm- / ) [ 2 ] es la propiedad de ciertas operaciones en matemáticas e informática por la cual pueden aplicarse varias veces sin cambiar el resultado más allá de la aplicación inicial. El concepto de idempotencia surge en varios lugares del álgebra abstracta ( en particular, en la teoría de proyectores y operadores de cierre ) y la programación funcional (en la que está conectada con la propiedad de transparencia referencial ).

El término fue introducido por el matemático estadounidense Benjamin Peirce en 1870 [ 3 ] [ 4 ] en el contexto de elementos de álgebras que permanecen invariantes cuando se elevan a una potencia entera positiva, y literalmente significa "(la cualidad de tener) la misma potencia", de idem + potence (mismo + potencia).

Definición

Un elementoincógnita{\displaystyle x}de un conjuntoS{\displaystyle S}equipado con un operador binario{\displaystyle \cdot }Se dice que es idempotente según{\displaystyle \cdot }si [ 5 ] [ 6 ]

incógnitaincógnita=incógnita{\displaystyle x\cdot x=x}.

La operación binaria{\displaystyle \cdot }Se dice que es idempotente si [ 7 ] [ 8 ]

incógnitaincógnita=incógnita{\displaystyle x\cdot x=x}a pesar deincógnitaS{\displaystyle x\in S}.

Ejemplos

  • En el monoide(norte,×){\displaystyle (\mathbb {N} ,\times )}de los números naturales con multiplicación , solamente0{\displaystyle 0}y1{\displaystyle 1}son idempotentes. De hecho,0×0=0{\displaystyle 0\times 0=0}y1×1=1{\displaystyle 1\times 1=1}.
  • En el monoide(norte,+){\displaystyle (\mathbb {N},+)}de los números naturales con adición , solo0{\displaystyle 0}es idempotente. En efecto, 0 + 0 = 0 .
  • En un magma(METRO,){\displaystyle (M,\cdot )}, un elemento de identidadmi{\displaystyle e}o un elemento absorbentea{\displaystyle a}, si existe, es idempotente. De hecho,mimi=mi{\displaystyle e\cdot e=e}yaa=a{\displaystyle a\cdot a=a}.
  • En un grupo(GRAMO,){\displaystyle (G,\cdot )}, el elemento de identidadmi{\displaystyle e}es el único elemento idempotente. De hecho, siincógnita{\displaystyle x}es un elemento deGRAMO{\displaystyle G}de tal manera queincógnitaincógnita=incógnita{\displaystyle x\cdot x=x}, entoncesincógnitaincógnita=incógnitami{\displaystyle x\cdot x=x\cdot e}y finalmenteincógnita=mi{\displaystyle x=e}multiplicando por la izquierda por el elemento inverso deincógnita{\displaystyle x}.
  • En los monoides(PAG(mi),){\displaystyle ({\mathcal {P}}(E),\cup )}y(PAG(mi),){\displaystyle ({\mathcal {P}}(E),\cap )}del conjunto de potenciaPAG(mi){\displaystyle {\mathcal {P}}(E)}del conjuntomi{\displaystyle E}con unión establecida{\displaystyle \cup }y establecer intersección{\displaystyle \cap }respectivamente,{\displaystyle \cup }y{\displaystyle \cap }son idempotentes. De hecho,incógnitaincógnita=incógnita{\displaystyle x\cup x=x}a pesar deincógnitaPAG(mi){\displaystyle x\in {\mathcal {P}}(E)}, yincógnitaincógnita=incógnita{\displaystyle x\cap x=x}a pesar deincógnitaPAG(mi){\displaystyle x\in {\mathcal {P}}(E)}.
  • En los monoides({0,1},){\displaystyle (\{0,1\},\vee )}y({0,1},){\displaystyle (\{0,1\},\wedge )}del dominio booleano con disyunción lógica{\displaystyle \vee }y conjunción lógica{\displaystyle \wedge }respectivamente,{\displaystyle \vee }y{\displaystyle \wedge }son idempotentes. De hecho,incógnitaincógnita=incógnita{\displaystyle x\vee x=x}a pesar deincógnita{0,1}{\displaystyle x\in \{0,1\}}, yincógnitaincógnita=incógnita{\displaystyle x\wedge x=x}a pesar deincógnita{0,1}{\displaystyle x\in \{0,1\}}.
  • En un dominio GCD (por ejemplo enZ{\displaystyle \mathbb {Z} }), las operaciones de MCD y MCM son idempotentes.
  • En un anillo booleano , la multiplicación es idempotente.
  • En un semianillo tropical , la adición es idempotente.
  • En un anillo de matrices cuadráticas , el determinante de una matriz idempotente es 0 o 1. Si el determinante es 1, la matriz es necesariamente la matriz identidad . [ 9 ]

Funciones idempotentes

En el monoide(mimi,){\displaystyle (E^{E},\circ)}de las funciones de un conjuntomi{\displaystyle E}a sí mismo (véase exponenciación de conjuntos ) con composición de funciones{\displaystyle \circ }Los elementos idempotentes son las funcionesF:mimi{\displaystyle f\colon E\to E}de tal manera queFF=F{\displaystyle f\circ f=f}, [ a ] ​​que es tal queF(F(incógnita))=F(incógnita){\displaystyle f(f(x))=f(x)}a pesar deincógnitami{\displaystyle x\in E}(en otras palabras, la imagenF(incógnita){\displaystyle f(x)}de cada elementoincógnitami{\displaystyle x\in E}es un punto fijo deF{\displaystyle f}). Por ejemplo:

  • El valor absoluto es idempotente. En efecto,abdominalesabdominales=abdominales{\displaystyle \operatorname {abs} \circ \operatorname {abs} =\operatorname {abs} }, eso esabdominales(abdominales(incógnita))=abdominales(incógnita){\displaystyle \operatorname {abs} (\operatorname {abs} (x))=\operatorname {abs} (x)}a pesar deincógnita{\displaystyle x};
  • Las funciones constantes son idempotentes;
  • La función identidad es idempotente;
  • Las funciones de piso , techo y parte fraccionaria son idempotentes;
  • la función de la parte realRmi(z){\displaystyle \mathrm {Re} (z)}de un número complejo , es idempotente.
  • Para la mayoría de los tipos de promedio , tomar el promedio de un conjunto y colocarlo en un conjunto unitario es idempotente:{promedio{promedio{incógnita1,,incógnitanorte}}}={promedio{incógnita1,,incógnitanorte}}{\displaystyle \{\operatorname {avg} \{\operatorname {avg} \{x_{1},\dots ,x_{n}\}\}\}=\{\operatorname {avg} \{x_{1},\dots ,x_{n}\}\}}
  • La función generada por el subgrupo a partir del conjunto potencia de un grupo sobre sí mismo es idempotente;
  • La función de envoltura convexa del conjunto potencia de un espacio afín sobre los números reales a sí mismo es idempotente;
  • Las funciones de cierre e interior del conjunto potencia de un espacio topológico sobre sí mismo son idempotentes;
  • Las funciones estrella de Kleene y Kleene plus del conjunto de potencias de un monoide sobre sí mismo son idempotentes;
  • Los endomorfismos idempotentes de un espacio vectorial son sus proyecciones .

Si el conjuntomi{\displaystyle E}tienenorte{\displaystyle n}elementos, podemos dividirlo enk{\displaystyle k}puntos fijos elegidos ynortek{\displaystyle n-k}puntos no fijos bajoF{\displaystyle f}, y luegoknortek{\displaystyle k^{n-k}}es el número de funciones idempotentes diferentes. Por lo tanto, teniendo en cuenta todas las particiones posibles,

k=0norte(nortek)knortek{\displaystyle \sum _{k=0}^{n}{n \choose k}k^{n-k}}

es el número total de posibles funciones idempotentes en el conjunto. La secuencia entera del número de funciones idempotentes dada por la suma anterior para n = 0, 1, 2, 3, 4, 5, 6, 7, 8, ... comienza con 1, 1, 3, 10, 41, 196, 1057, 6322, 41393, ... (secuencia A000248 en el OEIS ) .

Ni la idempotencia ni la no idempotencia se conservan bajo la composición de funciones. [ b ] Como ejemplo de lo primero,F(incógnita)=incógnita{\displaystyle f(x)=x}módulo 3 ygramo(incógnita)=máximo(incógnita,5){\displaystyle g(x)=\max(x,5)}ambos son idempotentes, peroFgramo{\displaystyle f\circ g}no lo es, [ c ] aunquegramoF{\displaystyle g\circ f}sucede que. [ d ] Como ejemplo de esto último, la función de negación¬{\displaystyle \neg }en el dominio booleano no es idempotente, pero¬¬{\displaystyle \neg \circ \neg }es. De manera similar, negación unaria(){\displaystyle -(\cdot )}de los números reales no es idempotente, pero ()(){\displaystyle -(\cdot )\circ -(\cdot )}En ambos casos, la composición es simplemente la función identidad , que es idempotente.

Morfismos idempotentes

Un morfismoF:incógnitaincógnita{\displaystyle f:x\to x}en una categoría se denomina idempotente siFF=F{\displaystyle f\circ f=f}. [ 10 ] Se dice que un idempotente se divide si se puede escribir comoF=hgramo{\displaystyle f=h\circ g}para algunosgramo:incógnitay,h:yincógnita{\displaystyle g:x\to y,\,h:y\to x}congramoh=identificación{\displaystyle g\circ h=\operatorname {id} }.

Se dice que una categoría es idempotente completa si todo idempotente se divide. Por ejemplo,Smit{\displaystyle {\mathsf {Set}}}es idempotente completo. [ 11 ]

significado de la informática

En informática , el término idempotencia puede tener un significado diferente según el contexto en el que se aplique:

Esta propiedad resulta muy útil en muchas situaciones, ya que permite repetir o reintentar una operación tantas veces como sea necesario sin causar efectos no deseados. En el caso de operaciones no idempotentes, el algoritmo podría tener que controlar si la operación ya se ha realizado o no.

Ejemplos de informática

Una función que consulta el nombre y la dirección de un cliente en una base de datos suele ser idempotente, ya que no modifica la base de datos. Del mismo modo, una solicitud para cambiar la dirección de un cliente a XYZ también suele ser idempotente, puesto que la dirección final será la misma independientemente de cuántas veces se envíe la solicitud. Sin embargo, una solicitud de un cliente para realizar un pedido no suele ser idempotente, ya que varias solicitudes darán lugar a varios pedidos. Una solicitud para cancelar un pedido en particular sí es idempotente, porque, independientemente de cuántas solicitudes se realicen, el pedido permanece cancelado.

Una secuencia de subrutinas idempotentes, donde al menos una subrutina es diferente de las demás, no es necesariamente idempotente si una subrutina posterior modifica un valor del que depende una subrutina anterior; la idempotencia no se cumple bajo la composición secuencial . Por ejemplo, supongamos que el valor inicial de una variable es 3 y existe una secuencia de subrutinas que lee la variable, la cambia a 5 y luego la vuelve a leer. Cada paso de la secuencia es idempotente: ambos pasos que leen la variable no tienen efectos secundarios y el paso que la cambia a 5 siempre tendrá el mismo efecto, independientemente de cuántas veces se ejecute. Sin embargo, ejecutar la secuencia completa una vez produce la salida (3, 5), pero ejecutarla una segunda vez produce la salida (5, 5), por lo que la secuencia no es idempotente.

int x = 3 ; void inspect () { printf ( "%d \n " , x ); } void change () { x = 5 ; } void sequence () { inspect (); change (); inspect (); }int main () { sequence (); // imprime "3\n5\n" sequence (); // imprime "5\n5\n" return 0 ; }

En el Protocolo de Transferencia de Hipertexto (HTTP), la idempotencia y la seguridad son los principales atributos que distinguen los métodos HTTP . De los principales métodos HTTP, GET, PUT y DELETE deben implementarse de manera idempotente según el estándar, pero POST no necesita serlo. [ 12 ] GET recupera el estado de un recurso; PUT actualiza el estado de un recurso; y DELETE elimina un recurso. Como en el ejemplo anterior, la lectura de datos generalmente no tiene efectos secundarios, por lo que es idempotente (de hecho, nulipotente ). La actualización y la eliminación de un dato dado suelen ser idempotentes siempre que la solicitud identifique de forma única el recurso y solo ese recurso en el futuro. PUT y DELETE con identificadores únicos se reducen al caso simple de asignación a una variable de un valor o del valor nulo, respectivamente, y son idempotentes por la misma razón; el resultado final siempre es el mismo que el resultado de la ejecución inicial, incluso si la respuesta difiere. [ 13 ]

La violación del requisito de identificación única en el almacenamiento o la eliminación suele provocar una violación de la idempotencia. Por ejemplo, al almacenar o eliminar un conjunto de contenido sin especificar un identificador único, las solicitudes POST, que no requieren idempotencia, a menudo no contienen identificadores únicos, por lo que la creación del identificador se delega al sistema receptor, que luego crea un nuevo registro correspondiente. De manera similar, las solicitudes PUT y DELETE con criterios no específicos pueden generar resultados diferentes según el estado del sistema; por ejemplo, una solicitud para eliminar el registro más reciente. En cada caso, las ejecuciones posteriores modificarán aún más el estado del sistema, por lo que no son idempotentes.

En el procesamiento de flujos de eventos , la idempotencia se refiere a la capacidad de un sistema para producir el mismo resultado, incluso si se recibe el mismo archivo, evento o mensaje más de una vez.

En una arquitectura de carga y almacenamiento , las instrucciones que podrían causar un fallo de página son idempotentes. Por lo tanto, si se produce un fallo de página, el sistema operativo puede cargar la página desde el disco y luego simplemente volver a ejecutar la instrucción que falló. En un procesador donde dichas instrucciones no son idempotentes, el manejo de fallos de página es mucho más complejo. [ 14 ] [ 15 ]

Al reformatear la salida, se espera que el formateo sea idempotente. En otras palabras, si la salida ya está formateada, el formateador no debería tener que hacer nada.

En la arquitectura orientada a servicios (SOA), un proceso de orquestación de múltiples pasos, compuesto enteramente por pasos idempotentes, puede reproducirse sin efectos secundarios si falla alguna parte de dicho proceso.

Muchas operaciones idempotentes suelen tener maneras de reanudar un proceso si se interrumpe , métodos que finalizan mucho más rápido que si se reiniciara desde el principio. Por ejemplo, reanudar una transferencia de archivos , sincronizar archivos , crear una compilación de software , instalar una aplicación y todas sus dependencias con un gestor de paquetes , etc. 

Ejemplos aplicados

Un botón típico de paso de peatones es un ejemplo de sistema idempotente.

Ejemplos prácticos que muchas personas podrían encontrar en su vida diaria incluyen los botones de llamada de ascensores y los botones de los semáforos peatonales . [ 16 ] La activación inicial del botón pone al sistema en estado de solicitud, hasta que esta se satisface. Las activaciones posteriores del botón entre la activación inicial y la satisfacción de la solicitud no tienen efecto, a menos que el sistema esté diseñado para ajustar el tiempo de satisfacción de la solicitud en función del número de activaciones.

De igual modo, el botón de "cerrar" del ascensor puede pulsarse varias veces con el mismo resultado que una sola vez, ya que las puertas se cierran según un horario fijo, a menos que se pulse el botón de "abrir". El botón de "abrir" no es idempotente, puesto que cada pulsación añade un retardo adicional.

Véase también

Notas

  1. Esta es una ecuación entre funciones. Dos funciones son iguales si sus dominios y rangos coinciden, y sus valores de salida coinciden en todo su dominio.
  2. SiF{\displaystyle f}ygramo{\displaystyle g}conmutar bajo composición (es decir siFgramo=gramoF{\displaystyle f\circ g=g\circ f}) entonces idempotencia de ambosF{\displaystyle f}ygramo{\displaystyle g}implica que deFgramo{\displaystyle f\circ g}, desde(Fgramo)(Fgramo)=F(gramoF)gramo=F(Fgramo)gramo=(FF)(gramogramo)=Fgramo{\displaystyle (f\circ g)\circ (f\circ g)=f\circ (g\circ f)\circ g=f\circ (f\circ g)\circ g=(f\circ f)\circ (g\circ g)=f\circ g}, utilizando la asociatividad de la composición.
  3. p. ej.F(gramo(7))=F(7)=1{\displaystyle f(g(7))=f(7)=1}, peroF(gramo(1))=F(5)=21{\displaystyle f(g(1))=f(5)=2\neq 1}
  4. También mostrando que la conmutación deF{\displaystyle f}ygramo{\displaystyle g}no es una condición necesaria para la preservación de la idempotencia.

Referencias

  1. "idempotencia" . Oxford English Dictionary (3.ª  ed.). Oxford University Press. 2010.
  2. "idempotente" . Merriam-Webster . Archivado del original el 19 de octubre de 2016.
  3. Manuscrito original de la conferencia de 1870 ante la Academia Nacional de Ciencias (Washington, DC, EE. UU.): Peirce, Benjamin (1870) "Álgebra asociativa lineal". De las páginas 16-17: "Cuando una expresión elevada al cuadrado o a cualquier potencia superior se anula, se la puede llamar nilpotente ; pero cuando elevada al cuadrado o a una potencia superior se da a sí misma como resultado, se la puede llamar idempotente . Las ecuaciones que definen las expresiones nilpotentes e idempotentes son, respectivamente, A n = 0 y A n = A; pero con respecto a las expresiones idempotentes, siempre se asumirá que son de la forma A n = A a menos que se indique claramente lo contrario."
    • Impreso: Peirce, Benjamin (1881). "Álgebra asociativa lineal" . American Journal of Mathematics . 4 (1): 97– 229. doi : 10.2307/2369153 . JSTOR 2369153 .  Véase la página 104.
    • Reimpreso: Peirce, Benjamin (1882). Álgebra asociativa lineal (PDF) . Nueva York, Nueva York, EE. UU.: D. Van Nostrand. pág. 8. 
  4. Polcino y Sehgal 2002 , pág. 127 . 
  5. Valenza, Robert (2012). Álgebra lineal: Una introducción a las matemáticas abstractas . Berlín: Springer Science & Business Media. pág. 22. ISBN  9781461209010. Un elemento s de un magma tal que ss = s se denomina idempotente .
  6. ^ Doneddu, Alfred (1976). Polynômes et algèbre linéaire (en francés). París: Vuibert. pag. 180. Soit M un magma, noté multiplicativement. En nomme idempotent de M tout elemento a de M tel que a 2 = a . 
  7. George Grätzer (2003). Teoría general de retículos . Basilea: Birkhäuser. ISBN 978-3-7643-6996-5.Aquí: Sec.1.2, p.5.
  8. Garrett Birkhoff (1967). Teoría de retículos . Publicaciones del coloquio. Vol. 25. Providence: Am. Math. Soc. . Aquí: Sec.I.5, p.8.
  9. Balmaceda, José María. "Idempotentes en ciertos anillos de matrices sobre anillos de polinomios" . Revista electrónica internacional de álgebra . doi : 10.24330/IEJA.662942 .
  10. Mac Lane 1978 , Cap. I, § 5.
  11. Mac Lane 1978 , Cap. I, § 5, Ejercicio 6.
  12. IETF, Protocolo de transferencia de hipertexto (HTTP/1.1): Semántica y contenido. Archivado el 8 de junio de 2014 en Wayback Machine . Véase también Protocolo de transferencia de hipertexto .
  13. " Métodos idempotentes" . Protocolo de transferencia de hipertexto (HTTP/1.1): semántica y contenido . IETF . sec. 4.2.2. doi : 10.17487/RFC7231 . RFC 7231. Sabe que repetir la solicitud tendrá el mismo efecto previsto, incluso si la solicitud original tuvo éxito, aunque la respuesta pueda ser diferente. 
  14. John Ousterhout . "Pagement a demanda" .
  15. Marc A. de Kruijf. "Construcción de compiladores de regiones idempotentes y aplicaciones en el diseño de arquitectura" . 2012. pág. 10.
  16. "Guía de especificaciones e instrucciones para ascensores de pasajeros con tracción por engranajes" (PDF) . Departamento de Trabajo de Carolina del Norte, Oficina de Ascensores . 2002. Archivado del original (PDF) el 23 de mayo de 2011.Por ejemplo, esta especificación de diseño incluye un algoritmo detallado para determinar cuándo las cabinas de los ascensores responderán a las llamadas de servicio subsiguientes.

Lecturas adicionales

  • Goodearl, KR (1991), von Neumann regular rings (2.ª  ed.), Malabar, FL: Robert E. Krieger Publishing Co. Inc., pp.  xviii+412, ISBN 978-0-89464-632-4, MR 1150975 
  • Gunawardena, Jeremy (1998), "Introducción a la idempotencia" (PDF) , en Gunawardena, Jeremy (ed.), Idempotencia. Basado en un taller, Bristol, Reino Unido, 3-7 de octubre de 1994 , Cambridge: Cambridge University Press , pp. 1-49 , Zbl 0898.16032  
  • "Idempotente" , Enciclopedia de Matemáticas , EMS Press , 2001 [1994]
  • Hazewinkel, Michiel ; Gubareni, Nadiya; Kirichenko, VV (2004), Álgebras, anillos y módulos. vol. 1 , Matemáticas y sus aplicaciones, vol.  575, Dordrecht: Kluwer Academic Publishers, págs.  xii+380, ISBN 978-1-4020-2690-4, MR 2106764 
  • Lam, TY (2001), Un primer curso sobre anillos no conmutativos , Textos de posgrado en matemáticas, vol.  131 (2.ª  ed.), Nueva York: Springer-Verlag, pp.  xx+385, doi : 10.1007/978-1-4419-8616-0 , ISBN 978-0-387-95183-6, MR 1838439 
  • Lang, Serge (1993), Álgebra (Tercera  ed.), Reading, Mass.: Addison-Wesley, ISBN 978-0-201-55540-0, Zbl 0848.13001 pág.  443
  • Peirce, Benjamin. Álgebra asociativa lineal 1870.
  • Polcino Milies, César; Sehgal, Sudarshan K. (2002), Introducción a los anillos de grupo , Álgebras y aplicaciones, vol.  1, Kluwer Academic Publishers, pp. 127 , ISBN  978-1-4020-0238-0, MR 1896125 
  • Mac Lane, Saunders (1978). Categorías para el matemático práctico (Segunda  edición). Nueva York, NY: Springer. ISBN 1441931236OCLC 851741862