222
Introduction to Inductive Logic Programming Manoel V. M. França Department of Computing City University London March 26, 2012 / Machine Learning Group Meeting Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 1 / 57

Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction to Inductive Logic Programming

Manoel V. M. França

Department of ComputingCity University London

March 26, 2012 / Machine Learning Group Meeting

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 1 / 57

Page 2: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Outline1 Introduction

MotivationObjectivesOverview

2 Background KnowledgePropositional (Classical) LogicFirst–Order LogicLogic Programming

3 Inductive Logic ProgrammingDefinitionsProgol

4 Neural–Symbolic SystemsIntroductionC–IL2PCILP++

5 Conclusion

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 2 / 57

Page 3: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Outline1 Introduction

MotivationObjectivesOverview

2 Background KnowledgePropositional (Classical) LogicFirst–Order LogicLogic Programming

3 Inductive Logic ProgrammingDefinitionsProgol

4 Neural–Symbolic SystemsIntroductionC–IL2PCILP++

5 Conclusion

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 2 / 57

Page 4: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Outline1 Introduction

MotivationObjectivesOverview

2 Background KnowledgePropositional (Classical) LogicFirst–Order LogicLogic Programming

3 Inductive Logic ProgrammingDefinitionsProgol

4 Neural–Symbolic SystemsIntroductionC–IL2PCILP++

5 Conclusion

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 2 / 57

Page 5: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Outline1 Introduction

MotivationObjectivesOverview

2 Background KnowledgePropositional (Classical) LogicFirst–Order LogicLogic Programming

3 Inductive Logic ProgrammingDefinitionsProgol

4 Neural–Symbolic SystemsIntroductionC–IL2PCILP++

5 Conclusion

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 2 / 57

Page 6: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Outline1 Introduction

MotivationObjectivesOverview

2 Background KnowledgePropositional (Classical) LogicFirst–Order LogicLogic Programming

3 Inductive Logic ProgrammingDefinitionsProgol

4 Neural–Symbolic SystemsIntroductionC–IL2PCILP++

5 ConclusionManoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 2 / 57

Page 7: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Motivation

Outline1 Introduction

MotivationObjectivesOverview

2 Background KnowledgePropositional (Classical) LogicFirst–Order LogicLogic Programming

3 Inductive Logic ProgrammingDefinitionsProgol

4 Neural–Symbolic SystemsIntroductionC–IL2PCILP++

5 ConclusionManoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 2 / 57

Page 8: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Motivation

Thinking and Explaining

Imagine a father teaching his little daughter how to drink a glass ofwater

He needs to use a proper language to teach her each step involvedIt should be as clear as possibleThe representation of each object should be good enough for that

Which would fit best?

“To drink water, you need to grab a glass and use a sink”water, glass ∈ [0,1], threshold = 2,drinking = ((water + glass) ≥ threshold)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 3 / 57

Page 9: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Motivation

Thinking and Explaining

Imagine a father teaching his little daughter how to drink a glass ofwater

He needs to use a proper language to teach her each step involved

It should be as clear as possibleThe representation of each object should be good enough for that

Which would fit best?

“To drink water, you need to grab a glass and use a sink”water, glass ∈ [0,1], threshold = 2,drinking = ((water + glass) ≥ threshold)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 3 / 57

Page 10: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Motivation

Thinking and Explaining

Imagine a father teaching his little daughter how to drink a glass ofwater

He needs to use a proper language to teach her each step involvedIt should be as clear as possible

The representation of each object should be good enough for thatWhich would fit best?

“To drink water, you need to grab a glass and use a sink”water, glass ∈ [0,1], threshold = 2,drinking = ((water + glass) ≥ threshold)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 3 / 57

Page 11: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Motivation

Thinking and Explaining

Imagine a father teaching his little daughter how to drink a glass ofwater

He needs to use a proper language to teach her each step involvedIt should be as clear as possibleThe representation of each object should be good enough for that

Which would fit best?

“To drink water, you need to grab a glass and use a sink”water, glass ∈ [0,1], threshold = 2,drinking = ((water + glass) ≥ threshold)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 3 / 57

Page 12: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Motivation

Thinking and Explaining

Imagine a father teaching his little daughter how to drink a glass ofwater

He needs to use a proper language to teach her each step involvedIt should be as clear as possibleThe representation of each object should be good enough for that

Which would fit best?

“To drink water, you need to grab a glass and use a sink”water, glass ∈ [0,1], threshold = 2,drinking = ((water + glass) ≥ threshold)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 3 / 57

Page 13: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Motivation

Thinking and Explaining

Imagine a father teaching his little daughter how to drink a glass ofwater

He needs to use a proper language to teach her each step involvedIt should be as clear as possibleThe representation of each object should be good enough for that

Which would fit best?“To drink water, you need to grab a glass and use a sink”

water, glass ∈ [0,1], threshold = 2,drinking = ((water + glass) ≥ threshold)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 3 / 57

Page 14: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Motivation

Thinking and Explaining

Imagine a father teaching his little daughter how to drink a glass ofwater

He needs to use a proper language to teach her each step involvedIt should be as clear as possibleThe representation of each object should be good enough for that

Which would fit best?“To drink water, you need to grab a glass and use a sink”water, glass ∈ [0,1], threshold = 2,drinking = ((water + glass) ≥ threshold)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 3 / 57

Page 15: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Motivation

Symbolic Arguments

“The Neural Networks did perform well (...). However, (...) theyconsumed enormous amounts of CPU time and they aresometimes equaled by simple symbolic classifiers” (Weiss andKapouleas, 1989)

“Structured knowledge, is difficult to represent in Neural Networks,contrary to traditional logical models” (Toiviainen, 2000)“Attempts have been made to explain the behavior ofconnectionist networks (...). These explanations are, however, atthe level of primitive features of the network (...). Explanations ona higher level of knowledge are difficult to achieve” (Toiviainen,2000)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 4 / 57

Page 16: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Motivation

Symbolic Arguments

“The Neural Networks did perform well (...). However, (...) theyconsumed enormous amounts of CPU time and they aresometimes equaled by simple symbolic classifiers” (Weiss andKapouleas, 1989)“Structured knowledge, is difficult to represent in Neural Networks,contrary to traditional logical models” (Toiviainen, 2000)

“Attempts have been made to explain the behavior ofconnectionist networks (...). These explanations are, however, atthe level of primitive features of the network (...). Explanations ona higher level of knowledge are difficult to achieve” (Toiviainen,2000)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 4 / 57

Page 17: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Motivation

Symbolic Arguments

“The Neural Networks did perform well (...). However, (...) theyconsumed enormous amounts of CPU time and they aresometimes equaled by simple symbolic classifiers” (Weiss andKapouleas, 1989)“Structured knowledge, is difficult to represent in Neural Networks,contrary to traditional logical models” (Toiviainen, 2000)“Attempts have been made to explain the behavior ofconnectionist networks (...). These explanations are, however, atthe level of primitive features of the network (...). Explanations ona higher level of knowledge are difficult to achieve” (Toiviainen,2000)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 4 / 57

Page 18: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Motivation

Connectionistic Arguments

“Connectionist networks are robust. (...) They are resistant tonoise and gracefully degrade when they are damaged oroverloaded with information” (Smolensky et al., 1992)

“Neural Networks are capable of extracting significant featuresfrom the training set and using them to process a novel inputpattern, thus generalizing better” (Toiviainen, 2000)“Differently from (symbolic) machine learning, (numeric) neuralnetworks perform inductive learning in such a way that thestatistical characteristics of the data are encoded in their sets ofweights” (Garcez et al., 2009)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 5 / 57

Page 19: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Motivation

Connectionistic Arguments

“Connectionist networks are robust. (...) They are resistant tonoise and gracefully degrade when they are damaged oroverloaded with information” (Smolensky et al., 1992)“Neural Networks are capable of extracting significant featuresfrom the training set and using them to process a novel inputpattern, thus generalizing better” (Toiviainen, 2000)

“Differently from (symbolic) machine learning, (numeric) neuralnetworks perform inductive learning in such a way that thestatistical characteristics of the data are encoded in their sets ofweights” (Garcez et al., 2009)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 5 / 57

Page 20: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Motivation

Connectionistic Arguments

“Connectionist networks are robust. (...) They are resistant tonoise and gracefully degrade when they are damaged oroverloaded with information” (Smolensky et al., 1992)“Neural Networks are capable of extracting significant featuresfrom the training set and using them to process a novel inputpattern, thus generalizing better” (Toiviainen, 2000)“Differently from (symbolic) machine learning, (numeric) neuralnetworks perform inductive learning in such a way that thestatistical characteristics of the data are encoded in their sets ofweights” (Garcez et al., 2009)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 5 / 57

Page 21: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Motivation

Which Means...

Both paradigms has its own strengths and weaknesses

Both are usually better suited on different kinds of applicationsBoth are important and relevant to a complete reasoningmodel

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 6 / 57

Page 22: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Motivation

Which Means...

Both paradigms has its own strengths and weaknessesBoth are usually better suited on different kinds of applications

Both are important and relevant to a complete reasoningmodel

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 6 / 57

Page 23: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Motivation

Which Means...

Both paradigms has its own strengths and weaknessesBoth are usually better suited on different kinds of applicationsBoth are important and relevant to a complete reasoningmodel

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 6 / 57

Page 24: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Motivation

The World Without Logic (1)

With Logic:IF (I Study) AND NOT (Evil Teacher) → (I Will Pass)

Without Logic (eg. one-layer NN):Wstudy, pass = 0.989;WevilTeacher, pass = -0.966

Knowledge Representation:

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 7 / 57

Page 25: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Motivation

The World Without Logic (2)

I am sleepy, I am a little tired, I am not ok....

5.5345, 0.5643e123, -9.7424...

With Logic Without Logic

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 8 / 57

Page 26: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Objectives

Outline1 Introduction

MotivationObjectivesOverview

2 Background KnowledgePropositional (Classical) LogicFirst–Order LogicLogic Programming

3 Inductive Logic ProgrammingDefinitionsProgol

4 Neural–Symbolic SystemsIntroductionC–IL2PCILP++

5 ConclusionManoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 8 / 57

Page 27: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Objectives

This Talk’s Goals

Formally introduce Inductive Logic Programming (ILP) and itstheoretical foundations

Give an overall “feeling” of how it worksBriefly point out some alternative applications of ILP

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 9 / 57

Page 28: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Objectives

This Talk’s Goals

Formally introduce Inductive Logic Programming (ILP) and itstheoretical foundationsGive an overall “feeling” of how it works

Briefly point out some alternative applications of ILP

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 9 / 57

Page 29: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Objectives

This Talk’s Goals

Formally introduce Inductive Logic Programming (ILP) and itstheoretical foundationsGive an overall “feeling” of how it worksBriefly point out some alternative applications of ILP

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 9 / 57

Page 30: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Overview

Outline1 Introduction

MotivationObjectivesOverview

2 Background KnowledgePropositional (Classical) LogicFirst–Order LogicLogic Programming

3 Inductive Logic ProgrammingDefinitionsProgol

4 Neural–Symbolic SystemsIntroductionC–IL2PCILP++

5 ConclusionManoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 9 / 57

Page 31: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Overview

Remainder Of The Talk

Background Knowledge, briefly explaining Propositional andFirst–Order Logics

Inductive Logic Programming, which will show the basic ILPconceptSome Relevant Systems that uses ILP, introducing theConnectionist and Inductive Learning and Logic Programming,C–IL2PConclusion, to enclose everything that has been presented andadd some final remarks

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 10 / 57

Page 32: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Overview

Remainder Of The Talk

Background Knowledge, briefly explaining Propositional andFirst–Order LogicsInductive Logic Programming, which will show the basic ILPconcept

Some Relevant Systems that uses ILP, introducing theConnectionist and Inductive Learning and Logic Programming,C–IL2PConclusion, to enclose everything that has been presented andadd some final remarks

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 10 / 57

Page 33: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Overview

Remainder Of The Talk

Background Knowledge, briefly explaining Propositional andFirst–Order LogicsInductive Logic Programming, which will show the basic ILPconceptSome Relevant Systems that uses ILP, introducing theConnectionist and Inductive Learning and Logic Programming,C–IL2P

Conclusion, to enclose everything that has been presented andadd some final remarks

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 10 / 57

Page 34: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Introduction Overview

Remainder Of The Talk

Background Knowledge, briefly explaining Propositional andFirst–Order LogicsInductive Logic Programming, which will show the basic ILPconceptSome Relevant Systems that uses ILP, introducing theConnectionist and Inductive Learning and Logic Programming,C–IL2PConclusion, to enclose everything that has been presented andadd some final remarks

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 10 / 57

Page 35: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Outline1 Introduction

MotivationObjectivesOverview

2 Background KnowledgePropositional (Classical) LogicFirst–Order LogicLogic Programming

3 Inductive Logic ProgrammingDefinitionsProgol

4 Neural–Symbolic SystemsIntroductionC–IL2PCILP++

5 ConclusionManoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 10 / 57

Page 36: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Types of Reasoning

