Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
72
Добавлен:
10.05.2015
Размер:
699.9 Кб
Скачать

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

  1. случайной потери или изменения,

  2. нелегального распространения,

  3. санкционированного просмотра,

  4. сбоев оборудования,

  5. проблем демографического взрыва.

2. Выделите три наиболее важных метода защиты информации от нелегального доступа

  1. использование специальных <электронных ключей>,

  2. шифрование,

  3. архивирование (создание резервных копий),

  4. использование антивирусных программ,

  5. установление паролей на доступ к информации.

3. Выделите три наиболее важных метода защиты информации от преднамеренного искажения

  1. использование антивирусных программ,

  2. установление специальных атрибутов файлов,

  3. шифрование,

  4. установление паролей на доступ к информации,

  5. использование специальных <электронных ключей>.

4. Выделите два наиболее важных метода защиты информации от сбоев оборудования

  1. использование специальных <электронных ключей>,

  2. аккуратная работа с <чужими> носителями информации,

  3. автоматическое дублирование данных на двух автономных носителях,

  4. шифрование,

  5. архивирование (создание резервных копий).

5. Укажите три вида антивирусных программ

  1. программы-интерпретаторы,

  2. программы-детекторы,

  3. программы-доктора,

  4. программы-ревизоры,

  5. программы-резиденты.

6. Укажите три параметра, по которым можно классифицировать компьютерные вирусы

  1. способ заражения среды обитания,

  2. среда обитания,

  3. степень полезности,

  4. степень опасности,

  5. объем программы.

7. Какие источники преднамеренного проникновения в сеть являются наиболее опасными:

  1. взломщики сетей – хакеры,

  2. профессионалы - специалисты по сетям, посвятившие себя промышленному шпионажу,

  3. уволенные или обиженные сотрудники сети.

Искусственный интеллект

План

5.1. Основные положения

5.2. Типичные модели представления знаний

5.3. Эволюционные аналогии в искусственных интеллектуальных системах

Основные положения

Термин интеллект (intelligence) происходит от латинского intellectus — что означает ум, рассудок, разум; мыслительные способности человека. Соответственно искусственный интеллект (artificial intelligence) — ИИ (AI) обычно толкуется, как свойство автоматических систем брать на себя отдельные функции интеллекта человека, например, выбирать и принимать оптимальные решения на основе ранее полученного опыта и рационального анализа внешних воздействий.

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

1) область фундаментальных исследований, в процессе которых разрабатываются новые модели и методы решения задач, не поддающихся формализации;

2) область разработки новых технологий программирования для компьютеров не фон-неймановской архитектуры;

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

Основные направления ИИ:

  • разработка интеллектуальных информационных систем (ИИС) или систем, основанных на знаниях;

  • разработка естественно-языковых интерфейсов и машинный перевод;

  • генерация и распознавание речи;

  • обработка визуальной информации;

  • обучение и самообучение;

  • распознавание образов;

  • игры и машинное творчество;

  • программное обеспечение систем ИИ;

  • новые архитектуры компьютеров;

  • интеллектуальные роботы.

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

  • развитые коммуникативные способности;

  • умение решать сложные плохо формализуемые задачи;

  • способность к самообучению;

  • адаптивность.

Одно из определений термина «знания» гласит: «Знания – это хорошо структурированные данные или данные о данных, или метаданные».

Знания можно классифицировать следующим образом:

1) по своей природе

a) декларативные - описание фактов и явлений, связей между ними и закономерностей их развития;

b) процедурные - описание действий при манипулировании фактами и явлениями;

2) по способу приобретения

a) факты;

b) эвристику - правила, которые позволяют сделать выбор при отсутствии точных теоретических обоснований;

3) по типу представления

a) факты – «А – это А»;

b) правила – «Если А, то В».

Существуют различные подходы к построению систем ИИ.

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

Конечно, можно сказать, что выразительности алгебры высказываний не хватит для полноценной реализации ИИ, но стоит вспомнить, что основой всех существующих ЭВМ является бит — ячейка памяти, которая может принимать значения только 0 и 1. Таким образом было бы логично предположить, что все, что возможно реализовать на ЭВМ, можно было бы реализовать и в виде логики предикатов. Хотя здесь ничего не говорится о том, за какое время.

Добиться большей выразительности логическому подходу позволяет такое сравнительно новое направление, как нечеткая логика. Основным ее отличием является то, что правдивость высказывания может принимать в ней кроме да/нет (1/0) еще и промежуточные значения — не знаю (0.5), пациент скорее жив, чем мертв (0.75), пациент скорее мертв, чем жив (0.25). Данный подход больше похож на мышление человека, поскольку он на вопросы редко отвечает только да или нет. Хотя, правда на экзамене будут приниматься только ответы из разряда классической булевой алгебры.

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

