A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE."— Transcrição da apresentação:

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

2 Agente baseado em conhecimento Ambiente Sensores Efetuadores Base de Conhecimento Especializada Máquina de Inferência Genérica Ask Tell Retract Representação e Aquisição de Conhecimento Raciocínio Automático

3 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

4 Exemplo de raciocínio automático com conhecimento: West é criminoso?  Sabendo que: 1. É criminoso para um americano de vender armas para uma nação hostil aos EUA 2. Nono tem mísseis 3. Nono comprou todos seus mísseis do Capitão West 4. O Capitão West é americano 5. Nono é uma nação 6. Nono está um inimigo dos EUA 7. Um míssil é um tipo de arma 8. A inimizade é uma forma de hostilidade 9. Os EUA é uma nação  Pode se inferir que: 0. O Capitão West é criminoso?  Representando esse conhecimento em lógica dos predicados da 1 a 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

5 Exemplo de raciocínio automático com 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?

6 Exemplo de raciocínio automático com 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.  1 o 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

7 Exemplo de raciocínio automático com 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  2 o 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/m1 T  weapon(m1) //10 2. Resolver 6 com 8 unificando N/nono T  hostile(nono) //11 3. Resolver 2a  2b com 3 unificando W/m1 T  sells(west,nono,m1) //12 4. Resolver 4  10  5  11  12 com 1 unificando P/west, W/m1, N/nono T  criminoso(west) //13 5. Resolver 13 com 0 T  F contradição

8 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

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

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

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

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

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

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

15 Tipos de raciocínios: dedução  Dado:  Conhecimento prévio ou percepção especifico E c sobre instância particular de problema ou ambiente  Conhecimento genérico G sobre classe de problema ou ambiente  Inferir:  Novo conhecimento específico E e sobre instância particular do problema ou ambiente  Infere efeito E e de causa E c a partir de modelo do ambiente G  Exemplo:  Dado  E c = 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 E e = loc(agent,1,2,2).

16 Tipos de raciocínios: abdução  Dado:  Conhecimentos prévios ou percepções especificos E e e E b sobre instância particular de problema ou ambiente  Conhecimento genérico G sobre classe de problema ou ambiente  Inferir:  Novo conhecimento específico E c sobre instância particular do problema ou ambiente  Infere causa E c de efeito E e a partir do contexto E b e modelo do ambiente G  Exemplo:  Dado  E e = loc(agent,1,2,2)  E b = 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 E c = loc(agent,1,1,1).

17 Tipos de raciocínios: indução  Dado:  Conjunto de conhecimentos prévios ou percepções específicos E c, E e sobre instâncias particulares de problema ou ambiente  Conhecimento prévio genérico G p sobre classe de problema ou ambiente  Inferir:  Novo conhecimento conhecimento genérico G n sobre classe de problema ou ambiente  Infere parte do modelo do ambiente G n a partir de causas E c, efeitos E e e outra parte do modelo do ambiente G p  Exemplo:  Dado  {loc(gold,1,2,1)  glitter(1,2,1),..., loc(gold,4,4,6)  glitter(4,4,6)}  E c x E e  {loc(gold,1,2,1)  glitter(3,2,1),..., loc(gold,4,4,6)  glitter(2,1,6)}  E c x E e  Induz G n =  X,Y,T glitter(X,Y,T)  loc(gold,X,Y,T)

18 Tipos de raciocínios: analogia  Dado:  Conjunto de conhecimentos prévios ou percepções específicos completos p 1 (I 1 ),..., p n (I 1 ),..., p 1 (I m ),... p n (I m ) sobre instâncias particulares de problema ou ambiente  Medida de similaridade d entre essas instâncias  Conhecimento ou percepção específico parcial p 1 (I 0 ),..., p i-1 (I 0 ), p i+1 (I 0 ),..., p n (I 0 ) sobre uma nova instância particular de problema ou ambiente  Inferir:  Novo conhecimento específico p i (I 0 ), faltando sobre essa nova instância particular de problema ou ambiente como sendo f(p i (I j ),..., p i (I j+k )) onde  q, j  q  j+k, d(I 0,I q )  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

