- •Конспект книги а.Г. Мамиконова «Управление и информация понятие управления Задачи управления
- •Основные методы и функции управления
- •Теория принятия решений
- •Принятие решений в конфликтных ситуациях
- •Роль информации в управлении Понятие информации и ее характеристики
- •Информация в системах управления с обратной связью и управление при неполной информации
- •Информация о состоянии внешней среды и управляемого объекта
- •Свойства и характеристики информационных потоков в управлении Консервативность информационной системы
- •Семантическая ценность информации изменение ее во времени
- •Дерево целей и информации
- •Достоверность информации Источники, и причины искажения информации
- •Избыточность как средство повышения достоверности
- •Выявление недостоверной информации
- •Способы повышения достоверности
Выявление недостоверной информации
Рассмотрим на примере кодовой избыточности, каким образом надо вводить избыточность и как определять для каждого из рассмотренных выше способов появление искажений в информации.
Под кодом будем понимать совокупность двоичных цифр, соответствующих символу. Коды, позволяющие обнаруживать и исправлять искажения, возникающие при передаче, хранении или преобразовании информации, называются корректирующими. Предположим, что нам для передачи, хранения и обработки наших сообщений достаточно иметь алфавит, содержащий N символов, а система управления и связи может воспринимать сообщения, имеющие алфавит, состоящий из N0 символов, причем N0 > N.
Примером может служить телеграфная связь. По телеграфу можно передавать все буквы русского и латинского алфавитов и цифры от 0 до 9, всего N0 символов. Мы же передаем такие сообщения, которые используют только буквы — N символов. В процессе передачи код каждого из N символов может подвергаться искажению. Искажения заключаются в том, что код каждого символа-буквы может превратиться в код любого другого символа-буквы или символа-цифры. При получении в нашем примере на приемной стороне кода символа-буквы мы не можем сказать, исказился передаваемый символ или нет. Если же мы получаем на приемной стороне код символа-цифры, очевидно, что произошло искажение кода передаваемого символа, так как код символа-цифры передан быть не мог. Это следует из условий примера. Теперь мы можем зафиксировать факт искажения информации или, как обычно говорят, можем обнаружить ошибку.
Код каждого передаваемого символа-буквы может в результате искажений превратиться в код одного из N0 символов, которые могут восприниматься системой. Так как мы можем передавать код N символов-букв, то число различных искажений при передаче может бытьN-N0. Однако мы можем обнаруживать искажения, заключающиеся в переходе кода символа-буквы в код символа-цифры. Таких искажений может быть для кода каждого символа-буквы N0-N. Поскольку на передаче используется N символов-букв, то мы можем обнаруживать N× (N0-N) искажений. Таким образом, доля обнаруживаемых среди всех возможных искажений равна:
.
Очевидно, что если нам для передачи необходимо N символов, а фактически может передаваться N0>N символов, то в коде символов заложена избыточность. Чтобы обнаружить искажение символа, можно использовать следующий метод. Запомнить коды всех N символов, которые могут появиться в системе. Затем появляющийся код символа сравнивать с каждым из N кодов символов. Если код хотя бы одного из N символов с ним совпадает, считается, что в принятом коде символа искажения не обнаружены, если же среди кодов N символов нет совпадающего с появившимся, то последний считается искаженным. Такой метод обнаружения искаженных кодов символов достаточно громоздкий, так как нужно каждый раз прибегать к сравнению запомненных символов с принятым. При большом N это становится затруднительным. На практике используется другой метод, заключающийся в том, что в код символа при его передаче вводятся благодаря избыточности дополнительные признаки. Проверка наличия этих признаков в появившемся символе позволяет судить о наличии искажений в нем.
Важной характеристикой корректирующих кодов является вероятность появления необнаруживаемых искажений. Эта вероятность определяется количеством возможных переходов кодов одних символов в другие в результате искажений отдельных двоичных цифр, входящих в код символа. Количество таких, переходов в свою очередь зависит от того, насколько «сильно» вводимые признаки реагируют на наличие искажения в двоичных цифрах. Рассмотрим примеры кодов, часто используемых в практике и позволяющих обнаруживать наличие искажения символов. Будем считать, что каждый передаваемый символ кодируется в виде набора двоичных цифр.
Код с контролем на четность относится к систематическим кодам, т. е. кодам, содержащим информационные и проверочные двоичные цифры. Символы, являющиеся цифрами 0÷9, представляются в этом коде в виде четырехразрядных чисел (табл. 1). К каждому двоичному числу приписывается дополнительный пятый контрольный двоичный разряд, который является избыточным. Правило выбора двоичной цифры в контрольном разряде такое: 1— если число единиц в четырех двоичных разрядах нечетное, 0 — если число единиц четное. Признаком отсутствия искажений в коде символа является наличие четного числа единиц.
Таблица 1 - Кодирование символов с контролем на четность
Символ |
Код |
Код с контролем на четность |
|
Символ |
Код |
Код с контролем На четность |
0 |
0000 |
00000 |
|
5 |
0101 |
01010 |
1 |
0001 |
00011 |
|
6 |
0110 |
01100 |
2 |
0010 |
00101 |
|
7 |
0111 |
01111 |
3 |
0011 |
00110 |
|
8 |
1000 |
10001 |
4 |
0100 |
01001 |
|
9 |
1001 |
10010 |
Для этого кода характерным является то, что искажение одной двоичной цифры в любом разряде ведет к нарушению четности. К нарушению четности ведет также искажение трех или пяти двоичных цифр. Однако, если в двух или четырех двоичных разрядах произойдет искажение двоичных цифр, то искажение в коде символа не будет обнаружено. Для приведенного кода с контролем на четность N0=32,N=10. Для принятого в коде метода обнаружения искажений N=16, и соответственно
.
Комбинации двоичных цифр 10101, 10110, 11001, 11010, 11100, 11111 же будут рассматриваться как коды искаженных символов, поскольку основной признак — четность числа двоичных единиц — в коде присутствует. Эти комбинации при необходимости могут быть использованы, например, для обозначения признака окончания слова, конца сообщения и т. п. Если же в их использовании нет необходимости, то для снижения до 10 необходимо вводить дополнительные проверки кодов появившихся символов на их соответствие названным комбинациям двоичных цифр.
В практических случаях, например, при создании вычислительных систем, считается, что эти комбинации могут появиться в результате не менее чем двукратных искажений кодов передаваемых символов. Вероятности появления двукратных ошибок считаются малыми и поэтому никаких специальных мер по проверке на соответствие этим кодам не принимают.
Рассмотренный код особенно широкое распространение получил в вычислительной технике. В большинстве существующих электронно-вычислительных машин используется код такого типа. Если обозначить вероятность искажения одной двоичной цифры через Р, то достоверность принятой двоичной цифры будет (1—Р).
Вероятность появления искажений, которые не будут обнаружены, в кодах с контролем на четность, содержащих 5 двоичных цифр, обозначим через Р0. Будем считать, что искажения двоичных цифр независимы. Тогда вероятность появления необнаруженных искажений определяется для нашего кода по формуле
.
В коде «2 из 5» представляются обычно символы в виде цифр 0÷9. Это так называемый код с постоянным весом. Весом кода принято называть количество единичных двоичных разрядов, которое он содержит. Характерной особенностью этого кода является наличие двух единичных двоичных разрядов в коде каждого из символов. С помощью такого кода может быть представлено
символов (табл. 2).
Обнаружение искажений в коде символа осуществляется путем проверки в нем числа единиц. Для кода «2 из 5», как и для кода с контролем на четность, характерно то, что искажение одной двоичной цифры в любом разряде ведет к отклонению числа единиц от двух в коде символа. В самом деле, появление новой единицы вместо нуля приводит к трем единицам, а ее исчезновение — к одной единице в коде символа.
Таблица 2 - Кодировка символов кодом«2 из 5»
Символ |
Код |
|
Символ |
Код |
0 |
00011 |
|
5 |
01010 |
1 |
00101 |
|
6 |
10010 |
2 |
01001 |
|
7 |
01100 |
3 |
10001 |
|
8 |
10100 |
4 |
001100 |
|
9 |
11000 |
Аналогично можно доказать, что искажения трех любых двоичных цифр, а также в некоторых случаях двух двоичных цифр приводит к отклонению числа единиц от двух в коде символа. Не могут быть обнаружены в коде символа такие искажения двоичных цифр, которые приводят к одновременной замене 0 на 1 и 1 на 0 в одной или двух парах двоичных разрядов — это так называемые искажения смещения. Например, если код 01100 будет преобразован в результате искажений в код 10010. Здесь произошла замена 1 па 0 и 0 на 1 во 2-м и 1-м, а также в 3-м и 4-м двоичных разрядах. Таким образом, код «2 из 5» обнаруживает искажение в одном из двоичных разрядов кода символа, а также виды искажений, которые приводят к изменению числа единиц в коде символа. Для кода «2 из 5» число N=10, a N0=25= 32.
Доля обнаруживаемых искажений для кода «2 из 5» выше, чем для кода с контролем на четность с рассмотренным для него методом обнаружения искажений. Код «2 из 5» используется для представления цифровой информации в автоматизированных системах обработки цифровой информации. Вероятность появления необнаруженных искажений определяется формулой
При этом считается, что искажения двоичных цифр происходят независимо.
Код «3 из 7» качественно обладает свойствами, близкими к свойствам кода «2 из 5». Он используется тогда, когда необходимо передавать более 10 символов, например, в системах передачи информации с обратной связью для передачи по каналу обратной связи тестового сигнала. По наличию трех двоичных единиц в коде определяют отсутствие искажений в прямом канале. Для этого кода
Для кода «3 из 7» доля обнаруживаемых искажений среди всех возможных искажений наибольшая в сравнении с кодами «2 из 5» и с контролем четности.
Вероятность появления необнаруживаемых искажений для кода «3 из 7» при условии независимости искажений каждой двоичной цифры определяется по формуле:
При независимых ошибках двоичных, цифр нужно так выбирать разрешенные коды символов, чтобы наиболее часто встречающиеся комбинации искаженных двоичных цифр приводили к преобразованию разрешенных кодов символов в неразрешенные. В этом случае обнаруживающая способность кода будет тем выше, чем большим количеством двоичных цифр отличаются разрешенные коды между собой. Например, коды двух цифр, использующие код «2 из 5» 01100 и 01010, отличаются, между собой двумя двоичными цифрами (3-я и 4-я при счёте слева направо).
Минимальное число двоичных цифр, на которое отличаются все разрешенные коды символов между собой, называется кодовым расстоянием. Обозначим его буквой d. Для рассмотренных выше кодов кодовые расстояния равны 2.
Кратность q обнаруживаемых искажений двоичных цифр в коде символа связана с кодовым расстоянием и следующим соотношением:
d=q+1
Если, например, код символа имеет кодовое расстояние, равное 2, то q=1 и, следовательно, в таком коде может быть обнаружено искажение одной двоичной цифры. Существуют коды символов, позволяющие не только обнаруживать искажение двоичных цифр, но и исправлять эти искажения.
Предположим, что нам известны комбинации искаженных двоичных цифр, которые должны быть исправлены. Естественно, что код символа, содержащий эти комбинации искаженных двоичных цифр, не должен быть разрешенным кодом. Кроме того, неразрешенные коды символов, содержащие разные комбинации искаженных двоичных цифр, подлежащих исправлению, должны отличаться друг от друга. Нетрудно заметить, что число таких различных неразрешенных кодов будет равно Nо — N. Следовательно, максимальное количество рассматриваемых комбинаций двоичных цифр не может превышать N0 — N. Принцип исправления определенных заранее искаженных комбинаций двоичных цифр состоит и том, что при получении неразрешенного кода символа производится отождествление его с определенной комбинацией искаженных двоичных цифр. После выявления такой комбинации двоичных цифр легко осуществить восстановление разрешенного кода символа, который вследствие воздействия помех был превращен в неразрешенный. Поскольку мы можем обнаруживать N (N0 — N), а исправлять N0 — N искажений кодов символов, то доля исправляемых искажений равна
Кратность исправляемых искажений двоичных цифр связана с кодовым расстоянием и следующим соотношением:
d 2q+1.
Из формулы видно, что для исправления однократных искажений двоичных цифр необходимо выбирать код с d 3.
Рассмотрим для примера корректирующий код, исправляющий однократные ошибки. Одним из таких кодов является код Хэмминга.
Хэмминг предложил способ построения систематического кода, который при кодовом расстоянии, равном трем, исправляет однократные искажения. Кодовая комбинация состоит из п разрядов, в которых записать двоичные цифры. Разряды делят на информационные, в которых двоичными символами записано передаваемое сообщение, и контрольные, предназначенные для реализации корректирующих свойств кода. Код строится таким образом, чтобы двоичное число, которое образуют записанные в контрольных разрядах двоичные цифры, указывало, в каком из разрядов при передаче произошла ошибка. Таким ошибочным разрядом может быть любой разряд кодовой комбинации как информационный, так и контрольный. Контрольные разряды в коде Хэмминга расположены на 1, 2, 4, 8, 16... местах кодовой комбинации; остальные разряды являются информационными.
В каждом контрольном разряде записываем результат сложения по модулю 2 двоичных цифр в определенных информационных разрядах. Для 1-го разряда суммируем по модулю 2 цифры в 3, 5 и 7-м разрядах; получаем 0. Для 2-го разряда суммируем 3, 6 и 7-й разряды; получаем 1, и для 3-го — 5, 6 и 7, получаем 0. Полная кодовая комбинация имеет вид 0110011.
Предположим, что в процессе передачи произошло искажение в 3-м разряде слева в результате чего вместо 1 принят 0 и кодовая комбинация имеет вид 0100011.
Проверка на приемном конце заключается в суммировании по модулю 2 нескольких групп-разрядов и записи результатов в виде двоичного числа. В проверочные группы входят соответственно в первую —1, 3, 5, 7 разряды; во вторую — 2, 3, 6, 7; в третью — 4, 5, 6, 7 разряды. В результате трех проверок получаем число 011, указывающее в двоичной форме, что ошибки произошла в третьем разряде. Значение цифры в этом разряде надо заменить на обратное, после чего получаем правильную комбинацию.
Некоторое усложнение кода Хэмминга, заключающееся в добавлении поверочного разряда для контроля на четность, позволяет, кроме исправления одиночной ошибки, обнаружить наличие ошибки в двух разрядах.
Корректирующие коды применяются для обнаружения и исправления искажений не только при передаче, но и при хранении и обработке информации. При этом необходимо, чтобы код результата преобразования символов, построенных с использованием корректирующих кодов, также был корректирующим. Например, если дваслагаемых представлены кодовыми комбинациями кода с контролем на четность, то сумма также должна быть представлена кодом с контролем на четность. Такое свойство позволяет обнаруживать ошибки непосредственно по результату преобразования кодов.
Корректирующие коды, обладающие таким свойством, называются арифметическими. Код Хэмминга также является арифметическим кодом. Он успешно применяется при кодировании информации в ЭВМ.
Мы рассмотрели лишь простейшие корректирующие коды. Существуют более сложные коды, обладающие более мощными корректирующими возможностями. С ними целесообразнее ознакомиться с помощью специальной литературы.