рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Метод резолюций

Метод резолюций - раздел Философия, Глава 1. Основы теории множеств   Логическое Программирование Является, Пожалуй, Наиболее Впеча...

 

Логическое программирование является, пожалуй, наиболее впечатляющим примером применения идей и методов математической логики (точнее, одного из ее разделов - теории логического вывода) в программировании.

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

Первые компьютерные реализации систем автоматического доказательства теорем появились в конце 50-х годов, а в 1965г. Робинсон предложил свой метод резолюций, который и по сей день лежит в основе большинства систем поиска логического вывода.

Робинсон пришел к заключению, что правила вывода, которые следует применять при автоматизации процесса доказательства с помощью компьютера, не обязательно должны совпадать с правилами вывода, используемыми человеком. Он обнаружил, что общепринятые правила вывода, например, правило modus ponens, специально сделаны “слабыми”, чтобы человек мог интуитивно проследить за каждым шагом процедуры доказательства. Правило резолюции более сильное, оно трудно поддается восприятию человеком, но эффективно реализуется на компьютере.

Вскоре метод резолюций был использован в качестве основы нового языка программирования. Так в 1972 году родился язык Пролог (“ПРОграммирование в терминах ЛОГики”), быстро завоевавший популярность во всем мире.

Сформулируем сначала правило резолюций в рамках исчисления высказываний. Пусть A, B и X - формулы. Предположим, что две формулы AÚX и BÚØX - истинны. Если X тоже истина, то отсюда можно заключить, что B истинна. Наоборот, если X ложна, то можно заключить, что A истинна. В обоих случаях формула AÚB истина. Это логическое следствие мы можем записать в виде правила

AÚX, BÚØX |= AÚB,

которое можно записать также в виде

ØXÉA, XÉB |= AÚB.

В том частном случае, когда X - высказывание, а A и B - элементарные дизъюнкции, то это правило называется правилом резолюций. Сравним это правило с уже известными нам:

цепное правило: ØA É X, X É B |= ØA É B,

модус поненс: X, XÉB |= B.

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

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

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

1. Приводим все посылки и отрицание заключения, принятое в качестве дополнительной посылки, к конъюнктивной нормальной форме:

а) устраняем символы É и ~ с помощью эквивалентностей

A~B = (AÉB)& (BÉA),

AÉB = ØAÚB;

б) продвигаем отрицания внутрь с помощью закона де Моргана;

в) применяем дистрибутивность AÚ (B&C) = (AÚB)& (AÚC).

2. Теперь каждая посылка превратилась в конъюнкцию элементарных дизъюнктов (будем их в дальнейшем называть просто дизъюнктами), может быть, одночленную. Выписываем каждый дизъюнкт с новой строки; все дизъюнкты истинны, так как конъюнкция истинна по предположению.

3. Каждый дизъюнкт - это дизъюнкция (возможно, одночленная), состоящая из переменных и отрицаний переменных. Именно к ним применим метод резолюций. Берем любые два дизъюнкта, содержащие одну и ту же переменную, но с противоположными знаками, например,

XÚYÚZÚØP,

XÚPÚW.

Применяем правило резолюции и получаем XÚYÚZÚW.

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

В качестве примера рассмотрим доказательство соотношения

PÚQ,PÉR,QÉS |= RÚS.

Приводим посылки к нормальной форме и выписываем их на отдельных строках.

 

PÚQ (1)
ØPÚR (2)
ØQÚS (3)

 

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

Ø(RÚS) º ØR&ØS

 

ØR (4)
ØS (5)

 

Выводим пустой дизъюнкт с помощью резолюции.

 

ØP из (2) и (4) (6)
Q из (1) и (6) (7)
ØQ из (3) и (5) (8)
пустой из (7) и (8)  

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

Точнее, пусть нам дано множество функциональных символов f1, f2, f3,..., каждый функциональный символ имеет вполне определенную местность, т.е. требует определенное количество аргументов.

Множество термов - это наименьшее подмножество языка логики предикатов, удовлетворяющее двум условиям:

а) переменные и константы суть (атомарные) термы;

в) если fi - функциональный символ местности r, а t1, t2, ..., tr - термы, то fi(t1, t2, ..., tr) - терм.

Мы будем называть формулу атомарной, если она выражается каким-то n-местным предикатом, аргументами которого служат термы. Используя атомарные формулы как первоначальные, понятие формулы общего вида определяем как в 4.1.

Фразовая форма логики предикатов - это способ записи формул, при котором употребляются только связки &, Ú и Ø. Литерал - это позитивная или негативная атомарная формула. Каждая фраза (или клауза) - это множество литералов, соединенных символом Ú. Фразу можно рассматривать как обобщение понятия импликации. Если A и B - атомарные формулы, то формула

