Você está na página 1de 52

Universidade Federal do Vale do So Francisco

Inteligncia Artificial
Professor: Marcelo Santos Linder E-mail: marcelo.linder@univasf.edu.br Pgina: www.univasf.edu.br/~marcelo.linder

Ementa

Introduo resoluo de problemas. Notas Histricas; Mtodos de Busca com informao e heurstica. Representao de Conhecimento. Introduo Aprendizagem de Mquina e a algoritmos de aprendizagem simblica. Sistemas especialistas. Raciocnio progressivo e regressivo. Agentes Inteligentes e Sistemas Multiagentes.

Contedo Programtico

Sistemas especialistas
Definio de sistemas especialistas Estrutura de um sistema especialista Tcnicas de extrao de conhecimento Exemplo de sistemas especialistas

Raciocnio progressivo e regressivo

Metodologia
A disciplina ser trabalhada com aulas expositivodialogadas, onde sero fornecidos os componentes tericos e ser feita a prtica de exerccios.

Recursos
Quadro branco, marcador, notebook e projetor multimdia.

Forma de Avaliao
A avaliao ser realizada mediante uma prova escrita. A prova ocorrer no dia 08/07/2011, tendo incio 14h e com durao de 3h. O aluno para obter aprovao deve ter no mnimo 75% de presena.

Bibliografia
Bibliografia Bsica:
RUSSEL, S; NOVIG, P. Inteligncia Artificial. Elsevier, 2004. LUGER, G. F. Inteligncia Artificial. Estruturas e Estratgias para a soluo de Problemas Complexos. 4 ed. Bookman, 2004.

Bibliografia Complementar:
BARRETO, J. M. Inteligncia Artificial, uma abordagem hbrida. PPP, 2001. BITTEMCOURT, G. Inteligncia Artificial. Ferramentas e teorias. UFSC, 2006.

Material complementar:
PY, M. X. Sistemas Especialistas: uma introduo. Instituto de Informtica UFRGS. Laboratrio de Inteligncia Artificial LIA. Manual do usurio Expert SINTA. Verso 1.1.UFC. Apresentao (slides) sobre Sistemas Especialistas produzida pelo Grupo de Inteligncia Computacional (GIC) do Departamento de Informtica (DI) da Universidade Federal de Pernambuco (UFPE)
5

Sistemas Especialistas

Sistema...

Especialista...

Sistemas Especialistas
Um sistema computacional pode ser visualizado como uma plataforma de hardware que d suporte execuo de um software, o qual visa solucionar um problema especfico. A grande caracterstica/habilidade/capacidade humana que permitiu ao homo sapiens sapiens obter tamanha vantagem evolutiva sobre as demais espcies do planeta terra sua inteligncia. Logo, conceber uma mquina dotada de inteligncia, corresponderia a gerar inteligncia artificial (IA).
7

Sistemas Especialistas
Este tema fomentou o surgimento da seguinte definio: Inteligncia artificial a parte da cincia da computao que compreende o projeto de sistemas computacionais que exibam caractersticas associadas, quando presente no comportamento humano, inteligncia (BARR; FEIGENBAUM, 1981).

Sistemas Especialistas
Existem duas linhas principais de pesquisa para a construo de sistemas inteligentes: - a linha conexionista e; - a linha simblica. Linha conexionista -> simulao de neurnios e suas interligaes.

Linha simblica -> base lgica.


9

Sistemas Especialistas
Quando uma pessoa tem conhecimento de um fato, certamente ela poder extrair tudo que souber sobre aquele fato quando bem estender. Porm, na inteligncia artificial existe um problema a mais quanto ao uso do conhecimento. Na IA temos basicamente dois relacionados ao conhecimento: - como armazen-lo/represent-lo; - como utiliz-lo. problemas

10

Sistemas Especialistas
Para atender a esta demanda surgem Sistemas Baseados em Conhecimento (SBC), quais aplicam mecanismos automatizados raciocnio para a representao e inferncia conhecimento. Desta forma temos: os os de de

