inteligência artificial para jogos - cbr e sistemas especialistas

21
Inteligência Artificial para Jogos CBR e Sistemas Especialistas GT-JEDI – Jogos Digitais Inteligência Artificial para Jogos UNISINOS Prof. MSc. João Ricardo Bittencourt Update: 13 Set. 2010 [email protected] Agradeço e dedico estas aulas ao Prof. Osório “Tome a pílula vermelha”

Upload: joao-ricardo-bittencourt

Post on 23-Jun-2015

440 views

Category:

Documents


5 download

DESCRIPTION

Aula 6 - 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/

TRANSCRIPT

Page 1: Inteligência Artificial para Jogos - CBR e Sistemas Especialistas

Inteligência Artificial para Jogos

CBR e Sistemas Especialistas

GT-JEDI – Jogos DigitaisInteligência Artificial para Jogos

UNISINOS

Prof. MSc. João Ricardo Bittencourt

Update: 13 Set. [email protected]

Agradeço e dedico estasaulas ao Prof. Osório

“Tome a pílulavermelha”

Page 2: Inteligência Artificial para Jogos - CBR e Sistemas Especialistas

UNISINOS - João Ricardo Bittencourt

Sumário Inteligência Artificial Simbólica CBR (Case based reasoning) Sistemas inteligentes

Predicados lógicos Sistemas especialistas Fatores de certeza

Page 3: Inteligência Artificial para Jogos - CBR e Sistemas Especialistas

UNISINOS - João Ricardo Bittencourt

IA Simbólica Aplicação de regras explícitas sob um conjunto

de símbolos Símbolo é um signo (marca,sinal) que

referencia um objeto/conceito Ênfase em representar os conceitos ao invés de

enfocar a aprendizagem Os símbolos são a essência de um sistema

cognitivo

Page 4: Inteligência Artificial para Jogos - CBR e Sistemas Especialistas

UNISINOS - João Ricardo Bittencourt

IA Simbólica Como representar estes símbolos

(conhecimentos)? Como manipulá-los? Analogia – Case Based Reasoning Inferência – Sistemas baseados em regras Incerteza/possibilidade – certainty factor,

lógica difusa Probabilidade – redes bayesianas Linguagens – paradigma lógico – PROLOG Representação de alto nível conhecimento

• Senso comum, redes semânticas, ontologia

Page 5: Inteligência Artificial para Jogos - CBR e Sistemas Especialistas

UNISINOS - João Ricardo Bittencourt

CBR Princípios básicos

“Problemas similiares tem soluções similares” “Problemas tem a tendência de se repetirem” “Aprendizado através das experiências

práticas” Raciocínio baseado em casos

Modelo cognitivo humano Novos problemas são resolvidos pela

adaptação das soluções dos problemas passados

Page 6: Inteligência Artificial para Jogos - CBR e Sistemas Especialistas

UNISINOS - João Ricardo Bittencourt

CBR Para cada caso:

Conjunto de atributos• Quantitativos e qualitativos

Solução• Série de passos para resolver o problema

Adicional• Informações extras – sites, imagens,

vídeos, comentários, ...

Page 7: Inteligência Artificial para Jogos - CBR e Sistemas Especialistas

UNISINOS - João Ricardo Bittencourt

CBR

Page 8: Inteligência Artificial para Jogos - CBR e Sistemas Especialistas

UNISINOS - João Ricardo Bittencourt

CBR Atributos numéricos (quantitativos)

Similaridade euclidiana• (C1A1A2, C2A1A2) = SQRT ( SQR(C2A1 - C1A1) + SQR(C2A2 - C1A2) )

Similaridade normalizada• (C1A1, C2A1) = 1 - | C2A1 - C1A | / ( ValMax - ValMin)

Similaridade ponderada• Peso_A1 * Distância (C1A1, C2A1) + Peso_A2 * Distância (C1A2,C2A2)

Page 9: Inteligência Artificial para Jogos - CBR e Sistemas Especialistas

UNISINOS - João Ricardo Bittencourt

CBR Atributos textuais (qualitativos)

Similaridade binária Similaridade da ordem pré-definida Similaridade usando tabela de relações Similaridade entre textos

Page 10: Inteligência Artificial para Jogos - CBR e Sistemas Especialistas

UNISINOS - João Ricardo Bittencourt

Predicados lógicos Coleção de fatos + coleção de regras Prolog é o principal exemplo de uso de predicados

lógicos Baixem o SWI-Prolog. Programa gratuito

http://www.swi-prolog.org/ Podem ser feitas várias inferências sobre a base de

fatos Exemplos familia.pl e familia2.pl

http://www.inf.furb.br/~jomi/logica/exercicios/familia/index.html

Page 11: Inteligência Artificial para Jogos - CBR e Sistemas Especialistas

UNISINOS - João Ricardo Bittencourt

Sistemas Especialistas Programa desenvolvido para resolver problemas

considerando o conhecimento de um especialista Um sistema especialista é formado por:

