Ћекции.ќрг


ѕоиск:




 атегории:

јстрономи€
Ѕиологи€
√еографи€
ƒругие €зыки
»нтернет
»нформатика
»стори€
 ультура
Ћитература
Ћогика
ћатематика
ћедицина
ћеханика
ќхрана труда
ѕедагогика
ѕолитика
ѕраво
ѕсихологи€
–елиги€
–иторика
—оциологи€
—порт
—троительство
“ехнологи€
“ранспорт
‘изика
‘илософи€
‘инансы
’ими€
Ёкологи€
Ёкономика
Ёлектроника

 

 

 

 


Ћистинг 19,3. ѕроста€ программа ILP- MINIHYPER




% ѕрограмма MINIHYPER

% induce £ Hyp):

% осуществл€ет логический вывод совместимой и полной гипотезы Hyp путем

4 постепенного усовершенствовани€ нлча.."::. гипотез

induce! Hyp):-

iter_deep( ур, 0). 4 »теративное углубление, начина€

% с максимальной глубины 0

iter_deep(Hyp, MaxD):-

write I 'MaxD = '!, write { MaxD), nl,

start_hyp(HypOi,

coir.plete{ HypO) г % √ипотеза »урќ охватывает все положительные примеры

depth_first(HypO, Hyp, KaxD) % ѕоиск в глубину с ограничением глубины

NewMaxD is MaxD + 1, iter_deepi Hyp, KewMaxD).

% depth_first! HypO, Hyp, MaxD]:

преобразует гипотезу HypO путем усовершенствовани€ в совместимую

% и полную гипотезу Hyp не больше чем за MaxD шагов

454 „асть II. ѕрименение €зыка Prolog в области искусственного интеллекта


depth_first(Hyp, Hyp, _):-consistent(Hyp).

depth_first(HypO, Hyp, MaxDO):-MaxDO > 0, MaxDl is MaxDO - 1, refine_hyp(HypO, Hypl),

complete (Hypl), % √ипотеза Hypl охватывает все положительные примеры depth_first(Hypl, Hyp, MaxDl).

complete(Hyp):- % √ипотеза Hyp охватывает все положительные примеры
not (ex(E), % ѕоложительный пример

once (prove (≈, Hyp, Answer)), % ƒоказать его с помощью гипотезы Hyp
Answer \== yes). % ¬озможно, что доказательство не найдено

consistent(Hyp):- % ¬озможно, что гипотеза не охватывает ни одного

% отрицательного примера
not (nex(E), % ќтрицательный пример

once (prove (≈, Hyp, Answer)), % ƒоказать его с помощью гипотезы Hyp
Answer \= = no). % ¬озможно, доказательство существует

% refine_hyp(HypO, Hyp):

% предикат, который позвол€ет усовершенствовать гипотезу Ќурќ

% и получить гипотезу Hyp

refine_hyp(HypO, Hyp):-

conc(Clausesl, [ClauseO/VarsO | Clauses2], HypO), % ¬ыбрать предложение

% ClauseO из гипотезы Ќурќ conc(Clausesl, [Clause/Vars | Clauses2], Hyp), % Ќова€ гипотеза refine (ClauseO, VarsO, Clause, Vars). % ”совершенствовать предложение Clause

% refine (Clause, Args, NewClause, NewArgs):

% предикат, который позвол€ет усовершенствовать предложение Clause

% с параметрами Args и получить предложение NewClause с параметрами NewArgs

% ”совершенствовать по методу согласовани€ параметров

refine(Clause, Args, Clause, NewArgs):-

conc(Argsl, [A | Args2], Args), % ¬ыбрать переменную ј

member(A, Args2), % —огласовать ее с другой переменной

conc(Argsl, Args2, NewArgs).

% ”совершенствовать по методу добавлени€ литерала

refine(Clause, Args, NewClause, NewArgs):-length(Clause, L), max_clause_length (MaxL), L < MaxL,

backliteraM Lit, Vars), % Ћитерал с определением фоновых знаний

cone(Clause, [Lit], NewClause), % ƒобавить литерал к телу предложени€
cone(Args, Vars, NewArgs). % ƒобавить переменные литерала

% «начени€ параметров, заданные по умолчанию

max_proof_length(б). % ќбща€ длина доказательства с учетом вызовов

% предикатов, отличных от предикатов Prolog

max_clause_length(3). % ћаксимальное количество литералов в теле предложени€


Х

Х


refine (Clause, Vars, NewClause, NewVars). ѕозвол€ет усовершенство≠вать заданное предложение Clause с помощью переменных Vars и выработать усовершенствованное предложение NewClause с новыми переменными NewVars. ”совершенствованное предложение формируетс€ путем согласовани€ двух переменных в списке Vars или добавлени€ нового фонового литерала к


 






ѕоделитьс€ с друзь€ми:


ƒата добавлени€: 2015-10-01; ћы поможем в написании ваших работ!; просмотров: 411 | Ќарушение авторских прав


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

Ћучшие изречени€:

Ћогика может привести ¬ас от пункта ј к пункту Ѕ, а воображение Ч куда угодно © јльберт Ёйнштейн
==> читать все изречени€...

1347 - | 1313 -


© 2015-2024 lektsii.org -  онтакты - ѕоследнее добавление

√ен: 0.009 с.