Формулы, которые определяют условия выполнения действий. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Формулы, которые определяют условия выполнения действий.



Ø на Ú Ø свободен Ú переместить , Стол ,

Ø на , Стол Ú свободен Ú свободен Ú

Ú переместить .

Формулы, определяющие условия переходов состояний среды:

Ø на Ú Ø свободен Ú переместить , Стол Ú

Ú на , Стол ,

Ø на Ú свободен Ú переместить , Стол Ú

Ú свободен ,

Ø на Ú Ø свободен Ú Ø свободен Ú

Ú Ø переместить Ú на ,

Ø на Ú Ø свободен Ú Ø свободен Ú

Ú переместить Ú свободен .

Целевая формула. Целевая формула в соответствии с рис. 11.1 является конъюнкцией литералов и при прямом выводе, как и в случае использования обобщенного правила модус поненс, будет выводится для каждого литерала, входящего в её состав, раздельно

на (A,B) Ù на (B, Стол) Ù на (С, Стол) Ù на (D, Стол).

Вывод. Используя унифицированные клаузы (11.1), (13.1), которые после унификации првращаются в клаузы (13.8), (13.9) получаем резольвенту (13.10):

на (A,С),

Ø на (A,С) Ú Ø свободен (A) Ú переместить (A, Стол),

Ø свободен (A) Ú переместить (A, Стол).

Используя клаузы (11.3), (13.10), получаем резольвенту

переместить (A, Стол).

Используя эту резольвенту и унифицированную клаузу (13.4), которая после унификации превратилась в клаузу (13.12), получаем резольвенту (13.13):

Ø на (A,y) Ú Ø свободен (A) Ú переместить (A, Стол) Ú

Ø свободен (y),

Ø на (A,y) Ú Ø свободен (A) Ú Ø свободен (y).

Затем, используя клаузы (11.1), (11.3) и унифицированный резольвент (13.13), получаем резольвенту

свободен (C).

Аналогично можем получить следующие резольвенты:

на (A, Стол),

переместить (D, Стол),

свободен (B),

на (D, Стол).

Итак, кубики A и D могут быть перемещены на стол, в результате чего кубики B и C окажутся свободными. После этого, используя клаузы (11.5), (11.6), (13.15) и клаузу (13.2), которая после унификации превращается в клаузу (13.19), получаем резольвенту (13.20)

Ø на (A, Стол) Ú Ø свободен (A) Ú Ø свободен (B) Ú

Ú переместить (A, B),

переместить (A, B).

Наконец, воспользовавшись клаузами (11.5), (11.6), (13.15), (13.20) и клаузой (13.5), которая после унификации превращается в клаузу (13.21), получим резольвенту (13.22):

Ø на (A, Стол) Ú Ø свободен (A) Ú Ø свободен (B) Ú

Ú переместить (A, B) Ú на (A, B),

на (A, B).

Таким образом, снова имеем истинные атомы на (A, B), на (B, Стол), на (D, Стол). Согласно правилу введения конъюнкции, вновь делаем заключение об истинности целевой формулы

на (A,B) Ù на (B, Стол) Ù на (С, Стол) Ù на (D, Стол).

На этом прямой вывод с использованием обобщенного правила резолюции завершён.

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

Как уже отмечалось, Робинсон предложил использовать обобщенную резолюцию для создания стратегии вывода, в основе которой лежит опровержение, или доведение до противоречия. Идея этой стратегии вывода состоит в следующем. Предположим необходимо вывести истинность целевой формулы . делается опровержение этой формулы, т.е. предполагается истинным её отрицание . Эта формула, которая является отрицанием целевой, заносится в базу знаний. После этого, если, начиная обратный вывод с формулы , удастся установить противоречие, т.е. вывести пару литералов и , то считается, что сделанное предположение об истинности отрицания целевой формулы ошибочно (опровергнуто) и делается заключение об истинности целевой формулы . Если в результате рассмотрения всех возможных путей вывода такого противоречия установить не удаётся, то считается, что целевая формула является ложной.

Рассмотрим стратегию обратного вывода на основе опровержения для примера с кубиками.