Especialista humano
11

Sistema especialista

Sistemas Especialistas
Logo, um Sistema Especialista (SE) definido como um programa que possibilita a utilizao dos conhecimentos de um especialista humano atravs de uma mquina que permita o armazenamento e o seqenciamento de informaes e a autoaprendizagem. Um SE capaz de processar informaes no numricas, apresentando concluses sobe um determinado tema desde que devidamente orientado e alimentado. Outra caracterstica comum nos sistemas especialistas a existncia de um mecanismo de raciocnio incerto que permita representar a incerteza a respeito do conhecimento do domnio. 12

Sistemas Especialistas
Em outras palavras, os SEs empregam o conhecimento humano para resolver problemas que requererem a presena de um especialista. Utilidade capacitar no-especialistas servir de assistente para especialistas servir de repositrio de conhecimento valioso para a empresa etc. Conceitos Bsicos Expertise conhecimento especializado adquirido por longo treinamento, leitura e experincia 13

Sistemas Especialistas

Conceitos Bsicos
Especialista
Quem possui o conhecimento, experincia, mtodos e a habilidade de aplic-los para dar conselhos e resolver problemas.

Engenheiro de conhecimento
Guia a aquisio e representao do conhecimento especializado, bem como a implementao e refinamento do SE.

14

Sistemas Especialistas
Um sistema especialista estruturado com base em uma arquitetura similar apresentada abaixo.
Base de conhecimento Memria de trabalho Base de regras

Motor de inferncia

Arquitetura de um SE (Bittencourt, 2006)

15

Sistemas Especialistas
Uma arquitetura mais ampla para um SE, abarcando os atores humanos envolvidos no sistema, apresentada a seguir.
Usurio Dados do problema

Respostas

Mquina de Inferncia

Explicao do raciocnio

Especialista

Memria de trabalho
16

Base de conhecimento

Ferramentas de aquisio

Engenheiro de conhecimento

Sistemas Especialistas

Base de Conhecimento Clssica


Contm: conhecimento, escrito em uma linguagem de representao, necessrio para a formulao e soluo do problema
Conhecimento ontolgico (regras, redes semnticas, ... )
ex. o homem um animal

Regras (estrutura de inferncia)


ex. Todo animal tem uma me

Fatos
ex. existem muitos meninos abandonados

Heursticas (para resoluo de conflitos)


ex. prefira a regra disparada mais recentemente

Sistemas Especialistas

Memria de Trabalho: voltil e registra...


descrio do problema em particular (instncia) hipteses e decises intermedirias, subobjetivos, etc. hipteses e alternativas que o sistema j tenha produzido

18

Sistemas Especialistas

O Motor de Inferncia controla a atividade do sistema, a qual ocorre em ciclos, cada ciclo consistindo em trs fases:
Correspondncia de dados, onde as regras que satisfazem a descrio da situao atual so selecionadas; Resoluo de conflitos, onde as regras que sero realmente executadas so escolhidas dentre as regras que foram selecionadas na primeira fase, e ordenadas; Ao, a execuo propriamente dita das regras.
19

Sistemas Especialistas

Subsistema de Explicao
Objetivo: Explicar o comportamento do SE atravs de questes como:
Porque uma certa pergunta foi feita pelo SE ? Como a concluso foi alcanada? Porque alguma alternativa foi rejeitada? Qual o plano para alcanar a soluo?

Exemplo:
Porque preciso saber o preo? Resposta:
REGRA #5 SE preo <= salrio E dia = primeiro ENTO compra efetuada

20

