Representação de conhecimento e raciocínio

Representação do conhecimento e raciocínio (KR, KR², KR & R) é o campo da inteligência artificial (IA) dedicada a representar informações sobre o mundo de uma forma que um sistema de computador pode utilizar para resolver tarefas complexas como diagnosticar uma condição médica ou ter um diálogo em uma linguagem natural. A representação do conhecimento incorpora descobertas da psicologia sobre como os seres humanos resolvem problemas e representam o conhecimento a fim de projetar formalismos que tornem sistemas complexos mais fáceis de projetar e construir. A representação e o raciocínio do conhecimento também incorporam descobertas da lógica para automatizar vários tipos de raciocínio, como a aplicação de regras ou as relações de conjuntos e subconjuntos.

Exemplos de formalismos de representação de conhecimento incluem redes semânticas, arquitetura de sistemas, quadros, regras e ontologias. Exemplos de mecanismos de raciocínio automatizado incluem mecanismos de inferência, provadores de teoremas e classificadores.

A série de conferências KR foi criada para compartilhar idéias e progresso nesse campo desafiador.

História
O primeiro trabalho em representação informatizada do conhecimento foi focado em solucionadores de problemas gerais, como o sistema General Problem Solver (GPS) desenvolvido por Allen Newell e Herbert A. Simon em 1959. Esses sistemas apresentavam estruturas de dados para planejamento e decomposição. O sistema começaria com um objetivo. Em seguida, ele iria decompor esse objetivo em sub-objetivos e, em seguida, partiu para construir estratégias que poderiam realizar cada subobjetivo.

Nestes primeiros dias de IA, algoritmos gerais de busca como A * também foram desenvolvidos. No entanto, as definições de problemas amorfos para sistemas como GPS significavam que elas funcionavam apenas para domínios de brinquedos muito restritos (por exemplo, o “mundo dos blocos”). Para lidar com problemas não relacionados a brinquedos, pesquisadores da inteligência artificial, como Ed Feigenbaum e Frederick Hayes-Roth, perceberam que era necessário concentrar os sistemas em problemas mais restritos.

Foi o fracasso desses esforços que levou à revolução cognitiva na psicologia e à fase da IA ​​focada na representação do conhecimento que resultou em sistemas especialistas nas décadas de 1970 e 1980, sistemas de produção, linguagens de quadro, etc. Em vez de solucionadores de problemas em geral, A AI mudou seu foco para sistemas especialistas que poderiam combinar a competência humana em uma tarefa específica, como o diagnóstico médico.

Sistemas especialistas nos deram a terminologia ainda em uso hoje, onde os sistemas de IA são divididos em uma Base de Conhecimento com fatos sobre o mundo e regras e um mecanismo de inferência que aplica as regras à base de conhecimento para responder perguntas e resolver problemas. Nesses sistemas iniciais, a base de conhecimento tendia a ser uma estrutura razoavelmente plana, essencialmente afirmações sobre os valores das variáveis ​​usadas pelas regras.

Além de sistemas especialistas, outros pesquisadores desenvolveram o conceito de linguagens baseadas em quadros em meados dos anos 80. Um quadro é semelhante a uma classe de objeto: é uma descrição abstrata de uma categoria que descreve as coisas do mundo, os problemas e as possíveis soluções. Os quadros foram originalmente usados ​​em sistemas voltados para a interação humana, por exemplo, compreendendo a linguagem natural e os ambientes sociais nos quais várias expectativas padrão, como encomendar comida em um restaurante, restringem o espaço de busca e permitem ao sistema escolher respostas apropriadas para situações dinâmicas.

Não demorou muito para que as comunidades de quadros e os pesquisadores baseados em regras percebessem que havia sinergia entre suas abordagens. Os quadros eram bons para representar o mundo real, descritos como classes, subclasses, slots (valores de dados) com várias restrições em valores possíveis. As regras eram boas para representar e utilizar lógica complexa, como o processo para fazer um diagnóstico médico. Sistemas integrados foram desenvolvidos combinando Frames e Rules. Um dos mais poderosos e conhecidos foi o Knowledge Engineering Environment (KEE) de 1983 da Intellicorp. KEE tinha um mecanismo de regras completo com encadeamento para frente e para trás. Ele também tinha uma base de conhecimento completa baseada em quadros com gatilhos, slots (valores de dados), herança e passagem de mensagens. Embora a transmissão de mensagens tenha se originado na comunidade orientada a objetos, e não na IA, ela foi rapidamente adotada por pesquisadores da AI, bem como em ambientes como o KEE e nos sistemas operacionais das máquinas Lisp da Symbolics, Xerox e Texas Instruments.

A integração de quadros, regras e programação orientada a objetos foi significativamente impulsionada por empreendimentos comerciais, como a KEE e a Symbolics, desmembrados de vários projetos de pesquisa. Ao mesmo tempo em que isso ocorria, havia outra linha de pesquisa menos focada comercialmente e impulsionada pela lógica matemática e pela demonstração automatizada de teoremas. Uma das línguas mais influentes nesta pesquisa foi a linguagem KL-ONE de meados dos anos 80. O KL-ONE era uma linguagem de quadros que tinha uma semântica rigorosa, definições formais para conceitos como uma relação Is-A. O KL-ONE e as linguagens influenciadas por ele, como o Loom, tinham um mecanismo de raciocínio automatizado baseado na lógica formal e não nas regras IF-THEN. Esse raciocinador é chamado de classificador. Um classificador pode analisar um conjunto de declarações e inferir novas asserções, por exemplo, redefinir uma classe para ser uma subclasse ou superclasse de alguma outra classe que não foi formalmente especificada. Dessa maneira, o classificador pode funcionar como um mecanismo de inferência, deduzindo novos fatos de uma base de conhecimento existente. O classificador também pode fornecer verificação de consistência em uma base de conhecimento (que, no caso das linguagens KL-ONE, também é chamada de Ontologia).

Outra área de pesquisa de representação do conhecimento foi o problema do raciocínio do senso comum. Uma das primeiras realizações aprendidas ao tentar criar software que possa funcionar com a linguagem natural humana foi que os humanos recorrem regularmente a uma extensa base de conhecimento sobre o mundo real, que simplesmente tomamos como certo, mas que não é de todo óbvio para um agente artificial. . Princípios básicos da física do senso comum, causalidade, intenções, etc. Um exemplo é o problema do quadro, que em uma lógica orientada a eventos precisa haver axiomas que afirmam que as coisas mantêm a posição de um momento para o outro a menos que sejam movidas por alguma força externa . Para criar um verdadeiro agente de inteligência artificial que possa conversar com humanos usando linguagem natural e processar afirmações e perguntas básicas sobre o mundo, é essencial representar esse tipo de conhecimento. Um dos programas mais ambiciosos para resolver este problema foi o projeto Cyc de Doug Lenat. A Cyc estabeleceu sua própria linguagem Frame e teve um grande número de analistas documentando várias áreas do raciocínio de senso comum nesse idioma. O conhecimento registrado na Cyc incluía modelos de senso comum de tempo, causalidade, física, intenções e muitos outros.

O ponto de partida para a representação do conhecimento é a hipótese da representação do conhecimento formalizada pela primeira vez por Brian C. Smith em 1985:

Qualquer processo inteligente mecanicamente corporificado será composto de ingredientes estruturais que a) nós, como observadores externos, tomamos naturalmente para representar uma explicação proposicional do conhecimento que o processo global exibe, eb) independente de tal atribuição semântica externa, desempenham um papel formal, mas causal e papel essencial em engendrar o comportamento que manifesta esse conhecimento.

Atualmente, uma das áreas mais ativas da pesquisa de representação do conhecimento são projetos associados à web semântica. A web semântica procura adicionar uma camada de semântica (significado) no topo da Internet atual. Em vez de indexar sites e páginas por meio de palavras-chave, a Web semântica cria ontologias grandes de conceitos. A pesquisa por um conceito será mais eficaz do que as pesquisas de texto tradicional. As linguagens de quadros e a classificação automática desempenham um papel importante na visão da futura web semântica. A classificação automática fornece aos desenvolvedores tecnologia para fornecer ordem em uma rede de conhecimento em constante evolução. Definir ontologias que são estáticas e incapazes de evoluir rapidamente seria muito limitante para sistemas baseados na Internet. A tecnologia de classificação fornece a capacidade de lidar com o ambiente dinâmico da Internet.

