Лекции.Орг


Поиск:




Листинг 19.10. Изучение понятия арки




% Изучение понятия арки

backliteraK isa[X,Y), (X:object], []):-

member С Y, [polygon,convex_poly,stable_poly,unstable_poly,triangle,

rectangle, trapezium, unstable_triangle, hexagon]). % Y - эя блок

% с любой из указанных форм

backliteraK support (X, Y), [X:object, Y:object], []). backliteraK touch(X,Y), [X:object, Y:object], []). backliteral (not C -, [X: object, Y: object], [)):-G = touch(X,Y); G = support(X,Y),

prolog_predicate(isa [X,Y)). prolog^predicate(support(xrY)). prolog_predicate(touch(X,Y)).

prolog__predicate(not G).

ako(polygon, convex_poly>. % Блок выпуклой многоугольной формы

«представляет ссоой одну из разновидностей блоков многоугольной формы ako(convex poly, stable_poly). I Блок устойчивой формы представляет

% собой одну из разновидностей блоков выпуклой многоугольной формы ako< convex_poly, unstablejpoly!. * Блок неустойчивой формы представляет

% СОООЙ одну из разновидностей Блоков выпуклой многоугольной фермы aicof stable poly, triangle), % Блок треугольной формы представляет

% собой одну из разновидностей блоков устойчивой формы ako(stable_poly, rectanple). * Блок прямоугольной формы прерставляет

% собой одну из разновидностей блоков устойчивой формы ako(Stable poly, trapezium). ■ Блок трапециедальной формы представляет

% соОой одну из разновидностей блоков устойчивой формы akot unstable_poly, unstable_triangle). % Блок неустойчивой треугольной формы Ь представляет собой одну из разновидностей блоков неустойчивой формы ako{ unstable poly, hexagon). I Блок шестиугольной формы представляет собой одну КЗ разновидностей блоков неустойчивой формы

akoi rectangle, X):-

member! X, [alr aZ, аЗ, а4,а5,Ы,Ь2,ЬЗ,М, Ь5, cl,c2, сЗ I ). г Прямоугольные блоки


akoC triangle, с4).

ako(unstable_triangle, c5).

isa С zFigurel, FigureZ):-а ко I Figure2, Figure!).


% Блок устойчивой треугольной формы % Блок треугольной формы, перевернутый % основанием вверх

4 Блок Figure 1 предстааляет собой блок Figure2


 


isa(FigO, Fig):-ako{ Figl, FigO), isa(Figl, Fig).

support(al,cl). support Ca3,c3). support (a.4, c4). support(45,c5).


support lbl,cl). support (b3,c3). support(b4, c4). support(b5,c5)■


touch (a3,b3)


st.art_clause[ [arch (X, Y, Z) ] / [X: object, Y: object, Z: object) I-


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



ex<arch(al,bl,cl)).

су. (arcri<a4,b4,c4)).

next arch [а2,Ь2,с2)). nex(arch(a3,b3, c3) ). next arch (a5, bS,c5) >. пек(arch{al,b2,cl)). next arch(a2,bl,cl))

Резюме

Индуктивное логическое программирование (ILP) представляет собой сочета­ние логического программирования и машинного обучения.

■ ILP — это метод индуктивного обучения, в котором в качестве языка гипотез используется логика предикатов. Кроме того, ILP представляет собой один из подходов к осуществлению автоматического программирования на примерах.

■ По сравнению с другими подходами к машинному обучению метод ILP ха­рактеризуется следующими особенностями: во-первых, в нем используется более выразительный язык гипотез, который позволяет формировать рекур­сивные определения гипотез, во-вторых, он обеспечивает применение фоно­вых знаний в более общей форме, и, в-третьих, в целом характеризуется большей комбинаторной сложностью по сравнению с обучением на основе атрибутов и значений.

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

■ В графе усовершенствования гипотез узлы соответствуют множествам логиче­ских предложений (программам Prolog), а дуги - отношениям усовершенство­вания между гипотезами.

в Усовершенствование предложения (гипотезы) приводит к более определенному предложению (гипотезе).

■ Предложение может быть усовершенствовано с помощью следующих операций: во-первых, путем согласования двух переменных в предложении, или, во-вторых, в результате замены переменной термом, или, в-третьих, с помощью добавления литерала к телу предложения.

Тэта-классификация— это отношение обобщения между предложениями, ко­торое может быть определено синтаксически на основе замены переменных.

Программа HYPER, разработанная в этой главе, осуществляет логический вы­вод программ Prolog на основании примеров, выполняя поиск среди гипотез в графе усовершенствования.

■ В настоящей главе рассматривались следующие понятия:

 

• индуктивное логическое программирование;

• усовершенствование предложения;

• усовершенствование гипотезы;

• графы усовершенствования предложений или гипотез;

• тэта-классификация;

• автоматическое программирование на примерах.

476 Часть II. Применение языка Prolog в области искусственного интеллекта






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


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


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

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

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

1002 - | 821 -


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

Ген: 0.012 с.