raciocínio viviane torres da silva [email protected] viviane.silva/ismapi

38
Raciocínio Viviane Torres da Silva [email protected] http://www.ic.uff.br/~viviane.silva/ ismapi

Upload: sonia-affonso-marinho

Post on 07-Apr-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Raciocínio

Viviane Torres da [email protected]

http://www.ic.uff.br/~viviane.silva/ismapi

Page 2: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Raciocínio

Racionalização é o processo cognitivo de ver a razão para uma determinada crença, conclusão ou ação

Existem dois tipos de raciocínio:– Raciocínio dedutivo– Raciocínio indutivo

Algoritmos utilizados– Encadeamento para traz (Backward channing)– Encadeamento para frente (Forward channing)– Lógica nebulosa

Page 3: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Raciocínio Dedutivo

O raciocínio dedutivo se baseia na análise de premissas, i.e., nas razões para chegar a conclusão

Se as premissas forem verdadeiras, a conclusão será verdadeira

Exemplo:– Premissa 1: Todos os seres humanos são mortais– Premissa 2: João é um ser humano– Conclusão: João é mortal

Varias lógicas formais foram propostas para descrever o raciocínio dedutivo:

– Lógica modal, lógica proposicional, lógica de predicados, …

Page 4: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Raciocínio Indutivo I/II

A verdade das premissas não garante a verdade da conclusão

A conclusão de um argumento indutivo descreve a probabilidade da conclusão ser verdadeira

Normalmente se utiliza quando é difícil ou impossível conhecer todos os fatos para chegar a conclusão

Page 5: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Raciocínio Indutivo II/II

Exemplo:– Premissa: O sol nasceu no oriente todas as manhãs até hoje– Conclusão: O sol nascerá no oriente amanhã

– Premissa: Todas as pessoas que vi nesta cidade são baixas– Conclusão: Todas as pessoas desta cidade são baixas

Page 6: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Forward channing e Backward channing

Page 7: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Regras If…Then

Uso de regras if…then para fazer a representação do conhecimento em aplicações de Inteligência Artificial

Dois exemplos de algoritmos que se baseiam em regras if…then:

– Forward chaining– Backward chaining

Forward channing: utilizado para produzir novos fatos

Backward channing: verifica se a conclusão é verdadeira ou falsa

Page 8: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Forward channing I/V

O encadeamento começa com o conjunto de dados disponíveis para alcançar a conclusão

Utiliza regras de inferência para extrair novos dados até alcançar a conclusão

Uma máquina de inferência que utiliza forward channing busca no conjunto de regras de inferência uma onde a condição no IF seja verdadeira

Quando encontra, a regra é executada e a informação no THEN passa a ser verdade, i.e., o novo dado entra no conjunto de dados da máquina

Page 9: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Forward channing II/V

São três os elementos básicos:– A base de regras e os fatos– A memória de trabalho para guardar os dados durante a inferência– A máquina de inferência que executa as regras

Exemplo:Regra 1: IF num_rodas < 4

THEN veículo=bicicletaRegra 2: IF num_rodas >= 4 and motor=sim THEN veículo=veículo_motorizadoRegra 3: IF veículo=veículo_motorizado and tamanho=grande THEN veículo=ônibus

Page 10: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Forward channing III/V

Fatos iniciais na base de dados:– Num_rodas=4, motor=sim, tamanho=grande

Regra 1: IF num_rodas < 4 THEN veículo=bicicleta

Regra 2: IF num_rodas >= 4 and motor=sim THEN veículo=veículo_motorizado

Regra 3: IF veículo=veículo_motorizado and tamanho=grande THEN veículo=ônibus

FALSO

VERDADEIRO

INCLUSÃO NA MEMÓRIA

VERDADEIRO

INCLUSÃO NA MEMÓRIA

Page 11: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Forward channing IV/V

Fatos finais na base:– Num_rodas=4– motor=sim– tamanho=grande– veículo=veículo_motorizado– veículo=ônibus

