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 No Alguns Sim >60 No no Reserva? Alternar? sim Sex/Sab? Sim Alternar? Cheio Esperar? 30-60 10-30 0-10 Sim

Com Fome?

Bar?

Sim

No

Sim

No

Chovendo?

No

Sim

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

8 AM

9 AM

Parados

Longa

Acidente

Sim

No

Sim

No

Curta

Longa

Mdia

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 Alvo Durao Longa Longa Curta Longa Longa Curto Curto Mdio Longa Longa Curta Longa Mdio

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

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

8 AM

9 AM

{D3,D6, D7, D10, D11) [4C, 0M, 1L] ?

{D1, D2, D12) [0C, 0M, 3L] Longa

{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