Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3345

.pdf
Скачиваний:
2
Добавлен:
15.11.2022
Размер:
4.34 Mб
Скачать

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

Большую роль в защите информации о вооружении и военной технике играют организационные меры. Главная из них – это категорирование образцов. Под категорированием понимается установление дифференцированных правил использования (открытости) образцов в зависимости от их важности и новизны. Приняты три категории: первая – наиболее жесткая, вторая и третья. В третью категорию относят все основное вооружение, давно эксплуатируемое в войсках. То есть категория влияет на степень распространенности сведений об образце вооружения. Однако в современных условиях, когда Россия вынуждена торговать оружием, чтобы выжить, прежняя строгость в вопросе категорирования забывается. Это может принести большой вред.

2.7.2. Информация на носителях

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

2.7.2.1. Бумажные носители Хранят записи информации в словесно-символьной форме.

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

101

2.7.2.2. Безбумажные носители Используют все основные физические свойства материи,

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

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

Основной способ хранения больших объемов информации – создание электронных баз данных. Под базой данных понимается размещение информации с установлением правила обращения (доступа) к отдельным данным. Более подробно все это мы рассмотрим в пятой части курса, называемой «Информационные технологии: экономия вещества и энергии».

Выводы

Теория информации, разработанная выдающимся учѐным 20го века К.Шенноном, сыграла кардинальную роль в прогрессе человечества. Но еѐ назначение было ограниченным – обосновывать количественно параметры каналов передачи информации. Для этого было достаточно использовать формальные закономерности выбора самого абстрактного знака – символа из полной группы его возможных проявлений. Поэтому теория информации К.Шеннона

– это теория вероятностей, умноженная на log2 Pi . Но еѐ роль для

коммуникативной стороны информации выдающаяся.

Перед нами (как предрекал К.Шеннон в 1949 г.) поставили новую задачу – защиту информации, исходя из еѐ ценности, определяемую еѐ содержанием. Чтобы решить эту задачу, абстрактного знака – символа уже недостаточно. Он «глух» к содержанию информации. Поэтому совокупность знаков пришлось расширить, уяснив особую роль единственного содержательного знака – признака. Остальное Вы читали.

102

3.Структуры данных и прикладные алгоритмы

3.1.Введение в предмет, общее представление о предмете

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

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

Предлагаемая дисциплина относится к категории «вычислительных», предполагающих использование ЭВМ (компьютеров). ЭВМ – это интегрированный набор алгоритмов и структур данных, способный хранить и выполнять программы. То есть использование ЭВМ предполагает умение представить сущность возникающей в практике задачи, предполагаемой решению на ЭВМ, в виде структуры данных, над которыми выполняются алгоритмические действия, приводящие к результату. Д.Кнут пишет: «Чтобы правильно использовать машину, важно добиться хорошего понимания структурных отношений, существующих между данными, способов представления таких структур в ЭВМ и методов работы с ними» (т.1, стр.89). Поэтому основное назначение дисциплины заключается в раскрытии сущности типовых структур данных, как

103

фундамента профессионального использования возможностей ЭВМ и разработки новых более мощных структур. Кроме того, изучение структур данных важно и с точки зрения защиты информации, ибо инструментом всех враждебных действий относительно данных в компьютере являются специфические (хакерские) структуры данных и средств воздействия на «рабочие» структуры.

Для оперирования со всеми разновидностями данных, используемых в компьютере и языках программирования (ЯзПр), введено общее видовое понятие – тип данных. Под типом данных понимается подкласс используемых в ЯзПр объектов данных, включающий множество значений (типов), которые могут иметь экземпляры данного типа. Правильно построенная фраза звучит так: «…некая переменная имеет значение типа вещественное число (например)». Т.Пратт, с.309.

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

Предметной основой дисциплины является вычислительный процесс в компьютере, реализуемый в виде некоторого АЛГОРИТМА, то есть правила действий над данными. Поэтому другой не менее важной задачей дисциплины является освоение сущности алгоритма.

К изучению нашей дисциплины можно подойти с двух пози-

ций.

