Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Бездудный, В. Г. Техника безопасности в шахтном строительстве

.pdf
Скачиваний:
5
Добавлен:
22.10.2023
Размер:
10.55 Mб
Скачать

называется спиральной (рис. 49, в). Спиральная проверка позволяет обнаруживать также большой процент ошибок четной кратности, так как в этом случае смежные ошибочные разряды попадают в различные линии проверки. Если на четность символы проверяются и по строкам,

и по столбцам одновременно, то такая проверка называется перекрест­ ной (рис. 49, г). При перекрестной проверке кодовое расстояние d > 4.

Возможны еще более сложные проверки, которые еще больше увеличивают кодовое расстояние и сводят процент необнаруженных

Таблица 30

Удельные веса ошибок, возникающих при кодировании информации на перфокарты

 

 

Удельный

Шифр

Ошибка

вес ошибки

(в % к обще­

 

 

му количеству

 

 

ошибок)

и

12

21

22

31

32

41

42

51

52

53

61

62

71

81

Пробивка лишней перфокарты

3,6

Пропуск перфокарты

5,5

Пробивка лишнего числа в карте

1,1

Пропуск числа

1,9

Пробивка лишней цифры в числе

2Д

Пропуск цифры в числе

3,7

Пробивка другого числа

6,5

Пробивка другой цифры

55,8

Сдвиг на одну колонку

7,3

Сдвиг на две колонки

1,6

Сдвиг более чем на две колонки

■ 0,4

Перестановка чисел

0,4

Перестановка соседних цифр в числе

4,1

Ошибки по причине нечеткой записи в первичном документе

2,4

Ошибки по причине неисправности машины

3,6

'

 

ошибок к нулю. К таким проверкам относится, например, проверка, в которой помимо контроля на четность по вертикали и горизонтали, добавляется контроль по диагонали. При этом 5, но приемная аппаратура увеличивается минимум на шесть счетчиков по модулю 2. Поэтому данный метод контроля применяется только в тех особых

170

случаях, когда аппаратурное усложнение оправдано необходимостью выполнения особо высоких требований к точности передаваемой ин­ формации.

Обнаружение ошибок при механизированной обработке информа­ ции имеет свою специфику и свои традиционные методы. Дело в том, что в настоящее время кодирование информации на машинные носители выполняют с помощью машин, имеющих ручной ввод данных. При этом операторы допускают определенные ошибки. Многолетняя ста­ тистика позволила систематизировать эти ошибки, как показано в

Таблица 31

Распределение ошибок по признакам «единичные» и «множественные».

Удельный вес ошибок (в % к общему количеству ошибок)

Шифр

Ошибка

11,

12

Пробивка лишней карты или пропуск

 

 

карты

21,

22

Пробивка лишнего числа или пропуск

 

 

числа в карте

31,

32

Пробивка лишней или пропуск цифры в

 

 

числе

41Пробивка другого числа в результате се­ рийного промаха

42Единичные промахи

51, 52, 53 Сдвиги

61, 62 Перестановка цифр

71Неправильное прочтение первичного до­ кумента

81 Неисправность машины

Единичные

Множест­

Особые

венные

 

 

9,09

_

2,99

_

 

 

_

5,84

 

 

 

___

6,5

_

55,7

-- .

9,3

—■

4,47

2,4

____

____

 

 

3,64

 

 

 

 

табл. 30 и табл. 31 [1 ]. Как видно из этих таблиц, наибольшее количест­ во ошибок возникает, когда оператор вместо одной клавиши нажимает другую. Ошибки могут возникать и непосредственно в машине, но это будут ошибки, сходные с теми, что возникают от помех в каналах связи, и будут носить случайный характер. А ошибки «пробивка дру­ гого числа», «перестановка чисел», «перестановка соседних цифр в чис­ ле» характерны для человека. Эти ошибки, составляющие при ручном вводе данных 11% всех ошибок, весьма редко встречаются при передаче данных по каналам связи.