Base de conhecimentos – regras sobre o domínio

Memória de trabalho – os fatos coletados sobre o problema em questão

Máquina de inferência – combinar fatos e regras para chegar à conclusões sobre o problema

Page 12: Inteligência Artificial para Jogos - CBR e Sistemas Especialistas

UNISINOS - João Ricardo Bittencourt

Sistemas Especialistas Exemplos de sistemas especialistas

DENDRAL• Desenvolvido em Stanford na década de 60• Resolver problemas de química orgânica

MYCIN• Desenvolvido em Stanford na década de 70

PROSPECTOR• Desenvolvido pela SRI International na

década de 70• Prospecção mineral

Page 13: Inteligência Artificial para Jogos - CBR e Sistemas Especialistas

UNISINOS - João Ricardo Bittencourt

Sistemas Especialistas Elicitação do conhecimento

Entrevistas com o especialista Representação para um determinado formato

Em geral utiliza-se sistemas baseados em regras Rule Based System (RBS)

Criação da base de conhecimento Fatos (pressupostos) + regras

Page 14: Inteligência Artificial para Jogos - CBR e Sistemas Especialistas

UNISINOS - João Ricardo Bittencourt

Sistemas Especialistas Regras do tipo IF..THEN

//DeduçãoIF <assertion> is True THEN

<new_assertion>

//ReaçãoIF <assertion> is True THEN

<conjunto de ações>

Page 15: Inteligência Artificial para Jogos - CBR e Sistemas Especialistas

UNISINOS - João Ricardo Bittencourt

Sistemas Especialistas IF antecedente THEN consequente

Se todos antecedentes (IF ...) são verdadeiros, então a regra é ativada

... e os consequentes são consideradas novas suposições

... e poderão ativar novas regras!

Page 16: Inteligência Artificial para Jogos - CBR e Sistemas Especialistas

UNISINOS - João Ricardo Bittencourt

Fatores de certeza Atribuir um valor de confiança para as regras e

fatos Os valores variam de -1 à +1

-1 indica que algo é totalmente falso +1 é totalmente verdadeiro 0 representa a dúvida

Não trata-se necessariamente de probabilidade, mas de quanto que o especialista confia na regra/fato

Page 17: Inteligência Artificial para Jogos - CBR e Sistemas Especialistas

UNISINOS - João Ricardo Bittencourt

Fatores de certezaFatosA CF=0.8C CF=0.9D CF=0.7E CF=0.5

RegrasR1: IF A THEN B CF=1.0R2: IF C and D and E THEN B CF=0.6

A

C

D

E

0.8

0.9

0.7

0.5

R1

R2

1.0

0.6 B

Page 18: Inteligência Artificial para Jogos - CBR e Sistemas Especialistas

UNISINOS - João Ricardo Bittencourt

Fatores de certezaFatosA CF=0.8C CF=0.9D CF=0.7E CF=0.5

RegrasR1: IF A THEN B CF=1.0R2: IF C and D and E THEN B CF=0.6

A

C

D

E

0.8

0.9

0.7

0.5

R1

R2

1.0

0.6 B

Pegar o menor CF dos antecedentes das regras

Page 19: Inteligência Artificial para Jogos - CBR e Sistemas Especialistas

UNISINOS - João Ricardo Bittencourt

Fatores de certezaFatosA CF=0.8C CF=0.9D CF=0.7E CF=0.5

RegrasR1: IF A THEN B CF=1.0R2: IF C and D and E THEN B CF=0.6

A

C

D

E

0.8

0.9

0.7

0.5

R1

R2

1.0

0.6 B

Multiplicar pelo CF dasregrasPara R1:

0.8 x 1.0 = 0.8Para R2:

0.5 x 0.6 = 0.3

Page 20: Inteligência Artificial para Jogos - CBR e Sistemas Especialistas

UNISINOS - João Ricardo Bittencourt

Fatores de certezaFatosA CF=0.8C CF=0.9D CF=0.7E CF=0.5

RegrasR1: IF A THEN B CF=1.0R2: IF C and D and E THEN B CF=0.6

A

C

D

E

0.8

0.9

0.7

0.5

R1

R2

1.0

0.6 B

Combinando as duas regras (R1 e R2 positivos)

0.8 + 0.3 x (1-0.8) = 0.86

0.3 + 0.8 x (1-0.3) = 0.86

0.86

Page 21: Inteligência Artificial para Jogos - CBR e Sistemas Especialistas

UNISINOS - João Ricardo Bittencourt

Fatores de certeza Combinando Cfs Novo CF (CFN) dado CF1 e CF2

Se CF1 e CF2 são positivos• CFN = CF1 + CF2 * (1-CF1)

Se CF1 e CF2 são negativos• CFN = CF1 + CF2 * (1+CF1)

Se CF1 e CF2 tem sinais opostos• CFN = (CF1 + CF2)/(1-Min(|CF1|,|CF2|))