19 Agente baseado em conhecimento dedutivo ou abdutivo Ambiente Sensores Efetuadores Base de Conhecimento Dinâmico (BCD): fatos, objetos formulas lógicas instanciadas Máquina de inferência dedutiva e/ou abdutiva Base de Conhecimento Estático (BCE): regras, classes, formulas lógicas universalmente quantificadas Ask Tell Retract Ask

20 Agente baseado em conhecimento analógico Ambiente Sensores Efetuadores Base de Conhecimento Dinâmico (BCD): fatos, objetos formulas lógicas instanciadas estruturados por similaridades Máquina de inferência analógica TellRetractAsk

21 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

22 Lembram do agente deliberativo? Ambiente Sensores Efetuadores Modelo dos ambientes passados e atual Interpretador de percepção Escolhedor de ação Atualizador do modelo do ambiente Preditor de ambientes futuros Modelo de ambientes futuros hipotéticos Objetivos Atualizador do objetivos

23 E lembram do agente baseado em conhecimento? Ambiente Sensores Efetuadores Base de Conhecimento Especializada Máquina de Inferência Genérica Ask Tell Retract

24 Como seria então um agente deliberativo baseado em conhecimento? Ambiente Sensores Efetuadores BCD: modelo dos ambientes passados e atual BCD: modelo de ambientes futuros hipotéticos BCD: Objetivos BCE: interpretação das percepções BCE: atualização do modelo do ambiente BCE: atualização do objetivos BCE: predição de ambientes futuros BCE: estratégia de escolha de ações Máquina de inferência Ask Tell Retract Ask

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

26 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

27 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

28 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

29 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 formais de representação do conhecimento Aprendizagem de Máquina Ontologias Linguagens semi-formais de representação do conhecimento Compiladores Máquinas de inferências Aprendizagem de Máquina

30 Agente indutivo off-line: fase de treinamento Base de Dados, Exemplos, Casos representativos do ambiente fatos, objetos formulas lógicas instanciadas Máquina de inferência dedutiva e/ou abdutiva Base de Conhecimento Estático (BCE): regras, classes, formulas lógicas universalmente quantificadas Máquina de inferência indutiva Ask Tell Retract Compare Retract Ask

31 Agente indutivo off-line: fase de utilização Ambiente Sensores Efetuadores Base de Conhecimento Dinâmico (BCD): fatos, objetos formulas lógicas instanciadas Máquina de inferência dedutiva e/ou abdutiva construída por indução: Base de Conhecimento Estático (BCE) construída por indução: regras, classes, formulas lógicas universalmente quantificadas Ask Tell Retract Ask

32 Agente aprendiz situado Ambiente Sensores Efetuadores Base de Conhecimento Dinâmico (BCD): fatos, objetos formulas lógicas instanciadas Máquina de inferência dedutiva e/ou abdutiva Base de Conhecimento Estático (BCE): regras, classes, formulas lógicas universalmente quantificadas Máquina de inferência indutiva Ask Tell Retract Tell Retract Ask

33 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

34 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

35 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ógica  usar 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

36 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

37 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

38 Redes neurais: exemplo do mundo do Wumpus  Entrada da rede: codificação binária de pares atributos-valores  Saída da rede: codificação binária de pares atributos-valores nenhuma percepção stench00001 breeze00010 glitter00100 scream01000 batida stench  breeze  glitter  scream forward right001 left010 shoot011 pick100 out101

39 Redes Neurais: princípios  wji w1i wni s (i) e (i) s1s1 sjsj snsn camada de entrada camada de saída camada escondida

40 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 

41 Redes neurais: exemplo do mundo do Wumpus  Entrada da rede: codificação binária de pares atributos-valores  Saída da rede: codificação binária de pares atributos-valores nenhuma percepção stench00001 breeze00010 glitter00100 scream01000 batida stench  breeze  glitter  scream forward right001 left010 shoot011 pick100 out101

42 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 1 a 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)

43 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

44 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  1 a 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 yesno turnLeftpick breeze? yesno breeze? yesno Indivíduo 1... Indivíduo N stench? pick yespick stench? yesno pick

45 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

46 Algoritmos genéticos: reprodução glitter? turnRightshoot yesno turnLeftpick breeze? yesno breeze? yesno Pai Filho shoot yes turnLeft breeze? yesno Filha glitter? turnRight no pick breeze? yesno stench? pick yes stench? yesno pick Mãe pick no stench? pick no pick yes stench? yesno pick

