4.2.4.1 Стратегия предпочтения одночленов

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

4.2.4.2 Факторизация

Размер предложений по длине можно уменьшить, используя подстановки, так что некоторые литералы в предложении становятся одинаковыми. Эта операция называется факторизацией. Например:

C = {A(x, f(k)), A(b, y), A(a, f(x)), A(x, z)}

можно факторизовать подстановкой:

 

q =(b/x, f(k)/y, f(b)/z).

Тогда получим:

Cq = {A(b, f(k)), A(a, f(b)), A(b, f(b))}.

 

Cq называется факториалом предложения C. Фактор предложения не обязательно единственный. Другой фактор:

 

p = (a/x, f(k)/y, f(a)/z),

Cp = {A(a, f(k)), A(b, f(k)), A(a, f(a)}.

 

4.2.4.3 Использование подслучаев

Для любой пары предложений C, D Î S предложение C называется подслучаем предложения D, если существует такая подстановка p, что Cp Í D. Например:

 

C = {A(x)},

D = {A(b), P(x)},

то подстановка

 

p = (b/x)

приведет к

 

Cp = {A(b)}.

то означает сокращение литералов.

4.2.4.4 Гиперрезолюция

Можно делать так, чтобы в резолюции участвовали сразу по несколько предложений. Это называется гиперрезолюцией. Предположим, что для конечного множества предложений {C1, …, Cn} и единственного предложения B удовлетворяются следующие условия:

1.   B содержит n литералов L1, …, Ln.

2.   Для каждого i, 1£ i £ n, предложение Ci, содержит литерал , но не содержит дополнений никакого другого литерала из B и никакого литерала из любого предложения Cj, j ¹ i.

Множество Sa = {Ci} È {B} будем называть конфликтом, а предложение:

его гиперрезольвентой. Ra можно вывести из Sa.

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

В качестве примера гиперрезолюции рассмотрим множества:

Подстановка p=(a/x, b/y) дает

Sap - конфликт с резольвентой , и Sa – скрытый конфликт.

4.2.4.5С – упорядочение

С – упорядочение предполагает линейность, так как при его определении различаются левое и правое родительские предложения. Пусть С – предложение из S. Обозначим через [C] предложение C с заданным на нем произвольным порядком литералов, а через [S] – множество таких упорядоченных предложений. Если предложение [C] порождается в линейном выводе  то пусть [Ci-1] и [Bi-1] будут его левым и правым предложениями с литералами предложения Ci-1, расположенными в порядке  (где  т.е. самый правый литерал левого родительского выражения является литералом резолюции), и с литералами предложения Bi-1 в порядке . Ясно, что для  некоторого i (i =1¸m). Тогда упорядоченное предложение Ci таково:

т.е. литералы правого родительского предложения добавляются к литералам левого, при этом литералы резолюции, естественно, опускаются, а в случае повторения литералов сохраняются те, что расположены слева. Резолюция допускается только с самым правым литералом предложения Ci.

Пример:

 


 

 

 
Компьютерный практикум

Реализовать алгоритм C – упорядочивания.


Информация о работе «Логическое и функциональное программирование»
Раздел: Информатика, программирование
Количество знаков с пробелами: 119487
Количество таблиц: 12
Количество изображений: 22

Похожие работы

Скачать
71422
1
0

... программирование [application programming] — разработка и отладка программ для конечных пользователей, например бухгалтерских, обработки текстов и т. п.   Системное программирование [system programming] — разработка средств общего программного обеспечения, в том числе операционных систем, вспомогательных программ, пакетов программ общесистемного назначения, например: автоматизированных систем ...

Скачать
60551
0
0

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

Скачать
110612
10
19

... набор процедур и функций языков программирования Basic и Pascal, позволяют управлять графическим режимом работы экрана, создавать разнооборазные графические изображения и выводить на экран текстовые надписи. ГЛАВА 2. ГРАФИЧЕСКИЕ ВОЗМОЖНОСТИ ЯЗЫКА ПРОГРАММИРОВАНИЯ В КУРСЕ ИНФОРМАТИКИ БАЗОВОЙ ШКОЛЫ (НА ПРИМЕРЕ BASIC И PASCAL)   2.1 Разработка мультимедиа курса «Графические возможности языков ...

Скачать
11287
1
10

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

0 комментариев


Наверх