P. 1
Inteligência Artificial para Jogos - Lógica Difusa

Inteligência Artificial para Jogos - Lógica Difusa

|Views: 449|Likes:
Aula 7 - Inteligência Artificial para Jogos
Curso de Jogos Digitais - UNISINOS www.unisinos.br/jogos
(Aula criada com apoio do Prof.Dr. Fernando Osório) Licença: Creative Commons - Atribuição-Uso não-comercial-Compartilhamento (BY-NC-SA) http://creativecommons.org/licenses/by-nc-sa/2.5/br/
Aula 7 - Inteligência Artificial para Jogos
Curso de Jogos Digitais - UNISINOS www.unisinos.br/jogos
(Aula criada com apoio do Prof.Dr. Fernando Osório) Licença: Creative Commons - Atribuição-Uso não-comercial-Compartilhamento (BY-NC-SA) http://creativecommons.org/licenses/by-nc-sa/2.5/br/

More info:

Categories:Types, Speeches
Published by: João Ricardo Bittencourt on Sep 22, 2010
Direitos Autorais:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

08/15/2011

pdf

text

original

Inteligência Artificial para Jogos

Lógica Difusa
Prof. MSc. João Ricardo Bittencourt

Update: 20 Set. 2010 joaorb@unisinos.br

“Tome a pílula vermelha”
Agradeço e dedico estas aulas ao Prof. Osório

GT-JEDI – Jogos Digitais Inteligência Artificial para Jogos UNISINOS

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 difusos
Triangular Descendente

Trapezoidal

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
Otemperature 1 very_low low normal high very_high

0

27

32

35 36.5 37.5

40 41

43

temperature

UNISINOS - João Ricardo Bittencourt

Variáveis lingüísticas

Sarampo → Nula, Baixa, Pode ser, Alta
Osarampo 1 null

low

maybe

high

0

5

10

30

50

70 80

95

sarampo

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 difusas
very_young young old very_old very_low null null null null low low null null null Temperature normal high very_high maybe high high low maybe high null low low null null low

Age

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
UNISINOS - João Ricardo Bittencourt

You're Reading a Free Preview

Descarregar
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->