En la teoría de grafos, el producto en zigzag de gráficos regulares (denotado ) toma un gráfico grande y un gráfico pequeño y crea un gráfico aproximadamente del tamaño del gráfico grande pero con la potencia del pequeño. Una propiedad importante del producto en zigzag es que, para un buen expansor , la dispersión del gráfico resultante es sólo ligeramente peor que la dispersión del gráfico .
En términos generales, el producto en zigzag reemplaza cada vértice del gráfico con una copia (nube) del gráfico y conecta los vértices dando un pequeño paso (zig) dentro de la nube, y luego un gran paso (zag) entre las dos nubes, y otro pequeño paso dentro de la nube final.
El producto en zigzag fue introducido por Reingold, Wadhan y Wigderson [1] . El producto en zigzag se usó originalmente para construir explícitamente expansores y extractores de grado constante. Posteriormente, el producto en zigzag se utilizó en la teoría de la complejidad computacional para demostrar la igualdad de SL y L [2] .
Sea un gráfico regular sobre c rotación , y sea un gráfico regular sobre c rotación mapeo .
Un producto en zigzag se define como un gráfico regular sobre , cuya rotación se define de la siguiente manera :
De la definición del producto en zigzag se sigue directamente que el gráfico se transforma en un nuevo gráfico regular. Por lo tanto, si es sustancialmente mayor que , el producto en zigzag disminuye el grado de .
En términos generales, el producto en zigzag convierte cada vértice del gráfico en una nube del tamaño del gráfico y distribuye los arcos de cada vértice original a los vértices de la nube que lo reemplazó.
La dispersión de un gráfico se puede medir por su brecha espectral. Una propiedad importante del producto en zigzag es la conservación de la brecha espectral . Por lo tanto, si el expansor es "suficientemente bueno" (tiene una gran brecha espectral), entonces la dispersión del producto en zigzag está cerca de la dispersión original del gráfico .
Formalmente: definido como cualquier gráfico de vértice -regular cuyo segundo valor propio más grande tiene un valor absoluto de al menos .
Sean — y — dos gráficas, entonces es una gráfica , donde .
El producto en zigzag funciona por separado para cada componente conectado del gráfico .
Formalmente: sean dos gráficos dados: — -gráfico regular sobre y — -gráfico regular sobre . Si es un componente conexo del gráfico , entonces , donde es un subgráfico del gráfico formado por vértices (es decir, un gráfico sobre , que contiene todos los arcos entre los vértices de ).
En 2002, Omer Reingold, Salil Wadhan y Avi Widgerson [3] mostraron una construcción combinatoria explícita simple de expansores de grado constante. La construcción se realiza iterativamente y requiere un expansor de grado constante como base. En cada iteración, el producto en zigzag se usa para crear otro gráfico cuyo tamaño aumenta, pero el grado y la distribución siguen siendo los mismos. Al repetir el proceso, se pueden crear expansores arbitrariamente grandes.
En 2005, Ömer Reingold introdujo un algoritmo para resolver el problema de conectividad st , utilizando un espacio de memoria logarítmica. El problema es comprobar si existe un camino entre dos vértices dados de un grafo no dirigido. El algoritmo se basa en gran medida en el producto en zigzag.
En términos generales, para resolver el problema de conectividad no dirigida st en un espacio de memoria logarítmica, el gráfico original se transforma utilizando una combinación de un producto y un producto en zigzag en un gráfico regular de grado constante con un diámetro logarítmico. El producto aumenta la extensión (aumentando el diámetro) al aumentar el grado, y el producto en zigzag se usa para disminuir el grado mientras se mantiene la extensión.