Deductive Reasoning: given a background theory, what ispossible to be inferred from it?

Inductive Reasoning: given a background theory and a set ofexamples, what kinds of new theories can be inferred?Abductive Reasoning: given a background theory and a set ofexamples, what kinds of facts can explain them?Deductive systems are clearly different from the other two, butinductive and abductive ones are somewhat similarIn fact, under certain circumstances, an inductive task can betransformed into an abductive one and vice–versa

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 11 / 57

Page 37: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Types of Reasoning

Deductive Reasoning: given a background theory, what ispossible to be inferred from it?Inductive Reasoning: given a background theory and a set ofexamples, what kinds of new theories can be inferred?

Abductive Reasoning: given a background theory and a set ofexamples, what kinds of facts can explain them?Deductive systems are clearly different from the other two, butinductive and abductive ones are somewhat similarIn fact, under certain circumstances, an inductive task can betransformed into an abductive one and vice–versa

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 11 / 57

Page 38: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Types of Reasoning

Deductive Reasoning: given a background theory, what ispossible to be inferred from it?Inductive Reasoning: given a background theory and a set ofexamples, what kinds of new theories can be inferred?Abductive Reasoning: given a background theory and a set ofexamples, what kinds of facts can explain them?

Deductive systems are clearly different from the other two, butinductive and abductive ones are somewhat similarIn fact, under certain circumstances, an inductive task can betransformed into an abductive one and vice–versa

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 11 / 57

Page 39: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Types of Reasoning

Deductive Reasoning: given a background theory, what ispossible to be inferred from it?Inductive Reasoning: given a background theory and a set ofexamples, what kinds of new theories can be inferred?Abductive Reasoning: given a background theory and a set ofexamples, what kinds of facts can explain them?Deductive systems are clearly different from the other two, butinductive and abductive ones are somewhat similar

In fact, under certain circumstances, an inductive task can betransformed into an abductive one and vice–versa

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 11 / 57

Page 40: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Types of Reasoning

Deductive Reasoning: given a background theory, what ispossible to be inferred from it?Inductive Reasoning: given a background theory and a set ofexamples, what kinds of new theories can be inferred?Abductive Reasoning: given a background theory and a set ofexamples, what kinds of facts can explain them?Deductive systems are clearly different from the other two, butinductive and abductive ones are somewhat similarIn fact, under certain circumstances, an inductive task can betransformed into an abductive one and vice–versa

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 11 / 57

Page 41: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Syntax

Atom: upper–case letter (P, Q, R, ...), ⊥ or T

Logical Negation: ¬Literal: atom, preceded (negative literal) or not (positive literal)by ¬Connectives:

∧ (and): P ∧Q() (parenthesis): (P ∧Q)∨ (or): R ∨ (P ∧Q)→ (implication): (R ∨ (P ∧Q))→ S↔ (double–implication): ((R ∨ (P ∧Q))→ S)↔ T

Clause: one or more literals connected through zero or moreconnectives, eg. ((R ∨ (P ∧Q))→ S)↔ TTheory: set of one or more clauses, representing a knowledgedomain

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 12 / 57

Page 42: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Syntax

Atom: upper–case letter (P, Q, R, ...), ⊥ or TLogical Negation: ¬

Literal: atom, preceded (negative literal) or not (positive literal)by ¬Connectives:

∧ (and): P ∧Q() (parenthesis): (P ∧Q)∨ (or): R ∨ (P ∧Q)→ (implication): (R ∨ (P ∧Q))→ S↔ (double–implication): ((R ∨ (P ∧Q))→ S)↔ T

Clause: one or more literals connected through zero or moreconnectives, eg. ((R ∨ (P ∧Q))→ S)↔ TTheory: set of one or more clauses, representing a knowledgedomain

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 12 / 57

Page 43: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Syntax

Atom: upper–case letter (P, Q, R, ...), ⊥ or TLogical Negation: ¬Literal: atom, preceded (negative literal) or not (positive literal)by ¬

Connectives:

∧ (and): P ∧Q() (parenthesis): (P ∧Q)∨ (or): R ∨ (P ∧Q)→ (implication): (R ∨ (P ∧Q))→ S↔ (double–implication): ((R ∨ (P ∧Q))→ S)↔ T

Clause: one or more literals connected through zero or moreconnectives, eg. ((R ∨ (P ∧Q))→ S)↔ TTheory: set of one or more clauses, representing a knowledgedomain

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 12 / 57

Page 44: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Syntax

Atom: upper–case letter (P, Q, R, ...), ⊥ or TLogical Negation: ¬Literal: atom, preceded (negative literal) or not (positive literal)by ¬Connectives:

∧ (and): P ∧Q() (parenthesis): (P ∧Q)∨ (or): R ∨ (P ∧Q)→ (implication): (R ∨ (P ∧Q))→ S↔ (double–implication): ((R ∨ (P ∧Q))→ S)↔ T

Clause: one or more literals connected through zero or moreconnectives, eg. ((R ∨ (P ∧Q))→ S)↔ TTheory: set of one or more clauses, representing a knowledgedomain

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 12 / 57

Page 45: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Syntax

Atom: upper–case letter (P, Q, R, ...), ⊥ or TLogical Negation: ¬Literal: atom, preceded (negative literal) or not (positive literal)by ¬Connectives:

∧ (and): P ∧Q

() (parenthesis): (P ∧Q)∨ (or): R ∨ (P ∧Q)→ (implication): (R ∨ (P ∧Q))→ S↔ (double–implication): ((R ∨ (P ∧Q))→ S)↔ T

Clause: one or more literals connected through zero or moreconnectives, eg. ((R ∨ (P ∧Q))→ S)↔ TTheory: set of one or more clauses, representing a knowledgedomain

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 12 / 57

Page 46: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Syntax

Atom: upper–case letter (P, Q, R, ...), ⊥ or TLogical Negation: ¬Literal: atom, preceded (negative literal) or not (positive literal)by ¬Connectives:

∧ (and): P ∧Q() (parenthesis): (P ∧Q)

∨ (or): R ∨ (P ∧Q)→ (implication): (R ∨ (P ∧Q))→ S↔ (double–implication): ((R ∨ (P ∧Q))→ S)↔ T

Clause: one or more literals connected through zero or moreconnectives, eg. ((R ∨ (P ∧Q))→ S)↔ TTheory: set of one or more clauses, representing a knowledgedomain

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 12 / 57

Page 47: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Syntax

Atom: upper–case letter (P, Q, R, ...), ⊥ or TLogical Negation: ¬Literal: atom, preceded (negative literal) or not (positive literal)by ¬Connectives:

∧ (and): P ∧Q() (parenthesis): (P ∧Q)∨ (or): R ∨ (P ∧Q)

→ (implication): (R ∨ (P ∧Q))→ S↔ (double–implication): ((R ∨ (P ∧Q))→ S)↔ T

Clause: one or more literals connected through zero or moreconnectives, eg. ((R ∨ (P ∧Q))→ S)↔ TTheory: set of one or more clauses, representing a knowledgedomain

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 12 / 57

Page 48: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Syntax

Atom: upper–case letter (P, Q, R, ...), ⊥ or TLogical Negation: ¬Literal: atom, preceded (negative literal) or not (positive literal)by ¬Connectives:

∧ (and): P ∧Q() (parenthesis): (P ∧Q)∨ (or): R ∨ (P ∧Q)→ (implication): (R ∨ (P ∧Q))→ S

↔ (double–implication): ((R ∨ (P ∧Q))→ S)↔ T

Clause: one or more literals connected through zero or moreconnectives, eg. ((R ∨ (P ∧Q))→ S)↔ TTheory: set of one or more clauses, representing a knowledgedomain

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 12 / 57

Page 49: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Syntax

Atom: upper–case letter (P, Q, R, ...), ⊥ or TLogical Negation: ¬Literal: atom, preceded (negative literal) or not (positive literal)by ¬Connectives:

∧ (and): P ∧Q() (parenthesis): (P ∧Q)∨ (or): R ∨ (P ∧Q)→ (implication): (R ∨ (P ∧Q))→ S↔ (double–implication): ((R ∨ (P ∧Q))→ S)↔ T

Clause: one or more literals connected through zero or moreconnectives, eg. ((R ∨ (P ∧Q))→ S)↔ TTheory: set of one or more clauses, representing a knowledgedomain

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 12 / 57

Page 50: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Syntax

Atom: upper–case letter (P, Q, R, ...), ⊥ or TLogical Negation: ¬Literal: atom, preceded (negative literal) or not (positive literal)by ¬Connectives:

∧ (and): P ∧Q() (parenthesis): (P ∧Q)∨ (or): R ∨ (P ∧Q)→ (implication): (R ∨ (P ∧Q))→ S↔ (double–implication): ((R ∨ (P ∧Q))→ S)↔ T

Clause: one or more literals connected through zero or moreconnectives, eg. ((R ∨ (P ∧Q))→ S)↔ T

Theory: set of one or more clauses, representing a knowledgedomain

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 12 / 57

Page 51: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Syntax

Atom: upper–case letter (P, Q, R, ...), ⊥ or TLogical Negation: ¬Literal: atom, preceded (negative literal) or not (positive literal)by ¬Connectives:

∧ (and): P ∧Q() (parenthesis): (P ∧Q)∨ (or): R ∨ (P ∧Q)→ (implication): (R ∨ (P ∧Q))→ S↔ (double–implication): ((R ∨ (P ∧Q))→ S)↔ T

Clause: one or more literals connected through zero or moreconnectives, eg. ((R ∨ (P ∧Q))→ S)↔ TTheory: set of one or more clauses, representing a knowledgedomain

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 12 / 57

Page 52: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Semantics

An atom can be assigned true or false

Given a clause C, a clause interpretation for C consists oftruth–value assignments for each of its atoms:IC : PC

1 , . . ., PCl 7→ {true, false}|l|

Given a theory B = C1, ... Cm, an interpretation for B is anassignment of truth values for each of its atoms:IB: PC1

1 , . . ., PCmn 7→ {true, false}|n|

Models are interpretations that assigns truth values to a givenclause or theory:M(C) = I: I(C) 7→ true :: M(B) = I: I(B) 7→ trueInterpretations are often represented in a truth–table format

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 13 / 57

Page 53: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Semantics

An atom can be assigned true or falseGiven a clause C, a clause interpretation for C consists oftruth–value assignments for each of its atoms:IC : PC

1 , . . ., PCl 7→ {true, false}|l|

Given a theory B = C1, ... Cm, an interpretation for B is anassignment of truth values for each of its atoms:IB: PC1

1 , . . ., PCmn 7→ {true, false}|n|

Models are interpretations that assigns truth values to a givenclause or theory:M(C) = I: I(C) 7→ true :: M(B) = I: I(B) 7→ trueInterpretations are often represented in a truth–table format

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 13 / 57

Page 54: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Semantics

An atom can be assigned true or falseGiven a clause C, a clause interpretation for C consists oftruth–value assignments for each of its atoms:IC : PC

1 , . . ., PCl 7→ {true, false}|l|

Given a theory B = C1, ... Cm, an interpretation for B is anassignment of truth values for each of its atoms:IB: PC1

1 , . . ., PCmn 7→ {true, false}|n|

Models are interpretations that assigns truth values to a givenclause or theory:M(C) = I: I(C) 7→ true :: M(B) = I: I(B) 7→ trueInterpretations are often represented in a truth–table format

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 13 / 57

Page 55: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Semantics

An atom can be assigned true or falseGiven a clause C, a clause interpretation for C consists oftruth–value assignments for each of its atoms:IC : PC

1 , . . ., PCl 7→ {true, false}|l|

Given a theory B = C1, ... Cm, an interpretation for B is anassignment of truth values for each of its atoms:IB: PC1

1 , . . ., PCmn 7→ {true, false}|n|

Models are interpretations that assigns truth values to a givenclause or theory:M(C) = I: I(C) 7→ true :: M(B) = I: I(B) 7→ true

Interpretations are often represented in a truth–table format

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 13 / 57

Page 56: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Semantics

An atom can be assigned true or falseGiven a clause C, a clause interpretation for C consists oftruth–value assignments for each of its atoms:IC : PC

1 , . . ., PCl 7→ {true, false}|l|

Given a theory B = C1, ... Cm, an interpretation for B is anassignment of truth values for each of its atoms:IB: PC1

1 , . . ., PCmn 7→ {true, false}|n|

Models are interpretations that assigns truth values to a givenclause or theory:M(C) = I: I(C) 7→ true :: M(B) = I: I(B) 7→ trueInterpretations are often represented in a truth–table format

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 13 / 57

Page 57: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Connectives Truth Table

PS: All “v” symbols inside the table are true values

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 14 / 57

Page 58: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Logical Consequence

A clause C is a logical consequence of a theory B if and only ifM(B) ⊆ M(C) (B |= C)

Logical consequence is also known as entailment: B entails C ifand only if M(B) ⊆ M(C)C is satisfiable if M(C) 6= ∅refutational consequence: B |= C if and only if B ∪ {¬ C} is notsatisfiable

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 15 / 57

