A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Inteligência Artificial

Apresentações semelhantes


Apresentação em tema: "Inteligência Artificial"— Transcrição da apresentação:

1 Inteligência Artificial
Aula 6

2 Regras de produção Exemplo de sistema de representação procedimental , baseado na lógica de primeira ordem (prolog constitui um exemplo desta abordagem); especialistas tendem a expressar suas técnicas de solução de problemas em termos de conjuntos de regras situação-ação; regras de produção = conhecimento é representado como uma coleção de regras do tipo se condição então ação;

3 A ação corresponde a algum procedimento que acarreta uma conclusão ou mudança no estado corrente;
o conjunto de regras de produção é visto como uma representação de conhecimento procedimental, baseada em lógica de primeira ordem; este esquema representa um dos melhores meios disponíveis para codificação da experiência de especialistas, na resolução de problemas; regra de produção apresentam um estilo estímulo-resposta na representação ;

4 Principais propriedades das regras de produção:
incorporam conhecimento prático (heurístico) em regras se-então; sua habilidade cresce em uma taxa proporcional ao crescimento da base de conhecimento (crescimento incremental); pode resolver um grande intervalo de problemas possivelmente complexos utilizando regras relativamente simples e combinando os resultados de maneira apropriada; podem explicar suas conclusões refazendo suas linhas de raciocínio e traduzindo a lógica de cada regra empregada em linguagem natural;

5 Cada regra aproxima um fragmento independente do conhecimento (conhecimento refinado com a adição de nova regra); as regras de produção descrevem as relações entre os objetos do domínio ( se... então...); os objetos tem diversos atributos ligados a ele; cada condição da regra representa uma informação na forma objeto-atributo-valor ou objeto-atributo: exemplo retirado do MYCIN ( programa de diagnóstico de doenças infecciosas)

6 Se local da cultura for o sangue e a morfologia do organismo for bastonete e a mancha de gram do organismo for gram-positiva e o doente estiver em perigo então existe evidência de que a identidade do organismo é Pseudomonas-aeruginosa (regra102); mostrando objeto-atributo valor da regra; Objeto Atributo Valor cultura local sangue organismo morfologia bastonete organismo mancha de gram gram-positiva doente comprometimento verdade organismo identidade Pseudomonas-aeruginosa

7 Um sistema típico de regras de produção é formado por:
uma base de conhecimento; memória de trabalho; máquina de inferências; linguagens como Prolog e Lisp já incorporam a memória de trabalho e a máquina de inferências: o que não ocorre em linguagens tradicionais como C e Java onde há necessidade de implementar estes mecanismos;

8 existem shells (programas específicos para implementação de regras) que já incorporam a memória de trabalho,a máquina de inferências e as rotinas de interface com o usuário, tornado muito mais fácil o trabalho sendo que o desenvolvedor precisa apenas codificar o conhecimento ; shells = pseudo linguagens interpretadas, não gera executável; base de conhecimento: composta por regras e fatos; regras: declaração sobre classes e objetos: SE condição (antecedente) ENTÂO ação (consequente); fatos: declarações sobre objetos específicos;

9 Memória de trabalho: representa o estado do problema em um dado instante (permite comunicação entre regras); possui dados dinâmicos de curta duração que existem enquanto uma regra estiver sendo interpretada; com a especificação do estado meta do problema, a máquina de inferência é ativada: responsável pela execução das regras, determinando quais são relevantes, de acordo com a configuração da memória de trabalho e pela escolha de quais aplicar; isto acontece em ciclos;

10 Seleção de regras ou matching:
em cada ciclo: as regras são examinadas buscando as que são apropriadas para ativação; um ciclo pode ser dividido nem três fases: Seleção de regras; resolução de conflitos; ação; se o desenvolvedor estiver utilizando Prolog, Lisp ou uma shell não terá como interferir nestas fases; Seleção de regras ou matching: objetivo é encontrar todas as regras que são satisfeitas pelo conteúdo da memória de trabalho;

11 as estratégias mais utilizadas para este casamento são:
tarefa de “casar” as regras com os dados da memória de trabalho gerando um conjunto de conflito; conjunto de conflito= regras que satisfazem as “condições de casamento”, ou seja, regras passíveis de serem executadas; as estratégias mais utilizadas para este casamento são: raciocínio para frente (raciocínio dirigido por regras); raciocínio para trás (raciocínio orientado por metas);

12 Raciocínio para Frente:
dirigido por dados, antecedente, progressivo, “foward-chaining” ou bottom-up”; os dados da memória de trabalho são “casados” com as condições das regras; o programa inicia do estado inicial e gera estados intermediários através da execução das ações das regras; a meta permanece a mesma durante todo o processo de solução do problema; quando um destes estados alcançáveis casar com a meta, o problema está resolvido;

13 Raciocínio para trás: dirigido por metas, conseqüente, regressivo, “top-down” ou “backward-chining”; o programa inicia com a configuração objetivo final = meta; seleciona uma ou mais regras, cuja ação casa com o objetivo em alguma extensão;; o lado esquerdo das regras selecionadas é utilizado para gerar novos objetivos a serem atingidos e o processo continua até que um deles seja casado com o estado inicial;

14 Veja o exemplo: possuímos a seguinte base de conhecimento:
fatos regras Marcos é homem. SE x é homem César é homem. ENTÃO x é pessoa. A meta é responder a questão Estado meta: “ Existe x que é pessoa ?” Estado inicial: fatos

15 o sistema responde com “ sim, x= Marcos”;
Com a estratégia raciocínio para frente o nó raiz conterá o estado inicial (conjunto de fatos) e a meta será encontrar uma pessoa; como o antecedente da regra 1 casa com o estado inicial, o segundo nível será composto do nó “ Marcos é pessoa” ; o processo de inferência é encerrado porque houve o casamento com a meta, através da substituição da variável x por Marcos; o sistema responde com “ sim, x= Marcos”; homem(Marcos) homem(César) pessoa(Marcos)

16 Com a estratégia raciocínio para trás o nó raiz conterá a meta;
o próximo nível é formado pelo antecedente da regra 1, isto é “ x é homem”, pois o seu conseqüente casa com a raiz; analogamente o segundo nível é formado por “ Marcos é homem” e a inferência é interrompida pois se atingiu um estado inicial; o sistema responde com “ sim, x=Marcos”; pessoa(x) homem(x) homem(Marcos)

17 Objetivo: escolher um vinho; Fatos: dados de entrada; Regras: Regra 1
Utilizado em sistemas especialistas, mesclando de acordo com a situação o raciocínio para frente e o raciocínio para trás; exemplo: Objetivo: escolher um vinho; Fatos: dados de entrada; Regras: Regra 1 Se tem molho e molho = apimentado então melhorcorpo = encorpado

18 Se pratoprincipal <> peixe
Regra2 Se sabor = delicado então melhorcorpo = leve Regra3 Se pratoprincipal = peixe então melhorcor = branco Regra4 Se pratoprincipal <> peixe e tem molho e molho = tomate então melhorcor = tinto

19 Regra5 Se cor recomendada = branco e corpo recomendado = leve
e suavidade recomendada = medio então vinho = chenin blanc Se cor recomendada = tinto e corpo recomendado = medio então vinho = Pinot Noir

20 Prolog É uma linguagem que utiliza o paradigma de programação em lógica; representamos conhecimento positivos; hipótese do mundo fechado=as declarações relevantes e verdadeiras estão contidas na base de conhecimento ou podem ser derivadas ( método de inferência); negação = ausência da declaração; resolução por refutação = P é consistente se falha ao tentar provar ¬P;

21 definições lógicas em programas Prolog constituem cláusulas de Horn;
tem no máximo um literal positivo; qualquer fbf (fórmula bem formada) de uma lógica de primeira ordem pode ser representada na forma clausal; não possui conectivo ; quantificadores universais () é aplicado a predicados conectados por ; Prolog: os quantificadores não são explicitados; o conectivo  é representado por vírgula;

22 As implicações do tipo p q são representados invertidos como q:-p ;
as disjunções  são representadas por uma lista de declarações alternativas representadas por ; ; os comandos são finalizados com um ponto; cabeças de regra no Prolog são as conseqüentes nas regras de produção (então); cada cabeça de regra representa uma ação (se condição e condição e ... então ação); variáveis iniciam com letras maiúsculas; constantes iniciam com letras minúsculas; predicados iniciam com letras minúsculas;

23 Os fatos das cláusulas de Horn são decidíveis:
há garantias de parar quando a cláusula que tiver de se demonstrada não for dedutível a partir dos fatos e regras conhecidos; a base de conhecimento é expressa por conhecimento codificado como cláusulas de Horn transformadas, ou seja, cláusulas prolog; a máquina de inferência do Prolog é composto do procedimento de inferência e de uma estratégia de busca;

24 usa resolução e raciocínio para trás e estratégia de busca em profundidade, analisando as regras da esquerda para a direita e de cima para baixo; Exemplo de programas em Prolog 1. amigo(joao,jose). amigo(joao,jorge). amigo(joao,jaco). amigo(pedro,paulo). amigo(pedro,julio). Tem_amigos(X):-amigo(X,_).

25 Exemplo 2 female(pam). male(tom). father(X,Y):-male(X),parent(X,Y).
Male(bob). female(liz). female(pat). female(ann). male(jim). parent(tom,liz). parent(pam,bob). parent(tom,bob). parent(bob,ann). parent(bob,pat). parent(pat,jim). offspring(Y,X):-parent(X,Y). father(X,Y):-male(X),parent(X,Y). mother(X,Y):-female(X),parent(X,Y). grandparent(X,Y):-parent(Z,Y),parent(X,Z). sister(X,Y):-female(X),parent(Z,X),parent(Z,Y). hasachild(X):-parent(X,Y). happy(X):-hasachild(X). hastwochildren(X):-parent(X,Y),sister(Y,Z). grandchild(X,Z):-parent(Y,X),parent(Z,Y). aunt(X,Y):-parent(Z,Y),sister(X,Z),not(mother(X,Y)).

26 Vantagens: Ampla expressividade;
representação de associações empíricas (heurísticas) em domínios não estruturados; codificação da experiência de especialistas na resolução de problemas; possui sintaxe e semântica simples; aplicação: sistemas de diagnóstico; prototipação: crescimento incremental da base de conhecimento;

27 Desvantagens Falta de estruturação da base de conhecimento dificulta:
introduzir modificações na base; localizar informações desejadas; representar estruturas inerentes ao domínio: taxonomia de classes; relações temporais; relações estruturais; herança de atributos; não facilita a distinção semântica entre propriedades essenciais e propriedades complementares dos objetos;


Carregar ppt "Inteligência Artificial"

Apresentações semelhantes


Anúncios Google