Inteligência Artificial para Jogos - Lógica Difusa
-
Upload
joao-ricardo-bittencourt -
Category
Documents
-
view
452 -
download
3
description
Transcript of Inteligência Artificial para Jogos - Lógica Difusa
Inteligência Artificial para Jogos
Lógica Difusa
GT-JEDI – Jogos DigitaisInteligência Artificial para Jogos
UNISINOS
Prof. MSc. João Ricardo Bittencourt
Update: 20 Set. [email protected]
Agradeço e dedico estasaulas ao Prof. Osório
“Tome a pílulavermelha”
UNISINOS - João Ricardo Bittencourt
Sumário Conceitos básicos de lógica Conjuntos difusos Variáveis linguisticas Regras difusas Métodos de fuzzification/defuzzification Considerações Finais
UNISINOS - João Ricardo Bittencourt
Conceitos básicos Amplia a lógica booleana. Proposta por Loft
Zadeh em 1965. Considera termos do tipo: muito, pouco, alguns,
parcial, estável, fraco, forte, alto, baixo,... São termos difíceis de estabelecer um valor fixo O termo difuso está relacionado com o conceito
de imprecisão
UNISINOS - João Ricardo Bittencourt
Conceitos básicos Um elemento pode estar contido em vários
termos com graus de pertinência diferentes Por exemplo:
Na lógica booleana: Agora é dia OU é noite Na lógica difusa: Agora é dia E noite (com
graus diferentes de persistência)
UNISINOS - João Ricardo Bittencourt
Conjuntos difusos Define o quanto que um objeto pertence a um
conjunto São usadas as funções de pertinência
(membership function) Podem ser usadas diferentes funções
Linear, normal, gaussiana, ascendente, descedente, sigmóide, constante, triangular, trapezoidal,...
UNISINOS - João Ricardo Bittencourt
Conjuntos difusosTriangular
Trapezoidal
Descendente
Ascendente
UNISINOS - João Ricardo Bittencourt
Variáveis lingüísticas Trata-se de uma associação de um adjetivo à um
conjunto difuso Uma determinada variável pode ser adjetivada
com vários termos (funções difusas) Idade Muito jovem, jovem,velho, muito velho→
UNISINOS - João Ricardo Bittencourt
Variáveis lingüísticas Temperatura Muito baixa,baixa, normal, alta, →
muito alta
temperature
Otemperature
0
1
353227 36.5 37.5 40 41 43
very_highhighnormallowvery_low
UNISINOS - João Ricardo Bittencourt
Variáveis lingüísticas Sarampo Nula, Baixa, Pode ser, Alta→
sarampo
Osarampo
0
1
5
highmaybelownull
10 5030 8070 95
UNISINOS - João Ricardo Bittencourt
Regras difusas São regras do tipo IF ... THEN entretanto utiliza
variáveis linguísticas Todas as regras difusas são ativadas na
inferência com graus diferentes
IF age IS very_young THEN sarampo IS high IF age IS old AND febre IS alta THEN sarampo IS
maybe IF age IS very_old THEN sarampo IS null ...
UNISINOS - João Ricardo Bittencourt
Regras difusasTemperature
very_low low normal high very_high
Age
very_young null low maybe high highyoung null null low maybe highold null null null low lowvery_old null null null null low
Quadro resumo das regras
UNISINOS - João Ricardo Bittencourt
Inferência difusa
UNISINOS - João Ricardo Bittencourt
Inferência difusa As variáveis precisas (crisp) são lidas do ambiente
(exemplo, idade = 48 anos) Precisam ser “fuzzyficadas” aplicar o valor sob os →
conjuntos difusos da variável linguística very_young = 0.0 young = 0.25 old = 0.25 very_old = 0.0
Todas as variáveis de entrada precisam passar por este processo de fuzzification
UNISINOS - João Ricardo Bittencourt
Inferência difusa Agora para cada regra difusa aplica-se as variáveis
difusas na condicional A variável difusa da conseqüência da regra (THEN)
recebe um grau a partir das variáveis antecedentes A operação AND O menor valor dos conjuntos→
Se o valor do grau da conseqüência for maior que seu grau atual então o grau é substituído pelo maior
UNISINOS - João Ricardo Bittencourt
Inferência difusa Exemplo
IF age IS old AND febre IS alta THEN sarampo IS pode_ser
Se old é 0.25, alta é 0.1, then poder_ser da variável sarampo recebe 0.1
No término da inferência todas as variáveis de saída possuem seus termos com algum grau de pertinência
É feito o processo de defuzzification para tornar as variáveis precisas novamente
UNISINOS - João Ricardo Bittencourt
Inferência difusa Podem ser usados os seguintes métodos:
Máximo, média dos máximos, média local dos máximos, centro de gravidade (centróide), centro da área, centro da média
UNISINOS - João Ricardo Bittencourt
Considerações Finais Isto tudo pode ser usado em jogos???
Claro! Pode ser usado como módulo de controle dos agentes
É um sistema especialista só com regras difusas Já foram feitos alguns projetos finais no curso
usando Lógica Difusa Veja o site do FuzzyF
Framework desenvolvido em Java distribuído sob a licença GNU GPL
http://www.inf.unisinos.br/~jrbitt/fuzzyf