Page 59: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Logical Consequence

A clause C is a logical consequence of a theory B if and only ifM(B) ⊆ M(C) (B |= C)Logical consequence is also known as entailment: B entails C ifand only if M(B) ⊆ M(C)

C is satisfiable if M(C) 6= ∅refutational consequence: B |= C if and only if B ∪ {¬ C} is notsatisfiable

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 15 / 57

Page 60: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Logical Consequence

A clause C is a logical consequence of a theory B if and only ifM(B) ⊆ M(C) (B |= C)Logical consequence is also known as entailment: B entails C ifand only if M(B) ⊆ M(C)C is satisfiable if M(C) 6= ∅

refutational consequence: B |= C if and only if B ∪ {¬ C} is notsatisfiable

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 15 / 57

Page 61: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Logical Consequence

A clause C is a logical consequence of a theory B if and only ifM(B) ⊆ M(C) (B |= C)Logical consequence is also known as entailment: B entails C ifand only if M(B) ⊆ M(C)C is satisfiable if M(C) 6= ∅refutational consequence: B |= C if and only if B ∪ {¬ C} is notsatisfiable

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 15 / 57

Page 62: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Deductive Systems

A deductive system DS = (L, AX, R) is composed by:

L: used languageAX: logical axioms setR: a set of inference rules

A proof of a clause C is a set of clauses DB, on the system DS(DB ` C), if and only if, exists a finite sequence of clauses (D1, . . .,Dn) which holds:

1 Dn = C2 For each i ∈ [1,n], one of the following conditions is satisfied:

Di is an instance of AXDi ∈ DBThere exists j, k < i in which Di can be obtained by applying rules ofR

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 16 / 57

Page 63: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Deductive Systems

A deductive system DS = (L, AX, R) is composed by:L: used language

AX: logical axioms setR: a set of inference rules

A proof of a clause C is a set of clauses DB, on the system DS(DB ` C), if and only if, exists a finite sequence of clauses (D1, . . .,Dn) which holds:

1 Dn = C2 For each i ∈ [1,n], one of the following conditions is satisfied:

Di is an instance of AXDi ∈ DBThere exists j, k < i in which Di can be obtained by applying rules ofR

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 16 / 57

Page 64: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Deductive Systems

A deductive system DS = (L, AX, R) is composed by:L: used languageAX: logical axioms set

R: a set of inference rulesA proof of a clause C is a set of clauses DB, on the system DS(DB ` C), if and only if, exists a finite sequence of clauses (D1, . . .,Dn) which holds:

1 Dn = C2 For each i ∈ [1,n], one of the following conditions is satisfied:

Di is an instance of AXDi ∈ DBThere exists j, k < i in which Di can be obtained by applying rules ofR

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 16 / 57

Page 65: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Deductive Systems

A deductive system DS = (L, AX, R) is composed by:L: used languageAX: logical axioms setR: a set of inference rules

A proof of a clause C is a set of clauses DB, on the system DS(DB ` C), if and only if, exists a finite sequence of clauses (D1, . . .,Dn) which holds:

1 Dn = C2 For each i ∈ [1,n], one of the following conditions is satisfied:

Di is an instance of AXDi ∈ DBThere exists j, k < i in which Di can be obtained by applying rules ofR

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 16 / 57

Page 66: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Deductive Systems

A deductive system DS = (L, AX, R) is composed by:L: used languageAX: logical axioms setR: a set of inference rules

A proof of a clause C is a set of clauses DB, on the system DS(DB ` C), if and only if, exists a finite sequence of clauses (D1, . . .,Dn) which holds:

1 Dn = C2 For each i ∈ [1,n], one of the following conditions is satisfied:

Di is an instance of AXDi ∈ DBThere exists j, k < i in which Di can be obtained by applying rules ofR

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 16 / 57

Page 67: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Deductive Systems

A deductive system DS = (L, AX, R) is composed by:L: used languageAX: logical axioms setR: a set of inference rules

A proof of a clause C is a set of clauses DB, on the system DS(DB ` C), if and only if, exists a finite sequence of clauses (D1, . . .,Dn) which holds:

1 Dn = C

2 For each i ∈ [1,n], one of the following conditions is satisfied:

Di is an instance of AXDi ∈ DBThere exists j, k < i in which Di can be obtained by applying rules ofR

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 16 / 57

Page 68: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Deductive Systems

A deductive system DS = (L, AX, R) is composed by:L: used languageAX: logical axioms setR: a set of inference rules

A proof of a clause C is a set of clauses DB, on the system DS(DB ` C), if and only if, exists a finite sequence of clauses (D1, . . .,Dn) which holds:

1 Dn = C2 For each i ∈ [1,n], one of the following conditions is satisfied:

Di is an instance of AXDi ∈ DBThere exists j, k < i in which Di can be obtained by applying rules ofR

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 16 / 57

Page 69: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Deductive Systems

A deductive system DS = (L, AX, R) is composed by:L: used languageAX: logical axioms setR: a set of inference rules

A proof of a clause C is a set of clauses DB, on the system DS(DB ` C), if and only if, exists a finite sequence of clauses (D1, . . .,Dn) which holds:

1 Dn = C2 For each i ∈ [1,n], one of the following conditions is satisfied:

Di is an instance of AX

Di ∈ DBThere exists j, k < i in which Di can be obtained by applying rules ofR

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 16 / 57

Page 70: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Deductive Systems

A deductive system DS = (L, AX, R) is composed by:L: used languageAX: logical axioms setR: a set of inference rules

A proof of a clause C is a set of clauses DB, on the system DS(DB ` C), if and only if, exists a finite sequence of clauses (D1, . . .,Dn) which holds:

1 Dn = C2 For each i ∈ [1,n], one of the following conditions is satisfied:

Di is an instance of AXDi ∈ DB

There exists j, k < i in which Di can be obtained by applying rules ofR

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 16 / 57

Page 71: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Deductive Systems

A deductive system DS = (L, AX, R) is composed by:L: used languageAX: logical axioms setR: a set of inference rules

A proof of a clause C is a set of clauses DB, on the system DS(DB ` C), if and only if, exists a finite sequence of clauses (D1, . . .,Dn) which holds:

1 Dn = C2 For each i ∈ [1,n], one of the following conditions is satisfied:

Di is an instance of AXDi ∈ DBThere exists j, k < i in which Di can be obtained by applying rules ofR

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 16 / 57

Page 72: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Resolution

Based on refutational consequence

Definition:

L: propositional clauses in conjunctive normal form:(R ∨ (P ∧Q))→ S ⇒ (¬R ∨ S) ∧ (¬P ∨ S) ∧ (¬Q ∨ S)AX: ∅R: propositional resolution – {A ∨ B; C ∨ ¬B}⇒ {A ∨ C}

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 17 / 57

Page 73: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Resolution

Based on refutational consequenceDefinition:

L: propositional clauses in conjunctive normal form:(R ∨ (P ∧Q))→ S ⇒ (¬R ∨ S) ∧ (¬P ∨ S) ∧ (¬Q ∨ S)AX: ∅R: propositional resolution – {A ∨ B; C ∨ ¬B}⇒ {A ∨ C}

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 17 / 57

Page 74: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Resolution

Based on refutational consequenceDefinition:

L: propositional clauses in conjunctive normal form:(R ∨ (P ∧Q))→ S ⇒ (¬R ∨ S) ∧ (¬P ∨ S) ∧ (¬Q ∨ S)

AX: ∅R: propositional resolution – {A ∨ B; C ∨ ¬B}⇒ {A ∨ C}

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 17 / 57

Page 75: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Resolution

Based on refutational consequenceDefinition:

L: propositional clauses in conjunctive normal form:(R ∨ (P ∧Q))→ S ⇒ (¬R ∨ S) ∧ (¬P ∨ S) ∧ (¬Q ∨ S)AX: ∅

R: propositional resolution – {A ∨ B; C ∨ ¬B}⇒ {A ∨ C}

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 17 / 57

Page 76: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Classical Logic

Resolution

Based on refutational consequenceDefinition:

L: propositional clauses in conjunctive normal form:(R ∨ (P ∧Q))→ S ⇒ (¬R ∨ S) ∧ (¬P ∨ S) ∧ (¬Q ∨ S)AX: ∅R: propositional resolution – {A ∨ B; C ∨ ¬B}⇒ {A ∨ C}

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 17 / 57

Page 77: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

Outline1 Introduction

MotivationObjectivesOverview

2 Background KnowledgePropositional (Classical) LogicFirst–Order LogicLogic Programming

3 Inductive Logic ProgrammingDefinitionsProgol

4 Neural–Symbolic SystemsIntroductionC–IL2PCILP++

5 ConclusionManoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 17 / 57

Page 78: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

Description

Propositional Logic direct extension, to deal with predicates(relations)

Able to conclude particular features of general characteristics overelements of a given domainAble to conclude general features from particularities of singleelements of a given domainTo achieve that, two quantifiers were included into propositionallogic: ∀ (universal) and ∃ (existential)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 18 / 57

Page 79: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

Description

Propositional Logic direct extension, to deal with predicates(relations)Able to conclude particular features of general characteristics overelements of a given domain

Able to conclude general features from particularities of singleelements of a given domainTo achieve that, two quantifiers were included into propositionallogic: ∀ (universal) and ∃ (existential)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 18 / 57

Page 80: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

Description

Propositional Logic direct extension, to deal with predicates(relations)Able to conclude particular features of general characteristics overelements of a given domainAble to conclude general features from particularities of singleelements of a given domain

To achieve that, two quantifiers were included into propositionallogic: ∀ (universal) and ∃ (existential)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 18 / 57

Page 81: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

Description

Propositional Logic direct extension, to deal with predicates(relations)Able to conclude particular features of general characteristics overelements of a given domainAble to conclude general features from particularities of singleelements of a given domainTo achieve that, two quantifiers were included into propositionallogic: ∀ (universal) and ∃ (existential)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 18 / 57

Page 82: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

Syntax Modifications

Terms are consisted of

Functional symbols⇒ starts with lower–case and can have 0 ormore terms (f (X ,a))Constants⇒ facts, defined by functions of arity 0 (f )Variables⇒ represented by upper–case letters (X )

Predicates⇒ upper–case relation between terms (P(X ))Quantifiers:

∀ (universal): specifies features that are valid for every individual ofthe domain∃ (existential): specifies features that are valid for at least oneindividual of the domain

Clause: now can have variable quantified by one leftmostquantifier, eg. ∀x((R(X ) ∨ (P(X ) ∧ q))→ s)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 19 / 57

Page 83: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

Syntax Modifications

Terms are consisted of

Functional symbols⇒ starts with lower–case and can have 0 ormore terms (f (X ,a))

Constants⇒ facts, defined by functions of arity 0 (f )Variables⇒ represented by upper–case letters (X )

Predicates⇒ upper–case relation between terms (P(X ))Quantifiers:

∀ (universal): specifies features that are valid for every individual ofthe domain∃ (existential): specifies features that are valid for at least oneindividual of the domain

Clause: now can have variable quantified by one leftmostquantifier, eg. ∀x((R(X ) ∨ (P(X ) ∧ q))→ s)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 19 / 57

Page 84: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

Syntax Modifications

Terms are consisted of

Functional symbols⇒ starts with lower–case and can have 0 ormore terms (f (X ,a))Constants⇒ facts, defined by functions of arity 0 (f )

Variables⇒ represented by upper–case letters (X )

Predicates⇒ upper–case relation between terms (P(X ))Quantifiers:

∀ (universal): specifies features that are valid for every individual ofthe domain∃ (existential): specifies features that are valid for at least oneindividual of the domain

Clause: now can have variable quantified by one leftmostquantifier, eg. ∀x((R(X ) ∨ (P(X ) ∧ q))→ s)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 19 / 57

Page 85: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

Syntax Modifications

Terms are consisted of

Functional symbols⇒ starts with lower–case and can have 0 ormore terms (f (X ,a))Constants⇒ facts, defined by functions of arity 0 (f )Variables⇒ represented by upper–case letters (X )

Predicates⇒ upper–case relation between terms (P(X ))Quantifiers:

∀ (universal): specifies features that are valid for every individual ofthe domain∃ (existential): specifies features that are valid for at least oneindividual of the domain

Clause: now can have variable quantified by one leftmostquantifier, eg. ∀x((R(X ) ∨ (P(X ) ∧ q))→ s)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 19 / 57

Page 86: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

Syntax Modifications

Terms are consisted of

Functional symbols⇒ starts with lower–case and can have 0 ormore terms (f (X ,a))Constants⇒ facts, defined by functions of arity 0 (f )Variables⇒ represented by upper–case letters (X )

Predicates⇒ upper–case relation between terms (P(X ))

Quantifiers:

∀ (universal): specifies features that are valid for every individual ofthe domain∃ (existential): specifies features that are valid for at least oneindividual of the domain

Clause: now can have variable quantified by one leftmostquantifier, eg. ∀x((R(X ) ∨ (P(X ) ∧ q))→ s)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 19 / 57

Page 87: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

