Programação em Lógica Indutiva
Jacques Robin
DI-UFPE
O que é ILP (Inductive Logic Programming)?
Aprendizagem
Indutivo
Aprendizagem de
Árvores de Decisão
Programação
em Lógica
Indutiva (ILP)
Aprendizagem de
Regras Proposicionais
Aprendizagem
Atributivo
Lógica de ordem 0
Aprendizagem
Relacional
Lógica da
1a ordem
Programação
em Lógica
Revisão da Programação em Lógica



Representação uniforme de dados e conhecimento com
Lógica de Horn
Sub-conjunto (próprio) da lógica clássica da 1a ordem
Restrito a Cláusulas de Horn, i.e., implicações da forma:
...X,Y,Z,... p1(...,X,Y,...) ... pn(...,Y,Z,...)  c(...,X,Y,Z, ...)

Notação Prolog:
 Conhecimento dedutivo em intenção (regras):
c(...,X,Y,Z, ...) :- p1(...,X,Y,...),...,pn(...,Y,Z,...).
 Dados em extensão (fatos):
 p1(...,a,b,...). logicamente equivalente a T  p1(...,a,b,...).

Interpretador Prolog:
 sistema dedutivo
 provador de teorema para Lógica de Horn
Exemplo de programa Prolog
father(pat,ann).
mother(sue,pat).
parent(F,C) :- father(F,C).
parent(M,C) :- mother(P,C).
ancestor(A,D) :- parent(A,D).
ancestor(A,D) :- parent(P,D),
ancestor(A,P).
? ancestor(A,ann).
yes: A = pat
?;
yes: A = sue
?;
no
? ancestor(A,sue).
no
?
Prolog



Linguagem de programação computacionalmente completa
de propósito geral
Especificação formal executável
Banco de dados dedutivo:
 fato Prolog = registro de tabela relacional
 predicado Prolog = entidade ou relação
 regra (não recursiva) Prolog = visão de BD relacional

Gramáticas de Cláusulas Definidas (DCG):
 pré-processador built-in da programação em lógica:
 convertendo regras de gramáticas em cláusulas lógicas, e assim
 re-aproveitando o provador de teorema da programação em lógica
para implementar “de graça” parser ou gerador de frases
DCGs: Gramáticas de Cláusulas Definidas

Pré-processador built-in da programação em lógica:
 convertendo regras de gramáticas em cláusulas lógicas, e assim
 re-aproveitando o provador de teorema da programação em lógica
para implementar “de graça” parser ou gerador de frases

Usa diferença de listas como estrutura de dados:


frase da linguagem cuja gramática é representada pela DCG
- lista de palavras ainda a ser processadas
= listas de palavras já processadas
Cada regra DCG:
 associada a uma categoria sintática genérica cat
 instancia 2 argumentos adicionais implícitos:
1. lista de palavras do constituinte const da frase de catégoria cat
2. lista de palavras do resto da frase na direita de const
Conversão regra DCG / cláusula Prolog

Princípio:
 Usa diferença de listas como estrutura de dados:



frase da linguagem cuja gramática é representada pela DCG
- lista de palavras ainda a ser processadas
= listas de palavras já processadas
Cada regra DCG:
associada a uma categoria sintática genérica cat
instancia 2 argumentos adicionais implícitos:
1. lista de palavras do constituinte const da frase de catégoria cat
2. lista de palavras do resto da frase na direita de const
Exemplo:
Regras de gramáticas:
sn --> det, subs.
Entradas do dicionário:
det --> [o]. det--> [a].
det --> [os]. det --> [as].
subs --> [menino].
subs --> [meninos].
subs --> [menina].
subs --> [meninas].
Conversão para cláusulas Prolog:
sn(Csn,Rsn) :- det(Csn,Rdet), subs(Rdet,Rsn).
det([o|Rdet], Rdet). det([a|Rdet], Rdet).
det([os|Rdet], Rdet). det([as|Rdet], Rdet).
subs([menino|Rsubs], Rsubs).
subs([meninos|Rsubs], Rsubs).
subs([menina|Rsubs], Rsubs).
subs([meninas|Rsubs], Rsubs).
Prolog DGC: exemplo de execução
sn(Csn,Rsn) :- det(Csn,Rdet),
subs(Rdet,Rsn).
det([o|Rdet], Rdet).
det([a|Rdet], Rdet).
det([os|Rdet], Rdet).
det([as|Rdet], Rdet).
subs([menino|Rsubs], Rsubs).
subs([meninos|Rsubs], Rsubs).
subs([menina|Rsubs], Rsubs).
subs([meninas|Rsubs], Rsubs).
?- sn([o,menino],[]).
call sn([o,menino],[]).
call det([o,menino],Rdet).
exit det([o,menino],[menino]).
call subs([menino], []).
exit subs([menino], []).
exit sn([o,menino],[]).
yes
?- subs([menino],[]).
yes
?- det([o, menino],[menino]).
yes
?- sn([minha, menina],[]).
no
?- sn([o,meninas],[]).
yes
Paradigmas de raciocínio
P = { Pj}
fatos particulares
C = {Cj } | P  R |= C}
fatos particulares
Dedução
R = {Rk: P1k  ...  Plk  Ck }
regras gerais
C = {Cj}
fatos particulares
R = {Rk: P1k  ...  Plk  Ck}
regras gerais
Abdução
P = {Pj  VH } | P  R |= C}
fatos particulares hipotéticos
Viés VP sobre hipóteses
E = { Pj}  {Cj}
fatos particulares
{Bk:
P1k
B=
 ... 
regras gerais
Pnk

Ck}
Indução
H = {Hn: P1n  ...  Pmn  Cn  VH } |
E  B  H |= C
regras gerais hipotéticas
Viés VR sobre hipóteses
Idéias da ILP


Induzir regras Prolog
A partir de:
 exemplos codificados como fatos Prolog
 conhecimento prévio codificado como fatos e regras Prolog

Indução = geração de hipótese + teste de hipótese
 ILP usa mecanismos de busca análogos a busca no espaço de
versão da aprendizagem atributiva para gerar hipóteses
 ILP reaproveita dedução automática de Prolog para testar
hipótese

Linguagem de ILP x Prolog:
 com negações no BD e nas conclusões
 geralmente sem símbolos de função,
ex.: pessoa(nome(joão),idade(20)).
ID3
Entrada:

única tabela de BD representa
conhecimento prévio
 apenas em extensão
 apenas sobre um tipo de entidade
Saída:



conhecimento sobre classes de
entidades
em um formalismo diferente da
entrada
não diretamente executável
x
ILP
Entrada:

uma ou várias tabelas de BD
representam
 vários tipos de entidades e
relações





uma base de regras representa
conhecimento prévio em intenção
Saída:
conhecimento sobre classes de
entidades e/ou relações
no mesmo formalismo do que a
entrada
diretamente executável (por um
interpretador Prolog)
Vale não apenas para ID3 e sim para todos os métodos de aprendizagem
baseados em representação proposicional atributo-valor:
Weka, Redes Neurais, todos os métodos ensinados no CIn exceto ILP 
Indução de árvore de decisão: características


Tarefas:
classificação,
previsão e controle
Ambiente:









inacessível: +
não episódico: +
contínuo: + ou ruidoso: +
dinâmico: +
relacional: diverso: grande: +
Supervisionado

Controle da aprendizagem:









Treino antes da ação
Não incremental
Não iterativo
Top-down
Guloso
Global
Representação do conhecimento: lógica
propocisional
Não pode aproveitar de conhecimento
prévio
Propriedades da função aproximada:
escada N dimensional
Programação em Lógica Indutiva (ILP):
características


Tarefas: classificação,
previsão e controle
Ambiente pode ser:






inacessível, não episódico
contínuo, ruidoso
dinâmico?, grande?
relacional, diverso
Supervisionado: E+E- ou E+
Treino antes da ação







Incremental ou não
Não iterativo
Top-down ou bottom-up ou
bidirecional
Guloso
Global
Aproveita conhecimento prévio
para podar busca da hipótese
Aproxima qualquer função
Dados de lentes
Entrada para ID3:
age
spectacle
prescription
astigmatism
tear rate lens
young
myope
no
reduced
none
normal
none
...
Presbyopic
hypermetrope yes
Entrada para ILP:
age(fulano,young). spectaclePrescription(fulano,myope). astigmatism(fulano,no).
tearRate(fulano,no). lens(fulano,no).
...
age(beltrano,presbyopic). spectaclePrescriptio(beltrano,hypermetrope).
astigmatim(beltrano,yes). tearRate(beltrano,reduced). lens(beltrano,none).
Árvore de decisão em Prolog
lens(X,none) :tearProductionRate(X,reduced), !.
lens(X,soft) :tearProductionRate(X,normal),
astimatism(X,no), !.
lens(X,hard) :tearProductionRate(X,normal),
astimatism(X,yes),
spectaclePrescription(X,myope), !.
lens(X,none) :tearProductionRate(X,normal),
astimatism(X,yes),
spectaclePrescription(X,hypermetrope).
Necessidade da
aprendizagem
relacional