Projetos recentes financiados principalmente pela Agência de Projetos de Pesquisa Avançada de Defesa (DARPA) integraram linguagens de quadro e classificadores com linguagens de marcação baseadas em XML. O Resource Description Framework (RDF) fornece o recurso básico para definir classes, subclasses e propriedades de objetos. O OWL (Web Ontology Language) fornece níveis adicionais de semântica e permite a integração com mecanismos de classificação.

visão global
A representação de conhecimento é o campo da inteligência artificial que se concentra em projetar representações computacionais que capturam informações sobre o mundo que podem ser usadas para resolver problemas complexos.

A justificativa para a representação do conhecimento é que o código processual convencional não é o melhor formalismo a ser usado para resolver problemas complexos. A representação de conhecimento torna o software complexo mais fácil de definir e manter do que o código de procedimento e pode ser usado em sistemas especialistas.

Por exemplo, falar com especialistas em termos de regras de negócios em vez de código diminui a lacuna semântica entre usuários e desenvolvedores e torna o desenvolvimento de sistemas complexos mais prático.

A representação de conhecimento anda de mãos dadas com o raciocínio automatizado porque um dos principais propósitos de representar explicitamente o conhecimento é poder raciocinar sobre esse conhecimento, fazer inferências, afirmar novos conhecimentos, etc. Virtualmente todas as linguagens de representação de conhecimento têm um mecanismo de raciocínio ou inferência como parte do sistema.

Um trade-off fundamental no projeto de um formalismo de representação do conhecimento é aquele entre a expressividade e a praticidade. O formalismo de representação do conhecimento final em termos de poder expressivo e compacidade é a lógica de primeira ordem (FOL). Não há formalismo mais poderoso do que aquele usado pelos matemáticos para definir proposições gerais sobre o mundo. No entanto, a FOL tem duas desvantagens como formalismo de representação do conhecimento: facilidade de uso e praticidade de implementação. A lógica de primeira ordem pode ser intimidante até mesmo para muitos desenvolvedores de software. As linguagens que não têm o poder formal completo do FOL ainda podem fornecer quase o mesmo poder expressivo com uma interface de usuário que é mais prática para o desenvolvedor médio entender. A questão da praticidade da implementação é que, de certa forma, a FOL é muito expressiva. Com o FOL, é possível criar instruções (por exemplo, quantificação através de conjuntos infinitos) que poderiam fazer com que um sistema nunca terminasse se tentasse verificá-las.

Assim, um subconjunto do FOL pode ser mais fácil de usar e mais prático de implementar. Esta foi uma motivação motriz por trás de sistemas especialistas baseados em regras. As regras IF-THEN fornecem um subconjunto de FOL, mas muito útil, que também é muito intuitivo. A história da maioria dos primeiros formalismos de representação do conhecimento de IA; desde bancos de dados a redes semânticas, até provadores de teoremas e sistemas de produção podem ser vistos como várias decisões de projeto sobre enfatizar poder expressivo ou computabilidade e eficiência.

Em um importante artigo de 1993 sobre o tema, Randall Davis, do MIT, delineou cinco papéis distintos para analisar uma estrutura de representação do conhecimento:

Uma representação do conhecimento (KR) é fundamentalmente um substituto, um substituto para a coisa em si, usada para permitir que uma entidade determine as consequências pensando em vez de agir, ou seja, raciocinando sobre o mundo em vez de agir nele.
É um conjunto de compromissos ontológicos, isto é, uma resposta à questão: em que termos devo pensar sobre o mundo?
É uma teoria fragmentária do raciocínio inteligente, expressa em termos de três componentes: (i) a concepção fundamental da representação do raciocínio inteligente; (ii) o conjunto de inferências a representação sanciona; e (iii) o conjunto de inferências que ele recomenda.
É um meio para computação pragmaticamente eficiente, isto é, o ambiente computacional no qual o pensamento é realizado. Uma contribuição para essa eficiência pragmática é fornecida pela orientação que uma representação fornece para organizar informações de modo a facilitar a realização das inferências recomendadas.
É um meio de expressão humana, isto é, uma linguagem em que dizemos coisas sobre o mundo.

