Algoritmo de reemplazo de producto

De Wikipedia, la enciclopedia libre

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.