Escolar Documentos
Profissional Documentos
Cultura Documentos
Cesar Tadeu Pozzer Disciplina de Programao de Jogos 3D E-mail: pozzer@inf.ufsm.br Perodo: 2006/01
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
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
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 } }
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
A recurso do algoritmo pra quando uma das trs condies for verdadeira: Todos os exemplos tm o mesmo atributo alvo:
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.