Você está na página 1de 5

Universidade Federal de Santa Maria

Departamento de Eletrnica e Computao


Prof. Cesar Tadeu Pozzer
Disciplina de Programao de Jogos 3D
E-mail: pozzer@inf.ufsm.br
Perodo: 2006/01

Aprendizado por rvores de Deciso


rvores de deciso (Decision Trees) so ferramentas que podem ser utilizadas para dar
ao agente a capacidade de aprender, bem como para tomar decises. A idia de
aprendizado que os perceptors (elementos do agente que percebem o mundo) no sejam
usado apenas para agir, mas tambm para aumentar a capacidade do agente de agir no
futuro [4]. O aprendizado ocorre na medida que o agente observa suas interaes com o
mundo e seu processo interno de tomada de decises. Aprendizado de rvores de deciso
um exemplo de aprendizado indutivo: Cria uma hiptese baseada em instncias
particulares que gera concluses gerais.
rvores de deciso so similares a regras if-then. uma estrutura muito usada na
implementao de sistemas especialistas e em problemas de classificao. As rvores de
deciso tomam como entrada uma situao descrita por um conjunto de atributos e
retorna uma deciso, que o valor predizido para o valor de entrada. Os atributos de
entrada podem ser discretos ou contnuos. Para os exemplos tratados, sero considerados
apenas valores discretos. O aprendizado de valores discretos chamado classificao [4].
A rvore de deciso chega a sua deciso pela execuo de uma seqncia de testes. Cada
n interno da rvore corresponde a um teste do valor de uma das propriedades, e os
ramos deste n so identificados com os possveis valores do teste. Cada n folha da
rvore especifica o valor de retorno se a folha for atingida.
Para melhor compreender o funcionamento de uma rvore de deciso, vamos considerar
o exemplo da Figura 1. Considera-se o problema de esperar para jantar em um
restaurante. O objetivo aprender a definio para DeveEsperar. Para qualquer problema
de rvore de deciso, deve-se inicialmente definir atributos disponveis para descrever
exemplos de possveis casos do domnio. So adotados os seguintes atributos: alternar de
restaurante, ir para um bar, dia sa semana, estar com fome, nmero de fregueses, preo da
comida, clima, se foi feita reserva, tipo do restaurante, estimativa de espera. Os atributos
preo e tipo de comida, por serem de pouca importncia, foram desconsiderados.

Fregueses
Nenhum

Alguns

No

Cheio

Sim

Esperar?

>60
No

Alternar?
no

Reserva?

Bar?

Sim

No

Sim

30-60

10-30

0-10

Com Fome?

Sim

sim
Sex/Sab?

No

Sim

Sim

Alternar?

No

Chovendo?

No

Sim

Figura 1: Exemplo de uma rvore de deciso para o problema de espera para jantar em
um restaurante [4].
Em uma rvore de deciso, o conhecimento representado em cada n que, ao ser
testado, pode conduzir a busca a um de seus filhos. Deste modo, descendo da raiz em
direo as folhas da rvore, pode-se selecionar a configurao do sistema, e deste modo o
comportamento associado [3].
Como segundo exemplo, pode-se atribuir ao n raiz uma classificao do tipo de
personagem, que pode pertencer ao mesmo time ou ser um adversrio. O segundo nvel
pode se classificar de acordo com o tipo de arma sendo utilizada, e as folhas como o
comportamento associado a cada configurao. Por exemplo, se for encontrado um
inimigo com uma arma potente, a ao indiciada fugir (Flee).
Como terceiro exemplo, vamos considerar a situao de ir ao trabalho pela manh.
Deseja-se saber qual o tempo estimado da viagem. A Figura 2 apresenta a rvore de
deciso para este problema. Mas surge uma pergunta: como esta rvore e a rvore da
Figura 1 so geradas? A resposta a partir de exemplos de caso do domnio. A Tabela 1
ilustra alguns exemplos de casos de domnio para o problema da Figura 2.

Hora

10 AM

Curta

9 AM

Longa

Parados

Sim

8 AM

Acidente

No

Sim

Longa

Mdia

No

Longa

Figura 2: rvore de deciso para durao de viagem esperada

Tabela 1: Exemplos de experincias de direo no trnsito


Amostra
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D13
D13

Hora (AM)
8
8
10
9
9
10
10
9
9
10
10
8
9

Atributos
Clima
Acidentes
Sol
No
Nuvem
No
Sol
No
Chuva
Sim
Sol
Sim
Sol
No
Nuvem
No
Chuva
No
Sol
Sim
Nuvem
Sim
Chuva
No
Nuvem
Sim
Sol
No

