Representação de Conhecimento



Documentos relacionados
Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

Inteligência Artificial

Representação de Conhecimento Redes Semânticas e Frames

Ontologias. Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

2 Diagrama de Caso de Uso

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

ProgramaTchê Programação OO com PHP

Persistência e Banco de Dados em Jogos Digitais

Representação do Conhecimento

Semântica para Sharepoint. Busca semântica utilizando ontologias

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Profº. Enrique Pimentel Leite de Oliveira

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

ARQUITETURA DE SOFTWARE

BANCO DE DADOS I AULA 3. Willamys Araújo

Técnicas de Programação Avançada TCC Profs.: Anselmo Montenegro Conteúdo: Introdução à Orientação a Objetos

Linguagem de Programação II

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Inteligência Artificial

Modelo Entidade-Relacionamento

Módulo 4. Construindo uma solução OLAP

Revisão Inteligência Artificial ENADE. Prof a Fabiana Lorenzi Outubro/2011

O modelo do computador

MC536 Bancos de Dados: Teoria e Prática

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Herança. Alberto Costa Neto DComp - UFS

Casos de teste semânticos. Casos de teste valorados. Determinar resultados esperados. Gerar script de teste automatizado.

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

Controle do Arquivo Técnico

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Introdução Ligação direta Ligação direta Default

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Lógica. Everson Santos Araujo

Profa. Daniela Barreiro Claro

Estrutura de um Sistema Especialista

Banco de Dados Aula 02. Colégio Estadual Padre Carmelo Perrone Profº: Willian

Revisão de Banco de Dados

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

CAPÍTULO 2. Grafos e Redes

Pesquisa e organização de informação

Orientação a Objetos com Java

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

2 Ferramentas Utilizadas

Análise e Projeto de Sistemas

UML Aspectos de projetos em Diagramas de classes

Lev Semenovich Vygotsky, nasce em 17 de novembro de 1896, na cidade de Orsha, em Bielarus. Morre em 11 de junho de 1934.

Dadas a base e a altura de um triangulo, determinar sua área.

Disciplina de Banco de Dados Parte V

INTELIGÊNCIA ARTIFICIAL

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Programação Orientada a Objetos

Orientação a Objetos

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

Desenho de Software. Desenho de Software 1

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

Tabela de roteamento

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Banco de Dados I. Prof. Bal. Emerson Meneses Inocente

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

Arquitetura de Computadores. Sistemas Operacionais IV

Introdução Banco de Dados

Engenharia de Software III

Entendendo como funciona o NAT

Prof. Marcelo Henrique dos Santos

Introdução à Lógica de Programação

Curso Técnico em Redes

COMPUTADOR SIMPLIFICADO E COMPUTADOR DIGITAL. Algoritmos e Programação APG0001

Programa do Módulo 2. Fundações do Modelo Objeto

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br. Aula 3. Prof. Rafael Dias Ribeiro.

Orientação à Objetos. Aécio Costa

Modelagem de Casos de Uso (Parte 1)

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro.

1.1. Organização de um Sistema Computacional

ONTOLOGIA DE DOMÍNIO PARA ANÁLISE DE BLOGS

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

Algoritmos e Estrutura de Dados III. Árvores

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

TOTVS BA Guia de Customização Linha Logix

Curso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados

Disciplina: Unidade III: Prof.: Período:

3 SCS: Sistema de Componentes de Software

