Технологии искусственного интеллекта
1.
Знания и модели их представления
Основные понятия искусственного интеллекта
Системы
искусственного интеллекта ориентированы на решение большого класса
задач, называемых неформализуемыми (трудно формализуемыми). Такие задачи обладают
следующими свойствами:
·
алгоритмическое решение задачи неизвестно или нереализуемо
из-за
ограниченности ресурсов ЭВМ;
·
задача не может быть представлена в числовой форме;
·
цели
решения задачи не могут быть выражены в терминах точно
определенной целевой функции;
·
большая размерность пространства решения;
·
динамически изменяющиеся данные и знания.
В исследованиях по
искусственному интеллекту можно выделить два основных направления.
1.Программно-прагматическое — занимается созданием
программ,
с
помощью которых можно решать те задачи, решение которых до этого считалось исключительно прерогативой
человека (программы распознавания, решения
логических задач, поиска, классификации). Это
направление ориентировано на поиски
алгоритмов решения интеллектуальных задач на существующих моделях компьютеров.
2.Бионическое — занимается проблемами
искусственного воспроизведения
тех структур и процессов, которые характерны для человеческого мозга и которые лежат в основе процесса решения задач чело
веком. В рамках бионического
подхода сформировалась новая наука —нейроинформатика, одним из результатов которой стала разработка нейрокомпьютеров.
Классическим принято
считать программно-прагматическое направление. В рамках этого направления сначала
велись поиски моделей и алгоритма человеческого мышления.
Существенный прорыв в практических
приложениях систем искусственного
интеллекта произошел в середине 70-х годов, когда на смену поискам
универсального алгоритма мышления пришла идея моделировать конкретные знания специалистов-экспертов. Так появились системы, основанные на знаниях, — экспертные
системы. Сформировался новый подход к решению интеллектуальных задач —
представление и использование
знаний. Интересно, что понятие «знание» не имеет на сегодняшний день какого-либо исчерпывающего определения.
Знания —
это выявленные закономерности предметной области (принципы, связи, законы),
позволяющие решать задачи в этой области. С точки зрения искусственного интеллекта знания можно определить
как формализованную информацию, на которую ссылаются в процессе логического
вывода.
Приведем ряд
определений.
База знаний — это совокупность знаний, описанных с
использованием выбранной формы их
представления. База знаний является основой
любой интеллектуальной системы. База знаний содержит описание
абстрактных сущностей: объектов, отношений, процессов.
Знания можно
разделить на процедурные и декларативные. Исторически первыми
использовались процедурные знания, то есть знания, представленные в алгоритмах. Алгоритмы, в свою
очередь, были реализованы в программах. Однако
развитие систем искусственного интеллекта повысило приоритет декларативных
знаний, то есть знаний, сосредоточенных в структурах данных.
Процедурные
знания хранятся в памяти ИС в виде описаний процедур, с помощью
которых можно получить знания. Так обычно описываются способы решения задач
предметной области, различные инструкции, методики и т. д. Процедурные знания
составляют ядро базы знаний.
Декларативные знания
— это совокупность сведений о качественных и количественных характеристиках объектов, явлений,
представленных в виде фактов
и эвристик. Традиционно такие знания накапливались в виде разнообразных таблиц и справочников, а с появлением ЭВМ
приобрели форму информационных массивов и баз данных. Декларативные знания часто называют просто данными.
Одной из наиболее
важных проблем разработки систем искусственного интеллекта является представление знаний.
Представление знаний
— это их формализация и структурирование, с помощью которых отражаются характерные
признаки знаний: внутренняя интерпретируемость, структурированность,
связность, семантическая метрика и активность.
При работе со знаниями используются два
основных подхода:
·
логический
(формальный) подход, при котором основное внимание уделяется изучению и применению
теоретических методов представления знаний, формализации, а также логической
полноте;
·
эвристический (когнитивный) подход, который ориентируется
на
обеспечение возможностей решения задач. При этом опора делается на принцип
организации человеческой памяти и эвристическое моделирование. В отличие от
формальных, эвристические модели имеют разнообразный набор средств,
передающих
специфические
особенности той или иной области.
Существуют следующие
основные модели представления знаний:
* логические модели;
* продукционные модели;
* семантические сети;
* фреймовые модели;
* модели, основанные на нечетких множествах.
2.
Логические модели представления знаний
Согласно логическому
подходу, вся система знаний, необходимая для решения прикладных задач, рассматривается
как совокупность утверждений.
Система знаний
представляется совокупностью формул логики предикатов. Эта логика оперирует простыми
высказываниями, расчлененными
на субъект (нечто лежащее в основе) и предикат (нечто утверждаемое о субъекте). Предикат отображает
наличие или отсутствие у субъекта того или иного признака.
Формулы в базе знаний неделимы.
Модификация базы предполагает лишь
добавление и удаление формул. Логические методы обеспечивают развитый аппарат вывода новых фактов на
основе тех, что представлены в базе
знаний.
Основной недостаток
логических методов — отсутствие четких принципов организации фактов в базе знаний.
Без формулирования таких принципов модель может превратиться в плохо обозримый конгломерат независимых фактов, не
поддающихся анализу и обработке. Поэтому
логические методы используются преимущественно в тех предметных областях, где система знаний невелика
по объему и относительно проста по
структуре.
В основе
логических моделей лежит формальная система, задаваемая четверкой вида :
М=<Т ,Р, Л, В>.
Множество Т есть
множество базовых элементов различной природы, входящих в состав некоторого набора.
Важно, что для множества Т существует некоторый способ определения
принадлежности или непринадлежности произвольного элемента к этому множеству.
Множество Р есть
множество синтаксических правил. С их помощью из элементов Т образуют синтаксически
правильные совокупности.
В множестве синтаксически
правильных совокупностей выделяется подмножество А. Элементы А называются
аксиомами.
Множество В есть
множество правил вывода. Применяя их к элементам Л, можно получить новые синтаксически
правильные совокупности, к которым снова можно применять правила из В.
Правила вывода
являются наиболее сложной составляющей формальной системы. В базе знаний хранятся лишь
те знания, которые образуют
множество А, а все остальные знания получаются из них по правилам
вывода.
3. Продукционные модели представления знаний
Психологические
исследования процессов принятия решений показали, что, рассуждая и принимая решения, человек использует продукционные правила (от англ. production — правило вывода). В общем случае продукционное
правило можно представить в следующем виде:
i: S; L; A ® B; Q
где i — индивидуальный номер
продукции; S — описание класса ситуаций, в
котором данная структура может использоваться; L —
условие, при котором продукция активизируется; А—>В — ядро продукции,
например: «ЕСЛИ A1, А2 ..., Аn ТО В». Такая запись означает, что
«если все условия от А1, до
Ап являются истиной, то В
также истина»; (Q— постусловие
продукционного правила, описывает операции и действия (процедуры), которые
необходимо выполнить после выполнения В.
В левой части
правила продукции ставится некоторое условие, а в правой части — действие.
Если все условия истинны, то выполняется действие, заданное в правой части
продукции.
При использовании продукционной модели база
знаний состоит из набора правил. Программа, управляющая перебором правил,
называется машиной вывода. Механизм вывода
связывает знания воедино, а затем
выводит из последовательности знаний заключение.
Свойства
продукционных моделей:
*
модульность — отдельные продукционные правила могут быть
добавлены,
удалены или изменены в базе знаний независимо от
других;
*
каждое продукционное правило является самостоятельным элементом знаний;
*
простота смысловой интерпретации;
*естественность с
точки зрения здравого смысла.
Недостатки
продукционных систем проявляются тогда, когда число правил становится
большим и возникают непредсказуемые побочные эффекты от изменения старого и
добавления нового правила. Кроме того, затруднительна оценка целостного образа знаний, содержащихся
в системе.
Семантические сети
Семантическая сеть —
это модель формализации знаний в виде ориентированного графа с размеченными вершинами
и дугами. Вершинам
соответствуют объекты, понятия или ситуации, а дугам — отношения между ними.
В качестве понятий
обычно выступают абстрактные или конкретные объекты, а отношения — это связи типа:
«это» («АКО — А-Кind-Of»,«is») «имеет частью» («has part») «принадлежит».
Характерной особенностью семантических сетей является обязательное наличие трех типов отношений:
*
класс—элемент класса;
*
свойство—значение;
*пример элемента класса.
Наиболее часто в
семантических сетях используются следующие отношения :
* связи типа «часть—целое»;
*
функциональные связи (определяемые обычно глаголами «производит», «влияет» и др.);
*
количественные
(больше, меньше, равно и т. д.);
*
пространственные (далеко от, близко от и др.);
*
временные
(раньше, позже и др.);
* атрибутивные связи
(иметь свойство, иметь значение);
*
логические связи (И, ИЛИ, НЕ);
*
лингвистические связи и др.
Пример семантической сети
На рис.
показан пример семантической сети, иллюстрирующей предложение «Джон на
протяжении периода времени с t1 по t2 владел автомобилем марки "Олдблэк"».
На рисунке показаны дуги s, е, владелец, объект,
начало, конец; s и е означают «подмножество» и «элемент»
соответственно и показывают иерархические понятия. Данную сеть легко представить с помощью
фреймовой модели.
Достоинства сетевых моделей:
*
большие выразительные возможности;
*
наглядность системы знаний, представленной графически;
*
близость структуры сети, представляющей систему знаний, семантической структуре
фраз на естественном языке;
*
соответствие
современным представлениям об организации долговременной
памяти человека.
Недостатки сетевых моделей:
*
сетевая модель не дает ясного представления о структуре
предметной
области, которая ей соответствует, поэтому формирование и модификация такой модели
затруднительны;
*
сетевые модели представляют собой пассивные структуры, для
обработки
которых необходим специальный аппарат формального вывода и планирования;
*
сложность
поиска вывода на семантических сетях.
Фреймовые модели представления знаний
Термин фрейм (frame — каркас, рамка) предложен М. Минским в 70-е годы для обозначения структуры знаний
по восприятию пространственных сцен. Эта модель, как и семантическая сеть, имеет глубокое
психологическое обоснование. Под фреймом понимается абстрактный образ или
ситуация. Например, слово «комната» вызывает образ комнаты — «жилое помещение с
четырьмя стенами, полом, потолком, окнами и дверью». Из этого описания ничего
нельзя убрать, например, убрав окна, мы получим уже чулан, а не комнату. Но в нем есть «слоты»
— незаполненные значения некоторых атрибутов — количество окон, цвет стен,
высота потолка, покрытие пола и др. Такой образ и называется фреймом (фреймом
минимального описания). Фреймом называется также и формализованная модель этого образа.
Пример фреймовой
системы, описывающей аудиторию, показан на рис. .
Фреймовая модель, основанная на теории М. Минского, представляет
собой систематизированную в виде единой теории технологическую модель памяти
человека и его сознания.
Все фреймы взаимосвязаны и
образуют единую фреймовую структуру, в которой органически объединены
декларативные и процедурные знания. Это дает
возможность достаточно быстро производить композицию и декомпозицию
информационных структур аналогично тому, как
это делал бы человек при описании структуры своих знаний.
Важнейшим свойством
фреймов является заимствованное из теории семантических сетей наследование
свойств. И во фреймах, и в семантических сетях наследование происходит по
связям типа «это» (АКО — А-Кind-Оf)- Слот АКО указывает на фрейм более высокого уровня иерархии,
откуда неявно наследуются, то есть переносятся, значения аналогичных слотов, причем
наследование свойств может быть
частичным.
Фреймовые модели
является достаточно универсальными, поскольку позволяют отобразить все многообразие
знаний о мире посредством
[9]:
*
фреймов-структур для обозначений объектов и понятий (заем,
залог, вексель);
*
фреймов-ролей (менеджер, кассир, клиент);
* фреймов-сценариев
(банкротство, собрание акционеров);
* фреймов-ситуаций (авария, рабочий режим устройства и т. д.).
К основным достоинствам фреймовой модели
относятся:
* способность отражать
концептуальную основу организации памяти человека;
* наглядность
представления;
* модульность;
* возможность
использования значений слотов по умолчанию.
Однако
фрейм-представление является не конкретным языком представления знаний, а некоторой
идеологической концепцией, реализуемой
по-разному в различных языках. Теория фреймов послужила толчком к разработке нескольких языков
представления знаний, которые
благодаря своим широким возможностям и гибкости стали в последние годы довольно распространенными. Основным
недостатком фреймовых моделей
является отсутствие механизмов управления выводом.
Использование теории нечетких множеств в представлении знаний
При попытке
формализовать человеческие знания исследователи столкнулись с проблемой, затруднявшей
использование традицией-
ного математического
аппарата для их описания. Существует целый класс описаний, оперирующих качественными
характеристиками объектов (много,
мало, сильный, очень сильный и т. п.). Эти характеристики обычно размыты и не
могут быть однозначно интерпретированы, однако содержат важную информацию.
В задачах, решаемых интеллектуальными
системами, часто приходится пользоваться неточными
знаниями, которые не всегда могут иметь
четкие значения истинности.
В начале 70-х
американский математик Лотфи Заде предложил формальный аппарат
нечеткой (fuzzy) алгебры и нечеткой
логики. Позднее
это направление получило широкое распространение и положило начало одной из
ветвей искусственного интеллекта под названием мягкие вычисления . Л. Заде ввел одно из
главных понятий в нечеткой
логике — понятие лингвистической переменной.
Лингвистическая
переменная (ЛП) — это переменная, значение которой определяется набором словесных
характеристик некоторого свойства.
Например, ЛП «ветер» определяется через
набор {слабый, умеренный, сильный, очень
сильный}. Значения лингвистической переменной определяются через так
называемые нечеткие множества.
Нечеткое множество
определяется через некоторую базовую шкалу В и
функцию принадлежности нечеткому множеству m(х), xÎ В, принимающую значения на
интервале [0...1]. Таким образом, нечеткое множествo В — это совокупность пар
вида (х, m(х), где ), xÎ В.
Функция
принадлежности определяет субъективную степень уверенности эксперта в
том, что данное конкретное значение базовой шкалы соответствует определяемому нечеткому
множеству.
Рассмотрим пример.
Предположим, имеется
задача интерпретации значений ЛП «возраст», таких как «молодой», «преклонный» или
«переходный» возраст. Определим
«возраст» как ЛП. Тогда «молодой», «преклонный», «переходный» будут значениями
этой лингвистической переменной. Более полно, базовый набор значений ЛП
«возраст» следующий: В равно
(младенческий, детский, юный, молодой, зрелый, преклонный, старческий}.
Для ЛП «возраст» базовая
шкала — это числовая шкала от 0 до 120, обозначающая количество прожитых лет, а функция
принадлежности определяет,
насколько мы уверены в том, что данное количество лет можно отнести к данной
категории возраста.
Например, определить значение нечеткого
множества «младенческий возраст» можно так:
«младенческий» = { }
Дети до четырех лет
причисляются к младенцам тоже, но с меньшей степенью уверенности (0,5<m<0,9),
а в десять лет ребенка называют так в очень редких случаях. Таким образом,
нечеткие множества позволяют при определении понятия учитывать субъективные
мнения отдельных
индивидуумов.
Для
операций с нечеткими знаниями, выраженными при помощи лингвистических переменных,
существует много различных способов. Эти способы являются в основном эвристиками.
Экспертные системы и базы знаний
Экспертные
системы (ЭС) — это сложные программные комплексы, аккумулирующие знания специалистов в конкретных предметных областях и тиражирующие этот опыт для консультаций
менее квалифицированных
пользователей.
Обобщенная
структура экспертной системы представлена на рисунке. Блоки, изображенные
на рисунке, присутствуют в любой экспертной системе.
В целом процесс
функционирования ЭС можно представить следующим образом: пользователь, желающий получить необходимую информацию,
через пользовательский интерфейс посылает запрос к ЭС. Решатель, на основе базы
знаний, генерирует и выдает пользователю подходящую
рекомендацию, объясняя ход своих рассуждений при помощи подсистемы
объяснений.
|
|
Решатель |
|
|
|
|
Инженер по знаниям |
||
Интерфейс пользователя |
База знаний |
Редактор базы знаний |
|||||||
|
|
|
+ |
||||||
|
|
Подсистема объяснений |
|
||||||
Эксперт |
|||||||||
Пользователь |
|
Рис. Структура экспертной системы
Приведем ряд определений .
Пользователь — специалист предметной
области, для которого предназначена система. Обычно его квалификация недостаточно
высока, и поэтому он
нуждается в помощи экспертной системы.
Инженер по знаниям —
специалист
в области искусственного интеллекта, выступающий в роли посредника между экспертом и
базой знаний.
Интерфейс
пользователя — комплекс программ, реализующих диалог пользователя с ЭС как на стадии ввода
информации, так и при получении результатов.
База знаний (БЗ) — ядро ЭС, совокупность знаний предметной области, реализованная на основе выбранной модели
представления знаний и записанная на машинный носитель в форме,
понятной эксперту и пользователю.
Решатель — программа,
моделирующая ход рассуждений эксперта на основании знаний, имеющихся в БЗ.
Подсистема
объяснений — программа, позволяющая пользователю получить ответы на вопросы: «Как была
получена та или иная рекомендация?» и «Почему система приняла такое решение?».
Интеллектуальный редактор БЗ — программа, предоставляющая инженеру по знаниям возможность создавать БЗ в
диалоговом режиме. Включает в себя
систему вложенных меню, шаблонов языка представления знаний, подсказок и других сервисных средств, облегчающих
работу с базой.
В
настоящее время существует несколько тысяч программных комплексов, называемых
экспертными системами. ЭС можно классифицировать по следующим признакам (рис.классификация
ЭС). Автономные ЭС работают непосредственно в режиме консультаций с пользователем
для специфически «экспертных»
задач, решение которых не требует привлечения
традиционных методов обработки данных (расчеты, моделирование и т. д.).
В таблице приведены
примеры задач, для решения которых используются экспертные системы.
Все системы,
основанные на знаниях, можно разделить на системы, решающие задачи
анализа, и системы, решающие задачи синтеза. Основное отличие задач
анализа от задач синтеза заключается в том, что если в задачах анализа множество
решений может быть перечислено и включено в систему, то в задачах синтеза множество решений потенциально
не ограничено и строится из решений подпроблем.
Задачами анализа являются интерпретация
данных, диагностика, поддержка принятия
решения; к задачам синтеза относятся проектирование, планирование, управление [9].
Статические ЭС
разрабатываются в предметных областях, в которых база знаний и интерпретируемые данные
не меняются во времени.
Квазидинамические ЭС интерпретируют ситуацию, которая меняется с
Рис. Классификация экспертных систем
некоторым фиксированным
интервалом времени.
Динамические
ЭС работают режиме реального времени, обеспечивая непрерывную интерпретацию
поступающих в систему данных.
Гибридные
ЭС представляют программный комплекс, включающий стандартные пакеты прикладных
программ и средства манипулирования знаниями.
Под коллективом разработчиков
(КР) будем понимать группу специалистов, ответственных за создание ЭС.
В состав
КР входят пользователь, эксперт, инженер по знаниям и программист. Обычно
КР насчитывает 8-10 человек .
При
формировании КР должны учитываться психологические свойства участников.
От пользователя
зависит, будет ли применяться разработанная ЭС.
Необходимо, чтобы пользователь имел
некоторый базовый уровень
квалификации,
который позволит ему правильно истолковать рекомен-
Таблица. Задачи, для решения которых используются экспертные системы
Класс задач |
Примеры задач |
Интерпретация
данных (процесс определения смысла данных) |
-
обнаружение и идентификация различных типов океанских судов по результатам
аэрокосмического сканирования; - определение основных свойств личности по результатам психодиагностического тестирования |
Диагностика |
-
диагностика в медицине; - диагностика ошибок в аппаратуре и математическом
обеспечении ЭВМ |
Мониторинг |
- контроль работы
электростанций; - контроль аварийных датчиков на химическом заводе |
Проектирование |
- проектирование конфигураций
ЭВМ; -
проектирование БИС; - синтез электрических цепей |
Прогнозирование |
- предсказание
погоды; - прогнозирование урожая; - прогнозирование экономики
|
Планирование |
-
планирование поведения робота; - планирование заказов; - планирование
эксперимента |
Обучение |
-
обучение языку программирования ЛИСП; - обучение языку Паскаль |
Управление |
- управление предприятием; - управление проектами |
Поддержка
принятия
решений |
- выбор стратегии выхода фирмы из
кризисной ситуации; - помощь в выборе страховой компании или
инвестора |
дации ЭС. Обычно
требования к квалификации пользователя не очень велики, иначе он переходит в разряд экспертов и не
нуждается в ЭС. Эксперт — важная фигура в
группе КР. В конечном счете, его подготовка определяет уровень компетенции
базы знаний. Желательные качества характера эксперта:
*
доброжелательность;
*
готовность
поделиться своим опытом;
*
умение объяснить (педагогические навыки);
* заинтересованность в
успешности разработки.
Часто встает вопрос о количестве
экспертов. Поскольку проблема совмещения
подчас противоречивых знаний остается открытой, обычно с каждым из
экспертов работают индивидуально, иногда создавая альтернативные базы.
Инженер по знаниям ведет
диалог с экспертом, обеспечивая получение
знаний для ЭС. От инженера зависит продуктивность этого процесса.
Системы,
основанные на знаниях, обладают следующими специфическими свойствами :
* экспертиза может проводиться
только в одной конкретной области;
* база знаний
и механизм вывода являются различными компонентами;
* наиболее подходящая область применения — решение
задач дедуктивным методом, т. е. правила
или эвристики выражаются в виде пар посылок и заключений типа «если—то»;
* эти системы
могут объяснять ход решения задачи понятным
пользователю способом;
* выходные результаты
являются качественными (а не количественными);
* системы, основанные на знаниях, строятся
по модульному принципу, что позволяет
постепенно наращивать их базы знаний.
При
определении целесообразности применения ЭС нужно руководствоваться
следующими критериями:
* данные и знания надежны и не меняются со временем;
*
пространство (или область) возможных решений относительно невелико;
* в процессе решения задачи должны
использоваться формальные рассуждения;
* должен быть по крайней
мере один эксперт, способный явно сформулировать свои
знания и объяснить методы применения этих знаний для решения задач.
Но даже лучшие из экспертных систем имеют
определенные ограничения по сравнению с
человеком-экспертом, которые сводятся к следующему:
* большинство
экспертных систем непригодны для применения
конечным пользователем. Если пользователь не имеет некоторого опыта работы с такими системами, у него могут
возникнуть серьезные трудности;
*
навыки
системы не всегда возрастают после сеанса экспертизы;
* все еще остается
проблемой приведение знаний, полученных от
эксперта,
к виду, обеспечивающему их эффективную машинную
реализацию;
* человек-эксперт при
решении задач обычно обращается к своей
интуиции, здравому смыслу,
опыту, аналогии, если отсутствуют
формальные методы решения или аналоги задач;
* экспертные системы редко применяются в
больших предметных
областях;
*
считается, что в тех предметных областях, где отсутствуют эксперты, применение
экспертных систем оказывается невозможным;
* имеет смысл привлекать
экспертные системы только для решения когнитивных задач;
* системы, основанные
на знаниях, оказываются неэффективными
при
необходимости проведения скрупулезного анализа, когда
число
решений зависит от тысяч различных возможностей и многих переменных, которые изменяются во
времени.
Однако системы,
основанные на знаниях, имеют определенные преимущества перед человеком-экспертом:
*
у них
нет предубеждений;
*
они
не делают поспешных выводов;
* они работают систематизированно, рассматривая все детали,
часто
выбирая наилучшую альтернативу из всех возможных;
* база знаний
может быть большой и достаточно стабильной. Будучи введенными в машину один раз, знания сохраняются навсегда;
* системы, основанные на знаниях, устойчивы к «помехам».
Эксперт же пользуется
побочными знаниями и легко поддается влиянию внешних факторов, которые
непосредственно не связаны с решаемой задачей.
Инструментальные средства построения экспертных систем
Инструментальные средства
построения ЭС можно разбить на три основных группы:
* языки программирования;
* среды программирования;
* пустые ЭС (оболочки).
К числу
инструментальных средств программирования относятся языки обработки символьной
информации, наиболее известными из которых являются Пролог и ЛИСП. Пролог
— язык высокого уровня, ориентированный
на использование методов математической логики. Основной особенностью Пролога, отличающей его от всех других языков,
является декларативный характер написанных на нем программ. Язык ЛИСП изобретен в Массачусетском
технологическом институте и сконцентрирован на обработке списковых структур.
Языки программирования ЛИСП и Пролог
имеют встроенные механизмы для манипулирования знаниями.
Для
разработки экспертных систем используются также языки программирования общего назначения: Си,
Паскаль, Фортран и др.
Общим
недостатком языков программирования для создания экспертных систем являются:
* большое
время разработки готовой системы;
*
необходимость привлечения высококвалифицированных программистов;
* трудности модификации готовой системы.
Среды программирования позволяют
разработчику не программировать некоторые или
все компоненты ЭС, а выбирать их из заранее составленного набора.
При
применении пустых ЭС (оболочек) разработчик полностью освобождается от
работ по созданию программ и занимается лишь наполнением базы знаний. Однако
необходимо, чтобы управляющие стратегии,
вложенные в процедуры вывода, а также принятая модель представления знаний подходили для данного приложения. Это затрудняет выбор подходящей пустой ЭС и ее
применение. Кроме того, уже в процессе создания прикладной системы может
выясниться, что возможности, заложенные в
используемом инструментальном средстве,
не позволяют реализовать необходимые процедуры вывода и представления знаний, требующиеся для успешной работы
системы.
Инженерия знаний
Инженерия знаний — это технология
построения экспертных систем. Этот процесс
требует особой формы взаимодействия создателя экспертной системы, которого называют инженером по знаниям, и одного
или нескольких экспертов в некоторой предметной области. Инженер по знаниям «извлекает» из экспертов
процедуры, стратегии, эмпирические
правила, которые они используют при решении задач, и встраивает эти знания в экспертную систему. Одной
из наиболее сложных проблем,
возникающих при создании экспертных систем, является преобразование знаний эксперта и описаний применяемых им способов поиска решений в форму, позволяющую
представить их в базе знаний системы,
а затем эффективно использовать для решения задач в данной предметной области.
Обычно эксперт не прибегает к процедурным
или количественным методам. Его основные
средства — аналогия, интуиция и абстрагирование. Часто эксперт даже не может объяснить, как именно им было найдено
решение.
Построение базы
знаний включает три этапа:
* описание предметной
области;
* выбор модели представления
знаний;
* приобретение знаний.
Первый шаг при
построении базы знаний заключается в выделении предметной области, на решение задач
которой ориентирована экспертная
система. По сути, эта работа сводится к очерчиванию инженером знаний границ области применения системы и класса
решаемых ею задач. При этом необходимо:
*
определить
характер решаемых задач;
*
выделить объекты предметной области;
*
установить связи между объектами;
*
выбрать модель представления знаний;
* выявить специфические особенности предметной
области.
Выделение предметной области представляет собой первый шаг абстрагирования реального мира.
После того как предметная область
выделена, инженер по знаниям должен ее
формально описать. Для этого ему необходимо выбрать модель представления
знаний. Формально это должна быть модель, с помощью которой можно лучше всего отобразить специфику предметной
области.
Инженер по знаниям прежде всего обязан
провести опрос эксперта и только потом приступать к построению системы. При
этом необходимо определить целевое
назначение системы. При этом главная цель разбивается на подцели.
На следующем этапе
необходимо очертить границы исходных данных. Для построения пространства поиска
решения необходимо определить подцели на каждом уровне иерархии целей общей
задачи. В вершине иерархии следует поместить задачу, которая но своей общности отражает
принципиальные возможности и назначение системы.
После выявления объектов предметной
области необходимо установить, какие между
ними имеются связи. Следует стремиться к выявлению как можно большего
количества связей.
Полученное
качественное описание предметной области должно быть представлено средствами какого-либо формального языка,
чтобы привести это описание к виду,
позволяющему поместить его в базу знаний
системы. Для решения этой задачи выбирается подходящая модель представления знаний, с помощью которой
сведения о предметной области можно выразить формально.
Контрольные вопросы
1. Перечислите свойства неформализуемых задач.
2. Дайте понятие
«знания», базы знаний. Какие различают виды
знаний?
3. Дайте понятие
представления знаний. В чем заключается сущность подходов к представлению знаний?
4. Охарактеризуйте логические
модели представления знаний.
5. Охарактеризуйте
продукционные модели представления знаний.
6. Охарактеризуйте
модель представления знаний на основе семантических сетей.
7. Охарактеризуйте
фреймовые модели представления знаний.
8. Охарактеризуйте модели .представления
знаний, основанные на
нечетких множествах.
9. Дайте понятие
экспертной системы. Охарактеризуйте основные
элементы ЭС, порядок работы с
ней.
10. Дайте классификацию
ЭС.
11. В чем заключаются
особенности применения ЭС, особенности
ЭС по сравнению с экспертом?
12. Охарактеризуйте
инструментальные средства построения экспертных систем.
13. Дайте понятие
инженерии знаний.
14. Перечислите этапы
построения базы знаний.