AÉB
может также быть записана как

B Ú ØA.
Простейшая фраза содержит только один литерал, позитивный или негативный.

Фраза с одним позитивным литералом называется фразой (или клаузой) Хорна. Любая фраза Хорна представляет импликацию: так, например,

D Ú ØF Ú ØE равносильно (F&E) É D.

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

P(a) Ú ØQ(b,d), (1)
Q(b,d) Ú ØR(b,d). (2)

Поскольку во фразе (1) содержится негативный литерал ØQ(b,d), а во фразе (2) - соответствующий позитивный литерал Q(b,d) и аргументы обоих литералов могут быть унифицированы (т.е. b унифицируется с b, а d унифицируется с d), то фраза (1) может быть резольвирована с фразой (2). В результате этого получается фраза (3), которая называется резольвентой:

P(a) Ú ØR(b,d). (3)

Фразы (4) и (5) не резольвируются друг с другом, так как аргументы литералов Q не поддаются унификации:

P(a) Ú ØQ(b,d), (4)
Q(d,d) Ú ØR(b,d). (5)

Унификация переменных. Во фразовой форме не употребляется явная квантификация переменных. Неявно, однако, все переменные квантифицированы кванторами всеобщности. Так, во фразе Q(x,y)ÚØR(x,y) подразумевается наличие кванторов:

"x"y (Q(x,y)ÚØR(x,y)).

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

P(a) Ú ØQ(a,b), (6)
Q(x,y) Ú R(x,y) (7)

резольвируемы, поскольку аргументы литерала Q унифицируются. При этом переменная x унифицируется с константой a, а переменная y - с константой b. Обратите внимание, что во фразе (8), т.е. в резоль­венте

P(a) Ú ØR(a,b), (8)

переменные, служившие аргументами R во фразе (7), теперь заменены константами.

 

Следующий рекурсивный алгоритм выясняет унифицируемы ли два терма S и T.

1. Если S и T - константы, то S и T - унифицируемы т. и т. т., когда они являются одним и тем же объектом.

2. Если S - переменная, а T - произвольный терм, то они унифицируемы и S приписывается значение T. Наоборот, если T - переменная, а S - произвольный терм, то T получает в качестве значения S.

3. Если S и T - не атомарные термы, то они унифицируемы т. и т. т., когда а) S и T имеют одинаковый главный функциональный символ и б) все их соответствующие компоненты (подтермы) унифицируемы.

Результирующая конкретизация определяется унификацией компонент.

– Конец работы –

Эта тема принадлежит разделу:

Глава 1. Основы теории множеств

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

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Метод резолюций

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Начальные понятия теории множеств
  Понятие множества является основным, неопределяемым понятием, поэтому мы можем его только пояснить, например, с помощью следующего псевдоопределения. Определение:

Интуитивный принцип объемности
Определение. Множества Aи B считаются равными, если они состоят из одних и тех же элементов. Записывают A=B, если A и B равны, и A

Отношения
Определение. Упорядоченная пара <x, y> интуитивно определяется как совокупность, состоящая из двух элементов x и y, расположенных в определенном порядке. Две пары <

Функции
Определим понятие "функция", следуя Дирихле. По сути дела при таком определении мы отождествляем функци

Эквивалентность
  Одним из самых важных типов отношений является отношение эквивалентности на множестве. Определение. Рефлексивное, симметричное и транзитивное отношение r н

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

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

Логические связки
  Грамматическими средствами в разговорном языке из нескольких высказываний можно составить сложное (составное) высказывание. Например, с помощью союзов "и", "или"

Формулы логики высказываний
  Мы определим формальный язык для описания логики высказываний. Это описание чисто синтаксическое и оно не требует, чтобы формулы логики высказывания имели какую-то семантику (смысл)

Равносильность формул
  Пусть A и B - две формулы и {X1, X2,…, Xn} - множество всех выск

Определение.
· Формула называется выполнимой, если на некотором наборе распределения истинностных значений переменных она принимает значение И. · Формула называется тождественно-ложной ил

Нормальные формы формул
  Содержание этого параграфа изложим, следуя [24]. Будем рассматривать формулы, содержащие только логические операции &, Ú, Ø. Символы & и Ú назы

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

Абстрактное определение булевых алгебр
  Определение.Множество элементов B с заданным на нем двуместными операциями &Ugra

Модель исчисления высказываний
Пусть B - множество высказываний с обычными логическими операциями конъюнкции, дизъюнкции и отрицания и равенство высказываний интерпретируется как их равносильность. Во второй главе показ

Булевы функции. Теорема о нормальной булевой форме
  Рассмотрим еще одну модель булевой алгебры. Определение. Пусть M - произвольная булева алгебра с базисными операциями Ù, Ú, Ø. Рассмот