Page 12: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Ciclo do Forward channing V/V

1. Colocar as regras na máquina de inferência e colocar todos os dados na base da fatos na memória

2. Verificar se as condições para executar as regras estão na memória. O conjunto de regras que tem as condições na memória chamamos conjunto de conflitos

3. Utilizar um algoritmo para selecionar uma regra do conjunto

4. Atualizar a memória com os fatos criados pela nova regra

5. Repetir os passos 2, 3 e 4 até que não existam mais regras no conjunto

Page 13: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Backward channing I/IV

A conseqüência ou conclusão é avaliada primeiro

Utiliza as regras para responder perguntas que verificam se a conseqüência é verdadeira ou falsa

Somente as regras que são relevantes à pergunta são executadas

Page 14: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Exemplo: Backward channing II/IV

Vamos supor que queremos saber se o veículo que temos é um ônibus

Começamos com a memória vazia

Testamos a regra que verifica se o veículo é um ônibus

Regra 3: IF transporte=veículo_motorizado and tamanho=grande THEN veículo=ônibus Para que o veículo seja um ônibus é necessário que as

condições na regra 3 sejam verdadeiras

Page 15: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Exemplo: Backward channing III/IV

A condição veículo=veículo_motorizado está relacionada a regra 2, então …

Para que as condições na regra 3 sejam verdades, é necessário que as condições na regra 2 sejam verdade

Regra 2: IF num_rodas >= 4 and motor=sim THEN veículo=veículo_motorizado

Verifico se a informação num_rodas >= 4 e motor=sim, e tamanho=grande estão na memória. Se não estão, então perguntar ao usuário se seu veículo tem estas propriedades

Page 16: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Ciclo do Backward channing IV/IV

1. Colocar as regras na máquina de inferência e colocar todos os fatos da base de fatos na memória

2. Especificar a conclusão que deve ser confirmada

3. Encontrar o conjunto de regras que tenha a conclusão no termo THEN

4. Pegar uma regra do conjunto de regras

5. Tentar verificar se a regra é verdadeira verificando todos os antecedentes

6. Repetir os passos 3, 4 e 5 até que não tenha mais regras que executar. Perguntar ao usuário se necessário

Page 17: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Lógica Nebulosa (Fuzzy Logic)

Page 18: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Lógica Clássica

Uma declaração é verdadeira ou falsa

Uma declaração não pode ser ao mesmo tempo parcialmente verdadeira ou parcialmente falsa

A e ¬ A formam todas as possibilidades para A

Lógica difusa ou nebulosa viola estas premissas

Page 19: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Lógica Nebulosa

Algo pode e deve coexistir com seu oposto

A experiência humana não pode ser classificada sempre como verdadeira ou falsa

O sim ou o não podem ser respostas incompleta – Alguém pode ter dúvida sobre a resposta

Conjunto da lógica clássica:– O elemento pertence ou não ao conjunto

Conjunto nebuloso: – A certeza com a que um elemento pertence ao conjunto varia entre [0,1]

frío quenteagradável

Page 20: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Raciocínio na Lógica Nebulosa

1. Transformação das variáveis do problema em valores nebulosos

2. Aplicação dos operadores nebulosos

3. Aplicação da implicação

4. Combinação entre todas as saídas nebulosas possíveis

5. Transformação de resultado nebuloso em resultado nítido

Page 21: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Raciocínio com Normas

Page 22: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Objetivo

Como um agente sabe o conjunto das normas aplicado a ele?– Normas que estão ativas e que necessitam ser seguidas

Como um agente sabe que outros agentes violaram normas?– Normas violadas por outros agentes podem influenciar o

comportamento de outro agente

Implementar um mecanismo que pode, de acordo com o conjunto de ações, dizer para os agentes quais são as normas ativas e as violadas

Page 23: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Implementando Normas com JESS

Jess é um sistema baseado em regras que mantém uma coleção de fatos na sua base de conhecimento

Fatos são incluídos na base de fatos e regras são ativadas de acordo com os novos fatos

Regras: LHS => RHS– LHS (left-hand side): lado esquerdo da regra

• Fatos que foram incluídos na base– RHS (right-hand side): lado direito da regra

• Fatos que serão incluídos na base

Page 24: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Implementando Normas com JESS

Fatos: – As ações executadas pelos agentes– Os objetos no ambiente– A informação sobre as normas: cumprida, ativa, inativa, e violada – A informação sobre as punições e os prêmios

Regras:– Ativar e desativar uma norma– Informar sobre o cumprimento e a violação de uma norma– Informar sobre as punições e os prêmios de um agente

Page 25: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Normas x Regras em Jess

Cada norma normalmente está associada a 4 regras em Jess

Regra 1: Ativa a norma de acordo com as condições de ativaçãoRegra 2: Desativa a norma de acordo com as condições de

desativaçãoRegra 3: Informa sobre o cumprimento da norma e os prêmios se

a norma foi cumpridaRegra 4: Informa sobre a violação da norma e as punições se a

norma foi violada

Page 26: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Tipos de Normas

Obrigação:– O agente tem uma obrigação para executar uma ação

Permissão:– O agente tem um permissão para executar uma ação

Proibição:– O agente tem uma proibição para executar uma ação

Norma informa sobre uma obrigação, proibição ou permissão para executar uma ação dada alguma condição

Page 27: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Tipos de Normas

Obrigação, permissão ou proibição simples

Obrigação, permissão ou proibição que deve ocorrer antes de um fato (ou se um fato ocorre)

Obrigação, permissão ou proibição que deve ocorrer depois de um fato (e se um fato ocorre)

Obrigação, permissão ou proibição que deve ocorrer se um fato ocorre

Obrigação, permissão ou proibição que deve ocorrer entre dois fatos (e se um fato ocorre)

Page 28: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Obrigação, permissão ou proibição simples

Obrigação, permissão ou proibição para executar uma ação X Regra 2 (desativar norma) não pode ser implementada Proibição

(i) Ativa a proibição(iii) -- Não é possível informar sobre o cumprimento e dar prêmios ao

agente pois esta norma está sempre ativa(iv) Informar sobre a violação e a punição se a ação X foi executada

Obrigação(i) Ativa a obrigação(iii) Informa sobre o cumprimento e o prêmio se a ação X foi executada(iv) -- Não é possível verificar a violação pois a qualquer momento o

agente pode executar a obrigação

Page 29: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Obrigação, permissão ou proibição simples

Permissão(i) Ativa a permissão(iii) -- Não faz sentido informar sobre o cumprimento e sobre o prêmio(iv) -- Não existe violação pois a qualquer momento o agente pode

executar a ação

Page 30: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Exemplo: Proibição simples

O jogador de futebol não pode pegar a bola com a mão Punição: O árbitro informa sobre o pênalti

Proibição: regras

;(rule i)(defrule handleBall_rule_i => (assert (FORBIDDEN-non-dialogical-action-plan …

(status ACTIVATED))))

Page 31: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Exemplo: Proibição simples

