Введение
Экспертная система (далее по тексту — ЭС) — это информационная система, назначение которой частично или полностью заменить эксперта в той или иной предметной области. Подобные интеллектуальные системы эффективно применяются в таких областях, как логистика, управление воздушными полетами, управление театром военных действий. Основною направленной деятельностью предсказание, прогнозирование в рамках определенного аспекта в предметной области.
Экскурс в историю экспертных систем
История экспертных систем берет свое начало в 1965 году. Брюс Бучанан и Эдвард Фейгенбаум начали работу над созданием информационной системы для определения структуры химических соединений.
Результатом работы была система под названием Dendral. В основе системы формировалась последовательность правил подобных к «IF – THEN». Информационная система не перестала развиваться и получила множество наследников, таких как ONCOIN – информационная система для диагностики раковых заболеваний, MYCIN – информационная система для диагностики легочных инфекционных заболеваний.
Следующим этапом стали 70-е годы. Период не выделялся особыми разработками. Было создано множество разных прототипов системы Dendral. Примером служит система PROSPECTOR, областью деятельности которой являлась геологические ископаемые и их разведка.
В 80-ых годах появляются профессия – инженер по знаниям. Экспертные системы набирают популярность и выходят на новый этап эволюции интеллектуальных систем. Появились новые медицинские системы INTERNIS, CASNE.
С 90-ых годов развитие интеллектуальных систем приобретает новые и новые методы и особенности. Нововведением становится парадигма проектирования эффективных и перспективных систем. Гибкость, четкость решения поставленных задач дало новое название – мультиагентных систем. Агент – фоновый процесс который действует в целях пользователя. Каждый агент имеет свою цель, «разум» и отвечает за свою область деятельности. Все агенты в совокупности образуют некий интеллект. Агенты вступают в конкуренцию, настраивают отношения, кооперируются, все как у людей.
В 21 век, интеллектуальной системой уже не удивишь никого. Множество фирм внедряет экспертные системы в области своей деятельности.
Быстродействующая система OMEGAMON разрабатывается c 2004 года с IBM, цель которой отслеживание состояния корпоративной информационной сети. Служит для моментального принятия решений в критических или неблагоприятных ситуациях.
G2 – экспертная система от фирмы Gensym, направленная на работу с динамическими объектами. Особенность этой системы состоит в том, что в нее внедрили распараллеливание процессов мышления, что делает ее быстрее и эффективней.
Структура экспертной системы
1. База знаний
Знания — это правила, законы, закономерности получены в результате профессиональной деятельности в пределах предметной области.
База знаний — база данных содержащая правила вывода и информацию о человеческом опыте и знаниях в некоторой предметной области. Другими словами, это набор таких закономерностей, которые устанавливают связи между вводимой и выводимой информацией.
2. Данные
Данные — это совокупность фактов и идей представленных в формализованном виде.
Собственно на данных основываются закономерности для предсказания, прогнозирования. Продвинутые интеллектуальные системы способные учиться на основе этих данных, добавляя новые знания в базу знаний.
3. Модель представления данных
Самая интересная часть экспертной системы.
Модель представления знаний (далее по тексту — МПЗ) — это способ задания знаний для хранения, удобного доступа и взаимодействия с ними, который подходит под задачу интеллектуальной системы.
4. Механизм логического вывода данных(Подсистема вывода)
Механизм логического вывода(далее по тексту — МЛВ) данных выполняет анализ и проделывает работу по получению новых знаний исходя из сопоставления исходных данных из базы данных и правил из базы знаний. Механизм логического вывода в структуре интеллектуальной системы занимает наиболее важное место.
Механизм логического вывода данных концептуально можно представить в виде <A,B,C,D>
:
А — функция выбора из базы знаний и из базы данных закономерностей и фактов соответственно
B — функция проверки правил, результатом которой определяется множество фактов из базы данных к которым применимы правила
С — функция, которая определяет порядок применения правил, если в результате правила указаны одинаковые факты
D — функция, которая применяет действие.
Какие существуют модели представления знаний?
Распространены четыре основных МПЗ:
- Продукционная МПЗ
- Семантическая сеть МПЗ
- Фреймовая МПЗ
- Формально логическая МПЗ
Продукционная МПЗ
В основе продукционной модели представления знаний находится конструктивная часть, продукция(правило):
IF <условие>, THEN <действие>
Продукция состоит из двух частей: условие — антецендент, действие — консеквент. Условия можно сочетать с помощью логических функций AND, OR
.
Антецеденты и консеквенты составленных правил формируются из атрибутов и значений. Пример: IF температура реактора подымается THEN добавить стержни в реактор
В базе данных продукционной системы хранятся правила, истинность которых установлена к за ранее при решении определенной задачи. Правило срабатывает, если при сопоставлении фактов, содержащихся в базе данных с антецедентом правила, которое подвергается проверке, имеет место совпадение. Результат работы правила заносится в базу данных.
Пример
Диагноз | Температура | Давление | Кашель |
---|---|---|---|
Грипп | 39 | 100-120 | Есть |
Бронхит | 40 | 110-130 | Есть |
Аллергия | 38 | 120-130 | Нет |
Пример продукции:
IF Температура = 39 AND Кашель = Есть AND Давление = 110-130 THEN Бронхит
Продукционная модель представления знаний нашла широкое применение в АСУТП
Среды разработки продукционных систем(CLIPS)
CLIPS (C Language Integrated Production System) — среда разработки продукционной модели разработана NASA в 1984 году. Среда реализована на языке С, именно потому является быстрой и эффективной.
Пример:
(defrule bronchitis // deftule зарезервированное слово, которое вводит новое правило за ним следует название правила
(symptoms (temperature 39) (cough true)(pressure "110-130")) //симптом с температурой 39, наличием кашля, и давлением 110-130
=> (printout t "Диагноз - бронхит" crlf)) //это симптомы бронхита
Подобное правило будет активировано только тогда, когда в базе данных появится факт симптома с подобными параметрами.
Семантическая сеть МПЗ
В основе продукционной модели лежит ориентированный граф. Вершины графа — понятия, дуги — отношения между понятиями.
Особенностью является наличие трех типов отношений:
- класс — подкласс
- свойство — значение
- пример элемента класса
По количеству типов отношений выделяют однородные и неоднородные семантические сети. Однородные имею один тип отношения между всеми понятиями, следовательно, не однородные имею множество типов отношений.
Все типы отношений:
- часть — целое
- класс — подкласс
- элемент — количество
- атрибутивный
- логический
- лингвистический
Пример
Недостатком МПЗ является сложность в извлечении знаний, особенно при большой сети, нужно обходить граф.
Фреймовая МПЗ
Предложил Марвин Мински в 1970 году. В основе фреймовой модели МПЗ лежит фрейм. Фрейм — это образ, рамка, шаблон, которая описывает объект предметной области, с помощью слотов. Слот — это атрибут объекта. Слот имеет имя, значение, тип хранимых данных, демон. Демон — процедура автоматически выполняющаяся при определенных условиях. Имя фрейма должно быть уникальным в пределах одной фреймовой модели. Имя слота должно быть уникальным в пределах одного фрейма.
Слот может хранить другой фрейм, тогда фреймовая модель вырождается в сеть фреймов.
Пример
Пример вырождающейся в сеть фреймов
На своей практике, мне доводилось встречать системы на основе фреймовой МПЗ. В университете в Финляндии, была установлена система, для управления электроэнергией во всем здании.
Языки разработки фреймовых моделей (Frame Representation Language)
FRL (Frame Representation Language) — технология создана для проектирования интеллектуальных систем на основе фреймовой модели представления знаний. В основном применяется для проектирования вырождающихся в сеть фреймовой модели.
Запись фрейма на языке FRL будет иметь вид:
(frame Room // вводим новый фрейм Room
(windows (value(4), demon(open))) //Слот windows со значением 4 и демоном open
(doors (value(1), demon(open))) //Слот doors со значением 1 и демоном open
(conditioners (value(2), demon(turn on))) //Слот conditioners со значением 2 и демоном turn on
(sokets (value(10), demon(turn on))) //Слот sokets со значением 10 и демоном turn on
)
Существуют и другие среды: KRL (Knowledge Representation Language), фреймовая оболочка Kappa, PILOT/2.
Формально логическая МПЗ
В основе формально логической МПЗ лежит предикат первого порядка. Подразумевается, что существует конечное, не пустое множество объектов предметной области. На этом множестве с помощью функций интерпретаторов установлены связи между объектами. В свою очередь на основе этих связей строятся все закономерности и правила предметной области. Важное замечание: если представление предметной области не правильное, то есть связи между объектами настроены не верно или не в полной мере, то правильная работоспособность системы будет под угрозой.
Пример
A1 = <идет дождь> A2 = <небо в тучах> A3 = <солнечно>; IF A1 AND A2 THEN <взять зонтик>
Банальней примера и не придумаешь.
Важно: Стоит заметить, что формально логическая МПЗ схожа с продукционной. Частично это так, но они имеют огромную разницу. Разница состоит в том, что в продукционной МПЗ не определены никакие связи между хранимыми объектами предметной области.
Важно
Любая экспертная система должна иметь вывод данных и последовательность "мышления" системы. Это нужно для того чтобы увидеть дефекты в проектировании системы. Хорошая интеллектуальная система должна иметь право ввода данных, которое реализуется через интеллектуальный редактор, право редактора на перекрестное "мышление" представлений при проектировании системы и полноту баз знаний(реализуется при проектировки закономерностей предметной области между инженером по знаниям и экспертом).
Заключение
Экспертные системы действительно имеют широкое применение в нашей жизни. Они позволяют экономить время реальных экспертов в определенной предметной области. Модели представления знаний это неотъемлемая часть интеллектуальных систем любого уровня. Поэтому, я считаю, что каждый уважающий себя IT-специалист, должен иметь даже поверхностные знания в этих областях.
Спасибо за внимание!
Комментарии (5)
AlexVist
10.01.2018 10:07Пример из медицины выглядит не совсем удачно. Желательно что-то менее спорное приводить в качестве примера.
И не понятно каким именно образом будут выявляться дефекты системы. Даже, с учетом вывода данных и "мышления" системы?
Хотелось бы так же услышать о прикладной модели внесения данных. И, что более важно, исправления ошибок в заложенных данных и логической модели. Еще бы и схематично отобразить такой бизнесс-процесс с учетом ролей. Это не критика, а замечание относительно содержимого статьи.
Rigidus
10.01.2018 19:53Я использовал самописную продукционную экспертную систему для задач автоматизации поиска работы. Подход себя оправдывает. Хотелось бы несколько более развернутого экскурса в историю, с примерами развития концепций экспертных систем
Larkailya Автор
10.01.2018 20:41Добавил раздел эволюции экспертных систем. Спасибо большое за замечания!
erwin_shrodinger
Побольше бы живых примеров. К продукционным МПЗ было бы очень уместно добавить описание системы CLIPS и более подробное описание механизма машины логического вывода. Или тот же Prolog. Слишком бедная статья получилась, даже с академической точки зрения(
Larkailya Автор
Исправил, добавил. Спасибо большое за замечания!