Prévia do material em texto
- -1 INTELIGÊNCIA ARTIFICIAL APLICADA A JOGOS DIGITAIS REPRESENTAÇÃO DE CONHECIMENTO - -2 Olá! Nesta aula, você irá: 1. Conhecer as condições necessárias sobre a representação de conhecimento computacional em inteligência artificial; 2. Representar as diferentes formas do conhecimento utilizando: lógica, redes semânticas e quadros; 3. Saber as principais propostas de representação computacional do conhecimento. Os psicólogos cognitivos gostariam de poder explorar e analisar como cada um de nós representa o conhecimento, pena que os métodos empíricos são praticamente improváveis a curto e médio prazo. Já a abordagem racionalista tenta deduzir logicamente a explicação mais razoável de como se representa esse conhecimento. Na epistemologia clássica, os filósofos dividiam o conhecimento em duas classes de estruturas: o conhecimento declarativo e o conhecimento procedural. Para representar o conhecimento, devemos possuir formas de representar tanto as informações, como os procedimentos (ações). Existem várias formas de representação do conhecimento, três delas são: Lógica (procedimentais) - é a base para a maioria dos formalismos de representação de conhecimento, seja de forma explícita, como nos sistemas especialistas baseados na linguagem Prolog, seja mascarada na forma de representações específicas que podem facilmente ser interpretadas como proposições ou predicados lógicos. Redes semânticas (declarativas) - é um nome utilizado para definir um conjunto heterogêneo de sistemas. Em última análise, a única característica comum a todos estes sistemas é a notação utilizada: uma rede semântica consiste em um conjunto de nós conectados por um conjunto de arcos. Os nós em geral representam objetos e os arcos, relações binárias entre esses objetos. Mas os nós podem também ser utilizados para representar predicados, classes, palavras de uma linguagem, entre outras possíveis interpretações, dependendo do sistema de redes semânticas em questão. Quadros/frames (declarativas) - e sua variação, os roteiros (.scripts.), foram introduzidos para permitir a expressão das estruturas internas dos objetos, mantendo a possibilidade de representar herança de propriedades como as redes semânticas. As ideias fundamentais destes métodos foram introduzidas por Marvin Minsky, em seu artigo: A framework to represent knowledge. Entretanto, para que possamos compreendê-las, é necessário entender com quais entidades eles lidam. Fundamentalmente, podemos falar em duas entidades: os fatos (ou seja, as verdades ou informações que - -3 possuímos sobre um determinado contexto) e a representação dos fatos (formalismo simbólico que permite representar e manipular o conhecimento em um determinado contexto). A IA deve ter mecanismos para a representação de fatos. A abordagem mais comum para este fim é usar a linguagem da lógica. A prova de teoremas foi um dos primeiros domínios nos quais as técnicas de IA eram exploradas. 1 Lógica matemática Para a representação do conhecimento através da lógica utilizam-se os seguintes símbolos lógicos padrões: • Símbolos lógicos Pontuação: (,) • Conectivos negação: ~ (Não) conjunção: Ʌ (e) disjunção: V (ou) implicação: → (se-então) bi-implicação ou bi-condicional: ↔ (se-somente-se) 2 Lógica de primeira ordem ou cálculo proposicional A Representação Lógica (também conhecida como Lógica de Primeira Ordem) é baseada em uma notação que procura representar os fatos evitando as ambiguidades da linguagem natural e permite realizar inferências de novos fatos. O problema é que nem sempre o conhecimento pode ser mapeado em uma relação um-para-um, como em: • • - -4 Por vezes, é necessário utilizar representações de muitos-para-muitos, como em: As declarações um-para-um são tratadas com uma área da lógica chamada de Cálculo Proposicional e as declarações muitos-para-muitos são tratadas por uma área chamada Cálculo de Predicados. Para representar o conhecimento de um mundo que um sistema de IA necessita, usa-se a lógica proposicional. Representa- se os fatos do mundo real através das proposições lógicas. 3 Semântica das linguagens proposicionais As fórmulas de urna linguagem proposicional, incluindo os símbolos proposicionais, terão como significado os valores-verdade: FALSO (F) ou VERDADEIRO (V). A letra v indica o valor-verdade da proposição: - -5 4 O método da tabela-verdade Para combinarmos os valores possíveis com os conectivos definidos, precisamos definir os valores resultantes das operações lógicas. Estes valores estão representados na Tabela Verdade, que é objeto de deduções que podem ser provadas, através de procedimentos da Lógica de Primeira Ordem. Esta é uma tabela base de consulta das combinações. Ela é largamente utilizada na matemática pura, engenharia elétrica e na programação (principalmente nos testes das estruturas de seleção e repetição if-else while. 4.1 Construção da tabela-verdade Para saber quantas linhas a tabela verdade terá, basta contar quantas proposições existem (n) e aplicar na fórmula: 2n. Exemplo: 2 proposições = 4 linhas 3 proposições = 8 linhas. - -6 4 proposições = 16 linhas Posicione as proposições nas primeiras colunas. Exemplo: Para as 3 proposições p, q, r Para a primeira coluna, pegue o total de linhas (8) e divida por 2 que resultará 4. Preencha-a com quatro V da metade das linhas para cima e com quatro F da metade pra baixo. Para a segunda coluna, pegue o total de linhas (8) e divida por 4 que será igual a 2. Ou seja, preencha com dois V a metade da quarta parte para cima e com dois F a metade da quarta parte pra baixo. Faça isso novamente com a outra metade que sobrou. Para a terceira coluna, pegue o total de linhas (8) e divida por 8 que resultará em 1. Preencha de V e F alternadamente. Começando com V. - -7 Primeira e segundas colunas preenchidas. Colocar em modo de animação V e F da terceira coluna respeitando o que está escrito no item 5. 5 Lógica de predicados Nas proposições lógicas que vimos até agora, lidávamos apenas com um único objeto. Proposições acerca de vários objetos, tais como “Todos os Homens são mortais” ou “Os times do Rio são os melhores”. Os objetos destas proposições são “homens”, no primeiro caso e “times”, no segundo caso. Já “mortais” e “melhores” são as propriedades. Aos objetos chamamos sujeitos e às propriedades chamamos predicados. Na lógica de Predicados representamos, por exemplo, a proposição “Marcos nasceu em Pompéia” como: Pompeano (Marcos). Essa proposição é dita fechada, porque pode ser avaliada como verdadeira ou falsa. Nesta mesma lógica, quando o sujeito não é conhecido, pode ser substituído por uma variável. Por exemplo, representamos a proposição “Alguém governava Pompéia” como: Governador(x). Resumidamente, pode ser escrita na forma G(x), ou ainda Gx. Essa proposição é dita aberta porque não é possível avaliá-la, uma vez que não conhecemos o valor de x. A transformar a proposição aberta em fechada, é chamado de instanciação ou especificação. Universo de uma variável é o conjunto de todos os valores que ela pode assumir. Os valores do Universo que tornam a proposição verdadeira constituem o seu Conjunto Verdade. 6 Redes semânticas Uma rede semântica é uma forma de representação do conhecimento para modelos computacional de memórias humana (memória semântica). Ela é um conjunto ou um grafo de nós conectados por ligações. Os vértices (nós /nodos) representam objetos, situações ou conceitos (elementos), as arestas (arcos) representam relações - -8 semânticas entre os conceitos e as ligações podem ser quaisquer mas devem transmitir a semântica de maneira mais fiel possível. Elas são consideradas uma forma comum de um dicionário legível por uma máquina. A semântica é o estudo do significado de conceitos individuais utilizados na linguagem. É uma tentativa de descrever os significados das palavras e as condições sob as quais eles podem interagir para serem compatíveis com outros aspectos de uma linguagem.Os tipos mais comuns de ligações em uma rede semântica são: “é-parte-de” e “é-um” ou “é-uma”. As divisões e tipos básicos de ligações em redes semânticas Propriedade Relaciona um nó com outro. Subparte Indica que um nó é subparte ou componente de outro (“é parte-de”). Subclasse Exprime que um nó é uma subclasse (representada por outro nó). Relacionamento Informa que os nós envolvidos se relacionam de alguma forma. Tipos de semântica Procura mostrar o quanto a descrição se aproxima da realidade representada.Semântica Descritiva: Procura estabelecer equivalências entre a representação efetuada e uma outraSemântica de Equivalência: forma de representação do conhecimento. Semântica Procedural: Usa programas para exprimir o significado (exige entendimento de uma linguagem de programação). 7 Frames Modelo de representação de conhecimento onde um elemento de um domínio é representado por um conjunto de características. “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.” Frames 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. - -9 "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." O que vem na próxima aula Na próxima aula, você estudará sobre os assuntos seguintes: • Na próxima aula, você irá estudar resolução de problemas em Inteligência Artificial. • A aula conterá definições e caracterização de problemas como: o problema das jarras, o problema das 8 rainhas, o problema do quebra-cabeças de 8 peças, os problemas de roteamento e de tour, o problema do caixeiro viajante, os problemas relacionados a jogos de computador, o problema da pesquisa na Internet e outros problemas relacionados à Indústria. • Compreenderá que podem existir várias soluções para um problema e que a solução ótima é aquela que tem o caminho de menor custo. CONCLUSÃO Nesta aula, você: • Conheceu as diferentes formas de representação do conhecimento. • Percebeu que poderá utilizar estas formas de conhecimento para organizar melhor os procedimentos de um jogo. • Compreendeu a importância do cálculo proposicional e de predicados para a representação do conhecimento. • Aprendeu a distinguir as diferentes formas de representação do conhecimento e analisar cada uma delas. Saiba mais Para saber mais sobre os tópicos estudados nesta aula, pesquise na internet sites, vídeos e artigos relacionados ao conteúdo visto. Se ainda tiver alguma dúvida, fale com seu professor online utilizando os recursos disponíveis no ambiente de aprendizagem. Histórico da Lógica: https://pt.wikipedia.org/wiki/Hist%C3%B3ria_da_l%C3%B3gica Minsky (representação do conhecimento - Frames) www.media.mit.edu/people/minsky///web.media.mit.edu/~minsky/papers/Frames/frames. html • • • • • • • https://pt.wikipedia.org/wiki/Hist%C3%B3ria_da_l%C3%B3gica http://www.media.mit.edu/people/minsky/web.media.mit.edu/~minsky/papers/Frames/frames.html http://www.media.mit.edu/people/minsky/web.media.mit.edu/~minsky/papers/Frames/frames.html Olá! 1 Lógica matemática Símbolos lógicos Conectivos 2 Lógica de primeira ordem ou cálculo proposicional 3 Semântica das linguagens proposicionais 4 O método da tabela-verdade 4.1 Construção da tabela-verdade 5 Lógica de predicados 6 Redes semânticas 7 Frames O que vem na próxima aula CONCLUSÃO