Teste probabilístico de multiplicação de matrizes com erro unilateral


7

Dadas três matrizes queremos testar se . Suponha que as operações aritméticas e tenham tempo constante quando aplicadas a números de .A,B,CZn×nABC+Z

Como posso declarar um algoritmo com erro unilateral que é executado no tempo e provar sua correção?O(n2)

Eu tentei agora por várias horas, mas não consigo acertar. Eu acho que tenho que usar o fato de que para qualquer no máximo metade dos vetores satisfaz , onde indica o produto escalar .xZnsS={1,0}nxs=0xsi=1nxisi


11
No último parágrafo: você precisa "para qualquer x diferente de zero ", o que é óbvio, mas crucial para uma solução.
Tsuyoshi Ito

Respostas:


4

Se , então para todos os vetores . Gere vetores aleatoriamente e verifique. Isso é conhecido como algoritmo de Freivalds . Wikipedia tem detalhes.AB=CA(Bx)=Cxx


Mas eu preciso de um algoritmo de erro unilateral. Alguém pode me ajudar?
Fila

2
O que faz você pensar que isso não é unilateral? (É.)
rgrig
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.