I grafteori tager zigzag-produktet af almindelige grafer (betegnet ) en stor graf og en lille graf og skaber en graf, der er omtrent på størrelse med den store graf, men styrken af den lille. En vigtig egenskab ved zigzag-produktet er, at for en god ekspander er spredningen af den resulterende graf kun lidt dårligere end spredningen af grafen .
Groft sagt erstatter zigzag-produktet hvert hjørne af grafen med en kopi (sky) af grafen og forbinder hjørnerne ved at tage et lille skridt (zig) inde i skyen, og derefter et stort skridt (zag) mellem de to skyer, og endnu et lille skridt inde i den sidste sky.
Zigzag-produktet blev introduceret af Reingold, Wadhan og Wigderson [1] . Zigzag-produktet blev oprindeligt brugt til eksplicit at konstruere ekspandere og ekstraktorer med konstant grad. Senere blev zigzag-produktet brugt i beregningsmæssig kompleksitetsteori for at bevise ligheden mellem SL og L [2] .
Lad være en -regulær graf over c rotation , og lad være -regelmæssig graf over c rotation mapping .
Et zigzag-produkt er defineret som en -regulær graf over , hvis rotation er defineret som følger :
Det følger direkte af definitionen af zigzag-produktet, at grafen omdannes til en ny -regulær graf. Således, hvis væsentligt større end , reducerer zigzag-produktet graden af .
Groft sagt forvandler zigzag-produktet hvert hjørne af grafen til en sky på størrelse med grafen og fordeler buerne af hvert oprindelige hjørne til hjørnerne af skyen, der erstattede det.
Spredningen af en graf kan måles ved dens spektrale mellemrum. En vigtig egenskab ved zigzag-produktet er bevarelsen af spektralgabet . Hvis ekspanderen således er "god nok" (har et stort spektralgab), så er spredningen af zigzag-produktet tæt på den oprindelige spredning af grafen .
Formelt: defineret som enhver -regular vertex-graf, hvis næststørste egenværdi har en absolut værdi på mindst .
Lad - og - være to grafer, så er en graf , hvor .
Zigzag-produktet fungerer separat for hver tilsluttet komponent i grafen .
Formelt: lad to grafer gives: — -regulær graf over og — -regulær graf over . Hvis er en forbundet komponent af grafen , så , hvor er en undergraf af grafen dannet af hjørner (det vil sige en graf over , der indeholder alle buer fra mellem hjørner fra ).
I 2002 viste Omer Reingold, Salil Wadhan og Avi Widgerson [3] en simpel eksplicit kombinatorisk konstruktion af konstante gradudvidere. Konstruktionen udføres iterativt og kræver en ekspander af konstant grad som grundlag. Ved hver iteration bruges zigzag-produktet til at skabe en anden graf, hvis størrelse øges, men graden og fordelingen forbliver den samme. Ved at gentage processen kan der skabes vilkårligt store ekspandere.
I 2005 introducerede Ömer Reingold en algoritme til løsning af st-forbindelsesproblemet ved at bruge et logaritmisk hukommelsesrum. Problemet er at kontrollere, om der er en sti mellem to givne hjørner af en urettet graf. Algoritmen er stærkt afhængig af zigzag-produktet.
Groft sagt, for at løse det urettede forbindelsesproblem st i et logaritmisk hukommelsesrum, transformeres den originale graf ved hjælp af en kombination af et produkt og et zigzag-produkt til en regulær graf af konstant grad med en logaritmisk diameter. Produktet øger spredningen (ved at øge diameteren) ved at øge graden, og zigzag-produktet bruges til at mindske graden og samtidig bevare spredningen.