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

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

Sistemas Baseados em Conhecimento

Apresentações semelhantes


Apresentação em tema: "Sistemas Baseados em Conhecimento"— Transcrição da apresentação:

1 Sistemas Baseados em Conhecimento
Marcílio Souto DIMAp/UFRN

2 Exemplo West é criminoso ou não?
“A lei americana diz que é proibido vender armas a uma nação hostil. Cuba possui alguns mísseis, e todos eles foram vendidos pelo Capitão West, que é americano” Como você resolveria este problema de classificação? Linguagem: você entende o que está escrito em português Conhecimento: você sabe um pouco de geopolítica e armas inferência: você é capaz de raciocinar usando este conhecimento descrito em português

3 Solucionando o caso do cap. West (linguagem natural)
A) Todo americano que vende uma arma a uma nação hostil é criminoso B) Todo país em guerra com uma nação X é hostil a X C) Todo país inimigo político de uma nação X é hostil a X D) Todo míssil é um arma E) Toda bomba é um arma F) Cuba é uma nação G) USA é uma nação H) Cuba é inimigo político dos USA I) Irã é inimigo político dos USA conhecimento prévio J) West é americano K) Existem mísseis em cuba L) Os mísseis de cuba foram vendidos por West conhecimento do problema conhecimento novo M) Cuba possui um míssel M1 - de K N) M1 [e um míssil - de K O) M1 é uma arma - de D e N P) Cuba é hostil aos USA - de F, G, H e C Q) M1 foi vendido a Cuba por West - de L, M e N R) West é crimonoso - de A, J, O, P e Q

4 Como uma máquina poderia resolver este problema?
Segundo a IA... Identificar o conhecimento do domínio Representá-lo em uma linguagem formal Implementar um mecanismo de inferência para utilizá-lo The Knowledge Principle (Lenat & Feigenbaum) If a program is to perform a complex task well, it must know a great deal about the world in which it operates Questões-chave Como adquirir esse conhecimento? Como representá-lo adequadamente? Como raciocinar com ele correta e eficientemente?

5 Conhecimento na Máquina (1/2)
Dados: cadeias numéricas ou alfanuméricas que não possuem significado associado ex. 12, m1, west, ( ?) Informação: dados organizados: significam alguma coisa para quem os recebe ex. 01, 03, 04, 06, 07, 08, 10 (meses ???) Conhecimento: Dado, informação ou abstração formatado de maneira a permitir raciocínio por um ser humano ou por uma máquina

6 Conhecimento na Máquina (2/2)
Exemplos de conhecimento Classes e objetos relação Arma - Míssil - m1 Formula da lógica InimigoPolítico(Cuba,USA) Distribuição de probabilidade prévia e condicional de variáveis aleatórias P(Cuba-usar-míssil-contra-USA |Cuba-tem-m1) = 0,3 Basta saber isto? Não, é preciso saber como estruturar o conhecimento, identificar sua natureza e para efetivamente saber como usá-lo....

7 Sistemas Baseados em Conhecimento
São sistemas que raciocinam sobre suas possíveis ações no mundo Conhecem: o estado atual do mundo (propriedades relevantes) como o mundo evolui como identificar estados desejáveis do mundo como avaliar o resultado das ações conhecimento sobre conhecimento (meta-conhecimento) etc.

8 Sistemas Baseados em Conhecimento
2 componentes principais (separados): Base de Conhecimento Mecanismo de Inferência Base de Conhecimento: contém sentenças em uma Linguagem de Representação de Conhecimento “tratável” pelo computador representações de regras e fatos ex. " x Míssil(x) Þ Arma(x) Míssil(M1) Mecanismo (máquina) de Inferência associado: responsável por inferir, a partir do conhecimento da base, novos fatos ou hipóteses intermediárias/temporárias ex. M1 é uma arma

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

10 Implementando raciocínio: laço principal do agente
Ask: pergunta coisas à base ex. ASK (BC, Criminoso(West)) ou ASK (BC, $x Criminoso (x))) TELL: relata novos fatos à base ex. TELL (BC, Americano (West)) RETRACT: Elimina fatos da base ex. RETRACT (BC, Criminoso(Zezinho))