Syntax Modifications

Terms are consisted of

Functional symbols⇒ starts with lower–case and can have 0 ormore terms (f (X ,a))Constants⇒ facts, defined by functions of arity 0 (f )Variables⇒ represented by upper–case letters (X )

Predicates⇒ upper–case relation between terms (P(X ))Quantifiers:

∀ (universal): specifies features that are valid for every individual ofthe domain∃ (existential): specifies features that are valid for at least oneindividual of the domain

Clause: now can have variable quantified by one leftmostquantifier, eg. ∀x((R(X ) ∨ (P(X ) ∧ q))→ s)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 19 / 57

Page 88: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

Syntax Modifications

Terms are consisted of

Functional symbols⇒ starts with lower–case and can have 0 ormore terms (f (X ,a))Constants⇒ facts, defined by functions of arity 0 (f )Variables⇒ represented by upper–case letters (X )

Predicates⇒ upper–case relation between terms (P(X ))Quantifiers:

∀ (universal): specifies features that are valid for every individual ofthe domain

∃ (existential): specifies features that are valid for at least oneindividual of the domain

Clause: now can have variable quantified by one leftmostquantifier, eg. ∀x((R(X ) ∨ (P(X ) ∧ q))→ s)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 19 / 57

Page 89: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

Syntax Modifications

Terms are consisted of

Functional symbols⇒ starts with lower–case and can have 0 ormore terms (f (X ,a))Constants⇒ facts, defined by functions of arity 0 (f )Variables⇒ represented by upper–case letters (X )

Predicates⇒ upper–case relation between terms (P(X ))Quantifiers:

∀ (universal): specifies features that are valid for every individual ofthe domain∃ (existential): specifies features that are valid for at least oneindividual of the domain

Clause: now can have variable quantified by one leftmostquantifier, eg. ∀x((R(X ) ∨ (P(X ) ∧ q))→ s)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 19 / 57

Page 90: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

Syntax Modifications

Terms are consisted of

Functional symbols⇒ starts with lower–case and can have 0 ormore terms (f (X ,a))Constants⇒ facts, defined by functions of arity 0 (f )Variables⇒ represented by upper–case letters (X )

Predicates⇒ upper–case relation between terms (P(X ))Quantifiers:

∀ (universal): specifies features that are valid for every individual ofthe domain∃ (existential): specifies features that are valid for at least oneindividual of the domain

Clause: now can have variable quantified by one leftmostquantifier, eg. ∀x((R(X ) ∨ (P(X ) ∧ q))→ s)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 19 / 57

Page 91: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

Semantics Modifications

An atom can be assigned one value of a given domain D ofinstantiations (an assigned atom is called grounded)

Given a clause C, a clause interpretation for C consists ofassignments for each of its atomsGiven a theory B = {C1, ... Cm}, an interpretation for B is anassignment values for each of its atomsModels are interpretations that assigns truth values to a givenclause or theory

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 20 / 57

Page 92: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

Semantics Modifications

An atom can be assigned one value of a given domain D ofinstantiations (an assigned atom is called grounded)Given a clause C, a clause interpretation for C consists ofassignments for each of its atoms

Given a theory B = {C1, ... Cm}, an interpretation for B is anassignment values for each of its atomsModels are interpretations that assigns truth values to a givenclause or theory

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 20 / 57

Page 93: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

Semantics Modifications

An atom can be assigned one value of a given domain D ofinstantiations (an assigned atom is called grounded)Given a clause C, a clause interpretation for C consists ofassignments for each of its atomsGiven a theory B = {C1, ... Cm}, an interpretation for B is anassignment values for each of its atoms

Models are interpretations that assigns truth values to a givenclause or theory

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 20 / 57

Page 94: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

Semantics Modifications

An atom can be assigned one value of a given domain D ofinstantiations (an assigned atom is called grounded)Given a clause C, a clause interpretation for C consists ofassignments for each of its atomsGiven a theory B = {C1, ... Cm}, an interpretation for B is anassignment values for each of its atomsModels are interpretations that assigns truth values to a givenclause or theory

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 20 / 57

Page 95: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

First–Order Resolution

Each first–order clause passes through a standardization processcalled Skolemization

Makes use of unifiers (substitution θ that makes C1θ = C2θ)First–Order propositional resolution rule is identical to thepropositional one, but first unifies each termBesides the proof, first–order resolution returns all usedunifications

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 21 / 57

Page 96: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

First–Order Resolution

Each first–order clause passes through a standardization processcalled SkolemizationMakes use of unifiers (substitution θ that makes C1θ = C2θ)

First–Order propositional resolution rule is identical to thepropositional one, but first unifies each termBesides the proof, first–order resolution returns all usedunifications

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 21 / 57

Page 97: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

First–Order Resolution

Each first–order clause passes through a standardization processcalled SkolemizationMakes use of unifiers (substitution θ that makes C1θ = C2θ)First–Order propositional resolution rule is identical to thepropositional one, but first unifies each term

Besides the proof, first–order resolution returns all usedunifications

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 21 / 57

Page 98: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

First–Order Resolution

Each first–order clause passes through a standardization processcalled SkolemizationMakes use of unifiers (substitution θ that makes C1θ = C2θ)First–Order propositional resolution rule is identical to thepropositional one, but first unifies each termBesides the proof, first–order resolution returns all usedunifications

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 21 / 57

Page 99: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

First–Order Resolution Step

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 22 / 57

Page 100: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

First–Order Induction

Inverse Resolution: “backwards” resolution, from the leaves to theroot(s). Notable system: Cigol

New inference rule (given a clause C1 with an literal A, we want tofind C2 with ¬ A):(Resolvent − (C1 − {A})θ1)θ

−12 ∪ {¬Aθ1θ

−12 }

Immediate problem: whereas you are “going up” on inverseresolution, search space increases drastically

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 23 / 57

Page 101: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

First–Order Induction

Inverse Resolution: “backwards” resolution, from the leaves to theroot(s). Notable system: CigolNew inference rule (given a clause C1 with an literal A, we want tofind C2 with ¬ A):(Resolvent − (C1 − {A})θ1)θ

−12 ∪ {¬Aθ1θ

−12 }

Immediate problem: whereas you are “going up” on inverseresolution, search space increases drastically

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 23 / 57

Page 102: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge First–Order Logic

First–Order Induction

Inverse Resolution: “backwards” resolution, from the leaves to theroot(s). Notable system: CigolNew inference rule (given a clause C1 with an literal A, we want tofind C2 with ¬ A):(Resolvent − (C1 − {A})θ1)θ

−12 ∪ {¬Aθ1θ

−12 }

Immediate problem: whereas you are “going up” on inverseresolution, search space increases drastically

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 23 / 57

Page 103: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

Outline1 Introduction

MotivationObjectivesOverview

2 Background KnowledgePropositional (Classical) LogicFirst–Order LogicLogic Programming

3 Inductive Logic ProgrammingDefinitionsProgol

4 Neural–Symbolic SystemsIntroductionC–IL2PCILP++

5 ConclusionManoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 23 / 57

Page 104: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

Concepts

Restriction to the first–order characterization to a morecomputationally convenient language

Definite clauses of the form ∀X1,...,Xn(h ∨ b1 ∨ . . . ∨ bn) becomesh← b1 ∨ . . .∨ bn

h: head of the clauseb1 ∨ . . .∨ bn: bodies of the clause, each bi is called conditionFact: definite clause with empty bodyGoal: clause with non–empty body but no headDefinite Program: conjunction of definite clauses

The semantical domain used for most logic programs is theHerbrand Universe

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 24 / 57

Page 105: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

Concepts

Restriction to the first–order characterization to a morecomputationally convenient languageDefinite clauses of the form ∀X1,...,Xn(h ∨ b1 ∨ . . . ∨ bn) becomesh← b1 ∨ . . .∨ bn

h: head of the clauseb1 ∨ . . .∨ bn: bodies of the clause, each bi is called conditionFact: definite clause with empty bodyGoal: clause with non–empty body but no headDefinite Program: conjunction of definite clauses

The semantical domain used for most logic programs is theHerbrand Universe

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 24 / 57

Page 106: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

Concepts

Restriction to the first–order characterization to a morecomputationally convenient languageDefinite clauses of the form ∀X1,...,Xn(h ∨ b1 ∨ . . . ∨ bn) becomesh← b1 ∨ . . .∨ bn

h: head of the clause

b1 ∨ . . .∨ bn: bodies of the clause, each bi is called conditionFact: definite clause with empty bodyGoal: clause with non–empty body but no headDefinite Program: conjunction of definite clauses

The semantical domain used for most logic programs is theHerbrand Universe

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 24 / 57

Page 107: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

Concepts

Restriction to the first–order characterization to a morecomputationally convenient languageDefinite clauses of the form ∀X1,...,Xn(h ∨ b1 ∨ . . . ∨ bn) becomesh← b1 ∨ . . .∨ bn

h: head of the clauseb1 ∨ . . .∨ bn: bodies of the clause, each bi is called condition

Fact: definite clause with empty bodyGoal: clause with non–empty body but no headDefinite Program: conjunction of definite clauses

The semantical domain used for most logic programs is theHerbrand Universe

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 24 / 57

Page 108: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

Concepts

Restriction to the first–order characterization to a morecomputationally convenient languageDefinite clauses of the form ∀X1,...,Xn(h ∨ b1 ∨ . . . ∨ bn) becomesh← b1 ∨ . . .∨ bn

h: head of the clauseb1 ∨ . . .∨ bn: bodies of the clause, each bi is called conditionFact: definite clause with empty body

Goal: clause with non–empty body but no headDefinite Program: conjunction of definite clauses

The semantical domain used for most logic programs is theHerbrand Universe

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 24 / 57

Page 109: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

Concepts

Restriction to the first–order characterization to a morecomputationally convenient languageDefinite clauses of the form ∀X1,...,Xn(h ∨ b1 ∨ . . . ∨ bn) becomesh← b1 ∨ . . .∨ bn

h: head of the clauseb1 ∨ . . .∨ bn: bodies of the clause, each bi is called conditionFact: definite clause with empty bodyGoal: clause with non–empty body but no head

Definite Program: conjunction of definite clauses

The semantical domain used for most logic programs is theHerbrand Universe

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 24 / 57

Page 110: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

Concepts

Restriction to the first–order characterization to a morecomputationally convenient languageDefinite clauses of the form ∀X1,...,Xn(h ∨ b1 ∨ . . . ∨ bn) becomesh← b1 ∨ . . .∨ bn

h: head of the clauseb1 ∨ . . .∨ bn: bodies of the clause, each bi is called conditionFact: definite clause with empty bodyGoal: clause with non–empty body but no headDefinite Program: conjunction of definite clauses

The semantical domain used for most logic programs is theHerbrand Universe

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 24 / 57

Page 111: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

Concepts

Restriction to the first–order characterization to a morecomputationally convenient languageDefinite clauses of the form ∀X1,...,Xn(h ∨ b1 ∨ . . . ∨ bn) becomesh← b1 ∨ . . .∨ bn

h: head of the clauseb1 ∨ . . .∨ bn: bodies of the clause, each bi is called conditionFact: definite clause with empty bodyGoal: clause with non–empty body but no headDefinite Program: conjunction of definite clauses

The semantical domain used for most logic programs is theHerbrand Universe

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 24 / 57

Page 112: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

Prolog

PROgramming in LOGic: one of the pioneers of LogicProgramming

Makes deduction through a variation of the classic resolutionalgorithm, called SLD–ResolutionSLD–Resolution differs from classical resolution by defining whichclauses will be resolved

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 25 / 57

Page 113: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

Prolog

PROgramming in LOGic: one of the pioneers of LogicProgrammingMakes deduction through a variation of the classic resolutionalgorithm, called SLD–Resolution

SLD–Resolution differs from classical resolution by defining whichclauses will be resolved

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 25 / 57

Page 114: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

Prolog

PROgramming in LOGic: one of the pioneers of LogicProgrammingMakes deduction through a variation of the classic resolutionalgorithm, called SLD–ResolutionSLD–Resolution differs from classical resolution by defining whichclauses will be resolved

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 25 / 57

Page 115: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

Monotonic and Nonmonotonic Logic Programming

Logical entailment is monotonic (additions into a theory neverdecreases the amount of possible consequences)

An way to add nonmotonicity into a logic program is to useClosed–World Assumption (CWA):“If an literal of a goal is not proved by the current theory, then it isfalse”This rule is called Negation as FailureAn extension to resolution called SLD–NF has been created todeal with this kind of deductionCWA causes nonmotonicity

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 26 / 57

Page 116: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

Monotonic and Nonmonotonic Logic Programming

Logical entailment is monotonic (additions into a theory neverdecreases the amount of possible consequences)An way to add nonmotonicity into a logic program is to useClosed–World Assumption (CWA):“If an literal of a goal is not proved by the current theory, then it isfalse”

This rule is called Negation as FailureAn extension to resolution called SLD–NF has been created todeal with this kind of deductionCWA causes nonmotonicity

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 26 / 57

Page 117: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

