Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Листинг 19.1. Определение задачи изучения предиката has_daughter




% Изучение предиката по фактам, определяющим семейные отношения

% Фоновые знания

backliteraK parent(X,Y), [X,Y]). % Фоновый литерал с переменными [X,Y]

backliteraK male(X), [X]).

backliteraK female(X), [X]).

prolog_predicate(parent(_,_)). % Цель parent(_,_) выполняется

% непосредственно интерпретатором Prolog prolog_predicate(male(_)). prolog_predicate(female(_)).

parent (pam, bob).

parent (torn, bob).

parent (torn, liz).

parent (bob, ann).

parent (bob, pat).

parent (pat, jim).

parent (pat, eve).

female (pam). male (torn). male(bob). female(liz). female(ann). female (pat). male(jim). female(eve).

% Положительные примеры

ex(has_daughter(torn)). % Том имеет дочь ex(has_daughter(bob)). ex(has_daughter(pat)).

% Отрицательные примеры

nex(has_daughter(pam)). % Пэм не имеет дочери nex(has_daughter(jim)).

start^hyp([ [has_daughter (X) ] / [X] ]). % Начальная гипотеза


Глава 19. Индуктивное логическое программирование



Отрицательные примеры представлены с помощью предиката nex (Example), на­пример, как показано ниже. nex(has_daughter(pairi) 1. % Пэм не имеет дочери

Предикат backliteral (сокращение от background literal - фоновый литерал) задает форму литералов, которые могут использоваться в программе ILP в качестве целей при формировании предложений Prolog. В частности, предикат backliteral(parent(X,Y), ~X,Y',).

указывает, что в состав языка гипотез входят литералы в форме parent (X,Y), в ко­торых переменные X и Y могут быть переименованы. Вторым параметром предиката backliteral является список переменных в этом литерале. Такие фоновые литера­лы могут добавляться в качестве целей в тела формируемых предложений. Фоновые литералы представляют собой вызовы фоновых предикатов, которые могут быть за­даны непосредственно на языке Prolog. Предикат prolog_oredicate определяет це­ли, которые должны быть непосредственно выполнены интерпретатором Prolog1. На­пример, предикат prolog^predicate(parent(X,Y)).

указывает, что цели, которые согласуются с предикатом parent (X, Y), обрабатыва­ются интерпретатором Prolog непосредственно, путем выполнения фонового предика­та parent. Другие цели, такие как has daughter (torn;, могут быть выполнены с помощью интерпретатора, подобного Prolog, но с особыми свойствами, который будет реализован специально для использования в методе ILP.





Поделиться с друзьями:


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


Поиск на сайте:

Лучшие изречения:

Логика может привести Вас от пункта А к пункту Б, а воображение — куда угодно © Альберт Эйнштейн
==> читать все изречения...

2284 - | 2212 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.