Известные статистические данные о характере ошибок дают воз­ можность упростить процесс их обнаружения. Однако в настоящее время эта статистика еще не достаточно полно используется. Наиболь­ шее распространение в практике обнаружения ошибок, возникающих при механизированной обработке информации, получили методы конт­ роля по модулю, по сумме, по произведению, по запрещенной части кодовой комбинации, на основе запрещения использования части символов.

171

Контроль по модулю заключается в том, что для обнаружения оши­ бок используется признак делимости, а в качестве проверочных раз­ рядов к кодовой комбинации дописывается разрешенный остаток от деления.

Простейшим случаем контроля по модулю является проверка на четность. В качестве проверочного разряда используется 0 или 1 в за­ висимости от того, четное или нечетное число единиц в кодовой комби­ нации. В качестве делителя следует использовать простые числа 2, 3, 5, 7, 11, 13... Запись соответствия числа заданному условию по признаку делимости имеет вид

A s s К (модуль Щ

и читается так: число А сравнимо с числом К по модулю М, т. е. при делении числа А на М в остатке окажется число К. Например, 49 == 0 (модуль 7); 50 == 1 (модуль 7); 25 == 4 (модуль 7). Передавае­ мые цифровые коды будут иметь соответственно вид 490; 501; 254.

Контроль по сумме и контроль по произведению могут рассматри­ ваться как модификации контроля по модулю. Машица автоматически суммирует цифры, затем производится деление на модуль. Если ошибки отсутствуют, в остатке должен быть 0. Для того чтобы упростить про­ цесс нахождения проверочного разряда, его выбирают таким, чтобы цифры информационных и проверочного разрядов давали в сумме чис­ ло, кратное 10 (хотя можно выбирать и любой другой модуль). Пред­ положим, требуется передать числа 5371, 2431, 1743. Суммы информа­

ционных

разрядов:

5 + 3 + 7

+ 1 = 16; 2 + 4 + 3 + 1 = 10 и

1 + 7 +

4 + 3 = 15.

До чисел,

кратных 10, нехватает соответствен­

но четырех, ноля и пяти. Следовательно, полные кодовые комбинации: 53714, 24310 и 17435.

Недостаток метода контроля по сумме состоит в том, что ошибки, возникающие в результате перестановки цифр и составляющие, согласно табл. 31,4,47% от общего числа ошибок, остаются не обнаруженными.

Контроль по произведению является более надежным методом с точ­ ки зрения обнаружения ошибок. При контроле по произведению про­ верочный разряд находится как дополнение к сумме произведения цифр информационных разрядов на номер информационного разряда в пол­ ной кодовой комбинации: эта сумма должна делиться на выбранный модуль без остатка. Так, для предыдущего примера проверочные раз­ ряды будут выбираться следующим образом. Суммы произведений цифр информационных разрядов на номер информационного разряда в полной кодовой комбинации: 5 - 5 + 3 - 4 + 7 - 3 + 1 - 2 = 60;

2 - 5 + 4 . 4 + 3 . 3 + 1 . 2 = 3 7 и 1 . 5 + 7 - 4 + 4 . 3 + 3 . 2 = = 51; проверочные разряды: 0, 3 и 9; полные кодовые комбинации: 53710, 24313 и 17439.

Контроль по произведению дает возможность обнаруживать все единичные и многие множественные ошибки.

Недостатки метода контроля по произведению: сложность (при обработке пятизначного числа, имеющего четыре информационных

172

разряда, машина выполняет четыре операции умножения, пять опера­ ций сложения, одну операцию деления, одну операцию сравнения — всего 11 операций); кроме того не указывается адрес ошибки.

Контроль на основе использования принципа делимости позволяет исправлять ошибку, то есть указывает адрес ошибки, и может быть осуществлен для кодов с соотношением информационных и провероч­ ных разрядов, соответствующих табл. 21.

В качестве примера рассмотрим семизначный код с соотношением информационных и проверочных символов 4 : 3. Схема вычисления проверочных знаков для кода с четырьмя информационными пи тремя

Таблица 32

Схема вычисления проверочных знаков для кода с четырьмя информационными и тремя проверочными знаками

 

Информационные разряды

 

 

Проверочные разряды

 

Тысячи

Сотни

Десятки

Единицы

А

В

с

 

А

А

А

А

 

в

'--

В

В

в

с

С

С

С

проверочными знаками приведена в табл. 32 [1]. Значения провероч­ ного разряда находят следующим образом. Проверочный знак А обра­ зуют путем дополнения до числа, кратного выбранному модулю, суммы цифр информационного числа, стоящих в разряде сотен, десятков и единиц; В — тысяч, десятков и единиц; С — тысяч, сотен и единиц.

Например, для информационного числа

5371

и модуля

10 получим:

Л = 3 + 7 + 1 = 11; £ = 5 + 7 + 1 =

13

и С = 5 +

3 + 1 = 9.

Для того чтобы сумма информационных и проверочных разрядов делилась на 10, значения проверочных разрядов Должны быть: 9,7 и 1. Полная кодовая комбинация 5371971.

Адрес ошибки обнаруживают по следующему правилу: если про­ верочные разряды полученного числа отличаются во всех трех знаках Л, £ и С (табл. 32), то ошибка в разряде единиц; если отличие в знаках Л и £ — ошибка в разряде десятков; в Л и С — в разряде сотен; в £ и С — в разряде тысяч; если расхождение только в одном разряде, то ошибка в самом проверочном разряде. Предположим, было передано

число 5371971, а принято

5381971.

1-я проверка:

3 +

8

+

1 =

12;

20 — 12 =

8; Л = 8.

2-я

проверка:

5 +

8 + 1 =

14;

20

14 =

6;

£ = 6. 3-я

проверка:

5 +

3 + 1 =

9; 10

— 9 = 1 ;

С =

1.

Отличие

в знаках Л и £ . Значит, ошибка в разряде

десятков

информационной

части кода.

В случае двоичных кодов исправление ошибки свелось бы к изме­ нению знака в ошибочном разряде (сравните алгоритм исправления ошибки в аналогичном коде Хэмминга, тема 13). В рассматриваемом

173

случае алгоритм обнаружения ошибки значительно сложнее: Z =■ Z0U1—-Кош),

где Zom — ошибочная цифра; К — правильная цифра проверочного разряда; Кош — цифра проверочного разряда, полученная в результа­ те контрольных проверок.

Для рассматриваемого примера правильная цифра

1 = 8 — (7 — 6) = 7

или

Z = 8 — (9 — 8) = 7.

Если Z получится отрицательным числом, то следует брать его допол­ нение до модуля. Если Z получается больше модуля, то от Z вычитае­ тся значение модуля.

Кодовая

книга на

100 слов

при d 2

 

 

 

 

Таблица 33

 

 

 

 

 

 

 

 

 

 

 

 

Разряд

сотен

 

 

 

 

Разряд

 

 

 

 

 

 

 

 

 

 

десятков

0

1

2

3

4

5

6

7

8

9

 

 

0

 

001

102

203

304

405

506

607

708

809

900

1

 

012

113

214

315

416

517

618

719

810

911

2

 

023

124

225

326

427

528

629

720

810

922

3

 

034

135

236

337

438

539

630

731

832

933

4

 

045

146

247

348

449

540

641

742

843

944

5

 

056

157

258

359

450

551

652

753

854

955

6

 

067

168

269

360

461

562

663

764

865

966

7

 

078

179

270

371

472

573

674

775

876

977

8

 

089

180

281

382

483

584

685

786

887

988

9

 

090

191

292

393

494

595

696

797

898

999

Контроль по запрещенной части кодовой комбинации основан на том, что из общего числа кодов данной длины выбирается часть кодов

