본문내용
평균적으로 천 번에 한 번 정도씩 오류가 발생하기는 하겠지만 천 비트짜리 메시지마다 체크용 비트를 한 개씩 추가하는 것만으로도 전보다 훨씬 나아진 셈이다. 그런데 이 시스템도 두 오류가 한꺼번에 발생하는, 이백만 번에 한 번 정도씩 일어나는 사고에는 무방비 상태다. 이번에는 1% 정도를 체크용 비트로 사용하고 오류를 1개 정정할 수 있으며 오류 2개를 검출할 수 있는 시스템을 생각해보자. 이 시스템에서는 오류가 1개 있을 때는 직접 정정할 수 있고, 오류가 백만 번에 한 번 꼴로 발생하는 경우에는 사용자에게 그 사실을 알려준다. 이 시스템은 약 60억 번에 한 번 꼴로 일어나는 삼중 오류인 경우에만 오작동할 것이다. 우리가 투자한 것이 1% 밖에 안된다는 점을 감안하면 꽤 괜찮은 결과라 할 수 있다. 효율과 신뢰성 문제는 컴퓨터 공학에서 가장 핵심이다. 메시지 길이는 어느 정도가 적당할까? 코딩 효율 면에서 보면 메시지가 길수록 좋지만 메시지가 길어지면 오류가 발생할 확률이 높고, 오류가 있는지 알아낼 때까지 걸리는 시간도 길어진다. 반대로 짧은 메시지를 탄탄하게 코딩하면 메시지를 확실히 믿을 수 있다. 즉, 효율을 희생하는 대신뢰성을 확보할 수 있다.
소개글