Обратный вывод на основе опровержения и обобщенной резолюции. Как уже отмечалось, вывод истинности целевой формулы может лсуществляться по очереди литерал за литералом. Поэтому рассмотрим его только для одно литерала на (A,B) целевой формулы (13.7). Опровержение литерала на (A,B) является литерал Ø на (A,B). Обратный вывод начинается именно с этого литерала. для того чтобы можно было детально проследить процесс вывода, будем записывать на каждом шаге вывода с помощью обобщенной резолюции три формулы – две исходные и резольвенту, нумеруя по ходу вывода получаемые резольвенты, а также указывая для каждого шага используемые подстановки и подчёркивая те литералы, которые в резольвенту не попадают:

Ø на ( A,B );

Ø на (A, Стол) Ú Ø свободен (A) Ú Ø свободен (B) Ú

Ú переместить (A, B) Ú на ( A, B );

Ø на (A, Стол) Ú Ø свободен (A) Ú Ø свободен (B) Ú

Ú переместить (A, B);

Ø на (A, Стол) Ú Ø свободен (A) Ú Ø свободен (B) Ú

Ú Ø переместить ( A, B );

Ø на (A, Стол) Ú Ø свободен (A) Ú Ø свободен (B) Ú

Ú переместить (A, B);

Ø на (A, Стол) Ú Ø свободен (A) Ú Ø свободен (B);

Ø на (A, Стол) Ú Ø свободен ( A ) Ú Ø свободен (B);

свободен ( A );

на (A, Стол) Ú Ø свободен ( B );

Ø на ( A, Стол) Ú Ø свободен (B);

Ø на (A, y) Ú Ø свободен (A) Ú переместить (A, Стол) Ú

Ú на ( A, Стол);

Ø на (A, y) Ú Ø свободен (A) Ú переместить (A, Стол) Ú

Ú Ø свободен (B);

Ø на (A, y) Ú Ø свободен ( A ) Ú переместить (A, Стол) Ú

Ú Ø свободен (B);

свободен ( A );

Ø на (A, y) Ú Ø переместить (A, Стол) Ú Ø свободен (B);

Ø на (D,B) Ú Ø свободен (D) Ø переместить ( D, Стол) Ú

Ú Ø свободен (B);

Ø на (D,B) Ú Ø свободен (D) переместить ( D, Стол);

Ø на (D,B) Ú Ø свободен (D) Ú свободен (B);

Ø на (D,B) Ú Ø свободен ( D ) Ú свободен (B);

свободен ( D );

Ø на (D,B) Ú свободен (B);

Ø на (D,B) Ú свободен (B);

Ø на (D,B);

свободен (B);

свободен (B);

Ø свободен (B);

Nil.

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

Исключение импликаций. Из логики высказываний известно, что . Поэтому на первом шаге с помощью этой формулы исключаем все импликации.

Перемещение знака отрицания (Ø) непосредственно к атомам. В клаузах отрицание допустимо только перед атомами. Поэтому используя перечисленные ниже законы Де Моргана, эквивалентности кванторов и двойного отрицания, перемещаем знак отрицания непосредственно к атомам:

,

,

,

,

.

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

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

Сколемизация. Сколемизацией называется специфический приём удаления кванторов существования. В простейшем случае – это замена формулы на формулу , где является константой, которая ранее не встречалась. В общем случае, когда переменная, которая связывается квантором существования. встречается в каком-либо литерале вместе с переменными, связанными квантором общности, приходится, чтобы избавиться от квантора общности, вводить специальную функцию, которая зависит от переменных, связанных квантором обшности, вместо переменной, связанной квантром существования.

Так, если имеем формулу

,

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

.

Распределение конъюнкций относительной дизъюнкций. Это распределение осуществляется на основе использования дистрибутивного закона

.

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


АВТОМАТ И СРЕДА

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

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

Описанию различных стратегий поиска будет посвящен соответствующий материал далее. Сложность поиска зависит как от объёма описания знаний о среде на том или ином языке, так и от стратегии поиска. Если описание избыточно, то часть времени поиска может расходоваться впустую на анлиз избыточной информации. Ниже будет показано также, как может быть сокращен объём описания на языке в задачах поиска целевых состояний.

Конечным инициальным детерминированным автоматом называют объект, который определяется следующими шестьюми понятиями.

Входной алфавит

Внутренний алфавит (множество состояний автомата)

Выходной алфавит

Функция перехода : , записываемая так же, как

, где .

Функция выходов : , записываемая так же, как

, где .

Начальное состояние . Обычно будем полагать, что .

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