A representação e o raciocínio do conhecimento são uma tecnologia fundamental para a Web Semântica. Idiomas baseados no modelo Frame com classificação automática fornecem uma camada de semântica sobre a Internet existente. Em vez de pesquisar por strings de texto como é comum hoje em dia, será possível definir consultas lógicas e localizar páginas que mapeiem essas consultas. O componente de raciocínio automatizado nesses sistemas é um mecanismo conhecido como classificador. Classificadores enfocam as relações de subsunção em uma base de conhecimento em vez de regras. Um classificador pode inferir novas classes e alterar dinamicamente a ontologia à medida que novas informações se tornam disponíveis. Essa capacidade é ideal para o espaço de informações em constante mudança e evolução da Internet.

A Web Semântica integra conceitos da representação e raciocínio do conhecimento com linguagens de marcação baseadas em XML. O Resource Description Framework (RDF) fornece os recursos básicos para definir objetos baseados em conhecimento na Internet com recursos básicos, como relações Is-A e propriedades de objetos. A Linguagem de Ontologia da Web (OWL) acrescenta semântica adicional e integra-se com os raciocinadores automáticos de classificação.

Características
Em 1985, Ron Brachman categorizou as questões centrais da representação do conhecimento da seguinte forma:

Primitivos. Qual é o quadro subjacente usado para representar o conhecimento? As redes semânticas foram uma das primeiras primitivas de representação do conhecimento. Além disso, estruturas de dados e algoritmos para pesquisa rápida geral. Nesta área, há uma forte sobreposição com a pesquisa em estruturas de dados e algoritmos em ciência da computação. Nos primeiros sistemas, a linguagem de programação Lisp, que foi modelada após o cálculo lambda, era frequentemente usada como uma forma de representação do conhecimento funcional. Quadros e Regras eram o próximo tipo de primitivo. As linguagens de quadros tinham vários mecanismos para expressar e impor restrições nos dados de quadros. Todos os dados em quadros são armazenados em slots. Os slots são análogos às relações na modelagem de relações de entidades e às propriedades de objetos na modelagem orientada a objetos. Outra técnica para primitivos é definir idiomas que são modelados após lógica de primeira ordem (FOL). O exemplo mais conhecido é o Prolog, mas também existem muitos ambientes de demonstração de teoremas de propósito especial. Esses ambientes podem validar modelos lógicos e podem deduzir novas teorias de modelos existentes. Essencialmente, eles automatizam o processo pelo qual um lógico passaria analisando um modelo. A tecnologia de demonstração de teoremas tinha algumas aplicações práticas específicas nas áreas de engenharia de software. Por exemplo, é possível provar que um programa de software adere rigidamente a uma especificação lógica formal.

Meta-representação Isso também é conhecido como a questão da reflexão na ciência da computação. Refere-se à capacidade de um formalismo para ter acesso a informações sobre seu próprio estado. Um exemplo seria o protocolo de meta-objeto em Smalltalk e CLOS que fornece aos desenvolvedores acesso em tempo de execução aos objetos de classe e permite que eles redefinam dinamicamente a estrutura da base de conhecimento, mesmo em tempo de execução. Meta-representação significa que a linguagem da representação do conhecimento é ela própria expressa nessa linguagem. Por exemplo, na maioria dos ambientes baseados em quadros, todos os quadros seriam instâncias de uma classe de quadros. Esse objeto de classe pode ser inspecionado em tempo de execução, para que o objeto possa entender e até mesmo alterar sua estrutura interna ou a estrutura de outras partes do modelo. Em ambientes baseados em regras, as regras também eram geralmente instâncias de classes de regras. Parte do protocolo meta para regras eram as regras meta que priorizavam o disparo de regras.

Incompletude. A lógica tradicional requer axiomas e restrições adicionais para lidar com o mundo real em oposição ao mundo da matemática. Além disso, muitas vezes é útil associar graus de confiança a uma declaração. Ou seja, não basta dizer “Sócrates é humano”, mas “Sócrates é humano com confiança de 50%”. Essa foi uma das primeiras inovações da pesquisa de sistemas especialistas que migrou para algumas ferramentas comerciais, a capacidade de associar fatores de certeza a regras e conclusões. Pesquisas posteriores nesta área são conhecidas como lógica fuzzy.

Definições e universais versus fatos e inadimplências. Universais são declarações gerais sobre o mundo, como “Todos os seres humanos são mortais”. Fatos são exemplos específicos de universais como “Sócrates é um humano e, portanto, mortal”. Em termos lógicos, definições e universais são sobre quantificação universal, enquanto fatos e padrões são sobre quantificações existenciais. Todas as formas de representação do conhecimento devem lidar com esse aspecto e a maioria faz isso com alguma variante da teoria dos conjuntos, modelando universais como conjuntos e subconjuntos e definições como elementos nesses conjuntos.

