- •Список сокращений
- •1. Эис, их классификация и принципы построения
- •1.1. Понятие системы
- •1.2. Понятие эис. Назначение эис
- •1.3.Классификация эис
- •1.4. Основные принципы и методы построения эис.
- •1.4.1. Принципы построения и функционирования эис.
- •1.4.2.Структурный и объектно-ориентированный подходы к проектированию.
- •1.4.3.Понятие жизненного цикла эис.
- •Вопросы для повторения
- •Понятие системы.
- •Резюме по теме
- •2.Теоретические основы работы с информацией
- •2.1. Понятие информации
- •2.2. Измерение количества информации
- •2.3.Кодирование информации
- •2.3.1.Оптимальное основание кода
- •2.3.2.Запись натурального числа в двоичной системе
- •2.3.3.Код Грэя
- •2.3.4.Оптимальное кодирование
- •2.3.5.Помехозащищенное кодирование
- •2.4.Методы организации данных в памяти эвм
- •2.4.1.Типы данных, сд и атд
- •2.4.2.Время выполнения программ
- •2.4.3.Списки
- •2.4.4.Реализация списков
- •Реализация списков посредством массивов
- •Реализация списков с помощью указателей
- •2.4.5.Стеки
- •2.4.6. Очереди
- •2.4.7.Графы и деревья
- •2.4.8.Некоторые сд для хранения графов и деревьев
- •Вопросы для повторения
- •Резюме по теме
- •3. Особенности работы с экономической информацией
- •3.1.Классификация и кодирование экономической информации.
- •3.2.Единая система классификации и кодирования
- •3.3.Штриховое кодирование
- •Алгоритм расчета контрольного разряда ean
- •Вопросы для повторения
- •Резюме по теме
- •4.Модели данных
- •4.1.Атрибуты, составные единицы информации, показатели, документы
- •4.2.Операции над сеи
- •4.3.Реляционная модель данных
- •4.3.1. Отношения, как основа реляционной модели данных
- •4.3.2. Операции над отношениями
- •4.3.3. Нормализация отношений
- •4.3.4. Функциональные зависимости
- •4.3.5. Нормальные формы
- •Вопросы для повторения
- •Операции над сеи.
- •Операции над отношениями.
- •Резюме по теме
- •5.Модели знаний
- •5.1. Классификация знаний
- •5.2. Продукционная модель представления знаний
- •5.3.Представление знаний в виде семантической сети
- •5.4. Фреймовая модель представления знаний
- •5.5. Логическая (предикатная) модель представления знаний
- •Классификация знаний.
- •6.2.Структурная модель предметной области
- •6.2.1.Функциональная методология idef0
- •6.2.2. Функциональная методика потоков данных
- •6.3.Объектная модель предметной области
- •6.4. Сравнение методик моделирования предметной области
- •Вопросы для повторения
- •Понятие модели предметной области.
- •Резюме по теме
- •Литература Рекомендуемая основная литература
- •Рекомендуемая дополнительная литература
- •Задачник Введение
- •Краткое изложение используемых методов решения и основных теоретических положений
- •Примеры решения типовых задач
- •Задачи для самостоятельного решения
- •Практикум (лабораторный) Лабораторная работа №1. Кодирование информации
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Понятие информации.
- •Способ оценки результатов
- •Пример выполнения работы
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Список индивидуальных данных
- •Пример выполнения работы
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
2.3.4.Оптимальное кодирование
До
сих пор не учитывалось, что сообщения
могут иметь различную вероятность
появления. Пусть необходимо передать
четыре сообщения A,B,C,D.
Если их закодировать двоичным кодом,
то получим четыре кодовых комбинации
00, 01, 10, 11. При равной вероятности каждого
сообщения
использование такого способа кодирования
очевидно. Если же одно из сообщений
встречается чаще других, то его следует
кодировать более коротким словом, тогда
как более редкие сообщения можно
кодировать более длинным словом.
Один из способов построения оптимальных кодов заключается в следующем:
1. Сообщения разбиваются на две группы таким образом, чтобы сумма вероятностей в каждой группе была примерно одинакова. Одной группе приписывается символ 1, другой – 0.
Далее каждая из групп разбивается по такому же правилу, и вновь образовавшимся подгруппам также приписываются символы 1 и 0.
2. Разбиение (пункт 1) заканчивается тогда, когда в каждой подгруппе останется по одному сообщению. Совокупность символов, приписанных сообщениям в процессе разбиения, дает коды этих сообщений.
Пусть
.
Тогда процесс построения оптимального
кода будет следующий:
после первого разбиения в первой группе останется единственное сообщение , во второй -
;после второго разбиения в первой группе -
,
во второй -
;после третьего разбиения в первой группе -
,
во второй -
.
Третье разбиения будет последним, т.к. после него в каждой группе останется по одному сообщению. Данный процесс проиллюстрирован в таблице 2.2 и на рис.2.6.
Таблица 2.2 |
|||||
Процесс построения оптимальных кодов |
|||||
Сообще-ние |
Вероятность появления сообщения |
Разбиения |
Код сообщения |
||
1 |
2 |
3 |
|||
A |
0.5 |
1 |
|
|
1 |
B |
0.25 |
0 |
1 |
|
01 |
C |
0.125 |
0 |
0 |
1 |
001 |
D |
0.125 |
0 |
0 |
0 |
000 |
Используя
формулу
,
найдем количество
информации, приходящееся на одно
сообщение (энтропию):
бит на сообщение.
Среднюю
длину кода, т.е.
среднее число бит, приходящихся на одно
сообщение, вычислим по формуле
,
где
- число бит, требуемое для кодирования
i-го
сообщения. Для полученного оптимального
кода имеем:
.
При равномерном
кодировании
,
в нашем случае (коды
00,01,10,11) :
.
При
рассмотренном способе оптимального
кодирования среднее число бит,
приходящихся на
одно сообщение находится в пределах от
H
до
.
Энтропия - это минимально возможное
среднее число бит, которым может быть
закодировано одно сообщение. В
рассмотренном алгоритме построения
оптимальных кодов n=H
получается не всегда. Есть другие способы
построения оптимальных кодов, позволяющие
получить n=H,
например, алгоритм арифметического
кодирования.