Таким образом, автомат перерабатывает последовательность в последовательности , , где , , . Если на автомат была подана последовательность , то он перейдет в состояние и т.д. Если на него была подана последовательность , то он перейдёт в состояние . Говорят при этом, что последовательность ведёт в состояние из начального состояния . Произвольную последовательность во входном алфавите обозначим . Если она ведёт в некотрое состояние из некоторого состояния , то этот факт записывается так: .

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


 

ЯЗЫК И АВТОМАТ

Множество (алфавит) назовём множеством допустимых действий произвольная, конечная или бесконечная последовательность допустимых действий (входная последовательность) в алфавите множестов всех последовательностей , пустое действие, , функция на множестве , которая ставит в соответствие последовательностям элементы множества , где символ неопределенного значения, т.е. или . Обозначим множество допустимых последовательностей действий агента, включая последовательность из одного пустого действия . множество последовательностей таких, что , ; . очевидно, что .

Иначе говоря, множестов последовательностей таково, что оно состоит только из допустимых последовательностей действий и каждая такая последовательность ведёт в какое-либо состояние среды. Множество получается из множества приписыванием к концу каждой последовательности элемента множества (выходного символа), и наоборот, множество получается из множества удалением у каждой последовательности этого множества последнего символа. Получаемое таким образом множество по множеству обозначается .

Языком называют множество последовательностей символов в каком-либо алфавите. Множества являются множествами последовательностей символов и, следовательн, каждое из них можно считать языком. Говорят, что язык (множество последовательностей действий) реализуется инициальным автоматом, если любая последовательность действий , такая, что ведёт из начального состояния в какое-либо состояние этого автомата и . О входной последовательности , которая ведёт в состояние , при этом также говорят, что она реализуется в данном автомате. Классический вопрос, давно решенный в теории автоматов, - какие языки можно реализовать в автоматах? (Напомним, что речь пока идёт об инициальных детерминированных конечных автоматах.) Ответ на вопрос состоит в следующем. Если множество удовлетворяет условиям полноты, непротиворечивости и регулярности, то можно построить автомат, реализующий множество (язык ). Сформулируем условия полноты, непротиворечивости и регулярности для множества .

Условия полноты. Для всякой последовательности всякое её начало также принадлежит .

Условия непротиворечивости. Не существует ни одной пары последовательностей , , таких, что и .

Условия регулярности. Любая последовательность может быть получена из пустой последовательности только в результате последовательного приписывания справа (конкатенации) конечных или бесконечных циклических последовательностей в алфавите .

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

Отношение . , если и для всех , таких, что , .

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

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

Свойство однозначной продолжаемости. Для всякого действия и всякого класса эквивалентности , , существует единственный класс , , такой, что и , где множество всех входных последовательностей , таких, что последовательность .

Свойство связности. Для любого класса , , существует хотя бы одна последовательность действий , такая, что , , , .

Свойство недоопределенности. Если множество допустимых последовательностей не совпадает с множеством выходных последовательностей , т.е. , то существует единственный класс эквивалентности , , все последовательности которого не принадлежат множеству , т.е. . Для определенности будем считать, что этот единственный класс последовательностей есть . Из этого свойства также следует, что пересечение класса с множеством пусто , а все остальные классы , , включаются в множество Построение автомата (обозначим его ), реализующего язык , может быть осуществлено следующим образом. Классы эквивалентности отношения объявляются соответственно состояниями автомата . Если , то состояние переходит , т.е. если , то , где функция переходов. Функция переходов однозначна вследствие свойства однозначной продолжаемости. Функцией выходов автомата является функция , где . Функция выходов автомата однозначна вследствие условия непротиворечивости. Начальным состоянием автомата является состояние , соответствующее классу эквивалентности , который содержит пустую последовательность . Вследствие свойства связности автомат будет связным. Таким образом, автомат имеет состояние, каждое из которых соответствует классу , то это означает, что для любой последовательности , имеет место и этот класс единственный. Автомат , который реализует язык , отличается от автомата отсутствием в нём состояния и соответственно переходов в него. Множество состояний автомата обозначим , а автомата .

Пример сокращения числа состояний. Пусть задано следующее множество простым перечислением последовательностей , , ; .

Тогда, согласно определению,

.



Поделиться:


Последнее изменение этой страницы: 2017-02-21; просмотров: 465; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.0.25 (0.266 с.)