Рассмотрим, какими путями экспертная система может получить знания в виде, пригодном для их использования. Эти знания формируются на основе: устных рекомендаций; аналогий; примеров; наблюдений, открытий и экспериментов; умозаключений, получаемых исходя из глубинных представлений.
Неавтоматизированный сбор знаний, носителями которых являются специалисты,— весьма трудоемкий процесс. Поэтому в настоящее время экспертные системы, как правило, включают вспомогательные средства для накопления знаний.
Сейчас разрабатываются методы ускорения процесса накопления знаний: машину «обучают» правилам логических выводов на конкретных примерах. В самой структуре таких систем, как, например, Expert-Ease, предусмотрены средства для получения массива экспертных решений, выработанных специалистом; обобщая эти решения, система может составлять некое выполнимое правило. В определенном смысле это означает, что вы можете как бы «пересаживать» ваш опыт в деле принятия решений непосредственно в персональный компьютер (еще в 1966 г. подобную возможность предвидели Эрл Хант и его коллеги).
Машинный алгоритм для такой «пересадки» экспертного опыта разработал профессор Росс Куинлан из Института науки и техники Нового Южного Уэльса (Австралия), взяв за основу программу ID3, написанную на языке Паскаль. Работа Куинлана позволяет сделать следующие выводы:
- С помощью такой программы можно создавать выполняемые на ЭВМ алгоритмы для задач со сложным решением, затрачивая на это лишь часть того времени, которое потребовалось бы программисту на подготовку аналогичных алгоритмов традиционным методом — вручную.
- Полученные (с использованием этой программы) процедуры решения значительно эффективнее тех, которые удается получить устаревшими ручными методами.
- Прежде всего необходимо выяснить, требуется ли вам только «сверхэффективность» алгоритма решения, выполняемого на ЭВМ, или же вы, кроме того, хотите, чтобы полученные правила, объединенные в специальную базу данных, можно было понять человеку.
Если в ответ на последний вопрос можно сказать, что пользователю необходима «прозрачность» выведенных правил, то тогда не следует рассматривать свою задачу как единую сверхзадачу (если только это не очень мелкая задача), с которой связан единственный массив примеров. В таком случае в этой сверхзадаче следует прежде всего выделить главную задачу и ряд подзадач или даже провести разбиение на еще более мелкие составляющие (до уровня подподзадач) - если такая необходимость диктуется сложностью самой области, к которой относится решаемая задача. Впервые этот подход, получивший название «структурная индукция», предложили Шапиро и Ниблетт.
Компании, располагающие такими мощными средствами логических выводов, как пакет EX-TRAN (на языке Фортран), разработанный фирмой ITL, или программа RuleMaster (на языке Си) корпорации «Радиан», применили рассмотренный метод при создании сложных систем для поиска неисправностей в крупногабаритных трансформаторах; для штормового предупреждения; для диагностики дефектов схемных плат; для выдачи удобных для пользователя инструкций по подготовке пакетов заданий анализа сейсмической информации, предназначенной для нужд нефтедобывающей промышленности. В настоящее время производительность программистов при составлении компактного, готового к загрузке (в ЭВМ) кода для таких систем превышает, как сообщается, 100 строк за рабочий день.
Создание любой надежной в эксплуатации экспертной системы требует огромных ресурсов. После того как она разработана, представленные в ней знания и управляющие алгоритмы можно скомпоновать так, чтобы перенести их в программу, выполняющую те же функции на персональном компьютере. К примеру, в ряде экспертных систем (ADVISE, EMYCIN, OPS5) предусмотрена возможность создания программных кодов или представления знаний в другой простой форме с целью переноса системы на персональную ЭВМ.