Parados
No
Sim
No
No
Sim
No
No
No
No
Sim
No
No
No

Alvo
Durao
Longa
Longa
Curta
Longa
Longa
Curto
Curto
Mdio
Longa
Longa
Curta
Longa
Mdio

A grande questo desta tecnologia como a rvore pode ser gerada, ou seja, como
escolher as regras mais importantes e quais regras podem ser descartadas da rvore.
Como regra, o ideal que a rvore tenha as regras mais importantes prximas a, ou seja,
as que melhor classificam a entrada. Com isso, espera-se resolver o problema aplicandose o menor nmero de regras.

Node criaArvore (exemplos, atributoAlvo, atributos)


{
se todos exemplos tem o mesmo valor de atributoAlvo
retorna a folha com o valor
seno se o conjunto de atributos vazio
retorna a folha com o valor de atributoAlvo mais comum entre os exemplos
seno
{
A = melhor atributo entre atributos com um variaes v1, v2, .. vk
Particione os exemplos segundo seus valores para A em conjuntos S1, S2, ...Sk
Crie um n de deciso N com atributo A
Para i=1 at K
Conecte um no B para o n N com teste vi
Se Si tem elementos (no vazio)
Conecte ramo B a criaArvore(Si, atributoAlvo, atributos {A})
Senao
Conecte B para a folha do n com atributoAlvo mais comum
Retorna no N
}
}

Algoritmo 1: Algoritmo de aprendizado para rvores de deciso

Quando a funo chamada, passam-se todos os elementos do conjunto de treinamento


(D1, D2, ... Dn), o atributo alvo (Durao) e o conjunto de atributos disponveis para
serem escolhidos (Hora, Clima, Acidente, Parados). O algoritmo escolhe o melhor
atributo para repartir as instncias e criar o n de deciso correspondente. A Figura 3
mostra a rvore de deciso depois da escolha do atributo hora como o melhor atributo
para dividir os exemplos. Cada n possui um conjunto com os exemplos restantes e um
histograma dos exemplos de acordo com o atributo alvo. Por exemplo, para a raiz temos
4 curtos, 2 mdios e 7 longos.
{D1, D2, D13)
[4C, 2M, 7L]
Hora

10 AM

{D3,D6, D7, D10, D11)


[4C, 0M, 1L]
?

8 AM

{D1, D2, D12)


[0C, 0M, 3L]
Longa

9 AM

{D4, D5, D8, D9, D13)


[0C, 2M, 3L]
?

Figura 3: rvore de deciso parcialmente construda, com o atributo hora na raiz.

A recurso do algoritmo pra quando uma das trs condies for verdadeira:
Todos os exemplos tm o mesmo atributo alvo:

No existem mais atributos


No existem mais exemplos.

O algoritmo heurstico mais conhecido para a escolha do melhor atributo o ID3. Ele
baseado no clculo da entropia, ou seja, na escolha inicial de atributos que minimizem a
entropia, a qual quantifica variao em um conjunto de exemplos em relao aos valores
do atributo alvo.
O primeiro jogo de entretenimento a utilizar rvores de deciso com sucesso foi o
Black&White. Neste jogo as ADs so utilizadas para representar as informaes sobre as
experincias que a criatura tem ao longo do jogo, por exemplo, as experincias sobre que
tipos de objetos que foram comidos. Desta forma, em ocasies futuras, a criatura capaz
de tomar decises sobre que tipo de objetos que so mais apropriados para comer [2]. A
IA aprende por experincia, ou seja, analisando jogadas j realizadas pelo jogador, e a
que direo cada jogada conduziu.
Toda vez que a criatura faz alguma coisa, ela grava as reaes do jogador e usa a tupla
(ao, resposta do jogador) como entrada no mecanismo de induo para construir a
rvore de deciso que guia a escolha de aes futuras. Assim, a criatura tende a realizar
aes que foram recompensadas pelo jogador, e evitar as demais.

Referncias:
[1] Ryan Houlette, Dan Fu. Construction a Decision Tree Based on Past Experience.
In: AI Game programming wisdom 2. Charles River Media, 2004.
[2] Richard Evans. Varieties of Learning. In: AI Game programming wisdom. Charles
River Media, 2002.
[3] Tutorial: Machine Learning. Disponvel em:
http://www.gamasutra.com/gdc2005/features/20050307/postcard-sanchez-crespo.htm
[4] Stuart Russel, Peter Norvig. Artificial Intelligence, a modern Approach. Second
edition, Prentice Hall, 2003.

Você também pode gostar