Первая позиция определяется тем, что сложность структур данных определяется возможностями их представления в ЭВМ. Так как эти возможности за 50 лет развития вычислительной техники (ВТ) совершенствовались от очень простых до достаточно сложных, то можно изучать данных «снизу вверх», то есть от простого к сложному. «Отыщи всему начало, и ты многое поймешь». К.Прутков.

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

104

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

Поэтому мы поступили так, как делают люди в большинстве случаев – компромиссно. Сначала, на начальной стадии, будем изучать структуры данных «снизу», то есть от простых типов, аппаратно представляемых в ЭВМ, к более сложным – структурным типам, а затем, приобретя минимум знаний, поднимемся «вверх», введя понятие «абстрактный тип данных», которыми в настоящее время занимается весь компьютерный мир.

3.1.1. Общая схема компьютерного представления реальности. Роль структур данных

Схема показана на рис.3.1. Ее содержание не вызывает недоумения. В ней «по - крупному» все учтено и отчетливо видна роль и место структур данных и алгоритмов. Рассмотрим схему чуть подробнее.

Субъект, владеющий естественным языком и знаниями, руководствуясь потребностями практики, разрабатывает математи-

ческую задачу (модель реальности) для количественного обос-

нования нужных ему решений. В задаче будут использованы ВЫЧИСЛИТЕЛЬНЫЕ АЛГОРИТМЫ, выполняющие ВЫЧИСЛЕНИЯ с помощью ЧИСЕЛ, то есть простых типов данных и АЛГОРИТМЫ СИМВОЛЬНОЙ ОБРАБОТКИ, НЕ ПРЕДСТАВЛЯЕМЫЕ ЧИСЛАМИ. Последние и требуют для своей работы более мощные структуры данных – структурированные данные.

105

авокраМ иледом:агнирюьТ, ымтироглА

Результат

