Ambiente de Desenvolvimento de Sistemas de ILP - Estado da Arte
1. ´
Indice
Introdu¸˜o
ca
A Indu¸˜o de Programas em L´gica
ca o
Situa¸˜o Actual
ca
Problema Proposto
Perspectivas de Solu¸˜o
ca
Aspectos Tecnol´gicos
o
Plano de Trabalhos
Referˆncias
e
Ambiente de Desenvolvimento de Sistemas de ILP
Jo˜o Azevedo
a
Orientador: Prof. Rui Camacho
Faculdade de Engenharia da Universidade do Porto
ei05028@fe.up.pt,rcamacho@fe.up.pt
2 de Fevereiro de 2010
Jo˜o Azevedo
a Ambiente de Desenvolvimento de Sistemas de ILP 1/19
2. ´
Indice
Introdu¸˜o
ca
A Indu¸˜o de Programas em L´gica
ca o
Situa¸˜o Actual
ca
Problema Proposto
Perspectivas de Solu¸˜o
ca
Aspectos Tecnol´gicos
o
Plano de Trabalhos
Referˆncias
e
Introdu¸˜o
ca
A Indu¸˜o de Programas em L´gica
ca o
Motiva¸˜o
ca
Ingredientes para ILP
Processo de indu¸˜o
ca
Eficiˆncia
e
Sistemas de ILP
Aplica¸oes de ILP
c˜
Situa¸˜o Actual
ca
Problema Proposto
Perspectivas de Solu¸˜o
ca
Aspectos Tecnol´gicos
o
Plano de Trabalhos
Referˆncias
e
Jo˜o Azevedo
a Ambiente de Desenvolvimento de Sistemas de ILP 2/19
3. ´
Indice
Introdu¸˜o
ca
A Indu¸˜o de Programas em L´gica
ca o
Situa¸˜o Actual
ca
Problema Proposto
Perspectivas de Solu¸˜o
ca
Aspectos Tecnol´gicos
o
Plano de Trabalhos
Referˆncias
e
Introdu¸˜o
ca
A Indu¸˜o de Programas em L´gica (ILP - Inductive Logic Programming ):
ca o
´
Area na intersec¸˜o da Aprendizagem Computacional e da Programa¸˜o
ca ca
em L´gica.
o
Aprendizagem de programas em l´gica a partir de exemplos.
o
Um dos suportes te´ricos do Data Mining Relacional.
o
Expressividade da l´gica de predicados de primeira ordem na descri¸˜o dos
o ca
dados e dos modelos constru´ ıdos.
Jo˜o Azevedo
a Ambiente de Desenvolvimento de Sistemas de ILP 3/19
4. ´
Indice
Introdu¸˜o
ca
Motiva¸˜o
ca
A Indu¸˜o de Programas em L´gica
ca o
Ingredientes para ILP
Situa¸˜o Actual
ca
Processo de indu¸˜o
ca
Problema Proposto
Eficiˆncia
e
Perspectivas de Solu¸˜o
ca
Sistemas de ILP
Aspectos Tecnol´gicos
o
Aplica¸˜es de ILP
co
Plano de Trabalhos
Referˆncias
e
Motiva¸˜o para o aparecimento de ILP
ca
A maior parte dos sucessos na aprendizagem computacional surgiram de
m´todos baseados em l´gica proposicional.
e o
M´todos indutivos baseados em l´gica proposicional apresentam limita¸˜es:
e o co
Dificuldade na express˜o de rela¸oes.
a c˜
Uso pouco eficaz de Background Knowledge.
Hip´teses constru´
o ıdas est˜o limitadas a um vocabul´rio fixo de atributos
a a
proposicionais.
Desenvolvimento de m´todos de aprendizagem indutiva baseados na l´gica de
e o
predicados de primeira ordem levaram ao aparecimento da designa¸˜o
ca
“Inductive Logic Programming”, por S. Muggleton.
Jo˜o Azevedo
a Ambiente de Desenvolvimento de Sistemas de ILP 4/19
5. ´
Indice
Introdu¸˜o
ca
Motiva¸˜o
ca
A Indu¸˜o de Programas em L´gica
ca o
Ingredientes para ILP
Situa¸˜o Actual
ca
Processo de indu¸˜o
ca
Problema Proposto
Eficiˆncia
e
Perspectivas de Solu¸˜o
ca
Sistemas de ILP
Aspectos Tecnol´gicos
o
Aplica¸˜es de ILP
co
Plano de Trabalhos
Referˆncias
e
Um sistema de ILP
Entrada:
Background Knowledge.
Restri¸oes ` linguagem das hip´teses.
c˜ a o
Conjunto de exemplos do conceito.
Sa´
ıda:
Hip´tese (conjunto de cl´usulas Prolog representativas do conceito).
o a
Contexto:
Necessidade: B E +
Suficiˆncia: B ∧ H E +
e
Consistˆncia: B ∧ H ∧ E −
e
Jo˜o Azevedo
a Ambiente de Desenvolvimento de Sistemas de ILP 5/19
6. ´
Indice
Introdu¸˜o
ca
Motiva¸˜o
ca
A Indu¸˜o de Programas em L´gica
ca o
Ingredientes para ILP
Situa¸˜o Actual
ca
Processo de indu¸˜o
ca
Problema Proposto
Eficiˆncia
e
Perspectivas de Solu¸˜o
ca
Sistemas de ILP
Aspectos Tecnol´gicos
o
Aplica¸˜es de ILP
co
Plano de Trabalhos
Referˆncias
e
Um sistema de ILP (Exemplo)
Training examples Background knowledge
daughter (mary , ann). ⊕ parent(ann, mary ). female(ann).
daughter (eve, tom). ⊕ parent(ann, tom). female(mary ).
daughter (tom, ann). parent(tom, eve). female(eve).
daughter (tom, eve). parent(tom, ian).
H = daughter (X , Y ) ← female(X ), parent(Y , X )
Jo˜o Azevedo
a Ambiente de Desenvolvimento de Sistemas de ILP 6/19
7. ´
Indice
Introdu¸˜o
ca
Motiva¸˜o
ca
A Indu¸˜o de Programas em L´gica
ca o
Ingredientes para ILP
Situa¸˜o Actual
ca
Processo de indu¸˜o
ca
Problema Proposto
Eficiˆncia
e
Perspectivas de Solu¸˜o
ca
Sistemas de ILP
Aspectos Tecnol´gicos
o
Aplica¸˜es de ILP
co
Plano de Trabalhos
Referˆncias
e
Processo de indu¸˜o
ca
Processo de indu¸˜o ´ transformado numa pesquisa em grafo de potenciais
ca e
hip´teses.
o
Subordina¸˜o-θ introduz uma rela¸˜o de ordem parcial (de generaliza¸˜o) no
ca ca ca
conjunto das cl´usulas.
a
Pesquisa em grafo de hip´teses pode ser efectuada de duas formas distintas:
o
Bottom-up: da hip´tese mais espec´
o ıfica para as mais gerais.
Top-down: da hip´tese mais geral para as mais espec´
o ıficas.
Jo˜o Azevedo
a Ambiente de Desenvolvimento de Sistemas de ILP 7/19
8. ´
Indice
Introdu¸˜o
ca
Motiva¸˜o
ca
A Indu¸˜o de Programas em L´gica
ca o
Ingredientes para ILP
Situa¸˜o Actual
ca
Processo de indu¸˜o
ca
Problema Proposto
Eficiˆncia
e
Perspectivas de Solu¸˜o
ca
Sistemas de ILP
Aspectos Tecnol´gicos
o
Aplica¸˜es de ILP
co
Plano de Trabalhos
Referˆncias
e
T´cnicas de generaliza¸˜o
e ca
Uso da generaliza¸˜o menos geral, como forma cautelosa de pesquisa
ca
bottom-up.
Integra¸˜o de background knowledge origina a generaliza¸˜o menos geral
ca ca
relativa a este: relative least general generalization.
Inverse resolution, por sucessiva aplica¸˜o de substitui¸˜es inversas (θ−1 ).
ca co
A resolu¸˜o inversa n˜o ´ determin´
ca a e ıstica, e pode requerer uma especifica¸˜o
ca
das posi¸˜es originais das vari´veis.
co a
Jo˜o Azevedo
a Ambiente de Desenvolvimento de Sistemas de ILP 8/19
9. ´
Indice
Introdu¸˜o
ca
Motiva¸˜o
ca
A Indu¸˜o de Programas em L´gica
ca o
Ingredientes para ILP
Situa¸˜o Actual
ca
Processo de indu¸˜o
ca
Problema Proposto
Eficiˆncia
e
Perspectivas de Solu¸˜o
ca
Sistemas de ILP
Aspectos Tecnol´gicos
o
Aplica¸˜es de ILP
co
Plano de Trabalhos
Referˆncias
e
T´cnicas de especifica¸˜o
e ca
Operadores de refinamento.
Introdu¸˜o de restri¸˜es ` linguagem podem reduzir o espa¸o de pesquisa.
ca co a c
Estrutura do grafo permite optimiza¸˜o do processo de pesquisa.
ca
Mode-Directed Inverse Entailment introduz o conceito de bottom clause,
como cl´usula limitadora do espa¸o de pesquisa.
a c
MDIE baseia-se em declara¸˜o de modos: restri¸˜es ` linguagem das
ca co a
hip´teses.
o
Jo˜o Azevedo
a Ambiente de Desenvolvimento de Sistemas de ILP 9/19
10. ´
Indice
Introdu¸˜o
ca
Motiva¸˜o
ca
A Indu¸˜o de Programas em L´gica
ca o
Ingredientes para ILP
Situa¸˜o Actual
ca
Processo de indu¸˜o
ca
Problema Proposto
Eficiˆncia
e
Perspectivas de Solu¸˜o
ca
Sistemas de ILP
Aspectos Tecnol´gicos
o
Aplica¸˜es de ILP
co
Plano de Trabalhos
Referˆncias
e
Eficiˆncia de sistemas de ILP
e
Idealmente, a maior parte do tempo em sistemas de ILP deve ser gasto em
inferˆncia.
e
Espa¸o de pesquisa ´ bastante elevado.
c e
A avalia¸˜o de hip´teses pode implicar uma pesquisa por todos os exemplos.
ca o
O n´mero de cl´usulas geradas pode rapidamente chegar aos milhares, o que
u a
requer algum cuidado com os mecanismos de armazenamento.
Aproveitamento do mecanismo de inferˆncia de compiladores/interpretadores
e
de Prolog.
Parti¸oes adequadas do problema podem paralelizar o processo de pesquisa.
c˜
Jo˜o Azevedo
a Ambiente de Desenvolvimento de Sistemas de ILP 10/19
11. ´
Indice
Introdu¸˜o
ca
Motiva¸˜o
ca
A Indu¸˜o de Programas em L´gica
ca o
Ingredientes para ILP
Situa¸˜o Actual
ca
Processo de indu¸˜o
ca
Problema Proposto
Eficiˆncia
e
Perspectivas de Solu¸˜o
ca
Sistemas de ILP
Aspectos Tecnol´gicos
o
Aplica¸˜es de ILP
co
Plano de Trabalhos
Referˆncias
e
Sistemas de ILP
FOIL R. Quinlan Pesquisa Gananciosa e uso de Information Gain
GOLEM S. Muggleton Relative Least General Generalization
MOBAL V´rios
a Knowledge Acquisition Environment
(indu¸˜o baseada em rule models)
ca
PROGOL S. Muggleton Mode-Directed Inverse Entailment
LINUS N. Lavraˇ et al.
c Attribute-value framework
Aleph A. Srinivasan Mode-Directed Inverse Entailment
IndLog R. Camacho Mode-Directed Inverse Entailment
Jo˜o Azevedo
a Ambiente de Desenvolvimento de Sistemas de ILP 11/19
12. ´
Indice
Introdu¸˜o
ca
Motiva¸˜o
ca
A Indu¸˜o de Programas em L´gica
ca o
Ingredientes para ILP
Situa¸˜o Actual
ca
Processo de indu¸˜o
ca
Problema Proposto
Eficiˆncia
e
Perspectivas de Solu¸˜o
ca
Sistemas de ILP
Aspectos Tecnol´gicos
o
Aplica¸˜es de ILP
co
Plano de Trabalhos
Referˆncias
e
Aplica¸oes de ILP
c˜
Dimensionamento de malhas em m´todos de elementos finitos.
e
Previs˜o da estrutura de prote´
a ınas.
Indu¸˜o de regras temporais para diagn´sticos de falhas em sat´lites.
ca o e
Detec¸˜o de problemas de tr´fego.
ca a
Processamento de linguagem natural.
Jo˜o Azevedo
a Ambiente de Desenvolvimento de Sistemas de ILP 12/19
13. ´
Indice
Introdu¸˜o
ca
A Indu¸˜o de Programas em L´gica
ca o
Situa¸˜o Actual
ca
Problema Proposto
Perspectivas de Solu¸˜o
ca
Aspectos Tecnol´gicos
o
Plano de Trabalhos
Referˆncias
e
Situa¸˜o Actual
ca
Novas t´cnicas de ILP geram invariavelmente um novo sistema.
e
O tempo de desenvolvimento de um sistema de ILP ´ bastante elevado.
e
Um sistema de ILP envolve um enorme n´mero de opera¸˜es sendo uma
u co
grande parte delas comum.
Jo˜o Azevedo
a Ambiente de Desenvolvimento de Sistemas de ILP 13/19
14. ´
Indice
Introdu¸˜o
ca
A Indu¸˜o de Programas em L´gica
ca o
Situa¸˜o Actual
ca
Problema Proposto
Perspectivas de Solu¸˜o
ca
Aspectos Tecnol´gicos
o
Plano de Trabalhos
Referˆncias
e
Problema Proposto
Melhorar significativamente o tempo de desenvolvimento de um sistema que
inclua uma nova t´cnica de ILP:
e
Definir um conjunto de m´dulos reutiliz´veis que permitam rapidamente ter
o a
dispon´
ıveis todas as funcionalidades “comuns” aos sistemas de ILP sendo o
tempo de desenvolvimento gasto na codifica¸˜o do(s) m´dulo(s) que
ca o
implementam a nova t´cnica de ILP.
e
Jo˜o Azevedo
a Ambiente de Desenvolvimento de Sistemas de ILP 14/19
15. ´
Indice
Introdu¸˜o
ca
A Indu¸˜o de Programas em L´gica
ca o
Situa¸˜o Actual
ca
Problema Proposto
Perspectivas de Solu¸˜o
ca
Aspectos Tecnol´gicos
o
Plano de Trabalhos
Referˆncias
e
Perspectivas de Solu¸˜o
ca
Identifica¸˜o e desenvolvimento de um conjunto de m´dulos uteis para a
ca o ´
constru¸˜o de sistemas de ILP.
ca
Identifica¸˜o de uma arquitectura por n´
ca ıveis para localiza¸˜o dos m´dulos.
ca o
Desenvolvimento de uma interface de constru¸˜o de novos sistemas de ILP,
ca
por escolha de colec¸˜o de m´dulos.
ca o
Avalia¸˜o de dependˆncias e incompatibilidades entre m´dulos, permitindo a
ca e o
compila¸˜o num sistema final de ILP.
ca
Disponibiliza¸˜o de APIs que permitam a r´pida constru¸˜o e integra¸˜o de
ca a ca ca
novos m´dulos.
o
Jo˜o Azevedo
a Ambiente de Desenvolvimento de Sistemas de ILP 15/19
16. ´
Indice
Introdu¸˜o
ca
A Indu¸˜o de Programas em L´gica
ca o
Situa¸˜o Actual
ca
Problema Proposto
Perspectivas de Solu¸˜o
ca
Aspectos Tecnol´gicos
o
Plano de Trabalhos
Referˆncias
e
Aspectos Tecnol´gicos
o
Utiliza¸˜o do YAP como compilador Prolog.
ca
M´dulos de comunica¸˜o do YAP com bibliotecas externas (C).
o ca
Interfaces gr´ficas (GTK/Java).
a
Acesso a dados em XML e em bases de dados relacionais (MySQL/ODBC).
Liga¸˜o ao R para melhoria das capacidades de c´lculo num´rico dos sistemas
ca a e
de ILP.
Jo˜o Azevedo
a Ambiente de Desenvolvimento de Sistemas de ILP 16/19
17. ´
Indice
Introdu¸˜o
ca
A Indu¸˜o de Programas em L´gica
ca o
Situa¸˜o Actual
ca
Problema Proposto
Perspectivas de Solu¸˜o
ca
Aspectos Tecnol´gicos
o
Plano de Trabalhos
Referˆncias
e
Plano de Trabalhos (1/2)
Estudo dos diferentes tipos de sistemas e t´cnicas de ILP (2 semanas).
e
Identifica¸˜o de m´dulos comuns e particulares de cada tipo de sistema (2
ca o
semanas).
Defini¸˜o de uma arquitectura hier´rquica para os diferentes m´dulos (1
ca a o
semana).
Defini¸˜o de uma linguagem de configura¸˜o de sistemas de ILP (1 semana).
ca ca
Desenvolvimento de um prot´tipo vertical de um sistema de ILP baseado em
o
m´dulos (1 semana).
o
Recolha e poss´ generaliza¸˜o de m´dulos j´ implementados noutros
ıvel ca o a
sistemas de ILP (2 semanas).
Jo˜o Azevedo
a Ambiente de Desenvolvimento de Sistemas de ILP 17/19
18. ´
Indice
Introdu¸˜o
ca
A Indu¸˜o de Programas em L´gica
ca o
Situa¸˜o Actual
ca
Problema Proposto
Perspectivas de Solu¸˜o
ca
Aspectos Tecnol´gicos
o
Plano de Trabalhos
Referˆncias
e
Plano de Trabalhos (2/2)
Desenvolvimento de m´dulos de interface com ferramentas externas (R,
o
SGBDs) (1 semana).
Desenvolvimento de um pseudo-compilador que aglutine o conjunto final de
m´dulos (2 semanas).
o
Desenvolvimento de uma interface gr´fica para a ferramenta (1 semana).
a
Desenvolvimento de um m´dulo de interface gr´fica para sistemas de ILP (1
o a
semana).
Desenvolvimento de um m´dulo de computa¸˜o distribu´ para gera¸˜o de
o ca ıda ca
hip´teses que servir´ de avalia¸˜o do processo de constru¸˜o de um sistema
o a ca ca
de ILP usando m´dulos pr´-definidos com um m´dulo novo (4 semanas).
o e o
Escrita da tese (4 semanas).
Jo˜o Azevedo
a Ambiente de Desenvolvimento de Sistemas de ILP 18/19
19. ´
Indice
Introdu¸˜o
ca
A Indu¸˜o de Programas em L´gica
ca o
Situa¸˜o Actual
ca
Problema Proposto
Perspectivas de Solu¸˜o
ca
Aspectos Tecnol´gicos
o
Plano de Trabalhos
Referˆncias
e
Referˆncias
e
N. Lavrac, S. Dzeroski. Inductive Logic Programming: Techniques and
Applications. Ellis Horwood, New York, 1994.
S. Dzeroski, N. Lavrac. Relational Data Mining. Springer, Berlin, 2001.
S. Muggleton. Inductive Logic Programming. New Generation Computing,
1991.
S. Muggleton, L. de Raedt. Inductive logic programming: Theory and
Methods. Journal of Logic Programming, volume 19, 1994.
S. Muggleton. Inverse Entailment and Progol. New Generation Computing,
Special Issue on Inductive Logic Programming, 1995.
Jo˜o Azevedo
a Ambiente de Desenvolvimento de Sistemas de ILP 19/19