Разработка экспертных систем
Разработка экспертных систем — это одно из направлений развития искусственного интеллекта, потому что такие программы пытаются моделировать мышление человека. Результат работы экспертной системы — это не числа, а конкретный совет (рекомендация) в словесной форме.
Экспертные системы применяются в медицине, электронике, геологии, для решения военных и управленческих задач. Первая экспертная система Dendral была создана в Стэнфордском университете в конце 1960-х гг. для определения строения органических молекул по их химическим формулам и свойствам.
В составе экспертной системы выделяют три основные части:
• базу знаний;
• блок получения решения («решатель»);
• интерфейс с пользователем.
База знаний отличается от базы данных тем, что в ней хранятся не только факты, но и правила, по которым из фактов делаются выводы.
Факты — это утверждения, которые считаются истинными, например:
• у окуня есть жабры;
• Иван — отец Марьи;
• Волга впадает в Каспийское море.
Правила обычно формулируются в виде «если..., то», например:
• если х — животное и х дышит жабрами, то х — рыба;
• если х — отец у и у — отец z, то х — дед z;
• если х состоит из атомов углерода и обладает высокой твёрдостью, то x: — алмаз.
Таким образом, в отличие от данных, знания представляют собой общие связи предметов, понятий и явления; часто их формулировка содержит переменные 1.
1 Вспомните, что в логике утверждение с переменными называется предикатом.
В разработке экспертной системы участвуют эксперты и специально обученный специалист — инженер по знаниям, задача которого — представить знания экспертов в такой форме, чтобы они могли быть записаны в базу знаний. Важно, чтобы эту базу знаний можно было постепенно пополнять — добавлять новые правила вывода независимо от предыдущих.
Второй блок экспертной системы — «решатель» — это программа, которая моделирует рассуждения эксперта, используя предоставленные ей исходные данные и информацию из базы знаний. В результате работы она не только выдаёт заключение, но и может подробно показать, как оно было получено (какие правила были использованы). Решатель — это универсальная программа, которая может работать с любой базой знаний понятного ей формата.
Как правило, пользователь работает с экспертной системой в режиме диалога, отвечая на её вопросы. Рассмотрим простейшую экспертную систему для определения класса животных. Предположим, что в базу знаний внесены следующие правила:
• если у животного есть перья, то это птица;
• если животное дышит жабрами, то это рыба;
• если животное кормит детёнышей молоком, то это млекопитающее;
• если животное — млекопитающее и ест мясо, то это хищник.
Диалог пользователя с экспертной системой может быть, например, таким (ответы пользователя выделены курсивом):
- Это животное кормит детей молоком?
- Нет.
- Это животное имеет перья?
- Нет.
- Это животное дышит жабрами?
-Да.
- Это рыба.
Для того чтобы определить последовательность вопросов, эксперт и инженер по знаниям строят дерево решений, например такое (рис. 3.52).
Рис. 3.52
Конечно, эта экспертная система неполна и в некоторых случаях класс животного определить с её помощью не получится (см. знаки вопроса на схеме).
Следующая страница Вывод