Александр Горбачев - Модели информации и данных. Атом и универсум информации
- Название:Модели информации и данных. Атом и универсум информации
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:9785449313386
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Александр Горбачев - Модели информации и данных. Атом и универсум информации краткое содержание
Модели информации и данных. Атом и универсум информации - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Слово «данные» происходит от латинского «datum», буквально означающего «факт», однако в настоящее время «данные» не определяются как факт. Данные не трактуются как некоторая данность, определенные свершившиеся или заданная информация, их современная трактовка связана с определенностью – типизированностью, упорядоченностью, формализованностью.
В контексте этих двух определений мы можем понять, что предметом исследований информатики обычно являются именно данные, а не информация. То есть основным объектом изучения информатики является «очищенная», типизированная или подготовленная информация в виде данных. Однако постановка задач, их выработка и анализ производится именно на менее формализованном уровне – на уровне информации. В частности, далее мы рассмотрим семантическую модель данных, описывающую данные, но с помощью информации.
С учетом вышесказанного прямо сейчас мы находимся на очень неявном водоразделе, где перемешиваются информация и данные. С одной стороны, мы не можем поставить знак тождественности между информацией и данными, а с другой стороны, все технологии, связанные с данными, называются информационными технологиями. И ведь действительно, данные непосредственно связаны с информацией. Таким образом, пока мы не погрузились в пучины одного и другого, давайте на берегу договоримся о том, как разделять эти понятия.
Информация не является типизированной, не имеет ограничений по размерности. Всё, что касается типов (например, целочисленные значения), для информации является свойством, но не определяющим типом. Подробнее эти аспекты будут рассмотрены ниже. Данные, напротив, основываются на типах и конкретной размерности.
Процедура реализации информации в данных будем называть кодированием. А процедуру «декодирования» данных в информацию, то есть наделение данные смыслом (семантикой) будем называть интерпретацией данных.
Также существенным различием между информацией и данными является субъективность. Данные являются объективными, то есть мы воспринимаем их такими, какие они есть – все видят предметы в окружающем мире примерно одинаково, и зрение транслирует нам объективные данные. Информация же является субъективной в силу того, что каждый человек или группы людей со схожими взглядами, знаниями и понятиями интерпретируют и рассматривают один и тот же предмет по-разному. Например, маркшейдер рассматривает землю как породу, земледелец оценивает её плодородность, а строитель – плотность грунта для постройки дома.
Обратимся к вопросу об элементарном представлении информации.
Элементарная структура информации
В обычном, традиционном понимании элементарной единицей информации является бит. Однако это не единица информации, а единица данных! Давайте разберемся, в чем тут разница. Информация – это сведения или знания. Следовательно, информация представляется нам как некоторое смысловое выражение.
Например, «Лампочка горит» или «Лампочка не горит» будет элементарным значением состояния лампочки. Это состояние лампочки мы можем закодировать в единицу данных, а именно в бит. В то же время значение некоторого абстрактного бита говорит лишь о его собственном состоянии. Мы про него можем сказать, что «значение бита такой-то ячейки памяти – 0», это будет интерпретацией данных, но на абстрактном смысловом уровне. Если же мы знаем нагруженность этого бита состоянием лампочки, то посмотрев на значение бита, мы можем сделать вывод о состоянии лампочки.
Отношение информации к данным состоит в том, что информация обладает смыслом. Данные не связаны со смыслом, но могут являться основой для получения информации. То есть, информация может быть закодирована в данных. Также данные могут восстановить информацию, если они нагружены смыслом. В соответствии со смысловой нагрузкой данные могут быть интерпретированы. Кроме того, данные могут нести представление информации, когда они являются текстом некоторого сообщения, наделенного смыслом.
Например, предложение на русском языке несет смысловую нагрузку. Мы можем использовать Unicode или другую кодовую страницу для преобразования символов в языковые данные. В этом случае, используя преобразование данных в символы, мы получим информацию, закодированную в данных. Однако если мы применим другую кодовую страницу для расшифровки – например, ASCII к тексту в Unicode, мы не сможем понять содержимое данных, а, следовательно, не сможем извлечь смысл из кодов.
Ремарка: перекодированные данные в текст являются информацией только если закодированный текст имеет смысл.
Другим примером является реверс-инжиниринг программного кода, также известный как декомпиляция. При анализе чужого программного кода можно проследить логику, но невозможно понять, почему программа была написана именно таким образом, и чего хотел добиться автор определенными программными выражениями. Код, сгенерированный в языках программирования по технологии. Net корпорации Microsoft, является байт-кодом, а, соответственно, к нему может быть применен реверс-инжиниринг, который восстанавливает названия переменных, внутренних процедур, внутренних классов и пр. Всё это является хорошим материалом для понимания смысла программы, поскольку придает семантическую (смысловую) ясность. Разработчики, всячески стремящиеся противодействовать подобного рода анализу, придумали специальные программы обфускаторы, которые заменяют эти названия на другие, не несущие никакого смысла, а также которые противодействуют реверс-инжинирингу кода, поскольку добавляют в идентификаторы – названия переменных, методов и пр. запрещенные символы с точки зрения языков программирования (спецсимволы, пробелы и пр). Люди, всё же желающие анализировать код придумали программы деобфускаторы, которые позволяют сделать корректным код после декомпиляции при его реверс-инжиниринге. Разумеется, оригинальные названия переменных и других элементов кода деобфускаторы вернуть не в состоянии. Получается, что обфускаторы уничтожают смысл кода программы через искажение названий идентификаторов (переменных, названий процедур, классов и пр.), и, следовательно, восстановить смысл можно только из анализа операций с определенным методом, свойством, классом, переменной и пр.
Таким образом, само понятие битов и других структур данных, насколько являются необходимыми для хранения информации, настолько же они являются техническими структурами.
Если с единицами данных всё более-менее понятно, в таком случае что является единицей информации? Каким образом мы можем выделить смысл, и каким образом мы можем определить его элементарную составляющую?
Читать дальшеИнтервал:
Закладка: