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”
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
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
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
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
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, ...
UNISINOS - João Ricardo Bittencourt
CBR
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)
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
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
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
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
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
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>
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!
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
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
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
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
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
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|))