bannerbanner
Информационные технологии и управление искусственным интеллектом
Информационные технологии и управление искусственным интеллектом

Полная версия

Информационные технологии и управление искусственным интеллектом

Настройки чтения
Размер шрифта
Высота строк
Поля
На страницу:
6 из 8

Рассмотрим пример таблицы умножения. В этой таблице, адрес каждой ячейки определяется номером строки и номером столбца. Например, для умножения числа из 3-й строки на число из 4-го столбца, мы найдем ячейку, расположенную на пересечении этих строк и столбцов.


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


Для поиска элемента в таблице с адресом (m, n), мы начинаем просмотр таблицы с самого начала и считаем внешние разделители. Когда мы отсчитываем «m-1» разделитель, мы переходим к соответствующей строке. Затем мы считаем внутренние разделители, чтобы найти нужный столбец. Если все элементы таблицы имеют одинаковую длину, мы можем рассматривать ее как матрицу. В этом случае нам не нужны разделители, так как длина каждого элемента известна. Для поиска элемента с адресом (t, p) в матрице, мы используем формулу a [N (m -1) + (n -1)], где «а» – длина элемента, «N» – количество столбцов, а «m» и «n» – номер строки и столбца соответственно. Таким образом, табличные структуры данных (матрицы) позволяют упорядочить информацию, где каждый элемент имеет свой уникальный адрес. Многомерные таблицы представляют собой таблицы с более чем двумя измерениями. Рассмотрим пример таблицы, используемой для учета учащихся. В такой таблице каждый учащийся идентифицируется пятью параметрами: номер факультета, номер курса на факультете, номер специальности на курсе, номер группы в потоке одной специальности и номер учащегося в группе. Размерность такой таблицы равна пяти, и для доступа к информации об учащемся необходимо знать все пять параметров, то есть их координаты в таблице.


Иерархические структуры данных представляют собой способ организации данных, где каждый элемент имеет свой адрес в виде пути, ведущего от вершины структуры к данному элементу. Примером иерархической структуры данных является система почтовых адресов или систематизации информации в классификациях. Например, для доступа к программе «Калькулятор» в операционной системе Windows 98 необходимо пройти следующий путь: Пуск> Программы> Стандартные> Калькулятор.


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


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


Добавление нового элемента в упорядоченную структуру списка может также привести к изменению адресных данных других элементов. В отличие от простых структур, иерархические структуры данных более сложны по форме, но их обновление проще. Их легко развивать путем создания новых уровней, и изменения в одной части структуры обычно не затрагивают другие. Однако упорядочение иерархических структур может быть сложным из-за относительной трудоемкости записи адреса элемента данных и необходимости использования методов индексации для обеспечения быстрого доступа и сортировки. Методы индексации, такие как дихотомия, позволяют значительно упростить поиск и сортировку данных в иерархических структурах, делая их более эффективными для использования в информационных системах. Выбор подходящей структуры данных зависит от различных факторов, таких как:


Объём данных: Если имеется большой объём данных, необходимо выбирать структуру данных, которая обеспечивает эффективный доступ и хранение. Например, для хранения большого количества данных с быстрым доступом к ним можно использовать хеш-таблицы или деревья.


Частота операций: Если операции добавления, удаления и поиска выполняются часто, нужно выбирать структуру данных, оптимизированную под эти операции. Например, для быстрого поиска элементов при частом изменении данных можно использовать хеш-таблицы или сбалансированные деревья.


Сложность алгоритмов: Некоторые структуры данных подходят для определённых типов алгоритмов. Например, для эффективной реализации алгоритмов поиска кратчайшего пути в графе следует использовать графовые структуры данных.


Ограничения памяти: В случае ограниченных ресурсов памяти важно выбирать структуры данных, которые эффективно используют доступную память. Например, для эффективного использования памяти при хранении большого объёма данных можно применять компактные структуры, такие как битовые массивы или сжатые структуры данных. Некоторые ресурсы, которые помогут в изучении структур данных и алгоритмов:


Ø «Структуры данных и алгоритмы на Python» (Data Structures and Algorithms in Python) от Michael T. Goodrich, Roberto Tamassia и Michael H. Goldwasser. Этот учебник предлагает подробное объяснение основных концепций и принципов структур данных и алгоритмов, используя язык программирования Python. Он включает множество примеров, упражнений и проектов для закрепления материала.


Ø «Введение в алгоритмы» (Introduction to Algorithms) от Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest и Clifford Stein. Это классическое учебное пособие, охватывающее широкий спектр тем по структурам данных и алгоритмам. Оно подходит для продвинутого уровня и требует хорошего знания математики и анализа алгоритмов.


