ВУЗ:
Составители:
Рубрика:
a(b, C, d(e, F, g(h, i, J))) = a(B, c, d(E, f, g(H, i, j)))
будет успешной, а переменные B, C, F, E, J будут конкретизированы, им будут присвоены значения: b, c, f, e, j.
4.
Если X, Y – неконкретизированные переменные, выражение X = Y означает, что переменные X, Y стали
сцепленными. Если две переменные сцеплены, то при конкретизации одной из них, второй переменной будет автоматически
присвоено то же самое конкретное значение, что и первой.
6.4. ОПЕРАЦИИ В ЯЗЫКЕ ПРОЛОГ
1. Операции отношения: =, <>, <, >, <=, >=.
2.
Арифметические операции: +, –, *, /, mod.
3.
Логические операции: AND, OR, NOT.
6.5. СТРУКТУРА ПРОГРАММЫ НА ЯЗЫКЕ ПРОЛОГ
Программа на Прологе может состоять из следующих разделов:
1. Описание нестандартных типов
[global] domains
Например,
domains
X = symbol
L = symbol*
Раздел global domains обеспечивает описание глобальных доменов, что позволяет организовать межмодульный
интерфейс.
2. Хранение временного факта:
database
Например,
database
fact_sreda(X)
3. Описание предикатов, входящих в программу:
[global] predicates
В этом разделе определяются предикаты (отношения). Каждый предикат определяется своим именем и своими
аргументами (параметрами). Если типы данных некоторых аргументов предопределены, то они должны быть описаны
заранее в разделе domains. Предикат может не содержать параметров.
Раздел global predicates обеспечивает определение глобальных переменных предикатов, что позволяет обеспечить
межмодульный интерфейс.
4. Определение целей:
goal
В этом разделе определяется цель, которая может состоять из нескольких подцелей.
5. Определение фактов и правил:
clauses
В этом разделе определяются факты и правила. Факт представляется именем предиката, за которым следуют
аргументы, заключённые в круглые скобки. Заканчивается запись факта точкой. Все имена предикатов и константы должны
начинаться со строчной буквы.
Правило состоит из заголовка правила и тела правила. Заголовок представляет собой предикат, тело состоит из термов,
которые могут быть связаны между собой знаками логических операций (NOT, AND, OR). Между телом и заголовком стоит
слово if (возможно использовать его встроенным предикатом “:–“). Каждое правило заканчивается точкой. Правило – аналог
аксиомы вида P1&P2&…&Pk →Q, где Pi – условия; Q – следствие. В Прологе обычно применяется инверсная запись
правила: Q :– P1, P2, …, Pk. Читается правило так: Q удовлетворяется, если удовлетворяются подцели P1, P2, …, Pk.
6. Комментарии.
Располагаются в программе в произвольном месте, начинаются с символов /* и заканчиваются символами */.
Пример.
Пусть база знаний включает четыре факта и одно правило:
Факты:
1.
население США составляет 520 млн. человек;
2.
население России составляет 216 млн. человек;
3.
площадь США составляет 8 млн. кв. км;
4. площадь России составляет 80 млн. кв. км.
Правило:
Если население страны Х составляет Y млн. человек и площадь страны X составляет W млн. кв. км, то средняя
плотность населения страны X равна Y/W.
Цель: Определить плотность населения США и России.
predicates
count (string, real).
plosh (string, real).
density(string, real).
clauses
Страницы
- « первая
- ‹ предыдущая
- …
- 35
- 36
- 37
- 38
- 39
- …
- следующая ›
- последняя »