Проектирование систем искусственного интеллекта

       

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


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

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

Сумма is 2 + 4.

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

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

  1. Х — неконкретизированная переменная, а результат вычисления выражения Y есть число;
  2. Х — число, которое равно результату вычисления выражения 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 не является встроенным решателем уравнений.



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