- •Міністерство освіти і науки України Дніпропетровський національний університет
- •Структури та організація даних в еом
- •Дніпропетровськ
- •1. Понятие об информации
- •1.1. Объем информации
- •1.2. Количество информации
- •Вопрос 1: Забила ли Украина более одного гола? Да – 1 / Нет – 0;
- •Вопрос 2: Забила ли Италия более одного гола? Да – 1 / Нет – 0;
- •Вопрос 3: Забила ли Украина четное число голов? Да – 1 / Нет – 0;
- •Вопрос 4: Забила ли Италия четное число голов? Да – 1 / Нет – 0;
- •Вопрос1. Произошло ли с1? Да – 1;
- •Вопрос2. Произошло ли с2? Да – 01;
- •Вопрос3. Произошло ли с3? Да – 001;
- •2. Преобразование информации при решении задач на компьютере
- •Понятие данных
- •Информация и данные. Понятие о структурах данных. Информационная модель объекта
- •Понятие о данных
- •1. Основи мови програмування пролог
- •1.1. Основні поняття
- •1.2. Синтаксис мови пролог
- •1.3. Класифікація даних у пролозі
- •1.4. Приклад доказу в пролозі
- •1.5. Подання задачі у вигляді і-або дерева
- •1.6. Структура програми в системі tp
- •1.7. Убудовані типи даних мови tp
- •1.8. Висновки
- •2. Підстави логічного програмування
- •2.1. Принцип резолюцій
- •2.3. Способи застосування принципу резолюцій
- •2.4. Диз’юнкти хорhа
- •3. Три семантичні моделі пролог-програми
- •4. Подання знань
- •4.1. Процес подання знань
- •4.2. Способи подання бази знань
- •4.2.1. Представлення цілісних інформаційних елементів у вигляді фактів
- •4.2.2. Подання атрибутів у вигляді фактів
- •4.2.3. Представлення знань у вигляді списку структур
- •4.2.4. Подання у вигляді рекурсивних структур
- •4.2.5. Подання у вигляді двійкового дерева
- •4.2.6. Порівняння різних виглядів подання бази даних
- •4.2.7. Компонування даних у список
- •4.3. Використання складених об'єктів
- •4.4. Використання альтернативних доменів
- •4.5. Засоби документування програми
- •4.6. Типи й властивості відношень предметної області
- •4.6.1. Обмеження, що забезпечують цілсність відношень
- •4.6.2. Властивості відношень бази знань і їхня підтримка в програмі на tp симетрія і асиметрія
- •Рефлексивность і нерефлексивность
- •Транзитивність
- •Симетричність і транзитивність
- •Спроба 1
- •Спроба 2.
- •Запам'ятовування списку відвіданих місць
- •4.7. Списки
- •4.7.1. Подання й зображення списків
- •4.7.2. Використання списків
- •4.7.3. Метод поділу списку на голову і хвіст (псгх)
- •4.7.4. Списки списків
- •Методи програмування
- •5.1. Повторення і відкіт (пв)
- •5.2. Метод відкоту після невдачі (впн)
- •5.3. Метод відсікання та відкоту (вв)
- •5.4. Повторення та рекурсія (пр)
- •5.5. Метод узагальненого правила рекурсії (упр)
- •5.6. Побудова рекурсивних структур методом прогресуючої підстановки (пп)
- •5.7. Предикат відсікання
- •5.8. Організація багаторазово виконуваних інтерактивних програм (бвіп)
- •5.9. Метод аналізу станів (ас)
- •5.10. Метод організації висхідних рекурсивних обчислень (вро)
- •5.11. Комбінація спадних і висхідних рекурсивных обчислень (ксвро)
- •5.12. Предикат fail-if (not)
- •5.13. Предикат true
- •5.14. Модифікація бази даних (мбд)
- •5.15. Керування базою даних (кбд)
- •5.16. Глобальні змінні (гз)
- •5.17. Накопичування результатів у базі даних за допомогою вимушеного відкоту і глобальної змінної (нрввгз)
- •5.18. Метапрограмування (мп)
- •Список рекомендованої літератури
- •1. Основи мови програмування пролог 20
- •2. Підстави логічного програмування 30
- •3. Три семантичні моделі пролог-програми 35
- •4. Подання знань 38
- •Програмування мовою пролог
1.1. Объем информации
Информации может быть много или мало. Но для канала связи необходимо знать более точно, сколько информации и за какое время он может передать. Например, почта не может правильно работать, не имея сведений о том, какой транспорт понадобится для перевозок, сколько потребуется почтовых отделений и почтальонов. Для этого на почте при расчетах объема информации можно обойтись традиционными физическими мерами: вес, объем писем и посылок. На телеграфе уже нужно мерять более точно: здесь мы платим за каждое слово в телеграмме. Чем длиннее телеграмма – тем она дороже (для нас и для телеграфной службы). Длинный текст дольше кодируется, дольше передается по каналу связи, дольше декодируется.
Итак, при передаче сообщения важна его длина. Тогда точнее ее измерять не числом слов, а числом букв и цифр (т.е. числом знаков). Но и здесь не все так просто. Например, передаем число дней в феврвле (високосный год). Но его можно представить разными способами:
29 – в десятичной системе счисления;
11101 – в двоичной системе счисления;
двадцать девять – в виде слов русского языка.
Таким образом, содержание одно, а длина – различная. Говорят, что длина сообщения зависит от мощности используемого алфавита. В десятичной системе для записи чисел используется десять цифр: 0, 1, 2, …, 9. А в двоичной системе используются только две цифры: 0 и 1. Как видим, прослеживается закономерность: Чем мощнее алфавит, тем короче запись. Самый бедный алфавит – это двоичный. Достоинсиво большого алфавита – короткие записи. Но он требует более сложных устройств для кодирования и декодирования. Чем болше разных символов, тем сложнее их различать, а значит и труднее передавать без искажения. Не случайно, в одном из первых телеграфных кодов – азбуке Морзе – использовалось только три знака (точка, тире, пауза). А во всей компьютерной технике принята двоичная система кодирования.
Какой алфавит выбрать – решают проектировщики конкретной системы передачи. Но для измерения информации желательно иметь единицы, которые не зависили бы от алфавита. В качестве такой меры ввели бит (BInary Digit – двоичная цифра). Т.е. единицу минимальной по числу символов двоичной системы кодирования. Бит – это один символ двоичной системы. Для сообщения, записанного в двоичной системе, объем информации – это просто число двоичных символов. Например, (29)10 = (11101)2 – 5 цифр, а значит и 5 бит информации. Но это же число можно записать и так (00011101)2, т.е. 8 бит.
С помощью одного бита можно передать только одно из двух сообщений – 0 или 1. Такие сообщения могут нести большую смысловую нагрузку. Но для передачи эти сообщения очень просты. Двумя битами можно передать сообщения 00, 01, 10, 11 и, вообще, n двоичными цифрами можно передать одно из 2n возможных сообщений. Для измерения информации можно использовать более крупную единицу – байт, т.е. запись из восьми бит. Общее число символов, используемых в двоичных текстах обычно больше, чем 27 = 128, но меньше, чем 28 = 256. Поэтому одного байта как раз достаточно, чтобы закодировать в двоичной системе любой символ обычного текста. Для сложных текстов этого часто бывает недостаточно. Там могут использоваться другие системы кодирования с большим числом бит на один символ.
А как быть, если сообщение записано (закодировано) не в двоичной системе счисления? И зачем это нужно делать? Для измерения надо сообщение необходимо перевести в двоичную систему счисления. Но мы видели, что это можно сделать различными способами. Однако для каждого сообщения существует минимальное количество битов. Как его определить?
Рассмотрим запись десятичных чисел в двоичной системе. Первые 2n чисел: от 0 до 2n – 1 можно записать n битами. Например, числа от 0 до 7 можно записать тремя битами, используя таблицу кодирования: 0 – 000, 1 – 001, … 7 – 111. В общем случае, если N – степень числа 2 (N = 2n), то для его записи необходимо n+1 бит. Наример, 32 = 25 = 10000, т.е. 6 бит. Для других чисел количество битов равно показателю наибольшей степент двойки, не превышающей этого числа плюс один. Например, для числа 53 эта степень равна 5:
25 = 32 < 53 < 64 = 26 .
Чтобы найти максимальную степень числа 2, не превышающего произвольного натурального числа N,необходимо вычислить log2N и взять его целую часть [log2N]. Итак, минимальное число битов для записи любого десятичного числа из диапазона [0 .. N] равно [log2N] +1. Это и есть формула для вычисления объема информации заданной в виде десятичного числа из диапазона [0 .. N].
А как быть, если информация передается в виде сообщения, состоящего из символов некоторого произвольного алфавита? Но ведь в любом алфавите его символы можно перенумеровать и представить каждый символ его номером (идентификатором) в этом алфавите. Поэтому эта оценка годится для измерения объема информации представленной в виде сообщения в любом алфавите. При записи обычных текстов, каждый символ кодируется, как правило, одним байтом. Следовательно, число байтов примерно равно числу символов в сообщении.
Определение. Измерение информации, основанное на подсчете числа символов в сообщении, необходимое для того, чтобы оценить возможности технических устройств, работающих с ней, называется объемом информации.
Для запоминающих устройств (диски, ленты, карты и т.д.) объем информации который они способны записать измеряют в битах, байтах, килобайтах, мегабайтах и т.д. Время передачи информации по каналам связи зависит не только от ее объема, но и от скорости передачи. Для этого используют единицу, которая называется бод (1 бод = 1 бит/сек).
Но оказывается информацию можно измерять и иначе.