;(rule iv)(defrule handleBall_rule_iv ?forbidden <- (FORBIDDEN-non-dialogical-action-plan …) ?factViolatingNorm <- (non-dialogical-action-plan (plan play) (action handleBall)... ) => (if (= (fact-slot-value ?factViolatingNorm role) (fact-slot-value ?forbidden role)) then (assert (NormStatus_per_Agent (agent (fact-slot-value ?factViolatingNorm entity)) (norm (fact-id ?forbidden))(status VIOLATED) (reason (fact-id ?factViolatingNorm)))) (assert (PUNISHMENT …)))

Page 32: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Obrigação, permissão ou proibição que deve ocorrer antes de um fato Y

Obrigação para executar a ação X antes de um fato Y

Obrigação(i) Ativar a obrigação(ii) Desativar a obrigação se a obrigação está ativa e Y é incluído na base

de fatos(iii) Informar sobre o cumprimento e o premio se a ação X é executada e a

obrigação está ativa(iv) Informar sobre a violação e a punição se a obrigação está desativada e

a ação X não foi executada

Solução: Verificar se existe uma informação de cumprimento da norma

Problema

Page 33: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Obrigação, permissão ou proibição que deve ocorrer antes de um fato Y

Permissão para executar a ação X antes de um fato Y

Permissão(i) Ativar a permissão(ii) Desativar a permissão se a permissão está ativa e Y é incluído na base

de fatos(iii) ---(iv) Informar sobre a violação e a punição da permissão se a ação X foi

executada depois de Y

Page 34: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Obrigação, permissão ou proibição que deve ocorrer antes de um fato Y

Proibição para executar a ação X antes de um fato Y

Proibição(i) Ativar a proibição(ii) Desativar a proibição se a proibição está ativa e Y é incluído na base

de fatos(iii) Informar sobre o cumprimento e o prêmio se a norma é desativada e a

ação X não foi executada(iv) Informar sobre a violação e a punição se a proibição está ativada e a

ação X é executada

Problema

Solução: Verificar se existe uma informação sobre violação da norma

Page 35: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Exemplo: Obrigação, permissão ou proibição que deve ocorrer antes de um fato Y

O juiz tem que verificar o equipamento dos jogadores antes de começar a partida

Obrigação(i) Ativar a obrigação

;(rule i)(defrule checkEquipment_rule_i => (assert (OBLIGED-non-dialogical-action-plan ...

(status ACTIVATED))))

Page 36: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Exemplo: Obrigação, permissão ou proibição que deve ocorrer antes de um fato Y

O juiz tem que verificar o equipamento dos jogadores antes de começar a partida

Obrigação(ii) Desativar a obrigação se a obrigação está ativa e Y está na base de

fatos

;(rule ii)(defrule checkEquipment_rule_ii ?obliged <- (OBLIGED-non-dialogical-action-plan ...

(status ACTIVATED)) ?factDeactivatingNorm <- (dialogical-action (scene game) (state

si)(content gameStart)...) => (modify ?obliged (status DEACTIVATED)))

Page 37: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Exemplo: Obrigação, permissão ou proibição que deve ocorrer antes de um fato Y

O juiz tem que verificar o equipamento dos jogadores antes de começar a partida

Obrigação(iii) Informar sobre o cumprimento e o prêmio se a ação X é executada e a

obrigação está ativa

;(rule iii)(defrule checkEquipment_rule_iii ?obliged <- (OBLIGED-non-dialogical-action-plan ... (status ACTIVATED)) ?factFulfillingNorm <- (non-dialogical-action-plan (plan managingGame) (action checkEquipment) ...) => (if (= (fact-slot-value ?factFulfillingNorm entity) (fact-slot-value ?obliged entity)) then (assert (NormStatus_per_Agent (norm (fact-id ?obliged)) (agent (fact-slot-value ?factFulfillingNorm entity)) (status FULFILLED) (reason (fact-id ?factFulfillingNorm)))) (assert (REWARD ...))) )

Page 38: Raciocínio Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/ismapi

Exemplo: Obrigação, permissão ou proibição que deve ocorrer antes de um fato Y

O juiz tem que verificar o equipamento dos jogadores antes de começar a partida

Obrigação(iv) Informar sobre a violação e a punição se a obrigação está desativada e

a ação X não foi executada

;(rule iv)(defrule checkEquipment_rule_iv ?obliged <- (OBLIGED-non-dialogical-action-plan ...

(status DESACTIVATED)) => (bind ?result (assert (NormStatus_per_Agent (agent (fact-slot-value ?agent agents))

(norm ?obliged) (status FULFILLMENT)))) (try (= false ?result) ; the agent has fulfilled the norm catch

(modify ?result (status VIOLATED)) (assert (PUNISHMENT ...)) )