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
Prof. Cláudio M. N. A. Pereira

2 Sumário 1. Introdução 2. Estrutura de um SBC
3. Representação do conhecimento

3 Introdução Uma definição
SBC são sistemas computacionais que utilizam e manipulam o conhecimento representado de forma explícita visando resolver problemas em um dado domínio.

4 Introdução DADO x INFORMAÇÃO CONHECIMENTO

5 Introdução DADO é a estrutura básica de um sistema de informação. É quantificável e não depende de uma interpretação. Podem ser selecionados, gravados e recuperados de uma base de dados, arquivo ou memória. Ex: preço = 10 quant = 70

6 Introdução INFORMAÇÃO é criada a partir da análise e dos dados. Envolve a interpretação dos dados para um dado contexto. Ex: preço = 10; preço_mercado = 12 => BARATO quant = 70; estoque_mínimo = 100 => ESTOQUE BAIXO

7 Introdução CONHECIMENTO é a habilidade de criar um modelo que indique ações e decisões a serem tomadas. Ex: se CARO e ESTOQUE BAIXO então COMPRAR Qt_min se CARO e ESTOQUE NORMAL então COMPRAR 0 se MUITO BARATO então COMPRAR Qt_max

8 Características de um SBC
capacidade de questionar o usuário para obter informações de interesse; capacidade de desenvolver raciocínio a partir das informações e do conhecimento nele representado; capacidade de explicar o raciocínio (como chegou a uma certa conclusão).

9 Características de um SBC
todo o conhecimento a respeito do domínio da utilização do SBC deve estar representado em sua Base de Conhecimento (BC); deve haver um mecanismo de inferência capaz de interpretar e utilizar o conhecimento contido na BC; resolve problemas para os quais não se conhece procedimento determinístico que garanta a solução

10 SBC x Sistemas Convencionais
Estruturas de Dados Representação do conhecimento Sistemas Convencionais SBC Manipulam conhecimento Manipulam dados Busca / Heurística Algoritmos bem determinados Conhecimento representado explicitamente e separado do programa que o manipula Conhecimento embutido no código Explicam o raciocínio Difícil explicar o raciocínio

11 Estrutura geral de um SBC
Usuário IHM Explicação do raciocínio Motor de Inferência Memória de Trabalho Base de Conhecimento Aquisição do conhecimento Especialista

12 Estrutura geral de um SBC
IHM - módulo que realiza toda a interação com o usuário, de forma a obter informações sobre o problema; Memória de trabalho - módulo que contêm: a descrição do problema (situação atual, os dados); possíveis ações a serem executadas; hipóteses e novos cenários que o sistema já tenha produzido;

13 Estrutura geral de um SBC
Base de Conhecimento - módulo que contêm o conhecimento declarado. Utiliza alguma técnica de representação do conhecimento Módulo de aquisição do conhecimento - responsável por fazer a aquisição do conhecimento via interface com o especialista;

14 Estrutura geral de um SBC
Explicação do raciocínio - módulo responsável por explicar como as conclusões ou respostas do SBC foram obtidas Motor de Inferência - módulo que gerencia e controla a utilização do conhecimento, estabelecendo critérios para identificação (matching), ativação e agendamento de regras, além de verificação de consistência e resolução de conflitos;

15 Representação do Conhecimento
A Representação do Conhecimento (RC) é uma forma sistemática de se estruturar e codificar o que se sabe sobre um dado domínio de aplicação.

16 Características de uma RC
O conhecimento representado deve ser compreensível ao ser humano; Abstração dos detalhes internos de como funciona o seu interpretador (máquina de inferência) Ser robusta. Permitir funcionamento mesmo que não sejam abordadas todas as situações possíveis.

17 Algumas técnicas de RC Representação Lógica Representação por Regras
Representação por Redes Semânticas Orientação a Objetos Entre outras

18 Representação Lógica Inferências dedutivas
Baseadas em lógica matemática Linguagem PROLOG Exemplo: Lógica proposicional “todos os seres vivos são mortais” C [ser_vivo(C)  mortal(C)] Exemplo: Lógica de predicados pai (joão) = antônio mãe (joana) = maria amigos(pai (joão), mãe (joana)) = amigos (antônio, maria)