47 Algoritmos genéticos: mutação glitter? turnRightshoot yesno turnLeftpick breeze? yesno breeze? yesno Original glitter? shoot yesno turnLeftpick breeze? yesno Mutante 3 glitter? turnRightshoot yesno turnLeftpick stench? yesno breeze? yesno Mutante 1 glitter? yesno shootturnLeft breeze? yesno turnRightpick breeze? yesno Mutante 2

48 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 1 a ordem

49 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

50 Teoria de Conjunto Convencional (Booleano): “Febre Alta” 40.1°C 42°C 41.4°C 39.3°C 38.7°C 37.2°C 38°C Teoria de Conjunto Fuzzy: 40.1°C 42°C 41.4°C 39.3°C 38.7°C 37.2°C 38°C “mais ou menos“ ao invés de “ou isto ou aquilo”! IA nebulosa

51 Função de pertinência mA de elemento X a conjunto nebuloso A mA: X -> [0,1] 1 X(m) altobaixo 1 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

52  r = 1 - r r1  r2 = min (r1,r2) ou r1  r2(t-norma) r1  r2 = min (r1,r2) ou r1  r2(t-norma) r1  r2 = max (,r2) ou r1  r2 (s-norma) r1  r2 = max ( r1,r2) ou r1  r2 (s-norma)  ri = min (r1,r2), i  U  ri = min (r1,r2), i  U  ri = max (r1,r2), i  U r1  r2 = min (r1,r2) r1  r2 = min (r1,r2) IA Nebulosa  Nova teoria dos conjuntos => nova lógica  rejeita 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

53 IA Nebulosa Lógica Fuzzy define a estratégia de controle no nível linguístico! Linguistic Level Numerical Level Measured Variables (Numerical Values) (Linguistic Values) Inference + composition Command Variables Defuzzification Plant Fuzzification (Linguistic Values) Command Variables (Numerical Values)

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

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

56 IA Híbrida

57 IA Distribuída e Sistemas Multi-Agentes

58 Provador de teoremas: exemplo no mundo do Wumpus

59 Métodos de IA Simbólica Simbólica ÁrvoresRegrasLógicaClassesInstâncias Modelagem Manual Árvores de Decisão Sistemas de Produção Provadores de Teoremas Frames OOPL Programação em Lógica Lógicas Descritivas Aprendizagem de Máquina ID3ILP KNN CBR Representação do Conhecimento Aquisição do Conhecimento

60 Sistemas híbridos simbólicos  Engenharia manual do conhecimento:  Regras + Lógica: Programação em lógica  Classes + Lógica: Lógicas Descritivas  Regras + Classes + Procedimentos: Sistemas de Produção Orientados a Objetos (EOOPS)  Regras + Classes + Lógica: Programação em Lógica Orientada a Objetos (OOLP)

61 Numérica EvolucionistaConexionistaProbabilistaOutras Modelagem ManualCadeias de Markov Aprendizagem de Máquina Algoritmos Genéticos Redes Neurais Classificador Bayesiano Ingênuo Aprendizagem Q Métodos de IA Numérica Representação do Conhecimento Aquisição do Conhecimento

62 Sistemas híbridos numéricos  Aprendizagem de máquina:  Conexionista + Nebuloso: Sistemas neuro-fuzzy  Evolucionista + Nebuloso: Sistemas fuzzy-genéticos  Evolucionista + Conexionista: Sistemas neuro-genéticos  Evolucionista + Conexionista + Nebuloso: Sistemas neurofuzzy-genéticos

63 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 conhecimento e/ou aprendizagem de máquina:  Conexionista + probabilista + simbólico: Redes Bayesianas

64 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

65 Redes Bayesianas: exemplo no mundo do Wumpus

66 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: , , ,

67 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

68 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

69 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

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

71 Ementa da disciplina

72 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 1 a ordem, existe uma formula com mesmas valores de verdades da forma:  X 1,..., X k 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 1 a 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


Carregar ppt "Sistemas Baseados em Conhecimento e Paradigmas de Inteligência Artificial Jacques Robin CIn-UFPE."

Apresentações semelhantes


Anúncios Google