Константы, переменные и составные термы. Сопоставление.
Переменные в прологе инициализируются при сопоставлении с константами фактов и правил, до инициализации переменная свободна, а после инициализации становится связанной (в пределах одного предложения). Переменные используются, как часть процесса поиска решения. Константы – это поименованные конкретные объекты или отношения. Переменные служат для обозначения объектов, значение которых меняется в ходе выполнения программы. Имена переменных могут начинаться с прописной буквы или с символа подчеркивания. Если значение переменной не интересует, то можно использовать анонимные переменные в виде символа подчеркивания.
Составной терм. Составной терм состоит из функционального символа и упорядоченного множества термов, являющихся его аргументами. Идея состоит в том, что составной терм обозначает тот или иной индивидуальный объект, зависящий от других индивидуальных объектов, представленных его аргументами. Функциональный символ описывает характер зависимости. Например, можно было бы иметь функциональный символ, обозначающий «расстояние» и имеющий два аргумента. В этом случае составной терм обозначает расстояние между объектами, представленными его аргументами. Составной терм можно рассматривать как структуру языка Пролог, имеющую в качестве функтора функциональный символ. Составные термы будут записываться по правилам синтаксиса Пролога так, что, например, жена(генри) может обозначать жену Генри, расстояние(точка1, X) может обозначать расстояние между некоторой заданной точкой и каким-то другим объектом
Наиболее важной операцией над термами является сопоставление.
Сопоставление – это процесс, на вход которого подаются 2 терма, а он проверяет соответствуют ли термы друг другу. 2 терма сопоставимы, если они идентичны или переменные в обеих термах можно приписать в качестве значений объекты таким образом, чтобы после постановки этих объектов в термы, вместо переменных последние стали идентичны.
Например:
data (20, “may”, Y)
data (X,A,B)
сопоставимы если Х=20, А=may, В=Y.
- Основные понятия Искусственного Интеллекта
- Основные направления исследований в области Искусственного Интеллекта
- Логическое программирование. Основные понятия языка Пролог (Предикаты, Факты, Правила, Простые и составные запросы).
- Константы, переменные и составные термы. Сопоставление.
- Основные разделы Prolog. Встроенные предикаты
- Арифметические вычисления и сравнения в прологе
- Встроенные предикаты ввода и вывода
- Управление поиском решений. Встроенный механизм поиска с возвратом. Использование предиката fail и отсечение.
- Рекурсия
- Обработка списков. Объявление и использование.
- Обработка строк. Предикаты для строк. Встроенные предикаты для преобразования типов. Использование строк.
- Файлы. Оисание. Стандартные предикаты. Операции над файлами.
- Работа с внутренними базами данных: добавление и удаление фактов из базы данных.
- Данные и знания.