raciocínio
DESCRIPTION
Raciocínio. Viviane Torres da Silva [email protected] http://www.ic.uff.br/~viviane.silva/2010.1/isma. 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 - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Raciocínio](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/1.jpg)
Raciocínio
Viviane Torres da Silva
http://www.ic.uff.br/~viviane.silva/2010.1/isma
![Page 2: Raciocínio](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/2.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/3.jpg)
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 conclusao 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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/4.jpg)
Raciocínio Indutivo I/II
A verdade das premissas não garantem 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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/6.jpg)
Forward channing e Backward channing
![Page 7: Raciocínio](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/7.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/8.jpg)
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 é executadas 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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/9.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/10.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/12.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/13.jpg)
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 a pergunta são executadas
![Page 14: Raciocínio](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/14.jpg)
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 autobús é necessário que as
condiciones na regra 3 sejam verdadeiras
![Page 15: Raciocínio](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/15.jpg)
Exemplo: Backward channing III/IV
A condição veículo=veículo_motorizado está relacionada a regra 2, então …
Para que as condiciones na regra 3 sejam verdades, é necessário que as condiciones 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. Si não están, então perguntar ao usuário se seu veículo tem estas propriedades
![Page 16: Raciocínio](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/17.jpg)
Lógica Nebulosa (Fuzzy Logic)
![Page 18: Raciocínio](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/18.jpg)
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 viola estas premissas
![Page 19: Raciocínio](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/19.jpg)
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 calienteagradable
![Page 20: Raciocínio](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/20.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/21.jpg)
Raciocínio com Normas
![Page 22: Raciocínio](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/22.jpg)
Objetivo
Como um agente sabe o conjunto de normas aplicadas 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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/23.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/24.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/25.jpg)
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ção
Regra 2: Desativa a norma de acordo com as condições de desativação
Regra 3: Informa sobre o cumprimento da norma e os prêmios se a norma foi cumprida
Regra 4: Informa sobre a violação da norma e as punições se a norma foi violada
![Page 26: Raciocínio](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/26.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/27.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/28.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/29.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/30.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/31.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/32.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/33.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/34.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/35.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/36.jpg)
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á tiva 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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/37.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/38.jpg)
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 ...)) )
![Page 39: Raciocínio](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/39.jpg)
Obrigação, permissão ou proibição que deve ocorrer entre dois fatos
Obrigação para executar a ação X antes de um fato Y e depois de um fato W
Obrigação(i) Ativar a obrigação se o fato W é incluído na base de fatos
(ii) Desativar a obrigação se a obrigação está ativa e Y está na base de fatos
(iii) Informar sobre o cumprimento e o prêmio 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 40: Raciocínio](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/40.jpg)
Obrigação, permissão ou proibição que deve ocorrer entre dois fatos
Permissão para executar a ação X antes de um fato Y e depois de um fato W
Permissão(i) Ativar a permissão se o fato W é incluído na base de fatos
(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 ou antes do fato W
Podemos assumir duas coisas:1) Se não existe uma permissão explícita então é proibido2) O agente não sabia que era proibido pois a norma ainda não
tinha sido disparada
![Page 41: Raciocínio](https://reader030.vdocuments.pub/reader030/viewer/2022032805/56813329550346895d9a1744/html5/thumbnails/41.jpg)
Obrigação, permissão ou proibição que deve ocorrer entre dois fatos
Proibição para executar a ação X antes de um fato Y e depois de um fato W
Proibição(i) Ativar a proibição se o fato W é incluído na base de fatos
(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