Inteligência Artificial



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

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

Orientação a Objetos com Java

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

MC536 Bancos de Dados: Teoria e Prática

Especificação do 3º Trabalho

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

2 Diagrama de Caso de Uso

BANCO DE DADOS I AULA 3. Willamys Araújo

Orientação a Objetos

Bancos de Dados Aula #3 MER Estendido

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

Engenharia de Software I

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

Representação de Conhecimento

Profa. Daniela Barreiro Claro

Revisão de Banco de Dados

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

O Modelo de Entidades e Relacionamentos (MER) é um modelo conceitual usado para projeto de aplicações de banco de dados.

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48

Modelagem de Dados com UML. Modelagem de Dados com UML. Modelagem de Dados com UML. Modelagem de Dados com UML. ! Generalização/Especialização

Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp

Modelo Entidade-Relacionamento

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

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

Orientação a Objetos

Análise e Projeto Orientados a Objetos Aula IX Modelo Conceitual do Sistema (Modelo de Domínio) Prof.: Bruno E. G. Gomes IFRN

Representação do Conhecimento

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

4 Avaliação Econômica

Fases para um Projeto de Data Warehouse. Fases para um Projeto de Data Warehouse. Fases para um Projeto de Data Warehouse

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

INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena

Programação Orientada a Objetos em Java. Herança

Notas de Aula 04: Casos de uso de um sistema

FÁCIL ACESSO ÀS MELHORES OPÇÕES DA CIDADE

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

Microsoft Access XP Módulo Um

Banco de Dados. MER Estendido. Profa. Flávia Cristina Bernardini

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

Estrutura de um Sistema Especialista

Faculdade Pitágoras 24/10/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Conceitos de Banco de Dados

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

Engenharia de Requisitos Estudo de Caso

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

Questões de Concursos Públicos sobre Orientação a Objetos e UML

Capítulo 13. Encapsulamento. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Sistemas especialistas

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Esquema da Relação. Modelo Relacional. Instância da Relação. Exemplo. Uma base de dados é uma colecção de uma ou mais relações com nomes distintos

Modelagem de Casos de Uso (Parte 1)

Roteiro 3 Modelagem relacional

Banco de Dados Modelo Conceitual, Lógico, Físico, Entidade- Relacionamento (ER) Hélder Nunes

Capítulo. Sistemas de apoio à decisão

Introdução! 1. Modelos de Domínio! 1. Identificação de classes conceituais! 2. Estratégia para identificar classes conceituais! 2

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

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

Banco de Dados Lista de Exercícios 01

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Programação de Computadores I Fluxogramas PROFESSORA CINTIA CAETANO

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

IES-200. Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Me. Álvaro d Arce alvaro@darce.com.br

Prof. Claudio Passos Apresentação cedida pela Ceça Moraes

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

ATIVIDADES PRÁTICAS SUPERVISIONADAS

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

Lógica. Everson Santos Araujo

ARQUITETURA DE SOFTWARE

Softwares Aplicativos Banco de Dados

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

Metodos de Programação

Guia de Especificação de Caso de Uso Metodologia CELEPAR

Modelo Entidade-Relacionamento DCC011. Modelo Entidade-Relacionamento. Processo de Projeto de Bancos de Dados

Capítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

A Linguagem Pascal e o Ambiente de Programação Dev-Pascal. Introdução à Ciência da Computação I

Profº. Enrique Pimentel Leite de Oliveira

Uma visão mais clara da UML Sumário

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

4 Metodologia da Pesquisa

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 17 PROFª BRUNO CALEGARO

Java. Marcio de Carvalho Victorino

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Engenharia de Software

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

Exercícios Práticos Assunto: Criação de slots e instâncias da ontologia com o Protegé.

TOTVS BA Guia de Customização Linha Logix

Princípios de Análise e Projeto de Sistemas com UML

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

Podemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em um projeto.

Apresentação... Nome: Vanderlei Cordeiro Frazão

Tópicos em Engenharia de Computação

Herança. Alberto Costa Neto DComp - UFS

Guia de Modelagem de Casos de Uso

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