Определение.
Если булева алгебра M - двухэлементна (т. е. содержит только Ë и Î), то булевы функции называются двоичными функциями. Если в двухэлементной булевой алгебре элементы &Eum

Полные системы булевых функций
  Определение.Система функций {f1, f2,…, fn} называется полной, если любая булева функция может быть выражена через функции f

Переключательные элементы
Пусть имеется "черный ящик" - некоторое устройство, внутренняя структура которого нас не интересует, а известно лишь, что оно имеет n упорядоченных "входов" (например, занумеров

Формулы логики предикатов
  Существуют такие виды логических рассуждений, которые нельзя формализовать на языке логики высказываний. Вот примеры таких рассуждений: 1. Каждый любит сам себя. Значит, ко

Интерпретации
  Формулы имеют смысл только тогда, когда имеется какая-нибудь интерпретация входящих в нее символов. Определение. Под интерпретацией мы будем понимат

Выполнимость и общезначимость
Определение.Формула A выполнима в данной интерпретации, если существует такой набор <a1, a2,…, an>, aiÎM, значений св

Формальные аксиоматические теории
Формальная теория представляет собой множество чисто абстрактных объектов (не связанных с внешним миром), в которой представлены

Исчисление высказываний
  Оказывается множество тавтологий логики высказываний можно описать в рамках простой формальной аксиоматической теории - исчисления высказываний. Определим исчисление высказ

Теорема 5.2
1. Любая аксиома в исчислении высказываний является тавтологией. 2. Любая теорема в исчислении высказываний является тавтологией. Доказательство. То, что каждая аксиома A1-A3 явля

Исчисление предикатов
  Исчисление предикатов - это аксиоматическая теория, символами которой являются, по существу, те же символы, что и в логике предикатов: 1) символы предметных переменных: x

Теорема 5.4
1. Аксиомы исчисления предикатов - общезначимые формулы. 2. Формула, получающаяся из общезначимых формулы по любому из правил вывода 1-4, является общезначимой. 3. Любая доказуема

Логический вывод
  Терпеть не могу логики. Она всегда банальна и нередко убедительна. Оскар Уайльд   Формальная математика основывается на аксиоматическом методе. Внача

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

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

Определения
Этот подход к формализации понятия алгоритма принадлежит Гёделю и Клини (1936). Основная идея Гёделя сос

Ламбда - исчисление
Значение ламбда-исчисления   Ламбда-исчисление было изобретено Алонсом Чёрчем около 1930 г. Чёрч первоначально строил l-исчисление как часть

Машины Тьюринга
  Рассмотрим еще один способ определения вычислимых функций, следуя в изложении [29, стр. 12-14]. Ф

Тезис Чёрча
  За последние 60 лет было предложено много различных математических уточнений интуитивного понятия алгоритма. Три из этих подхода мы разобрали. Перечислим некоторые другие альтернати

Некоторые алгоритмически неразрешимые проблемы
  Определение. Предикат M(x) называется разрешимым, если его характеристическая функция, задаваемая формулой cM(x

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

NP-трудные и NP-полные задачи
  Различные задачи, относящие к классу NP являются эквивалентными относительно некоторого отношения, которое мы сейчас определим. Определение. Задача Q по

Трехзначная система Я. Лукасевича
Эта пропозиционная логика была построена Я. Лукасевичем в 1920 году [34]. Лукасевич обозначил «истину» за «1», «ложь» за «0» и ввел третье значение – «нейтрально» - ½. Основными функциями им

Логика Гейтинга
  Из закона исключенного терьего в двузначной логике выводятся: 1. ØØх É х 2. х É ØØх Гейтинг создал трехзначную пропозицио

Трехзначная система Бочвара Д.А.
  Система создавалась Бочваром Д.А. [36] для разрешения парадоксов классической математической логики методом формального доказательства бессмысленности определенных высказываний. Нап

К - значная логика Поста Е.Л.
  Логика Поста [37] является обобщением частного случая – двузначной логики, когда К=2. Действительно, по Посту значения истинности принимают значения 1, 2,…,К (при К ³ 2 и К – к

Цели и задачи дисициплины
Цели преподавания дисциплины является ознакомление студентов с основами математической логики, теории алгоритмов с методами оценки сложности алгоритмов и построения эффективных алгоритмов.

Наименование тем
  Введение   История развития математической логики и теории алгоритмов. Математическая логика и основания математики. Теория алгоритмов и принципиальные возмож

КОНТРОЛЬНАЯ № 2
Вариант 1   1. Записать составные высказывания в виде формул, употребляя высказывательные переменные для обозначения простых высказываний: "Для того, чтобы x бы

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги