дб. Четвертое издание джозеф Джарратано Университет Хьюстон клиэрЛэйк Гари Райли People5oft, Издательский дом "Вильямс" Москва СанктПетербург Киев 2007 ббк 32. 973. 26 018 75 Д
Скачать 3.73 Mb.
|
Насколько общими или конкретными должны быть факты и правила Как должна осуществляться выборка данных от датчиков Как долго показания датчика должны находиться водном из допустимых диапазонов, для $1 $2 $3 $4 $5 $6 60 20 60 60 65 110 70 40 70 70 70 115 120 160 120 120 120 125 130 180 130 130 125 130 990 Глава 12. Примеры проектов экспертных систем того чтобы потребовался останов устройства, к которому он относится? Какие действия должны выполняться программой текущего контроля при обнаружении неисправного устройства?" Уточнение деталей, с которого должна начинаться разработка Одна из основных проблем, с которой приходится сталкиваться при создании экспертных систем, состоит в том, что задача чаще всего имеет некачественную постановку. Безусловно, целью создания экспертной системы является замена эксперта, но никто кроме эксперта не обладает знаниями, достаточными для того, чтобы определить все нюансы своей работы. Обычно известно лишь то, какие действия должна осуществлять система, ноне совсем ясно, в какой форме должны подготавливаться эти действия. Эксперт может испытывать затруднения при попытке точно сформулировать, какие шаги он выполняет в процессе выработки решения. Разумеется, сам подход к созданию экспертных систем, основанный на методах итеративной разработки, который реализуется в этой области так естественно, позволяет относительно легко создавать экспертные системы, которые решают недостаточно полно определенные задачи. Но это отнюдь не означает, что экспертные системы позволяют находить решения задач, которые еще никогда не решались раньше, или задач, самоопределение которых еще непонято окончательно. Поэтому к разработке экспертной системы для данного примера текущего контроля можно будет приступить только после уточнения еще некоторых аспектов задачи. Прежде всего необходимо определить, какие действия должна осуществлять экспертная система, в том числе описать исходную информацию и информацию, которая должна вырабатываться системой. Но это не означает, что созданные при этом спецификации не подлежат изменению. Дальнейший ход разработки программы может показать, что область охвата данной задачи должна быть сужена или, возможно, расширена, что повлияет на определение исходных данных и конечных результатов. Кроме того, необходимо принять некоторые предположения и уточнить подробности того, как экспертная система должна выполнять поставленные передней задания. Решения такого рода также не являются окончательными. Эксперты часто могут показать, как они приходят к решению задачи, ноне могут легко сформулировать используемые ими правила. При описании правил, которыми они пользуются, эксперты иногда не упоминают очевидные для них подробности или забывают об исключениях. При решении рассматриваемой задачи текущего контроля необходимо с самого начала выбрать несколько важных направлений. Первым из них является способ реализации. Должно ли быть решение узко направлено на осуществление всех нюансов спецификации задачи или должно оставаться достаточно общим, чтобы 12.5. Задача текущего контроля 991 существовала возможность в дальнейшем легко модернизировать или модифицировать эту систему Иными словами, один вариант состоит в том, что могут быть написаны конкретные правила для каждого из контролируемых устройства второй может предусматривать написание общего правила для контроля над всеми устройствами. Складывается впечатление, что для данной задачи в большей степени подходит вариант с использованием общих правил, поскольку отдельные моделируемые устройства и датчики не имеют уникальных характеристик. Благодаря такой общности должно упроститься введение в дальнейшем дополнительных устройств и датчиков. К тому же отсутствуют подробные сведения о том, как должна происходить передача управления в системе текущего контроля. Нов условиях рассматриваемой задачи может применяться простой цикл текущего контроля. Каждый цикл текущего контроля должен состоять из трех фаз. В течение первой фазы считываются значения, поступающие от датчиков, во второй фазе выполняется анализ показаний датчиков, а в третьей осуществляются все действия, соответствующие обстоятельствам. Необходимо также принять определенные предположения в части того, как должна происходить выборка данных от датчиков. Должны ли эти данные считываться непосредственно сдатчиков Нужно ли обеспечить моделирование показаний датчиков Всегда ли данные, поступающие от датчиков, будут доступными в тот момент, когда потребуется Являются ли показания датчиков надежными или подвержены ошибкам В обычных ситуациях, когда разрабатывается прототип, можно провести интервью с экспертами для определения этой информации, нов ходе решения данной учебной задачи мысами должны принять разумные предположения, чтобы уточнить все детали. Приведенные выше вопросы показывают, как ликвидируются упущения, которые могут быть обнаружены в некачественной постановке задачи. Список предположений, вопросов и возможных несовместимостей, относящийся к спецификации решаемой задачи, необходимо сопровождать в течение всей разработки. А если разработка программы ведется по итерационному принципу, такой список должен стать сосредоточением всех дискуссий, чтобы экспертам было проще следить затем, всегда ли постановка задачи совпадает со взглядами экспертов на то, как должна быть решена задача. Ниже приведена часть указанного списка для задачи текущего контроля, которая начинается с предположений. ° Показания датчиков всегда надежны и всегда доступны по запросу. Должна быть предусмотрена возможность считывать показания датчиков непосредственно сдатчиков. Программа должна также предоставлять возможность поддерживать моделируемые показания датчиков. ° На остановленном устройстве показания датчиков не должны контролироваться. Глава 12. Примеры проектов экспертных систем 992 Предполагается, что действия, необходимость в проведении которых указана системой текущего контроля, должны быть обязательно реализованы (те. предполагается, что их либо выполняет внимательный персонал установки, либо контроль над устройствами непосредственно осуществляется программой. Определения структур представления знаний Ив данном случае приступим к решению задачи с уточнения того, как должны быть представлены знания. Удобным вступительным шагом к решению данной задачи может стать попытка закодировать знания, как показано на рис. 12.5 ив табл. Для описания каждого из устройств будет использоваться следующая конструкция de f template: (defmodule MAIN (export ? ALL)) (deftemplate МАХИ (slot пате (type SYMBOL)) (slot status (allowed-values on off))) В этом определении слот пате содержит имя устройства, а слот status показывает, включено данное устройство или выключено. Используя рис. 12.5 и приняв предположение о том, что все устройства первоначально были включены, опишем начальное состояние устройств с помощью такой конструкции de f facts: (deffacts MAIN::device-information (device (name D1) (status on)) (device (name D2) (status on)) (device (name D3) (status on)) (device (name D4) (status on))) На рис. 12.5 также показано, какие датчики связаны с теми или иными устройствами. Для представления этого отношения будет использоваться следующая конструкция de f template: (deftemplate MAIN::sensor (slot name (type SYMBOL)) (slot device (type SYMBOL)) (slot raw-value (type SYMBOL NUMBER) Процедура решения задачи разделяется натри фазы чтение показаний датчиков, анализ показаний датчиков и выполнение соответствующих действий, таких как останов устройства. Кроме уточнения всех нюансов постановки задачи, необходимо принять решение в отношении всех деталей реализации программы. К этим деталям относится то, как должна быть представлена доступная информация, как осуществляется передача управления и как проводится проверка экспертной системы 12.5. Задача текущего контроля (allowed-symbols none) (default none)) state (allowed-values low-red-line low-guard-line normal high-red-line high-guard-line) (default normal)) low-red-line (type NUMBER)) low-guard-line (type NUMBER)) high-guard-line (type NUMBER)) high-red-line (type NUMBER))) (slot (slot (slot (slot (slot (deffacts MAIN::sensor-information (sensor (name S1) (device D1) (low-red-line 60) (low-guard-line 70) (high-guard-line 120) (high не 130)) (sensor (name S2) (device D1) (low-red-line 20) (low- guard-line 40) (high-guard-line 160) (high-red-line 180)) (sensor (name S3) (device D2) (low-red-line 60) (low-guard-line 70) (high- guard-line 120) (high-red-line 130)) (sensor (name S4) (device D3) (low-red-line 60) (low-guard-line 70) (high-guard-line 120) В этом определении слот пате содержит имя датчика, а слот device имя устройства, к которому подключен этот датчик. Слот raw — value содержит значение данных, полученное непосредственно от датчика и еще не подвергшееся обработке. Слот state содержит информацию о текущем состоянии показаний датчика (например, находятся ли они в рабочем диапазоне, в нижнем допустимом диапазоне, в верхнем допустимом диапазоне и т.д.). Слоты low — red — line (нижний предел допустимого диапазона — guard — line (нижний предел рабочего диапазона — average — value (ожидаемое среднее значение, high — guard — line (верхний предел рабочего диапазона) и high — red — line (верхний предел допустимого диапазона) используются для хранения информации, описанной в табл. Для описания датчиков, представленных на рис. может применяться такая конструкция de f f acts: 994 Глава 12. Примеры проектов экспертных систем (high-red- line 130)) (sensor (name S5) (device D4) (low-red-line 65) (low- guard-line 70) (high-guard-line 120) (high-red — line 125)) (sensor (name S6) (device D4) (low-red-line 110) (low-guard-line 115) (high- guard-line 125) (high-red-line 130))) Как уже было сказано, данная система текущего контроля должна действовать циклически, поэтому необходимо предусмотреть факт, обозначающий текущий номер цикла. Первый цикл обозначается номером один, после чего значение номера наращивается с наступлением каждого нового цикла. Упорядоченный факт, используемый для представления этой информации, имеет следующий формат (например, если один источник предназначен для моделирования, а другой — для реальной эксплуатации, то желательно иметь в наличии факт, обозначающий источник показаний датчиков. Этот факт можно представить с помощью такого формата (data-source |