sistemas baseados em conhecimento e paradigmas de inteligência artificial jacques robin cin-ufpe

72
Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

Upload: internet

Post on 19-Apr-2015

127 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 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

Page 2: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-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

Page 3: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 4: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 5: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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?

Page 6: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 7: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 8: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 9: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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).

Page 10: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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)).

Page 11: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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).

Page 12: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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).

Page 13: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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).

Page 14: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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)).

Page 15: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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).

Page 16: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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).

Page 17: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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)

Page 18: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 19: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 20: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 21: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 22: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 23: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

E lembram do agente baseado em conhecimento?

Am

bie

nte

Sensores

Efetuadores

Base deConhecimentoEspecializada

Máquina deInferênciaGenérica

Ask

Tell

Retract

Page 24: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 25: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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)

Page 26: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 27: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 28: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 29: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 30: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 31: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 32: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 33: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 34: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 35: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 36: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 37: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 38: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 39: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 40: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 41: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 42: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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)

Page 43: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 44: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 45: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 46: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 47: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 48: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 49: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 50: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 51: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 52: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 53: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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)

Page 54: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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,?)

Page 55: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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)

Page 56: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

IA Híbrida

Page 57: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

IA Distribuída e Sistemas Multi-Agentes

Page 58: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

Provador de teoremas: exemplo no mundo do Wumpus

Page 59: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 60: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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)

Page 61: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 62: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 63: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 64: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 65: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

Redes Bayesianas: exemplo no mundo do Wumpus

Page 66: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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: , , ,

Page 67: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 68: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 69: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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

Page 70: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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)).

Page 71: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

Ementa da disciplina

Page 72: Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE

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