Sistemas Especialistas
Em resumo um SE apresenta uma arquitetura com os seguintes componentes bsicos: base de conhecimentos, mecanismos de inferncia e explanao. A base de conhecimento reuni o conhecimento do especialista modelado conforme a representao do conhecimento escolhida para modelar o domnio em questo. O mecanismo de inferncia examina o contedo da base de conhecimentos, decidindo a ordem em que se tiram as inferncias. Assim, o mecanismo de inferncia conduz a consulta com o usurio, transferindo os fatos e regras, utilizados durante uma consulta, para a memria de trabalho. O mdulo de explanao responsvel pela descrio do raciocnio do sistema para o usurio.
21

Sistemas Especialistas

Passos para o desenvolvimento de um SE: 1) Construo da base de conhecimento


Aquisio de conhecimento! Representao de conhecimento (formalizao)

2) Implementao
Codificao Construo do sistema de explicao, interface, etc.

3) Refinamento e validao

Sistemas Especialistas
Aquisio/Explicitao de conhecimento acumulao, transferncia e transformao de alguma fonte de conhecimento para um computador (base de conhecimento). Espcie de engenharia de requisitos mais complexa Pode originar-se de vrias fontes: especialistas, livros e documentos, filmes, etc. Principais fases da aquisio identificar caractersticas do problema isolar os conceitos principais e suas relaes (ontologia) identificar inferncias sobre estes conceitos

Sistemas Especialistas: Gargalo na construo


Dificuldade de introspeco o especialista quase nunca est ciente de como usa o conhecimento Algumas solues so intuitivas ou compiladas. o especialista tem dificuldade de verbalizar sob presso Uso de vocabulrio prprio (jargo) O conhecimento expresso pode ser irrelevante quantidades enormes de informaes suprfluas so coletadas, para em seguida serem organizadas. desafio: evitar informao irrelevante sem bloquear a descoberta de conceitos adicionais.

Sistemas Especialistas: Gargalo na construo


O conhecimento expresso pode ser incompleto o especialista pode no lembrar o conhecimento aprofundado para resolver um problema especialista pode pular pontos importantes O conhecimento expresso pode ser incorreto ou inconsistente Afinal quem garante a qualidade da soluo, j que ela coisa de especialista? a racionalidade que se deseja modelar limitada (H. Simon)!

Sistemas Especialistas

Como minimizar o gargalo da aquisio?


Utilizando mtodos de aquisio.

Mtodos de aquisio

3 categorias: Manual, Semi-automtico e Automtico Manual


Entrevistas (estruturadas ou no estruturadas) Tracking methods (anlise de protocolos e observao)
especialista Engenheiro de codificao Base de conhecimento conhecimento documentao

Mtodos de aquisio
Semi-automticos ajuda ao especialista (grid repertory analysis) ajuda ao engenheiro de conhecimento (editores, documentadores, etc.)
especialista Ferramentas interativas de entrevista Engenheiro de conhecimento Base de conhecimento

Automtico: machine learning


Casos e exemplos Induo automtica Regras

Sistemas Especialistas
Mtodos de representao de conhecimento Ponto importante Exemplos de formalismos: Lgica : a base para a maioria dos formalismos de representao de conhecimento, seja de forma explcita, como nos sistemas especialistas baseados na linguagem Prolog, seja mascarada na forma de representaes especficas que podem facilmente ser interpretadas como proposies ou predicados lgicos. Ex.: Se A ento B
29

Sistemas Especialistas
Mtodos de representao de conhecimento Exemplos de formalismos: Redes semnticas: um nome utilizado para definir um conjunto heterogneo de sistemas. Em ltima anlise, a nica caracterstica comum a todos estes sistemas a notao utilizada: uma rede semntica consiste em um conjunto de nodos conectados por um conjunto de arcos. Os nodos em geral representam objetos e os arcos, relaes binrias entre esses objetos.
30

Sistemas Especialistas
Exemplo de redes semntica:

31

Sistemas Especialistas
Mtodos de representao de conhecimento Exemplos de formalismos: Quadros (frames), e sua variao, os roteiros (scripts): foram introduzidos para permitir a expresso das estruturas internas dos objetos, mantendo a possibilidade de representar herana de propriedades como as redes semnticas. As idias fundamentais destes mtodos foram introduzidas por Marvin Minsky, em seu artigo A framework to represent knowledge (MINSKY, 1975).
32