UNIVERSIDADE DE MOGI DAS CRUZES Centro de Ciências Exatas e Tecnológicas

Modelo Relacional. Aécio Costa

Transcrição:

Inteligência Artificial Representação de conhecimento Redes Semânticas Frames Representação do conhecimento por redes semânticas Uma rede semântica é uma forma gráfica de representação de conhecimento, onde os objetos, conceitos ou situações no domínio são representados por um conjunto de nós conectados entre si através de um conjunto de arcos, que representam as relações entre os nós. Dois tipos de nós: nós rotulados por relações, correspondendo a categorias ou propriedades. Nós rotulados por objetos do domínio Três tipos de arcos: Arcos de subconjuntos () Arcos de pertinência em conjuntos () Arcos de funções 2 Representação do conhecimento por redes semânticas Representando uma taxonomia: ave asas ave_de_rapina carne águia Flecha Mecanismo de raciocínio de redes semânticas Uma rede semântica permite raciocínio não-monotônico. O raciocínio com lógica ordinária é monotônico porque se acrescentarmos novos axiomas a um sisa lógico não diminuímos o conjunto de teoremas que podem ser provados. Entretanto, há muitos exemplos de raciocínio de senso comum que são não monotônicos. Freqüenente fazemos inferências por default - desde que nada diga o contrário assumimos como verdade. Entretanto, se verificado novo conhecimento contraditório, nós devemos invalidar a inferência default. Nas redes semânticas, o mecanismo de cancelamento de herança provê os meios para resolver contradições. Na lógica clássica, isto é mais custoso, envolvendo novos predicados e informações de entrada. 3 4

Representação do conhecimento por redes semânticas Uma rede semântica dá suporte à herança de atributos ao longo de ligações é-um e. vôo 40cm ave_de_rapina ave asas 80cm envergadura águia falcão Eagle_club envergadura locomoção Flecha Falco carne Falcon_club 5 Algoritmo: Herança de Atributos Para recuperar um valor V de um atributo A de uma O de um objeto: 1. Encontre O na base de conhecimento. 2. Se houver aí um valor para o atributo A, retorne esse valor. 3. Senão, verificar se há um valor para a relação. Em caso negativo, retorne insucesso. 4. Caso contrário, ir para o nó que corresponde àquele valor e procurar um valor para o atributo A. Se encontrar, retorne o valor. 5. Caso contrário, execute os passos a seguir até não haver mais valor para a relação é-um ou até encontrar uma resposta: (a) Encontrar o valor da relação é-um e ir para aquele nó. (b) Verificar se há um valor para o atributo A. Se houver, retorne-o. 6 vôo 40cm envergadura locomoção (1) (Falco)? (2) envergadura(flecha)? (3) envergadura(falco)? (4) (Flecha)? ave_de_rapina ave asas carne Representando uma RS por predicados Expresse o conhecimento representado pela rede semântica do exemplo anterior, utilizando um conjunto de predicados. Resolva os conflitos entre valores de atributos através de predicados compostos com restrições. 80cm envergadura águia falcão Eagle_club Flecha Falco Falcon_club 7 8

