Inteligência Artificial Aula 4 1 Conhecimento • para que possamos resolver problemas e chegar a um estado-meta, através de diferentes técnicas necessitamos representar o conhecimento de forma que possa ser manipulado; • lida-se com duas entidades: – Conhecimento: o fato, ou seja, verdades em algum mundo relevante; – Representação do Conhecimento:o fato em algum formalismo escolhido, que será “realmente” manipulado por programas de computador; 2 • O conhecimento expresso em IA possui propriedades um pouco diferenciadas dos tradicionais “banco de dados”; – não armazenamos dados simplesmente pelos dados; – temos que de alguma forma “conectar” as informações; – o conhecimento a ser expresso é volumoso, nem sempre com informações precisas e em constante evolução; – as técnicas utilizadas para representação deste conhecimento deve possuir as seguintes características: • capturar generalizações através de propriedades importantes; 3 • Ser compreendido pelas pessoas que o fornecem; • ser facilmente modificado para correção de erros ou reflexão de mudanças no mundo do problema que está sendo representado; • limitação das possibilidades combinatórias; • o conhecimento é informação estruturada: – pode aparecer de diferentes formas: • • • • • • • forma de objetos, proposições e definições, conceitos e relações, teoremas e regras, algoritmos, estratégias e táticas e metaconhecimento (conhecimento sobre o conhecimento); 4 • Uma base de conhecimento: – constituída de fatos e de um conjunto de regras e heurísticas que permitem a derivação de outros fatos; – há mais descrições que dados, ou seja, a informação está associada à função de interpretação existente no sistema, os fatos e regras estão organizados em unidades que facilitam a inferência (modo como o raciocínio percorre a representação do conhecimento heurísticas) de novos fatos ; • trabalha-se com quatro tipos de conhecimento: 5 – Conhecimento do domínio: situado à nível de aplicação formado por conhecimentos e termos básicos do domínio, obtido em livros; – Conhecimento genérico: situado à nível de tarefa,formado por regras fornecidas por um especialista baseado na sua experiência, conceitos adquirido ao longo dos anos; – Conhecimento básico:situa-se à nível de capacidade, formado por modelos ( regras interrelacionadas, hipóteses); – Conhecimento formal: situa-se à nível de tecnologia, constituído de estratégias ou heurísticas; • trabalha-se ainda com duas filosofias de conhecimento: certo e incerto; 6 • Conhecimento certo: – modelo completo, consistente e imutável do domínio; – adição de novos conhecimento não implica em mudanças na base de conhecimento ( revisão de crenças), a base já está consolidada; – nesse caso, em um dado momento, um fato é tido como verdadeiro ou tido como falso ou nem verdadeiro ou falso; – não há dúvida com relação a este conhecimento; • Conhecimento incerto: – que não é indiscutível, está associado a alguma 7 medida de incerteza; – a incerteza descreve crenças de acordo com a : • confiabilidade da informação; • imprecisão da linguagem de representação do conhecimento utilizada; • informação parcial; • agregação ou resumo das informações provenientes de múltiplas fontes; – o médico ao diagnosticar uma doença, com base em alguns sintomas, lida com graus de incerteza de diagnosticar a doença corretamente; 8 – não se pode ter certeza que ao se sair de casa com uma hora de antecedência, se chagará ao aeroporto em tempo de se embarcar no voô pretendido, mas apenas se pode afirmar que se tem um chance de, por exemplo 85% de não perder o voô... Não pode-se prever com exatidão a ocorrência de incidentes , pneu furado, congestionamentos, acidentes... – A incerteza devido a confiabilidade da informação pode estar presente em fatos ou regras mal definidas; – a incerteza associada a imprecisão da linguagem de representação, a interpretação da regra difere da seu significado formal; 9 – a incerteza associada a informação parcial, o conhecimento não é expresso na sua totalidade , desta maneira temos um conhecimento parcial, aproximado, inexato e impreciso (baixa confiabilidade) ex.: • “Ayrton Senna morreu em um acidente automobilístico, ocasionado por uma flha mecânica, durante o Grand Prix de Imola, em 1994” ( parcial : não explicita qual foi a falha que ocorreu; • “A morte do Senna foi provocada por uma falha no sistema de direção do seu Fórmula 1” (aproximado : não explica o tipo de falha); • “Ao bater no muro de proteção, Senna sofreu uma desaceleração de cerca de 314 Km/h para zero, em frações de milésimos de segundos.” ( linguagem 10 imprecisa); • “Algumas fotos de amadores, feitas no dia da corrida, aparentemente mostraram um defeito na suspensão. Alguns pilotos e ex-pilotos acham que foi a barra de direção” (informações conflitantes de fontes diversas); – a incerteza associada a agregação de informação de múltiplas fontes, gerando informações imperfeitas conflitantes, ex: • a sessão começa entre 20:00 e 21:00 • a sessão começa próximo as 20:30 • É provável que a sessão comece À 20:15. • Para que possamos representar o conhecimento devemos adquiri-lo, esta é função de um engenheiro do conhecimento.11 Representação do Conhecimento • Formalização e estruturação de conhecimento em um computador, de forma que possa ser manipulado produzindo um comportamento inteligente; • baseado em cognição: máquina de inferência agindo em cima da base de conhecimentos, tipo de raciocínio adotado; • a representação do conhecimento pode ser analisada em termos da sua adequação ao fatos do mundo real e aos problemas que se 12 propõe a solucionar; • A adequação se refere a metafísica, epistemologia ou heurística: – metafísica = parte da filosofia que procura determinar as regras fundamentais do pensamento, ou seja, o mundo construído não apresenta contradições com os aspectos da realidade sendo apresentada; – epistemologia = estudo da teoria do conhecimento e metodologia, natureza do conhecimento. Na IA estuda-se os tipos de fatos disponíveis sobre o mundo, como podem ser representadas em computador e que regras permitem a derivação de conclusões legítimas a partir deles; – heurística= processo de raciocínio (caminhos) necessários para solução de problemas; 13 • a representação do conhecimento respeita uma semântica formal, a qual é expressa através de um sistema de símbolos físicos: – um sistema de símbolos físicos é composto por símbolos, expressões (instâncias de símbolos) e processos sobre expressões que permitem a modificação, criação, reprodução e destruição de expressões. Pode ser vista como uma máquina que produz, no tempo, uma coleção progressiva de estruturas de símbolos (representação do conhecimento); – a semântica é o relacionamento entre o mundo real e a representação formal do conhecimento; 14 • Em 1982, foi criada por Brian Smith a Hipótese de Representação de Conhecimento , qualquer processo inteligente realizado por uma máquina, será formado por ingredientes estruturais que : serão naturalmente percebido pelos observadores externos como uma descrição proposicional do conhecimento exibido pelo processo, e independentemente de tal atribuição semântica externa, terão um papel formal, causal e essencial na geração do comportamento que manifesta tal conhecimento; 15 – Representação declarativa do conhecimento baseado na lógica; – utilização de uma máquina de inferência para obtenção de conseqüências explícitas das sentenças lógicas ( + conhecimento); • com o desenvolvimento de alguns sistemas de IA percebeu-se que não pode existir uma generalização( padronização) dos programas: – constatou-se que grande parte do conhecimento necessário para solucionar os problemas é especifico ao domínio da aplicação, sendo difícil a construção de programas gerais 16 eficientes; • Hipótese de Reflexão: a representação do conhecimento conta com o conhecimento declarativo, o mecanismo interpretador e a capacidade de introspeção ( conhece sobre si mesmo e seu raciocínio - metaconhecimento); Sistemas de Representação de Conhecimento • um bom sistema deve possuir: – adequação representacional: capacidade de representar os tipos de conhecimento necessários ao domínio; – adequação inferencial ( capacidade de manipular as estruturas de forma a derivar novas, a partir de conhecimentos antigos; 17 – Eficácia inferencial: capacidade de agregar informações adicionais à estrutura de conhecimento existente, para direcionar os mecanismos de inferência para direções mais promissoras; – eficácia aquisitiva: capacidade de acomodar facilmente novas informações na base de conhecimento; • até então não foi desenvolvida um sistema que otimize todas estas técnicas para representação de todos os tipos de conhecimento.; • não existe uma métrica formal para medir qual esquema de representação é mais adequado a um determinado problema; 18 • Existem três abordagem para representação do conhecimento: – declarativa ou lógica; – procedimental; – estrutural; Representação Declarativa – conhecimento: • descrito através de fatos postulados como verdadeiros; • conjunto de procedimentos para manipulá-los; – base de conhecimento vista como uma teoria ou um conjunto de teoremas numa teoria; – semântica bem definida (raciocínio monotônico); 19 – Conhecimento especificado sem fornecer o uso que será feito dele = aspectos estáticos; – exemplo: • esquema de representação lógica e redes semânticas; Representação Procedimental – conhecimento: • descrito através de procedimentos para sua utilização; • representação de conhecimento a respeito do comportamento da aplicação; – sabe “como” utilizar o conhecimento: • fatos relevantes; • aplicação otimizada das inferências( heurísticas específicas de acordo com o domínio da aplicação); – facilidade de codificação; 20 – Entendimento do processo de raciocínio; – exemplo: • regras de produção; Representação Estrutural – conhecimento: • descrito com objetos e relações sobre as entidade a serem modeladas; • conceitos, hierarquias, classes, instâncias; – base de conhecimento = coleção de objetos e suas relações; – enfatiza aspecto estrutural ( organizacional) do domínio; – utilizado em raciocínio por analogia, estatístico; 21 – exemplo:frames e scripts; • Além do sistema de representação do conhecimento escolhido é necessário informações sobre o escopo e a granularidade, ou seja, “ qual porção do mundo externo pode ser representada no sistema!!” e “ em que nível de detalhes!!”; – estas questões são facilmente respondidas, mas dependem totalmente da aplicação particular que será implementada; – granularidade de um sistema = performance desejada, ou seja, “tudo que o sistema deve conhecer pode ser representado com este esquema de representação de conhecimento!!” 22 • Fatores para a seleção de um esquema de Representação de Conhecimento : – Se existir um formato natural de representação do conhecimento utilizado por especialista, no domínio específico da aplicação, utilize-o ( o formato-pré-codificado torna mais rápida a construção de bases de conhecimento, pois não é necessária uma transformação para armazenar o conhecimento; – selecione a representação de conhecimento que possa produzir resultados que melhor refletem o tipo de inferências que normalmente será feito no problema específico; – dependência das inferências; 23 Raciocínio • O processo de raciocínio associado a determinado esquema de representação de conhecimento permite que se chegue a conclusões adequadas a partir do conhecimento e de regras gerais disponíveis; • raciocínio = processo pelo qual, através de proposições conhecidas, se chega a outras proposições a que se atribuem graus variados de verdade: – tirar conclusões a partir de um conjunto de fatos; 24 – diagnosticar causas possíveis para uma condição; – gerar hipóteses acerca de uma situação; – analisar os fatos e os dados de um problema; – demonstrar um teorema; – resolver um problema; – argumentar; • em IA existem dois tipos de raciocínio: monotônico e não-monotônico: • Monotônico: – lida com o conhecimento certo, baseado em lógicas clássicas, caracterizado por: 25 • os fatos necessários à solução de um problema estão presentes no sistema ou podem ser deriváveis dos fatos presentes através do uso dos axiomas e regras de inferência da lógica de primeira ordem; • os fatos ( e sua representação) são consistentes; • a medida que novos fatos se tornam disponíveis, se eles forem consistentes com todos os outros já definidos, nenhum dos fatos existentes será alterado; – não existe mecanismo de revisão de crenças, o sistema aumenta seu estoque de verdade a medida que o conhecimento é acrescentado e inferências são realizadas; • Não-monotônico: – raciocínio derrotável; 26 – uma inferência não-monotônica pode ser invalidada (derrotada) pela adição de novas informações que violem suposições feitas durante o processo de raciocínio original; – quando um fato novo é acrescentado à base ou um fato é removido, podem ocorre contradições entre os fatos existentes, sendo necessário um mecanismo para lidar com tais conflitos; 27 Raciocínios considerados não-monotônicos: – Raciocínio default: • permite tirar conclusões baseado naquilo que tem mais chance de ser verdadeiro, na ausência de informação contrária; • utiliza expressões válidas em geral, mas é capaz de identificar exceções; • exemplo: sabemos que Tweety é um pássaro, temos evidência (não-conclusiva) de que ele pode voar. Então concluímos que ele voa, pois não temos nenhuma informação contrária. Posteriormente, ao descobrirmos que Tweety é um pinguim, podemos rever nossa posição e concluir que ele não pode voar; – Raciocínio minimalista: • idéia de que se algo é verdadeiro e relevante, faz sentido assumir que foi inserido na base de conhecimento ou pode ser derivado a partir dela; 28 – Abdução: • tipo de raciocínio formal em que dadas duas fbf, (A B ) e (B), assumir A, se for consistente; • esta conclusão não se obtém através das regras de lógica de primeira ordem, e pode estar errada , mas na falta de outra informação pode representar o melhor palpite; Processos de raciocínio • divididos em: – – – – – formal; procedimental; analógico; por abstração e generalização; meta-nível; 29 • Raciocínio Formal: – manipulação sintática de estruturas de dados visando obter novas estruturas a partir de regras de inferências pré-definidas; – aplicado em esquemas de representação de conhecimento baseados em lógica, ou seja, sistema de representação declarativo; – processos de dedução, indução e abdução são tipos de raciocínio formal sendo a dedução a única formalmente correta, pois os outros processos de acordo com o domínio da aplicação podem produzir resultados inválidos (informações insuficientes); 30 – Raciocínio Dedutivo:conclui-se novos fatos através de inferências baseadas em uma teoria formal que descreve o domínio da aplicação; • teoria formal = axiomas e regras, que representam o conhecimento prévio; • o sistema raciocina por inferência dedutiva; • e aumenta seu conhecimento aplicando regras de inferência no conhecimento inicial; • tipos de inferência utilizados: modus ponens, modus tollens, silogismo hipotético, especialização, generalização e resolução; – Raciocínio Indutivo:de acordo com um conjunto de exemplos ou dados particulares, o sistema procura inferir conceitos ou leis gerais 31 (generalizar a partir de fatos simples); • Utilizado em aprendizagem de máquina; • exemplo: a partir da existência de um conjunto grande de corvos, todos eles negros, é razoável supor que todos os corvos são negros; – Raciocínio por Abdução: raciocínio a partir dos efeitos para as possíveis causas: • assim, de um determinado efeito surge uma causa, na falta de informação contrária, é razoável supor que o efeito foi gerado pela causa sugerida; • exemplo: se sabemos que “ se local da cultura for sangue, a morfologia do organismo for bastonete, a mancha gram do organismo for gram-positiva e o doente está em perigo então a identidade do organismo (CAUSADOR DA INFECÇÃO) é Pseudomonas-aeruginosa” e desejando provar que o causador da infecção é a bactéria Pseudomonas -aeruginosa, admitimos, por hipótese, que seja ela ( talvez por falta de outras alternativas). 32 • Este raciocínio é geralmente utilizado em sistemas especialistas; – o raciocínio de senso comum é de natureza dedutiva; • Raciocínio Procedimental: – usa simulação para responder questões e resolver problemas; – representação procedimental do conhecimento,; – utilizado quando temos um algoritmo para resolução do problema; – representa micromundos, (SMA); – utilizado par representar propriedades matemáticas e suas relações espaciais, objetos 33 físicos; • Raciocínio Analógico: – analogia = mapeamento entre elementos de um domínio fonte em um domínio alvo; – processo que determina relações entre dois domínios, adaptando e aplicando o conhecimento num domínio, em tarefas semelhantes, em outro domínio; – de difícil representação par a IA; – utilizado em demonstração de teoremas, e em representações de conhecimento analógicas como: mapas, modelos, diagramas, imagens,... • Raciocínio por Abstração e Generalização: – geração de conceitos mais amplos (classe); 34 – A partir de exemplo típicos ( generalização de informações) e de contra-exemplos (especialização) chegamos a conclusões; – exemplo: mundos dos blocos; • é natural acreditar que, sabendo que “canários tem asas” , “bem-te-vis tem asas” e “sabiás tem asas”, acreditar que todos os pássaros tem asas; • falta de detalhes para implementação; – utilizado em aprendizagem de máquina e micromundos; • Raciocínio meta-nível: – baseado em metaconhecimento (utilidade e disponibilidade do conhecimento sobre o domínio da aplicação); 35