Algoritmo de reemplazo de producto

En teoría de grupos computacionales, el algoritmo de reemplazo de producto (Product Replacement Algorithm en inglés), diseñado por Charles-Leedham-Green y Leonard Soicher en 1995, es un algoritmo con el fin de generar elementos aleatorios en un grupo finito , ejecutando una serie de pasos aleatorios generando -tuplas de En términos generales, un "objeto sustituto del producto" es algo que se crea con una lista de generadores de grupo y produce una secuencia de elementos de grupos pseudoaleatorios utilizando alguna fuente aleatoria para números aleatorios.

Introducción

editar

La historia del algoritmo de reemplazo de producto inicia con la investigación en Teoría de Grupos Computacionales que se centra principalmente en trabajar con grupos de permutación, donde los algoritmos fundamentales de Sims ,abrieron el camino hacia los avances actuales.

El problema de generar elementos de grupo aleatorios tiene dos soluciones: una práctica y otra teórica. En un aspecto teórico desarrollado por László Babai, se encontró un algoritmo general de caja negra que produce elementos de grupo (casi) uniformes a un costo de multiplicaciones de grupo  . Al ser probablemente polinomial, aunque prácticamente lento, este algoritmo se convirtió en un resultado fundamental sobre el cual se podría construir el trabajo teórico posterior. Sin embargo, no resolvió la necesidad práctica de un generador de grupos aleatorios eficiente.

Por otra parte, en la solución práctica, Leedham-Green y Soicher descubrieron el diseño del "algoritmo de reemplazo del producto" que más tarde se probó y demostró tener un rendimiento notablemente bueno en varios casos prácticamente interesantes. A medida que se reconoció ampliamente el éxito del algoritmo, se incluyó como una rutina estándar en dos de los principales paquetes de álgebra grupal. Desafortunadamente, la razón por la cual el algoritmo tiene un rendimiento tan bueno sigue siendo un misterio. Hasta hace poco, todos los intentos de probar resultados teóricos sobre el rendimiento del algoritmo fallaron o produjeron resultados incrementales. Un trabajo importante de Diaconis y Saloff-Coste y varios resultados (conjuntos) del autor dieron una nueva vida a las esperanzas de comprender completamente el algoritmo.[1]

Descripción

editar

El algoritmo de reemplazo del producto se define de la siguiente manera.[2]​ Sea   un grupo finito con una secuencia generada por   elementos   y se llama  -tupla generadora de   si   genera a  . Sea   el conjunto de todas las  -tuplas generadoras de   , tal que  . Por último sea   la probabilidad de que   se distribuya uniformemente de los elementos de grupos aleatorios independientes generan.

 

Dada una  -tupla generadora se define un movimiento a otra  -tupla tal que, primero se selecciona uniformemente un par   con   y luego se aplica una de las siguientes operaciones con igual probabilidad.

 

 

Para producir un elemento aleatorio en  , se debe empezar con la generación de una k-tupla a otra k-tupla generadora, se repiten los movimientos anteriores varias veces y finalmente devuelve un elemento aleatorio de la  -tupla generadora resultante.

Otra forma de describir el algoritmo, es definir   como grafo, cuyos vértices son las tuplas en  , en que las aristas corresponden a los movimientos  ,  . Si   es lo suficientemente grande, entonces el grafo   está conectado. El algoritmo consiste en recorrer aleatoriamente el vecino más cercano y devolver un componente aleatorio. Nos referimos a esto como “Paseo Aleatorio”.

Algoritmo Leedham-Green y Soicher

editar

Sea   un grupo descrito por el conjunto generador  . Se elige un entero   y se inicia una matriz   de longitud   que consiste en los generadores de  , donde se permiten repeticiones. La operación básica del algoritmo toma un par de números enteros aleatorios i≠j y reemplaza   por   o  . Se realiza este procedimiento ejecutando esta operación básica un número K de veces. Ahora se realiza la operación básica devolviendo el valor resultante de   como elemento aleatorio. Tenga en cuenta que   contiene en todo momento un conjunto de generación para  . Este método tienen la ventaja de que después del procesamiento, solo se requiere una multiplicación para cada elemento aleatorio. Además, dado que se reemplaza   se espera que el proceso de agregar nuevos elementos aleatorios, aumente la aleatoriedad de  .

La elección clave en este algoritmo, es el número de operaciones básicas  , que deben llevarse a cabo como parte del preprocesamiento para obtener una distribución razonable, y la longitud   de  

Una desventaja de esta técnica, es que los elementos devueltos no son independientes el uno del otro. Por ejemplo, si una secuencia de elementos se genera, entonces se producirá un triple consecutivo de la forma  , puede ocurrir en la secuencia con probabilidad mayor a  

Se dice que un conjunto generador   de   es mínimo si no hay un subconjunto adecuado de   que genere  . Se denota con   el número mínimo de generadores de  , es decir, el tamaño más pequeño de un conjunto generador mínimo de  , y escribimos   para el tamaño más grande de un grupo generador mínimo de  .