40cm envergadura ave asas 40cm envergadura ave asas vôo locomoção ave_de_rapina carne vôo locomoção ave_de_rapina carne 80cm envergadura águia falcão Eagle_club (Flecha, águia) (Falco, falcão) (x, águia) (x, águia) (x, falcão) (x, falcão) (Flecha, Eagle_club) (Falco, Falcon_club) (x, asas) (x, ave) Flecha Falco Falcon_club?? envergadura(x, 80) (x, águia) (x, ave_de_rapina) (x, falcão) (x, ave_de_rapina) (x, águia) (x, ave) (x, ave_de_rapina) (x, carne) (x, ave_de_rapina) locomoção(x, vôo) (x, ave_de_rapina) envergadura(x, 40) (x, ave) 9 80cm envergadura águia falcão Eagle_club (Flecha, águia) (Falco, falcão) (x, águia) (x, águia) (x, falcão) (x, falcão) (Flecha, Eagle_club) (Falco, Falcon_club) Flecha Falco Falcon_club envergadura(x, 80) (x, águia) (x, ave_de_rapina) (x, falcão) (x, ave_de_rapina) (x, águia) (x, ave) (x, ave_de_rapina) (x, carne) (x, ave_de_rapina) locomoção(x, vôo) (x, ave_de_rapina) (x, asas) (x, ave) envergadura(x, 40) (x, ave) (x, águia) 10 Representando uma RS por predicados (Flecha, águia) (Falco, falcão) (x, águia) (x, águia) (x, falcão) (x, falcão) (Flecha, Eagle_club) (Falco, Falcon_club) (x, ave_de_rapina) (x, falcão) (x, ave_de_rapina) (x, águia) (x, ave) (x, ave_de_rapina) (x, carne) (x, ave_de_rapina) locomoção(x, vôo) (x, ave_de_rapina) (x, asas) (x, ave) envergadura(x, 80) (x, águia) envergadura(x, 40) (x, ave) (x, águia) 11 Representando uma RS por predicados Com o conjunto de predicados gerado, é possível provar que a envergadura de Falco é 40cm? Caso negativo, qual seria a informação adicional necessária para completar a prova? Para provar que Falco envergadura de 40cm com o conjunto de predicados especificado é necessário introduzir o seguinte predicado adicional: (x, águia) (x, falcão) 12

Representando predicados não-binários Para se representar uma de um relacionamento entre dois objetos, com atributos próprios, se cria um novo objeto. Exemplo: uma partida entre Grêmio e Internacional Representando frases declarativas Considere a frase: João deu o livro Pinóquio para Maria. O conteúdo desta frase pode ser representado por uma rede semântica: R$102.000,00 arrecadação árbitro Jogo Grenal51 placar visitante 4x2 João Dar EV3 agente Livro objeto Pinóquio Armando time_da_casa Grêmio Inter Maria receptor 13 14 Representando relações entre atributos Considere o fato: João é maior Maria. A sua representação por uma rede semântica é: Representando declarações gerais Considere o fato: Todo eleitor votou num candidato. A sua representação por uma rede semântica é: João Maria altura alt_j altura maior_que alt_m GS forma Eleitor Votar Candidato valor 1,75 g e votante v votado c 15 16

Representando declarações gerais Considere o fato: Todo eleitor votou no candidato Zé Promessa. A sua representação por uma rede semântica é: GS g forma Eleitor e votante Votar v votado Candidato Z_P Vantagens e desvantagens das Redes Semânticas As redes semânticas são muito utilizadas como ferramenta de modelagem para se obter uma representação visual dos objetos do domínio. Entretanto, apresentam uma granularidade muito fina e uma falta de estrutura que dificulta a representação de domínios complexos, mantendo a consistência semântica. São inadequadas para representar propriedades ou objetos complexos (muitos relacionamentos). Não existe um mecanismo de inferência poderoso naturalmente associado à representação, exceto a própria herança de atributos. 17 18 Representação do conhecimento por frames Sisa de frames correspondente à rede semântica A representação por frames está intimamente relacionada com as redes semânticas. Um frame é uma estrutura que um nome e um conjunto de pares atributo-valor. O nome do frame corresponde a um nó numa rede semântica. Os atributos correspondem aos nomes dos arcos associados com este nó e os valores correspondem aos nós nas outras extremidades desses arcos. Os pares atributo-valor são geralmente chamados de slots. Um atributo dá o nome de um slot e os valores correspondem ao seu conteúdo. Os frames dividem-se em construtores, que definem as categorias do domínio e em s, que representam os objetos do domínio. Frame: ave : ROOT : asas envergadura: 40cm Frame: ave_de_rapina : ave : carne locomoção: vôo Frame: águia : ave_de_rapina envergadura: 80cm Frame: falcão : ave_de_rapina Instância: Flecha : águia nome: Flecha Eagle : Eagle_club Instância: Falco : falcão nome: Falco Falcon : Falcon_club 19 20

