Студопедия — Выполнение отката
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Выполнение отката






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

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

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

Правило undirected-falsity выполняет необходимые для этого подготовительные операции. Смысл слова undirected (ненаправленный) состоит в том, что это правило реализует откат в "хронологическом" порядке создания "миров". В механизме разрешения конфликтов в CLIPS реализовано "хронологическое предпочтение", которое обеспечивает откат к последнему из ранее сформированных "миров", удовлетворяющих заданным условиям. Но при этом не предпринимается никакой попытки локализовать в процессе выбор точки, которая стала причиной конфликта, например выбрать именно тот "мир", с которым конфликтует текущий.

;; Хронологический откат к тому "миру", который был

;; покинут без выполнения анализа в предположении

;; о лживости (поле scope содержит значение truth,

;; а поле task - значение check),

(defrule undirected-falsity

(world (tag?N) (scope falsity) (task contra))

?W <- (world (tag,?M&:(<?M?N)) (scope truth) (task check))

=>

(modify?W (task back)))

Альтернативный сценарий используется в ситуации, когда в ранее покинутом "мире" не были проанализированы все дизъюнкты составного утверждения. "Мир" был покинут, когда обнаружилось, что проанализированный дизъюнкт не противоречит предположению, поэтому прочие дизъюнкты просто не рассматривались. Теперь, когда обнаружилось противоречие с другим "миром", можно вновь вернуться к ранее незавершенному анализу и попробовать, не разрешится ли конфликт в результате исследования другого дизъюнкта.

Приведенное ниже правило undirected-disjunct выполняет подготовку к такому откату в хронологическом порядке.

;; Хронологический откат к тому "миру", который был

;; покинут без завершения анализа дизъюнктов,

(defrule undirected-disjunct

world (tag?N) (scope falsity) (task contra))

V <- (world (tag?M&:(<?M?N))

(task check) (context 1))

claim (content OR?P?X?Q?Y) (reason?M)

(scope?S)) =>

;; Дизъюнкт в ранее покинутом "мире", анализ которого

;; не был выполнен.

assert (claim (content?Q?Y) (reason?M) (scope?S)

(context 2)))

;; Зафиксировать необходимость отката в этот "мир".

modify?V (task back)))

Хронологический откат является не единственной операцией такого рода. Ниже представлены "направленные" (directed) версии соответствующих правил, в которых используется информация о том, в каком именно "мире" имеется утверждение, ставшее причиной конфликта с текущим "миром". Эта информация содержится в слоте prior текущего объекта world.

Если обнаружено противоречие между объектами world M и N и объект М создан ранее объекта N, причем анализ М в предположении о лживости соответствующего высказывания не был выполнен, ТО вернуться к анализу объекта М.

(defrule directed-falsity

(world (tag?N) (scope falsity)

(task contra) (prior?M&"0))

?W <- (world (tag?M) (scope truth) (task check))

=>

(modify?W (task back)))

;; Если обнаружено противоречие между

;; объектами world М и N

;; и объект М создан ранее объекта N, причем

;; не был выполнен анализ всех дизъюнктов в М,

;; ТО вернуться к анализу объекта М.

(defrule directed-disjunct

(world (tag?N) (scope falsity)

(task contra) (prior?MS~0))

?V <- (world (tag?M) (task check) (context 1))

(claim (content OR?P?X?Q?Y) (reason?M)

(scope?S)) =>

;; Дизъюнкт в ранее покинутом "мире", анализ которого

;; не был выполнен.

(assert (claim (content?Q?Y) (reason?M)

(scope?S) (context 2)))

;; Зафиксировать необходимость отката в этот "мир".

(modify?V (task back)))

Если вы думаете, что эти два правила позволяют справиться со всеми возможными ситуациями, в которых может возникнуть необходимость выполнить откат, то вы ошибаетесь. "Миры" W и V могут конфликтовать, хотя в обоих проанализированы все варианты предположений и все дизъюнкты. А источник конфликта при этом находится в некотором третьем "мире", в котором не был завершен анализ предположений или дизъюнктов (см. пример 4).







Дата добавления: 2015-08-30; просмотров: 286. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Почему важны муниципальные выборы? Туристическая фирма оставляет за собой право, в случае причин непреодолимого характера, вносить некоторые изменения в программу тура без уменьшения общего объема и качества услуг, в том числе предоставлять замену отеля на равнозначный...

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

Виды и жанры театрализованных представлений   Проживание бронируется и оплачивается слушателями самостоятельно...

Методика обучения письму и письменной речи на иностранном языке в средней школе. Различают письмо и письменную речь. Письмо – объект овладения графической и орфографической системами иностранного языка для фиксации языкового и речевого материала...

Классификация холодных блюд и закусок. Урок №2 Тема: Холодные блюда и закуски. Значение холодных блюд и закусок. Классификация холодных блюд и закусок. Кулинарная обработка продуктов...

ТЕРМОДИНАМИКА БИОЛОГИЧЕСКИХ СИСТЕМ. 1. Особенности термодинамического метода изучения биологических систем. Основные понятия термодинамики. Термодинамикой называется раздел физики...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия