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