Construindo um sisa de frames Na construção da estrutura de um frame definem-se os slots que caracterizam a categoria correspondente. Exemplos típicos de slots são: O seu identificador. Em que classe ou classes está contido. Os atributos que qualificam a categoria e todas as suas subclasses. Tipos de dados, intervalos de variação e outras restrições que os valores podem assumir. Procedimentos associados aos atributos e que devem ser executados para buscar um valor específico de atributo (num banco de dados ou através de um cálculo, por exemplo). Relações entre este frame e os demais do sisa Especificação dos slotes Tipicamente os slots especificam as seguintes informações: um tipo comum de dado (integer, real, string, booleano) uma lista de dados de um determinado tipo um nome de um outro frame (relacionamentos do tipo associação ou especialização/generalização) uma restrição sobre possíveis valores que podem ser assumidos uma chamada de procedimento 21 22 Frame: : nome: endereço: cidade: estrelas: acomodações: oferece: atrações: melhor_época: HOTEL HOSPEDAGEM string string string integer range (1-5) _de ACOMODAÇÃO lista_de (estacionamento, sala_convenções, sala_jogos, sala_tv, salão_beleza, loja, piscina, quadra_esportes) string range (data-data) default (1/Jan - 31/Jan) Frame: HOTEL3S : HOTEL estrelas: 3 acomodações: APARTAMENTO, SUÍTE oferece: (estacionamento, sala_jogos, sala_tv) diária: real range (50-90) se_necessário (calcula_desconto) slot facets demon 23 24

Frame: ACOMODAÇÃO Frame: APARTAMENTO : ROOT : ACOMODAÇÃO é_parte_de: HOTEL é_parte_de: HOTEL3S número: integer categoria: um_de (simples, confortável, luxo) localização: categoria: diária: um_de (frente, fundo, lateral) um_de (simples, confortável, luxo) real range (20-500) se_necessário (calcula_desconto) diária: oferece: real range (50-80) se_necessário (calcula_desconto) lista_de (banheiro, telefone, frigobar, TV, TV_cabo, sacada, vista) oferece: lista_de (banheiro, banheira_hidro, telefone, frigobar, TV, TV_cabo, sala, sacada, vista) 25 26 Instância: Embaixador : HOTEL3S nome: Hotel Embaixador endereço: Rua Gen. Vitorino,... cidade: Porto Alegre estrelas: 3 acomodação: APARTAMENTO, SUITE atrações: Localização central melhor_época: oferece: (sala_jogos, sala_tv) Instância: Ap201 : APARTAMENTO é_parte_de: Embaixador número: 201 localização: frente categoria: confortável diária: 80 oferece: (banheiro, telefone, frigobar) 27 28

Rede semântica correspondente aos frames do exemplo Raciocínio em Sisas de Frames Hospedagem Suíte é_parte_de Pousada Acomodação Hotel oferece é_parte_de Sala_convenções Hotel_5S Hotel_3s Apartamento Churrascaria Plaza atrações Embaixador Ap201 é_parte_de cidade Porto Alegre Como no caso das redes semânticas, a principal forma de inferência em sisas de frames se dá por herança de atributos. As s de um frame herdam todos os atributos definidos para aquele frame, bem como seus valores, métodos e restrições. As exceções à herança de atributos são especificadas pela representação explícita no slot correspondente da classe especializada. Pode-se expandir o mecanismo de raciocínio com frames associando-se regras de produção. Regras podem descrever aspectos comportamentais dos objetos ou seqüências de ações que devem ser desencadeadas por determinados valores de atributos. As premissas e conclusões das regras se referem a frames, atributos e valores definidos. 29 30 Exemplo: Raciocínio em Sisas de Frames Se solicitada reserva E acomodação.número = X E acomodação.diária < cliente.diária E acomodação.categoria = confortável Então reserva.apto := X cliente.hotel := acomodação.é_parte_de Vantagens e desvantagens dos frames Frames permi uma rápida modelagem do domínio, uma vez que as estruturas de representação são extensas e flexíveis. Permi obter um modelo descritivo do domínio de uso genérico. Permi o encapsulamento dos métodos de manipulação e procedimentos, garantindo modularidade e consistência do sisa mesmo em domínios complexos. Na maioria dos domínios de aplicação é necessário combinar o mecanismo de inferência por herança de atributos com regras de produção, aumentando a complexidade da solução. 31 32