En informática , una traza es una clase de equivalencia de cadenas , en la que se permite que ciertas letras de la cadena conmuten , pero otras no. Las trazas generalizan el concepto de cadenas al relajar el requisito de que todas las letras tengan un orden definido, permitiendo en cambio ordenaciones indefinidas en las que podrían tener lugar ciertas reorganizaciones. De manera opuesta, las trazas generalizan el concepto de conjuntos con multiplicidades al permitir especificar algún orden incompleto de las letras en lugar de requerir una equivalencia completa bajo todas las reorganizaciones. El monoide de traza o monoide parcialmente conmutativo libre es un monoide de trazas.
Pierre Cartier y Dominique Foata introdujeron las trazas en 1969 para proporcionar una prueba combinatoria del teorema maestro de MacMahon . Las trazas se utilizan en teorías de computación concurrente , donde las letras conmutativas representan partes de un trabajo que pueden ejecutarse independientemente unas de otras, mientras que las letras no conmutativas representan bloqueos, puntos de sincronización o uniones de subprocesos . [1]
El monoide de traza se construye a partir del monoide libre (el conjunto de todas las cadenas de longitud finita) de la siguiente manera. Primero, los conjuntos de letras conmutativas se dan mediante una relación de independencia . Estas inducen una relación de equivalencia de cadenas equivalentes; los elementos de las clases de equivalencia son las trazas. La relación de equivalencia luego divide los elementos del monoide libre en un conjunto de clases de equivalencia; el resultado sigue siendo un monoide; es un monoide cociente ahora llamado monoide de traza . El monoide de traza es universal , en el sentido de que todos los monoides homomórficos de dependencia (ver más abajo) son de hecho isomorfos .
Los monoides de traza se utilizan comúnmente para modelar el cálculo concurrente , formando la base para los cálculos de procesos . Son el objeto de estudio en la teoría de trazas . La utilidad de los monoides de traza proviene del hecho de que son isomorfos al monoide de los gráficos de dependencia ; lo que permite aplicar técnicas algebraicas a los gráficos , y viceversa. También son isomorfos a los monoides históricos , que modelan el historial de cálculo de procesos individuales en el contexto de todos los procesos programados en una o más computadoras.
Sea α el monoide libre de un conjunto de generadores , es decir, el conjunto de todas las cadenas escritas en el alfabeto . El asterisco es una notación estándar para la estrella de Kleene . Una relación de independencia en el alfabeto induce entonces una relación binaria simétrica en el conjunto de cadenas : dos cadenas están relacionadas, si y solo si existen , y un par tal que y . Aquí, y se entiende que son cadenas (elementos de ), mientras que y son letras (elementos de ).
La traza se define como el cierre transitivo reflexivo de . La traza es, por tanto, una relación de equivalencia en y se denota por , donde es la relación de dependencia correspondiente a y Diferentes independencias o dependencias darán diferentes relaciones de equivalencia.
El cierre transitivo implica que si y solo si existe una secuencia de cadenas tal que y para todo . La traza es estable bajo la operación monoide en , es decir, la concatenación , y por lo tanto es una relación de congruencia en
El monoide traza, comúnmente denotado como , se define como el monoide cociente
El homomorfismo
Se denomina comúnmente homomorfismo natural u homomorfismo canónico . El hecho de que los términos natural o canónico sean merecidos se desprende del hecho de que este morfismo incorpora una propiedad universal, como se analiza en una sección posterior.
También se encontrará el monoide de traza denotado como donde es la relación de independencia. También se puede encontrar la relación de conmutación utilizada en lugar de la relación de independencia; se diferencia de la relación de independencia al incluir también todos los elementos diagonales de ya que las letras "conmutan consigo mismas" en un monoide libre de cadenas de esas letras.
Consideremos el alfabeto . Una posible relación de dependencia es
La independencia correspondiente es
Por lo tanto, las letras se conmutan. Así, por ejemplo, una clase de equivalencia de traza para la cadena sería
y la clase de equivalencia sería un elemento del monoide traza.
La propiedad de cancelación establece que la equivalencia se mantiene bajo la cancelación derecha . Es decir, si , entonces . Aquí, la notación denota cancelación derecha, la eliminación de la primera ocurrencia de la letra a de la cadena w , comenzando desde el lado derecho. La equivalencia también se mantiene mediante la cancelación izquierda. Se deducen varios corolarios:
Una forma fuerte del lema de Levi se aplica a las trazas. En concreto, si para las cadenas u , v , x , y , entonces existen cadenas y tales que para todas las letras y tales que aparecen en y aparecen en , y
Un morfismo de dependencia (con respecto a una dependencia D ) es un morfismo
a algún monoide M , tal que se mantienen las propiedades de traza "usuales", a saber:
Los morfismos de dependencia son universales, en el sentido de que para una dependencia fija dada D , si es un morfismo de dependencia a un monoide M , entonces M es isomorfo al monoide traza . En particular, el homomorfismo natural es un morfismo de dependencia.
Existen dos formas normales bien conocidas para las palabras en los monoides de trazas. Una es la forma normal lexicográfica , debida a Anatolij V. Anisimov y Donald Knuth , y la otra es la forma normal de Foata, debida a Pierre Cartier y Dominique Foata, quienes estudiaron el monoide de trazas por su combinatoria en la década de 1960. [3]
La descomposición canónica de la forma de normalización (NFD) de Unicode es un ejemplo de una forma normal lexicográfica: el orden consiste en ordenar caracteres consecutivos con una clase de combinación canónica distinta de cero por esa clase.
Así como un lenguaje formal puede considerarse como un subconjunto de , el conjunto de todas las cadenas posibles, un lenguaje de trazas se define como un subconjunto de todas las trazas posibles.
De manera alternativa, pero equivalente, un lenguaje es un lenguaje de traza, o se dice que es consistente con la dependencia D si
dónde
es el cierre de traza de un conjunto de cadenas.
Referencias generales
Publicaciones seminales