Связь формул К. Шеннона и Р. Хартли




Следуя [391], приведем вывод выражения Шеннона (4.2) непосредственно из выражения Хартли для количества информации: I=Log2(N).

Пусть события исходного множества мощности N равновероятны:

тогда учитывая, что непосредственно из формулы Хартли получаем

Остается предположить, что это выражение верно и для случая, когда события неравновероятны [391]. В этом предположении и состоит обобщение Клода Шеннона, составившее целую эпоху в развитии современной теории информации.

Сравнение подходов Р. Хартли и К. Шеннона

Чрезвычайно важным и принципиальным является то обстоятельство, что для построения меры Хартли используется лишь понятие многообразие, которое накладывает на элементы исходного множества ишь одно условие (ограничение): должна существовать возможность отличать эти элементы один от другого.

В теории Шеннона существенным образом используется статистика, причем предполагается, что случайные события (состояния системы) распределены по нормальному закону.

Таким образом, различие между подходами Хартли и Шеннона к построению теории информации соответствует различию между непараметрическими и параметрическими методами в статистике. Если говорить более конкретно, то, очевидно, что мера Шеннона асимптотически переходит в меру Хартли при условии, что вероятности всех событий (состояний) равны. В статистике доказано фундаментальное свойство энтропии случайного процесса, состоящее в том, что при условии нормальности распределения и достаточно больших выборках все множество событий можно разделить на две основные группы:

· высоковероятные события (считающиеся заслуживающими изучения);

· маловероятные события (считаются __________не заслуживающими особого внимания).

Причем высоковероятные события с высокой точностью равновероятны. При увеличении размерности выборки доля "заслуживающих внимания" событий неограниченно уменьшается, и мера Шеннона асимптотически переходит в меру Хартли. Поэтому можно считать, что при больших нормально распределенных выборках мера Хартли является оправданным упрощением меры Шеннона.

Кодирование информации

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

Для измерения количества информации используют 1 бит – один символ двухбуквенного алфавита, состоящего из нулей и единиц {0, 1}.

Кроме этого используются также следующие единицы:

1 байт=8 бит,

1024 байт=1 Кбайт,

1024 Кбайт=1 Мбайт,

1024 Мбайт=1 Гбайт.

 

 

Кодировка чисел

Целые числа в системе счисления с любым основанием (2, 10, 16 и т.д.) всегда представляются точно.

Так, любое целое число представляется в виде суммы степеней числа, лежащего в основании системы счисления с соответствующими коэффициентами — от 0 до 9 в десятичной, 0 и 1 в двоичной, от 0 до F (15) в шестнадцатеричной системах. Для определенности остановимся на двоичном представлении. При этом, как показано выше, чем большее количество двоичных разрядов отводится под хранение целого числа, тем больше возможный диапазон изменения его значений. Минимальное количество использующихся двоичных разрядов (применительно к компьютерным технологиям) равно 8, что составляет 1 байт.

Легко убедиться, что 8 двоичных разрядов позволяют закодировать числа от 0 до 255. Если же отвести один из разрядов под хранение знака числа, то те же 8 разрядов обеспечат возможность кодировки целых чисел от -128 до 127.

Для кодировки вещественных чисел, когда необходимо учесть и десятичную часть числа, используется особая форма представления — с плавающей точкой:

X = M * 2P

Здесь M — так называемая мантисса, Р — порядок.

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

Кодировка символов

Кодировка символов применительно к компьютерным приложениям базируется обычно на системе кодировки ASCII (American Standard Code for Information Interchange- Американский стандартный код для обмена информацией) — 256 различных, упорядоченных по коду (номеру) символов. Значения кода — целые числа от 0 до 255.

Для кодирования одного символа используется 8 битов, или 1 байт. В этом легко убедиться, если записать значения кодов в двоичной системе. Существует много систем кодировки, основанных на выделении 1 байта для кодирования одного символа (ANSI, KOI-8 и т.д.). В последнее время получила распространение система Unicode, использующая для кодировки одного символа 2 байта. Это резко расширило возможности, позволив кодировать более чем 65000 различных символов уникальными кодами.

Кодировка изображений

Под изображением будем понимать прямоугольную область, закрашенную непрерывно

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

Для описания областиона разбивается на множество точечных элементов – пикселов [pixel]. Само множество называется растром [bit map, dot matrix, raster] (см. рис. 1.3), а изображения, которые формируются на основе растра, называются растровыми.

Рис. 1.4 Дискретизация области изображения.

Число пикселов называется разрешением [resolution]. Часто встречаются значения 640х480, 800х600,

1024х768, 1280х1024. Каждый пиксел нумеруется, начиная с нуля слева направо и сверху вниз.

Для представления цвета используются цветовые модели.

Цветовая модель [color model] это правило, по которому может быть вычислен цвет. Самая простая цветовая модель – битовая. В ней для описания цвета каждого пиксела (чёрного или белого) используется всего один бит. Для представления полноцветных изображений используются несколько более сложных моделей.

Известно, что любой цвет может быть представлен как сумма трёх основных цветов: красного, зелёного и синего. Если интенсивность каждого цвета представить числом, то любой цвет будет выражаться через набор из трёх чисел. Так определяется наиболее известная цветовая RGB-модель. На каждое число отводится один байт. Так можно представить 224 цвета, то есть примерно 16,7 млн. цветов. Белый цвет в этой модели представляется как (1,1,1), чёрный – (0,0,0), красный (1,0,0), синий (0,0,1). Жёлтый цвет является комбинацией красного и зелёного и потому представляется как (1,1,0).

