Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по Прологу.doc
Скачиваний:
68
Добавлен:
01.05.2014
Размер:
501.25 Кб
Скачать

4.6. Управляющие предикаты

exit

Выполняет немедленный выход из программы.

fail

Вынуждает завершиться предикат ложно и, следовательно, возвратиться к предыдущей точке разветвления (backtracking).

true

Значение предиката всегда истинно.

!

Отсечение (прекращение перебора между головой дизъюнкта и данным знаком).

4.7. Прочие стандартные предикаты

random(RealVariable)

(real) – (o)

Равномерное псевдослучайное число в диапазоне от 0 до 1.

random(MaxValue,RandomInt)

(integer,integer) – (i,o)

Равномерное псевдослучайное целое число RandomIntв диапазоне от 0 доMaxValue.

findall( Variable, Atom, ListVariable )

В списке ListVariableвозвращаются все решения для переменнойVariableв предикатеAtom.

not( Atom )

Выполняется успешно, если заданный Atomпредставляет собой цель, которая не достигается.

free( Variable )

Выполняется успешно, если Variableне является конкретизированной переменной.

bound( Variable )

Выполняется успешно, если Variableявляется конкретизированной переменной.

4.8. Арифметические и логические предикаты

В арифметических операциях могут участвовать операнды (числа и переменные), арифметические операции + (сложение), – (вычитание), * (умножение), / (деление), mod (деление по модулю), div (целочисленное деление), скобки.

Приоритет выполнения операций представлен числами:

+ , –

1

* , /

2

div ,mod

3

– ,+ (унарные)

4

Логические операторы:

>

Бодьше

<

Меньше

=

Равно

>=

Больше или равно

<=

Меньше или равно

<> ,

Не равно

Арифметические функции:

sin(Х)

Синус, угол в радианах

cos(Х)

Косинус, угол в радианах

tan(Х)

Тангенс, угол в радианах

arctan(Х)

Арктангенс

ln(Х)

Логарифм натуральный

log(Х)

Логарифм десятичный

abs(X)

Модуль аргумента

exp(Х)

Экспонента

sqrt(Х)

Корень квадратный

Кроме этих предикатов, в Прологе имеется большой набор стандартных предикатов для построения графических объектов. Просмотреть названия стандартных предикатов графики можно в разделе HELP меню интегрированной среды Пролога.

5. Использование языка Пролог для построения экспертных систем

Пролог является, возможно, наиболее подходящим языком, на котором выполняются экспертные системы и оболочки. На Прологе довольно просто создать интерактивную экспертную систему (т.е. работающую в режиме диалога). Такая система может варьировать процесс опроса в зависимости от обстоятельств. Более того, она может задавать минимально необходимое число вопросов.

Разработка правил для экспертных систем базируется на двух известных концепциях - с прямой и обратной цепочкой рассуждений. Каждая концепция определяет стратегию выбора в конкретных условиях. Стратегия прямого вывода состоит в том, что задается последовательность вопросов, построенных таким образом, что каждый из них позволяет отбросить большую группу потенциальных ответов, благодаря чему значительно сужается пространство поиска. Так продолжается до тех пор, пока не остается один определенный ответ.

Другую модель поведения предлагает стратегия обратного вывода. В некоторых задачах имеется всего несколько решений при наличии огромных объемов входной информации. В этом случае целесообразно в каждый момент времени рассматривать только одно из возможных решений, а затем собрать и проверить все свидетельства, которые могут его подтвердить или опровергнуть. Существует много приложений такого рода. К ним относятся, в частности, классификационные ЭС (найти причину неисправности, установить заболевание и др.). Ряд примеров экспертных систем приведен в [1].