дб. Четвертое издание джозеф Джарратано Университет Хьюстон клиэрЛэйк Гари Райли People5oft, Издательский дом "Вильямс" Москва СанктПетербург Киев 2007 ббк 32. 973. 26 018 75 Д
Скачать 3.73 Mb.
|
осуществляя вывод правил по методу индукции на основании примеров, и автоматически вырабатывать правила. Для выработки правил в машинном обучении применялись также другие методы и алгоритмы, такие как ПЭЗ, С, С5.1, искусственные нейронные сети и генетические алгоритмы. Основная проблема, возникающая при использовании машинного обучения для выработки правил, состоит в том, что отсутствует какое-либо объяснение, почему были созданы эти правила. В отличие от человека, способного объяснить причины, по которым было выбрано то или иное правило, системы машинного обучения никогда небыли в состоянии объяснить свои действия, а это может повлечь за собой появление непредсказуемых результатов. Однако в целом для создания деревьев решений лучше всего подходят примеры, представленные в виде простых или электрон. Элементы экспертной системы 71 горит красный свет стоять горит зеленый свет - двигаться Продукционные правила могут быть выражены в эквивалентном формате псевдокода IF — THEN следующим образом Правило red light IF горит красный свет THEN стоять Правило green light IF горит зеленый свет THEN двигаться Каждое правило обозначается именем. Вслед за именем находится часть IF правила. Участок правила между частями IF и THEN правила упоминается под разными именами„такими как антецедент, условная часть, часть шаблона или левая часть (left-hand-side — LHS). Такое отдельно взятое условие, как горит красный свет называется условным элементом, или шаблоном. Ниже приведены некоторые примеры правил из классических систем. Систеы|а МУСХИ для диагностирования менингита и бактеремий (бактериальных инфекций) The site of the culture is blood, and The identity of the organism is not known with ных таблиц. Общие правила, подготовленные инженером познаниям, могут быть намного сложнее по сравнению с простыми правилами, полученными путем вывода правил по методу индукции. В зависимости от реализации системы в качестве пользовательского интерфейса может использоваться простой текстовый дисплей или сложный растровый дисплей с высокой разрешающей способностью. Дисплеи с высокой разрешающей способностью обычно применяются для моделирования панелей управления с циферблатами и окнами. В экспертной системе, основанной на правилах, базу знаний называют также продукционной памятью. В качестве очень простого примера рассмотрим задачу принятия решения о переходе через дорогу. Ниже приведены продукции для двух правил, в которых стрелки означают, что система осуществит действия справа от стрелки, если условия слева от стрелки будут истинными Глава 1. Введение в экспертные системы certainty, and The stain of the organism is gramneg, and The morphology of the organism is rod, and The patient has been seriously burned THEN There is weakly suggestive evidence (.4) that the identity of the organism is pseudomonas Система XCON/Rl для определения конфигурации компьютерных систем VAX компании DEC IF The current context is assigning devices to Unibus modules and There is an unassigned dual-port disk drive and The type of controller it requires is known and There are two such controllers, neither of which has any devices assigned to it, and The number of devices that these controllers can support is known THEN Assign the disk drive to each of the controllers, and Note that the two controllers have been associated and each supports one drive В системе, основанной на правилах, машина логического вывода определяет, какие антецеденты правил (если таковые вообще имеются) выполняются согласно фактам. В качестве стратегий решения задач в экспертных системах обычно используются два общих метода логического вывода прямой логический выводи обратный логический вывод. В число других методов, применяемых для выполнения более конкретных методов, могут входить анализ целей и средств, упрощение задачи, перебор с возвратами, метод "запланировать выработать — проверить", иерархическое планирование и принцип наименьшего вклада, а также обработка ограничений. Прямой логический вывод представляет собой метод формирования рассуждений от фактов к заключениям, которые следуют из этих фактов. Например, если перед выходом из дома вы обнаружите, что идет дождь (факт, то должны взять с собой зонтик (заключение). Обратный логический вывод предусматривает формирование рассуждений в обратном направлении — от гипотезы (потенциального заключения, которое должно быть доказано) к фактам, которые подтверждают гипотезу. Например, если вы не выглядываете наружу, но кто-то вошел в дом с влажными ботинками и зонтиком, то можно принять гипотезу, что идет дождь. Чтобы подтвердить. Элементы экспертной системы 73 эту гипотезу, достаточно спросить данного человека, идет ли дождь. В случае положительного ответа будет доказано, что гипотеза истинна, поэтому она становится фактом. Как уже было сказано выше, гипотеза может рассматриваться как факт, истинность которого вызывает сомнение и должна быть установлена. В таком случае гипотеза может интерпретироваться как цель, которая должна быть доказана. В зависимости от проекта экспертной системы в машине логического вывода осуществляется либо прямой, либо обратный логический вывод, либо обе эти формы логического вывода. Например, язык CLIPS спроектирован в расчете на применение прямого логического вывода, в языке осуществляется обратный логический вывода в версии называемой Eclipse, разработанной Полом Хэйли (Paul осуществляется и прямой, и обратный логический выводы. Выбор машины логического вывода зависит от типа задачи. Диагностические задачи лучше всего решать с помощью обратного логического вывода, в то время как задачи прогнозирования, текущего контроля и управления проще всего поддаются решению с помощью прямого логического вывода. Но применение более развитого инструментального средства связано с необходимостью увеличения объема памяти и влечет за собой снижение скорости выполнения, поскольку для создания такого инструментального средства требуется больший объем кода. Язык CLIPS был спроектирован с учетом минимальных потребностей в ресурсах, те. таким образом, чтобы программы на этом языке выполнялись как можно быстрее и существовала возможность развертывать приложения в устройствах памяти малой емкости, таких как ПЗУ. Безусловно, люди, применяющие настольные компьютеры, которые имеют ОЗУ емкостью 512 Мбайт, обычно над этим не задумываются, но при разработке такого изделия, как интеллектуальное устройство дистанционного управления или микроволновая печь, необходимо использовать в качестве наименее дорогостоящей постоянной памяти микросхему ПЗУ. Стоимость устройства памяти снижается по мере сокращения объема памяти, поэтому для обеспечения конкурентоспособности желательно применять в потребительских устройствах как можно меньший объем памяти. Язык CLIPS действительно позволяет вырабатывать исполняемые файлы в коде С, которые очень малы и могут быть легко записаны в небольшое ПЗУ. Рабочая память может содержать факты, касающиеся текущего состояния светофора, такие как "горит зеленый светили "горит красный свет. В рабочей памяти могут присутствовать любой из этих фактов или оба факта одновременно. Если светофор работает нормально, то в рабочей памяти будет находиться только один факт. Но возможно также, что в рабочей памяти будут присутствовать оба факта, если светофор неисправен. Обратите внимание на тов чем состоит различие между базой знаний и рабочей памятью. Факты не взаимодействуют друг с другом. Факт "горит зеленый свет" не воздействует на факт "горит красный Глава 1. Введение в экспертные системы свет. С другой стороны, наши знания о работе светофоров говорят о том, что если одновременно присутствуют оба факта, то светофор неисправен. Если в рабочей памяти имеется факт "горит зеленый свет, машина логического вывода обнаруживает, что этот факт удовлетворяет условной части правила green light и помещает это правило в рабочий список правил. А если правило имеет несколько шаблонов, то все эти шаблоны должны быть удовлетворены одновременно для того, чтобы правило можно было поместить в рабочий список правил. В качестве условия удовлетворения некоторых шаблонов можно даже указать отсутствие определенных фактов в рабочей памяти. Правило, все шаблоны которого удовлетворены, называется активизированным, или реализованным. В рабочем списке правил может одновременно присутствовать несколько активизированных правил. В этом случае машина логического вывода должна выбрать одно из правил для запуска. Термину запуск в нейрофизиологии (наука о том, как работает нервная система) соответствует термин возбуждение. В результате стимуляции отдельная нервная клетка, или нейрон, испускает электрический сигнал. Дальнейшая стимуляция, насколько сильной она бы ни была, не может заставить нейрон снова возбудиться, пока не пройдет какойто короткий период времени. Этот феномен называется релаксацией. Экспертные системы основанные на правилах, создаются с использованием релаксации в целях предотвращения тривиальных циклов. Дело в том, что если бы правило, касающееся зеленого света, продолжало снова и снова запускаться под воздействием одного итого же факта, то экспертная система таки не смогла бы выполнить какую-либо полезную работу. Для обеспечения релаксации разработаны различные методы. В языке экспертной системы одного из типов (OPS5) каждому факту после его ввода в рабочую память присваивается уникальный идентификатор, называемый временной отметкой (Вслед затем, как некоторое правило запускается под воздействием некоторого факта, машина логического вывода не запускает его снова под воздействием того же факта, если с момента применения его временной отметки прошло слишком мало времени. Вслед за частью THEN правила находится список действий, которые должны быть выполнены после запуска правила. Эта часть правила называется консеквентом, или правой частью (Right-Hand Side — RHS). Если происходит запуск правила red light, выполняется его действие "стоять". Аналогичным образом после запуска правила green light его действием становится "двигаться. В состав конкретных действий обычно входит добавление или удаление фактов из рабочей памяти либо вывод результатов. Формат описания этих действий зависит от синтаксиса языка экспертной системы. Например, в языке CLIPS действие по добавлению в рабочую память нового факта, называемого "stop" (стоять, принимает вид (assert stop) . Поскольку язык CLIPS происходит от языкато круглые скобки вокруг шаблонов и действий являются обязательными. Элементы экспертной системы 75 Машина логического вывода работает в режиме осуществления циклов распознавание действие. Для описания указанного режима работы применяются также другие термины, такие как цикл "выборка-выполнение", цикл ситуация отклики цикл ситуация — действие. Но как бы ни назывался такой цикл, машина логического вывода снова и снова выполняет некоторые группы задач до выявления определенных критериев, которые вызывают прекращение выполнения. При этом решаются общие задачи, обозначенные в приведенном ниже псевдокоде как разрешение конфликтов, действие, согласование и проверка условий останова. WHILE работа не закончена Разрежение конфликтов. Если имеются активизированные правила, то выбрать правило с наивысшим приоритетом в противном случае работа закончена. Действие. Последовательно осуществить действия, указанные в правой части выбранного активизированного правила. В данном цикле проявляется непосредственное влияние тех действий, которые изменяют содержимое рабочей памяти. Удалить из рабочего список правил только что запущенное правило. Согласование. Обновить рабочий список правил путем проверки того, выполняется ли левая часть каких-либо правил. В случае положительного ответа активизировать соответствующие правила. Удалить активизированные правила, если левая часть соответствующих правил больше не выполняется. Проверка условий останова. Если осуществлено действие halt или дана команда break, то работа закончена. END-WHILE Принять новую команду пользователя В течение каждого цикла могут быть активизированы и помещены в рабочий список правил многочисленные правила. Кроме того, в рабочем списке правил остаются результаты активизации правил от предыдущих циклов, если не происходит деактивизация этих правил в связи стем, что их левые части больше не выполняются. Таким образом входе выполнения программы количество активизированных правил в рабочем списке правил изменяется. В зависимости от программы ранее активизированные правила могут всегда оставаться в рабочем списке правил, но никогда не выбираться для запуска. Аналогичным образом некоторые правила могут никогда не становиться активизированными. В подобных случаях следует повторно проверять назначение этих правил, поскольку либо такие правила ненужны, либо их шаблоны неправильно спроектированы 76 Глава 1. Введение в экспертные системы Машина логического вывода выполняет действия активизированного правила с наивысшим приоритетом из рабочего списка правил, затем — действия активизированного правила со следующим по порядку приоритетом и т.д., до тех пор, пока в списке не останется больше активизированных правил. Для инструментальных средств экспертных систем разработаны различные системы приоритетов, но, вообще говоря, все инструментальные средства позволяют инженеру познаниям определять приоритеты правил. В рабочем списке правил возникают конфликты, если различные активизированные правила имеют одинаковый приоритет и машина логического вывода должна принять решение о том, какое из этих правил необходимо запустить. В различных командных интерпретаторах для решения этой проблемы применяются разные способы. Ньюэлл и Саймон использовали такой подход, что правила, введенные в систему в первую очередь, приобретают по умолчанию наивысший приоритет. С другой стороны, в языке наивысший приоритет автоматически получают правила с более сложными шаблонами. А в языке CLIPS правила имеют по умолчанию одинаковый приоритет, если каким-то из них не присваивается другой приоритет инженером познаниям. После завершения выполнения всех правил управление возвращается к интерпретатору команд верхнего уровня, чтобы пользователь мог выдать командному интерпретатору экспертной системы дополнительные инструкции. Работа в режиме верхнего уровня соответствует применяемому по умолчанию режиму, в котором пользователь взаимодействует с экспертной системой, и обозначается как задача "Accept а пеы user command" (Принять новую команду пользователя. Прием новых команд происходит именно на верхнем уровне. Верхний уровень представляет собой пользовательский интерфейс к командному интерпретатору в тот период, когда происходит разработка приложения экспертной системы. Но обычно разрабатываются более сложные пользовательские интерфейсы, позволяющие упростить работу с экспертной системой. Например, экспертная система может иметь пользовательский интерфейс для управления производственной установкой в виде экрана, на котором демонстрируется блоксхема этой установки. На этом экране вместе с условными изображениями приборов с круговыми и линейными шкалами могут отображаться мерцающими цветами предупреждающие сообщения и сообщения о состоянии. В действительности проектирование и реализация пользовательского интерфейса могут потребовать больше усилий, чем создание базы знаний экспертной системы, особенно на стадии разработки прототипа. В зависимости от возможностей командного интерпретатора экспертной системы пользовательский интерфейс может быть реализован с помощью правил или с применением операторов на другом языке, вызываемых из экспертной системы. Например, версия на языке Java, называемая Jess, которая была создана Эрнестом Фридманом-Хиллом (Ernest Friedman-Hill) позволяет легко вызывать классы Java для упрощенного создания графиче- 1 10. Продукционные системы 77 1.10 Продукционные системы В настоящее время экспертными системами наиболее широко применяемого типа являются системы, основанные на правилах. В системах, основанных на правилах, знания представлены нес помощью относительно декларативного, статического способа (как ряд истинных утверждений, а в форме многочисленных правил, которые указывают, какие заключения должны быть сделаны или не сделаны в различных ситуациях. Система, основанная на правилах, состоит из правил IF — THEN, фактов и интерпретатора, который управляет тем, какое правило должно быть вызвано в зависимости от наличия фактов в рабочей памяти. Системы, основанные на правилах, относятся к двум главным разновидностям системы с прямым логическим выводом и системы с обратным логическим выводом. Система с прямым логическим выводом начинает свою работу с известных начальных фактов и продолжает работу, используя правила для вывода новых заключений или выполнения определенных действий. Система с обратным логическим выводом начинает свою работу с некоторой гипотезы, или цели, которую пользователь пытается доказать, и продолжает работу, отыскивая правила, которые позволят доказать истинность гипотезы. Для разбиения крупной задачи на мелкие фрагменты, которые можно будет более легко доказать, создаются новые подцели. Системы с прямым логическим выводом в основном являются управляемыми данными, а системы с обратным логическим выводом — управляемыми целями [21]. Водной из следующих глав дано более подробное описание ского интерфейса пользователя, поскольку в языке Java имеется много объектов, предназначенных для этой цели. Главной особенностью экспертной системы является предусмотренное в ней средство объяснения, которое дает возможность пользователю задавать вопросы о том, как система пришла к определенному заключению и для чего ей требуется определенная информация. Система, основанная на правилах, способна легко ответить на вопрос о том, как было получено определенное заключение, поскольку хронология активизации правили содержимое рабочей памяти можно сохранять в стеке. Но такая возможность не столь легко достижима при использовании искусственных нейронных сетей, генетических алгоритмов или других систем, разработка которых еще продолжается. Безусловно, были сделаны попытки предусмотреть в некоторых системах возможность объяснения, но созданные при этом средства объяснения не могут сравниться по своей наглядности со средствами любой экспертной системы, спроектированной человеком. Развитые средства объяснения могут дать возможность пользователю задавать вопросы типа "что, если" и изучать альтернативные пути формирования рассуждений по принципу гипотетических рассуждений |