Sistemas Especialistas
Exemplo de quadros:

33

Sistemas Especialistas
Motor de Inferncia As principais caractersticas do motor de inferncia disponvel em um SE dizem respeito s seguintes funcionalidades: mtodo de raciocnio, estratgia de busca, resoluo de conflito e representao de incerteza. Detalharemos algumas dessas funcionalidades.

34

Sistemas Especialistas
Modo de raciocnio Existem basicamente dois modos de raciocnio aplicveis a regras de produo: encadeamento progressivo ou encadeamento a frente (do ingls, forward chaining), e encadeamento regressivo ou encadeamento para trs (do ingls, backward chaining).
35

Sistemas Especialistas
Modo de raciocnio No encadeamento progressivo, tambm chamado encadeamento dirigido por dados, a parte esquerda da regra comparada com a descrio da situao atual, contida na memria de trabalho. As regras que satisfazem a esta descrio tm sua parte direita executada, o que, em geral, significa a introduo de novos fatos na memria de trabalho.

36

Sistemas Especialistas
Modo de raciocnio No encadeamento regressivo, tambm chamado encadeamento dirigido por objetivos, o comportamento do sistema controlado por uma lista de objetivos. Um objetivo pode ser satisfeito diretamente por um elemento da memria de trabalho, ou podem existir regras que permitam inferir algum dos objetivos correntes, isto , que contenham uma descrio deste objetivo em suas partes direitas. As regras que satisfazem esta condio tm as instncias correspondentes s suas partes esquerdas adicionadas lista de objetivos correntes.

37

Sistemas Especialistas
Modo de raciocnio (Encadeamento regressivo continuao) Caso uma dessas regras tenha todas as suas condies satisfeitas diretamente pela memria de trabalho, o objetivo em sua parte direita tambm adicionado memria de trabalho. Um objetivo que no possa ser satisfeito diretamente pela memria de trabalho, nem inferido atravs de uma regra, abandonado. Quando o objetivo inicial satisfeito, ou no h mais objetivos, o processamento termina.
38

Sistemas Especialistas
Estratgia de busca Uma vez definido o tipo de raciocnio/encadeamento, o motor de inferncia necessita ainda de uma estratgia de busca para guiar a pesquisa na memria de trabalho e na base de regras. Este tipo de problema conhecido como busca em espao de estados. Este tpico foi um dos primeiros estudados em IA, no contexto de soluo de problemas (do tipo quebracabeas) e jogos por computador (damas, xadrez, etc.).
39

Sistemas Especialistas
Resoluo de conflito Ao terminar o processo de busca, o motor de inferncia dispe de um conjunto de regras que satisfazem situao atual do problema, o chamado conjunto de conflito. Se esse conjunto for vazio, a execuo terminada; caso contrrio, necessrio escolher que regras sero realmente executadas e em que ordem. Os mtodos de resoluo de conflito mais utilizados ordenam as regras de acordo com os seguintes critrios: prioridades atribudas estaticamente;
40

Sistemas Especialistas
Resoluo de conflito caractersticas da estrutura das regras como complexidade, simplicidade e especificidade; caractersticas dos dados associados s regras como o tempo decorrido desde sua obteno, sua confiabilidade ou seu grau de importncia; e, finalmente, seleo ao acaso.

41

Sistemas Especialistas
Para uma compreenso adequada dos elementos e passos que compem um SE detalharemos melhor o processo atravs da explorao de um exemplo. Regras para veculos Bicicleta: Se veculoTipo=ciclo E num-rodas=2 E motor=no Ento veculo=Bicicleta Triciclo: Se veculoTipo=ciclo E num-rodas=3 E motor=no Ento veculo=Triciclo
42

