Хроники лаборатории |
Отказоустойчивый алгоритм. | (← 26 июл 2007г, 12:33 →) |
Все помнят бородатый анекдот?
Два англичанина в поезде. Поезд проезжает мимо пасущегося стада коров. Один англичанин говорит: - Интересно, сколько здесь пасется коров? - Пятьдесят восемь голов. - Как вы догадались? - Очень просто - сосчитал количество ног и разделил на четыре...
Так вот, смотрите что пришло мне в голову: несмотря на такой, казалось бы, нерациональный подход, этот алгоритм обладает повышенной отказоустойчивостью. То есть: считая коров по головам, есть вероятность ошибиться, и полученную цифру можно перепроверить только повторным пересчетом. Считая по ногам и получая число, не кратное 4 (предполагается, что среди коров инвалидов нет), мы можем сразу сказать, что допущена ошибка.
Так что посмеявшись над анекдотом, можно попробовать извлечь из него какую-нибудь идею. В каждой шутке есть доля шутки...
| RSS HTML рубрики: приемчики | |
|
Случайные записи впридачу: 300 леммингов (допридумано) Магистраль (рассказы)
|
Optical Race (09 окт 2007г, 21:26) []
А как корректировать ошибку? Округлять в сторону ближайшего числа, делящегося на 4? Вообще-то ты только что рассказал принцип построения корректирующих кодов Дистанция Хэмминга и все такое. |
V.exeR (10 окт 2007г, 04:02) []
Optical_Race, можно округлять... А можно пересчитывать, пока не будет посчитано точно По работе не сталкивался с корректирующими кодами, надо будет почитать. «В целях повышения образованности», как говаривал Печкин |
Optical Race (11 окт 2007г, 22:56) []
По науке надо так: Если делится на 4, то оставить (нет ошибок). Если не делится на 2, то округлить в сторону ближайшего делящегося на 4 (коррекция). Если делится на 2, то пересчитать (поскольку нет критерия чтобы решить, какое направление округления предпочтительнее).
Описанный метод позволяет скорректировать любую ошибку счета на +-1 и обнаружить любую +-2. Более серьезные ошибки данным кодом не обнаруживаются и, тем более, не исправляются.
Если нужно исправлять не ошибки счета (+-1), а битовые инверсии, например, то код строится по-другому... Но описанный принцип продолжает действовать. |
|
Оставлять комментарии могут только имеющие свой ЖЖ-, ЛИру-аккаунт или еще какой openID (как так?). |
|