dvdisaster Версия 0.72.6 / 0.79 (devel-3) | К интернет-версии |
Идея, лежащая в основе исправления ошибок
Пример: Пин-код для ящика письменного стола Анны У Анны есть стол, в котором ящики открываются, только если ввести в кодовый замок числа "8 6 2 3". Поскольку в этих ящиках нет какой-либо деликатной информации, она решает записать числа прямо на поверхности стола:
Анна предусмотрительна и предполагает, что одно из чисел станет нечитаемым, если на него случайно капнут чернила. Поэтому она записывает также и сумму этих четырех чисел ("+" и "=" - добавлены только для ясности):
Через какое-то время на числа, действительно, попало чернильное пятно:
Но это не проблема, раз Анна может вновь вычислить недостающее число x, переписав все еще читаемые части уравнения: 8 + x + 2 + 3 = 19, отсюда x = 19 - 8 - 2 - 3, и, следовательно, x = 6. Легко видеть, что любое из первоначальных пяти чисел может быть восстановлено по оставшимся четырем. Этот пример также демонстрирует некоторые важные свойства исправления ошибок:
Концепция избыточности может быть объяснена следующим образом:
Приведенный выше пример не обобщается на схему исправления ошибок для восстановления более одного недостающего значения данных. Чтобы сделать это, требуется более мощная система уравнений, которая может быть решена для более чем одного недостающего значения. dvdisaster использует код Рида-Соломона, у которого есть такие качества; однако необходимая для этого математика не преподается в школе. Поэтому заинтересованные читатели отсылаются к соответствующим книгам по теории кодирования. |
Copyright 2007-2009 Igor Gorbounov. Дословное копирование и распространение всей этой статьи разрешается на любом носителе, при условии, что это уведомление сохраняется. |
|