Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE.
Transcript of Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE.
Sistemas Baseados em Conhecimento e Paradigmas de Inteligência
Artificial
Jacques RobinCIn-UFPE
Agente baseado em conhecimento
Am
bie
nte
Sensores
Efetuadores
Base deConhecimentoEspecializada
Máquina deInferênciaGenérica
Ask
Tell
Retract
Representação e
Aquisição de
Conhecimento
Raciocínio Automátic
o
O que é conhecimento?
Dado, informação ou abstração formatado de maneira a permitir raciocínio por um ser humano ou por uma máquina, por exemplo Classes e objetos Formula da lógica Distribuição de probabilidade prévia e condicional de variáveis aleatórias
O que é raciocínio? Mecanismo sistemático para inferir ou derivar novo conhecimento a partir de novas percepções e/ou de conhecimento prévio, por exemplo: Herança de atributos entre classe, sub-classes e objetos Prova de teorema por refutação, resolução e unificação Cálculo de probabilidade posterior de um evento pelo Teorema de Bayes
Exemplo de raciocínio automáticocom conhecimento: West é criminoso?
Sabendo que:1. É criminoso para um
americano de vender armas para uma nação hostil aos EUA
2. Nono tem mísseis3. Nono comprou todos seus
mísseis do Capitão West4. O Capitão West é americano5. Nono é uma nação6. Nono está um inimigo dos EUA7 . Um míssil é um tipo de arma8. A inimizade é uma forma de
hostilidade9. Os EUA é uma nação
Pode se inferir que:0. O Capitão West é criminoso?
Representando esse conhecimento em lógica dos predicados da 1a ordem
( P,W,N american(P) weapon(W) nation(N) hostile(N) sells(P,N,W) criminal(P)) //1
( W owns(nono,W) missile(W)) //2 ( W owns(nono,W) missile(W)
sells(west,nono,W)) //3 american(west) //4 nation(nono) //5 enemy(nono,america) //6 X missile(W) weapon(W) //7 X enemy(N,america) hostile(N) //8 nation(america) //9
Provador de teorema pode ser usado para tentar inferir:
criminoso(west) //0
Exemplo de raciocínio automáticocom conhecimento: West é criminoso?
Lembram-se de quais mecanismos de dedução estudados na cadeira de lógica?
Lembram-se de forma normal?
Skolemização? Unificação?
Resolução?
Refutação?
Exemplo de raciocínio automáticocom conhecimento: West é
criminoso? Prova por refutação: mostrar que
( P,W,N american(P) weapon(W) nation(N) hostile(N) sells(P,N,W) criminal(P)) //1
( W owns(nono,W) missile(W)) //2 ( W owns(nono,W) missile(W)
sells(west,nono,W)) //3 american(west) //4 nation(nono) //5
enemy(nono,america) //6
W missile(W) weapon(W) //7 N enemy(N,america) hostile(N) //8 nation(america) //9 criminoso(west) //0
é inconsistente.
1o passo: colocar formula em forma normal
(american(P) weapon(W) nation(N) hostile(N) sells(P,N,W) criminal(P)) // 1
T owns(nono,m1) // skolemização 2a
T missile(m1) // 2b (owns(nono,W) missile(W)
sells(west,nono,W)) //3 T american(west) //4 T nation(nono) //5 T enemy(nono,america) //6 missile(W) weapon(W) //7 enemy(N,america) hostile(N) //8 T nation(america) //9 criminoso(west) F //0
Exemplo de raciocínio automáticocom conhecimento: West é criminoso?
(american(P) weapon(W) nation(N) hostile(N) sells(P,N,W) criminal(P)) // 1
T owns(nono,m1) // skolemização 2a
T missile(m1) // 2b (owns(nono,W) missile(W) sells(west,nono,W)) //3
T american(west) //4 T nation(nono) //5 T enemy(nono,america) //6
missile(W) weapon(W) //7 enemy(N,america) hostile(N) //8 T nation(america) //9 criminoso(west) F //0
2o passo: aplicar regra de resolução a pares de clausulas tal que premissa de uma se unifica com conclusão da outra
1. Resolver 2b com 7 unificando W/m1T weapon(m1) //102. Resolver 6 com 8 unificando N/nonoT hostile(nono) //113. Resolver 2a 2b com 3 unificando W/m1T sells(west,nono,m1) //124. Resolver 4 10 5 11 12 com 1unificando P/west, W/m1, N/nonoT criminoso(west) //135. Resolver 13 com 0
T F contradição
Tipos de conhecimento
Estático x Dinâmico Do problema x Meta-conhecimento (controle, explicação, reuso) Diagnóstico x Causal Dedutivo x Terminológico Intencional x Extensional Síncrono x Diácrono Certo x Incerto Preciso x Vago Declarativo x Procedimental De senso comum x Especialista Explicito x Implícito
Conhecimento estático x dinâmico
Conhecimento estático: Hierarquia de conceitos (classes de fatos)
ex, X, wumpus(X) monstro(X).
Restrições de integridades ex, X,Y wumpus(X) wumpus(Y) X = Y.
Regras de dedução sobre o domínio ex, X,Y smelly(X,Y) (loc(wumpus,X+1,Y) loc(wumpus,X-1,Y)
loc(wumpus,X,Y+1) loc(wumpus,X,Y-1).
Meta-regras para controle e explicação do raciocínio Conhecimento dinâmico:
Fatos, i.e., proposições sobre instâncias de conceitos ex, loc(wumpus,2,1) loc(wumpus,1,2) loc(wumpus,2,3)
loc(wumpus,2,3). alive(wumpus,4). alive(wumpus,7).
Conhecimento causal x diagnóstico
Conhecimento causal: prevê resultados de ações e eventos ex, X,Y,T loc(agent,X,Y,T) orientation(0,T) forward(T) loc(wall,X,Y+1) loc(agent,X,Y+1,T+1).
Conhecimento diagnóstico: forma hipóteses sobre causas de efeitos observados ex, X,Y,T smell(stench,X,Y,T) smelly(X,Y). X,Y smelly(X,Y) (loc(wumpus,X+1,Y) loc(wumpus,X-1,Y) loc(wumpus,X,Y+1) loc(wumpus,X,Y-1)).
Conhecimento terminológico x dedutivo
Conhecimento terminológico: ex, M, wumpus(M) monster(M). M,T monster(M) alive(M,T) dangerous(M,T).
Conhecimento dedutivo: ex, M,X,Y,T dangerous(M,T) loc(M,X,Y,T) safe(X,Y,T). X,Y,T loc(agent,X,Y,T) orientation(0,T) forward(T) loc(wall,X,Y+1) loc(agent,X,Y+1,T+1).
Conhecimento intencional x extensional
Conhecimento intensional: Fatos ou regras universalmente quantificados ex, X,Y X = 0 X = 5 Y = 0 Y = 5 loc(wall,X,Y).
Conhecimento extensional: Instâncias de conceitos ex, loc(wall,0,1). loc(wall,0,2). loc(wall,0,3). loc(wall,0,4). loc(wall,5,1). loc(wall,5,2). loc(wall,5,3). loc(wall,5,4). loc(wall,1,0). loc(wall,2,0). loc(wall,3,0). loc(wall,4,0). loc(wall,1,5). loc(wall,2,5). loc(wall,3,5). loc(wall,4,5).
Conhecimento sincrónico x diacrónico
Conhecimento diacrónico: Regras de previsão das propriedades do ambiente entre dois instantes T e T+1 devidas a ações ou eventos ex, X,Y,T loc(agent,X,Y,T) orientation(0,T) forward(T) loc(wall,X,Y+1) loc(agent,X,Y+1,T+1).
Conhecimento sincrónico: Regras de propagação das conseqüências não observáveis do ambiente a partir das observadas no mesmo instante T ex, M,X,Y,T dangerous(M,T) loc(M,X,Y,T) safe(X,Y,T).
Conhecimento certo x incerto
Conhecimento certo: Epistemologicamente booleano ex, X,Y smelly(X,Y) smelly(X+1,Y-1) smelly(X-1,Y-1) loc(wumpus,X,Y+1).
Conhecimento incerto: Epistemologicamente probabilista: ex, X,Y smelly(X,Y,1) (loc(wumpus,X+1,Y,0.25) loc(wumpus,X-1,Y,0.25) loc(wumpus,X,Y+1,0.25) loc(wumpus,X,Y-1,0.25)).
Tipos de raciocínios: dedução
Dado: Conhecimento prévio ou percepção especifico Ec sobre instância
particular de problema ou ambiente Conhecimento genérico G sobre classe de problema ou ambiente
Inferir: Novo conhecimento específico Ee sobre instância particular do
problema ou ambiente
Infere efeito Ee de causa Ec a partir de modelo do ambiente G
Exemplo: Dado
Ec = loc(agent,1,1,1) orientation(0,1) forward(1) loc(wall,1,2) G = X,Y,T loc(agent,X,Y,T) orientation(0,T) forward(T)
loc(wall,X,Y+1) loc(agent,X,Y+1,T+1)
Deduz Ee = loc(agent,1,2,2).
Tipos de raciocínios: abdução
Dado: Conhecimentos prévios ou percepções especificos Ee e Eb sobre
instância particular de problema ou ambiente Conhecimento genérico G sobre classe de problema ou ambiente
Inferir: Novo conhecimento específico Ec sobre instância particular do
problema ou ambiente Infere causa Ec de efeito Ee a partir do contexto Eb e modelo do
ambiente G Exemplo:
Dado Ee = loc(agent,1,2,2) Eb = orientation(0,1) forward(1) loc(wall,1,2) G = X,Y,T loc(agent,X,Y,T) orientation(0,T) forward(T)
loc(wall,X,Y+1) loc(agent,X,Y+1,T+1)
Abduz Ec = loc(agent,1,1,1).
Tipos de raciocínios: indução
Dado: Conjunto de conhecimentos prévios ou percepções específicos Ec, Ee
sobre instâncias particulares de problema ou ambiente Conhecimento prévio genérico Gp sobre classe de problema ou
ambiente Inferir:
Novo conhecimento conhecimento genérico Gn sobre classe de problema ou ambiente
Infere parte do modelo do ambiente Gn a partir de causas Ec , efeitos Ee e outra parte do modelo do ambiente Gp
Exemplo: Dado
{loc(gold,1,2,1) glitter(1,2,1), ..., loc(gold,4,4,6) glitter(4,4,6)} Ec x Ee
{loc(gold,1,2,1) glitter(3,2,1), ..., loc(gold,4,4,6) glitter(2,1,6)} Ec x Ee
Induz Gn = X,Y,T glitter(X,Y,T) loc(gold,X,Y,T)
Tipos de raciocínios: analogia
Dado: Conjunto de conhecimentos prévios ou percepções específicos
completos p1(I1), ..., pn(I1), ..., p1(Im), ... pn(Im) sobre instâncias particulares de problema ou ambiente
Medida de similaridade d entre essas instâncias Conhecimento ou percepção específico parcial
p1(I0), ..., pi-1(I0), pi+1(I0), ..., pn (I0)sobre uma nova instância particular de problema ou ambiente
Inferir: Novo conhecimento específico pi(I0), faltando sobre essa nova
instância particular de problema ou ambiente como sendo f(pi(Ij), ..., pi(Ij+k))onde q, j q j+k, d(I0,Iq) l
Exemplo: Dado:
{result(forward,stench,2) = alive, result(left,stench,2) = alive, result(right,stench,2) = alive, result(pick,stench,2) = alive,result(left,breeze,5) = alive, result(right,breeze,5) = alive,result(pick,breeze,5} = alive}
Inferir por analogia: result(forward,breeze,5) = alive
Agente baseado em conhecimentodedutivo ou abdutivo
Am
bie
nte
Sensores
Efetuadores
Base de Conhecimento Dinâmico (BCD): fatos, objetos
formulas lógicas instanciadas
Máquina de inferênciadedutiva e/ou abdutiva
Base de Conhecimento Estático (BCE):regras, classes, formulas lógicas
universalmente quantificadas
Ask
Tell
Retract
Ask
Agente baseado em conhecimento analógico
Am
bie
nte
Sensores
Efetuadores
Base de Conhecimento Dinâmico (BCD): fatos, objetos
formulas lógicas instanciadasestruturados por similaridadesestruturados por similaridades
Máquina de inferênciaanalógica
Tell RetractAsk
Agentes baseados em conhecimento na tipologia dos agentes
O agente baseado em conhecimento é: Puramente reativo? Reativo com estado interno? Deliberativo (cognitivo)? Otimizador?
Todos! Depende da modelagem e
arquitetura usadas na base conhecimento
Lembram do agente deliberativo?
Am
bie
nte
Sensores
Efetuadores
Modelo dos ambientespassados e atual
Interpretadorde percepção
Escolhedor de ação
Atualizadordo modelo
do ambiente
Preditorde ambientes
futuros
Modelo de ambientesfuturos hipotéticos
ObjetivosAtualizadordo objetivos
E lembram do agente baseado em conhecimento?
Am
bie
nte
Sensores
Efetuadores
Base deConhecimentoEspecializada
Máquina deInferênciaGenérica
Ask
Tell
Retract
Como seria então um agente deliberativo baseado em conhecimento?
Am
bie
nte
Sensores
Efetuadores
BCD: modelo dos ambientespassados e atual
BCD: modelo de ambientesfuturos hipotéticos
BCD: Objetivos
BCE: interpretaçãodas percepções
BCE: atualizaçãodo modelo do ambiente
BCE: atualizaçãodo objetivos
BCE: predição deambientes futuros
BCE: estratégia deescolha de ações
Máquina deinferência
AskTell
Retract
Ask
Como se obtém conhecimento?
Durante desenvolvimento: Conhecimento estático e dinâmico inicial
Manualmente via codificação direta Semi-automaticamente via interface de aquisição de conhecimento Semi-automaticamente via aprendizagem de máquina (indução off-line) Usando metodologias de engenharia de conhecimento
Durante execução: Conhecimento dinâmico
Automaticamente via percepção, dedução, abdução ou analogia
Conhecimento estático Automaticamente via analogia ou indução on-line (agente aprendiz situado)
Engenharia do conhecimento
Metodologia para desenvolver sistemas baseados em conhecimento e especialmente bases de conhecimento
Orientação a objeto (e também métodos formais) em: linguagens de modelagem, programação e representação do conhecimento
favoreceu interseção e convergência entre engenharia de software e engenharia de conhecimento
Problemática comum: Robustez, escalabilidade, estendibilidade, reusabilidade, desenvolvimento distribuído, elicitação do conhecimento de especialista do domínio lego em informática
Desenvolvimento de uma base de conhecimento: Geralmente em espiral com três níveis principais de captura de conhecimento: Nível do conhecimento, nível da formalização, nível da implementação
Engenharia de uma base de conhecimento
Elicitação do conhecimento
Formalização do conhecimento
Implementação do conhecimento
Nível do conhecimento:• Nos termos do especialista do domínio de aplicação• Linguagem natural, Notações gráficas ad-hoc
Nível semi-formal:• Notação textual estruturada padrão (ex, XML) • Notação gráfica padrão (ex, UML)• Validação com especialista
Nível formal:• Notação sem ambigüidade com semântica definida matematicamente (ex, lógica, probabilidades)• Verificação de consistência
Nível da implementação:• Codificação em uma linguagem de programação• Teste de protótipo
Engenharia de uma base de conhecimento
Elicitação do conhecimento
Formalização do conhecimento
Implementação do conhecimento
Nível do conhecimento:• Nos termos do especialista do domínio de aplicação• Linguagem natural, Notações gráficas ad-hoc
Nível semi-formal:• Notação textual estruturada padrão (ex, XML) • Notação gráfica padrão (ex, UML)• Validação com especialista
Nível formal:• Notação sem ambigüidade com semântica definida matematicamente (ex, lógica, probabilidades)• Verificação de consistência
Nível da implementação:• Codificação em uma linguagem de programação• Teste de protótipo
Engenharia de uma base de conhecimento
Elicitação do conhecimento
Formalização do conhecimento
Implementação do conhecimento
Nível do conhecimento:• Nos termos do especialista do domínio de aplicação• Linguagem natural, Notações gráficas ad-hoc
Nível semi-formal:• Notação textual estruturada padrão (ex, XML) • Notação gráfica padrão (ex, UML)• Validação com especialista
Nível formal:• Notação sem ambigüidade com semântica definida matematicamente (ex, lógica, probabilidades)• Verificação de consistência
Nível da implementação:• Codificação em uma linguagem de programação• Teste de protótipo
• Entrevistas estruturadas com especialista• Preparação de dados
• Linguagens formaisde representação do conhecimento• Aprendizagemde Máquina
• Ontologias• Linguagenssemi-formaisde representaçãodo conhecimento
• Compiladores• Máquinas de inferências• Aprendizagemde Máquina
Agente indutivo off-line: fase de treinamento
Base de Dados, Exemplos, Casos representativos do ambiente
fatos, objetosformulas lógicas instanciadas
Máquina deinferênciadedutiva
e/ou abdutiva
Base de ConhecimentoEstático (BCE):
regras, classes, formulas lógicas
universalmente quantificadas
Máquina deinferênciaindutiva
Ask
Tell
Retract
Compare
Retract
Ask
Ask
Ask
Agente indutivo off-line: fase de utilização
Am
bie
nte
Sensores
Efetuadores
Base de Conhecimento Dinâmico (BCD): fatos, objetos
formulas lógicas instanciadas
Máquina de inferênciadedutiva e/ou abdutiva
Base de Conhecimento Estático (BCE)construída por induçãoconstruída por indução::
regras, classes, formulas lógicasuniversalmente quantificadas
Ask
Tell
Retract
Ask
Agente aprendiz situado
Am
bie
nte
Sensores
Efetuadores
Base de ConhecimentoDinâmico (BCD):
fatos, objetosformulas lógicas
instanciadas
Máquina deinferênciadedutiva
e/ou abdutiva
Base de ConhecimentoEstático (BCE):
regras, classes, formulas lógicas
universalmente quantificadas
Máquina deinferênciaindutiva
Ask
Tell
Retract
Tell
Retract
Ask
Ask
Ask
Recapitulando terminologia de agentes
Arquiteturas de agentes: reativo puro reativo com estado interno = autômato deliberativo = cognitivo = baseado em objetivo = planejador otimizador = baseado em utilidade = decision-theoretic aprendiz off-line = indutivo off-line aprendiz situado = aprendiz on-line
Agente autônomo: ao mínimo reativo com estado interno Agente adaptativo = agente aprendiz situado Agente baseado em conhecimento:
compatível com todas as arquiteturas
Paradigmas de IA
Várias metáforas para modelagem computacional de raciocínio e conhecimento: Simbólico Probabilista Conexionista Evolucionista Nebuloso Multiagente Híbrido
Diferenças chaves: Forma de representar o conhecimento Forma de raciocinar com esse conhecimento Forma de adquirir esse conhecimento Ciências provendo metáfora
IA Simbólica
Raciocinar como manipulação de símbolos representando as entidades, relações, eventos de domínio de aplicação
Exemplo: representar entidades, relações e eventos como formulas da lógicausar provador de teorema para raciocinar dedutivamente com tais formulas
Inspirada na lógica, semiologia, lingüística e psicologia cognitiva
IA via mímica do “software” do cérebro humano Representação do conhecimento: todos os tipos Raciocínio: todos os tipos Aquisição do conhecimento: todos os tipos
IA Simbólica
Mais antiga, mais versátil e ainda mais utilizada Inadequada para:
Raciocínio pelo qual eliciar conhecimento explícito é muito difícil Raciocínio de baixo nível de interpretação de percepção
Reconhecimento de padrões, visão computacional, processamento da fala
Raciocínio de baixo nível para disparo de ações reflexas Controle dos motores dos efetuadores do robôs
Raciocínio com conhecimento incerto ou muito ruidoso Raciocínio envolvendo cálculo ou probabilidades
IA Conexionista
Raciocinar como ativações de ligações em uma redes(de neurônios, de eventos, de entidades)
Inspirada na neurologia IA via mímica do “hardware” do cérebro humano Representação do conhecimento: conjunto de atributo-valores
de poder expressivo equivalente a lógica proposicional Raciocínio: indutivo ou analógico durante treinamento,
dedutivo, abdutivo ou analógico durante utilização Aquisição do conhecimento: aprendizagem
Redes neurais: exemplo do mundo do Wumpus
Entrada da rede:codificação binária depares atributos-valores
Saída da rede:codificação binária depares atributos-valores
nenhuma percepção
00000
stench 00001
breeze 00010
glitter 00100
scream 01000
batida 10000
... ...stench breeze glitter scream
01111
forward000101111
right 001
left 010
shoot 011
pick 100
out 101
Redes Neurais: princípios
wji
w1i
wni
s(i)
e(i) e(i) w ji sj
s(i) f (e(i))
s1
sj
sn
camadade entrada camada
de saídacamadaescondida
Redes Neurais: princípios
Criar base de exemplos: Exemplos positivos: pares (seqüência de percepção,sequencia de ação) que resultaram no explorador sair da caverna vivo com o ouro
Exemplos negativos: pares (seqüência de percepção,sequencia de ação) que resultaram no explorador morrer
Dividir essa base em treinamento e teste Iniciar pesos da rede com valores aleatorias Codificar todas as seqüências de percepção em bits de entrada
da rede Propagar essas seqüências de percepções e comparar saída da
rede com codificação binária das seqüências de ação bem sucedidas
Ajustar pesos para minimizar distância média quadrada entre saída da rede e a melhor sequencia de ação
Redes neurais: exemplo do mundo do Wumpus
Entrada da rede:codificação binária depares atributos-valores
Saída da rede:codificação binária depares atributos-valores
nenhuma percepção
00000
stench 00001
breeze 00010
glitter 00100
scream 01000
batida 10000
... ...stench breeze glitter scream
01111
forward000101111
right 001
left 010
shoot 011
pick 100
out 101
IA Conexionista
Adequada para: Raciocínio pelo qual eliciar conhecimento explícito é muito difícil Raciocínio de baixo nível de interpretação de percepção
Reconhecimento de padrões, visão computacional, processamento da fala
Raciocínio de baixo nível para disparo de ações reflexas Controle dos motores dos efetuadores do robôs
Inadequada: Para domínios relacionais requerem representação da 1a ordem Para aplicações críticas requerendo explicações detalhadas e claras do porque das decisões do agentes (ex, central nuclear, cirurgia, investimento de grande porte)
IA Evolucionista
Raciocinar como construção de soluções por um processo iterativo de geração semi-aleatório de hipóteses seguida por uma seleção das mais adaptadas ao ambiente
Inspirada na teoria da evolução, paleontologia, socio-biologia IA via mímica do “processo de desenvolvimento” do cérebro
humano Representação do conhecimento: conjunto de atributo-valores
de poder expressivo equivalente a lógica proposicional Raciocínio: indutivo durante treinamento, dedutivo ou abdutivo
durante utilização Aquisição do conhecimento: aprendizagem
Algoritmos genéticos: exemplo no mundo do Wumpus
Entrada: vocabulário básico de atributos e domínio de valores glitter, stench, breeze, ... {yes/no} action {forward,turnRight,turnLeft,shoot,pick, ...}
Saída: árvore de decisão cujos ramos testam valores de (alguns) atributos e cujas folhas indicam decisão a tomar
1a geração de indivíduo: conjunto de árvores de decisão gerados aleatóriamente
Cada par (atributo,valor) é visto como um gen Cada árvore de decisão é visto como um genótipo
glitter?
turnRightshoot
yes no
turnLeft pick
breeze?
yes no
breeze?
yes no
Indivíduo 1
...
Indivíduo N
stench?
pick
yes pick
stench?
yes no
pick
Algoritmos genéticos: princípio
Os indivíduos da geração i são testados no ambiente Função de fitness determina métrica de desempenho e limiar
de sobrevivência A geração i+1 é formada por:
Cruzamento dos genótipos dos sobrevivente da geração i (reprodução) Cortar e colar aleatória da árvore pai com a árvore mãe
Mutação dos sobreviventes da geração i Modificação aleatória da árvore
Iteração até uma geração conter indivíduo com desempenho acima de limiar desejado
Algoritmos genéticos: reprodução
glitter?
turnRightshoot
yes no
turnLeft pick
breeze?
yes no
breeze?
yes no
Pai
Filho
shoot
yes
turnLeft
breeze?
yes no
Filha glitter?
turnRight
no
pick
breeze?
yes no
stench?
pick
yes
stench?
yes no
pick
Mãe
pick
no
stench?
pick
no
pick
yes
stench?
yes no
pick
Algoritmos genéticos: mutação
glitter?
turnRightshoot
yes no
turnLeft pick
breeze?
yes no
breeze?
yes no
Original
glitter?
shoot
yes no
turnLeft pick
breeze?
yes no
Mutante 3
glitter?
turnRightshoot
yes no
turnLeft pick
stench?
yes no
breeze?
yes no
Mutante 1
glitter?
yes no
shootturnLeft
breeze?
yes no
turnRightpick
breeze?
yes no
Mutante 2
IA Evolucionista
Adequada para: Raciocínio pelo qual eliciar conhecimento explícito é muito difícil Raciocínio de baixo nível de interpretação de percepção
Reconhecimento de padrões, visão computacional, processamento da fala
Raciocínio de baixo nível para disparo de ações reflexas Controle dos motores dos efetuadores do robôs
Inadequada para domínios relacionais requerem representação da 1a ordem
IA Nebulosa
Raciocinar em termos intuitivos com “palavras” e “quantidades qualitativas” do quotidiano “alto”, “baixo”, “muito”, “pouco”, ... “Voce vai ao cinema hoje?” “Vou de tardezinha.” “Estou com muita vontade de ir”
Inspirada na lingüística e lógicas não booleanas com valores de verdades contínuas
IA via mímica do “software” do cérebro humano Representação do conhecimento: versões nebulosas de lógica
e regras Raciocínio: dedução e abdução Aquisição do conhecimento: manual
Teoria de Conjunto Convencional (Booleano):
““Febre Alta”Febre Alta”
40.1°C40.1°C
42°C42°C
41.4°C41.4°C
39.3°C39.3°C
38.7°C38.7°C
37.2°C37.2°C
38°C38°C
Teoria de Conjunto Fuzzy:
40.1°C40.1°C
42°C42°C
41.4°C41.4°C
39.3°C39.3°C
38.7°C38.7°C
37.2°C37.2°C
38°C38°C
“mais ou menos“ ao invés de “ou isto ou aquilo”!
IA nebulosa
Função de pertinência mA de elemento X a conjunto nebuloso A mA: X -> [0,1]
1
X(m)
altobaixo1
X(m)
altobaixo
1,55 1,80
mALTO(1,70) = 0.6, lêia-se 1,70 pertence à classe alto c/ pertinência de 0.6
IA Nebulosa
r = 1 - rr = 1 - r
rr11 rr22 = min (r = min (r11,r,r22) ou r) ou r11 rr22 (t-norma)(t-norma)
rr11 rr22 = max ( = max (r1,r,r22) ou r) ou r11 rr22 (s-norma)(s-norma)
rrii = min (r = min (r11,r,r22), i ), i U U
rrii = max (r = max (r11,r,r22), i ), i U U
rr11 rr22 = min (r = min (r11,r,r22))
IA Nebulosa
Nova teoria dos conjuntos => nova lógicarejeita os axiomas da consistência (P P F) e do terceiro excluído (P P T)
Operadores lógicos: Sendo r, r1 e r2 fórmulas bem formadas
IA Nebulosa
Lógica Fuzzy define a Lógica Fuzzy define a estratégia de controle estratégia de controle no nível linguístico!no nível linguístico!
LinguisticLevel
NumericalLevel
Measured Variables
Measured Variables
(Numerical Values)
(Linguistic Values)Inference + composition Command Variables
Defuzzification
Plant
Fuzzification
(Linguistic Values)
Command Variables(Numerical Values)
Lógica nebulosa: exemplo no mundo do Wumpus
X,Y m(loc(X,Y),smelly,1) m(loc(X+1,Y),safe,0.10) X,Y m(loc(X,Y),smelly,1) m(loc(X-1,Y),safe,0.10) X,Y m(loc(X,Y),smelly,1) m(loc(X,Y+1),safe,0.10) X,Y m(loc(X,Y),smelly,1) m(loc(X,Y-1),safe,0.10) X,Y m(loc(X,Y),breezy,1) m(loc(X+1,Y),safe,0.10) X,Y m(loc(X,Y),breezy,1) m(loc(X-1,Y),safe,0.10) X,Y m(loc(X,Y),breezy,1) m(loc(X,Y+1),safe,0.10) X,Y m(loc(X,Y),breezy,1) m(loc(X,Y-1),safe,0.10) m(loc(1,1),smelly,0) m(loc(1,1),breezy,0) m(loc(1,1),safe,?) m(loc(1,2),smelly,0) m(loc(1,2),breezy,1) m(loc(1,1),safe,?) m(loc(1,2),smelly,1) m(loc(1,2),breezy,1) m(loc(1,1),safe,?)
Lógica nebulosa: exemplo no mundo do Wumpus
X,Y m(loc(X,Y),smelly,1) m(loc(X+1,Y),safe,0.25) X,Y m(loc(X,Y),smelly,1) m(loc(X-1,Y),safe,0.25) X,Y m(loc(X,Y),smelly,1) m(loc(X,Y+1),safe,0.25) X,Y m(loc(X,Y),smelly,1) m(loc(X,Y-1),safe,0.25) X,Y m(loc(X,Y),breezy,1) m(loc(X+1,Y),safe,0.25) X,Y m(loc(X,Y),breezy,1) m(loc(X-1,Y),safe,0.25) X,Y m(loc(X,Y),breezy,1) m(loc(X,Y+1),safe,0.25) X,Y m(loc(X,Y),breezy,1) m(loc(X,Y-1),safe,0.25) m(loc(1,1),smelly,0) m(loc(1,1),breezy,0)
m(loc(1,1),safe,0.56) m(loc(1,2),smelly,0) m(loc(1,2),breezy,1)
m(loc(1,1),safe,0.19) m(loc(1,2),smelly,1) m(loc(1,2),breezy,1)
m(loc(1,1),safe,0.06)
IA Híbrida
IA Distribuída e Sistemas Multi-Agentes
Provador de teoremas: exemplo no mundo do Wumpus
Métodos de IA Simbólica
Simbólica
Árvores Regras LógicaClasse
sInstâncias
Modelagem ManualÁrvores
de Decisão
Sistemas de Produção
Provadoresde Teoremas
Frames
OOPL
Programaçãoem Lógica
LógicasDescritivas
Aprendizagem de Máquina
ID3 ILPKNNCBR
Representação do Conhecimento
Aquisição do Conhecimento
Sistemas híbridos simbólicos
Engenharia manual do conhecimento:Regras + Lógica: Programação em lógicaClasses + Lógica: Lógicas DescritivasRegras + Classes + Procedimentos: Sistemas de Produção Orientados a Objetos (EOOPS)
Regras + Classes + Lógica: Programação em Lógica Orientada a Objetos (OOLP)
Numérica
Evolucionista
Conexionista
Probabilista Outras
Modelagem Manual Cadeiasde Markov
Aprendizagem de Máquina
AlgoritmosGenéticos
Redes Neurais
Classificador Bayesiano
Ingênuo
Aprendizagem Q
Métodos de IA Numérica
Representação do Conhecimento
Aquisição do Conhecimento
Sistemas híbridos numéricos
Aprendizagem de máquina:Conexionista + Nebuloso: Sistemas neuro-fuzzyEvolucionista + Nebuloso: Sistemas fuzzy-genéticosEvolucionista + Conexionista: Sistemas neuro-genéticosEvolucionista + Conexionista + Nebuloso: Sistemas neurofuzzy-genéticos
Sistemas híbridos numérico-simbólicos
Engenharia manual do conhecimento: Numérica + lógica: Lógica nebulosa
Aprendizagem de máquina:Conexionista + regras: Sistemas neuro-simbólico
Engenharia manual do conhecimentoe/ou aprendizagem de máquina: Conexionista + probabilista + simbólico: Redes Bayesianas
IA Probabilista
Raciocinar usando as leis das probabilidades e da estatística representando eventos de domínio de aplicação como variáveis aleatórias
Inspirada na probabilidade e estatística IA como escolha da decisão que maximiza a esperança
matemática da utilidade dado uma distribuição de probabilidades de eventos
Representação do conhecimento: distribuição de probabilidade ou versões com anotações probabilistas dos formalismos simbólicos
Raciocínio: todos os tipos Aquisição do conhecimento: todos os tipos Adequado para ambientes não-deterministas e conhecimento
incerto
Redes Bayesianas: exemplo no mundo do Wumpus
Algum problema com nosso uso dos paradigmas numéricos para o mundo do
Wumpus? Constantes: agent,gold,wumpus,...,1,2,3,... Variáveis: X,Y,Z,T,..., Predicados: =, see/1,pick/1,loc/4, ... Conectivas: , , ,
Processo de desenvolvimento de agentes baseado em conhecimento
Identificar as características do ambiente do agente Escolher a arquitetura de agente mais adequada para tais
características Para cada elemento nessa arquitetura:
Identificar: Tipos de raciocínios necessários Tipos de conhecimentos necessários Disponibilidade de conhecimento na forma de especialista humano, literatura ou documentação, ontologia parcialmente re-aproveitável
Disponibilidade de dados, exemplos, casos ou ambiente de simulação Em função disso, escolher:
Paradigma de IA Formalismo de representação de conhecimento Máquina de inferência Métodos e ferramentas de aquisição de conhecimento
Aplicar sub-processo de desenvolvimento da base de conhecimento
Integrar os elementos Testar o protótipo completo e possivelmente iterar
Conhecimento explícito x implícito
Conhecimento explícito: Sentenças simbólicas explicitamente armazenadas na base de conhecimento
Conhecimento implícito: Axiomas que devem ser verificados para que a base de conhecimento reflete o ambiente modelado
Idealmente documentadas, no entanto muitas vezes presentes apenas na cabeça do engenheiro do conhecimento
Suposições permitindo codificação mais simples e concisa da base de conhecimento
Explicitar conhecimento implícito necessário para tornar BC facilmente extensível
Conhecimento explícito x implícito: exemplo de explicitação de
conhecimento A codificação see(glitter) pick. Deixa implícito que:
Existe um único agente no ambiente See é uma percepção Pick é uma ação A visão do agente é limitada a caverna no qual se encontra O ouro é o único objeto a brilhar e o único objeto que o agente pode pegar
Conhecimento explícito x implícito: exemplo de explicitação de
conhecimento Quando essas suposições não são mais verificadas, a
codificação tem que tornar-se mais explícita, ex: A,C,T,X,Y agent(A) loc(C,[(X,Y)]) time(T) in(A,C,T) horizCoord(X) verticCoord(Y) percept(A,C,T,vision,glitter) O physObj(O) emit(O,glitter) in(O,C,T).
O physObj(O) emit(O,glitter) ouro(O). O ouro(O) treasure(O). A,C,T,X,Y,O agent(A) loc(C,[(X,Y)]) time(T) in(A,C,T) horizCoord(X) verticCoord(Y) in(O,C,T) treasure(O) chooseAction(A,T+1,pick(O)).
Ementa da disciplina
Revisão de lógica
Refutação: Para provar BC C verdadeiro, provar BC C falso Porque? Por que (BC C) (BC C) (BC C) BC C
Formal normal (implicativa): Para qualquer formula da lógica dos predicados da 1a ordem, existe uma formula com mesmas valores de verdades da forma: X1, ..., Xk P1(...,Xi,...) ... Pm(...,Xj,...) C1(...,Xu,...) ... Cm(...,Xv,...)
Regra de resolução (implicativa): Caso proposicional: ((A B) (B C)) (A C) A B e B C se resolvam em A C
Caso da 1a ordem: (A B) (C D) (B) = (C) ((A) (D)) onde é a substituições das variáveis que unificam B com C A B e C D se resolvam em (A) (D) pela unificação de B com C via
Unificação: conjunto de substituições variável/constante ou variável1/variável2 em 2 termos a unificar para torná-los iguais