Freivaldsův algoritmus (pojmenovaný po Rusins Martins Freivalds ) je pravděpodobnostní randomizovaný algoritmus používaný k ověření maticového produktu . Pro tři matice a velikost je nutné to zkontrolovat . Naivním algoritmem pro řešení tohoto problému je explicitně vypočítat a porovnat prvek po prvku výslednou matici s . Nejznámější algoritmus pro násobení matic však běží v čase [1] . Freivaldův algoritmus používá randomizaci ke snížení daného odhadu na [2] s vysokou pravděpodobností . Během algoritmus může kontrolovat maticový součin s pravděpodobností chyby nepřesahující .
Tři matice a velikosti . _
"Ano", pokud ; "Ne" jinak.
Pokud , pak algoritmus vždy vrátí "Ano". Pokud , pak pravděpodobnost, že algoritmus vrátí "Ano", není větší než .
Pokud provedeme algoritmus jednou a vrátíme "Ano" pouze v případě, že při každé iteraci byla přijata odpověď "Ano", dostaneme algoritmus s dobou běhu a pravděpodobností chyby .
Zkontrolujeme, že:
Vybere se například náhodný vektor nul a jedniček, poté se použije pro výpočty:
Skutečnost, že je získán nulový vektor, znamená, že . Pokud je však vektor použit ve druhé iteraci , získá se následující výsledek:
Výsledný vektor není nula, což dokazuje, že .
V uvažovaném případě existují pouze čtyři dvouprvkové vektory nul a jedniček a na polovině z nich je získán nulový vektor ( a ), takže pravděpodobnost, že bude v obou případech zvolen jeden z těchto vektorů (což povede k falešný závěr, že ) se rovná nebo . Obecně platí, že zlomek vektorů , který implikuje nulový vektor, může být menší než a použití více iterací (například 20) způsobí, že pravděpodobnost chyby bude zanedbatelná.
Nechť pravděpodobnost chyby je . Když , tak , když , tak .
Získaný výsledek nezávisí na , protože pouze na skutečnosti , že . Pravděpodobnost chyby v tomto případě je tedy:
Nechť je matice taková, že
Kde
.Protože některé prvky matice nejsou rovny nule. Nechte _ Podle definice maticového produktu :
.Pro nějakou stálou . Pomocí Bayesova teorému lze rozšířit pravděpodobnost z hlediska :
.Tyto pravděpodobnosti lze odhadnout následovně:
Dosazením těchto výrazů do původní rovnosti lze dospět k:
Takto,