Мощь экспертной системы значительно возрастет, если в процессе работы она будет обладать способностью к обучению, т. е. к усвоению новых фактов и методов их обработки. Достичь этого можно различными способами. Так, система может проводить статистическую обработку данных и формировать новые правила из таким образом получаемой информации. Кроме того, систему можно связать с реальным миром с помощью специальных сенсорных устройств, которые позволят ей собирать данные об этом мире и на этой основе формировать правила. И, наконец, система может приобретать знания в результате опроса экспертов. В программе 6.6 показано, как нужно модифицировать предыдущую программу (6.5), чтобы она могла приобретать новые знания в процессе общения с экспертами:
Во время обучения нет необходимости дополнять все предложения data. Например, первое предложение (о машинной обработке), относящееся к методу, использующему сквозные металлизированные отверстия и первое предложение (об общих принципах), относящиеся к стандартному методу обработки, могут быть составлены без изменения. В новом варианте программы пользователю, paботающему с отношениями explain и info, предстоит осуществлять выбор не из фиксированного списка, а из списка с переменным числом членов. Причем длина и содержимое этого списка определяются информацией, получаемой от эксперта.
Таким образом, программа предназначена для выполнения двух функций: во-первых, она является оболочкой, пользуясь которой эксперты могут создавать экспертные системы, и, во-вторых, она дает возможность работать с готовыми экспертными системами. Имена основных категорий рассматриваемой предметной области хранятся в отношении topic, а понятия, описывающие категории,- в отношении heading. И, наконец, подробная информация по каждому из понятий содержится в различных предложениях отношения data. Все только что упомянутые отношения - topic, heading ) и data - могут быть дополнены в процессе диалога с экспертом. Чтобы не усложнять программу, в нее не включены средства для I модификации и удаления предложений отношения data; в случае необходимости такие средства могут быть легко введены.
Предположим теперь, что необходимо добавить в программу информацию о новом методе производства печатных плат - о поверхностном монтаже. Покажем, как это может быть сделано:
all (x: add-data x)
[определить все (х: добавить-данные х) ]
new topic X ? ans SMD
[новая категория X ? ответ SMD]
headings (X) for SMD ? just (meaning methods advantages)
[понятия (X) для SMD ? последний ответ (смысл методы достоинства)]
meaning data X ? just (Surface mounting of devices (SMD) is
a method
[смысл данные Х ? последний ответ (поверхностный монтаж устройств (SMD) - это метод ]
of fitting ICS and other components of PCB
[сборки интегральных схем и других компонентов печатных плат, осуществляемый без]
without the need for drilling holes for the leads.)
[использования отверстий для соединений)]
meaning
[смысл ]
methods data X ? just (Components are temporarily held in place
[методы данные ? последний ответ (компоненты временно удерживаются на нужных местах]
with odhesive and then soldered by means of hot vapours
[клейким составом, а затем припаиваются с помощью горячих испарений]
which melt solder cream smeared around the joints.)
[которые расплавляют припой, нанесенный на места соединений)]
methods
[методы ]
advantages data X ? just (SMDs provide higher density circuits
[достоинства данные Х ? последний ответ (метод поверхностного монтажа обеспечивает более высокую плотность размещения элементов]
are more reliable, require no drilling and
[является более надежным, не требует отверстий для соединений и]
are cheaper to fit than other types.)
[дешевле аналогичных методов) ]
advantages [достоинства]
No (more) answers
[Ответов (больше) нет ]
Если после этого рассматривать текст программы, то окажется, что отношение topic теперь имеет вид
topic (PTH conventional SMD),
а в отношении heading появилось новое утверждение
SMD heading (meaning methods advantages)
и, кроме того, к отношению data добавились три утверждения, каждое из которых характеризует новый элемент отношения heading.