Schwartzovo-Zippelovo lemma (také DeMillo -Lipton-Schwartz-Sippelovo lemma ) je výsledek široce používaný při kontrole rovnosti polynomů , tedy v problému kontroly nějakého polynomu mnoha proměnných pro shodnou rovnost na nulu. Lema nezávisle na sobě objevili Jack Schwartz [1] , Richard Zippel [2] a Richard DeMillo a Richard Lipton , ačkoli verze DeMilla a Liptona předchází Schwartzův a Zippelův výsledek [3] o rok . Verzi lemmatu pro konečná pole dokázal Oistin Ore v roce 1922 [4] .
Vstupem problému je polynom v proměnných nad polem . Může být uveden ve formě aritmetického schématu nebo jako determinant nějaké matice polynomů . V tuto chvíli nejsou známy žádné deterministické subexponenciální algoritmy, které by vám umožnily zkontrolovat, že tento polynom je nenulový. Jsou však známy randomizované algoritmy, které řeší tento problém v polynomiálním čase. Při jejich analýze je obvykle nutné odhadnout pravděpodobnost, že nenulový polynom bude v nějakém náhodně zvoleném bodě roven nule. Schwartz-Zippelovo lemma je formulováno takto:
Dovolit být nenulový stupeň polynom nad polem . Nechť je konečná podmnožina a prvky nechť jsou vybírány z jednotně a nezávisle na sobě. Pak . |
V případě jedné proměnné vyplývá lemma přímo z toho, že polynom stupně může mít nanejvýš různé kořeny nad polem .
Lema lze v obecné podobě dokázat matematickou indukcí počtu proměnných . Základní případ byl prokázán výše.
Nechť nyní věta platí pro všechny polynomy na proměnných. Lze jej považovat za polynom v , zapsaný ve tvaru
.Protože se stejně nerovná nule, existuje nějaké číslo , které se také nerovná nule. Nechť je největší z těchto čísel. Poté , protože stupeň nepřesahuje .
Nechť být nyní vybrán náhodně z . Podle indukční hypotézy, .
Jestliže , pak má stupeň (a proto se nerovná nule shodně), proto
.Pokud událost označíme jako , událost jako a navíc k události jako , pak
■Význam Schwarz-Sippelova lemmatu a ověření rovnosti polynomů vyplývá z algoritmů, které lze redukovat na tento problém.
Vzhledem ke dvěma polynomům a , je to pravda
Tento problém lze zredukovat na kontrolu rovnosti polynomů, protože to stačí zkontrolovat
Pokud je to tedy možné určit
kde
pak je také možné určit, zda jsou dané dva polynomy stejné.
Srovnání dvou polynomů lze použít při analýze rozvětvených programů . Jednou přečtený větvený program může být reprezentován jako multilineární polynom , který vyhodnocuje (přes nějaké pole) od nul a jedniček stejnou booleovskou funkci jako větvící program. Dva větvené programy tedy vyhodnocují stejnou booleovskou funkci právě tehdy, když jsou odpovídající polynomy stejné. To znamená, že kontrolu rovnosti booleovských funkcí, které jsou počítány programy pro jednorázové čtení s větvením, lze omezit na kontrolu rovnosti polynomů.
Je dané číslo prvočíslo ?
Manindra Agrawal a Somenath Biswas vyvinuli jednoduchý randomizovaný algoritmus používající testy polynomiální rovnosti k určení, zda je číslo prvočíslo .
Ukázali, že všechna prvočísla (a pouze prvočísla) vyhovují následujícímu srovnání:
Tento výsledek vyplývá z Frobenius endomorphism .
Nechat
Pak právě tehdy, když je prvočíslo [5] . Protože se však může a nemusí jednat o prvočíslo, metoda Schwartz-Zippel zde nebude fungovat. Agrawal a Biswas používají sofistikovanější techniku, která zahrnuje dělení náhodným redukovaným polynomem malého stupně.
Daný graf na vrcholech, kde je sudé číslo. Obsahuje dokonalou shodu ?
Determinant Tuttovy matice není identicky nulový polynom , a to pouze tehdy, pokud má graf dokonalou shodu. |
Podmnožina množiny hran se nazývá shoda, pokud každý vrchol z je incidentní s nejvýše jednou hranou z . Shoda se nazývá dokonalá, pokud každý vrchol je incidentní s přesně jednou hranou . Matta Tatta je matrice:
kde
Determinant Tuttovy matice (jako polynom v ) je dán jako determinant této šikmo symetrické matice , která se rovná druhé mocnině Pfaffova matice a je nenulová shodně právě tehdy, když existuje dokonalá shoda v graf.
Pomocí testu polynomiální rovnosti lze tedy zkontrolovat, zda libovolný graf obsahuje dokonalou shodu.
Ve speciálním případě vyváženého bipartitního grafu ve vrcholech má matice Tatta formu blokové matice
První řádky (a v souladu s tím i sloupce) jsou indexovány první částí bipartitního grafu a poslední řádky jsou indexovány druhou částí. V tomto případě se Pfaffian (až znaménko) shoduje s obvyklým determinantem matice velikosti . Matice je pak Edmondsova matice daného bipartitního grafu.