Monotonic and Nonmonotonic Logic Programming

Logical entailment is monotonic (additions into a theory neverdecreases the amount of possible consequences)An way to add nonmotonicity into a logic program is to useClosed–World Assumption (CWA):“If an literal of a goal is not proved by the current theory, then it isfalse”This rule is called Negation as Failure

An extension to resolution called SLD–NF has been created todeal with this kind of deductionCWA causes nonmotonicity

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 26 / 57

Page 118: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

Monotonic and Nonmonotonic Logic Programming

Logical entailment is monotonic (additions into a theory neverdecreases the amount of possible consequences)An way to add nonmotonicity into a logic program is to useClosed–World Assumption (CWA):“If an literal of a goal is not proved by the current theory, then it isfalse”This rule is called Negation as FailureAn extension to resolution called SLD–NF has been created todeal with this kind of deduction

CWA causes nonmotonicity

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 26 / 57

Page 119: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

Monotonic and Nonmonotonic Logic Programming

Logical entailment is monotonic (additions into a theory neverdecreases the amount of possible consequences)An way to add nonmotonicity into a logic program is to useClosed–World Assumption (CWA):“If an literal of a goal is not proved by the current theory, then it isfalse”This rule is called Negation as FailureAn extension to resolution called SLD–NF has been created todeal with this kind of deductionCWA causes nonmotonicity

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 26 / 57

Page 120: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

CWA Example

Consider the following theory:

If a goal literal Trip(cambridge, train) is queried with regard to B, apositive answer will be givenOtherwise, if it is asked for Trip(paris, airplane), two answers canbe obtained, depending if CWA is being used

If it is not being used nothing will be answered (in Prolog, a “fail”message would be shown)If it is used, this query would return false

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 27 / 57

Page 121: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

CWA Example

Consider the following theory:

If a goal literal Trip(cambridge, train) is queried with regard to B, apositive answer will be given

Otherwise, if it is asked for Trip(paris, airplane), two answers canbe obtained, depending if CWA is being used

If it is not being used nothing will be answered (in Prolog, a “fail”message would be shown)If it is used, this query would return false

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 27 / 57

Page 122: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

CWA Example

Consider the following theory:

If a goal literal Trip(cambridge, train) is queried with regard to B, apositive answer will be givenOtherwise, if it is asked for Trip(paris, airplane), two answers canbe obtained, depending if CWA is being used

If it is not being used nothing will be answered (in Prolog, a “fail”message would be shown)If it is used, this query would return false

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 27 / 57

Page 123: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

CWA Example

Consider the following theory:

If a goal literal Trip(cambridge, train) is queried with regard to B, apositive answer will be givenOtherwise, if it is asked for Trip(paris, airplane), two answers canbe obtained, depending if CWA is being used

If it is not being used nothing will be answered (in Prolog, a “fail”message would be shown)

If it is used, this query would return false

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 27 / 57

Page 124: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Background Knowledge Logic Programming

CWA Example

Consider the following theory:

If a goal literal Trip(cambridge, train) is queried with regard to B, apositive answer will be givenOtherwise, if it is asked for Trip(paris, airplane), two answers canbe obtained, depending if CWA is being used

If it is not being used nothing will be answered (in Prolog, a “fail”message would be shown)If it is used, this query would return false

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 27 / 57

Page 125: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Outline1 Introduction

MotivationObjectivesOverview

2 Background KnowledgePropositional (Classical) LogicFirst–Order LogicLogic Programming

3 Inductive Logic ProgrammingDefinitionsProgol

4 Neural–Symbolic SystemsIntroductionC–IL2PCILP++

5 ConclusionManoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 27 / 57

Page 126: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Introduction

Inductive Logic Programming (ILP) is a machine learningtechnique that conducts supervised inductive concept learning

Which means: given a set of labeled examples E and abackground knowledge B, an ILP system will try to find ahypothesis function H that minimizes a specified loss(B ∪ H, E)In ILP context:

B: pre–existent definite programE: set of grounded atoms of target concept(s), in which labels aretruth–valuesH: target definite program that entails most examples of Eloss(H, E): f(number of examples entailed by B ∪ U)

The obtained H not only classifies new examples but can improvean existing theory

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 28 / 57

Page 127: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Introduction

Inductive Logic Programming (ILP) is a machine learningtechnique that conducts supervised inductive concept learningWhich means: given a set of labeled examples E and abackground knowledge B, an ILP system will try to find ahypothesis function H that minimizes a specified loss(B ∪ H, E)

In ILP context:

B: pre–existent definite programE: set of grounded atoms of target concept(s), in which labels aretruth–valuesH: target definite program that entails most examples of Eloss(H, E): f(number of examples entailed by B ∪ U)

The obtained H not only classifies new examples but can improvean existing theory

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 28 / 57

Page 128: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Introduction

Inductive Logic Programming (ILP) is a machine learningtechnique that conducts supervised inductive concept learningWhich means: given a set of labeled examples E and abackground knowledge B, an ILP system will try to find ahypothesis function H that minimizes a specified loss(B ∪ H, E)In ILP context:

B: pre–existent definite programE: set of grounded atoms of target concept(s), in which labels aretruth–valuesH: target definite program that entails most examples of Eloss(H, E): f(number of examples entailed by B ∪ U)

The obtained H not only classifies new examples but can improvean existing theory

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 28 / 57

Page 129: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Introduction

Inductive Logic Programming (ILP) is a machine learningtechnique that conducts supervised inductive concept learningWhich means: given a set of labeled examples E and abackground knowledge B, an ILP system will try to find ahypothesis function H that minimizes a specified loss(B ∪ H, E)In ILP context:

B: pre–existent definite program

E: set of grounded atoms of target concept(s), in which labels aretruth–valuesH: target definite program that entails most examples of Eloss(H, E): f(number of examples entailed by B ∪ U)

The obtained H not only classifies new examples but can improvean existing theory

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 28 / 57

Page 130: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Introduction

Inductive Logic Programming (ILP) is a machine learningtechnique that conducts supervised inductive concept learningWhich means: given a set of labeled examples E and abackground knowledge B, an ILP system will try to find ahypothesis function H that minimizes a specified loss(B ∪ H, E)In ILP context:

B: pre–existent definite programE: set of grounded atoms of target concept(s), in which labels aretruth–values

H: target definite program that entails most examples of Eloss(H, E): f(number of examples entailed by B ∪ U)

The obtained H not only classifies new examples but can improvean existing theory

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 28 / 57

Page 131: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Introduction

Inductive Logic Programming (ILP) is a machine learningtechnique that conducts supervised inductive concept learningWhich means: given a set of labeled examples E and abackground knowledge B, an ILP system will try to find ahypothesis function H that minimizes a specified loss(B ∪ H, E)In ILP context:

B: pre–existent definite programE: set of grounded atoms of target concept(s), in which labels aretruth–valuesH: target definite program that entails most examples of E

loss(H, E): f(number of examples entailed by B ∪ U)

The obtained H not only classifies new examples but can improvean existing theory

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 28 / 57

Page 132: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Introduction

Inductive Logic Programming (ILP) is a machine learningtechnique that conducts supervised inductive concept learningWhich means: given a set of labeled examples E and abackground knowledge B, an ILP system will try to find ahypothesis function H that minimizes a specified loss(B ∪ H, E)In ILP context:

B: pre–existent definite programE: set of grounded atoms of target concept(s), in which labels aretruth–valuesH: target definite program that entails most examples of Eloss(H, E): f(number of examples entailed by B ∪ U)

The obtained H not only classifies new examples but can improvean existing theory

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 28 / 57

Page 133: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Introduction

Inductive Logic Programming (ILP) is a machine learningtechnique that conducts supervised inductive concept learningWhich means: given a set of labeled examples E and abackground knowledge B, an ILP system will try to find ahypothesis function H that minimizes a specified loss(B ∪ H, E)In ILP context:

B: pre–existent definite programE: set of grounded atoms of target concept(s), in which labels aretruth–valuesH: target definite program that entails most examples of Eloss(H, E): f(number of examples entailed by B ∪ U)

The obtained H not only classifies new examples but can improvean existing theory

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 28 / 57

Page 134: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Task Formalization

An ILP task can be defined in two ways, depending on the type oflearning

If learning from entailment, it is defined as a tuple <E, B, L>,where:

E: set of positive and negative literals (examples)B: logic program that defines the background knowledge underlyingthe taskL: set of logic theories that restricts the search space to find asuitable hypothesis (language bias)

If learning from interpretation, it is also defined as <E, B, L>,where:

E: set of Herbrand Interpretations of B, labeled positive andnegative as wellB: logic program that defines the background knowledge underlyingthe taskL: language bias

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 29 / 57

Page 135: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Task Formalization

An ILP task can be defined in two ways, depending on the type oflearningIf learning from entailment, it is defined as a tuple <E, B, L>,where:

E: set of positive and negative literals (examples)B: logic program that defines the background knowledge underlyingthe taskL: set of logic theories that restricts the search space to find asuitable hypothesis (language bias)

If learning from interpretation, it is also defined as <E, B, L>,where:

E: set of Herbrand Interpretations of B, labeled positive andnegative as wellB: logic program that defines the background knowledge underlyingthe taskL: language bias

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 29 / 57

Page 136: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Task Formalization

An ILP task can be defined in two ways, depending on the type oflearningIf learning from entailment, it is defined as a tuple <E, B, L>,where:

E: set of positive and negative literals (examples)

B: logic program that defines the background knowledge underlyingthe taskL: set of logic theories that restricts the search space to find asuitable hypothesis (language bias)

If learning from interpretation, it is also defined as <E, B, L>,where:

E: set of Herbrand Interpretations of B, labeled positive andnegative as wellB: logic program that defines the background knowledge underlyingthe taskL: language bias

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 29 / 57

Page 137: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Task Formalization

An ILP task can be defined in two ways, depending on the type oflearningIf learning from entailment, it is defined as a tuple <E, B, L>,where:

E: set of positive and negative literals (examples)B: logic program that defines the background knowledge underlyingthe task

L: set of logic theories that restricts the search space to find asuitable hypothesis (language bias)

If learning from interpretation, it is also defined as <E, B, L>,where:

E: set of Herbrand Interpretations of B, labeled positive andnegative as wellB: logic program that defines the background knowledge underlyingthe taskL: language bias

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 29 / 57

Page 138: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Task Formalization

An ILP task can be defined in two ways, depending on the type oflearningIf learning from entailment, it is defined as a tuple <E, B, L>,where:

E: set of positive and negative literals (examples)B: logic program that defines the background knowledge underlyingthe taskL: set of logic theories that restricts the search space to find asuitable hypothesis (language bias)

If learning from interpretation, it is also defined as <E, B, L>,where:

E: set of Herbrand Interpretations of B, labeled positive andnegative as wellB: logic program that defines the background knowledge underlyingthe taskL: language bias

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 29 / 57

Page 139: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Task Formalization

An ILP task can be defined in two ways, depending on the type oflearningIf learning from entailment, it is defined as a tuple <E, B, L>,where:

E: set of positive and negative literals (examples)B: logic program that defines the background knowledge underlyingthe taskL: set of logic theories that restricts the search space to find asuitable hypothesis (language bias)

If learning from interpretation, it is also defined as <E, B, L>,where:

E: set of Herbrand Interpretations of B, labeled positive andnegative as wellB: logic program that defines the background knowledge underlyingthe taskL: language bias

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 29 / 57

Page 140: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Task Formalization

An ILP task can be defined in two ways, depending on the type oflearningIf learning from entailment, it is defined as a tuple <E, B, L>,where:

E: set of positive and negative literals (examples)B: logic program that defines the background knowledge underlyingthe taskL: set of logic theories that restricts the search space to find asuitable hypothesis (language bias)

If learning from interpretation, it is also defined as <E, B, L>,where:

E: set of Herbrand Interpretations of B, labeled positive andnegative as well

B: logic program that defines the background knowledge underlyingthe taskL: language bias

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 29 / 57

Page 141: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Task Formalization

An ILP task can be defined in two ways, depending on the type oflearningIf learning from entailment, it is defined as a tuple <E, B, L>,where:

E: set of positive and negative literals (examples)B: logic program that defines the background knowledge underlyingthe taskL: set of logic theories that restricts the search space to find asuitable hypothesis (language bias)

If learning from interpretation, it is also defined as <E, B, L>,where:

E: set of Herbrand Interpretations of B, labeled positive andnegative as wellB: logic program that defines the background knowledge underlyingthe task

L: language bias

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 29 / 57

Page 142: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Task Formalization

An ILP task can be defined in two ways, depending on the type oflearningIf learning from entailment, it is defined as a tuple <E, B, L>,where:

E: set of positive and negative literals (examples)B: logic program that defines the background knowledge underlyingthe taskL: set of logic theories that restricts the search space to find asuitable hypothesis (language bias)

If learning from interpretation, it is also defined as <E, B, L>,where:

E: set of Herbrand Interpretations of B, labeled positive andnegative as wellB: logic program that defines the background knowledge underlyingthe taskL: language bias

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 29 / 57

