logo search
Моделирование систем / Моделирование систем / Теория / Dop / АИС_Конспект

3.4. Экспертные информационные системы

Экспертные информационные системы позволяют получить определенные рекомендации на запрос пользователя. Для реализации таких систем требуется перевести «знания» в форму пригодную для обработки на ЭВМ из определенной предметной области.

В общем виде экспертная система состоит из следующих подсистем:

Классифицировать экспертные системы можно по двум основным типам:

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

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

Процесс разработки экспертных систем сводится к выполнению этапов, которые показаны в таблице 3.1.

Таблица.3.1. Этапы разработки экспертных систем.

Наименование этапа

Содержание работ

Идентификация

Выявление цели разработки системы, ее функций, формирование коллектива разработчиков

Концептуализация

Формирование модели предметной области, выявление фактов, взаимосвязей между фактами. Определение правил получения заключений из фактов. Анализ методов представления знаний, и получения результатов

Формализация

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

Выполнение

Создание рабочего прототипа экспертной системы

Тестирование

Подбор и выполнение контрольных примеров, выявление недостатков созданной системы

Опытная эксплуатация

Передача системы заказчику. Проверка пригодности системы для решения потребностей заказчика

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

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

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

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

по запросу систему пользователь вводит определенное утверждение, система выполняет поиск фактов – данных, которые соответствуют этому утверждению.

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

Продукционная модель предусматривает выделение фактов в предметной области и связей между ними по правилу «ЕСЛИ ТО». Правила позволяют выявить причинно – следственную связь между фактами.

Продукционная модель была реализована в языке логического программирования ПРОЛОГ. Основными понятиями языка ПРОЛОГ являются факты и правила.

Факт фиксирует некоторую связь между объектами, событиями в предметной области. Оформляется факт в виде предиката. В общем виде предикат имеет вид:

НаименованиеСвязи(А1,А2).

где A1,A2 – аргументы предиката.

Предикат должен заканчиваться точкой. Читается предикат по схеме:

A1 НаименованиеСвязи A2

Пример факта: АОИСТРА выполнило поставку 10ед товара.

На языке ПРОЛОГ факт будет записан в виде:

Поставлено(“АОИСТРА”,10).

Символьные данные берутся в предикате в кавычки.

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

Например, имеется описание поставок:

Поставлено(“АОИСТРА”,10).

Поставлено(“АОВОСТОК”,20).

Поставлено(“АОИВОЛГА”,100).

Для обращения к описанию предметной области нужно составить запрос. Запрос начинается с символа ? и представляет собой предикат с переменными. Для получения списка всех поставщиков требует использование предиката:

? Поставлено(Поставщик,_).

Символ «_» означает игнорировать значение при поиске информации.

В результате выполнения запроса будет получен результат:

Поставщик = АОИСТРА

Поставщик = АОВОСТОК.

Поставщик = АОИВОЛГА.

При выполнении запроса допустимо ставить условия на отбор информации. Для составления условий используются условные обозначения операций отношения <(меньше),>(больше),<=(меньше или равно),>=(больше или равно),<>(не равно), =(равно). В качестве связки в запросах используются символы «,» (связка И), «;» (связка ИЛИ).

Пример:

? Поставлено(Постащик,Количество),Количество<100.

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

Для получения «знаний» о предметной области недостаточно зафиксировать факты, требуется зафиксировать правила обработки фактов.

В языке ПРОЛОГ правила создаются путем объединения предикатов с помощью связки :- «ЕСЛИ»

Предикат1(<аргументы>):- Предикат2(<аргументы>).

Пример. Дан список поставщиков и фирм потребителей, показанный в таблице 3.3.

Таблица 3.2. Поставщики–потребители

Поставщик

Фирма потребитель

ЗАО Волга

АО Пульсар

ЗАО Иволга

АО Квазар

ЗАО Волга

АО Сапфир

Составим описание связей таблицы:

Поставщик("ЗАО Волга","АО Пульсар").

Поставщик("ЗАО Иволга","АО Квазар").

Поставщик(X,"АО Сапфир"):-

Поставщик(X,"АО Пульсар").

Описание содержит правило. Которое можно прочитать так: Если некоторый поставщик обслуживает АО Пульсар, то этот же поставщик обслуживает АО Сапфир. Заканчивается правило точкой как и факт.

Процессор логического вывода выполняет обработку правила с правой части, если обработка дает результата «ИСТИНА» выполняется обработка левой части правила. Левая часть называется головной, а правая часть хвостовой.