ЭВМ

)еынчиовд( аволс

еыннишам

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Использование

 

 

Программно-моделируемая вычислительная машина

Интегрированная среда визуального

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Потребности практики

Машинный язык: считывание (запись);

пересылка;

арифметика

 

 

 

 

 

Транслятор двоичная

(переводчик) илогика смещение( ): [100111001...]

 

последовательное усложнение данных - простые типы - структурные типы

 

 

 

 

"снизу":

Язык программирования:

управляющие структуры;

структуры данных

 

 

 

программирования

 

 

 

 

 

 

 

 

 

 

 

сверху"

 

Формулировка постановка( ) задачи: Ч,Ч1 2 , Ч3 и Ч4

 

 

 

 

 

,мощь

 

 

 

 

 

 

"

 

 

 

 

 

 

 

Естественный язык: выразительная гибкость

 

 

 

 

 

 

Виртуальная ВМ: аппаратура микропрограммы

программы данные

реальности

Требуется сближение рассмотрением "сверху": абстрактный

тип данных - структурное отображение нужного (представление возможных связей,далее - отдельно реализация механизмов)

Рис.3.1. Схема компьютерного представления

Субъект разрабатывает документацию на расчетную задачу, которая по ГОСТу включает четыре части.

Ч.1. Постановка задачи (словесная). Ч.2. Математическая постановка задачи.

Ч.3. Программа решения задачи на ЭВМ. Ч.4. Инструкция пользователю.

Функциональную сердцевину документации на задачу составляет ПРОГРАММА, разработанная на ЯЗЫКЕ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ. Независимо от языка программирования любая программа является функцией, преобразующей входную цепочку литер в выходную цепочку литер. Программа включает две основные составляющие.

Структуры управления, реализующие ход выполнения операций;

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

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

То есть между потребностями изображения реальных ситуаций структурами данных и возможностями их воспроизведе-

ния машинным языком образуется разрыв по сложности, который усугубляется по мере усложнения задач. Этот разрыв должен быть ликвидирован за счет использования АЛГОРИТМОВ ОБРАБОТКИ СТРУКТУР от их первоначального вида до вида, воспринимаемого машинным языком. Вот изучением этих алгоритмов обработки структур до нужной кондиции мы и должны

107

заняться в нашей дисциплине.

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

Все разнообразие объектов реального мира для обеспечения возможности их фиксации в алгоритмах ЭВМ заменяется изображениями этих объектов с помощью знаков – букв в некотором алфавите. Любая конечная последовательность букв из этого алфавита называется словом. По определению слово – любая последовательность букв алфавита, расположенная в ОПРЕДЕЛЕННОМ ПОРЯДКЕ.

Таким образом, объекты реального мира можно отображать (ЗНАКОВО ЗАМЕЩАТЬ – Фил. осн. ЗИ) СЛОВАМИ в различных алфавитах. То есть объектами работы алгоритмов могут быть только слова. Поэтому под алгоритмом понимается конечная четкая система правил для преобразования слов из некоторого алфавита в слово из этого же алфавита. При этом, алгоритм применим НЕ КО ВСЕМ СЛОВАМ. Совокупность слов, к которым алгоритм применим, называется областью применимости алгоритма.

Любой алфавит можно заменить другим с помощью кодировки, когда каждой букве из алфавита ставится в соответствие КОД, представляющий слово из второго алфавита. Поэтому можно закодировать буквы исходного алфавита словами из 2-х буквенного алфавита {0, 1}. Что и делается в ЭВМ и в ТЕОРИИ ИНФОРМАЦИИ К.Шеннона.

3.1.2. Формальное определение алгоритма Теперь, когда формально описан объект применения алго-

ритма – СЛОВО в некотором алфавите, необходимо формализо-

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

В 1936 г. англ. математик Алан Тьюринг формализовал правила выполнения действий при помощи описания работы некоторой конструкции – машины Тьюринга и предложил назвать алгоритмом то, что умеет делать эта машина.

108

Понятие машины Тьюринга (МТ) возникло в результате прямой попытки разложить интуитивно известные нам вычислитель-

ные процедуры на элементарные операции, такие, что их повто-

рение является достаточным для любого вычислительного процесса. Из-за этого МТ представляет собой МАКСИМАЛЬНО БЕДНУЮ АЛГОРИТМИЧЕСКУЮ СХЕМУ, но обладающую полной универсальностью. В его машине есть лишь программная память простого вида, не допускающая изменений во время выполнения, только один тип команд и простая лента для ввода-вывода (см. рисунок).

лента

начальная

автомат (УУ)

ячейка

 

 

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

Доказывают это путем сведения анализируемой задачи к типовому виду, надежно доказанному как неразрешимая.

МТ состоит из устройства управления (УУ), которое через головку связано с лентой ввода-вывода. Лента разделена на ячейки, каждая из которых может содержать только одну литеру; лента простирается вправо до бесконечности.

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

109

значаемый .

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

Пр

<Сост1, Лит1, Сост2, Лит2, Н >.

Лев

С учетом нескольких состояний устройства управления ВСЯ ПРОГРАММА МТ включает несколько «пятерок»; расположенных одна над другой, образуя матрицу. Номер пятерки, при этом, соответствует номеру состояния.

Цикл выполнения команды начинается с того, что УУ сравнивает текущее состояние (его «знает» автомат) и литеру на ленте под головкой (ее «видит» головка) с первыми двумя компонентами всей команды, то есть с {<Сост1,Лит1, …>} из всего набо-

ра Сост1, Лит1,...кком1. По правилам программирования для

МТ в программе может быть не более одной пятерки с какой-либо определенной парой состояние – литера (но может и не быть не одной).

Когда совпадение найдено, УУ выполняет три действия:

в ячейку под головкой записывается литера – четвертая компонента пятерки;

головка передвигается на одну ячейку Пр, Лев или остается на месте (Н) как указано в пятой компоненте пятерки;

текущее состояние заменяется на новое – третью компоненту пятерки.

Машина останавливается, если в цикле выполнения не удается найти совпадения с текущей парой «состояние - литера» или если головка выходит за левый край ленты; при этом результатом работы считается все, что остается на ленте после остановки. Пользуясь такой логикой, МТ может выполнять любые вычисления, используя единичную систему счисления. Ее логика может

110

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]