Baixe o app para aproveitar ainda mais
Prévia do material em texto
- -1 INTELIGÊNCIA ARTIFICIAL APLICADA A JOGOS DIGITAIS SISTEMAS BASEADOS EM CONHECIMENTO E SISTEMAS ESPECIALISTAS - -2 Olá! Nesta aula, você irá: 1. Estudar os sistemas baseados em conhecimento (SBCs) e os sistemas especialistas. 2. Conhecer exemplos de SBCs. 3. Compreender detalhes da programação de SBCs. 1 Humanos vs máquinas O conhecimento é um requisito indispensável na resolução de problemas complexos e específicos. Existem problemas em que nós, humanos, somos mais bem sucedidos do que as máquinas. Para que as máquinas resolvam problemas desse tipo, elas devem ter o conhecimento que nós temos para resolvê-los. As máquinas são melhores que os seres humanos em relação à velocidade e consistência que executam certas tarefas, mas para que as máquinas executem tarefas para as quais o ser humano é melhor, devemos fornecer a elas um conhecimento especializado, comparável ao que um especialista humano possui. 2 Sistemas baseados em conhecimento Um sistema baseado em conhecimento (SBC) é um programa de computador que usa conhecimento representado explicitamente para resolver problemas. Os SBCs são desenvolvidos para resolver problemas que requerem uma quantidade razoável de conhecimento humano e especialização. - -3 3 Sistemas especialistas Um sistema especialista (SE) é um tipo de sistema baseado em conhecimento especialmente projetado para emular a especialização humana de algum domínio específico. Um SE irá possuir uma base de conhecimento formada de fatos e regras sobre o domínio, tal como um especialista humano faria. Os Sistemas Especialistas (SEs) devem ser capazes de oferecer sugestões e conselhos aos usuários, no nível comparável ao de especialistas naquela área. Essa habilidade de explicação é especialmente necessária em domínios incertos (tal como no diagnóstico médico), para aumentar a confiabilidade do usuário, no conselho fornecido pelo sistema, ou mesmo, para permitir o usuário detectar algum possível problema no raciocínio do sistema. Podemos, então, afirmar que todo sistema especialista é, em sua essência, um sistema baseado em conhecimento, enquanto que a recíproca nem sempre é verdadeira, uma vez que podemos ter programas dentro do escopo de IA que apresentem essa estrutura de conhecimento, mas não podem ser considerados sistemas especialistas. SEs Aplicam conhecimento especializado em problemas difíceis existentes, sendo capazes de explicar seu comportamento. SBCs Tornam o domínio de conhecimento explícito e separado de outras partes do sistema. Aplicativos de IA Exibem comportamento inteligente pela aplicação hábil de heurísticas. - -4 Para que um SBC tenha desempenho similar a um especialista humano, ele deve: • Possuir grande quantidade de conhecimento disponível. • Acessar esse conhecimento rapidamente. • Ser capaz de raciocinar adequadamente com esse conhecimento. Adicionalmente, um SE deve ter uma capacidade amigável de interação humano-computador que torna o raciocínio do sistema transparente ao usuário. 4 Arquitetura de um SBC A arquitetura de um SBC é composta de: • Base de Conhecimento. • Área/memória de Trabalho. • Mecanismo/motor de Inferência. • Interface com usuário. Módulo de aquisição de dados. Módulo de Explicações. • • • • • • • - -5 Base de conhecimento Contém informações necessárias, para solucionar problemas em um domínio específico, no nível de um especialista. Possui um conjunto de sentenças expressas em uma linguagem de representação do conhecimento (vide capítulo 3), que modelam o problema que se deseja resolver. As linguagens de representação do conhecimento baseiam-se em diferentes técnicas de representação, tais como as redes semânticas, fremes e lógica. Área de trabalho Armazena fatos deduzidos a respeito do problema corrente. Ela é atualizada sempre que novas informações tornam-se disponíveis. A área de trabalho é urna memória temporária e tem seu conteúdo geralmente descartado após a execução. Mecanismo de inferência É o cérebro do sistema, sendo capaz de realizar inferências sobre a base de conhecimento e obter conclusões. Aplica as estratégias de inferência e controle, processando informações contidas na base de conhecimento e na memória de trabalho, tentando assim encontrar uma solução para o problema. Interface É um processador de linguagem projetado para processar e produzir comunicação orientada a problemas entre o usuário e o sistema, que ocorre usualmente numa linguagem natural, podendo ser complementada por menus e elementos gráficos. Composta por: Módulo de aquisição de dados: - Acionado pelo Mecanismo de Inferência quando este necessita dados específicos. - Pergunta ao usuário, obtém as respostas, enviando-as ao Mecanismo de Inferência. - -6 Módulo de Explicação: - Módulo que facilita a explicação, justificando as conclusões e explicando o comportamento do sistema através de questões interativas. 5 Desenvolvimento de um SBC O desenvolvimento de um SBC é uma forma de preservar, aproveitar e fazer uso da experiência dos membros de uma organização. O conhecimento de um especialista é capturado, organizado e disponibilizado na base de conhecimento durante a construção deum SBC. O que justifica a construção de um SBC? Fatores: • Custo. • Habilidade e disponibilidade do especialista. • Delimitações do domínio de conhecimento. Quando é justificável O desenvolvimento de um SBC é justificável quando (e/ou): • A resolução do problema trará lucros. • A falta de um especialista afeta a eficiência da tarefa. • A tarefa tem um domínio bem delimitado. • Especialistas são necessários em vários locais. • Existe a necessidade de retenção de conhecimento. 5.1 Divisão do desenvolvimento do SBC Podemos dividir o desenvolvimento de um SBC/SE nas seguintes fases: 1) Planejamento • Identificação do domínio do conhecimento. • Seleção da equipe de desenvolvimento. • Seleção da ferramenta de desenvolvimento (Prolog, Expert Sinta etc.). 2) Construção da base de conhecimento • Aquisição de conhecimento. • Representação de conhecimento (formalização). 3) Implementação • Codificação. • Representação o conhecimento na ferramenta. • Construção do sistema de explicação, interface etc. • Documentação do sistema. 4) Refinamento e validação • Validação e verificação. • Refinamento. • • • • • • • • • • • • • • • • • • • - -7 • Validação e verificação. • Refinamento. 5.2 Ferramentas para o desenvolvimento de SBCs e SE Historicamente, foram desenvolvidas diversas ferramentas com o intuito de auxiliar no processo de implementação de SBCs e SEs. Dentre elas podem-se destacar: Expert SINTA: É uma ferramenta visual para criação de sistemas especialistas que usa regras de produção; desenvolvida pelo Laboratório de Inteligência Artificial da Universidade Federal do Ceará. ESPERTO: Ferramenta Web para o desenvolvimento colaborativo de Sistemas Especialistas de Classificação. Prolog: Uma linguagem de programação que se enquadra no paradigma de Programação em Lógica Matemática. É uma linguagem de uso geral que é especialmente associada com a inteligência artificial e linguística computacional. 6 Aplicações dos sistemas baseados em conhecimento e dos sistemas especialistas Os sistemas baseados em conhecimento e os sistemas especialistas podem ser aplicados na solução de diversos tipos de problemas, tais como: Interpretação • Análise de dados para determinar o seu significado. • Exemplos: Processamento de imagem, reconhecimento de fala. Classificação • Determinar falhas num sistema a partir de um conjunto de sintomas. • Exemplos: Diagnóstico de doenças, falhas de máquinas. Monitoração • Observação contínua de um sistema para agir quando uma situação acontece. • Exemplos: Centrais de energia nuclear, tráfego aéreo, pacientes internados. Planejamento • Determinar conjunto de ações para atingir uma determinada meta. • Exemplos: Operações de robôs, ações militares, genética molecular. Projetos • Especificações de um projeto de modo a obedecera um conjunto de requisitos. • Exemplos: Layout de circuitos eletrônicos, computadores, estruturas de engenharia. Jogos • Jogos de tabuleiro, de estratégia e outros. • Exemplos: Xadrez, damas, Akinator. • • • • • • • • • • • • • • - -8 Não deixe de visitar o site para ter uma idéia rápida e divertida do que um sistema baseado em conhecimento é capaz de fazer. http://pt.akinator.com O que vem na próxima aula Na próxima aula, você estudará o seguinte assunto: • O aprendizado de máquina: serão feitas as considerações iniciais, no que tange ao aprendizado de máquina. Será tratado, especificamente, o aprendizado indutivo de máquina e as árvores de decisão. CONCLUSÃO Nesta aula, você: • Conheceu os sistemas baseados em conhecimento (sbcs). • Conheceu também os sistemas especialistas e suas especificidades. Saiba mais Não deixe de acessar o Akinator, o Gênio da Internet! (Um sistema especialista capaz de adivinhar o personagem que você está pensando!) //pt.akinator.com • • • http://pt.akinator.com/ http://pt.akinator.com http://pt.akinator.com/ Olá! 1 Humanos vs máquinas 2 Sistemas baseados em conhecimento 3 Sistemas especialistas 4 Arquitetura de um SBC 5 Desenvolvimento de um SBC 5.1 Divisão do desenvolvimento do SBC 5.2 Ferramentas para o desenvolvimento de SBCs e SE 6 Aplicações dos sistemas baseados em conhecimento e dos sistemas especialistas O que vem na próxima aula CONCLUSÃO
Compartilhar