16
Информатика
1. Для каждой переменной отношения:
– Кардинальность — количество кортежей [3];
– Количество страниц, занятых переменной отношения;
– Доля пространства, занимаемого переменной отно-
шения;
2. Для каждого атрибута каждой переменной отно-
шения:
– Количество различных значений атрибута;
– Второе наибольшее и второе наименьшие значения
атрибута;
– Несколько наиболее часто встречаемых значений
атрибута с их частотностью при условии, что это индекси-
рованный атрибут;
3. Для каждого индекса:
– Индикатор кластеризации (совпадает ли логиче-
ский порядок значений ключа с порядком физического
размещения);
– Количество листовых страниц в индексе;
– Количество уровней в индексе.
Именно эти данные помогают оптимизатору принять
правильное решение о выполнении того или иного за-
проса. Но каков в целом алгоритм его действий?
Оптимизация любого запроса затрагивает следующие
четыре стадии [1]:
1. Преобразование запроса во внутреннюю форму.
На данной стадии запрос переводится в формат, удобный
для машинной обработки, для чего удаляются различные
внешние конструкции. Данная стадия является подгото-
вительной — в ходе нее проводятся работы, необходимые
на дальнейших этапах.
2. Преобразование запроса в каноническую форму.
Оптимизация запроса на этом этапе все еще проходит в от-
рыве от данных и путей доступа к ним. Здесь происходит
замена запроса эквивалентной ему канонической формой,
представляющий собой некоторый более эффективный за-
прос. Это происходит из-за того, что любой запрос может
быть сформирован как минимум десятком способов, многие
из которых только из-за своей записи будут серьезно тор-
мозить работу. Для выполнения этой стадии оптимизатор
использует четко определенные законы преобразования.
3. Выбор потенциальных низкоуровневых процедур.
На этой стадии во внимание принимаются все имеющиеся
статистические показатели базы данных. Так, для каж-
дого запроса, уже представленного в канонической форме,
определяется серия операций более низкого уровня, для
каждой из которых, в свою очередь, имеется набор про-
цедур реализации еще более низкого уровня. С каждой
такой процедурой реализации связана параметризованная
формула стоимости, с помощью которой можно опре-
делить затраты, связанные с выполнением данной про-
цедуры. В итоге происходит так называемый выбор пути
доступа, в ходе которого для каждой операции в запросе
подбирается несколько вариантов процедур реализации.
4. Генерация различных планов вычисления запроса
и выбор плана с минимальными затратами. На этой стадии
на основании выбора пути доступа формируются потенци-
альные планы запросы, из которых выбирается тот, сум-
марная стоимость процедур реализации которого явля-
ется наименьшей.
В заключение хотелось бы еще раз отметить, что опти-
мизация, являющаяся одной из сильных сторон реляци-
онных баз данных, имеет огромную роль и ее использо-
вание в работе систем баз данных не просто желательно,
а жизненно необходимо для эффективной работы.
Литература:
1. Дейт, К. Дж. Введение в системы баз данных, 8-е издание: Пер. с англ. / К. Дж. Дейт. — М.: Издательский дом
«Вильямс», 2008. — 1328 с.: ил. — Парал. тит. англ.
2. Гаврилова, Т. А. Базы знаний интеллектуальных систем / Т. А. Гаврилова, В. Ф. Хорошевский. — СПб.: Питер,
2001. — 384 с.: ил.
3. Краморенко, Н. В. Базы данных. / Н. В. Краморенко. — Дальневосточный государственный университет, Тихо-
океанский институт дистанционного образования и технологий. Режим доступа: https://imcs.dvfu.ru/struc/kkt/
inform/studies/BD/dvgu085.pdf (дата обращения: 10.11.2016).
Искусственный интеллект. Основные направления исследований
Иванов Константин Константинович, студент;
Лужин Владимир Михайлович, студент;
Кожевников Дмитрий Вадимович, студент;
Научный руководитель: Москаленко Юрий Сергеевич, кандидат технических наук, профессор
Дальневосточный федеральный университет (г. Владивосток)
Т
ермин «artificial intelligence» был предложен
в 1956 году на семинаре, посвященном разработке
методов решения логических задач, в городе Ганно-
вере, США. На русский язык его перевели как «искус-
“Young Scientist” . #28 (132) . December 2016
17
Computer Science
ственный интеллект», однако подобное трактование
вводит многих в ступор. Точнее будет сказать, что это
нечто, созданное человеком и способное рассуждать
разумно. Более научное определение гласит, что искус-
ственный интеллект, или ИИ, представляет собой на-
правление исследований, «целью которого является
разработка аппаратно-программных средств, позволя-
ющих пользователю-непрограммисту ставить и решать
свои, традиционно считающиеся интеллектуальными
задачи, общаясь с ЭВМ на ограниченном подмножестве
естественного языка» [1]. Существуют два основных
подхода к исследованию ИИ: нейрокибернетика и ки-
бернетика «черного ящика».
Первый подход основан на том, что мыслить способен
исключительно человеческий мозг, поэтому для создания
ИИ необходимо воссоздать его структуру. Подобные си-
стемы называют нейронными сетями. Особое внимание
уделяется биологическому аспекту. Предполагается,
что открытие биологической обработки информации по-
зволит совершить невиданный скачок в развитии [2]. По-
этому нейрокибернетика, необходимость применения
которой многократно возрастает при решении плохо
формализованных задач, имеет большую популярность
в наше время. Так, ученым из Цюриха удалось создать по-
стоянную память на основе ДНК. Тем не менее, и без био-
логической обработки информации создаются и развива-
ются самообучающиеся (использующие уже накопленный
опыт) нейронные сети, заточенные, например, под рас-
познавание образов.
Второй же подход гласит, что неважно то, как будет
устроен ИИ, а важно лишь то, что он должен преобразо-
вать данные как человеческий мозг. Большое внимание
в данном подходе уделяется решению интеллектуальных
задач. Именно из-под его крыла появились первые си-
стемы, основанные на знаниях, которые также называ-
ются экспертными системами. Они представляют собой
набор знаний высококлассных специалистов опреде-
ленных предметных областей, который будет в даль-
нейшем использоваться менее квалифицированными
специалистами.
Существуют огромное число направлений исследо-
ваний в области искусственного интеллекта. К их числу,
например, относятся [1]:
1. Представление знаний и разработка система, ос-
нованных на знаниях. Данное направление является ос-
новным в области разработки ИИ, отвечая за описанные
выше экспертные системы, то есть за предоставление не-
которых структурированных знаний с точки зрения инже-
нерии знаний, суть которой заключается в формализации
этих добытых знаний.
2. Программное обеспечение систем ИИ. Разрабо-
тано немалое число языков программирования, в ко-
торых на первом месте стоят не вычислительные проце-
дуры, а логические и символьные. Наиболее известными
из них являются языки Лисп и Пролог. Язык Лисп был
создан американским информатиком Джоном Маккарти
для решения задач искусственного интеллекта и является
важнейшим языком в среде символьной обработки ин-
формации [3]. На языке Лисп написано огромное число
программ в области работы с естественным языком, что
делает основополагающим для использования в области
ИИ. В свою очередь, язык Пролог, также созданный в ка-
честве языка программирования для решения задач ис-
кусственного интеллекта, отвечает за логику. Матема-
тическая логика является формализацией мышления
человека, поэтому ее применение в ИИ неизбежно [4].
Нельзя не упомянуть, что к ПО систем ИИ относятся экс-
пертные системы, наполнение которых знаниями про-
исходит уже после их разработки. Ярким примером по-
добной системы является оболочка EXSYS, с помощью
которой можно решить проблемы любой проблемной об-
ласти, в которой решение задачи происходит путем вы-
бора одного варианта из нескольких, причем этот выбор
основан на строгой логике.
3. Разработка естественно-языковых интерфейсов
и машинный перевод. Самым ярким представителем дан-
ного направления долгое время являлись системы пе-
ревода с одного языка на другой. Большинство из нас
пользовались такими системами и отмечали иногда так
называемый «корявый» перевод. Связано это с тем, что
машине необходимо понять смысл текста, ведь именно
так и переводит текст человек (он не просто заменяет
слова одного языка их эквивалентом другого языка, а ана-
лизирует передаваемый ими смысл), а это является очень
сложной задачей. Тем не менее, прогресс в данной об-
ласти на лицо. Сейчас наиболее перспективным пред-
ставителем данного направления являются голосовые
помощники, которые анализируют речь человека и вы-
полняют соответствующие действия. Наиболее извест-
ными являются Siri от компании Apple и Google Assistant
от компании Google.
4. Интеллектуальные роботы. Сегодня робототехника
очень популярна, ведь роботы уже широко используются
в промышленности. Тем не менее, пока они не отвечают
задаче искусственного интеллекта, заключающейся в их
самоорганизации. На пути к этому стоят проблемы ма-
шинного зрения и адекватного хранения, а также обра-
ботки трехмерной визуальной информации [1]. Но работа
идет и уже совершаются первые серьезные шаги. Так, на-
пример, в области машинного зрения удалось добиться
того, что на смену прежним роботам, запрограммиро-
ванным на то, чтобы взять деталь и выполнить операцию
в определенном месте и в определенное время, и являю-
щимися попросту слепыми, пришли новые роботы, ос-
нащенные видеокамерами и новым программным обе-
спечением, что позволяет им идентифицировать и искать
детали, а это, в свою очередь, делают систему передви-
жения менее дорогостоящей [5].
5. Обучение и самообучение. Результатам исследо-
ваний в ходе данного направления являются системы,
способные накапливать знания и принимать решения,
исходя из накопленного опыта. Подобные системы обу-
«Молодой учёный» . № 28 (132) . Декабрь 2016 г.
18
Информатика
чаются по некоторым примерам, после чего запускается
процесс их самообучения.
6. Распознавание образов. Процедура распознавания
некоторого образа происходит за счет каждого объекта
с некоторым набором признаков, присущих ему. Данное
направление тесно развивается с предыдущим, благодаря
чему распознавание становится более верным за счет
уточнения признаков и обучения на ошибках.
7. Новые архитектуры компьютеров. Уже давно стало
понятно, что традиционная архитектура компьютера не по-
зволит решать задачи, стоящие перед искусственным ин-
теллектом. В связи с этим огромные усилия направлены на
разработку абсолютно новых аппаратных архитектур. Уже
есть специальные машины, заточенные под языки Лисп
и Пролог, которые, соответственно, предназначены для
решения задач символьной обработки и логических задач.
8. Игры и машинное творчество. В любой совре-
менной компьютерной игре найдется место искусствен-
ному интеллекту. ИИ анализирует действия игрока и от-
вечает на них, используя свою встроенную логику. Ярким
примером является игра в шахматы, в которой ИИ уже
дается обыгрывать гроссмейстеров! Этот результат уди-
вителен, как и машинное творчество, которые заключа-
ется, например, в создании музыки и написании стихов.
Конечно, существуют и другие направления исследо-
ваний в области искусственного интеллекта. К их числу
относят генетические алгоритмы, когнитивное модели-
рование, интеллектуальные интерфейсы, распознавание
и синтез речи, многоагентные системы, менеджмент
знаний, логический вывод, формальные модели, мягкие
вычисления и многое другое [1]. Подобное многообразие
связано с тем, что область применения искусственного
интеллекта настолько широка, что всего лишь попытка
каким бы то ни было образом ее ограничить уже является
настоящей наукой.
Таким образом, можно сделать вывод, что искус-
ственным интеллектом стоит будущее. Исследования, от-
крытия и разработки в данной области позволят нам со-
вершить качественный скачок вперед в своем развитии,
а также повседневно решать огромной перечень задач,
работа с которыми представляется нам сейчас невоз-
можной или крайне сложной.
Литература:
1. Гаврилова, Т. А. Базы знаний интеллектуальных систем / Т. А. Гаврилова, В. Ф. Хорошевский. — СПб.: Питер,
2001. — 384 с.: ил.
2. Круг, П. Г. Нейронные сети и нейрокомпьюетеры: Учебное пособие по курсу «Микропроцессоры». /
П. Г. Круг. — М.: Издательство МЭИ, 2002. — 176 с.
3. Хювёнен, Э. Мир Лиспа. Т. 1: Введение в язык Лисп и функциональное программирование / Э. Хювёнен,
И. Септянен. — М.: Мир, 1990. — 458 с.
4. Солдатова, О. П. Логическое программирование на языке Visual Prolog: учебное пособие / О. П. Солдатова,
И.В Лёзина. — Самара: СНЦ РАН, 2010. — 81 с.: ил.
5. Современная робототехника. Что новенького? // Информационно-аналитический ресурс о рынке робототех-
ники в России и мире «Robogeek.Ru». Электронный ресурс. URL: http://www.robogeek.ru/analitika/sovremen-
naya-robototehnika-chto-novenkogo (дата обращения: 09.10.2016).
Знания и системы, основанные на знаниях
Иванов Константин Константинович, студент;
Лужин Владимир Михайлович, студент;
Кожевников Дмитрий Вадимович, студент;
Научный руководитель: Москаленко Юрий Сергеевич, кандидат технических наук, профессор
Дальневосточный федеральный университет
З
нания. Казалось бы, это слово известно нам еще
с детства, и каждый из нас понимает его смысл. Но
это всего лишь иллюзия. Многие даже не задумыва-
ются об этом, однако, когда дело доходит до сферы ин-
теллектуальных систем, этот вопрос встает крайне остро.
И вправду, что же такое эти знания? И чем они отлича-
ются от обычных данных?
В первую очередь, необходимо отметить, что под дан-
ными понимаются «отдельные факты, характеризу-
ющие объекты, процессы и явления предметной области,
а также их свойства». Знания же представляют собой не-
которые «закономерности предметной области (прин-
ципы, связи, законы), полученные в результате прак-
тической деятельности и профессионального опыта,
позволяющие специалистам ставить и решать задачи
в этой области.
Чтобы лучше понять представленные выше опреде-
ления, проиллюстрируем их примером. Представим, что
“Young Scientist” . #28 (132) . December 2016
19
Computer Science
мы рассматриваем равноускоренное движение автомо-
биля. Этот автомобиль ехал некоторое время со скоро-
стью 63 км/ч (или 17,5 м/с), после чего начал двигаться
с постоянным ускорением в 1 м/с. Его движение реги-
стрировали в течение 10 секунд. В итоге были зафиксиро-
ваны результаты, представленные на рисунке 1.
Рис.
1. Результаты измерения
Полученные результаты являются данными, так как
они представляют собой отдельные факты движения авто-
мобиля. Знанием же в данном случае будут формулы рав-
ноускоренного движения v = v
0
+ a*t и s = v
0
*t + a*t
2
/2,
которые являются законами, связывающими между собой
различные наборы данных.
Однако недостаточно просто различать между собой
данные и знания. Крайне важно эти знания представить
определенным образом, соответствующим выбранной
предметной области. К основным моделям представления
знания относятся следующие четыре [1]: продукционная
модель, семантическая сеть, фрейм и формальная логи-
ческая модель.
В продукционной модели все знания представлены
в виде «Если (условие), то (действие)». Принцип работы
таких систем довольно прост. Есть некоторый набор ис-
ходных данных, который является условием. По этому на-
бору осуществляется поиск в базе знаний. Если поиск за-
вершается успехом, то будет выполнено соответствующие
действие. Возможна и обратная ситуация, когда про-
исходит поиск от цели для ее подтверждения до данных.
Продукционная модель привлекает своей «наглядностью,
высокой модульностью, легкостью внесения дополнений
и изменений и простотой механизма логического вывода».
Семантическая сеть состоит из множества различных
объектов (понятия, события, свойства или процесса),
объединенных между собой определенными отноше-
ниями. Пример семантической сети представлен на ри-
сунке 2. Вершинами здесь являются понятия «Животное»,
«Шимпанзе», «Дерево», «Бананы». Кроме того, в при-
мере также имеются свойства «Возраст» и «Цвет» и их
значения «15 лет» и «Желтый» соответственно.
Рис.
2. Пример семантической сети
Фрейм представляет собой некий абстрактный
образ объекта, минимально описывающий его. Фрейм
может быть структурой, ролью, сценарием или ситуа-
цией. Каждый фрейм обладает определенным набором
свойств и их значений. Важной особенностью фреймов
является наследование свойств. Пример сети фреймов
представлен на рисунке 3. Здесь происходит наследо-
вание свойств от фрейма «Животное» к фрейму «Рыба»
и далее к фрейму «Акула». Поэтому свойствами фрейма
«Акула», кроме перечисленных в фрейме, будут также
способность передвигаться и умение плавать. Однако
рост не будет наследоваться от фрейма «Рыба» к фрейму
«Акула», так как в фрейме «Акула» идет переопреде-
ление этого свойства.
«Молодой учёный» . № 28 (132) . Декабрь 2016 г.
20
Информатика
Рис.
3. Пример сети фреймов
Формальная логическая модель основана на класси-
ческом исчислении предикатов первого порядка. При ис-
пользовании данной модели предметная область описы-
вается в виде набора аксиом. Формальная логическая
модель предъявляет очень высокие требования и огра-
ничения к предметной области, поэтому используется го-
раздо реже представленных выше моделей.
Системы, основанные на знаниях, называют эксперт-
ными. Они представляют собой «сложные программные
комплексы, аккумулирующие знания специалистов в кон-
кретных предметных областях и тиражирующие этот эм-
пирический опыт для консультаций менее квалифици-
рованных пользователей». Такие системы работают
следующим образом: пользователь посылает запрос к си-
стеме через интерфейс взаимодействия, а система, ис-
пользуя базу знаний, выдает наиболее подходящую ре-
комендацию, объясняя принятое решение с помощью
встроенной подсистемы объяснений. Экспертные си-
стемы имеют обширную классификацию. Например, их
можно разделить следующим образом [1]:
1) По решаемой задаче: интерпретация данных, диа-
гностика, проектирование, прогнозирование, планиро-
вание или обучение.
2) По связям с реальным временем: статические, ква-
зидинамические или динамические.
3) По типу ЭВМ: на суперЭВМ, на ЭВМ средней про-
изводительности, на символьных процессорах, на рабочих
станциях или на ПЭВМ.
4) По степени интеграции: автономные или гибридные
(интегрированные).
В заключение хотелось бы отметить, что экспертные
системы, наполненные ценными знаниями, накопленными
человечеством, являются одним из фундаментальных на-
правлений исследований в области искусственного ин-
теллекта. Их вклад крайне сложно переоценить, но одно
можно сказать точно — за подобными системами, обеспе-
чивающими передачу знаний от одного поколения к дру-
гому — будущее.
Литература:
1. Гаврилова, Т. А. Базы знаний интеллектуальных систем / Т. А. Гаврилова, В. Ф. Хорошевский. — СПб.: Питер,
2001. — 384 с.: ил.
Обеспечение защиты данных в базах данных
Иванов Константин Константинович, студент;
Юрченко Роман Николаевич, студент;
Ярмонов Антон Сергеевич, студент;
Научный руководитель: Маркин Василий Евгеньевич, кандидат технических наук, доцент
Дальневосточный федеральный университет (г. Владивосток)
И
спользование электронных картотек данных, назы-
ваемых базами данных, серьезно облегчило жизнь
людям. Их несомненные преимущества перед бумажными
носителями информации на лицо, и одним из них является
“Young Scientist” . #28 (132) . December 2016
21
Computer Science
возможность организации защиты данных. Однако этот
процесс является довольно сложным и имеет множество
проблемных аспектов, но прежде чем перейти к ним необ-
ходимо разобраться, что же именно подразумевается под
защитой данных.
Защита данных есть «предотвращение доступа к ним со
стороны несанкционированных пользователей» [1]. До-
вольно простое определение, которое говорит нам о том,
что все множество людей некоторым образом делится на
тех, кто имеет доступ к данным (точнее, к определенным
данным), и на тех, кто этого доступа не имеет, и что не-
обходимо не допустить доступа к этим данным последних.
Тем не менее, не все так просто и зачастую ключевую
роль играют даже не внутренние аспекты (организация
защиты исключительно в рамках системы управления баз
данных), а внешние. К их числу относятся:
1. Получение доступа к данным на законных основа-
ниях, например, судом.
2. Охрана помещения с физическими носителями ин-
формации.
3. Принятие решений о разрешении некоторым людям
доступа к данным.
4. Использование дополнительных средств защиты
в устройствах и операционной системе.
К внутренним же факторам относится шифрование
данных и разделение прав между пользователями с их
идентификацией. Шифрование данных применяется для
защиты от физического несанкционированного доступа.
Суть шифрования состоит в представлении данных в таком
виде, чтобы по ним было невозможно восстановить их пер-
воначальный вид, не имея специального ключа шифро-
вания. Существует множество алгоритмов шифрования,
каждый из которых стремится в той или иной степени вы-
полнить поставленную задачу. Однако более интересным
является вопрос разделения прав доступа между пользо-
вателями и идентификация этих пользователей.
Представим, что доступ к данным получило некоторое
число человек. Но как системе понять, кто перед ним —
человек, получивший доступ, или нет? Подобный процесс
называется аутентификацией. Обычно у каждого поль-
зователя есть свой идентификатор и пароль, известный
только ему. В более продвинутых системах имеются куда
более сложные системы аутентификации: распознавание
отпечатков пальцев, характеристик ладони, голоса, сет-
чатки глаза, подписей и много другого. Чем сложнее про-
цедура аутентификации, тем больше вероятность того,
что посторонний человек не сможет получить доступ
к данным.
Чаще всего пользователям не предоставляют доступ
ко всем данным, а лишь к некоторым определенным. Су-
ществует три способа разделения прав: избирательный,
мандатный и комбинированный (сочетает в себе первые
два способа).
При использовании избирательной схемы управления
доступом каждому пользователю обычно выдаются при-
вилегии на доступ к некоторым данным, а не ограничива-
ется доступ к остальным. Каждая привилегия (или пол-
номочие) регистрируется в системном каталоге. Для нее
известны ее имя, переменная отношения и разрешенные
с ней операции (выборка, вставка, удаление, обновление
или все вместе), а также список пользователей, которым
эта привилегия выдана. Стоит также отметить, что любую
выданную привилегию можно с легкостью отозвать. Од-
нако более интересно, что происходит, когда пользо-
ватель, не имеющий полномочий на выполнение опе-
раций с некоторыми данными, пытается этими данными
каким-либо образом манипулировать. В самом простом
варианте ему будет показано окно с ошибкой, где будет
сказано, что у него нет прав на выполнение данной опе-
рации. В более сложных системах возможно блокиро-
вание пользователя или занесение всех событий, проис-
ходящих в системе, в специальный контрольный журнал.
Делается все это по причине того, что, к сожалению, не
существует непреодолимых систем защиты. Чаще всего
в контрольном журнале хранятся записи, содержащие ин-
формацию о пользователе, совершенной им операции,
номере устройства, дате и времени операции, исходные
и измененные значения. Все это, например, может позво-
лить восстановить данные при их злонамеренной порче.
При использовании мандатной схемы управления до-
ступом каждому объекту данных ставится в соответствие
некоторый классификационный уровень, а каждому поль-
зователю — уровень допуска. Благодаря этому создается
иерархическая структура, довольно удобная в управлении,
но абсолютно не гибкая в расчете на одного конкретного
пользователя, так как права задаются сразу большой
группе пользователей. При такой системе управления
чем выше уровень допуска, тем к большому числу данных
имеет доступ пользователь. Не может возникнуть такой
ситуации, когда пользователь с более низким уровнем
допуска имеет доступ к данным, к которым не имеет до-
ступа пользователь с более высоким уровнем доступа.
Тем не менее, довольно часто используется комбиниро-
вание мандатной и избирательной схемы управления до-
ступа. В таком случае, например, мандатно происходит
распределение доступа к данным на уровне отделов, а уже
в самих отделах — избирательно.
Большой интерес также представляют статистические
базы данных, в которых возможно только агрегирование
данных (работа только с совокупностью данных). На-
пример, можно узнать средний возраст всех сотрудников,
но нельзя узнать конкретный возраст определенного со-
трудника. Однако иногда за счет логических выводов уда-
ется преодолеть это ограничение, так как «обобщенные
значения содержат следы исходной информации, и она
может быть восстановлена злоумышленником после со-
ответствующей обработки достаточного количества этих
обобщенных значений» [2]. Данная проблема получает
все большое распространение и ее отлично иллюстрирует
следующий пример.
Представим, что у нас есть переменная отношения,
содержащая данные о жильцах некоторого дома. Данная
«Молодой учёный» . № 28 (132) . Декабрь 2016 г.
Dostları ilə paylaş: |