Page 143: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Hypothesis Search Types

ILP systems can build hypothesis following two directions:

Bottom–Up: starting with the most specific clause (⊥),generalizations can be made to make it cover the positive exampleswhile keeping most negative ones outTop–Down: starting with the most general clause (h←),specializations can be made to eliminate negative examples fromthe coverage set while maintaining positive ones covered

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 30 / 57

Page 144: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Hypothesis Search Types

ILP systems can build hypothesis following two directions:Bottom–Up: starting with the most specific clause (⊥),generalizations can be made to make it cover the positive exampleswhile keeping most negative ones out

Top–Down: starting with the most general clause (h←),specializations can be made to eliminate negative examples fromthe coverage set while maintaining positive ones covered

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 30 / 57

Page 145: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Hypothesis Search Types

ILP systems can build hypothesis following two directions:Bottom–Up: starting with the most specific clause (⊥),generalizations can be made to make it cover the positive exampleswhile keeping most negative ones outTop–Down: starting with the most general clause (h←),specializations can be made to eliminate negative examples fromthe coverage set while maintaining positive ones covered

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 30 / 57

Page 146: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

ILP General Algorithm

Most ILP systems are based in a Sequential–Covering algorithm:

REFINE is a function that varies between ILP systems andchooses or removes bodies from a candidate hypothesis

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 31 / 57

Page 147: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

ILP General Algorithm

Most ILP systems are based in a Sequential–Covering algorithm:

REFINE is a function that varies between ILP systems andchooses or removes bodies from a candidate hypothesis

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 31 / 57

Page 148: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Quick Note

ILP systems relies on specialization and generalization operatorsto build hypothesis

The way they work and are used depends on the ILP systembeing used, as well as the language bias LFor convenience, Progol has been chosen as the system whichwill illustrate how these dependencies works

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 32 / 57

Page 149: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Quick Note

ILP systems relies on specialization and generalization operatorsto build hypothesisThe way they work and are used depends on the ILP systembeing used, as well as the language bias L

For convenience, Progol has been chosen as the system whichwill illustrate how these dependencies works

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 32 / 57

Page 150: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Definitions

Quick Note

ILP systems relies on specialization and generalization operatorsto build hypothesisThe way they work and are used depends on the ILP systembeing used, as well as the language bias LFor convenience, Progol has been chosen as the system whichwill illustrate how these dependencies works

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 32 / 57

Page 151: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Outline1 Introduction

MotivationObjectivesOverview

2 Background KnowledgePropositional (Classical) LogicFirst–Order LogicLogic Programming

3 Inductive Logic ProgrammingDefinitionsProgol

4 Neural–Symbolic SystemsIntroductionC–IL2PCILP++

5 ConclusionManoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 32 / 57

Page 152: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

A Brief Summary of Progol

Progol is an ILP system and a Machine Learning algorithm, basedon Inverse Entailment and Sequential Covering, which searchesfor suited hypothesis in a search space bounded by the mostgeneral clause (h←) and a Bottom–Clause (⊥)

Inverse Entailment: B ∪ H |= E⇒ B |= H→ E⇒ B |= ¬ E→ ¬ H⇒ B ∪ ¬ E |= ¬ H (H |= ⊥)Sequential Covering: the search for an hypothesis starts from (h←)and adds iteratively literals that covers the positive examples anddo not covers most of the negative onesBottom–Clause: most–specific clause of a restricted space, definedby a single example and L

It uses the following loss function:lossprogol(E ,B,H) = +

∑r∈H |r | − |{e ∈ E+ : B ∪ H |= e}|+ |{e′ ∈

E− : B ∪ H |= e′}|

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 33 / 57

Page 153: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

A Brief Summary of Progol

Progol is an ILP system and a Machine Learning algorithm, basedon Inverse Entailment and Sequential Covering, which searchesfor suited hypothesis in a search space bounded by the mostgeneral clause (h←) and a Bottom–Clause (⊥)

Inverse Entailment: B ∪ H |= E⇒ B |= H→ E⇒ B |= ¬ E→ ¬ H⇒ B ∪ ¬ E |= ¬ H (H |= ⊥)

Sequential Covering: the search for an hypothesis starts from (h←)and adds iteratively literals that covers the positive examples anddo not covers most of the negative onesBottom–Clause: most–specific clause of a restricted space, definedby a single example and L

It uses the following loss function:lossprogol(E ,B,H) = +

∑r∈H |r | − |{e ∈ E+ : B ∪ H |= e}|+ |{e′ ∈

E− : B ∪ H |= e′}|

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 33 / 57

Page 154: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

A Brief Summary of Progol

Progol is an ILP system and a Machine Learning algorithm, basedon Inverse Entailment and Sequential Covering, which searchesfor suited hypothesis in a search space bounded by the mostgeneral clause (h←) and a Bottom–Clause (⊥)

Inverse Entailment: B ∪ H |= E⇒ B |= H→ E⇒ B |= ¬ E→ ¬ H⇒ B ∪ ¬ E |= ¬ H (H |= ⊥)Sequential Covering: the search for an hypothesis starts from (h←)and adds iteratively literals that covers the positive examples anddo not covers most of the negative ones

Bottom–Clause: most–specific clause of a restricted space, definedby a single example and L

It uses the following loss function:lossprogol(E ,B,H) = +

∑r∈H |r | − |{e ∈ E+ : B ∪ H |= e}|+ |{e′ ∈

E− : B ∪ H |= e′}|

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 33 / 57

Page 155: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

A Brief Summary of Progol

Progol is an ILP system and a Machine Learning algorithm, basedon Inverse Entailment and Sequential Covering, which searchesfor suited hypothesis in a search space bounded by the mostgeneral clause (h←) and a Bottom–Clause (⊥)

Inverse Entailment: B ∪ H |= E⇒ B |= H→ E⇒ B |= ¬ E→ ¬ H⇒ B ∪ ¬ E |= ¬ H (H |= ⊥)Sequential Covering: the search for an hypothesis starts from (h←)and adds iteratively literals that covers the positive examples anddo not covers most of the negative onesBottom–Clause: most–specific clause of a restricted space, definedby a single example and L

It uses the following loss function:lossprogol(E ,B,H) = +

∑r∈H |r | − |{e ∈ E+ : B ∪ H |= e}|+ |{e′ ∈

E− : B ∪ H |= e′}|

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 33 / 57

Page 156: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

A Brief Summary of Progol

Progol is an ILP system and a Machine Learning algorithm, basedon Inverse Entailment and Sequential Covering, which searchesfor suited hypothesis in a search space bounded by the mostgeneral clause (h←) and a Bottom–Clause (⊥)

Inverse Entailment: B ∪ H |= E⇒ B |= H→ E⇒ B |= ¬ E→ ¬ H⇒ B ∪ ¬ E |= ¬ H (H |= ⊥)Sequential Covering: the search for an hypothesis starts from (h←)and adds iteratively literals that covers the positive examples anddo not covers most of the negative onesBottom–Clause: most–specific clause of a restricted space, definedby a single example and L

It uses the following loss function:lossprogol(E ,B,H) = +

∑r∈H |r | − |{e ∈ E+ : B ∪ H |= e}|+ |{e′ ∈

E− : B ∪ H |= e′}|

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 33 / 57

Page 157: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Language Bias Structure

Progol has two language bias structures:

