Студопедія
рос | укр

Головна сторінка Випадкова сторінка


КАТЕГОРІЇ:

АвтомобіліБіологіяБудівництвоВідпочинок і туризмГеографіяДім і садЕкологіяЕкономікаЕлектронікаІноземні мовиІнформатикаІншеІсторіяКультураЛітератураМатематикаМедицинаМеталлургіяМеханікаОсвітаОхорона праціПедагогікаПолітикаПравоПсихологіяРелігіяСоціологіяСпортФізикаФілософіяФінансиХімія






Варіант №3


Дата добавления: 2015-10-18; просмотров: 444



 

В разделе clauses описаны правила выполнения операций с выводом результатов вычислений на экран.

 

/*Пример 2.3.*/

Predicates

Operation(symbol,real,real)

Clauses

operation(«+»,X,Y):-

Z=X+Y, write(X, «+»,Y, «=»,Z),nl.

operation(«-»,X,Y):-

Z=X-Y, write(X, «-»,Y, «=»,Z),nl.

operation(«*»,X,Y):-

Z=X*Y, write(X, «*»,Y, «=»,Z),nl.

operation(«/»,X,Y):-

Z=X/Y, write(X, «/»,Y, «=»,Z),nl.

 

Цели внешние и имеют, например, следующий вид:

operation(«/»,5.5,3.4).

Результат: 5.5 / 3.4 = 1.6176470588.

operation(«+»,3.4,0.006E2)

Результат: 3.4 + 0.6 = 4.

 

Реализация логических операций

 

Язык Prolog позволяет выполнять бинарные операции отношений между арифметическими выражениями, символами, строками и идентификаторами. Для этого используются следующие операторы сравнения:

=, <, <=, >, >=, <>(><).

 

Пример сравнения: Y + 2 > 8 - X .

 

Операция «=» устанавливает соответствие между левой и правой частями выражения. При согласовании переменных действуют следующие правила:

- если Х неконкретизированная переменная, а Y - конкретизированная, то Х и Y равны,

- целые числа и атомы всегда равны самим себе: например, 613 = 613, book = book являются верными утверждениями, а 245 = 45, abc = bcd - неверными.

- две структуры равны, если они имеют один и тот же функтор и одинаковое число аргументов, причем все соответствующие аргументы равны.

 

Когда для сравнения вещественных величин используется предикат равенства, нужно позаботиться о том, чтобы приближенное представление вещественных чисел не привело к непредсказуемым результатам. Так цель 4.9999999999 = 5.0000000000 не будет удовлетворена. Это указывает на то, что при проверке на равенство двух вещественных чисел лучше определять, лежит ли их разность в заранее определенных пределах.

 

Кроме числовых выражений можно также сравнивать простые символы, строки и символические имена, например:

‘a’ < ‘w’, /*тип char*/

«MISHA» < «MASINA», /*string*/

X1=misha, X2=masha, X1>X2 /*symbol*/

 

При этом Prolog преобразует ‘a’ < ‘w’ в выражение 97 < 119, т.е. сравнивает значения кодов ASCII, и отношение истинно. Сравнение «MISHA» < «MASINA » ложно, т.к. первые отличающиеся символы в сравниваемых строках I и A, а их коды 73 и 65. Соответственно сравнение «bb» > «b» истинно.

 

Cимволические строки нельзя сравнивать непосредственно. В примере X1=misha, X2=masha символическое имя misha не может быть сравнено непосредственно с masha . Они должны быть связаны с переменными или записаны как строки (тип string).

 

В примере 2.4 осуществляется проверка принадлежности целых чисел Z интервалу (Х,Y), где Х - минимальная граница интервала, а Y - максимальная.

 

/*Пример 2.4.*/

Predicates

Include(integer, integer, integer)

Clauses

include(X,Y,Z):-

Z>=X, Z<=Y, nl,

write(«Число »,Z, « лежит в интервале от »,X,« до »,

Y,«.»).

 

Инструменты: компьютер IBM PC с любой операционной системой, в которой реализован язык PDC Prolog.

 

Вопросы для защиты лабораторной работы:

1. Какое назначение предиката random(RandomReal)?

2. Как использовать язык Prolog в режиме калькулятора?

3. Перечислире основные правила установления соответствиямежду левой и правой частями выражения при выполненииоперации «=».

 

Литература:

  1. Петухов О.А. PDC Prolog - язык систем искусственного интеллекта. / Петухов О.А. - Учебн. пособие. - СПб.: СЗПИ, 1999, - с.
  2. Экспертные системы: Инструментальные средства разработки./ Под ред. Ю.В. Юдина.- Учебн. пособие., СПб.: Политехника, 1996. - 220 с.
  3. Бакаев А.А. Экспертные системы и логическое программирование./ Бакаев А.А., Гриценко В.И., Козлов Д.Н.- Киев: Наукова думка, 1992.- 220 с.
  4. Ин Ц. Использование Турбо-Пролога/ Ин Ц., Соломон Д. - Пер. с англ. - М.: Мир, 1993. - 608 с.

 

ЛАБОРАТОРНАЯ РАБОТА № 3

 

По дисциплине: СИСТЕМЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА

Тема занятия:УПРАВЛЕНИЕ ПОИСКОМ РЕШЕНИЯ

Цель занятия:Изучение способов реализации рекурсивных зависимостей.

Количество часов: 4

Содержание работы: Разработать программу реализующую различные способы реализации рекурсивных зависимостей

 

Методические указания по выполнению:

 

В языке Prolog используются две конструкции правил, реализующих многократное выполнение задачи. Это ПОВТОРЕНИЕ и РЕКУРСИЯ.

 

Структура правила, реализующего повторение, такая:

repetitive_rule:-

<предикаты и правила>,

fail. /*неудача*/.

 

Структура правила, реализующего рекурсию:

recursive_rule:-

<предикаты и правила>,


<== предыдущая лекция | следующая лекция ==>
Задача 8. | Частина І
<== 1 ==> |
Studopedia.info - Студопедия - 2014-2024 год . (0.202 сек.) російська версія | українська версія

Генерация страницы за: 0.202 сек.
Поможем в написании
> Курсовые, контрольные, дипломные и другие работы со скидкой до 25%
3 569 лучших специалисов, готовы оказать помощь 24/7