Ø «Структуры данных и алгоритмы» (Data Structures and Algorithms) на платформе Coursera. Это серия онлайн-курсов, предлагающих интерактивное обучение по различным аспектам структур данных и алгоритмов. Курсы включают видеолекции, тесты, задачи и проекты, и доступны на разных языках, включая английский и русский.


Тестовые вопросы с вариантами ответов


1. Кто является основателем семантического подхода и отцом кибернетики?


o а) А. Харкевич


o б) Н. Винер


o в) Майкл Т. Гудрич


o г) Томас Х. Кормен


2. Какие единицы измерения информации используются для количественной оценки объёма и потока информации?


o а) Байт, нат, хартли


o б) Метр, килограмм, секунда


o в) Грамм, литр, метр


o г) Секунда, минута, час


3. Какая структура данных лучше всего подходит для двумерных данных?


o а) Линейная структура


o б) Табличная структура


o в) Иерархическая структура


o г) Сетевая структура


4. Какой метод позволяет сделать путь доступа к данным в иерархических структурах более компактным?


o а) Сортировка


o б) Дихотомия


o в) Хеширование


o г) Балансировка


5. Какое преимущество имеют иерархические структуры данных?


o а) Простота обновления данных


o б) Эффективное использование памяти


o в) Легкость упорядочения данных


o г) Простота реализации


Правильные ответы:


1. Правильный ответ: б)


2. Правильный ответ: а)


3. Правильный ответ: б)


4. Правильный ответ: б)


5. Правильный ответ: а)

1.7. Кодирование информации

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


Часто кодирование применяется для перехода от исходного представления к представлению удобному для хранения, передачи и обработки. Обратный переход называется декодированием.


При кодировании могут достигаться различные цели и соответственно применяться различные методы.


Цели кодирования:


Ø экономность, т.е. уменьшение избыточности сообщения;


Ø повышение скорости передачи или обработки;


Ø надёжность, т.е. защита от случайных искажений;


Ø секретность, т.е. защита от нежелательного доступа к информации;


Ø удобство физической реализации;


Ø удобство восприятия.


Эти цели часто противоречат друг другу.


Экономные сообщения могут оказаться ненадёжными, т.к. они не содержат лишних символов, и искажение любого символа может изменить смысл сообщения.


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


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


Теория кодирования подробно исследует проблемы разумного сочетания экономности и надёжности при передаче сообщения.


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


Один из подходов к уменьшению объёма состоит в передаче так называемой сжатой информации. Принцип передачи сжатой информации состоит в следующем. На передающем и приёмном концах имеется одинаковый набор знаков. Они образуют алфавит. Каждому знаку ставится в соответствие определённое слово, фраза или фрагмент изображения. Это соответствие известно как передающей, так и приёмной стороне. Если нужно передать какое-либо изображение, то по каналу связи передаётся только знак, которым это сообщение закодировано. Именно таким способом передаётся информация со спутников.


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


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


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


Всем известны алфавиты естественных языков: русский (кириллица), латинский и др., представляющие собой конечное множество букв. В русском – 32 буквы, в латинском – 28, в китайском более 40 тыс. иероглифов.


Совокупность цифр образуют цифровые алфавиты:


Ø двоичный алфавит содержит две цифры: 0 и 1;


Ø троичный: 0, 1 и —1;


Ø десятичный: 0, 1, 2,…, 9;


Ø восьмеричный;


Ø двенадцатеричный;


Ø шестнадцатеричный.


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


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


Ø непозиционная, например, римская система счисления;


Ø позиционные системы счисления.


В компьютерных системах наиболее широкое применение нашло двоичное кодирование информации.


Основные преимущества двоичной системы кодирования:


Ø минимальное количество символов;


Ø высокая помехоустойчивость;


Ø простота реализации;


Ø простота выполнения арифметических и логических операций в компьютере и т. д.

Криптография

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


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


В основе шифрования лежат два основных понятия: алгоритм и ключ.


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


Чтобы зашифровать послание достаточно специального алгоритма. Действие такого алгоритма запускается уникальным числом, обычно называемым шифрующим ключом. Шифрующий ключ представляет собой битовую последовательность, 8 – битный ключ допускает 256 (28) комбинаций ключей. Если использовать 128-битный ключ, то необходимо перебрать 2128 ключей, что в настоящее время не под силу даже самым мощным компьютерам.


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


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

Десятичное кодирование информации