скодовым расстоянием d >• 2. Остальные кодовые комбинации счи­ таются запрещенными. Появление запрещенной комбинации говорит о наличии ошибки. Например, если пятизначный двоичный код раз­ делить на две части таким образом, чтобы в одной из них разрешенными были комбинации только с четным количеством единиц, а во второй —

снечетным, то получается два отдельных кода, обнаруживающих оди­ ночную ошибку (см. тему 13). Обнаружить ошибку элементарно: про­ веркой на четность.

-В случае цифровых кодов, применяемых при механизированной об­ работке информации, в памяти машины записывается кодовая книга — перечень разрешенных комбинаций. Каждая вновь поступившая ком­ бинация сравнивается с разрешенными по кодовой книге, и при отсут­ ствии поступившей комбинации среди разрешенных вырабатывается сигнал ошибки. В качестве примера кодовой книги с d = 2 приведена

174

табл. 33. Естественно, при помощи такой кодовой книги обнаружить адрес ошибки нельзя, так как для этого кодовое расстояние должно быть d > 3.

Кодовая книга с d = 3 изображена в табл. 34. Процесс обнаруже­ ния и исправления ошибки рассмотрим на следующем примере. Пред­ положим, в результате ошибки вместо разрешенного числа 4487 при­ нято число 4488. Первая проверка: Х488, если в кодовой книге (табл. 33) есть числе, оканчивающееся на 488, то ошибка в первом раз­ ряде. Результат проверки: такого числа нет. Вторая проверка: 4X88,

Кодовая книга на 90 слов при d =

3

 

 

 

 

Таблица 34

 

 

 

 

 

 

 

 

 

 

 

Разряд тысяч

 

 

 

 

Разряд

 

 

 

 

 

 

6

 

 

 

сотен

0

1

2

3

4

5

7

8

9

0

0009

1017

2025

3033

4041

5058

6066

7074

8082

1

0118

1126

2134

3142

415Q

5167

6175

7183

8191

2

0227

1235

2243

3251

4269

5276

6284

7292

8200

3

0336

1344

2352

3360

4378

5385

6393

7301

8319

4

0445

1453

2461

3479

4487

5494

6402

7410

8428

5

0554

1562

2570

3588

4596

5503

6511

7529

8537

6

0663

1671

2689

3697

4605

5612

6620

7638

8646

 

7

0772

1780

2798

3706

4714

5721

6739

7747

8755

8

0881

1899

2807

3815

4823

5830

6848

7856

8864

9

0990

1908

2916

3924

4932

5949

6957

7965

8973

*—

если в кодовой книге есть число, которое начинается на 4 и оканчивается на 88, то ошибка во втором разряде. Результат проверки: такого числа нет. Третья проверка: 44X8, если в кодовой книге есть число, начи­ нающееся на 44 и оканчивающееся на 8, то ошибка в третьем разряде. Результат проверки: такого числа нет. Четвертая проверка: 448Х, если в кодовой книге есть число, которое начинается на 448, то ошибка в четвертом разряде. Результат проверки: такое число есть — 4487. Вывод: ошибка в четвертом разряде, цифру следует изменить на 7.

Контроль на основе запрещния использования части символов

единственный метод, учитывающий статистику ошибок, возникающих при механизированной обработке.

Анализ ошибок, возникающих при кодировании информации на машинные носители, вызывает следующие соображения. Наибольшее количество ошибок происходит в результате того, что оператор попадает на соседние клавиши, главным образом, по вертикали. Уменьшить вероятность таких ошибок можно, исключив из шифров соседние цифры либо видоизменив клавиатуру перфоратора. Много ошибок возникает от неправильного чтения первичного документа. Путаются цифры О и 9, 4 и 9, 4 и 7. Уменьшить вероятность таких ошибок можно, исклю­ чив из шифров символы 0 и 4. Большой процент ошибок возникает

175

