Отслеживание зависимостей - Система отслеживания истинности предположений
В главе 15 рассказывалось о том, что в экспертной системе VT для фиксации зависимостей между решениями, принимаемыми в процессе проектирования, используется сеть зависимостей. В такой сети узлы соответствуют присвоению значений конструктивным параметрам, причем между узлами существуют два вида связей-- связи содействия (contributes-to) и связи принуждения (constrains). Узел А содействует узлу В, если значение параметра А появляется в результате вычисления значения В, а узел А принуждает узел В, если значение параметра A запрещает параметру В принимать определенные значения. В дальнейшем для некоторой формализации изложения будем обозначать узлы прописными буквами, а строчными-- значения соответствующих параметров. Например, значение, присваиваемое узлу (параметру) А в какой-либо момент времени, будем обозначать как а.
Релаксация в сети. Основное назначение связей в сети зависимостей состоит в том, чтобы, во-первых, показать, как изменение значения какого-либо параметра распространяется от узла к узлу, а во-вторых, выявить противоречия между значениями, присвоенными разным узлам.
Пусть, например, в сети имеются узлы А и М. Узел А представляет ускорение некоторой детали механизма, а М -- массу этой детали. Оба узла, А и М, содействуют узлу F, который представляет силу, действующую на деталь. Более того, учитывая знакомую всем со школьной скамьи формулу f= та, узлы А и М также и принуждают узел F, поскольку если а и т известны, то значение f определяется этой формулой и не может быть произвольным, т. е. если а - 2 и от = 3, то мы можем присвоить узлу F только значение f= 6. Если же этому узлу уже ранее было присвоено значение f= 7, то сеть переходит в состояние противоречия.
Формула f= та играет роль принудительного ограничения для сети, описанной в этом примере. Если все ограничения в сети удовлетворяются, то она пребывает в состоянии релаксации. Рассмотрим варианты сетей, представленные на рис. 19.1. Сеть а) находится в промежуточном состоянии, поскольку узлу F не присвоено какого-либо определенного значения, сеть б) находится в состоянии релаксации, а сеть в) -- в состоянии противоречия.
Строго говоря, термин "релаксация" относится к сети, а не к теории13. Но сеть есть не что иное, как только представление определенной теории, например сеть а) является представлением теории
F= mа
Т=3
А = 2,
В которой формула f= та играет роль принудительного ограничения. Сеть б) представляет теорию
F= mа
Т=3
А = 2
F=6,
Которая находится в состоянии релаксации по отношению к ограничению f= та, а сеть в) представляет противоречивую теорию
F= mа
Т=-3
А = 2
F=7.
По ходу изложения, не оговаривая отдельно, мы будем "перескакивать" от сетей к теориям, а для простоты использовать термин "представление", если нежелательно подчеркивать различие между этими двумя способами-реализации фактов и ограничений.
А
Б
Сети зависимостей с принудительными ограничениями. Окружностями представлены узлы сети, а прямоугольниками -- связи
Пересмотр допущений. Практически во всех программах экспертных систем в процессе решения проблемы обязательно тем или иным образом обновляются представления реального мира вещей, с которыми эта программа имеет дело (например, так происходит в программе планирования поведения роботов STRIPS, которую мы рассматривали в главе 3). В программах с разным уровнем "интеллектуальности" для пересмотра допущений в этом представлении применяются более или менее сложные методы. В литературе можно найти такую классификацию этих методов.
- (1) Монотонный пересмотр (monotonic revision). Это самый простой метод, при котором программа принимает информацию о новых фактах и вычисляет, как эти факты могут повлиять на имеющееся представление, чтобы оно перешло в результате в состояние релаксации. При этом предполагается учитывать "важные" последствия, хотя определить, какие последствия важные, а какие не очень, зависит от уровня интеллектуальности программы. Например, к важным скорее будет отнесен вывод q из р и (рq), чем вывод (pvq) из q. "Монотонным" этот способ пересмотра называется по той причине, что правдоподобность допущений в результате его применения по крайней мере не уменьшается. (2) Немонотонный пересмотр (nonmonotonic revision). Иногда бывает желательно "взять назад" принятые ранее допущения и урезать сделанные на их основе заключения. Если я вижу вас за рулем "Мерседеса", то первое предположение -- что он ваш собственный, а следовательно, вы, мягко говоря, человек не бедный. Но если через некоторое время я узнаю, что вы его, пользуясь терминологией Гека Финна, "позаимствовали", то я должен буду отбросить не только предположение, что он ваш собственный, но и предположение о вашем богатстве. (3) Немонотонное обоснование (nonmonotonic justification). Дальнейшее усложнение метода происходит в тех программах, в которых определенные предположения полагаются истинными в том случае, когда нет никаких явных свидетельств против такого предположения. Например, программа может предполагать, что все студенты малообеспечены. Отказ от такого предположения в отношении определенного студента выполняется в программе только в том случае, если на лицо явные признаки более чем среднего материального благополучия. Здесь именно отсутствие информации, противоречащей первоначальному допущению, а не наличие подтверждающей информации является обоснованием его правдоподобия. (4) Гипотетическое суждение (hypothetical reasoning). В программе можно сначала принять во внимание определенные предположения, а затем посмотреть, что из них следует. Далее из этих предположений можно отобрать правдоподобные допущения. Таким образом, в этом способе предполагается формировать рассуждения в разных мирах, т. е. в таких состояниях представления о реальной области знаний, которые могут соответствовать или не соответствовать реальности. Отслеживание множества теорий такого вида требует определенных дополнительных ресурсов по сравнению с методами, предполагающими исследование единственной теории.
Методы первой из перечисленных категорий довольно тривиальны: нужно добавить в имеющуюся теорию новую информацию и некоторые дополнительные факты, которые необходимы, чтобы перевести новую теорию в состояние релаксации по отношению к имеющимся ограничениям. Простой метод, демонстрирующий реализацию второй из перечисленных категорий, мы рассмотрим в следующем разделе, а в разделах 19.3 и 19.4 рассмотрим методы третьей и четвертой категорий.
Запись информации о связях. Программой на языке CLIPS несложно проиллюстрировать простую процедуру записи зависимостей между данными в продукционной системе с прямой цепочкой вывода. Если в рабочей памяти имеются только два типа выражений -- выражения импликации типа "Р имплицирует Q" и атомы, такие как "Р" и "Q", -- то можно зафиксировать зависимости между элементами рабочей памяти в виде извлеченных из них характеристик влияния. Объекты литералов имеют поля support, в которых записывается, какие выражения используются для вывода этих литералов. Может оказаться так, что некоторые литералы не имеют соответствующих выражений, поскольку представляют собой предположения, формируемые при инициализации рабочей памяти на основе конструкций def facts. В поле support таких литералов устанавливается значение -1. И литералы, и выражения импликации имеют нумерованные идентификаторы, которые позволяют отслеживать их состояние посредством специальных списков.
ШАБЛОНЫ
Литерал - атомарное высказывание,
- (deftemplate literal (field id (type INTEGER)) (field atom (type SYMBOL)) (multifield support (type INTEGER) (default -1))
| )
Условие является импликацией в форме
;; "Р имплицирует Q", где "P" является левой частью правила
;; (left-hand side = Ihs),
;; "Q" - правой частью
;; (right-hand side = rhs).
- (deftemplate conditional (field Id (type INTEGER)) (multifield Ihs (type SYMBOL)) (multifield rhs (type SYMBOL)) )
;; Нам понадобится индекс в рабочей памяти, чтобы
;; можно было присваивать идентификаторы новым
;; производным высказываниям, (deftemplate index
(field no (type INTEGER)) )
;; Исходная модель мира. (deffacts model
- (conditional (id 0) (Ihs P) (rhs Q); (literal (id 1) (atom P)) )
;; ПРАВИЛА
;; Присвоить значение индекса очередному идентификатору,
- (defrule init ?F <- (initial-fact) (literal (id? n)) (not (literal (id? m&;:{> ?M? N)))) => (assert (index (no (+ ?N 1)))) (retract? F) )
;; Применить правило modus ponens, чтобы можно было
;; вывести "Q" из "Р" и "Р имплицирует Q", формируя
;; указатели на "Р" и "Р имплицирует Q" в попе
;; support литерала "Q". (defrule mp? I <- (index (no? N))
- (conditional (id? C) (Ihs $?X) (rhs $?Y)) (literal (id? A) (atom $?X)) (not (literal (atom $?Y))) (assert (literal (id? N) (atom $?Y) (support? C?A))) (modify? I (no (+ ?N 1)))
Эта примитивная программа имеет дело только с условными выражениями и атомами. Например, нельзя, используя правило modus fallens (см. главу 8), вывести "не Р" из "Р имплицирует Q" и "не Q".
Похожие статьи
-
Пересмотр теорий высказываний - Система отслеживания истинности предположений
Систему отслеживания истинности предположений, разработанную Мак-Аллестером [McAllester, 1980], нельзя отнести к самым первым, но ее, пожалуй, лучше...
-
Функции компонента отслеживания истинности предположений в контексте более общей программы поиска решения проблемы можно сформулировать следующим...
-
Параболическая зависимость - Составление программы для решения системы уравнений
Если в многочлене F (x)= B 0 X M + B 1 X M-1 +.....+ B M-1 X + B M m=2 Тогда, это многочлен называется параболической зависимости. Установим вид...
-
Значение параметра для State, Статуса Выполнения, Команды, метода и свойства метода упомянуты ниже для быстрой ссылки. Таблица 47.1 PUSH блок Функция...
-
Очень часто используются системы IDS, которые встроены в прокси-серверы и брандмауэры (например, в тот же самый Kerio WinRoute Firewall или Microsoft ISA...
-
Кроме поддержки интерпретатора порождающих правил, описанного в главе 5, CLIPS обладает следующими функциональными возможностями: - для определения...
-
Программа COSMOSWorks - Система твердотельного моделирования SolidWorks
Адаптивный анализ сборок H-адаптивный способ детализацию сетки теперь поддерживает сборки. В прошлых версиях поддерживались только детали....
-
Линейная зависимость - Составление программы для решения системы уравнений
Рассмотрим подробнее аппроксимирующие зависимости Y(x)=f(x, B 0 ,B 1,..., B N ) с двумя параметрами: Y(x)=f(x, B 0 ,B 1 ) Используя соотношения (1) и...
-
Запросы на выборку - Банки и базы данных. Системы управления базами данных
Запросы используются для получения пользователем информации, содержащейся в БД, в удобном для него виде. Результат запроса отображается для пользователя...
-
Процесс перезагрузки может быть достигнут путем прекращения работы системы, выключения питания и включения снова. Более простой способ - это указать...
-
Подсистема приобретения знаний, База знаний - Экспертные системы
Подсистема приобретения знаний предназначена для добавления в базу знаний новых правил и модификации имеющихся. В ее задачу входит приведение правила к...
-
Нахождение ожидаемых доходов в центральной системе Рассмотрим замкнутую сеть массового обслуживания с разнотипными заявками, которая является...
-
Как в существующем Experion PKS блоки модуля ввода - вывода, данные контроля (управления) не сделаны доступными через блок модуля. Вместо этого, блоки...
-
На основе описания методов можно с уверенностью сказать, что данная система может успешно справляться с автоматизацией анализа документации. При этом...
-
Система IP-адресации. - Использование компьютерных сетей
Для организации всемирной сети нужна хорошая система адресации, которая будет использоваться для направления информации всем адресатам. Союз Internet...
-
Доставочные агенты., Адресация в системе электронной почты - Использование компьютерных сетей
Программы, которые принимают почту от транспортного агента и доставляют ее соответствующим пользователям. Почта может доставляться конкретному лицу, в...
-
Из универсальных языков программирования сегодня наиболее популярны следующие: Бейсик (Basic), Паскаль (Pascal), Си++ (C++), Ява (Java). Для каждого из...
-
Классификация компьютерных сетей - Теоретические основы информационных процессов и систем
Для классификации компьютерных сетей используются разные признаки, выбор которых заключается в том, чтобы выделить из существующего многообразия такие,...
-
Для анализа производственных систем, которые очень сложны, разноплановы, не имеют исчерпывающего математического описания, а также проходят ряд этапов...
-
По Р. Шеннону (Robert E . Shannon - профессор университета в Хантсвилле, штат Алабама, США ), "имитационное моделирование - Есть процесс конструирования...
-
Запуск Snort - Инструменты безопасности с открытым исходным кодом. Системы обнаружения вторжений
Snort запускается из командной строки. Его можно выполнять в трех различных режимах: анализа, протоколирования и обнаружения вторжений. Последний режим...
-
Вместо применения статических сигнатур, с помощью которых можно выявлять только явно вредоносную деятельность, системы нового поколения отслеживают...
-
Блок AUXCALC, Блок PID - Библиотека функциональных модулей системы EXP PKS
Блок AUXCALC (вспомогательных вычислений) позволяет записать до восьми выражений для вычисления значения PV. Каждое выражение может исполнять...
-
Введение - Проблемы конструирования устойчивой системы автоматического управления
Теория автоматического управления - молодая наука, оформившаяся в самостоятельную общенаучную дисциплину в начале XX века. Истоки ее инженерных методов...
-
Создадим структурную схему САУ при помощи пакета Simulink. На рисунке представлена разомкнутая система. Рис. 2 Далее, следуя методическим указаниям,...
-
Под критическим значением параметра регулятора (K или Т) понимается такое значение (Ккр или Ткр), при котором система оказывается на границе...
-
Проблема управляемости - это ликвидация начального рассогласования [4]. Рассматривается это понятие через программное управление (поиск управления как...
-
При формулировании задачи в одном из пространств возникает необходимость перехода к тождественной постановки в другом. К сожалению, не всегда...
-
Ввиду неточности определений характеристик управляемого объекта, неполноты его описания, наличия возмущений различного рода, деградаций самой элементной...
-
Система отслеживания ошибок (англ. bug tracking system) - прикладная программа, разработанная с целью помочь разработчикам программного обеспечения...
-
Применение IE вне системы Web, Электронная почта - Microsoft Internet Explorer 3.0
Хотя система Web более известна своими гипертекстами, она также обеспечивает простой доступ к другим услугам Internet. Например, с помощью Web можно...
-
Физическая модель базы данных определяет способ размещения данных в среде хранения и способ доступа к этим данным, которые поддерживаются на физическом...
-
Чтобы начать редактировать содержимое ячейки, нужно сначала промаркировать эту ячейку. На следующем шаге необходимо включить режим редактирования, нажав...
-
Табличный процессор Excel фирмы Microsoft предназначен для ввода, хранения, обработки и выдачи больших объемов, данных в виде, удобном для анализа и...
-
Описание Блок TYPECONVERT входит в СЕЕ предоставляет возможность преобразования данных одного типа в другой для соединения параметров разных типов. Он...
-
Осуществить компоновку элементов схемы можно как вручную, так и автоматически. Для запуска автоматического позиционирования элементов необходимо...
-
Сценарии и примеры, Сценарии, Примеры - Библиотека функциональных модулей системы EXP PKS
Сценарии и примеры обеспечены в следующих секциях, чтобы объяснить конфигурацию таблиц и псевдонима и поведение во время выполнения динамической...
-
Системы обмена мгновенными сообщениями (ICQ) - Компьютерные вирусы
Тут также действует золотое правило - не открывайте завлекающих ссылок от неизвестных контактов. Веб-страницы На некоторых Интернет-страницах может...
-
Программное обеспечение и его виды - Программное обеспечение информационных компьютерных систем
Windows программный компьютер операционный Программное обеспечение (software) - это набор команд, управляющих работой компьютера. Без программного...
-
Описание Блок AICHANNEL является блоком аналогового входа, он позволяет записать до восьми выражений для вычисления. Каждое выражение может выполнять...
Отслеживание зависимостей - Система отслеживания истинности предположений