Для хранения, обновления и использования знаний применяются системы управления базами знаний, которые должны удовлетворять следующим требованиям.
Представление знаний. Подобно базам данных, представление знаний в ЭС, основанных на правилах, является сравнительно простым, состоящим из представления фактов и правил вывода. Знания, хранящиеся в ИИС, интегрируются в результате объединения знаний, поступивших от многих индивидуальных экспертов, и могут принимать такие формы, как базы данных и правила вывода. Часто элементы знаний выражаются на одном из этих языков. Они должны быть агрегированы в гибридное представление знаний в виде одного источника знаний, который может быть далее агрегирован в глобально совместную базу знаний. Важно иметь разнообразие выразительных средств для поддержания высокой степени совместности посредством механизма гибридного представления.
Организация знаний. Базы знаний могут быть организованы с использованием фундаментальных знаний, проблемно-ориентированных знаний, и знаний, необходимых для поддержания диалога. Знания, специфичные для диалога, должны иметь стандартизированную процедуру диалога, состоящую, из анализа пользовательских требований и запросов, интерпретацииэтих запросов по отношению к прикладной системе, основанной на знаниях и генерации ответа на основе кооперативного диалога.
Если база фактов становится большой или необходимо обеспечить доступ к внешним базам фактов, механизмы СУБД должны использоваться в ЭС. Обычно это предполагает наличие некоторого метазнания о схеме базы данных, ограничениях целостности, доступных интерфейсах, посредством которых факты выбираются и хранятся. Сложные средства оптимизации дедуктивных запросов требуются, чтобы обеспечить подходящее время реакции. Они могут использоваться в комбинации с другими стратегиями, которые обеспечивают контроль за применением правил.
Окружение. Это средства, доступные в рамках оболочки экспертной системы. В одной методологии (тесное связывание) доступ к базе данных скрыт от пользователя, насколько это возможно, в других (слабое связывание), пользователь будет загружать внешние данные эксплицитно до запуска диалога консультаций. Так, необходимо окружение, через которое различные базы знаний могут быть заполнены. Это аспект приобретения знаний или обучения, который частично может быть реализован экспертами в данной предметной области и лингвистами в сотрудничестве со специалистами по компьютерам.
Связывание.Помимо обеспечения доступа к внешним базам данных, экспертным системам часто необходимо установить связь с другими средствами информационных систем, таким как численные вычисления или графика.
Системы баз знаний должны содержать следующие компоненты:
- язык представления знаний, который эффективно выражает структуру данного приложения;
- средства организации знаний, которые позволяют сохранять и эффективно обрабатывать большие количества сложных структур знаний;
- методологию и окружение, посредством которых многочисленные приложения баз знаний и других приложений эффективно взаимодействуют друг с другом.
20. Определение, назначение и области применения экспертных систем
1.1. Думать или вычислять?
В 1950 году английский математик Тьюринг поставил вопрос «могут ли машины думать?». В те времена предположение «да, через 50 лет» Тьюрингу показалось вполне осуществимым.
Стремительное развитие компьютеров и методов программирования, начиная со второй половины 20-го века, постоянно расширяет область применения вычислительной техники. Сейчас уже никого не удивляет стремление заменить человека машиной. Практически во всех областях деятельности, от простейших технологических операций на конвейерном производстве до экспертного анализа и принятия решений, автоматические системы работают не хуже средней руки специалиста. Более того, машина не подвержена так называемому «человеческому фактору» – допускаемыми людьми ошибкам, которые не возможно формализовать и предсказать.
Не исключением стала и интеллектуальная деятельность человека. С момента зарождения кибернетики разработчики компьютерных программ пытались воспроизвести механизм мышления человека или, иначе говоря, ставилась задача научить компьютер «думать». Начало исследованиям в области создания и использования интеллектуальных систем положили работы «отца кибернетики» Норберта Винера [1] и Г.С. Альтшуллера [2].
Первые попытки создания интеллектуальных систем сводились к разработке программ, решающих задачи с помощью разнообразных эвристических методов, основанных на свойственном человеческому мышлению обобщении, использованию универсальных подходов к решению различных задач. То есть усилия были направлены на создание универсальных программ. Результатами этой работы явились такие программы, как ЛОГИК-ТЕОРЕТИК, предназначенная для доказательства теорем в исчислении высказываний, и ОБЩИЙ РЕШАТЕЛЬ ЗАДАЧ, созданные Ньюэллом, Саймоном и Шоу, занимавшихся исследованием процессов решения различных задач [3]. Также следует отметить всевозможные игровые программы и вычислительные системы.
Так, например, были созданы кибернетические игрушки типа «электронной мыши» Клода Шеннона, которая управлялась сложной релейной схемой. Эта мышка могла «исследовать» лабиринт, и находить выход из него. Впоследствии, помещенная в уже известный ей лабиринт, она не пыталась искать выход заново, а, используя накопленную информацию, сразу же выходила из лабиринта, не заглядывая в тупиковые ходы.
Американский кибернетик А. Самуэль разработал программу, играющую в шашки. Причем в ходе игры машина обучалась, совершенствуя свою игру на основе накопленного опыта. В 1962 г. эта программа сразилась с Р. Нили, сильнейшим шашистом в США и победила. Такой высокий результат машине удалось достичь благодаря вычислению на каждом шагу игры некоторой оценочной функции, числового показателя, оценивающего качество хода. Эта функция была основана на сочетаниях (в виде линейной комбинации с экспериментально подбираемыми коэффициентами или более сложным образом) знаний о правилах игры, стратегиях и приемах выигрывания (например, как в шашках, и так и в шахматах обычно невыгодно терять свои фигуры, и, напротив, выгодно брать фигуры противника; подвижность фигур и право выбора ходов позволяет держать под боем большое число полей на доске и пр.), а также знаниях, относящихся к отдельным стадиям игры – дебюту, миттэндшпилю, эндшпилю. Сравнивая между собой показатели эффективности различных возможных на данном шаге ходов, машина выберет ход, соответствующий наибольшему показателю. Совершенствование игры состоит в подстройке параметров (коэффициентов) оценочной функции на основе анализа совершенных ходов и игр с учетом их исхода. Следует отметить, что все эти элементы интеллекта заложены в программу ее автором. И хотя машина и совершенствует свою стратегию игры в процессе самообучения, способность выигрывать основана на вычислительной мощности ее процессора. К примеру, компьютер фирмы IBM, победивший в шахматы мирового чемпиона Каспарова, имел 256 процессоров, каждый из которых имел 4 Гб дисковой памяти и 128 Мб оперативной. Весь этот комплекс мог просчитывать более 100000000 ходов в секунду.
Еще одним примером является программа американского математика Хао Ванга. Эта программа за 3 минуты работы IBM‑704 вывела 220 относительно простых лемм и теорем из фундаментальной математической монографии, а затем за 8.5 минут выдала доказательства еще 130 более сложных теорем, часть их которых еще не была выведена математиками. Правда, до сих пор ни одна программа не вывела и не доказала ни одной теоремы, которая была бы принципиально новой.
Однако, несмотря на некоторые интересные достижения, попытки создания универсальных программ не привели к существенным открытиям и их промышленному использованию. Разработка таких программ оказалась слишком трудным и, в конечном счете, бесплодным делом. Чем шире класс задач, которые может решать одна программа, тем беднее оказываются ее возможности при решении конкретной частной проблемы.
Дальнейшие исследования в области искусственного интеллекта были сосредоточены не на универсальных алгоритмах решения задач, а на общих методах и приемах программирования, пригодных для создания специализированных программ. Разрабатывались методы представления задачи – способы формулирования проблемы таким образом, чтобы ее можно было легко решить, и методы поиска – эффективные алгоритмы управления ходом решения задачи. Однако значительного продвижения вперед удалось достигнуть в 70-х годах, когда специалисты начали понимать, что эффективность программы при решении задач зависит не только от формализмов и алгоритмов вывода решения, которые она использует, но в первую очередь от знаний, которые в нее заложены. Новая концепция построения интеллектуальных систем привела к развитию специализированных программ со сходной архитектурой, каждая из которых предназначена для решения задач в некоторой узкой предметной области. Эти программы получили название экспертные системы (ЭС).
Назначение экспертных систем
Экспертная система, прежде всего, является программным продуктом, и ее назначение – автоматизация деятельности человека. Однако принципиальным отличием ЭС от других программ является то, что она выступает не в роли «ассистента», выполняющего за человека часть работы, а в роли «компетентного партнера» – эксперта-консультанта в какой-либо конкретной предметной области. ЭС аккумулируют в себе и тиражируют опыт и знания высококвалифицированных специалистов, позволяют пользоваться этими знаниями пользователям «неспециалистам» в данной предметной области. То есть, ЭС не призваны заменить собою эксперта в его непосредственной деятельности, а, напротив, расширяют возможную сферу применения знаний авторитетных специалистов. Кроме того, способности ЭС решать поставленные перед ними задачи не ослабевают со временем и не забываются при отсутствии практики, легко распространяются, так как являются компьютерной программой, прекрасно документированы, а значит и аргументированы, при многократном решении одной и той же задачи ЭС выдают одно и тоже решение в отличие от человека, который подвержен эмоциональным факторам. Плюс ко всему эксплуатация ЭС значительно дешевле, чем оплата труда человека-эксперта.