Procedimento de Chien

Fonte: testwiki
Saltar para a navegação Saltar para a pesquisa

Predefinição:Sem notas Na álgebra abstrata, o procedimento de Chien, cujo nome advém de R. T. Chien, é um algoritmo rápido para determinar a raiz de um polinómio definido sobre um corpo finito. O caso mais típico para a utilização do procedimento de Chien é no cálculo das raízes de polinómios error-locator encontrados na descodificação do código de Reed-Solomon e código de BCH.

Algoritmo

Denotando o polinómio (sobre o corpo finito GF(q)) cujas raízes queremos determinar como:

 Λ(x)=λ0+λ1x+λ2x2++λtxt

Conceptualmente, podemos avaliar Λ(β) por cada não-zero β em GF(q). Aqueles que resultarem em 0 são raízes do polinómio.

O procedimento de Chien é baseado em duas observações:

  • Cada não-zero β pode ser expresso como αiβ para alguns iβ, onde α é um elemento primitivo (sugerido do inglês, primitive element) de GF(q), iβ é a potência do elemento primitivo α. Assim as potências αi por cada 0i<(q1) cobrem o espectro inteiro (excluindo o elemento zero).
  • A seguinte relação existe:
Λ(αi)=λ0+λ1(αi)+λ2(αi)2++λt(αi)tγ0,i+γ1,i+γ2,i++γt,i
Λ(αi+1)=λ0+λ1(αi+1)+λ2(αi+1)2++λt(αi+1)t=λ0+λ1(αi)α+λ2(αi)2α2++λt(αi)tαt=γ0,i+γ1,iα+γ2,iα2++γt,iαtγ0,i+1+γ1,i+1+γ2,i+1++γt,i+1

Por outras palavras podemos definir cada Λ(αi) como a soma de um conjunto de termos {γj,i|0jt}, dos quais o próximo conjunto de coeficiente pode ser derivado, e assim:

 γj,i+1=γj,iαj

Desta maneira podemos começar em i=0 com γj,0=λj, e iterar através de cada valor de i até (q1). Se em qualquer altura a soma resultante é zero, temos:

 j=0tγj,i=0,

assim Λ(αi)=0 também, logo αi é uma raiz. Desta maneira confirmamos todos os elementos no espectro.

Quando implementado em hardware esta aproximação reduz significativamente a complexidade, dado que todas as multiplicações consistem numa variável e uma constante, ao invés de duas variáveis como num aproximação bruta.

Referências