Встроенные предикаты. Поиск на Прологе


При самостоятельном желании понять тему " Встроенные предикаты. Поиск на Прологе " вам поможет наш ресурс. Для вас наши специалисты подготовили материал, изучив который вы будете разбираться в ней уровне профессионала. А если у вас останутся вопросы, то задать их вы сможете прямо на сайте написав в чат онлайн-консультанта.

оформить заявку

Слишком сложно? Тогда запросите консультацию специалиста!

Наша компания занимается тем, что помогает студентам выполнять различные учебные работы на заказ. Вы можете ознакомиться с перечнем выполняемых работ, а так же с их стоимостью на странице с ценами.

ознакомиться с условиями

Отрицание как неудача

Рассмотрим  пример. Пусть некоторая Мэри любит всех животных.

Это записывается:  likes(mary,X):-annimal(X).

Мэри не любит змей:

likes(mary,X):-snake(X),!,fail.

fail- специальная цель, встроенный предикат,
который всегда терпит неудачу.

Решение можно записать в виде одного правила, используя  дизъюнкцию целей:

likes(mary,X):-snake(X),!,fail; annimal(X).

Рассмотрим другой пример.

Отношение different(X,Y) будет истина, если X и Yразличны.

different(X,X):-!,fail. или different(X,Y):-X=Y,!,fail. different(X,Y).
     
     

Если Xи Y сопоставимы, то цель differentтерпит неудачу.
Иначе Xи Yразличны, и цель differentуспешна.

Или в одном предложении

different(X,Y):-X=Y,!,fail;true.


Здесь true- встроенный педикат, который всегда истина.

И в том и другом случае более удобно указывать, что отношение истинно, если цель ложна. Для этой цели используется предикат not.

not(Goal). -истина, если Goal-ложь, и наоборот not(Goal)ложно, если Goal успешна.
Это можно записать в виде:

not(Goal):-Goal,!,fail;true.


Запись аналогична сделанным ранее и поэтому последние примеры можно переписать следующим образом:

likes(mary,X):-annimal(X),not(snake(X)).
или
different(X,Y):-not(X=Y).

Использование notтребует осторожности. Рассмотрим пример:

r(a).
g(b).
p(X):-not(r(X)).

?-g(X),p(X).
yes
?-p(X),g(X).
no

 

 


Хм, так же просматривали

Заказ

ФОРМА ЗАКАЗА

Бесплатная консультация

Наша компания занимается написанием студенческих работ. Мы выполняем: дипломные, курсовые, контрольные, задачи, рефераты, диссертации, отчеты по практике, решаем тесты и задачи, и многие другие виды заданий. Чтобы узнать стоимость, а так же условия выполнения работы заполните заявку на этой странице. Как только менеджер увидит ваше сообщение, он сразу же свяжется с вами.

Этапность

СОПРОВОЖДЕНИЕ КЛИЕНТА

Получить работу можно всего за 4 шага

01
Оставляете запрос

Оформляете заказ работы, заполняя форму на сайте.

02
Узнаете стоимость

Менеджер оценивает сложность. Узнаете точную цену.

03
Работа пишется

Оплачиваете и автор приступает к выполнению задания.

04
Забираете заказ

Получаете работу в электронном виде на вашу почту.

Услуги

НАШ СЕРВИС

Что мы еще делаем?

icon
Контрольные работы

от 580 рублей

ПОДРОБНЕЕ
icon
РГР (расчетно-графические работы)

от 230 рублей

ПОДРОБНЕЕ
icon
Домашние работы

от 180 рублей

ПОДРОБНЕЕ
icon
Отчеты по практике

от 780 рублей

ПОДРОБНЕЕ
icon
Дневник по практике

от 580 рублей

ПОДРОБНЕЕ
icon
Студенческие работы

от 80 рублей

ПОДРОБНЕЕ