Diaconis y Saloff-Coste (1998) demostraron que la caminata aleatoria en   alcanza una distribución uniforme en el tiempo  . Así un límite preciso para   sería deseable como medio de delimitar el tiempo para el algoritmo.

Algoritmo de Babai

editar
  • Usa la rutina “subproductos aleatorios”para reducir el número de generadores en un conjunto generado por   desde   a  .
  • Para   el recorrido repite el siguiente procedimiento. Recorre un simple camino al azar en el grafo de Cayley   comenzando en  ,para   pasos.
  • Luego agregue el punto final de la caminata a   y repita.
  • Utilice la “máquina Erdös-Rényi”[3]​ para generar la salida. [1]

El sesgo de salida

editar

Generación de k-tuplas en productos de grupos simples

editar

Teorema 1

editar

Sea   un grupo simple no abeliano, entonces el número maximal   , tal que el grupo   (producto directo de N copias de un  ) es generado por   elementos, es igual a:

 

Además, un elemento  , donde   es un  -tupla generadora de   si y sólo si todas las  -tuplas  ,   generan el grupo   y si se encuentran en diferentes órbitas de la acción diagonal de   en  . En un caso especial de   y   se muestra que   es decir que   mientras que para  .

Para cualquier   las probabilidades  .Desde que   para  ,   se obtiene que la   del teorema satisface:

 
,
donde   es lo suficientemente grande. En particular, si   y   es grande, el grupo   puede ser generado por dos elementos mientras que   no.

Teorema 2

editar

Si   es un producto directo de grupos simples no abelianos (posiblemente con repeticiones) entonces   para  , donde   es el número máximo de copias isomorfas de cada grupo y   es una constante universal.

Ahora bien, sea que   denote la probabilidad de los primeros componentes de  -tuplas elegidas uniformemente de   . Esta distribución aparece con la intención de generar rápidamente elementos aleatorios distribuidos de manera casi uniforme en  . Si bien la cuestión de la tasa de mezcla para este algoritmo está muy abierta, mostramos que incluso la distribución límite   puede estar muy lejos de ser uniforme. Sea   la distribución uniforme sobre   sesgo de la distribución   es la distancia de variación entre   y  . En otras palabras, el sesgo de   es

 

El sesgo de un subconjunto   bajo   es la cantidad  

Teorema 3

editar

Sea  , donde  . Entonces   tal que  


Se asume que   y  .Se nota que para  , se genera el grupo   por 2 elementos, pero un par de elementos aleatorio uniforme (o incluso para una  -tupla de elementos aleatoria para   es poco probable que lo genere.

Usos del algoritmo

editar

El algoritmo de reemplazo de producto, es un importante avance reciente en el álgebra simbólica. Este es el generador de elementos de grupos aleatorios más utilizados en teoría de grupos computacionales GAP[4]​ y Magma[5]

Algunos problemas del algoritmo

editar
  • Se puede observar que no está claro si el grafo   está conectado y cuando este no lo es, además poco se puede decir sobre el componente conectado   el cual contiene a  .
  • En algunas pruebas, se observa que es aparentemente peor que correr un simple paseo aleatorio en el generando una k-tupla obtenida al final de la caminata aleatoria de reemplazo del producto. De hecho, heurísticamente se "pierde el tiempo" ejecutando una caminata aleatoria simple con los generadores iniciales "malos", en lugar de esperar hasta el final del algoritmo, y usa estos generadores "buenos". La razón es que ese grupo generador inicial puede corresponder al "peor caso" de una caminata aleatoria, mientras que la   obtenida después de ejecutar el reemplazo del producto se obtiene un "caso promedio" de una caminata aleatoria.
  • Sin embargo, el algoritmo de Leedham-Green tiene una serie de problemas estadísticos y teóricos. Por ejemplo, puede haber más de una clase de equivalencia de generadores de Nielsen. Además, los elementos de los conjuntos generadores deben estar distribuidos uniformemente (por ejemplo, los elementos del subgrupo Frattini nunca pueden aparecer en un conjunto generador de tamaño mínimo).

Referencias

editar
  1. Pak Igor. "What do we know about the product replacement algorithm?" . Department of Mathematics Yale University. (2000). [1]
  2. L. Babai, Pak Igor. "Strong bias of group generators: an obstacle to the “product replacement algorithm”. Department of Computer Science, University of Chicago.(1999). [2]
  3. Modelo Erdös–Rényi
  4. [3]
  5. [4]

Bibliografía

editar
  • Sims, C. C. Group-theoretic algorithms, a survey, in Proc. ICM, Helsinki, 1978, 979– 985. [3]
  • Pak, Igor , Lubotzky, Alexander. "The product replacement algorithm and Kazhdan's property (t)"
  • Celler, Frank, Leedham-Green, Charles. Murray, Scott. Niemeyer, Alice. O’Brien,E.A. " Generating random elements of a finite group"
  • Babai, László. "Local expansion of vertex-transitive graphsand random generation in finite groups"
  • P. Diaconis, L. Saloff-Coste, "Walks on generating sets of groups", Invent. Math. 134 (1998), 251–199.