Информация и информационные процессы
Что можно делать с информацией?
Как мы уже знаем, информация сама по себе нематериальна. Поэтому она может существовать только тогда, когда связана с каким-то объектом или средой, т. е. с носителем.
Материальный носитель — это объект или среда, которые могут содержать информацию.Изменения, происходящие с информацией (т. е. изменения свойств носителя), называются информационными процессами. Все эти процессы можно свести к двум основным:передача информации (данные передаются с одного носителя на другой); обработка информации (данные изменяются).
Часто информационными процессами называют также и многие другие операции с информацией (например, копирование, удаление и др.), но они, в конечном счёте, сводятся к двум названным процессам.
Для хранения информации тоже используется какой-то носитель. Однако при этом никаких изменений не происходит, поэтому хранение информации нельзя назвать процессом.
Передача информации
При передаче информации всегда есть два объекта — источник и приёмник информации. Эти роли могут меняться, например во время диалога каждый из участников выступает то в роли источника, то в роли приёмника информации.
Информация проходит от источника к приёмнику через канал связи, в котором она должна быть связана с каким-то материальным носителем (рис. 1.4). Для передачи информации свойства этого носителя должны изменяться со временем. Например, если включать и выключать лампочку, то можно передавать разную информацию, например, с помощью азбуки Морзе.
При разговоре людей носитель информации — это звуковые волны в воздухе. В компьютерах информация передаётся с помощью электрических сигналов или радиоволн (в беспроводных устройствах). Информация может передаваться с помощью света, лазерного луча, телефонной или почтовой связи, компьютерной сети и др.
Информация поступает по каналу связи в виде сигналов, которые приёмник может обнаружить с помощью своих органов чувств {или датчиков) и «понять» (раскодировать).
Сигнал — это изменение свойств носителя, которое используется для передачи информации.
Примеры сигналов — это изменение частоты и громкости звука, вспышки света, изменение напряжения на контактах и т. п.
Человек может принимать сигналы только с помощью своих органов чувств. Чтобы передавать и принимать информацию, например, с помощью радиоволн, нужны вспомогательные устройства: радиопередатчик, преобразующий звук в радиоволны, и радиоприёмник, выполняющий обратное преобразование. Они позволяют расширить возможности человека.
С помощью одного сигнала (одного изменения) невозможно передать много информации. Поэтому чаще всего используется не одиночный сигнал, а последовательность сигналов, которая называется сообщением. Важно понимать, что сообщение — это только «оболочка» для передачи информации, а информация — это содержание сообщения. Приёмник должен сам «извлечь» (раскодировать) информацию из полученной последовательности сигналов. Можно принять сообщение, но не принять информацию, например, услышав речь на незнакомом языке или перехватив шифровку.
Одна и та же информация может быть передана с помощью сообщений, имеющих разные физические носители (например, через устную речь, с помощью записки или с помощью флажного семафора, который используется на флоте) или с помощью разных сообщений. В то же время одно и то же сообщение может нести разную информацию для разных приёмников. Так фраза «В Сантьяго идёт дождь», переданная в 1973 г. на военных радиочастотах, для сторонников генерала Пиночета послужила сигналом к началу государственного переворота в Чили.
К сожалению, в реальном канале связи всегда действуют помехи: посторонние звуки при разговоре, шумы радиоэфира, электрические и магнитные поля. Помехи могут полностью или частично искажать сообщение, вплоть до полной потери информации (например, телефонные разговоры при перегрузке сети).Чтобы содержание сообщения, искажённого помехами, можно было восстановить, оно должно быть избыточным, т. е. в нём должны быть «лишние» элементы, без которых смысл всё равно восстанавливается. Например, в сообщении «Влг впдт в Кспск мр» многие угадают фразу «Волга впадает в Каспийское море», из которой убрали все гласные. Этот пример говорит о том, что естественные языки содержат много «лишнего», их избыточность оценивается в 60-80% (если удалить 60-80% текста, его смысл всё равно удаётся восстановить).
В курсе информатики мы будем рассматривать передачу информации именно как передачу сообщений между компьютерными системами, отвлекаясь от смысла сообщений.
Обработка информации
Обработка — это изменение информации: её формы или содержания. Среди важнейших видов обработки можно назвать:
создание новой информации, например решение задачи с помощью вычислений или логических рассуждений;
кодирование — запись информации с помощью некоторой системы знаков для передачи и хранения; один из вариантов кодирования — шифрование, цель которого — скрыть смысл (содержание) информации от посторонних;
поиск информации, например, в книге, в библиотечном каталоге, на схеме или в Интернете;
сортировка — расстановка элементов списка в заданном порядке, например расстановка чисел по возрастанию или убыванию, расстановка слов по алфавиту; задача сортировки- облегчить поиск и анализ информации. Для обработки информации человек использует в первую очередь свой мозг. Нейроны (нервные клетки) коры головного мозга «переключаются» примерно 200 раз в секунду — значительно медленнее, чем элементы памяти компьютеров. Однако человек практически безошибочно отличает собаку от кошки, а для компьютеров эта задача пока неразрешима. Дело, по-видимому, в том, что мозг решает такие задачи не «в лоб», не путем сложных вычислений, а как-то иначе (как — пока никто до конца не знает).
Компьютер позволяет «усилить» возможности человека в тех задачах обработки информации, решение которых требует длительных расчётов по известным алгоритмам. Однако, в отличие от человека, для компьютера недопустимы фантазия, размышления, творчество.
Хранение информации
Для хранения информации человек, прежде всего, использует свою память. Можно считать, что мозг — это одно из самых совершенных хранилищ информации, во многом превосходящее компьютерные средства.
К сожалению, человек многое забывает. Кроме того, необходимо передавать знания другим людям, в том числе и следующим поколениям. Поэтому в древности люди записывали информацию на камне, папирусе, берёсте, пергаменте, затем — на бумаге. В XX веке появились новые средства хранения информации: перфокарты и перфоленты, магнитные ленты и магнитные диски, оптические диски, флеш-память.
В любом случае информация хранится на каком-то носителе, который обладает «памятью», т. е. может находиться в разных состояниях, переходить из одного состояния в другое при каком-то внешнем воздействии, и сохранять своё состояние.
При записи информации свойства носителя меняются: на бумагу наносятся текст и рисунки; на магнитных дисках и лентах намагничиваются отдельные участки; на оптических дисках образуются области, по-разному отражающие свет. При хранении эти свойства остаются неизменными, что позволяет потом читать (получать) записанную информацию.
Отметим, что процессы записи и чтения — это процессы передачи информации.
Любая наука рано или поздно приходит к необходимости как-то измерять то, что она изучает. Измерение информации — это одна из важнейших задач теоретической информатики.
Для человека информация — это, прежде всего, смысл, заключённый в сигналах и данных. Как измерить смысл? На этот вопрос пока нет однозначного ответа.
Вспомним, что компьютеры не могут обрабатывать смысл, они работают только с данными (а не с информацией). При этом возникают чисто практические задачи: определить, сколько места займёт на диске текст, рисунок или видеофильм; сколько времени потребуется на передачу файла по компьютерной сети и т. п. Поэтому чаще всего используется объёмный подход к измерению информации. Он заключается в том, что количество информации оценивается просто по числу символов, используемых для её кодирования. С этой точки зрения стихотворение А. С. Пушкина и случайный набор букв могут содержать одинаковое количество информации. Конечно, такой подход не универсален, но он позволяет успешно решать практические задачи, связанные с компьютерной обработкой и хранением данных.
Что такое бит?
Рассмотрим электрическую лампочку, которая может находиться в двух состояниях: сгорит» и «не горит*. Тогда на вопрос «Горит ли сейчас лампочка» есть два возможных варианта ответа, которые можно обозначить цифрами 1 («горит») и 0 («не горит»). Поэтому ответ на этот вопрос (полученная информация) может быть записан как 0 или I1.
Цифры 0 и 1 называют двоичными, и с этим связано название единицы измерения количества информации — бит. Английское слово bit — это сокращение от выражения binary digit — «двоичная цифра. Впервые слово «бит» в этом значении использовал американский инженер и математик Клод Шеннон в 1948 г.
Бит — это количество информации, которую можно записать (закодировать) с помощью одной двоичной цифры.
Конечно, вместо 0 и 1 можно использовать два любых знака.
Конечно, нужно договориться, что означают 0 и 1 (1 — это «горит» или «не горит»?), но для измерения количества информации это не важно.
Например, в сообщении «подброшенная монета упала гербом» содержится 1 бит информации, потому что монета могла упасть гербом (обозначим это через 0) или «решкой» (1). Сообщение «Дверь открыта» тоже содержит 1 бит, если считать, что дверь может быть в двух состояниях: открыта (0) или закрыта (1).
Вот ещё пример диалога, в котором получена информация в 1 бит:
Вы будете чай или кофе?
Кофе, пожалуйста.
2 бита, 3 бита...
А если возможных вариантов не два, а больше? Понятно, что в этом случае количество информации будет больше, чем 1 бит. Представим себе, что на вокзале стоят 4 одинаковых поезда, причём только один из них проследует в Москву. Сколько битов понадобится для того, чтобы записать информацию о номере платформы, где стоит поезд на Москву?
Очевидно, что одного бита недостаточно, так как с помощью одной двоичной цифры можно закодировать только два варианта — коды 0 и 1. А вот два бита дают как раз 4 разных сообщения: 00, 01, 10 и 11. Теперь нужно сопоставить эти коды номерам платформ, например, так: 1 — 00, 2 — 01, 3 — 10, 4 — 11. Тогда сообщение 10 говорит о том, что поезд на Москву стоит на платформе № 3. Это сообщение несёт 2 бита информации.
Три бита дают уже 8 вариантов: 000, 001, 010, 011, 100, 101, 110 и 111. Таким образом, каждый бит, добавленный в сообщение, увеличивает количество вариантов в 2 раза.
Таблица 1.1
Наверно, вы заметили, что все числа в нижней строчке таблицы — это степени числа 2:
N = 2i.
Осталось выяснить, чему равно количество информации, если выбор делается, скажем, из 5 возможных вариантов (или из любого количества, не являющегося степенью числа 2). С точки зрения приведённого выше рассуждения случаи выбора из 5, б, 7 и 8 вариантов не различаются — для кодирования двух двоичных цифр мало, а трёх — достаточно. Поэтому использование трёх битов для кодирования одного из 5 возможных вариантов избыточно, ведь три бита позволяют закодировать целых 8 вариантов! Значит, выбор из 5 вариантов даёт меньше трёх битов информации.
Чтобы количественно измерить разницу между, скажем, 5 и 8 вариантами, придется допустить, что количество информации в битах может быть дробным числом. При этом информация, полученная при выборе из 5 вариантов, больше, чем 2 бита, но меньше, чем 3 бита. Точную формулу для ее вычисления получил в 1928 г. американский инженер Ральф Хартли. Эта формула использует понятие логарифма, поэтому мы познакомимся с нейТем не менее уже сейчас вы можете оценить количество информации при выборе из 5 вариантов. Допустим, на завтрак в лагере отдыха каждый день дают кашу одного из 5 видов. Чтобы закодировать вид каши, которую дают в понедельник, нужно, как мы знаем, 3 бита. Но меню на два дня может быть составлено 25 разными способами (5-5), поэтому для его кодирования достаточно 5 битов, ведь 25 < 32 = 25! Тогда получается, что количество информации при выборе информации из 5 вариантов меньше, чем 5/2 = 2,5 бита. Но и эту оценку можно уточнить. Для трёх дней получаем 5'5>5 = 125 вариантов. Так как 125 < 128 = 27, количество информации при выборе из 5 вариантов составляет не больше, чем 7/3 - 2,33 бита. И так далее. Попробуйте самостоятельно показать, что при выборе из 5 вариантов количество информации больше 2,25 бита. Верно ли, что при выборе из 6 вариантов количество информации менее 2,5 бита? Другие единицы
Считать большие объёмы информации в битах неудобно хотя бы потому, что придётся работать с очень большими числами (миллиардами, триллионами и т. д.). Поэтому стоит ввести более крупные единицы.
1 байт = 8 битов.
Сразу возникает вопрос: а почему не 10 битов? Дело в том, что слово «байт» (англ. byte) имеет второе значение — так называют наименьший блок (ячейку) памяти, который процессор компьютера может считать и обработать за один раз. Для современных компьютеров он состоит из 8 элементов, каждый из которых хранит 1 бит данных. Это связано с тем, что до недавнего времени при обработке текста использовался набор из 256 символов, так что для кодирования каждого символа было нужно 8 битов.
Объёмы данных, с которыми работают компьютеры, нередко измеряются миллионами и миллиардами байтов. В таких случаях используют единицы, образованные с помощью приставок:
1 Кбайт (килобайт) = 1024 байта = 210 байта = 213 бит.
1 Мбайт (мегабайт) = 1024 Кбайт = 210Кбайт = 220 байтов = 213 битов.
1 Гбайт (гигабайт) = 1024 Мбайт.
1 Тбайт(терабайт) = 1024 Гбайт.
Так сложилось исторически, что при измерении количества информации приставка «кило-» обозначает, в отличие от международной системы единиц СИ, увеличение не в 1000 раз, а в 1024 = 210 раз. Аналогично «мега-» — это увеличение в 10242 = 220 = 1 048 576 раз, а не в 1 млн = 10002 раз.
Строго говоря, нужно называть такие кило- (мега-, гига-, ...) байты двоичными, поскольку множитель 1024 — это 210. Стандарт Международной электротехнической комиссии (МЭК) предлагает называть их «кибибайт», «мебибайт», «гибибайт» и «теби-байт», но эти названия на практике не прижились.
Для перевода количества информации из одних единиц в другие нужно использовать приведённые выше соотношения. При переводе из крупных единиц в мелкие числа умножают на соотношение между единицами. Например:
2 Кбайт = 2(1 Кбайт) = 2 * 1024 байтов =- 2048 байтов = 2048 * (1 байт) = 2048 • 8 битов = 16 384 бита.
2 Кбайт = 2 * 210 байтов = 211 байтов = 211 * 23 битов = 214 битов.
В последней строке все расчёты сделаны через степени числа 2, очень часто так бывает проще.
При переводе количества информации из мелких единиц в крупные нужно делить на соотношение между единицами.
Например:8192 бита = 8192 * (1/8 байта) = 8192 : 8 байтов = 1024 байта -= 1024 * (1/1024 Кбайт) = 1024 : 1024 Кбайт = 1 Кбайт.
8192 бита - 213 битов = 213 * (1/2 3 байта) = 210 байтов == 210 * (1/210 Кбайт) = 1 Кбайт.