190 likes | 301 Views
FOIL v 6.4. P. Jiménez. RoadMap. Foil v.6.4 Domain Model. RoadMap. Foil v.6.4 Domain Model. KNOWLEDGE BASE. components ([1],1,[]). components ([2],2,[]). components ([13],1,[3]). components ([21],2,[1]). components ([22],2,[2]). components ([112],1,[12]).
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