Trabalho II: Correção de Erros

Motivação

Bits podem ser muito voláteis. Em primeiro momento essa afirmação pode parecer um pouco estranha, porém quanto mais distante da CPU, maior é a probabilidade que erros acontecerem no transporte de informação. Inúmeros fatores podem influenciar na probabilidade de o valor de um bit ser perdido ou modificado, a tecnologia de codificação, o meio em que o bit será transportado, a distância entre a origem e o destino, fatores naturais como raios cósmicos também podem ser culpados pela troca do valor dentro de uma mensagem.

Se pensarmos sem muita atenção, o problema de um bit ser trocado dentro de uma mensagem pode parecer algo insignificante. Porém, pensando sobre a lógica do mundo moderno em que não apenas computadores se utilizam da rede para comunicação, mas também carros em alta velociade, sistemas de segurança, e robôs em cirurgias milimétricas, um único bit pode ser a diferença entre a vida e a morte de um grande número de pessoas.

Desafio

Diante disso, cabe a você estudante de computação apresentar não só uma forma de detectar que se aconteceu algum erro entre a mensagem que foi enviada e a que foi recebida pelo destino, mas também apresentar uma forma de corrigir (dentro dos limites do algoritmo escolhido) a mensagem recebida sem que seja necessário o reevio da mensagem completa.

Requisitos

Exemplos de algoritmo de detecção de erro

Exemplos de algoritmo de correção de erro

Informação Nerd Extra

Caso tenha gostado dessa área de tranferência de informações recomendo a leitura um pouco mais aprofundada da Teoria da informação e também do Noisy-channel coding theorem. A Teoria da informação de Shannon é uma grande norteadora para tudo que temos na área de comunicações hoje, acredito que a título de conhecimento a leitura seja extremamente válida.

Para aqueles com preferência em consumo por outras mídias recomendo o podcast do Scicast falando sobre o assunto Teorema de Shannon (SciCast #398)