Основы проектирования систем искусственного интеллекта

       

Вычисление арифметических выражений


В Прологе не допускаются присваивания вида Сумма=2+4.

Выражение такого типа вычисляется только с помощью систем­ного предиката is, например:

Сумма is 2 + 4.

Предикат is определен как инфиксный оператор. Его левый аргу­мент - или число, или неконкретизированная переменная, а правый аргумент - арифметическое выражение.

Попытка доказательства целевого утверждения Х is Y заканчи­вается успехом в одном из следующих случаев:

а) Х - неконкретизированная переменная, а результат вычисле­ния выражения Y есть число;

б) Х - число, которое равно результату вычисления выражения Y. Цель Х is Y не имеет побочных эффектов и не может быть согла­сована вновь. Если Х не является неконкретизированной переменной или числом, или если Y - не арифметическое выражение, возникает ошибка.

Примеры:

D is 10- 5                заканчивается успехом и D становится равным 5

4 is 2 * 4 - 4            заканчивается успехом

2 * 4 - 4 is 4            заканчивается неудачей

a is 3 + 3                 заканчивается неудачей

X is 4 + а                заканчивается неудачей

2 is 4 - X                 заканчивается неудачей

Обратите внимание, что предикат is требует, чтобы его первый аргумент был числом или неконкретизированной переменной. Поэтому М - 2 is 3 записано неверно. Предикат is не является встроен­ным решателем уравнений.



Содержание раздела