11 Solucionando o caso do cap. West (em LPO)
A) " x,y,z Americano(x) Ù Arma(y) Ù Nação(z) Ù Hostil(z) Ù Vende(x,z,y) Þ Criminoso(x) B) " x Guerra(x,USA) Þ Hostil(x) C) " x InimigoPolítico(x,USA) Þ Hostil(x) D) " x Míssil(x) Þ Arma(x) E) " x Bomba(x) Þ Arma(x) F) Nação(Cuba) G) Nação(USA) H) InimigoPolítico(Cuba,USA) I) InimigoPolítico(Irã,USA) conhecimento prévio J) Americano(West) K) $ x Possui(Cuba,x) Ù Míssil(x) L) " x Possui(Cuba,x) Ù Míssil(x) Þ Vende(West, Cuba,x) conhecimento do problema conhecimento novo M) Possui(Cuba,M1) - Eliminação: quantificador existencial e N) Míssil(M1) conjunção de K O) Arma(M1) - Modus Ponens a partir de D e N P) Hostil(Cuba) - Modus Ponens a partir de C e H Q) Vende(West,Cuba,M1) - Modus Ponens a partir de L, M e N R) Criminoso(West) - Modus Ponens a partir de A, J, O, F, P e Q

12 Como representar conhecimento?

13 Linguagens de Representação do Conhecimento
Uma Linguagem de Representação do Conhecimento é definida por: 1) uma sintaxe, que descreve as configurações que podem constituir sentenças daquela linguagem; 2) uma semântica, que liga cada sentença aos fatos no mundo que ela representa cada sentença faz uma afirmação a respeito do mundo; o agente acredita nas sentenças que correspondem a sua configuração interna. E tem um mecanismo de inferência associado = raciocínio

14 Representação & Raciocínio
Raciocínio é um processo de construção de novas sentenças a partir de sentenças existentes. Raciocínio “correto” (sound): garante que as novas sentenças representam fatos que se seguem dos fatos representados pelas sentenças existentes na BC. implementa a relação de “implicação” entre sentenças semântica segue-se fatos Mundo fatos Representação semântica sentenças implica sentenças

15 Linguagens de Representação do Conhecimento
Linguagens de programação: são precisas, porém não são suficientemente expressivas Linguagens naturais: são muito expressivas, porém são ambíguas Linguagens de representação de conhecimento (LRC): utilizadas para expressar as sentenças das BC existem 3 grandes classes: linguagens (predominantemente) declarativas linguagens procedimentais linguagens híbridas

16 Meta-conhecimento Meta-conhecimento:
conhecimento sobre o conhecimento disponível: escolha de ações ataco ou negocio? // Ente duas ações conflitantes, escolha a de maior utilidade  G,H,T,A,B goal(G,T+1)  goal(H,T+1)  result(A,T,G,T+1)  result(B,T,H,T+1)   result(A,T,H,T)   result(B,T,G,T)  utility(G,high)  utility(H,low)  do(A,T)

17 Critérios de avaliação de LRC
Expressividade o que é possível dizer facilmente na linguagem? Inferência disponível que tipo de inferência é possível fazer na linguagem? Corretude a inferência é plausível? A semântica é bem definida? Eficiência a inferência se realiza em um tempo razoável? Modularidade: é fácil identificar e reutilizar partes do conhecimento? Legibilidade: é fácil de ler e entender o que está escrito? Eficiência aquisicional: é fácil adicionar conhecimento?

18 Como raciocinar?

19 Categorias de Raciocínio: dedução
Processo de raciocínio no qual uma conclusão segue necessariamente das premissas supostas Inferência por meio do raciocínio do geral para o específico Todos os gatos são felinos e Garfield é um gato, posso deduzir que Garfield é um gato Uma das regras básicas da inferência da lógica dedutiva é a regra do modus ponens Se X é verdade e se X sendo verdade implica que Y é verdade, então Y é verdade

20 Categorias de Raciocínio: indução
Um processo de raciocínio para uma conclusão sobre todos os membros de uma classe por meio do exame de apenas uns poucos membros da classe De maneira geral, raciocínio do particular para o geral Por exemplo, se eu noto que Todos os gatos siameses no show de gatos de 1986 tinham olhos azuis, e Todos os gatos siameses no show de gatos de 1987 tinham olhos azuis, posso inferir logicamente que Todos os gatos siameses têm olhos azuis Isto pode ser ou não verdade, mas propicia uma boa generalização Em uma maneira mais “formal”... Para um cj. de objetos, X={a,b,c,d,...}, se a propriedade P é verdade para a, e se P é verdade para b, e se P é verdade para c,... então P é verdade para todo X