в результате перестановки цифр. Ликвидировать эти ошибки можно путем такого построения кода, при котором все кодовые комбинации идут в возрастающей (либо в убывающей) последовательности. Много ошибок возникает от того, что в результате неисправности машины (пер­ форатора) часть позиций на информационном носителе остается не пробитой, а это воспринимается впоследствии как 0. Для избежания таких ошибок исключают 0 из разрешенных символов кодовых ком­ бинаций.

В качестве примеров в табл. 35 и 36 приведены коды, построенные по принципу запрещения части символов. В коде табл. 35 отсутствует 0,

Двузначный

код на 45

слов (цифра

0 запрещ ена)

 

 

 

Таблица 35

 

 

 

 

 

 

 

 

 

 

Десятки числа

 

 

 

 

Единицы

 

 

 

 

 

 

 

 

 

 

числа

0

1

2

3

4

. 5

6

7

8

9

 

0

 

11

 

 

 

 

 

 

 

 

1

22

 

 

 

 

 

 

 

2

12

— .

3

13

23

33

— .

4

_

14

24

34

44

_

_

5

15

25

35

45

55

6

16

26

36

46

56

66

7

17

27

37

47

57

67

77

8

18

28

38

48

58

68

78

88

9

 

19

29

39

49

59

69

79

89

99

а цифры в каждом кодовом слове следуют в возрастающем порядке. Поэтому такой код позволяет обнаруживать: все ошибки по перестанов­ ке; все промахи на нуль; все случаи непробивки отверстий; большин­ ство ошибок, обозначенных в табл. 30 и 31 под шифрами 22, 32, 51, 52, 53, 71. Код табл. 36, в котором отсутствуют цифры 0, 4, 5 и 6, кроме перечисленных ошибок, позволяет обнаруживать все промахи на соседние клавиши по вертикали (самый большой процент ошибок) и все промахи по диагонали, в которых участвуют цифры 0, 4, 5, 6.

Анализ, проведенный в работе [1], показывает, что кодом табл. 34 обнаруживается 74,9% всех ошибок, кодом табл. 35 — 37,5%, а ко­ дом табл. 36 — 65,6%, Коэффициенты емкости этих кодов составляют

соответственно К =

» 0,1, К = -|§ - » 0,45 и К =

ж 0,21.

Как Видим, код табл. 36 имеет в два раза меньшую избыточность, чем код табл. 34, а процент обнаружения ошибок лишь на 9,3% меньше.' Однако, если учитывать специфику экономической информации, выигрыш в избыточности может оказаться еще более ощутимый. Так, например, при исключении трех видов клавиш используется 49 пози­ ций из 100. Двузначный код видов оплат использует только 40—45 позиций из 99 возможных (по числу видов оплат). Для такого кода

176

при исключении трех знаков помехоустойчивость значительно увели­ чится без введения дополнительной избыточности. То же самое можно сказать по поводу кодов балансовых счетов, статей цеховых и обще­ заводских расходов, групп материальных ценностей и т. д.

Сжатие технико-экономической информации при ее машинной обработке. Необходимость хранения в памяти ЭВМ огромных массивов технико-экономической информации, которые возникают в процессе

Таблица 36

Двузначный код на 21 слово (запрещены цифры 0, 4, 5, 6 и оставлены только восходящие значения цифр в числе)

ее механизированной обработки, заставляет ученых вести непрерывные поиски все более и более эффективных способов сжатия информации. Сколь бы совершенной ни была память ЭВМ, вместить в себя весь побуквенный код слов, которые составляют словари современных инфор­ мационно-поисковых и информационно-управляющих систем, она прак­ тически не может. Действительно, если взять слово «монтаж» в широко распространенном неизбыточном (т. е. в одном из кратчайших) двоич­ ном коде Бодо, то адрес этого слова занял бы 30 двоичных разрядов. Очевидно, что память машины, хранящей такие длинные адреса, не сможет хранить много слов, тем более словосочетаний или текстов. Кроме того, слишком длинные адреса усложняют и удорожают про­ цедуру поиска.