Цветовая модель RGB [Red-Green-Blue] была стандартизирована в 1931 г. и впервые использована в цветном телевидении. Модель RGB является аддитивной моделью, то есть цвет получается в результате сложения базовых цветов. Существуют и другие цветовые модели, которые для ряда задач оказываются более предпочтительными, чем RGB-модель.

Например, для представления цвета в принтере используется субтрактивная CMY-модель [Cyan- Magenta-Yellow], цвет в которой получается в результате вычитания базовых цветов из белого цвета.

Белому цвету в этой модели соответствует (0,0,0), чёрному - (1,1,1), голубому - (1,0,0), сиреневому - (0,1,0), жёлтому - (0,0,1).

В цветовой модели HSV [Hue-Saturation-Value] цвет представляется через цвет, насыщенность и значение, а в модели HLS [Hue-Lightness-Saturation] через оттенок, яркость и насыщенность. Современные графические редакторы, как правило, могут работать с несколькими цветовыми моделями.

Наиболее популярными являются графические форматы: BMP [Bit MaP], PCX, GIF [Graphics Interchange Format], TIFF [Tagged Image File Format], JPEG [Joint Photographic Experts Group], которые по существу различаются между собой используемыми методами сжатия. Форматы BMP и PCX используют RLE-алгоритм, форматы GIF и TIFF – LZW-алгоритм, JPEG использует одноимённый алгоритм сжатия.

Сжатие данных

Характерной особенностью большинства типов данных является их избыточность. Степень избыточности данных зависит от типа данных. Например, для видеоданных степень избыточности в несколько раз больше чем для графических данных, а степень избыточности графических данных, в свою очередь, больше чем степень избыточности текстовых данных. Другим фактором, влияющим на степень избыточности является принятая система кодирования. Примером систем кодирования могут быть обычные языки общения, которые являются ни чем другим, как истемами кодирования понятий и идей для высказывания мыслей. Так, установлено, что кодирование текстовых данных с помощью средств русского языка дает в среднем избыточность на 20—25% большую чем кодирование аналогичных данных средствами английского языка.

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

В зависимости от того, в каком объекте размещены данные, подлежащие сжатию различают:

1. Сжатие (архивация) файлов: используется для уменьшения размеров файлов при подготовке их к передаче каналами связи или к транспортированию на внешних носителях маленькой емкости;

2. Сжатие (архивация) папок: используется как средство уменьшения объема папок перед долгим хранением, например, при резервном копировании;

3. Сжатие (уплотнение) дисков: используется для повышения эффективности использования дискового просторную путем сжатия данных при записи их на носителе информации (как правило, средствами операционной системы).

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

Если при сжатии данных происходит изменение их содержимого, то метод сжатия называется необратимым, то есть при восстановлении (разархивировании) данных из архива не происходит полное восстановление информации. Такие методы часто называются методами сжатия с регулированными потерями информации. Понятно, что эти методы можно применять только для таких типов данных, для которых потеря части содержимого не приводит к существенному искажению информации. К таким типам данных относятся видео— и аудиоданные, а также графические данные. Методы сжатия с регулированными потерями информации обеспечивают значительно большую степень сжатия, но их нельзя применять к текстовым данным. Примерами форматов сжатия с потерями информации могут быть:

• JPEG — для графических данных;

• MPG — для для видеоданных;

• MP3 — для аудиоданных.

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

сравнению с необратимыми методами сжатия. Примеры __________форматов сжатия без потери информации:

• GIF, TIFF — для графических данных;

• AVI — для видеоданных;

• ZIP, ARJ, RAR, CAB, LH — для произвольных типов данных.

Существует много разных практических методов сжатия без потери информации, которые, как правило, имеют разную эффективность для разных типов данных и разных объемов. Однако, в основе этих методов лежат три теоретических алгоритма:

• алгоритм RLE (Run Length Encoding);

• алгоритмы группы KWE(KeyWord Encoding);

• алгоритм Хаффмана.

Программное обеспечение

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

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

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

Программное и аппаратное обеспечение в компьютере работают в неразрывной связи и

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

Междупрограммный интерфейс— это распределение программного обеспечения на несколько связанных между собою уровней. Уровни программного обеспечения представляют собой пирамиду, где каждый высший уровень базируется на программном обеспечении предшествующих уровней. Схематично структура программного обеспечения приведена на рис. 1.

Прикладной уровень

Служебный уровень

Системный уровень

Базовый уровень

 

 

Базовый уровень

Базовый уровень является низшим уровнем программного обеспечения. Отвечает за взаимодействие с базовыми аппаратными средствами. Базовое программное обеспечение содержится в составе базового аппаратного обеспечения и сохраняется в специальных микросхемах постоянного запоминающего устройства (ПЗУ), образуя базовую систему ввода—вывода BIOS. Программы и данные записываются в ПЗУ на этапе производства и не могут быть изменены во время эксплуатации.

Системный уровень

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

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

Совокупность программного обеспечения системного уровня образует ядро операционной системы компьютера. Наличие ядра операционной системы — это первое условие для возможности практической работы пользователя с вычислительной системой. Ядро операционной системы выполняет такие функции:

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

Служебный уровень

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

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

 

 

Прикладной уровень

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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-12-28 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: