Resumo |
Em princípio, um código é basicamente uma maneira que utilizamos para transmitir uma mensagem desejada de forma correta por um canal ruidoso. Um exemplo simples de código corretor de erros é o idioma que utilizamos, no qual somos capazes de identificar quando uma palavra está escrita errada, ou seja, quando não pertence ao código e em seguida corrigi-la. Esses códigos são importantíssimos para realizar correções em mensagens que sofrem distorção nos canais de transmissão. Quando falamos ao celular, por exemplo, as mensagens de voz são transmitidas por ondas eletromagnéticas que em geral sofrem interferência durante seu envio. É nesse momento em que entram em ação os códigos corretores de erros, garantindo que em uma mensagem recebida sejam detectados os erros presentes e em seguida os mesmos sejam corrigidos, para enfim chegarem até o destinatário final. O estudo desse tema por diversos matemáticos, objetiva então desenvolver métodos que garantam uma boa codificação e decodificação de mensagens. Com o avanço dos estudos, os tratamentos algébricos foram tornando-se cada vez mais enriquecidos e surgiram então os códigos lineares, que basicamente são subespaços vetoriais que permitem com o auxílio de tratamentos matriciais, detectar e corrigir erros. Atualmente esses são os mais utilizados. Como subclasse dos códigos lineares, existem os códigos cíclicos, que através de suas especificidades fornecem bons algoritmos de codificação e decodificação. Códigos lineares possuem importantes parâmetros que fazem toda sua caracterização, como por exemplo sua capacidade de correção, que muitas vezes é muito difícil de ser determinada. Nesse contexto surgem os códigos BCH, que são um tipo mais específico de código cíclico, nos quais os parâmetros são conhecidos desde o início da construção dos mesmos. Existem os códigos de Goppa Clássicos, que permitem uma generalização maior dos BCH, abrangendo alguns códigos que possuem melhores parâmetros. Por fim, os códigos de Goppa Racionais proporcionam, utilizando de polinômios, códigos um pouco mais simplificados de se trabalhar. |