Иллюстрированный самоучитель по введению в экспертные системы

Извлечение, представление и применение знаний о проектировании. Реализация обратного прослеживания в системе VT.

В этой главе мы рассмотрим экспертную систему проектирования лифтовых систем VT [Marcus et al., 1988] и использованную в процессе ее разработки систему автоматизированного приобретения знаний SALT [Marcus et al, 1988]. В первом разделе основное внимание будет уделено самой программе VT, а в следующем будет описана методика приобретения знаний о проектировании, использованная в системе SALT.


Программа VT (название программы – аббревиатура от Vertical Transportation, транспортировка по вертикали) была использована фирмой Westinghouse Elevator для разработки лифтовых систем индивидуального исполнения. Исходные данные для программы VT представляют собой набор основных параметров проектируемой системы – скорость, грузоподъемность, размеры лифтовых шахт. На основе этих данных программа формирует список подходящего оборудования и компоновку всех шахт с учетом требований безопасности и производительности системы.

В процессе проектирования программа сначала формирует примерную компоновку, а затем уточняет ее на основе анализа оговоренных ограничений. На первом этапе используется прямая цепочка правил логического вывода. Программа выбирает в качестве исходных данных либо введенные параметры, либо значения, вычисленные другими процедурами. Типичное правило (в системе VT они почему-то названы PROCEDURE – процедура) представлено ниже.

ЕСЛИ: доступны значения параметров
DOOR-OPENING, PLATFORM-WIDTH и OPENING-WIDTH
и DOOR-OPENING=CENTER,
ТО: CAR-JAMBETURN=(PLATFORM-WIDTH – OPENING-WIDTH)/2.

На этом этапе весь процесс направляется данными. Допустима любая операция проектирования, если только для этого имеется достаточно исходной информации. Но поскольку на этом этапе некоторые из задач оказываются недоопределенными, то вполне возможна и такая ситуация, когда при отсутствии полностью определенных задач в списке актуальных очередное предложение будет сформировано такой недоопределенной задачей. В результате в дальнейшем будет развиваться частичная конфигурация проекта, созданная на базе неполной информации. Иными словами, в системе VT не всегда соблюдаются условия соответствия, сформулированные в предыдущей главе, но, тем не менее, процесс проектирования продолжается, поскольку предполагается, что в дальнейшем удастся скорректировать возможное нарушение ограничений.

По мере развития проекта система VT отслеживает на каждом шаге, от каких исходных или промежуточных данных зависят сформированные на этом шаге данные. В процессе отслеживания формируется сеть зависимостей (dependency network). Структура сети зависимостей будет детально рассмотрена в главе 19, а пока считайте, что такая сеть представляет собой один из видов ориентированного графа без петель. Узлы графа представляют вычисленные значения важных параметров проектируемой системы, например CAR_JUMB_RETURN (пространство для маневрирования автомобилей при загрузке в лифт), а ребра – применяемые для их определения правила. Узлы и ребра графа формируются по мере активизации тех или иных правил в процессе развития проекта.

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

Нарушение ограничений выявляется с помощью демонов (см. главу 6). Если имеется достаточно информации для того, чтобы определить, как связано значение некоторой величины со значениями ограничений, выполняется сравнение. Возможные способы устранения несоответствия ранжированы и активизируются в заданном порядке. Пример правила устранения несоответствия приведен ниже.

ЕСЛИ: нарушено ограничение MAXIMUM-MACHINE-GROOVE-PRESSURE,
ТО: попробовать понизить значение MACHINE-GROOVE-MODEL (1),
увеличить значение HOST-CABLE_QUANTITY (4).
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.