Raciocínio não monotônico. O raciocínio não monotônico permite vários tipos de raciocínio hipotético. O sistema associa fatos afirmados com as regras e fatos usados ​​para justificá-los e, como esses fatos alteram as atualizações, o conhecimento dependente também. Em sistemas baseados em regras, essa capacidade é conhecida como um sistema de manutenção de verdade.

Adequação expressiva. O padrão que Brachman e a maioria dos pesquisadores usam para medir a adequação expressiva é geralmente a lógica de primeira ordem (FOL). Limitações teóricas significam que uma implementação completa de FOL não é prática. Os pesquisadores devem ter clareza sobre quão expressivos (quanto do poder expressivo total de FOL) pretendem que sua representação seja.

Eficiência do raciocínio. Isso se refere à eficiência do tempo de execução do sistema. A capacidade da base de conhecimento para ser atualizada e o raciocinador para desenvolver novas inferências em um período de tempo razoável. De certa forma, esse é o outro lado da adequação expressiva. Em geral, quanto mais poderosa for uma representação, mais ela terá expressiva adequação, menos eficiente será seu mecanismo de raciocínio automatizado. A eficiência costumava ser um problema, especialmente para as primeiras aplicações da tecnologia de representação de conhecimento. Eles geralmente eram implementados em ambientes interpretados como o Lisp, que eram lentos em comparação com as plataformas mais tradicionais da época.

Formalização do conhecimento
Ferramentas mais formais para representar conhecimento complexo são, por exemplo, gráficos conceituais ou redes semânticas.

No campo das novas tecnologias, a representação formal do conhecimento desenvolveu-se no campo da inteligência artificial. Em uma representação formal, o conhecimento é representado por objetos lógicos conectados por propriedades, axiomas e regras. Esse tipo de representação é usado em sistemas especialistas.

O desenvolvimento da Web, e em particular a perspectiva da Web Semântica, renovou o domínio ao introduzir o controverso termo da ontologia. Várias linguagens foram desenvolvidas nesta perspectiva, como padrão RDFS, SKOS e OWL do W3C ou ISO Standard Topic Maps.

Técnicas de representação do conhecimento
Existem diferentes sistemas de ordenação e representação de conhecimento. Aproximadamente ordenados de acordo com o grau de seu poder, estes são:

Catálogo, Glossário, Taxonomia (Vocabulário Controlado Simples),
Classificação, Thesaurus (número limitado de relações geralmente sem relação de herança),
Rede semântica, ontologia, frames, regras de produção,
Axiom sistema, lógica de predicado bem
redes semânticas estendidas multicamadas (MultiNet).
Se não houver representação formal ou possível, outros métodos devem ser encontrados para mediar, por exemplo, no campo da visualização da informação.

Critérios para a qualidade da representação
Critérios importantes para a escolha de um sistema de representação de conhecimento são:

Correção
Como garantir a sintaxe correta e semântica correta?

Adequação / expressividade / espessura
A linguagem representa os componentes da ontologia exigidos de forma clara e flexível o suficiente?

Eficiência
Quão eficientemente podemos concluir?

Complexidade
Quão íngreme é a curva de aprendizado para mapeamento de conhecimento e recuperação de conhecimento?

Translabilidade para outros formatos de sintaxe ou idiomas

Ligações entre conhecimento e raciocínio
A representação formal do conhecimento (ou crenças) torna possível automatizar vários tratamentos sobre essas informações. Este é um dos campos de pesquisa da inteligência artificial simbólica: a simulação do raciocínio “inteligente” baseado na informação.

Um dos quadros formais mais utilizados é a lógica proposicional. De fato, um grande número de problemas pode ser resolvido por meio de uma codificação lógica proposicional e o uso de técnicas algorítmicas desenvolvidas no contexto de pesquisas sobre o problema do SAT. Por exemplo, vários jogos podem ser codificados como uma fórmula proposicional.

Outras estruturas formais permitem representar informações que apresentam uma estrutura particular, como sistemas de argumentação, redes bayesianas ou lógica possibilística.