Сжатие информации представляет собой такую форму кодирования, в результате которой данному сообщению ставится в соответствие дру­ гое, более короткое. Аннотирование, реферирование и даже оптималь­ ное кодирование являются примерами сжатия информации. Однако здесь мы остановимся лишь на некоторых, наиболее характерных, способах сжатия информации непосредственно при помощи ЭВМ.

Вопросами сжатия информации машинными способами одним из первых советских ученых занялся Л. Н. Королев. Он предложил три способа сжатия:

177

1)отбрасывание разрядов слова, превышающего некоторую на­ перед заданную величину а;

2)деление кода на части, меньшие а хотя бы на один разряд, и сложение их по правилам двоичной арифметики. Например, исходный код 100011101011101111011, а = 9. Делим код на части < а 1000111, 0101110,1111011. Слагаем эти части:

1000111

+0101110

1111011

11101100

Сжатый код 11101100; 3) аналогичный способу 2, но сложение производится по моду­

лю 2. Например, для предыдущего исходного кода

1000111

001 0 11 1 0

1111011

0010010

Сжатый код 0010010. Применение этого способа позволяет почти в два раза сократить объем машинного словаря исходных слов и разме­ стить сжатый код вместе со своим номером по машинному словарю в одной ячейке.

При рассмотренных способах сжатия информации возможны ва­

рианты,

когда для различных слов может быть получен один и тот же

код, но

вероятность этого мала. Например, для словаря из N =

1100 слов при а — 30 двоичных разрядов средняя вероятность неод­ нозначного сжатия с использованием третьего способа равна 0,0005.

Большой практический интерес представляет собой способ по­ словного сжатия, предложенный К- И. Курбаковым и Р. В. Смирновым. При этом кодирование осуществляется путем преобразования кодов букв исходного слова в двоичный код его адреса. Например, слово «га­ зета» кодом с т = 8 (где т — длина кодовой комбинации буквы) коди-

руется так: г — 01000111; а — 11110000; з — 01100011; е — 00010111;

т — 11011000. Сжатие такого кода К. И. Курбаков и Р. В. Смирнов предлагают осуществлять путем сложения по модулю 2 с побуквенным сдвигом в каждом разряде:

 

11110000

а

 

11011000

т

 

00010111

е

+

01100011

з

 

11110000

а

01000111 г

1001100010011

Сжатый код 1001100010011.

178

Однако сжатые коды, полученные таким способом, не всегда удо­ влетворяют требованиям к максимальной длине слова, записываемого в ЗУ. Допустимое количество разрядов сжатого кода является вполне определенной величиной, зависящей от способа кодирования и от ем­ кости ЗУ. Количество адресов, а следовательно, и количество кодов определяется из следующего соотношения:

2"макс< М ,

(104)

где «марс — максимально допустимая длина (количество двоичных разрядов) сжатого кода; М — возможное количество адресов в ЗУ.

Рис. 50. К объяснению сжатия кодов путем побуквенного сдвига.

Если представить процесс побуквенного сдвига в общем виде, как показано на рис. 50, а, то длина сжатого кода

п = k -\-tn ,

где k — число побуквенных сдвигов; т — длина кодовой комбинации буквы.

Так как сдвигаются все буквы, кроме первой, то число сдвигов

k = L — 1,

где L — число букв в слове. Тогда п = т + (L — 1).

В русском языке наиболее длинные слова имеют 23—25 букв. Если принять Тмакс == 23 с условием осуществления побуквенного сдвига с каждым шагом ровно ца один разряд, для п я т могут быть получены следующие соотношения:

т— 6, «макс “ 28,

т= 7, «макс ~ 29,

т= 8; «макс = 30;

т= 9; «макс 31.

Если значение « макс не удовлетворяет неравенству (104), конечные буквы слова можно складывать по модулю 2 без сдвига относительно

179

Соседние файлы в папке книги из ГПНТБ