- •Нечеткие логические системы Постановка задачи
- •Решение задачи
- •Нейронные сети Постановка задачи
- •Эвристическое решение задачи
- •Выбор нейронной сети для решения задачи
- •Вычислительный эксперимент
- •Экспертная система Постановка задачи
- •Исследование структуры экспертной системы
- •Создание собственной базы продукционных правил
- •Литература
Создание собственной базы продукционных правил
В качестве собственной системы продукционных правил используем алгоритм диагностики неполадок гидросистемы. Будем считать, что в гидросистеме существует четыре источника неисправностей – соедниение труб, нарушение энергоснабжения, поломка насоса, поломка клапана. Диагностировать неисправности можно используя три параметра измеряемые для всей гидросистемы – уровень шума, уровень вибрации и температура жидкости в трубопроводе. Эвристический алгоритм поиска неисправностей:
Если шум и вибрация выше нормы, то нарушено соединение труб;
Если температура и вибрация выше нормы, то неисправен насос;
Если температура выше нормы, а вибрация в пределах нормы, то неисправно энергоснабжение;
Если шум выше нормы, то неисправен клапан.
В данном алгоритме входными параметрами являются уровни шума, вибрации и температуры с множеством значений {'низкий', 'высокий', 'не_знаю'}, а выходным параметром – ‘неисправность’ с множеством значений {'соединение_труб', 'энергоснабжение', 'насос', 'клапан'} и обозначающий неисправный узел. Используя синтаксис rul файлов, составим собственную базу знаний:
разрешзн(неисправность)=соединение_труб,энергоснабжение,насос,клапан
разрешзн(шум)=нормальный,высокий,не_знаю
разрешзн(вибрация)=нормальный,высокий,не_знаю
разрешзн(температура)=нормальный,высокий,не_знаю
вопрос(неисправность)=Определить неисправность не удалось, введите свой вариант:
вопрос(шум)=Какой уровень шума в гидросистеме?
вопрос(вибрация)=Какой уровень вибрации в гидросистеме?
вопрос(температура)=Какова температура жидкости в гидросистеме?
правило1: если
шум=высокий и
вибрация=высокий
то
неисправность=соединение_труб.
правило2: если
шум=высокий
то
неисправность=клапан.
правило3: если
температура=высокий и
вибрация=низкий
то
неисправность=энергоснабжение.
правило4: если
температура=высокий и
вибрация=высокий
то
неисправность=насос.
Проверим работоспособность данной базы с использованием экспертной системы:
Рис. 10. Пример диагностирования неисправности соединения труб.
Рис. 11. Пример диагностирования неисправности энергоснабжения.
Вывод
В ходе данной работы была рассмотрена продукционная экспертная система. Были исследован исходный код системы, рассмотрены различные виды взаимодействия пользователя с системой (интерактивный и не интерактивный), проверена ее работоспособность. Для экспертной системы также была составлена база знаний, реализующая алгоритм поиска неполадок в гидросистемах.
Литература
Штовба С.Д. "Проектирование нечетких систем средствами MATLAB." М.: Горячая линия – Телеком, 2007. – 288 с.
Книга Kevin Swingler "Applying Neural Networks. A practical Guide" (перевод Ю.П.Маслобоева). URL: http://matlab.exponenta.ru/neuralnetwork/book4/index.php
Станкевич Л. А. Представление знаний и интеллектуальные системы: учеб. пособие / Л.А. Станкевич. – СПб.: Изд-во Политехн. ун-та, 2008. -157 с.