Como representar esse exemplos como um única tabela
de banco de dados?
Como representar um classificador abstrato desses
exemplos com uma árvore de decisão?
Problemas de
representação do
exemplos como
única tabela
...
Shape02
Dir02
Circle
N/A
Circle
N/A
no
yes
-
Circle
N/A
Triangle
up
no
yes
+
Triangle
Down
Square
N/A
no
yes
-
...
...
...
...
...
...
O2inO1
...
Dir01
...
O1inO2
...
ShapeO1
...
...
Class
...
Problemas de
representação
do classificador
como árvore de
decisão
Shape O1
= circle
= rectangle
= triangle
Shape O2
= circle
= rectangle
= triangle
O2 in O1
= yes
= no
Necessidade de aprendizagem relacional
Necessidade de aprendizagem relacional
Necessidade de aprendizagem relacional
Necessidade de aprendizagem relacional

pos(E) :- triangle(E,T1,D), triangle(E,T2,D), in(T1,T2).
Aplicações requerendo
aprendizagem relacional


Descoberta e aquisição de conhecimento envolvendo
raciocínio espacial, temporal ou multi-agentes (ex,
Caverna do Wumpus, futebol de robôs, jogos, genética,
biologia molecular, etc.)
Processamento de linguagem natural
 Aprendizagem de gramática de parsing, geração ou tradução de
textos

Engenharia de software:
 Programação automática a partir de exemplos de entrada/saída

Engenharia de dados:
 Explicitação ou verificação de conformidade a esquema e
restrições de integridade em BD
ILP monótona

Dados:
 exemplos positivos (Xi,f(Xi)), geralmente instanciados
 exemplos negativos (Xj, f(Xj)), geralmente instanciados
 conhecimento prévio B (regras), geralmente sem negação
 viés de aprendizagem (restrições sobre forma das regras a
aprender)

Aprende hipótese H (regras) tal que:
 ~ Xi,f(Xi), Xi  B  H |= f(Xi)
 ~ Xj,f(Xj), Xj  B  H |= f(Xj)
 H verifica restrições do viés de aprendizagem
 ~ definido por limiar de tolerância ao ruído

Aplicações:
 Mineração de dados preditiva: classificação, previsão temporal,
controle
 Descoberta de relações causais
ILP não monótona

Dados:
 exemplos todos positivos (Xi,f(Xi)), geralmente instanciados
 conhecimento prévio B (regras), possivelmente com negação
 viés de aprendizagem (restrições sobre forma das regras a
aprender)

Aprende hipótese H (regras) tal que:
 ~ Xi,f(Xi), Xi  B  H  f(Xi)
 H verifica restrições do viés de aprendizagem
 ~ definido por limiar de tolerância ao ruído

Aplicações:
 Mineração de dados descritiva: regras de associação, restrições
de integridade em BD, equações matemática
 Descoberta de relações não causais
ILP em geral


Generaliza qualquer tipo de aprendizagem para
representações relacionais
Por isso existe técnicas de ILP para:
 agrupamento conceitual relacional (aprendizagem não
supervisionado)
 aprendizagem relacional por reforço
 aprendizagem relacional baseado em instâncias
Aprender relação abstrata com ILP
Conhecimento a priori
Intencional:
parent(F,C) :- father(F,C).
parent(M,C) :- mother(P,C).
Extensional:
father(pat,ann).
father(tom,sue).
female(ann).
female(eve).
female(sue).
male(pat).
male(tom).
mother(eve,sue).
mother(ann,tom).
Exemplos
Positivos:
daughter(sue,eve).
daughter(ann,pat).
Negativos:
not daughter(tom,ann).
not daughter(eve,ann).
Aprende:
daughter(D,P) :female(D), parent(P,D).
Aprender definição recursiva com ILP
Conhecimento a priori
Intencional:
parent(F,C) :- father(F,C).
parent(M,C) :- mother(M,C).
Extensional:
father(pat,ann).
father(tom,sue).
female(ann).
female(eve).
female(sue).
male(pat).
male(tom).
mother(eve,sue).
mother(ann,tom).
Exemplos positivos:
ancestor(tom,sue).
ancestor(eve,sue).
...
Exemplo negativos:
not ancestor(ann,eve).
not ancestor(sue,eve).
...
Definição induzida:
ancestor(A,D) :- parent(A,D).
ancestor(A,D) :parent(A,P), ancestor(P,D).
Generalizacão x Especialização
Generalização (busca bottom-up)
 parte da hipótese a mais
