190 likes | 305 Vues
This document provides a comprehensive overview of the FOIL v6.4 system, detailing the Domain Model and Knowledge Base components. It breaks down various predicates, rules, and concepts within the FOIL framework, illustrating how member relationships and components interact. The content covers strategies for selecting literals and evaluating coverage, emphasizing the importance of determining gainful literals in rule generation. Additionally, the roadmap offers insight into available packages and utilities that enhance the functionality of the FOIL system.
E N D
FOIL v6.4 P. Jiménez
RoadMap • Foil v.6.4 • DomainModel
RoadMap • Foil v.6.4 • DomainModel
KNOWLEDGE BASE components([1],1,[]). components([2],2,[]). components([13],1,[3]). components([21],2,[1]). components([22],2,[2]). components([112],1,[12]). components([231],2,[31]). components([313],3,[13]). … member(1,[1]). member(3,[3]). member(1,[11]). member(1,[13]). member(1,[31]). member(3,[33]). member(3,[113]). member(1,[131]). … not(member(1,[])). not(member(1,[3])). not(member(1,[33])). not(member(1,[333])). … ¿Member(X0,X1)?
CONCEPTS • Target Literal • member(X0, X1) • Rule • member(X0, X1) :- components(X1, X0, X2) • RuleSet • member(X0, X1) :- components(X1, X0, X2) • member(X0, X1) :- • components(X1, X2, X3), member(X0, X3)
CONCEPTS • Predicates • member, components • PredicateTypes • Target: member • Support: components • Predefined: equal • Arguments and Arity • Member/2 [element, list] • Components/3 [list, element, list] • Equal/2
CONCEPTS • Literals • member(X0,X1) • Predicatemember/2 [element, list] • Argumentlist (Terms) <X0, X1> • Signnotnegated • !equal(X0,C0) • Predicateequal[element, element] • Argumentlist (Terms) <X0, C0> • Signnegated
Concepts ¿Member(X0,X1)? Bindings <X0 = 1, X1 = [131]> <X0 = 3, X1 = [131]> <X0 = 1, X1 = [133]> <X0 = 3, X1 = [133]> <X0 = 1, X1 = [311]> <X0 = 3, X1 = [311]> <X0 = 1, X1 = [313]> <X0 = 3, X1 = [313]> <X0 = 1, X1 = [331]> <X0 = 3, X1 = [331]> <X0 = 3, X1 = [333]> <X0 = 1, X1 = [1]> <X0 = 3, X1 = [3]> <X0 = 1, X1 = [11]> <X0 = 1, X1 = [13]> <X0 = 1, X1 = [13]> <X0 = 3, X1 = [13]> <X0 = 3, X1 = [31]> <X0 = 3, X1 = [33]> <X0 = 1, X1 = [111]> <X0 = 1, X1 = [113]> <X0 = 3, X1 = [113]> Coverage
GeneratingCandidates Member(X0, X1) X1=“[1]” X0 = “1” components(X1,New0,New1) … … Member(X0, X2) … !X0=“1” !X1=“[1]” !components(X1,New0,New1) … … ! Member(X0, X2) … Vi = C Vi = Vj Q(V1, V2, …, Vk) !Vi = c !Vi = Vj !Q(V1, V2, …, Vk)
EvaluatingCoverage Candidate Literal X0 = “1” <X0 = 1, X1 = [1]> <X0 = 3, X1 = [3]> <X0 = 1, X1 = [11]> <X0 = 1, X1 = [13]> <X0 = 1, X1 = [13]> <X0 = 3, X1 = [13]> <X0 = 3, X1 = [31]> <X0 = 3, X1 = [33]> <X0 = 1, X1 = [111]> <X0 = 1, X1 = [113]> <X0 = 3, X1 = [113]> <X0 = 1, X1 = [131]> <X0 = 3, X1 = [131]> <X0 = 1, X1 = [133]> <X0 = 3, X1 = [133]> <X0 = 1, X1 = [311]> <X0 = 3, X1 = [311]> <X0 = 1, X1 = [313]> <X0 = 3, X1 = [313]> <X0 = 1, X1 = [331]> <X0 = 3, X1 = [331]> <X0 = 3, X1 = [333]> Coverage Data 11 15
EvaluatingCoverage components(X1,New0,New1) <X0 = 1, X1 = [1]> <X0 = 3, X1 = [3]> <X0 = 1, X1 = [11]> <X0 = 1, X1 = [13]> <X0 = 1, X1 = [1], X2 = 1, X3 = []> components([1],1,[]). <X0 = 3, X1 = [3] , X2 = 3, X3 = []> components([3],3,[]). components([11],1,[1]). <X0 = 1, X1 = [11] , X2 = 1, X3 = [11]> … member(X0,New0) <X0 = 1, X1 = [1]> <X0 = 1, X1 = [1] , X2 = [1]> <X0 = 1, X1 = [1] , X2 = [11]> <X0 = 1, X1 = [1] , X2 = [13]> member(1,[1]). member(1,[11]). member(1,[13]).
Type of Literals • Determinate literal • Introduces new variables • The new parcial rule has exactlyonetupleforeach positive tuple in thecurrent rule and at mostonetupleforeachnegativetuple • Gainful literal • Mayincreasetheproportion of positive tuples • May introduce new variables
SelectingLiterals • The literal withgreatestgain (80% UsefulGain) • Alldeterminateliteralsfound • The literal withhighest positive gain • A literal that introduces a new variable
RoadMap • Foil v.6.4 • DomainModel
DomainModel • SeePackage Data • SeePackageDataCoverage • SeePackegeKnowledgeBase and KnowledgeBaseFactory
DomainModel • SeepackageHeuristic • SeePackageLiteralFactory • SeePackageAnalyst • SeepackageUtilities
DomainModel • SeePackageBranch & Bound
Thanks! Drop by our web site at http://www.tdg-seville.info