In graph theory, the zig-zag product of regular graphs G , H {\displaystyle G,H} , denoted by G ∘ H {\displaystyle G\circ H} , is a binary operation which takes a large graph ( G {\displaystyle G} ) and a small graph ( H {\displaystyle H} ) and produces a graph that approximately inherits the size of the large one but the degree of the small one. An important property of the zig-zag product is that if H {\displaystyle H} is a good expander, then the expansion of the resulting graph is only slightly worse than the expansion of G {\displaystyle G} . Roughly speaking, the zig-zag product G ∘ H {\displaystyle G\circ H} replaces each vertex of G {\displaystyle G} with a copy (cloud) of H {\displaystyle H} , and connects the vertices by moving a small step (zig) inside a cloud, followed by a big step (zag) between two clouds, and finally performs another small step inside the destination cloud. More specifically, the start and endpoints for each edge are at the beginning and end of this "zig-zag-zig" process starting at the points in the replacement product of the two graphs. The zigzag product was introduced by Reingold, Vadhan & Wigderson (2000). When the zig-zag product was first introduced, it was used for the explicit construction of constant degree expanders and extractors. Later on, the zig-zag product was used in computational complexity theory to prove that symmetric logspace and logspace are equal (Reingold 2008).
Definition Let G {\displaystyle G} be a D {\displaystyle D} -regular graph on [ N ] {\displaystyle [N]} with rotation map R o t G {\displaystyle \mathrm {Rot} _{G}} and let H {\displaystyle H} be a d {\displaystyle d} -regular graph on [ D ] {\displaystyle [D]} with rotation map R o t H {\displaystyle \mathrm {Rot} _{H}} . The zig-zag product G ∘ H {\displaystyle G\circ H} is defined to be the d 2 {\displaystyle d^{2}} -regular graph on [ N ] × [ D ] {\displaystyle [N]\times [D]} whose rotation map R o t G ∘ H {\displaystyle \mathrm {Rot} _{G\circ H}} is as follows:
R o t G ∘ H ( ( v , a ) , ( i , j ) ) {\displaystyle \mathrm {Rot} _{G\circ H}((v,a),(i,j))} :
Let ( a ′ , i ′ ) = R o t H ( a , i ) {\displaystyle (a',i')=\mathrm {Rot} _{H}(a,i)} . Let ( w , b ′ ) = R o t G ( v , a ′ ) {\displaystyle (w,b')=\mathrm {Rot} _{G}(v,a')} . Let ( b , j ′ ) = R o t H ( b ′ , j ) {\displaystyle (b,j')=\mathrm {Rot} _{H}(b',j)} . Output ( ( w , b ) , ( j ′ , i ′ ) ) {\displaystyle ((w,b),(j',i'))} .
Properties
Reduction of the degree It is immediate from the definition of the zigzag product that it transforms a graph G {\displaystyle G} to a new graph which is d 2 {\displaystyle d^{2}} -regular. Thus if G {\displaystyle G} is a significantly larger than H {\displaystyle H} , the zigzag product will reduce the degree of G {\displaystyle G} . Roughly speaking, by amplifying each vertex of G {\displaystyle G} into a cloud of the size of H {\displaystyle H} the product in fact splits the edges of each original vertex between the vertices of the cloud that replace it.
… excerpt ends here. Continue reading the full article.