Motocicleta: Se veculoTipo=ciclo E num-rodas=2 E motor=sim Ento veculo=Motocicleta Motocicleta: Se veculoTipo=ciclo E num-rodas=2 E motor=sim Ento veculo=Motocicleta CarroSport: Se veculoTipo=automvel E tamanho=pequeno E num-portas=2 Ento veculo=CarroSport Sedan: Se veculoTipo=automvel E tamanho=mdio E num-portas=4 43 Ento veculo=Sedan

MiniVan: Se veculoTipo=automvel E tamanho=mdio E num-portas=3 Ento veculo=MiniVan UtilitrioSport: Se veculoTipo=automvel E tamanho=grande E num-portas=4 Ento veculo=UtilitrioSport Ciclo: Se num-rodas<4 Ento veculoTipo=ciclo Automvel: Se num-rodas=4 E motor=sim Ento veculoTipo=automvel
44

Sistemas Especialistas

Meta-regras
Se R1 e R2 podem ser disparadas, escolha R1 Se R1 e R2 podem ser disparadas e R1 foi disparada mais recentemente que R2, escolha R2

Fatos
Veculo1: tamanho=pequeno; numportas=2; motor=sim Veculo2: num-rodas=2; motor=no

Raciocinando com Encadeamento Progressivo

Dos dados concluso Parte dos fatos na Base de Regras (BR) e na memria de trabalho, buscando quais regras eles satisfazem, para produzir assim novas concluses (fatos) e/ou realizar aes. Trs etapas: Busca, Casamento (unificao), Resoluo de conflito

Encadeamento progressivo Algoritmo


1. Armazena as regras da base de conhecimento (BC) na mquina de inferncia (MI) e os fatos na memria de trabalho (MT); 2. Adiciona os dados/conhecimento iniciais (fatos) memria de trabalho; obs.: esses dados podem ser fornecidos pelo usurio do sistema 3. Compara o antecedente das regras com os fatos na MT. Todas as regras cujo antecedente casa (unifica) com esses fatos podem ser disparadas e so colocadas no conjunto de conflito; 4. Usa o procedimento de resoluo de conflito para selecionar uma nica regra desse conjunto;

Encadeamento progressivo Algoritmo


5. Dispara a regra selecionada e verifica o seu conseqente: 5a) se for um fato Atualiza a MT Repete os passos 3, 4 e 5 at o conjunto de conflito se tornar vazio. 5b) se for uma ao Chama o procedimento que realiza a ao escolhida Atualiza a MT Volta para o passo 2 (para obter novos dados do ambiente).

Encadeamento progressivo Busca e Casamento (unificao)

O algoritmo tenta casar (unificar) as premissas das regras selecionadas com os fatos na memria de trabalho
MT1: num-rodas=4, motor=sim, num-portas=3, tamanho=mdio MI (regras da BC): Se num-rodas=4 E motor=sim Ento veculoTipo=automvel MT2: MT1 + veculoTipo=automvel

Encadeamento progressivo: Busca e Casamento

Geralmente, o antecedente de cada regra selecionada comparado com os fatos na MT usando busca gulosa (best-first) Custo da busca-casamento
Se a BR muito grande, verificar todas as premissas de todas as regras a cada ciclo caro

Encadeamento progressivo: Resoluo de conflitos Resoluo de conflitos heurstica geral para escolher um subconjunto de regras a disparar Exemplos: No duplicao: no executar a mesma regra com os mesmos argumentos duas vezes. Prioridade de operao: preferir aes com prioridade maior Recency (recenticidade): preferir regras que se referem a elementos da Memria de Trabalho criados recentemente. Especificidade: preferir regras que so mais especficas.
51

Encadeamento progressivo: Exemplo no domnio dos veculos Carregar a BR de veculos no MI e atribuir valores iniciais para algumas variveis, guardando esses fatos na MT. Fatos iniciais: num-rodas=4, motor=sim, num-portas=3, tamanho=mdio Exerccio: Aplique os passos estudados e infira um resultado.

52