Um grande número de tipos de raciocínio humano foi modelado, incluindo inferência (pode-se derivar, por exemplo, conseqüências de uma base de conhecimento) ou dinâmica de crenças (revisão, contração e expansão da estrutura AGM).

Engenharia de Ontologia
Nos primeiros anos de sistemas baseados em conhecimento, as bases de conhecimento eram relativamente pequenas. As bases de conhecimento que realmente deveriam resolver problemas reais, em vez de demonstrações de demonstração de conceito, precisavam se concentrar em problemas bem definidos. Assim, por exemplo, não apenas o diagnóstico médico como um tópico inteiro, mas o diagnóstico médico de certos tipos de doenças.

À medida que a tecnologia baseada no conhecimento era ampliada, a necessidade de bases de conhecimento maiores e de bases de conhecimento modulares que pudessem se comunicar e integrar umas com as outras se tornou aparente. Isso deu origem à disciplina de engenharia de ontologia, projetando e construindo grandes bases de conhecimento que poderiam ser usadas por múltiplos projetos. Um dos principais projetos de pesquisa nessa área foi o projeto Cyc. Cyc foi uma tentativa de construir uma enorme base de conhecimento enciclopédico que conteria não apenas conhecimento especializado, mas também conhecimento do senso comum. Ao projetar um agente de inteligência artificial, logo se percebeu que representar o conhecimento do senso comum, conhecimento que os humanos simplesmente tomam como garantido, era essencial para criar uma IA que pudesse interagir com humanos usando linguagem natural. Cyc foi concebido para resolver este problema. A linguagem que eles definiram era conhecida como CycL.

Depois do CycL, várias linguagens de ontologia foram desenvolvidas. A maioria são linguagens declarativas e são linguagens de quadro ou baseadas em lógica de primeira ordem. A modularidade – a capacidade de definir limites em torno de domínios específicos e espaços problemáticos – é essencial para essas línguas, porque, como afirmou Tom Gruber, “Toda ontologia é um tratado – um acordo social entre pessoas com motivos comuns de compartilhamento”. Há sempre muitas visões concorrentes e diferentes que tornam qualquer ontologia de propósito geral impossível. Uma ontologia de propósito geral teria que ser aplicável em qualquer domínio e diferentes áreas do conhecimento precisam ser unificadas.

Há uma longa história de trabalho tentando construir ontologias para uma variedade de domínios de tarefas, por exemplo, uma ontologia para líquidos, o modelo de elementos agrupados amplamente utilizado na representação de circuitos eletrônicos (por exemplo), bem como ontologias de tempo, crença e mesmo programando-se. Cada um deles oferece uma maneira de ver uma parte do mundo.

O modelo de elementos agrupados, por exemplo, sugere que pensemos em circuitos em termos de componentes com conexões entre eles, com sinais fluindo instantaneamente ao longo das conexões. Esta é uma visão útil, mas não a única possível. Uma ontologia diferente surge se precisarmos atender à eletrodinâmica no dispositivo: aqui os sinais se propagam a uma velocidade finita e um objeto (como um resistor) que anteriormente era visto como um único componente com um comportamento de E / S agora precisa ser pensado como um meio estendido através do qual uma onda eletromagnética flui.

As ontologias podem, é claro, ser escritas em uma ampla variedade de linguagens e notações (por exemplo, lógica, LISP, etc.); a informação essencial não é a forma dessa linguagem, mas o conteúdo, isto é, o conjunto de conceitos oferecidos como forma de pensar o mundo. Simplificando, a parte importante é noções como conexões e componentes, não a escolha entre escrevê-los como predicados ou construções LISP.

O compromisso feito ao selecionar uma ou outra ontologia pode produzir uma visão nitidamente diferente da tarefa em questão. Considere a diferença que surge ao selecionar a vista do elemento agrupado de um circuito em vez da vista eletrodinâmica do mesmo dispositivo. Como um segundo exemplo, o diagnóstico médico visto em termos de regras (por exemplo, MYCIN) parece substancialmente diferente da mesma tarefa vista em termos de quadros (por exemplo, INTERNIST). Onde MYCIN vê o mundo médico como composto de associações empíricas conectando sintoma a doença, o INTERNIST vê um conjunto de protótipos, em particular doenças prototípicas, para ser comparado com o caso em questão.