específica: um exemplo +
 iterativamente a generaliza
 aplicando regras de indução
 até a 1a que cobre:
 todos os exemplos positivos taxa de erro
 nenhum exemplo negativos taxa de erro
Especialização (busca top-down)
 parte da hipótese a mais geral:

c(…,X,…) :-.
 iterativamente a especializa
 aplicando regras de dedução
 até a 1a que cobre:
 todos os exemplos positivos taxa de erro
 nenhum exemplo negativos taxa de erro
Regras e operadores para ILP






Especialização (refinamento) baseado em -Generalização
Generalização Mínima Relativa (RLGG Relative Least
General Generalization)
Resolução inversa em V
Resolução inversa em W (invenção de predicados)
Implicação inversa
Derivação inversa (inverse entailment)
-Generalização (-Subsumption)
G -generaliza S sse  substituição , (G)  S
 ie, G se unifica com uma parte de S
 ex, com  = {D/ann}, daughter(D,P) :- female(D).
-generaliza daughter(ann,P) :- female(ann), parent(P,ann).
 Sugere 2 operadores de especializações:

 aplicar substituição e acrescentar premissa


(G -generaliza S)  (G |= S) -- “G entails S”
mas (G |= S) (G -generaliza S)
 contra-exemplo:




G: humano(paiDe(H)) :- humano(H).
S: humano(paide(paiDe(H))) :- humano(H).
G |= S, porém G não -generaliza S
 Por isso muitos sistemas de ILP excluem estruturas aninhadas
(em lógica, funções)
Busca top-down
em reticulado de refinamento


Adaptação de ID3 para representação da 1a ordem
Espaço de hipótese:
 reticulado no qual cada no -generaliza seus filhos
 em cima: conclusão a aprender sem premissa
 em baixo: contradição ou hipótese mais específica Hms tal que:



Hms  B |= D+ (e Hms  B | D-)
Percorre reticulado de cima para baixo em largura 1a
Cada passo implementa uma abordagem gerar & testar
 gerar: todas as hipóteses Hn em L(H) refinando a hipótese atual
 testar: função heurística de:



número de D+ tal que: Hn  B |= D+
número de D- tal que: Hn  B |= Dtamanho de Hn
Busca top-down em reticulado de
refinamento: exemplo
daughter(D,P).
...
daughter(D,D).
...
daughter(D,P)
:- female(D).
...
daughter(D,P)
:- parent(P,D).
...
daughter(D,P)
:- female(D),
female(D).
daughter(D,P)
:- female(D),
parent(P,D).
daughter(D,P)
:- parent(D,X).
...
daughter(D,P)
:- parent(P,D),
female(D).
Generalização mínima relativa

Generalização mínima de 2 termos T e L (literais):
 substituição por variáveis dos sub-termos que não se casam
 ex, lgg(daughter(mary,ann),daughter(eve,tom)) = daughther(D,P)
 unificação inversa

Generalização mínima de 2 cláusulas:
 lgg(C1 :- P1, …, Q1. , C2 :- P2, …, Q2)
= lgg(C1,C2) :- lgg(P1,P2), …, lgg(Q1,Q2).
 ex, lgg(daughter(mary,ann) :- female(mary),parent(ann,mary). ,
daughter(eve,tom) :- female(eve),parent(tom,eve).)
= daughter(D,P) :- female(D), parent(P,D).

Generalização mínima de 2 termos C1 e C2 relativa a
base de conhecimento prévio BCP = {D1, …, Dn}:
 rlgg(C1,C2) = lgg(C1 :- D1, …, Dn. , C2 :- D1, …, Dn)
