Algoritmo de Schreier–Sims
El algoritmo de Schreier-Sims es un algoritmo basado en los estudios del matemático Otto Schreier y desarrollado por Charles Sims alrededor de los años 1970 y 1971. Este algoritmo busca encontrar una base, definida como una secuencia de puntos estabilizados, y un conjunto generador fuerte del grupo o SGS por sus siglas en inglés, dado un conjunto generador. El orden de un grupo de permutación es comparable al del grupo simétrico del cual es subgrupo, es decir de orden factorial sobre n. Debido a esto, el enfoque de fuerza bruta no es una opción a la hora de calcular el orden del grupo G dado un conjunto generador de G, determinar si un elemento en S n pertenece a G o algunas otras operaciones de verificación o generación de elementos en G. El algoritmo se basa en la teoría de acción de grupos para calcular la base o cadena de estabilizadores del grupo G para, finalmente, obtener el SGS, es decir, una representación del grupo simétrico que permite computar eficientemente sobre este. Este problema está clasificado como un algoritmo de teoría de grupos computacional, el mismo permite computar el orden, listar elementos, generar elementos aleatorios, verificar la pertenencia de elementos e insertar elementos en el grupo eficientemente.
From Wikipedia, the free encyclopedia
| Algoritmo de Schreier–Sims | ||
|---|---|---|
| Tipo | Teoria de grupos computacional | |
| Creador | Otto Schreier y Charles Sims | |
| Fecha | 1970 | |
El algoritmo de Schreier-Sims es un algoritmo basado en los estudios del matemático Otto Schreier y desarrollado por Charles Sims alrededor de los años 1970 y 1971. Este algoritmo busca encontrar una base, definida como una secuencia de puntos estabilizados, y un conjunto generador fuerte del grupo o SGS por sus siglas en inglés (Strong Generating Set), dado un conjunto generador.
El orden de un grupo de permutación es comparable al del grupo simétrico del cual es subgrupo, es decir de orden factorial sobre (donde es el conjunto asociado al grupo simétrico). Debido a esto, el enfoque de fuerza bruta no es una opción a la hora de calcular el orden del grupo dado un conjunto generador de , determinar si un elemento en pertenece a o algunas otras operaciones de verificación o generación de elementos en .
El algoritmo se basa en la teoría de acción de grupos para calcular la base o cadena de estabilizadores del grupo para, finalmente, obtener el SGS, es decir, una representación del grupo simétrico que permite computar eficientemente sobre este.
Este problema está clasificado como un algoritmo de teoría de grupos computacional, el mismo permite computar el orden, listar elementos, generar elementos aleatorios, verificar la pertenencia de elementos e insertar elementos en el grupo eficientemente.
Charles Coffin Sims

(14 de abril de 1938 – 23 de octubre de 2017[1]) fue un matemático estadounidense conocido por su trabajo en teoría de grupos.[2] Sims es oriundo de Elkhart, Indiana, graduado de la Universidad de Míchigan.[2] Hizo su postgrado en la Universidad de Harvard y recibió su Ph.D. en 1963. Sims es uno de los fundadores de la teoría de grupos computacionales. Fue miembro del Departamento de matemáticas de la Universidad de Rutgers de 1965 al 2007. Se retiró de Rutgers in 2007.[3] En 2012 se convirtió en miembro de la Sociedad Americana de Matemáticas.[4]
Otto Schreier
(3 de marzo de 1901 – 2 de junio de 1929 ) fue un matemático austriaco[5] que hizo grandes contribuciones en teoría de grupos combinacional y en la topología de grupos de Lie. Estudió en la Universidad de Vienna y obtuvo su doctorado en 1923. Schreier se trasladó después a la Universidad de Hamburgo. En 1928 se volvió profesor en la Universidad de Rostock. Dictó cátedras en Hamburgo y Rostock al mismo tiempo, pero en diciembre de 1928 se enfermó de sepsis, de la cual moriría medio año después.
Descripción
El algoritmo de Schreier-Sims es un algoritmo resultado de la continua necesidad del guardado y representación computacional eficiente de un grupo de permutaciones. El algoritmo busca entregar conjuntos representativos de los co-sets, una base y un conjunto generador fuerte del grupo a representar, todo esto se define y explica a continuación:[6]
Definición 1: Sea un grupo de permutación, se define su secuencia:
en la que es un subgrupo de .
Definición 2: Sea un grupo de permutación, una permutación, un subgrupo de y un elemento del subgrupo, se define su co-set:
Para la cadena de subgrupos de , es posible escoger un conjunto compuesto por los representantes de los co-sets para en . Para , un elemento está en exactamente un co-set de en . Por ende, , para unos únicos y . Es posible observar que, por inducción, para un elemento :[6]
siendo cada únicamente determinado por . Esta posibilidad de escribir los elementos de de manera única como producto permite muchas de las aplicaciones de las cadenas de subgrupos.[6]
Ejemplo: Se muestra un pequeño ejemplo de lo anterior con el grupo de los enteros positivos con la suma módulo 8:
se evidencia la cadena:
y los conjuntos:
El algoritmo enfatiza en los grupos de permutación, sin embargo, el ejemplo anterior ejemplifica de forma sencilla lo que se busca.
Aplicado el concepto para grupos de permutaciones, se calculan los subgrupos a partir de los elementos estabilizadores del grupo, para cierto punto afectado por la permutación. Esto es, las permutaciones que envíen dicho punto a sí mismo, dejándolo estable. Cada vez que se baja en la cadena de subgrupos, se estabiliza un nuevo punto. Esto puede ser logrado definiendo cada subgrupo de la cadena como:
El resultado es una cadena de subgrupos en el cual cada subgrupo es el estabilizador de un nuevo punto, en este caso en orden , con respecto al grupo de permutación simétrico. Este orden puede ser definido mediante una base dada por:
con , tal que el estabilizador punto a punto de B es trivial (el único elemento que fija todos los punto a punto es la identidad de ).
Teniendo el generador de y el conjunto de representantes de los co-sets, es posible utilizar el Lema de Schreier, que utiliza un generador de una estrategia constructiva para encontrar el generador del subgrupo. Para mantener pequeño el tamaño de cada generador, y por ende el tamaño del generador fuerte final, se utiliza un filtro que sea un algoritmo para encontrar conjuntos generadores pequeños, usualmente el filtro de Sims o el filtro de Jerrum.[7]
Algoritmo
El algoritmo se aplica para cada subgrupo de la cadena, empezando en , especificado mediante un conjunto generador , hasta llegar a . El conjunto generador fuerte del grupo de permutaciones es la unión de los generadores encontrados en cada paso, que responden a la estructura de permutación según la cadena de estabilizadores (la cadena de subgrupos).[7]
Algoritmo Schreier-SimsInput: un generador de un grupo Output: (Strong Generating Set del grupo )
|