Обработка информации техническими устройствами, в частности, обработка экономической информации на компьютере, требует кодирования информации. Целью кодирования при этом является удобство восприятия информации человеком и компьютером.


Разработка системы кодирования осуществляется в два этапа:


Ø классификация информации;


Ø кодирование.


Классификация – это распределение элементов множества на подмножества: классы, подклассы, группы, подгруппы, виды, подвиды.


Кодирование – это присвоение условного обозначения различным элементам.


Классификатор – это систематизированный свод элементов и их кодовых обозначений.


Классификатор студентов содержит данные:


Ø курса;


Ø номера группы;


Ø специальности;


Ø порядкового номера студента в соответствии с алфавитным списком.


Другой пример десятичного кодирования – телефонный справочник, где указываются десятичные коды городов, и десятичные коды номеров абонентов.

Двоичное кодирование информации

Обычное кодирование, основанное на амплитудной модуляции используется, в частности, в компьютерах для кодирования:


Ø – числовой;


Ø – графический;


Ø – текстовой;


Ø – звуковой информации.


В настоящее время на остове двоичного кодирования разработана система «цифрового телевидения».


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


Однако физическая реализация двоичной системы может быть различной.


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


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


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

Избыточность информации

Избыточность – есть средство повышения надёжности.


Виды избыточности:


Ø функциональная;


Ø структурная;


Ø временная;


Ø информационная.


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


Функциональная избыточность – это меры обеспечивающие сохранение работоспособности системы при выходе некоторых параметров за пределы допусков. К числу таких средств относятся адаптация системы за счёт введения дополнительных обратных связей.


Временная избыточность – увеличение надёжности за счёт увеличения времени работы с информацией. Примеры – повтор передачи сообщения, повтор расчётов.


Информационная избыточность заключается в использовании слов, кодов, которые содержат как бы «излишние» элементы, что обеспечивает надёжность передачи сообщений.


Разработка системы кодирования осуществляется в два этапа:


Ø классификация информации;


Ø кодирование.


Классификация это разбиение множества объектов на подмножества по признаку их сходства или различия в соответствии с принятыми методами.


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


Общегосударственные классификаторы охватывают все значения реквизитов-признаков и связанных с ними показателей в масштабах всего народного хозяйства-хољагии халќ. Отраслевые- классификаторы ведутся в масштабах отрасли (министерства, ведомства), Региональные- в пределах территории (области, района, города), Локальные в пределах предприятий, учреждений и т. п.


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


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


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


ОКТЭП (технико-экономических показателей);


ОКПО (предприятий и организаций);


ОКОНХ (отраслей народного хозяйства);


ОКУД (управленческой документации);


ОКП (промышленной и сельскохозяйственной продукции);


ОКОАТО (объектов административно-территориального деления объектов и населенных пунктов);


КФС (форм собственности) и др.


Наличие классификаторов обеспечивает возможность построения эффективных логических систем кодирования экономической информации. Все коды строятся по определенным правилам (системам).


Кодирование экономической информации. Кодирование – это процесс присвоения экономической информации условных обозначений, подчиненных определенным правилам на основе принятого алфавита.


Система кодирования это совокупность правил и алгоритмов, по которым осуществляется кодирование. Код является обозначением признака объекта в виде знака или группы знаков в соответствии с принятой системой кодирования.


Различают два типа кодов: машинные и экономические. Машинные коды используют для управления ПК и представления команд, экономические объединяют все виды кодов, используемых для представления технико-экономической информации. Азбука кода это знаки, используемые в процессе кодирования. Основание кода это число знаков буквенного кода, используемых в кодовом обозначении.


Цифровая азбука кода состоит из цифр, смешанная азбука – из букв и цифр. В вычислительной технике существует система, которая называется двоичная система кодирования, основанная на представлении данных последовательностью всего двух знаков: 0 и 1. Иногда системы кодирования называют системами счисления. Также есть восьмеричная (от 0 до 7), шестнадцатеричная (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, B, C, D, E, F) и десятичная (от 0 до 9) системы счисления. Кодирование информации тесно связано с применением методов сортировки, группировки, поиска. Эти методы определяют назначение и структуру кодов. Кодирование и обратный процесс кодированию – декодирование – выполняются при автоматизированной обработке данных многократно, начиная с составления документов или других носителей информации, передачи данных по каналам связи и заканчивая выдачей результативных сведений пользователю.


Для кодирования экономической информации используются такие системы кодирования: порядковые, серийные, позиционные (разрядные, или десятичные), шахматные, комбинированные, единая система кодирования.


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


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


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


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


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


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

На страницу:
6 из 8