Sistemas Baseados em Conhecimento

Slides:



Advertisements
Apresentações semelhantes
Sistemas Baseados em Conhecimento e Sistemas Especialistas
Advertisements

Lógica de Predicados e Representação de Conhecimento
SISTEMAS ESPECIALISTAS
Lógica Matemática e Computacional 1.1 – Inteligência Artificial
Lógica Matemática e Computacional 7 – Introdução à Programação Lógica
Elsa Carvalho 163 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Teoria dos Modelos.
Introdução à Programação Lógica
Representação de Conhecimento na Máquina
Sistemas Baseados em Conhecimento
Agentes Baseados em Regras de Produção
Agentes Baseados em Conhecimento
Agentes Baseados em Conhecimento
Programação em lógica e lógica
Lógica e lógica de programação
Agentes Cognitivos Adaptativos
Sistemas Baseados em Regras de Produção
AXIOMATIZAÇÃO Equipe: André Augusto Kaviatkovski, Daniel Elias Ferreira, Vinicius Zaramella.
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
INF 1771 – Inteligência Artificial
Inteligência Artificial
Conceitos Básicos.
Lógica Matemática e Computacional
Sistemas Inteligentes
INTELIGÊNCIA ARTIFICIAL (IA OU AI)
Engenharia do Conhecimento Ernesto Trajano Jacques Robin CIn-UFPE.
Agentes Baseados na Lógica Proposicional
Lógicas e Inferência para IA
Agentes Baseados em Regras de Produção
Agentes Baseados em Conhecimento
Agentes Cognitivos Adaptativos Aula: Sistemas Baseados em Regras de Produção Flávia Barros 1.
Sistemas Especialistas
Sistemas Inteligentes
Sistemas Inteligentes Sistemas Baseados em Regras de Produção
Sistemas Inteligentes Sistemas Baseados em Conhecimento
Engenharia do Conhecimento
Lógica de Predicados/Primeira Ordem
Lógica de Predicados/Primeira Ordem
Marcílio C. P. de Souto DIMAp/UFRN
Técnicas de Representação de Conhecimento Diversas.
Inteligência Artificial
“A lógica é uma ciência do raciocínio”
Sistemas Baseados em Conhecimento
Paradigmas da Inteligência Artificial
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
Sistemas Baseados em Aprendizado (Aprendizado de Máquina)
Sistemas Inteligentes Aula: Sistemas Baseados em Conhecimento 1.
INTRODUÇÃO À PROGRAMAÇÃO EM LÓGICA Profa. Joseluce de Farias Cunha
Projeto Final MCI 2004 Filtragem de s Agente de Classificação de SPAM.
Algoritmos e Estrutura de Dados I
Lógica Matemática Introdução.
Programação de computadores Prof. Giovanni Castro.
Lógica Proposicional.
Linguagens de Programação
Decidibilidade, Corretude, Completude, Consistência
Agentes Baseados em Conhecimento
Sistemas Inteligentes Aula: Agentes Baseados em Conhecimento Obs.: esta aula não foi totalmente baseada no livro- texto AIMA... Flávia Barros 1.
Sistema Formal Um Sistema Formal para a lógica proposicional é uma 2-tupla < L, R >, onde: L: linguagem proposicional R: conjunto de regras de inferências.
REVISÃO Prof. Mário Dantas
Fundamentos de linguagens de programação
Agentes Baseados em Conhecimento
CIn- UFPE 1 Paradigmas da IA Jacques Robin Geber Ramalho CIn-UFPE.
DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção.
Inteligência Artificial I
Inteligência Artificial I
Algoritmos e Programação I
Anjolina Grisi de Oliveira
Introdução aos Agentes Inteligentes
Aprendizado por Indução
Sistemas de Produção Jacques Robin CIn-UFPE. Roteiro  Definição de um sistemas de produção  Regras de produção  Inferência com regras de produção 
DSI – Desenvolvimento de Sistemas Inteligentes
Transcrição da apresentação:

Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN

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

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

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?

Conhecimento na Máquina (1/2) Dados: cadeias numéricas ou alfanuméricas que não possuem significado associado ex. 12, m1, west, 10.... ( ?) 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

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

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.

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

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

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

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

Como representar conhecimento?

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

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

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

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)

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?

Como raciocinar?

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

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

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.

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

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

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

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

Como adquirir o conhecimento?

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

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

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.