21 Categorias de Raciocínio:abdução
Abdução é uma heurística para fazer “inferências plausíveis” Por exemplo, se eu leio que Fumar causa câncer de pulmão e José morreu de câncer de pulmão, posso inferir que José era um fumante. Como no caso da indução, isto pode ser ou não verdade Ela propicia uma conclusão plausível consistente com a informação disponível, a qual pode de fato está errada Em uma maneira mais “formal”... Se Y é verdade e X implica em Y, então X é verdade Porém, visto que P, Q, e R também podem implicar que Y é verdade, a inferência feita com a heurística da abdução falhará no caso em que P, Q e R levarem a verdade de Y.

22 Categorias de Raciocínio
Os três tipos de raciocínio foram apresentados de acordo com a ordem de confiança que se pode colocar no novo conhecimento inferido a partir do conhecimento dado (evidência) O conhecimento novo baseado no raciocínio dedutivo é sempre verdade se as suposições são verdadeiras O conhecimento novo baseado em vários casos (indução) é geralmente verdadeiro desde que os sistemas estudados sejam bem comportados Uma inferência baseada na abdução pode ser plausível mas deve carregar um fator de confiança para indicar a probabilidade de estar correta

23 Implementando raciocínio
Dedução e abdução (via dedução) é a usada em sistemas baseado em conhecimento Indução usadas na aquisição de conhecimento Dedução: dois grandes grupos Lógica e afins chegarei ao cinema às 20h tratamento de incerteza: probabilístico ou vago provavelmente chegarei ao cinema às 20h Eu garanto que chegarei cedo para a sessão das 20h

24 Lógica e afins (LRC+MI)
Principais sistemas de raciocínio declarativos/dedutivos regras lógica objetos híbridos Programação em lógica Sistemas de produção Sistemas de manutenção da verdade Provadores de teorema Sistemas Redes Semânticas Sistemas Frames Sistemas de Lógica descritiva Sistemas OO regras+objetos lógica+objetos lógica+objetos+funções

25 Observações sobre linguagem e raciocínio
Separação controle - conhecimento Seja qual for o raciocínio, haverá sempre um motor geral que o implementará A tarefa do engenheiro de IA é “só” codificar corretamente o conhecimento Isto se chama Programação Declarativa: diz “o que” representação descritiva dos fatos, relacionamentos e regras ex. as partes de uma bicicleta e seus relacionamentos ex. o pai do pai é o avô já na procedimental, se diz “como” fatos e seqüências de instruções para manipular esses fatos ex.: como desmontar uma bicicleta

26 Como adquirir o conhecimento?

27 A grande escolha Aprender
se existe conhecimento em extensão disponível mais rápido e simples envolve várias técnicas Redes neurais Aprendizagem simbólica algoritmos genéticos ex. categorização de texto, recomendação de filmes, ... Explicitar (à mão): engenharia de conhecimento se conhecimento pode ser facilmente explicitado ou não se tem escolha mais trabalhoso embora preciso Várias técnicas... Programação em lógica, sistemas de produção, ...

28 Ciclo de vida dos sistemas baseados em conhecimento
Nível de Conhecimento AQUISIÇÃO linguagem natural linguagem de representação de conhecimento FORMALIZAÇÃO Nível Lógico Nível de Implementação linguagens de programação IMPLEMENTAÇÃO BC REFINAMENTO

29 Engenharia do Conhecimento
estuda como construir uma Base de Conhecimento (BC) 1. Nível do conhecimento: aquisição de conhecimento conhecimento em “estado puro” - linguagem natural e.g., táxi automático: a ponte Princesa Isabel liga a Rua da Imperatriz à Rua Nova 2. Nível lógico: formalização conhecimento codificado em sentenças - linguagem formal e.g. sentença lógica: liga(Ponte-PI,RI,RN) 3. Nível de máquina: implementação estrutura de dados representando as sentenças do nível lógico e.g., listas, tabelas, objetos, etc.


Carregar ppt "Sistemas Baseados em Conhecimento"

Apresentações semelhantes


Anúncios Google