19 Representação por Regras
Forma mais natural SE (condições) ENTÃO (conclusões/ações)

20 Representação por Redes Semânticas
Grafo direcionado, que representa objetos (conceitos, situações, etc) e suas relações Os nós representam objetos (físicos ou abstratos), as suas propriedades e valores Os arcos representam relações entre os nós

21 Representação por Redes Semânticas
Exemplo Uma ave é um animal. A maneira normal de movimentação das aves é voar. Uma ave está ativa durante o dia. Um albatroz é uma ave. Uma albatroz é preto e branco. O tamanho normal do albatroz é 115 cm. O Alberto é um albatroz. O tamanho do Alberto é 120 cm. Um pinguim é uma ave. Um pinguim é branco e preto. A maneira normal de movimentação dos pinguins é andar. O Tweety é um pinguim. Questões: Qual o método de movimentação do Alberto ? Qual o método de movimentação do Tweety ?

22 Representação por Redes Semânticas

23 Orientação a Objetos A estrutura hierárquica da Programação Orientada a Objetos, bem como o conceito de encapsulamento e mensagens entre objetos, permitem a Representação do Conhecimento de forma similar a das Redes Semânticas.

24 Linguagens de Programação
A rigor, qualquer linguagem pode ser utilizada para implementar conceitos da IA, entretanto, algumas possuem facilidades para serem utilizadas na implementação de sistemas de IA. - LISP (LISt Processing) - PROLOG (PROgramming in LOGic)

25 Exemplo: Blocos a b c Objetivo: Dados os fatos que configuram o cenário, deseja-se informar quais blocos estão acima de um outro. Consideraremos os seguintes fatos: - “a” está sobre “b” e - “b” está sobre “c”.

26 Exemplo: Blocos Representação Orientada a Objetos com Regras: LISP
(defclass bloco (is-a USER) (role concrete) (slot nome (type STRING) (create-accessor read-write)) (slot cor (type STRING) (create-accessor read-write)) (slot tamanho (type STRING) (create-accessor read-write)) ) (defmessage-handler bloco imprime() (printout t “Bloco “ ?self:nome “ (“ ?self:cor “ ,” ?self:tamanho “)”)

27 Exemplo: Blocos Representação Orientada a Objetos com Regras: LISP
(definstances blocos (a of bloco (nome “a”) (cor “branco”) (tamanho “pequeno”) ) (b of bloco (nome “b”) (cor “verde”) (tamanho “medio”) (c of bloco (nome “c”) (cor “azul”) (tamanho “grande”) ) (deffcats exemplo (sobre [a] [b]) (sobre [b] [c]) )

28 Exemplo: Blocos Representação Orientada a Objetos com Regras: LISP
(defrule direta (sobre ?X ?Y) => (assert (acima ?X ?Y)) (printout t (send ?X imprime) “acima de ” (send ?Y imprime)) ) (defrule indireta (sobre ?Z ?Y) (sobre ?X ?Z)

29 Exemplo: Blocos Execução do programa
1) Inicialmente o Motor de Inferência do LISP tenta casar pré-condição da regra direta com os fatos existentes; (Obs.: A verificação é feita na ordem inversa da declaração dos fatos) Logo, tem-se que o fato (sobre [b] [c]) dispara a regra direta 2) Com o disparo da regra direta, um novo fato (acima [b] [c]) é adicionado na Memória de Trabalho. 3) Um novo ciclo é iniciado e a regra direta é novamente disparada pela pré-condição (sobre [a] [b]), adicionando o fato (acima [a] [b]) na Memória de Trabalho. 4) Outro ciclo se inicia e as pré-condições (sobre [b] [c]) e (acima [a] [b]) disparam a regra indireta, gerando o fato (acima [a] [c])

30 Exemplo: Blocos Representação Lógica: PROLOG cor (a, branco).
cor (b, verde). cor (c, azul). tamanho (a, pequeno). tamanho (b, médio). tamanho (c, grande). sobre (a, b). sobre (b, c). acima (X, Y) :- sobre (X, Y). acima (X, Y) :- sobre (Z, Y), acima (X, Z).


Carregar ppt "Sistemas Baseados em Conhecimento"

Apresentações semelhantes


Anúncios Google