Mode Declarations: can be head declarations – modeh(recall, s), orbody declarations – modeb(recall, s), where recall controls thenumber of instantiations of a literal and s is a ground positive ornegative literal, with placemarkers which defines if it is an input (+),output (–) or a constant (#), and its typeDeterminations: used to specify which bodies can be used to builda clause with a given headExamples:modeh(1,mother_in_law(+woman,−man))modeb(∗,progenitor_of (+woman,−woman))modeb(1,wife_of (+woman,−man))determination(mother_in_law/2,progenitor_of/2)determination(mother_in_law/2,wife_of/2)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 34 / 57

Page 158: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Language Bias Structure

Progol has two language bias structures:

Mode Declarations: can be head declarations – modeh(recall, s), orbody declarations – modeb(recall, s), where recall controls thenumber of instantiations of a literal and s is a ground positive ornegative literal, with placemarkers which defines if it is an input (+),output (–) or a constant (#), and its type

Determinations: used to specify which bodies can be used to builda clause with a given headExamples:modeh(1,mother_in_law(+woman,−man))modeb(∗,progenitor_of (+woman,−woman))modeb(1,wife_of (+woman,−man))determination(mother_in_law/2,progenitor_of/2)determination(mother_in_law/2,wife_of/2)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 34 / 57

Page 159: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Language Bias Structure

Progol has two language bias structures:

Mode Declarations: can be head declarations – modeh(recall, s), orbody declarations – modeb(recall, s), where recall controls thenumber of instantiations of a literal and s is a ground positive ornegative literal, with placemarkers which defines if it is an input (+),output (–) or a constant (#), and its typeDeterminations: used to specify which bodies can be used to builda clause with a given head

Examples:modeh(1,mother_in_law(+woman,−man))modeb(∗,progenitor_of (+woman,−woman))modeb(1,wife_of (+woman,−man))determination(mother_in_law/2,progenitor_of/2)determination(mother_in_law/2,wife_of/2)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 34 / 57

Page 160: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Language Bias Structure

Progol has two language bias structures:

Mode Declarations: can be head declarations – modeh(recall, s), orbody declarations – modeb(recall, s), where recall controls thenumber of instantiations of a literal and s is a ground positive ornegative literal, with placemarkers which defines if it is an input (+),output (–) or a constant (#), and its typeDeterminations: used to specify which bodies can be used to builda clause with a given headExamples:modeh(1,mother_in_law(+woman,−man))modeb(∗,progenitor_of (+woman,−woman))modeb(1,wife_of (+woman,−man))determination(mother_in_law/2,progenitor_of/2)determination(mother_in_law/2,wife_of/2)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 34 / 57

Page 161: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Specialization and Generalization Operators

Uses θ − subsumption: a clause C θ − subsumes D (C ≺θ D) ifexists a substitution θ in which Cθ ⊆ D holds, eg.:C: f(A, B)← p(B, G), q(G, A) θ − subsumesD: f(a, b)← p(b, g), q(g, a), t(a, d) through θ = {A/a, B/b, G/g}

If C ≺θ D, then C |= DThis means that for a specialization or generalization of a clauseC, C ≺θ ⊥ ensures that the search space bounds still holds

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 35 / 57

Page 162: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Specialization and Generalization Operators

Uses θ − subsumption: a clause C θ − subsumes D (C ≺θ D) ifexists a substitution θ in which Cθ ⊆ D holds, eg.:C: f(A, B)← p(B, G), q(G, A) θ − subsumesD: f(a, b)← p(b, g), q(g, a), t(a, d) through θ = {A/a, B/b, G/g}If C ≺θ D, then C |= D

This means that for a specialization or generalization of a clauseC, C ≺θ ⊥ ensures that the search space bounds still holds

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 35 / 57

Page 163: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Specialization and Generalization Operators

Uses θ − subsumption: a clause C θ − subsumes D (C ≺θ D) ifexists a substitution θ in which Cθ ⊆ D holds, eg.:C: f(A, B)← p(B, G), q(G, A) θ − subsumesD: f(a, b)← p(b, g), q(g, a), t(a, d) through θ = {A/a, B/b, G/g}If C ≺θ D, then C |= DThis means that for a specialization or generalization of a clauseC, C ≺θ ⊥ ensures that the search space bounds still holds

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 35 / 57

Page 164: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Variable Chaining

In Progol, every body input variable needs to be an input of ahead literal or an output of a previous body literal

An example:

modeh(*, mult(+real, +real,-real))modeb(*, dec(+real,-real))modeb(*, plus(+real, +real,-real))determination(mult/3, mult/3)determination(mult/3, dec/2)determination(mult/3, plus/3)

C = mult(E,F,G)← dec(E, H), mult(F, H, I), plus(F, I, G).

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 36 / 57

Page 165: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Variable Chaining

In Progol, every body input variable needs to be an input of ahead literal or an output of a previous body literalAn example:

modeh(*, mult(+real, +real,-real))modeb(*, dec(+real,-real))modeb(*, plus(+real, +real,-real))determination(mult/3, mult/3)determination(mult/3, dec/2)determination(mult/3, plus/3)

C = mult(E,F,G)← dec(E, H), mult(F, H, I), plus(F, I, G).

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 36 / 57

Page 166: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Bottom–Clause

In Progol, the search space for a candidate hypothesis starts from(h←) and specializations are added in order to minimize its lossfunction.

This search is limited by a special bottom–clauseIt is built from a chosen example by applying iterativelysubstitutions to match all possible modeb literals, in top–downorder, according to its modeh definition, background knowledgeand determination restrictionsIt uses a deepness (d) input parameter, which controls theamount of cycles through modeb literalsAfter built, it is then variabilized to be used as a specializationboundary

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 37 / 57

Page 167: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Bottom–Clause

In Progol, the search space for a candidate hypothesis starts from(h←) and specializations are added in order to minimize its lossfunction.This search is limited by a special bottom–clause

It is built from a chosen example by applying iterativelysubstitutions to match all possible modeb literals, in top–downorder, according to its modeh definition, background knowledgeand determination restrictionsIt uses a deepness (d) input parameter, which controls theamount of cycles through modeb literalsAfter built, it is then variabilized to be used as a specializationboundary

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 37 / 57

Page 168: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Bottom–Clause

In Progol, the search space for a candidate hypothesis starts from(h←) and specializations are added in order to minimize its lossfunction.This search is limited by a special bottom–clauseIt is built from a chosen example by applying iterativelysubstitutions to match all possible modeb literals, in top–downorder, according to its modeh definition, background knowledgeand determination restrictions

It uses a deepness (d) input parameter, which controls theamount of cycles through modeb literalsAfter built, it is then variabilized to be used as a specializationboundary

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 37 / 57

Page 169: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Bottom–Clause

In Progol, the search space for a candidate hypothesis starts from(h←) and specializations are added in order to minimize its lossfunction.This search is limited by a special bottom–clauseIt is built from a chosen example by applying iterativelysubstitutions to match all possible modeb literals, in top–downorder, according to its modeh definition, background knowledgeand determination restrictionsIt uses a deepness (d) input parameter, which controls theamount of cycles through modeb literals

After built, it is then variabilized to be used as a specializationboundary

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 37 / 57

Page 170: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Bottom–Clause

In Progol, the search space for a candidate hypothesis starts from(h←) and specializations are added in order to minimize its lossfunction.This search is limited by a special bottom–clauseIt is built from a chosen example by applying iterativelysubstitutions to match all possible modeb literals, in top–downorder, according to its modeh definition, background knowledgeand determination restrictionsIt uses a deepness (d) input parameter, which controls theamount of cycles through modeb literalsAfter built, it is then variabilized to be used as a specializationboundary

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 37 / 57

Page 171: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Example

Input: example: mult(2, 4, 8), maxDeepness = 1

Modes:modeh(*, mult(+real, +real, -real))modeb(*, dec(+real, -real))modeb(*, plus(+real, +real, -real))

Background Knowledge:dec(2, 4); dec(2, 5); plus(2, 2, 4); plus(2, 4, 6);

Possible terms to use: ∅Other terms: ∅

⊥ = ∅Current deepness: 0

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 38 / 57

Page 172: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Example

Input: example: mult(2, 4, 8), maxDeepness = 1

Modes:modeh(*, mult(+real, +real, -real))modeb(*, dec(+real, -real))modeb(*, plus(+real, +real, -real))

Background Knowledge:dec(2, 4); dec(2, 5); plus(2, 2, 4); plus(2, 4, 6);

Possible terms to use: A(2), B(4)Other terms: C(8)

⊥ = mult(A, B, C)←Current deepness: 0

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 39 / 57

Page 173: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Example

Input: example: mult(2, 4, 8), maxDeepness = 1

Modes:modeh(*, mult(+real, +real, -real))modeb(*, dec(+real, -real))modeb(*, plus(+real, +real, -real))

Background Knowledge:dec(2, 4); dec(2, 5); plus(2, 2, 4); plus(2, 4, 6);

Possible terms to use: A(2), B(4), D(5)Other terms: C(8)

⊥ = mult(A, B, C)← dec(A, B), dec(A, D)Current deepness: 0

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 40 / 57

Page 174: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Example

Input: example: mult(2, 4, 8), maxDeepness = 1

Modes:modeh(*, mult(+real, +real, -real))modeb(*, dec(+real, -real))modeb(*, plus(+real, +real, -real))

Background Knowledge:dec(2, 4); dec(2, 5); plus(2, 2, 4); plus(2, 4, 6);

Possible terms to use: A(2), B(4), D(5)Other terms: C(8)

⊥ = mult(A, B, C)← dec(A, B), dec(A, D), plus(A, A, B)Current deepness: 0

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 41 / 57

Page 175: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Example

Input: example: mult(2, 4, 8), maxDeepness = 1

Modes:modeh(*, mult(+real, +real, -real))modeb(*, dec(+real, -real))modeb(*, plus(+real, +real, -real))

Background Knowledge:dec(2, 4); dec(2, 5); plus(2, 2, 4); plus(2, 4, 6);

Possible terms to use: A(2), B(4), D(5), E(6)Output terms: C(8)

⊥ = mult(A, B, C)← dec(A, B), dec(A, D), plus(A, A, B), plus(A, B, E)Current deepness: 1 (algorithm stop)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 42 / 57

Page 176: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Specialization Operator

An order on ⊥ is assumed and let ⊥(k) be the k–th element in ⊥

Since H ≺θ ⊥, there must be a substitution θ such that for eachliteral h in H, there is a literal l such that hθ = lThe substitution operator δ can be defined as:

< P(v1, . . . , vm, θm) >∈ δ(θ, k) if and only if– P(u1, . . . ,um) is the k–th literal in ⊥– θ0 =θ– if vj/uj ∈ θj−1 then θj = θj−1 for 0 < j ≤ mThe specialization operator ρ can be defined as:

< r ′, θ′, k ′ >∈ ρ(< r , θ, k >) if and only if either– r ′ = c ∪ {l}, k ′ = k , < l , θ′ >∈ δ(θ, k), r ′ ∈ {Rulespace} or– r ′ = c, k ′ = k + 1, θ′ = θ

for 1 ≤ k ≤ |⊥|

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 43 / 57

Page 177: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Specialization Operator

An order on ⊥ is assumed and let ⊥(k) be the k–th element in ⊥Since H ≺θ ⊥, there must be a substitution θ such that for eachliteral h in H, there is a literal l such that hθ = l

The substitution operator δ can be defined as:

< P(v1, . . . , vm, θm) >∈ δ(θ, k) if and only if– P(u1, . . . ,um) is the k–th literal in ⊥– θ0 =θ– if vj/uj ∈ θj−1 then θj = θj−1 for 0 < j ≤ mThe specialization operator ρ can be defined as:

< r ′, θ′, k ′ >∈ ρ(< r , θ, k >) if and only if either– r ′ = c ∪ {l}, k ′ = k , < l , θ′ >∈ δ(θ, k), r ′ ∈ {Rulespace} or– r ′ = c, k ′ = k + 1, θ′ = θ

for 1 ≤ k ≤ |⊥|

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 43 / 57

Page 178: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Specialization Operator

An order on ⊥ is assumed and let ⊥(k) be the k–th element in ⊥Since H ≺θ ⊥, there must be a substitution θ such that for eachliteral h in H, there is a literal l such that hθ = lThe substitution operator δ can be defined as:

< P(v1, . . . , vm, θm) >∈ δ(θ, k) if and only if– P(u1, . . . ,um) is the k–th literal in ⊥– θ0 =θ– if vj/uj ∈ θj−1 then θj = θj−1 for 0 < j ≤ m

The specialization operator ρ can be defined as:

< r ′, θ′, k ′ >∈ ρ(< r , θ, k >) if and only if either– r ′ = c ∪ {l}, k ′ = k , < l , θ′ >∈ δ(θ, k), r ′ ∈ {Rulespace} or– r ′ = c, k ′ = k + 1, θ′ = θ

for 1 ≤ k ≤ |⊥|

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 43 / 57

Page 179: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Specialization Operator

An order on ⊥ is assumed and let ⊥(k) be the k–th element in ⊥Since H ≺θ ⊥, there must be a substitution θ such that for eachliteral h in H, there is a literal l such that hθ = lThe substitution operator δ can be defined as:

< P(v1, . . . , vm, θm) >∈ δ(θ, k) if and only if– P(u1, . . . ,um) is the k–th literal in ⊥– θ0 =θ– if vj/uj ∈ θj−1 then θj = θj−1 for 0 < j ≤ mThe specialization operator ρ can be defined as:

< r ′, θ′, k ′ >∈ ρ(< r , θ, k >) if and only if either– r ′ = c ∪ {l}, k ′ = k , < l , θ′ >∈ δ(θ, k), r ′ ∈ {Rulespace} or– r ′ = c, k ′ = k + 1, θ′ = θ

for 1 ≤ k ≤ |⊥|Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 43 / 57

Page 180: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Inductive Logic Programming Progol

Specialization Choosing

From all possible substitutions using ρ, the one that minimizeslossprogol(E ,B,H). The search method used is A*, which tracksthe best path regarding lossprogol with a priority list for otheroptions:

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 44 / 57

Page 181: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems Introduction

Outline1 Introduction

MotivationObjectivesOverview

2 Background KnowledgePropositional (Classical) LogicFirst–Order LogicLogic Programming

3 Inductive Logic ProgrammingDefinitionsProgol

4 Neural–Symbolic SystemsIntroductionC–IL2PCILP++

5 ConclusionManoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 44 / 57

Page 182: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems Introduction

Neural–Symbolic Integration

Symbolical systems, such as Progol, holds very powerfulrepresentative power through First–Order logics briefly explainingPropositional and First–Order Logics

Connectionistic systems, being neural networks its mainrepresentative, have great noise–robustness capabilities and canmodel knowledge as probabilities through their weightsAs seen during introduction, each one of those paradigms holdsadvantages and advantages, in a quite “complementary” wayWhy not combine both paradigms?

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 45 / 57

Page 183: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems Introduction

Neural–Symbolic Integration

Symbolical systems, such as Progol, holds very powerfulrepresentative power through First–Order logics briefly explainingPropositional and First–Order LogicsConnectionistic systems, being neural networks its mainrepresentative, have great noise–robustness capabilities and canmodel knowledge as probabilities through their weights

As seen during introduction, each one of those paradigms holdsadvantages and advantages, in a quite “complementary” wayWhy not combine both paradigms?

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 45 / 57

Page 184: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems Introduction

Neural–Symbolic Integration

Symbolical systems, such as Progol, holds very powerfulrepresentative power through First–Order logics briefly explainingPropositional and First–Order LogicsConnectionistic systems, being neural networks its mainrepresentative, have great noise–robustness capabilities and canmodel knowledge as probabilities through their weightsAs seen during introduction, each one of those paradigms holdsadvantages and advantages, in a quite “complementary” way

Why not combine both paradigms?

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 45 / 57

Page 185: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems Introduction

Neural–Symbolic Integration

Symbolical systems, such as Progol, holds very powerfulrepresentative power through First–Order logics briefly explainingPropositional and First–Order LogicsConnectionistic systems, being neural networks its mainrepresentative, have great noise–robustness capabilities and canmodel knowledge as probabilities through their weightsAs seen during introduction, each one of those paradigms holdsadvantages and advantages, in a quite “complementary” wayWhy not combine both paradigms?

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 45 / 57

Page 186: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems Introduction

Neural–Symbolic Integration

Symbolical Connectionistic

MultipleLearning

Slow learning of multipleconcepts

Efficient parallel learn-ing of multiple con-cepts

NoiseRobust-ness

Limited, artificial noise–robustness capabilities

Natural, method–inherent noise treat-ment

ConceptClarity

Learned concepts for-mally represented

Concepts are tangled in-side numerical data

BackgroundData

Makes partial or to-tal use of backgrounddata

Only empirical examplesare used

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 46 / 57

Page 187: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems C–IL2P

Outline1 Introduction

MotivationObjectivesOverview

2 Background KnowledgePropositional (Classical) LogicFirst–Order LogicLogic Programming

3 Inductive Logic ProgrammingDefinitionsProgol

4 Neural–Symbolic SystemsIntroductionC–IL2PCILP++

5 ConclusionManoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 46 / 57

Page 188: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems C–IL2P

Idea

Union two of the most popular symbolic and connectionisticrepresentatives: ILP and Neural Networks

Enhance their advantages, while supressing their flawsA relational (recursive) three–layer network is built from apropositional logic program and it is then used to train examplesThis way, a knowledge–based neural network is created (whichsolves the main problem of classical neural networks) which iscapable of using “almost” full capabilities of back–propagationtraining regarding noise robustness and incomplete data (whichare the two main ILP weakpoints)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 47 / 57

Page 189: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems C–IL2P

Idea

Union two of the most popular symbolic and connectionisticrepresentatives: ILP and Neural NetworksEnhance their advantages, while supressing their flaws

A relational (recursive) three–layer network is built from apropositional logic program and it is then used to train examplesThis way, a knowledge–based neural network is created (whichsolves the main problem of classical neural networks) which iscapable of using “almost” full capabilities of back–propagationtraining regarding noise robustness and incomplete data (whichare the two main ILP weakpoints)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 47 / 57

Page 190: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems C–IL2P

Idea

Union two of the most popular symbolic and connectionisticrepresentatives: ILP and Neural NetworksEnhance their advantages, while supressing their flawsA relational (recursive) three–layer network is built from apropositional logic program and it is then used to train examples

This way, a knowledge–based neural network is created (whichsolves the main problem of classical neural networks) which iscapable of using “almost” full capabilities of back–propagationtraining regarding noise robustness and incomplete data (whichare the two main ILP weakpoints)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 47 / 57

Page 191: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems C–IL2P

Idea

Union two of the most popular symbolic and connectionisticrepresentatives: ILP and Neural NetworksEnhance their advantages, while supressing their flawsA relational (recursive) three–layer network is built from apropositional logic program and it is then used to train examplesThis way, a knowledge–based neural network is created (whichsolves the main problem of classical neural networks) which iscapable of using “almost” full capabilities of back–propagationtraining regarding noise robustness and incomplete data (whichare the two main ILP weakpoints)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 47 / 57

Page 192: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems C–IL2P

C–IL2P Knowledge Flow

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 48 / 57

Page 193: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems C–IL2P

C–IL2P Structure

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 49 / 57

Page 194: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems C–IL2P

Applications

As expected of a hybrid system, C–IL2P can be used in anyproblem in which any one of its components would be eligible tobe applied.

Additionally (as the knowledge flow has shown before), the wayC–IL2P deals with information processing can allow it to beapplied in some unique applications, such as fault diagnosis andmulti–instance learning problemsIf extended to work with First–Order logic programs, itsapplicability would be hugely enhanced

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 50 / 57

Page 195: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems C–IL2P

Applications

As expected of a hybrid system, C–IL2P can be used in anyproblem in which any one of its components would be eligible tobe applied.Additionally (as the knowledge flow has shown before), the wayC–IL2P deals with information processing can allow it to beapplied in some unique applications, such as fault diagnosis andmulti–instance learning problems

If extended to work with First–Order logic programs, itsapplicability would be hugely enhanced

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 50 / 57

Page 196: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems C–IL2P

Applications

As expected of a hybrid system, C–IL2P can be used in anyproblem in which any one of its components would be eligible tobe applied.Additionally (as the knowledge flow has shown before), the wayC–IL2P deals with information processing can allow it to beapplied in some unique applications, such as fault diagnosis andmulti–instance learning problemsIf extended to work with First–Order logic programs, itsapplicability would be hugely enhanced

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 50 / 57

Page 197: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems CILP++

Outline1 Introduction

MotivationObjectivesOverview

2 Background KnowledgePropositional (Classical) LogicFirst–Order LogicLogic Programming

3 Inductive Logic ProgrammingDefinitionsProgol

4 Neural–Symbolic SystemsIntroductionC–IL2PCILP++

5 ConclusionManoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 50 / 57

Page 198: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems CILP++

Main Concepts

CILP++ is the results of my work on C–IL2P to allow it to work withFirst–Order logics

Different ways of using First–Order logics are being studied:

Using Bottom–Clauses as examples;Different kinds of propositionalizations;Applying the language bias on the building step of C–IL2P

It uses the same building process of C–IL2P, but differs in thenetwork training, depending on the kind of First–Order informationthat is being given to it

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 51 / 57

Page 199: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems CILP++

Main Concepts

CILP++ is the results of my work on C–IL2P to allow it to work withFirst–Order logicsDifferent ways of using First–Order logics are being studied:

Using Bottom–Clauses as examples;Different kinds of propositionalizations;Applying the language bias on the building step of C–IL2P

It uses the same building process of C–IL2P, but differs in thenetwork training, depending on the kind of First–Order informationthat is being given to it

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 51 / 57

Page 200: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems CILP++

Main Concepts

CILP++ is the results of my work on C–IL2P to allow it to work withFirst–Order logicsDifferent ways of using First–Order logics are being studied:

Using Bottom–Clauses as examples;

Different kinds of propositionalizations;Applying the language bias on the building step of C–IL2P

It uses the same building process of C–IL2P, but differs in thenetwork training, depending on the kind of First–Order informationthat is being given to it

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 51 / 57

Page 201: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems CILP++

Main Concepts

CILP++ is the results of my work on C–IL2P to allow it to work withFirst–Order logicsDifferent ways of using First–Order logics are being studied:

Using Bottom–Clauses as examples;Different kinds of propositionalizations;

Applying the language bias on the building step of C–IL2P

It uses the same building process of C–IL2P, but differs in thenetwork training, depending on the kind of First–Order informationthat is being given to it

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 51 / 57

Page 202: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems CILP++

Main Concepts

CILP++ is the results of my work on C–IL2P to allow it to work withFirst–Order logicsDifferent ways of using First–Order logics are being studied:

Using Bottom–Clauses as examples;Different kinds of propositionalizations;Applying the language bias on the building step of C–IL2P

It uses the same building process of C–IL2P, but differs in thenetwork training, depending on the kind of First–Order informationthat is being given to it

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 51 / 57

Page 203: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems CILP++

Main Concepts

CILP++ is the results of my work on C–IL2P to allow it to work withFirst–Order logicsDifferent ways of using First–Order logics are being studied:

Using Bottom–Clauses as examples;Different kinds of propositionalizations;Applying the language bias on the building step of C–IL2P

It uses the same building process of C–IL2P, but differs in thenetwork training, depending on the kind of First–Order informationthat is being given to it

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 51 / 57

Page 204: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems CILP++

What Has Been Done

Enhancements in the underlying neural network to optimize it

Testings using Bottom–Clauses and RSA propositionalizationA friendly GUI using wxWidgets to let other people uses the basicC–IL2P functionality (an open–source C–IL2P project is alreadyactive at SourceForge: http://sourceforge.net/projects/cil2p/)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 52 / 57

Page 205: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems CILP++

What Has Been Done

Enhancements in the underlying neural network to optimize itTestings using Bottom–Clauses and RSA propositionalization

A friendly GUI using wxWidgets to let other people uses the basicC–IL2P functionality (an open–source C–IL2P project is alreadyactive at SourceForge: http://sourceforge.net/projects/cil2p/)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 52 / 57

Page 206: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems CILP++

What Has Been Done

Enhancements in the underlying neural network to optimize itTestings using Bottom–Clauses and RSA propositionalizationA friendly GUI using wxWidgets to let other people uses the basicC–IL2P functionality (an open–source C–IL2P project is alreadyactive at SourceForge: http://sourceforge.net/projects/cil2p/)

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 52 / 57

Page 207: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems CILP++

What Will Be Done

In priority order:

Fine–tuning the system to work with bottom–clauses andpropositionalizated datasets

Study how knowledge extraction will take place in this new systemTest other ways of using First–Order logics into C–IL2P withoutmajor structural changesAnalyze structural changes on CILP++ to allow better suitability forFirst–Order logic processing

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 53 / 57

Page 208: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems CILP++

What Will Be Done

In priority order:

Fine–tuning the system to work with bottom–clauses andpropositionalizated datasetsStudy how knowledge extraction will take place in this new system

Test other ways of using First–Order logics into C–IL2P withoutmajor structural changesAnalyze structural changes on CILP++ to allow better suitability forFirst–Order logic processing

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 53 / 57

Page 209: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems CILP++

What Will Be Done

In priority order:

Fine–tuning the system to work with bottom–clauses andpropositionalizated datasetsStudy how knowledge extraction will take place in this new systemTest other ways of using First–Order logics into C–IL2P withoutmajor structural changes

Analyze structural changes on CILP++ to allow better suitability forFirst–Order logic processing

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 53 / 57

Page 210: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems CILP++

What Will Be Done

In priority order:

Fine–tuning the system to work with bottom–clauses andpropositionalizated datasetsStudy how knowledge extraction will take place in this new systemTest other ways of using First–Order logics into C–IL2P withoutmajor structural changesAnalyze structural changes on CILP++ to allow better suitability forFirst–Order logic processing

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 53 / 57

Page 211: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems CILP++

Applications

CILP++, working with First–Order logics, will be able to completelyexplore domain–theory and classification problems. It will be thefirst hybrid system to achieve that

Specifically about bottom–clauses usage, as it is relatively simple,it will allow quick training and online inference of First–Orderlogics, which can make way to some interesting applications:

Web–semanticsIntelligent Agents

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 54 / 57

Page 212: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems CILP++

Applications

CILP++, working with First–Order logics, will be able to completelyexplore domain–theory and classification problems. It will be thefirst hybrid system to achieve thatSpecifically about bottom–clauses usage, as it is relatively simple,it will allow quick training and online inference of First–Orderlogics, which can make way to some interesting applications:

Web–semanticsIntelligent Agents

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 54 / 57

Page 213: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems CILP++

Applications

CILP++, working with First–Order logics, will be able to completelyexplore domain–theory and classification problems. It will be thefirst hybrid system to achieve thatSpecifically about bottom–clauses usage, as it is relatively simple,it will allow quick training and online inference of First–Orderlogics, which can make way to some interesting applications:

Web–semantics

Intelligent Agents

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 54 / 57

Page 214: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Neural–Symbolic Systems CILP++

Applications

CILP++, working with First–Order logics, will be able to completelyexplore domain–theory and classification problems. It will be thefirst hybrid system to achieve thatSpecifically about bottom–clauses usage, as it is relatively simple,it will allow quick training and online inference of First–Orderlogics, which can make way to some interesting applications:

Web–semanticsIntelligent Agents

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 54 / 57

Page 215: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Conclusion

Final Remarks

Connectionism and symbolism are two paradigms that were keptseparated for a long time, but this is coming to an end

Symbolism, supported by its very successful machine learningalgorithm called ILP, is a necessary tool to express knowledge in aformal and clear way and to represent complex and hierarchicalrelationsNeural–Symbolic Integration is one way–to–go in going one stepfurther in learning, reasoning and expressing knowledge

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 55 / 57

Page 216: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Conclusion

Final Remarks

Connectionism and symbolism are two paradigms that were keptseparated for a long time, but this is coming to an endSymbolism, supported by its very successful machine learningalgorithm called ILP, is a necessary tool to express knowledge in aformal and clear way and to represent complex and hierarchicalrelations

Neural–Symbolic Integration is one way–to–go in going one stepfurther in learning, reasoning and expressing knowledge

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 55 / 57

Page 217: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Conclusion

Final Remarks

Connectionism and symbolism are two paradigms that were keptseparated for a long time, but this is coming to an endSymbolism, supported by its very successful machine learningalgorithm called ILP, is a necessary tool to express knowledge in aformal and clear way and to represent complex and hierarchicalrelationsNeural–Symbolic Integration is one way–to–go in going one stepfurther in learning, reasoning and expressing knowledge

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 55 / 57

Page 218: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Conclusion

Recommended Reading

Tom M. Mitchell. Machine Learning. McGraw−Hill, New York,1997

Stuart J. Russell and Peter Norvig. Artificial Intelligence − AModern Approach (3. internat. ed.). Pearson Education, 2010Artur S. D. Garcez and Luis C. Lamb and Dov M. Gabbay.Neural-Symbolic Cognitive Reasoning. Springer−Verlag, 2009Petri Toiviainen. Symbolic AI Versus Connectionism in MusicResearch. Readings in Music and Artificial Intelligence.Amsterdam: Harwood Academic Publishers, 2000

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 56 / 57

Page 219: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Conclusion

Recommended Reading

Tom M. Mitchell. Machine Learning. McGraw−Hill, New York,1997Stuart J. Russell and Peter Norvig. Artificial Intelligence − AModern Approach (3. internat. ed.). Pearson Education, 2010

Artur S. D. Garcez and Luis C. Lamb and Dov M. Gabbay.Neural-Symbolic Cognitive Reasoning. Springer−Verlag, 2009Petri Toiviainen. Symbolic AI Versus Connectionism in MusicResearch. Readings in Music and Artificial Intelligence.Amsterdam: Harwood Academic Publishers, 2000

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 56 / 57

Page 220: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Conclusion

Recommended Reading

Tom M. Mitchell. Machine Learning. McGraw−Hill, New York,1997Stuart J. Russell and Peter Norvig. Artificial Intelligence − AModern Approach (3. internat. ed.). Pearson Education, 2010Artur S. D. Garcez and Luis C. Lamb and Dov M. Gabbay.Neural-Symbolic Cognitive Reasoning. Springer−Verlag, 2009

Petri Toiviainen. Symbolic AI Versus Connectionism in MusicResearch. Readings in Music and Artificial Intelligence.Amsterdam: Harwood Academic Publishers, 2000

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 56 / 57

Page 221: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Conclusion

Recommended Reading

Tom M. Mitchell. Machine Learning. McGraw−Hill, New York,1997Stuart J. Russell and Peter Norvig. Artificial Intelligence − AModern Approach (3. internat. ed.). Pearson Education, 2010Artur S. D. Garcez and Luis C. Lamb and Dov M. Gabbay.Neural-Symbolic Cognitive Reasoning. Springer−Verlag, 2009Petri Toiviainen. Symbolic AI Versus Connectionism in MusicResearch. Readings in Music and Artificial Intelligence.Amsterdam: Harwood Academic Publishers, 2000

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 56 / 57

Page 222: Introduction to Inductive Logic ProgrammingIntroduction Motivation Thinking and Explaining Imagine a father teaching his little daughter how to drink a glass of water He needs to use

Conclusion

Thank You!

[email protected]

Manoel França (City University) Introduction to Inductive Logic Programming ML Group Meeting 57 / 57