Busca bottom-up com
generalização mínima relativa: exemplo
Com BCP = {parent(ann,mary). parent(ann,tom). parent(tom,eve).
parent(tom,ian). female(ann). female(mary). female(eve).}
e BDE+ = {daughter(mary,ann). , daughter(eve,tom)}.
rlgg(daughter(mary,ann). , daughter(eve,tom).)
= lgg(daughter(mary,ann) :- BCP. , daughter(eve,tom) :- BCP. ).
= lgg(daughter(mary,ann), daughter(eve,tom)) :lgg(parent(ann,mary), parent(ann,mary)),
lgg(parent(ann,mary), parent(ann,tom),
lgg(parent(ann,mary), parent(tom,eve),
...
lgg(female(mary), female(eve)), lgg(female(eve), female(eve)).
= daughter(D,P) :- BDE, parent(ann,D0), parent(P,D), parent(P1,D1),
parent(P2,D2), parent(P3,D3), parent(P4,D4),
female(D1), female(D2), female(D).
= daughther(D,P) :- parent(P,D),female(D).
Resolução inversa em V
q :  a1 ,...,a n . p : - a1 ,...,a n , b1 ,...,b n .
 Absorção:
p : -q, b1 ,...,b n .
p :  a1 ,...,a n , q. p : - a1 ,...,a n , b1 ,...,b n .
 Identificacão:
q : - b1 ,...,b n .

Limitação: vocabulário fixo de predicados
Exemplo de resolução inversa em V:
encadeamento de 2 absorções
H2: daughter(D,P) :- parent(P,D), female(D).
 11:{mary/D}
B2: female(mary).
H1: daughter(mary,P) :- parent(P,mary).
B1: parent(ann,mary).
 21:{ann/P}
E1: daughter(mary,ann).
q1 = b21 = parent
q2 = female
p1 = p2 = daughter
a11 = b11 = a21 = T
Resolução inversa em W:
invenção de predicados
p : - a1 ,...,a n , b1 ,...,b n . p :  a1 ,...,a n , c1 ,...,c n .
 Intra-construção:
q : - b1 ,...,b n .
p :  a1 ,...,a n , q.
q : - c1 ,...,c n .

Inter-construção:

Limitações:
p : - a 1 ,..., a n , b 1 ,..., b n . p :  a 1 ,..., a n , c1 ,..., c n .
p : - r, b 1 ,..., b n .
r :  a 1 ,..., a n .
p : - r, c1 ,..., c n .
 incapacidade em inverter derivação envolvendo várias vezes a
mesma cláusula hipotética
 complexidade da busca aumenta com conhecimento a priori
 ex, intra-construção: 2 cláusulas  3 cláusulas
Exemplo de invenção de predicado
com intra-construção
q(P,D) :father(P,D).
ancestor(A,D) :ancestor(A,P), q(P,D).
 11 :{F/P}
ancestor(A,D) :ancestor(A,F), father(F,D).
q = parent
p = a1 = ancestor
q(P,D) :mother(P,D).
 21 :{M/P}
ancestor(A,D) :ancestor(A,M), mother(M,D).
b1 = father
c1 = mother
Viés de aprendizagem em ILP


Objetivo: reduzir busca no espaço de hipótese
Porque?
Se L(H) contem qualquer cláusula de Horn gerável:


por refinamento da cláusula sem premissa
por resolução inversa de 2 elementos de B U D+
Então:



espaço de busca (seja bottom-up ou top-down)
grande demais para ser explorado eficientemente (as vezes até infinito)
Viés sintático paramétrico sobre cláusulas: limitar
número de premissas por cláusula,
número de variáveis por cláusula,
profundidade dos termos das cláusulas,
nível dos termos das cláusulas.
 Viés semântico sobre predicados:
tipos dos seus argumentos
instanciação dos seus argumentos

constante #, variável de entrada + ou variável de saída -
número de vezes que um predicado pode ser satisfeito
Viés sintático sobre L(H)

Conhecimento estrutural a priori sobre as hipóteses:
 preciso e específico do domínio
 ou heurístico e geral

Dimensões:
 explícito/implícito
 parametrizado/declarativo

Formalismos de declaração explícito de bias sintático:
 gramática de cláusulas definidas (DCG -- Definite Clause Grammar)

formalismo built-in da programação em lógica para parsing and
geração de linguagens)
 cláusulas da 2a ordem
Exemplo de viés sintático
declarado com DCG
head(father(P,C)).
head(mother(P,C)).
body(father(P,C)) --> m(P),f(P),[parent(P,C)].
body(mother(P,C)) --> m(P),f(P),[parent(P,C)].
m(M) --> [ ].
m(M) --> [male(M)].
f(M) --> [ ].
f(M) --> [female(M)].
Exemplo de restrições sintáticas declaradas
com cláusulas da 2a ordem
Q(P,F) :- R(P,F).
Q(P,F) :- S(P).
Q(P,F) :- S(P), R(P,F).
Q(P,F) :- S1(P), S2(P), R(P,F).



Substituição da 2a ordem
 = {Q/father,S/male,R/parent}
seleciona cláusula: father(P,F) :- male(P), parent(P,F).
Viés sintático parametrizado





lista dos nomes de predicado permitidos em hipóteses
número máximo de premissas por cláusula
número máximo de variáveis por cláusula
profundidade máxima dos termos das cláusulas
nível máximo dos termos das cláusulas:
 variável V é ligada em cláusula C :- P1, …, Pn sse:


V  C, ou
 i  {1, …, n},  W  V: V  Pi  W  Pi  W ligada em C :- P1, …, Pn.
 cláusula ligada sse todas suas variáveis são ligadas

ex, p(X) :- q(Z) não ligada, p(X) :- q(X,Y),r(Y,Z),u(Z,W) ligada.
 nível n(t) de um termo t em cláusula ligada C :- P1, …, Pn:


0 se t  C, ou 1 + min(n(s)) se t  Pi  s  Pi
ex, n(C, grandfather(G) :- male(G), parent(G,F), parent(F,C)) = 2
Viés semântico sobre L(H): tipos e modos

Tipos:
const(a). const(b). …
clist([]).
clist([H|T]) :- const(H), clist(T).

Modos: restrições sobre predicados
 na conclusão (modeh) ou premissa (modeb) das regras
 número de vezes que um predicado pode ser satisfeito
 tipos dos seus argumentos
 instanciação dos seus argumentos (constante #, variável de
entrada + ou variável de saída -)
 ex: modos para append
:- modeh(1,append(+clist,+clist,-clist))?
:- modeh(1,append([+const|+clist],+clist,[-const|-clist]))?
:- modeh(1,append(#clist,+clist,-clist))?
:- modeb(1,append(+clist,+clist,-clist))?
Viés semântico sobre L(H): determinação

h(…,X0i,...) :- p1(...,X1j,…), …, pn(…,Xnk,…). determinada
dados um conhecimento a priori B e exemplos D sse:
 as instanciações dos X0j, …, Xij restringem os X(i+1)j a um único
valor, ie,
  i  {1,…,n},  Xij  pi,  Xkl, k < I, ! v tal que:


Xij/v compatível com Xkl/vkl
Exemplo:
 D: parent(jef,paul).
parent(jef,ann).
male(paul).
female(ann).
 hasFather(C) :- parent(P,C). determinada: P/jef
 isFather(F) :- parent(F,C). não determinada: C/{paul;ann}

Torna aprendizagem eficiente (porém incompleto)
Preferências sintáticas e probabilísticas


(H) = número de bits na codificação mínima de H
Thm:
 H que minimiza (H) em L(H) também maximiza P(H|B E)
 ie, a hipótese mais concisa sempre corresponde a mais verossímil


Prova: Thm de Bayes + Thm de Shannon
Justificação téorica do navalha de Occam
Aplicações práticas de ILP

Medicina e saúde:
 previsão dos efeitos de uma nova
droga composta a partir dos
efeitos dos seus componentes em
drogas testadas
 previsão da forma 3D de uma
proteína a partir da sua seqüência
de ácidos-amidos
 descoberta de regras diagnosticas
em reumatologia


 descoberta de regras para jogar
xadrez

Engenharia de software:
 programação (em lógica)
automática
 otimização de código (de
programas lógicos)
 teste e depuração de código (de
programas lógicos)
 descobertas de restrições de
integridade implícitas em BD
CAD/CAM:
 descoberta de regras escolhendo
resolução de elementos finitos em
modelos numéricos de estresses
em estruturas
 derivar regras de diagnostico de
falha em satélites a partir de
regras causais modelando o
funcionamento dos mesmos
Jogos:

Processamento de linguagem
natural:
 aprendizagem de regras de
gramáticas de uma língua natural a
partir de grande corpus de textos
Download

ilp