Curso de PHP. FATEC - Jundiaí. A programação orientada a objetos (object-oriented oriented programming

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Decorator Pattern. SISMO - Sistemas e Mobilidade Junho de Departamento de Informática / UFMA

Desenvolvimento estruturado versus orientado a objetos.

3. Arquitetura Básica do Computador

Banco de Dados I. Introdução. Fabricio Breve

Orientação a Objetos

Transcrição:

Representação de Conhecimento Redes Semânticas Frames Regras de Produção e Árvores de Decisão Lógica Proposicional e Lógica de Predicados Árvores Semânticas e Árvores E-OU Profa. Flavia Cristina Bernardini

Introdução Para o computador solucionar um problema, necessita de um meio para representar o mundo real internamente Exemplos? Em IA: Representação do conhecimento do problema

Representação de conhecimento O que é conhecimento? O que é representar? Representação mental de bola Representação mental de solidariedade Símbolo como CENTRO da representação

Desafios para representação de conhecimento O que é representar? Quem interpretará a representação? Humano Computador Que linguagem de representação utilizar?

Desafios para representação de conhecimento Representação utilizada é muito importante Variáveis e estruturas e operadores escolhidos: algoritmo eficiente x algoritmo que não funciona IA: Uso intensivo de busca A escolha da representação do problema é crucial

Um exemplo lente de contato Ex: Agente inteligente para procurar uma lente de contato em um campo de futebol Estratégia?

Um exemplo lente de contato Estratégias: 1. Uso de algum conhecimento sobre onde estava no campo para ajudar na procura Gasto de tempo em apenas uma metade do campo 2. Supondo que o agente tem acesso a um oráculo que possa responder se para um dado pedaço do campo a lente está ali ou não Divisão do campo em 4 partes e verificação em qual parte está a lente Essa solução é útil?

Um exemplo lente de contato Estratégias: 1. Divisão do campo em um grade, onde cada espaço da grade é um átomo do campo Resposta precisa Tempo para verificar cada espaço da grade? 2. Divisão do campo em um grade, onde cada espaço da grade tem 1x1cm Eliminar todos os quadrados que não estavam perto de quem perdeu a lente Eficiência? Qual a diferença nas representações?

Um exemplo lente de contato Qual a diferença nas representações? Granularidade da representação do espaço de busca (como dividir o campo) Dependendo da estrutura utilizada, o problema pode ser ou não resolvido de maneira mais rápida e eficiente

Representação de conhecimento Redes semânticas Frames Regras de produção e Árvores de Decisão Lógica Proposicional 1ª Ordem Árvores Semânticas e Árvores E-OU

Redes Semânticas

Redes Semânticas Definição Uma rede semântica é um grafo consistindo em vértices conectados por arestas Vértices: Objetos do domínio Arestas: Relacionamentos entre os objetos Cachorro é-um possui Bob é-um Construtor Gato Fido come é-um caça Fang caça Ratos comem Queijo

Redes Semânticas Nós: o que deve ser representado por um nó? Unidades de informação Gato Mamífero Casa Objeto?? Verbos conseqüentemente ações

Redes Semânticas e Frames Links: o que deve ser representado como link? Relações entre nós/objetos Exemplos gato comeu rato O gato comeu o rato gato agente comeu paciente rato

Redes Semânticas Um exemplo mais completo: O gato comeu o rato Pretérito Perfeito Mamífero tempo É-um É-um gato agente comer rato paciente

Redes Semânticas Nó armazena o significado Link arco relação Programa

Redes Semânticas: links especiais É-um Comportamento: Herança Parte-de Composição Atributo Característica

Redes Semânticas Asas Ar tem respira Amarelus IS-A Canário IS-A Ave IS-A Animal deslocação Black&White IS-A Pinguim IS-A Vôo deslocação Andar

Modo de Operação Quando se coloca uma questão a um Nó, Este procura nos seus arcos locais por uma etiqueta que coincida com a questão Se não existir procura a resposta via as suas ligações IS_A, ou seja, passa a questão até um Nó que contenha um arco com a resposta. Deslocação Amarelus? Utilizador deslocação vôo Amarelus deslocação vôo Canário deslocação vôo Ave deslocação Vôo

Inferência sobre Redes Semânticas Para descrever o processo de inferência nas Redes Semânticas vamos usar lógica: Cada ligação Obj1 Relação Obj2 É traduzido para relação (Obj1,Obj2) Deslocação Amarelus? Is_a (Amarelus,Canário). Is_a (Canário, Ave). Deslocação(Ave,Vôo).

Inferência sobre Redes Semânticas O tratamento de exceções no mecanismo de herança faz-se impondo uma restrição ao mecanismo de herança algo dito explicitamente sobrepõe-se aos fatos herdados Deslocação Black & White? Is_a (Black & White, Pinguim). deslocação(pinguim, andar). Is_a (Pinguim, Ave). Is_a (Ave, animal). Respira(Ave, Ar). herda todas as características da superclasse exceto aquelas explícitas no próprio Nó

Características das Redes Semânticas Simplicidade de representação - devido às características de herança Amarelus herda todas as propriedades de Aves As Redes Semânticas estão na origem da Programação Orientada a Objetos Permitem uma redução no tempo de pesquisa, visto que os nós estão diretamente ligados aos nós vizinhos com interesse

Características das Redes Semânticas Desvantagens: Podem permitir inferências inválidas Não têm uma norma de interpretação - a interpretação depende dos programas que a manipulam.

Redes Semânticas Vantagens: Flexibilidade, inteligibilidade, maleabilidade, simplicidade e herança. Mecanismos de Inferência: Dois mecanismos de inferência: Herança: serve para inferir propriedades "default" dos elementos de uma classe, como por exemplo: filho, neto, sogro, etc Herança Filtragem: serve apenas para focar conceitos específicos.

Redes Semânticas Raciocínio: Dois tipos: Propagação de ativação: busca encontrar um caminho entre dois nodos Mapeamento de estruturas: realiza consultas baseado em partes de grafos Dificuldades: Definir a herança Encontrar uma semântica exata do nó e das suas ligações Fazer representações canônicas em domínios específicos Representar crenças, hipóteses e o fator tempo

Redes Semânticas Outro 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 pingüim é uma ave. Um pingüim é branco e preto. A maneira normal de movimentação dos pingüins é andar. O Tweety é um pingüim.

Redes Semânticas Outro Exemplo Questões: Qual o método de movimentação do Alberto? Qual o método de movimentação do Tweety?

Redes Semânticas Outro Exemplo Andar movimentação Tweety IS-A Pingüim Diurna cor IS-A atividade Preto e Branco Ave IS-A Animal cor IS-A movimentação Alberto IS-A Albatroz Vôo tamanho tamanho 120 cm 115 cm

Redes Semânticas Limitações Representação de um dicionário Cada palavra ligada à outra Como fica a busca de uma palavra nessa representação?

Redes Semânticas Exercícios Meu Golf é prata. Ele é um carro normal com 4 portas, 4 pneus e um motor, mas custou muito caro apesar de ser um Volkswagen.

Redes Semânticas Exercícios Escondido nas profundezas de uma galeria fuleira, o Cine-Buraco atrai cinéfilos com sessões de raridades.

Frames ou Quadros

Frames ou Quadros Nó possui mais informações Frame mais de um compartimento Nome Atributos Valor(es) Métodos Daremos (métodos acionados por PUT ou GET ação) Links para outros métodos (válvula de escape) Possibilidade de representação de uma instância ou de uma classe

Frames exemplo Bob É-um Possui Come Construtor Fido Queijo Fido É-um Caça Cachorro Fang

Frames Origem Surgiu com os estudos de Minsky sobre a representação do conhecimento e o processo de observação visual, através da comparação entre as propriedades observadas nos objetos e os padrões estereotipados, previamente definidos na memória.

Frames Origem Um frame possui um nome que identifica o conceito por ele definido e um conjunto de atributos (slots). Um frame é uma estrutura de dados complexa, útil para modelar objetos do mundo real. Assemelham-se a registros de um banco de dados porém mais poderosos e expressivos. Minsky, M.A. A Framework for Representing Knowledge. McGraw-Hill, New York, 1975.

Frames Definição São conjuntos de slots (campos) e de valores, cuja estrutura contém informações referentes a determinados objetos, as quais são armazenadas de forma hierárquica Os frames podem ser criados a partir de uma coleção de frames (já existentes) conectados entre si Isto se torna possível uma vez que um atributo de um frame pode ser outro frame. "Um frame é uma coleção de atributos, em geral chamados de escaninhos (slots), e valores a eles associados (e possivelmente restrições a estes valores) que descrevem alguma entidade do mundo." [Rich & Knight, 1993]

Frames Características Modelo híbrido de representação dos conhecimentos Cada frame representa uma classe (um conjunto) ou uma instância de um elemento de uma classe A ligação entre os frames é descrita principalmente nos slots é-um Tipos de Frames: Frames Construtores ou de Classe: São frames que funcionam como esquemas para a construção de outros frames Frames de Instância: São frames específicos, construídos a partir do frame construtor

Frames Características Funcionalidades: Adição, consulta e remoção de atributos Criação e remoção de frames. Representação de casos e estruturas complexas

Frames componentes Componentes básicos de um Frame: Nome Lista de pais Atributos (ou ainda slots, em inglês) Componentes básicos de um atributo: Nome Valor Procedimento adjacente if-needed (daemon) Procedimento adjacente if-changed (daemon) Outros procedimentos adjacentes

Frames Vantagens Toda a informação de um objeto está encapsulada em um único lugar Redes semânticas: não permite que os atributos do objetos sejam encapsulados Herança Quadros podem ser estendidos com informação adicional no nível de quadros de classes

Frames Herança No exemplo, podem ser adicionadas as seguintes informações: Cachorros caçam gatos Gatos caçam ratos Não é necessário explicitar que Fido caça Fang Gato Cachorro é-um Fido possui Bob é-um come Construtor é-um caça Fang caça Ratos comem Queijo

Frames Herança No exemplo, podem ser adicionadas as seguintes informações: Mamíferos respiram Cachorros são mamíferos Não é necessário explicitar que Fido, Fang e Bob respiram Gato Cachorro é-um Fido possui Bob é-um come Construtor é-um caça Fang caça Ratos comem Queijo

Frames valor padrão Adicionando a seguinte informação: Mamíferos têm quatro pernas Homem: só duas pernas Valor-padrão da variável número de pernas pode ser sobrescrito Alguma semelhança com OO é mera coincidência... Ou não?

Frames versus OOP De certo modo, o paradigma de representação de conhecimento através de frames é idêntico a que veio a ser consagrado apenas alguns anos mais tarde, como o paradigma de programação orientada para objetos (não enquanto paradigma de programação, mas apenas de representação do conhecimento).

Frames Exercício Meu Golf é prata. Ele é um carro normal com 4 portas, 4 pneus e um motor, mas custou muito caro apesar de ser um Volkswagen.

Exercício Represente em Redes Semânticas e Frames a seguinte sentença: Salsa, hip-hop, pop, pagode. O ritmo muda, os endereços são diferentes, mas o bairro onde todo tipo de público dança esses sons e um só: Copacabana. O Globo, Zona Sul, 11/09

Outros Formalismos Semelhantes ou Baseados em Redes Semânticas e/ou Frames

Outros Formalismos Alguns formalismos de representação do conhecimento mais vocacionais para o desenvolvimento de Sistemas Especialistas: Tuplas Objeto-Atributo-Valor e Listas de Propriedades Relações de Classificação e Pertinência (IS-A e IS-PART)

Tuplas Objeto-Atributo-Valor (O- A-V) Caracterizam os valores de determinados atributos de um dado objeto O objeto pode ser uma entidade física (carro) ou uma entidade conceptual (empréstimo) has is Objeto Atributo Valor

Tuplas Objeto-Atributo-Valor (O- A-V) Exemplo Tuplas associadas a um carro carro-marca-opel carro-modelo-astra carro-cilindrada-1400 carro-nºportas-4 carro-cor-verde As tuplas podem vir recheadas de valores numéricos que expressam a certeza, ou incerteza que se tem no conhecimento em causa. Exemplo Previsão do tempo: chuva com 60% de certeza (previsão- tempo-chuva CF = 0.6)

Listas de Propriedades No exemplo carro-marca-opel carro-modelo-astra carro-cilindrada-1400 carro-nºportas-4 carro-cor-verde O nome do objeto aparece muitas vezes. Usa-se listas de propriedades, nas quais para um dado objeto temos uma lista de pares atributo-valor. Lista de propriedades para o carro: carro-[marca-opel, modelo-astra, cilindrada-1400, nº portas-4, cor-verde,...].

Limitações As tuplas e as listas de propriedades têm limitações quando se pretende representar conhecimento declarativo sobre atributos de objetos que estejam em modificação Nessas situações o conhecimento é dinâmico e temos que modificar o valor de um atributo Exemplo: Tuplas dinâmicas que se referem ao estado de um disjuntor (aberto ou fechado) e ao modo de operação de uma linha (manual ou automático): Disjuntor_D - estado-aberto Linha_L - modo_operação - manual.

Relações de Classificação (IS-A) Animal Selvagem IS-A IS-A Animal IS-A IS-A IS-A IS-A Canino Animal Doméstico Felino IS-A IS-A IS-A IS-A IS-A IS-A Lobo Cão Gato Tigre

Relações de Pertinência (IS- PART) As relações de pertinência (IS-PART) organizam o conhecimento através da composição ou decomposição de componentes. Mobiliário de Cozinha IS-PART IS-PART Cadeira Mesa IS-PART IS-PART IS-PART IS-PART IS-PART Pernas da Cadeira Encosto Assento Pernas da Mesa Tampo

Relações de Classificação (IS-A) e de Pertinência (IS-PART) As relações IS-A e IS-PART podem ser combinadas na mesma representação. Computador IS-PART IS-PART IS-PART CPU monitor teclado IS-A...... Pentium 4...