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
- Cabe ao estudante apresentar um algoritmo de detecção de erro e um algoritmo de correção de erros.
- Os algoritmos podem ser implementados dentro do trabalho I, ou de forma independente.
- Caso seja escolhido implementar de forma independente, a linguagem da implementação pode ser escolhida pelos alunos
- O trabalho precisa ser versionado e estar disponível em alguma ferramenta que utilize git (recomenda-se o GitLab do C3SL)
- Quaisquer escolhas feitas pelos alunos deverão ser explicadas durante a apresentação do trabalho.
- Valor: 1,0.
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)