Под структурным подходом мы подразумеваем здесь попытки построения ИИ путем моделирования структуры человеческого мозга. Одной из первых таких попыток был перцептрон Френка Розенблатта. Основной моделируемой структурной единицей в перцептронах (как и в большинстве других вариантов моделирования мозга) является нейрон.

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

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

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

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

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

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

Еще один широко используемый подход к построению систем ИИ — имитационный. Данный подход является классическим для кибернетики с одним из ее базовых понятий — "черным ящиком" (ЧЯ). ЧЯ — устройство, программный модуль или набор данных, информация о внутренней структуре и содержании которых отсутствуют полностью, но известны спецификации входных и выходных данных. Объект, поведение которого имитируется, как раз и представляет собой такой "черный ящик". Нам не важно, что у него и у модели внутри и как он функционирует, главное, чтобы наша модель в аналогичных ситуациях вела себя точно так же.

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

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

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

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

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

Типичные модели представления знаний

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

Каждой модели отвечает свой язык представления знаний.

Логическая модель представления знаний

Логическая модель основана на системе исчисления предикатов первого порядка. В основе логики предикатов лежит исчисление высказываний.

Высказыванием называется предложение, смысл которого можно выразить значениями: истина (Т) или ложь (F). Например, предложения «лебедь белый» и «лебедь черный» будут высказываниями. Из простых высказываний можно составить более сложные:

«лебедь белый или лебедь черный»,

«лебедь белый и лебедь черный»,

«если лебедь не белый, то лебедь черный».

В свою очередь, сложные высказывания можно разделить на частичные, которые связаны между собой с помощью слов: И, ИЛИ, НЕ, ЕСЛИ — ТО. Элементарными называются высказывания, которые нельзя разделить на части. Логика высказываний оперирует логическими связями между высказываниями, т.е. она решает вопросы типа: «Можно ли на основе высказывания А получить высказывание В?»; «Истинно ли В при истинности А?» и т.п. При этом семантика высказываний не имеет значения. Элементарные высказывания рассматриваются как переменные логического типа, над которыми разрешены следующие логические операции:

¬ отрицание (унарная операция);

∧ конъюнкция (логическое умножение);

∨ дизъюнкция (логическое сложение);

 импликация (если — то);

↔ эквивалентность.

Операция импликации должна удовлетворять следующим требованиям.

1. Значение результата импликации зависит от двух операндов.

2. Если первый операнд (А) - истинный, то значение результата совпадает со значением второго операнда (В).

3. Операция импликации не коммутативна.

4. Результат импликации совпадает с результатом выражения ¬A∨B.

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

Таблица 11 - Результаты вычисления логических операций

А

¬А

В

А∧В

А∨В

АВ

А↔В

Т

F

Т

Т

Т

Т

Т

Т

F

F

F

Т

F

F

F

Т

Т

F

Т

Т

F

F

Т

F

F

F

Т

Т

Рассмотрим ставший классическим пример рассуждения о Сократе:

Р: «Все люди смертны»

Q: «Сократ — человек»

R: «Сократ — смертен»

Используя для обозначения высказываний логические переменные Р, Q, R, можно составить формулу: (P∧Q)R, которая может быть интерпретирована как «Если все люди смертны и Сократ является человеком, то Сократ является смертным».

Чтобы осуществить этот примитивный логический вывод, высказывание Q следует разделить на две части: «Сократ» (субъект) и «человек» (свойство субъекта) и представить в виде отношения «субъект — свойство», которое можно записать с помощью функции человек (Сократ).

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

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

«Для всех X, если X является человеком, то Х является смертным».

Введя предикаты ЧЕЛОВЕК(Х) и CMEPTEH(Х), можно составить логическую формулу ЧЕЛОВЕК(Х)СМЕРТЕН(Х). Чтобы показать справедливость этой формулы для любого X, используется квантор общности: Х— «для любого X».

Тогда рассматриваемое утверждение запишется в виде

(Х)ЧЕЛОВЕК(Х)СМЕРТЕН(Х).

Кроме квантора общности в логике предикатов есть квантор существования: Х «существует хотя бы один такой X, что ...» или «найдется хотя бы один X, такой, что ...».

Операции в логике предикатов имеют неодинаковые приоритеты. Самый высокий приоритет имеет квантор общности, самый низкий — операция эквивалентности. Расположение операций по убыванию приоритета будет выглядеть следующим образом:

, , ¬, ∧. ∨, , ↔.

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

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

Представление знаний правилами продукций

