|
на стр 6, лекции 3, Очевидно "Ck <= модуль(Gk(е))*b(k+1)" (1) - , подскажите что значит "модуль" и почему это очевидно... |
Логическое программирование
Элементы языка Пролог
Основным элементом языка Пролог является терм. Термы строятся из переменных, атомов, чисел и функторов с использованием круглых скобок.
Переменная — это цепочка (слово), составленная из букв, цифр и символа подчеркивания, начинающаяся с большой буквы или символа подчеркивания. Если переменная используется однажды, то вместо нее можно использовать так называемую анонимную переменную, состоящую из одного символа подчеркивания.
Атом — это цепочка, составленная из букв, цифр и символа подчеркивания, начинающаяся с маленькой буквы или с большой буквы, но тогда в одинарных кавычках. Последний способ удобен, если атом является собственным именем. Иногда атомы строятся и из специальных знаков, но мы не будем их использовать при первоначальном знакомстве.
Числа записываются традиционным образом. Числа с плавающей запятой в обычных применениях Пролога используются редко из-за ошибок округления.
Функтор синтаксически совпадает с атомом.
Терм — это либо переменная, либо атом, либо число, либо выражение вида

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

может быть вычислена следующим образом.
Составим из
подстановок
и
последовательность
- Если некоторое
совпадает
с некоторым
, то вычеркиваем пару
. - Если
, то вычеркиваем пару
.
Пример.
Пусть
.
Рассмотрим последовательность

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

Пример.
Для термов
и
наиболее общим унификатором будет подстановка
.
Результатом унификации будет терм 