Неизвестно - Prolog

Здесь есть возможность читать онлайн «Неизвестно - Prolog» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Старинная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Prolog: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Prolog»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Prolog — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Prolog», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

( а => b ) & ( b => с ) => ( а => с )

Смысл этой формулы таков: если из а следует b и из b следует с , то из а следует с .

Прежде чем начать применять процесс резолюции ("резолюционный процесс"), необходимо представить

отрицание нашей формулы в наиболее приспособленной для этого форме. Такой формой является

конъюнктивная нормальная форма

, имеющая вид

( р 1 v p 2 v ...) & ( q 1 v q 2 v ...)

& ( r 1 v r 2 v ...) & ...

Здесь р i , q i , r i - элементарные утверждения

или их отрицания. Конъюнктивная нормальная форма есть конъюнкция членов, называемых

дизъюнктами

, например (

p 1

v

p 2

v ...) - это дизъюнкт.

Любую пропозициональную формулу нетрудно преобразовать в такую форму. В нашем случае это делается следующим образом. У нас есть исходная формула

( а => b ) & ( b => с ) => ( а => с )

Ее отрицание имеет вид

~ ( ( а => b ) & ( b => с ) => ( а => с ) )

Для преобразования этой формулы в конъюнктивную нормальную форму можно использовать следующие известные правила:

(1) х => у эквивалентно v у

(2) ~ ( x v y ) эквивалентно &

(3) ~ ( х & у ) эквивалентно v

(4) ~ ( ) эквивалентно х

Применяя правило 1, получаем

~ ( ~ ( ( a => b ) & ( b => с )) v ( а => с ) )

Далее, правила 2 и 4 дают

( а => b ) & ( b => с ) & ~( а => с )

Трижды применив правило 1, получаем

( ~ а v b ) & ( ~b v с ) & ~ ( v с )

И наконец, после применения правила 2 получаем искомую конъюнктивную нормальную форму

( v b ) & ( ~b v с ) & а &

состоящую из четырех дизъюнктов. Теперь можно приступить к резолюционному процессу

.

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

р v Y и v

Z

Шаг резолюции порождает третий дизъюнкт:

Y v Z

Нетрудно показать, что этот дизъюнкт логически следует из тех двух дизъюнктов, из которых он получен. Таким образом, добавив выражение ( Y v Z ) к нашей исходной формуле, мы не изменим ее истинности. Резолюционный процесс порождает новые дизъюнкты. Появление "пустого дизъюнкта" (обычно записываемого как "nil") сигнализирует о противоречии. Действительно, пустой дизъюнкт nil порождается двумя дизъюнктами вида

x и ~x

которые явно противоречат друг другу.

Рис 16 6 Доказательство теоремы аb bс aс методом - фото 115

Рис. 16. 6. Доказательство теоремы ( а=>b )&( b=>с )=>( a=>с ) методом

резолюции. Верхняя строка - отрицание теоремы в конъюнктивной

нормальной форме. Пустой дизъюнкт внизу сигнализирует, что

отрицание теоремы противоречиво.

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

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

если

существуют два таких дизъюнкта С1 и С2 , что

P является (дизъюнктивным) подвыражением С1 ,

а - подвыражением С2

то

удалить Р из С1 (результат - СА ), удалить

из С2 (результат - СВ ) и добавить в базу

данных новый дизъюнкт СА v СВ .

На нашем формальном языке это можно записать так:

[ дизъюнкт( С1), удалить( Р, Cl, CA),

дизъюнкт( С2), удалить( ~Р, С2, СВ) ] --->

[ assert( дизъюнкт( СА v СВ) ) ].

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

сделано( Cl, C2, Р)

В условных частях правил производится распознавание подобных утверждений и обход соответствующих повторных действий.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Prolog»

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


Отзывы о книге «Prolog»

Обсуждение, отзывы о книге «Prolog» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x