Чтение онлайн

на главную - закладки

Жанры

Неизвестно

Шрифт:

Пусть дана некоторая программа и цель G, тогда, в соответствии с декларативной семантикой, можно утверждать, что

Цель G истинна (т.е. достижима или логически следует из программы) тогда и только тогда, когда

(1) в программе существует предложение С, такое, что

(2) существует такая его (С) конкретизация I, что

(a) голова I совпадает с G и

(б) все цели в теле I истинны.

Это определение можно распространить

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

Таким образом, запятая между целями обозначает конъюнкцию целей: они все должны быть истинными. Однако в Прологе возможна и дизъюнкция целей: должна быть истинной, по крайней мере одна из целей. Дизъюнкция обозначается точкой с запятой. Например:

Р :- Q; R.

читается так: Р - истинно, если истинно Q или истинно R. То есть смысл такого предложения тот же, что и смысл следующей пары предложений:

Р :- Q.

Р :- R.

Запятая связывает (цели) сильнее, чем точка с запятой. Таким образом, предложение

Р :- Q, R; S, Т, U.

понимается как:

Р :- ( Q, R); (S, Т, U).

и имеет тот же смысл, что и два предложения

Р :- Q, R.

Р :- S, T, U.

Упражнения

2. 6. Рассмотрим следующую программу:

f( 1, один).

f( s(1), два).

f( s(s(1)), три).

f( s(s(s(X))), N) :-

f(X, N).

Как пролог-система ответит на следующие вопросы? Там, где возможны несколько ответов, приведите по крайней мере два.

(a) ?- f( s( 1), A).

(b) ?- f( s(s(1)), два).

(c) ?- f( s(s(s(s(s(s(1)))))), С).

(d) ?- f( D, три).

Посмотреть ответ

2. 7. В следующей программе говорится, что два человека являются родственниками, если

(a) один является предком другого, или

(b) у них есть общий предок, или

(c)

у них есть общий потомок.

родственники( X, Y) :-

предок( X, Y).

родственники( X, Y) :-

предок( Y, X).

родственники( X, Y) :-

% X и Y имеют общего предка

предок( Z, X),

предок( Z, Y).

родственники( X, Y) :-

% X и Y имеют общего потомка

предок( X, Z),

предок( Y, Z).

Сможете ли вы сократить эту программу, используя запись с точками с запятой?

Посмотреть ответ

2. 8. Перепишите следующую программу, не пользуясь точками с запятой.

преобразовать( Число, Слово) :-

Число = 1, Слово = один;

Число = 2, Слово = два;

Число = 3, Слово = три.

Посмотреть ответ

Назад | Содержание | Вперёд

Назад | Содержание | Вперёд

2. 4. Процедурная семантика

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

цели логически следовали из программы. Можно

сказать, что процедурная семантика Пролога - это

процедура вычисления списка целей

с учетом заданной программы. "Вычислить цели" это значит попытаться достичь их.

Назовем эту процедуру вычислить. Как показано на рис. 2.9, входом и выходом этой процедуры являются:

входом - программа и список целей,

выходом - признак успех/неуспех и подстановка переменных.

Рис. 2. 9. Входы и выходы процедуры вычисления списка целей.

Смысл двух составляющих выхода такой:

(1) Признак успех/неуспех принимает значение "да", если цели достижимы, и "нет" - в противном случае. Будем говорить, что "да" сигнализирует об успешном завершении и "нет" - о неуспехе.

(2) Подстановка переменных порождается только в случае успешного завершения; в случае неуспеха подстановка отсутствует.

ПРОГРАММА

Поделиться:
Популярные книги

Год 1942 — «учебный»

Бешанов Владимир Васильевич
Документальная литература:
биографии и мемуары
6.20
рейтинг книги
Год 1942 — «учебный»

"Фантастика 2025-103". Компиляция. Книги 1-17

Поселягин Владимир Геннадьевич
Фантастика 2025. Компиляция
Фантастика:
боевая фантастика
попаданцы
альтернативная история
фэнтези
5.00
рейтинг книги
Фантастика 2025-103. Компиляция. Книги 1-17

Том 4. Белая гвардия, Дни Турбиных (с иллюстрациями)

Булгаков Михаил Афанасьевич
Проза:
классическая проза
5.00
рейтинг книги
Том 4. Белая гвардия, Дни Турбиных (с иллюстрациями)

"Фантастика 2024-110". Компиляция. Книги 1-19

Евдокимов Дмитрий Викторович
Фантастика 2024. Компиляция
Фантастика:
фэнтези
боевая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Фантастика 2024-110. Компиляция. Книги 1-19

Риф яркости

Брин Дэвид
4. Возвышение
Фантастика:
научная фантастика
7.50
рейтинг книги
Риф яркости

Сладких снов

Эшли Кристен
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Сладких снов

Письма и документы (1917-1922)

Мартов Юлий Осипович
Научно-образовательная:
история
5.00
рейтинг книги
Письма и документы (1917-1922)

Прорыв реальности

Бурносов Юрий Николаевич
Новая зона
Фантастика:
боевая фантастика
6.40
рейтинг книги
Прорыв реальности

Божественная комедия (илл. Доре)

Алигьери Данте
Старинная литература:
европейская старинная литература
7.62
рейтинг книги
Божественная комедия (илл. Доре)

Повелитель императоров

Кей Гай Гэвриел
2. Сарантийская мозаика
Фантастика:
фэнтези
6.57
рейтинг книги
Повелитель императоров

Море серебрянного света

Уильямс Тэд
4. Иноземье
Фантастика:
киберпанк
7.33
рейтинг книги
Море серебрянного света

Черный Лев

Деверо Джуд
Бархатная сага
Любовные романы:
исторические любовные романы
8.77
рейтинг книги
Черный Лев

Ричард Длинные Руки (Книга 1)

Орловский Гай Юлий
1. Ричард Длинные Руки
Фантастика:
научная фантастика
7.76
рейтинг книги
Ричард Длинные Руки (Книга 1)

Россия молодая

Герман Юрий Павлович
Полное издание в одном томе
Проза:
историческая проза
6.57
рейтинг книги
Россия молодая