Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Поиск решений





 

Пример: 1) likes (mary, аpples) – факт,

2) likes (beth, X):– likes (mary, Х) – правило.

Введем цель:

likes (beth, аpples)? – любит ли Бет яблоки? X= аpples

совпали подцель

Цель сопоставляется с фактом 1 пословно: терм предиката цели likes совпадает с термом факта 1. Т.е. сопоставление начинается слева направо до тех пор, пока очередное сопоставление окажется неуспешным. beth не совпадает c mary и поэтому дальше уже не проверяется. Пролог ищет следующую точку входа и находит правило 2. Если факт совпадает с левой частью правила – головой, то он пытается выполнить часть правила справа (тело). likes и beth совпали у обоих, но apples и Х не сопоставимы. Однако Х – это переменная, следовательно, она может быть сопоставлена с любым значением. Т.е. Х присваивается значение apples. Это связывание используется до тех пор, пока либо не будет вычислена цель, либо нельзя будет выполнить никакого другого сопоставления с учетом этого связывания. Следовательно, предикат likes(beth, X) имеет значение likes(beth, apples). Теперь пытаемся выполнить условие if likes(mary, X) и проверяем факт likes(mary, apples) как подцель. Снова сначала просматривается база и находится факт likes(mary, apples). Так как тело совпало, то цель достигнута, и решение есть X=apples и является истиной. Как цели, так и правила могут быть связаны с помощью союзов и (,) и или(;).

Число аргументов в предикате называется арностью. Если в предикате нет аргументов, то арность равна нулю. Совпадение проверяется на имя аргумента (likes – пример), на число аргументов (арность), на тип аргументов, на совпадение значений (слева направо)

При сравнении аpples, Х происходит процесс связывания: Х=аpples, так как переменная может принимать любое значение. Из этого следует, что цель совпала с головой. При появлении подцели начинается проверка заново.

Ответ задачи: X=аpples.

В теле правила может быть несколько подцелей, подцели обрабатываются последовательно слева направо. Если одна из подцелей несопоставима, то и вся цель является неуспешной. Сопоставление и поиск решений выполняются внутренними унификационными процедурами. Они выполняют сопоставление целей и подцелей с фактами и головами правил, чтобы доказать эти цели или подцели, а также определяют, сгенерированы ли новые подцели правой части. При сопоставлении с правилами, где имеется переменные Х, переменные сначала не имеют значения, т.е. они не означены, не идентифицированы, свободные. Когда переменная сопоставляется с объектом (apples), она связывается. Внешние цели заставляют программу выдать все решения, удовлетворяющие цели, а внутренние цели заставляют программу остановиться после первого успешного сопоставления целей. Таким образом, переменная освобождается после неуспешного сопоставления или при успешном достижении цели, и ее значения не являются одновременными.

Для присваивания значения переменным используется оператор (=), который практикуется двояко: как присваивание или как сравнение в зависимости от того является ли значение объектов свободными или означенными.

Пример:

1) аpples=аpples – это сравнение. Равенство истинно, цель достигнута.

2) аpples=oranges – это тоже сравнение. Равенство ложно, цель недостигнута

3) X=аpples, если Х не означено, то это присвоение, в противном случае это сравнение.

Если оба значения известны, то трактуется как сравнение, даже если оба объекты являются переменными: х=у

Если известно одно значение, то оно присваивается второму, независимо от того где оно стоит: аpples=X.

 







Дата добавления: 2015-10-19; просмотров: 449. Нарушение авторских прав; Мы поможем в написании вашей работы!




Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...


Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Оценка качества Анализ документации. Имеющийся рецепт, паспорт письменного контроля и номер лекарственной формы соответствуют друг другу. Ингредиенты совместимы, расчеты сделаны верно, паспорт письменного контроля выписан верно. Правильность упаковки и оформления....

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

Типология суицида. Феномен суицида (самоубийство или попытка самоубийства) чаще всего связывается с представлением о психологическом кризисе личности...

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

Примеры задач для самостоятельного решения. 1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P   1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P...

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

Studopedia.info - Студопедия - 2014-2026 год . (0.011 сек.) русская версия | украинская версия