- •Информатика как наука и как вид практической деятельности.
- •Место информатики в системе наук, направления развития информатики.
- •Направления развития теоретической информатики.
- •Понятие информации. Свойства информации.
- •7. Информация и данные.
- •Структурные типы данных
- •Теория информации. Основные понятия теории информации.
- •Теория кодирования. Основные понятия теории кодирования.
- •Вероятностный подход к определению количества информации.
- •Понятие энтропии, свойства энтропии. Условная энтропия.
- •Условная энтропия
- •Кодирование и декодирование. Эффективность кодирования.
- •Системы счисления.
- •Кодирование алфавитно-цифровой информации в компьютере.
- •Двоичное кодирование. Прямой, обратный, дополнительный код.
- •Прямой код двоичного числа
- •Обратный код двоичного числа
- •Дополнительный код двоичного числа
- •Кодирование текстовой информации.
- •Кодирование графической информации.
- •Разделимые коды. Префиксные коды. Равномерные коды. Избыточные коды.
- •Формула Хартли. Формула Шеннона.
- •Коды с обнаружением ошибок. Коды с исправлением ошибок. Блочные коды.
- •Оптимальные коды. Метод Хафмана.
- •Кодирование Хаффмана
- •Коды Хемминга. Величины Хемминга.
- •Систематические коды[править | править вики-текст]
- •Самоконтролирующиеся коды[править | править вики-текст]
- •Самокорректирующиеся коды[править | править вики-текст]
- •Теоремы Шеннона.
- •Криптографический подход.
- •Машина Тьюринга.
- •Кодирование по Шеннону-Фано
Машина Тьюринга.
Маши́на Тью́ринга (МТ) — абстрактный исполнитель (абстрактная вычислительная машина). Была предложена Аланом Тьюрингом в 1936 году для формализации понятия алгоритма.
Машина Тьюринга является расширением конечного автомата и, согласно тезису Чёрча — Тьюринга, способна имитировать все исполнители (с помощью задания правил перехода), каким-либо образом реализующих процесс пошагового вычисления, в котором каждый шаг вычисления достаточно элементарен.
Устройство машины Тьюринга
В состав машины Тьюринга входит неограниченная в обе стороны лента (возможны машины Тьюринга, которые имеют несколько бесконечных лент), разделённая на ячейки, и управляющее устройство (также называется головкой записи-чтения (ГЗЧ)), способное находиться в одном из множества состояний. Число возможных состояний управляющего устройства конечно и точно задано.
Управляющее устройство может перемещаться влево и вправо по ленте, читать и записывать в ячейки символы некоторого конечного алфавита. Выделяется особыйпустой символ, заполняющий все клетки ленты, кроме тех из них (конечного числа), на которых записаны входные данные.
Управляющее устройство работает согласно правилам перехода, которые представляют алгоритм, реализуемый данной машиной Тьюринга. Каждое правило перехода предписывает машине, в зависимости от текущего состояния и наблюдаемого в текущей клетке символа, записать в эту клетку новый символ, перейти в новое состояние и переместиться на одну клетку влево или вправо. Некоторые состояния машины Тьюринга могут быть помечены как терминальные, и переход в любое из них означает конец работы, остановку алгоритма.
Машина Тьюринга называется детерминированной, если каждой комбинации состояния и ленточного символа в таблице соответствует не более одного правила. Если существует пара «ленточный символ — состояние», для которой существует 2 и более команд, такая машина Тьюринга называется недетерминированной.
Описание машины Тьюринга
Конкретная машина Тьюринга задаётся перечислением элементов множества букв алфавита A, множества состояний Q и набором правил, по которым работает машина. Они имеют вид: qiaj→qi1aj1dk (если головка находится в состоянии qi, а в обозреваемой ячейке записана буква aj, то головка переходит в состояние qi1, в ячейку вместо aj записывается aj1, головка делает движение dk, которое имеет три варианта: на ячейку влево (L), на ячейку вправо (R), остаться на месте (N)). Для каждой возможной конфигурации <qi, aj> имеется ровно одно правило (для недетерминированной машины Тьюринга может быть большее количество правил). Правил нет только для заключительного состояния, попав в которое машина останавливается. Кроме того, необходимо указать конечное и начальное состояния, начальную конфигурацию на ленте и расположение головки машины.
Кодирование по Шеннону-Фано
Алгоритм Шеннона-Фано- один из первых алгоритмов сжатия, который впервые сформулировалиамериканские учёные Шеннон и Фано. Данный метод сжатия имеет большое сходство с алгоритмомХаффмана, который появился на несколько лет позже. Алгоритм использует коды переменной длины: частовстречающийся символ кодируется кодом меньшей длины, редко встречающийся — кодом большей длины.Коды Шеннона Фано префиксные, то есть, никакое кодовое слово не является префиксом любого другого.Это свойство позволяет однозначно декодировать любую последовательность кодовых слов.
Основные сведения
Кодирование Шеннона-Фано (англ. Shannon-Fano coding) — алгоритм префиксного неоднородногокодирования. Относится к вероятностным методам сжатия (точнее, методам контекстного моделированиянулевого порядка). Подобно алгоритму Хаффмана алгоритм Шеннона-Фано использует избыточностьсообщения, заключённую в неоднородном распределении частот символов его (первичного) алфавита, тоесть заменяет коды более частых символов короткими двоичными последовательностями, а коды болеередких символов — более длинными двоичными последовательностями.
Алгоритм был независимо друг от друга разработан Шенноном (публикация «Математическая теория связи»,1948 год) и, позже, Фано (опубликовано как технический отчёт).
Основные этапы
Символы первичного алфавита m1 выписывают в порядке убывания вероятностей.
Символы полученного алфавита делят на две части, суммарные вероятности символов которыхмаксимально близки друг другу.
В префиксном коде для первой части алфавита присваивается двоичная цифра «0», второй части — «1».
Полученные части рекурсивно делятся и их частям назначаются соответствующие двоичные цифры впрефиксном коде.
Когда размер подалфавита становится равен нулю или единице, то дальнейшего удлинения префиксногокода для соответствующих ему символов первичного алфавита не происходит, таким образом, алгоритмприсваивает различным символам префиксные коды разной длины. На шаге деления алфавита существуетнеоднозначность, так как разность суммарных вероятностей p0 − p1 может быть одинакова для двухвариантов разделения (учитывая, что все символы первичного алфавита имеют вероятность, большую нуля).
Алгоритм вычисления кодов Шеннона-Фано
Код Шеннона-Фано строится с помощью дерева. Построение этого дерева начинается от корня. Всемножество кодируемых элементов соответствует корню дерева (вершине первого уровня). Оно разбиваетсяна два подмножества с примерно одинаковыми суммарными вероятностями. Эти подмножествасоответствуют двум вершинам второго уровня, которые соединяются с корнем. Далее каждое из этихподмножеств разбивается на два подмножества с примерно одинаковыми суммарными вероятностями. Имсоответствуют вершины третьего уровня. Если подмножество содержит единственный элемент, то емусоответствует концевая вершина кодового дерева; такое подмножество разбиению не подлежит. Подобнымобразом поступаем до тех пор, пока не получим все концевые вершины. Ветви кодового дерева размечаемсимволами 1 и 0, как в случае кода Хаффмана.
При построении кода Шеннона-Фано разбиение множества элементов может быть произведено, вообщеговоря, несколькими способами. Выбор разбиения на уровне n может ухудшить варианты разбиения наследующем уровне (n+1) и привести к неоптимальности кода в целом. Другими словами, оптимальноеповедение на каждом шаге пути еше не гарантирует оптимальности всей совокупности действий. Поэтомукод Шеннона-Фано не является оптимальным в общем смысле, хотя и дает оптимальные результаты принекоторых распределениях вероятностей. Для одного и того же распределения вероятностей можнопостроить, вообще говоря, несколько кодов Шеннона-Фано, и все они могут дать различные результаты. Еслипостроить все возможные коды Шеннона-Фано для данного распределения вероятностей, то среди нихбудут находиться и все коды Хаффмана, то есть оптимальные коды.
Пример кодового дерева
Исходные символы:
A (частота встречаемости 50), B (частота встречаемости 39), C (частота встречаемости 18), D (частотавстречаемости 49), E (частота встречаемости 35), F (частота встречаемости 24).
Кодовое дерево
Полученный код:
A — 11, B — 101, C — 100, D — 00, E — 011, F — 010.
Кодирование Шеннона-Фано является достаточно старым методом сжатия, и на сегодняшний день оно непредставляет особого практического интереса. В большинстве случаев, длина сжатой последовательности,по данному методу, равна длине сжатой последовательности с использованием кодирования Хаффмана. Нона некоторых последовательностях всё же формируются неоптимальные коды Шеннона-Фано, поэтомусжатие методом Хаффмана принято считать более эффективным.
Юта – Любимый мой (ost Пока станица спит)
Солнце да яркое белое горит, Ой, ночи темные, да горячи, объятия, Сердце, да девичье ты заговорил, Ой, мама, маменька да не умею врать я. Любимый мой лети как вольный ветер! Казачья кровь, да конь твой вороной. Любимый мой один такой на свете! Да не судьба нам вместе быть с тобой. Любимый мой! Любимый мой! Степь, да ковыль до самой до зари, Долго ли коротко, а на двоих дорога, Сердце, да девичье ты заговорил, Ой, люди добрые да не судите строго! Любимый мой лети как вольный ветер! Казачья кровь, да конь твой вороной. Любимый мой один такой на свете! Да не судьба нам вместе быть с тобой. Любимый мой! Любимый мой!
Пелагея «В горнице моей светло»
В горнице моей светло - Это от ночной звезды, Матушка возьмет ведро, Молча принесет воды. Матушка возьмет ведро, Молча принесет воды. Дремлет на стене моей Ивы кружевная тень, Завтра у меня под ней Будет хлопотливый день! Буду поливать цветы, Думать о своей судьбе, Буду до ночной звезды Лодку мастерить себе...
Тальяночка
На солнечной поляночке,
Дугою выгнув бровь, Парнишка на тальяночке Играет про любовь. Про то, как ночи жаркие С подружкой проводил, Какие полушалки ей Красивые дарил. Играй, играй, рассказывай, Тальяночка, сама О том, как черноглазая Свела с ума. Играй, играй, рассказывай, Тальяночка, сама О том, как черноглазая Свела с ума. Когда на битву грозную Парнишка уходил, Он ночью тёмной звёздною Ей сердце предложил. В ответ дивчина гордая Шутила видно с ним, Когда вернёшься с орденом, Тогда поговорим. Припев 1 раз Боец средь дыма, пороха С тальяночкой дружил. И в лютой битве с ворогом Медаль он заслужил. Пришло письмо летучее В заснеженную даль, Что ждёт, что в крайнем случае, Согласна на медаль. Припев 2 раза