Продукционная модель в силу своей простоты получила наиболее широкое распространение. В этой модели знания представляются в виде совокупности правил типа «ЕСЛИ — ТО». Системы обработки знаний, использующие такое представление, получили название продукционных систем. В состав экспертной системы продукционного типа входят база правил, база фактических данных (рабочая память) и интерпретатор правил, реализующий определенный механизм логического вывода. Любое продукционное правило, содержащееся в БЗ, состоит из двух частей: антецедента и консеквента. Антецедент представляет собой посылку правила (условную часть) и состоит из элементарных предложений, соединенных логическими связками И, ИЛИ. Консеквент (заключение) включает одно или несколько предложений, которые выражают либо некоторый факт, либо указание на определенное действие, подлежащее исполнению. Продукционные правила принято записывать в виде антецедент консеквент.

Примеры продукционных правил:

  • ЕСЛИ «двигатель не заводится» И «стартер двигателя не работает», ТО «неполадки в системе электропитания стартера»;

  • ЕСЛИ «животное имеет перья», ТО «животное — птица».

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

Основные достоинства продукционных систем связаны с простотой представления знаний и организации логического вывода. К недостаткам систем продукций можно отнести следующие:

  • отличие от структур знаний, свойственных человеку;

  • неясность взаимных отношений правил;

  • сложность оценки целостного образа знаний;

  • низкая эффективность обработки знаний.

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

Объектно-ориентированное представление знаний фреймами

Фреймовая модель представления знаний - систематизированная психологическая модель памяти человека и его сознания.

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

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

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

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

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

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

Пример фрейма РУКОВОДИТЕЛЬ

Имя слота

Значение слота

Тип значения слота

Имя

Иванов И. И.

Строка символов

Рожден

01.01.1965

Дата

Возраст

age(dama, рожден)

Процедура

Специальность

Юрист

Строка символов

Отдел

Отдел кадров

Строка символов

Зарплата

80000

Число

Адрес

ДОМ_АДРЕС

Фрейм

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

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

  • имя слота должно быть уникальным в пределах фрейма.

  • указатели наследования показывают, какую информацию об атрибутах слотов из фрейма верхнего уровня наследуют слоты с аналогичными именами в данном фрейме. Указатели наследования характерны для фреймовых систем иерархического типа, основанных на отношениях типа «абстрактное — конкретное».

  • указатель типа данных показывает тип значения слота.

  • значение слота должно соответствовать указанному типу данных и условию наследования.

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

  • присоединенная процедура запускается по сообщению, переданному из другого фрейма.

Пример сети фреймов приведен на рисунке 29.

Рисунок 29 - Пример иерархии фреймов

На нем понятие УЧЕНИК наследует свойства фреймов РЕБЕНОК и ЧЕЛОВЕК, которые находятся на более высоких уровнях иерархии. Если будет задан вопрос «Любят ли ученики сладкое?», то следует ответ «да», так как этим свойством обладают все дети, что указано во фрейме РЕБЕНОК. Наследование свойств может быть частичным, например «возраст» для учеников не наследуется из фрейма «ребенок», так как явно указан в собственном фрейме.

Модель семантической сети

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

  • множество — подмножество (типы отношений «абстрактное — конкретное», «целое — часть», «род — вид»);

  • индексы (свойства, имена прилагательные в языке и т.п.);

  • конъюнктивные связи (логическое И);

  • дизъюнктивные связи (логическое ИЛИ);

  • связи по ИСКЛЮЧАЮЩЕМУ ИЛИ;

  • отношения «близости»;

  • отношения «сходства — различия»;

  • отношения «причина — следствие» и др.

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

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

Семантические сети получили широкое применение в системах распознавания речи и экспертных системах.

Эволюционные аналогии в искусственных интеллектуальных системах

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

  • наследственная изменчивость как предпосылка эволюции, ее материал;

  • борьба за существование как контролирующий и направляющий фактор;

  • естественный отбор как преобразующий фактор.

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

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

Преобразования генофонда популяции происходят под управлением естественного отбора.

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

К основным направлениям развития эволюционного моделирования на современном этапе относятся следующие:

  • генетические алгоритмы (ГА), предназначенные для оптимизации функций дискретных переменных и использующие аналогии естественных процессов рекомбинации и селекции;

  • классифицирующие системы (КС), созданные на основе генетических алгоритмов, которые используются как обучаемые системы управления;

  • генетическое программирование (ГП), основанное на использовании эволюционных методов для оптимизации создаваемых компьютерных программ;

  • эволюционное программирование (ЭП), ориентированное на оптимизацию непрерывных функций без использования рекомбинаций;

  • эволюционные стратегии (ЭвС), ориентированные на оптимизацию непрерывных функций с использованием рекомбинаций.

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

Тесты для самопроверки