proposta e avaliação de um algoritmo para ranqueamento de ... · teoria de grafos. 4. redes ......

50
PROPOSTA E AVALIAC ¸ ˜ AO DE UM ALGORITMO PARA RANQUEAMENTO DE JOGADORES PROFISSIONAIS DE HEARTHSTONE BASEADO EM PAGERANK Bruno Tourinho Tomas Projeto de Gradua¸c˜ao apresentado ao Curso de Engenharia de Computa¸ c˜ao e Informa¸ c˜ao da Escola Polit´ ecnica da Universidade Federal do Rio de Janeiro como parte dos requisitos necess´ arios para a obten¸c˜ ao do grau de EngenheirodeComputa¸c˜aoeInforma¸c˜ ao. Orientador: Daniel Ratton Figueiredo Rio de Janeiro Julho de 2017

Upload: doancong

Post on 20-Jan-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

PROPOSTA E AVALIACAO DE UM ALGORITMO PARA RANQUEAMENTODE JOGADORES PROFISSIONAIS DE HEARTHSTONE BASEADO EM

PAGERANK

Bruno Tourinho Tomas

Projeto de Graduacao apresentado ao Cursode Engenharia de Computacao e Informacaoda Escola Politecnica da Universidade Federaldo Rio de Janeiro como parte dos requisitosnecessarios para a obtencao do grau deEngenheiro de Computacao e Informacao.

Orientador: Daniel Ratton Figueiredo

Rio de JaneiroJulho de 2017

PROPOSTA E AVALIACAO DE UM ALGORITMO PARA RANQUEAMENTODE JOGADORES PROFISSIONAIS DE HEARTHSTONE BASEADO EM

PAGERANK

Bruno Tourinho Tomas

PROJETO SUBMETIDO AO CORPO DOCENTE DO CURSO DEENGENHARIA DE COMPUTACAO E INFORMACAO DA ESCOLAPOLITECNICA DA UNIVERSIDADE FEDERAL DO RIO DE JANEIROCOMO PARTE DOS REQUISITOS NECESSARIOS PARA A OBTENCAO DOGRAU DE ENGENHEIRO DE COMPUTACAO E INFORMACAO.

Examinadores:

Prof. Daniel Ratton Figueiredo, Dr.

Prof. Alexandre Goncalves Evsukoff, Dr.

Prof. Ricardo Guerra Marroquim, Dr.

RIO DE JANEIRO, RJ – BRASILJULHO DE 2017

Tourinho Tomas, BrunoProposta e avaliacao de um algoritmo para

ranqueamento de jogadores profissionais de Hearthstonebaseado em PageRank/Bruno Tourinho Tomas. – Rio deJaneiro: UFRJ/POLI – COPPE, 2017.

XI, 39 p.: il.; 29, 7cm.Orientador: Daniel Ratton FigueiredoProjeto (graduacao) – UFRJ/ Escola Politecnica/ Curso

de Engenharia de Computacao e Informacao, 2017.Referencias Bibliograficas: p. 38 – 39.1. Algoritmos de Ranqueamento. 2. Jogos. 3.

Teoria de Grafos. 4. Redes Complexas. 5. E-sports. 6.PageRank. I. Ratton Figueiredo, Daniel. II. UniversidadeFederal do Rio de Janeiro, Escola Politecnica/ Curso deEngenharia de Computacao e Informacao. III. Tıtulo.

iii

A minha mae, Alda, e minha avo, Yolanda.(in memoriam)

iv

Agradecimentos

Em primeiro lugar, agradeco a Deus pela habilidade que me foi concedida, assimcomo pela forca e perseveranca depositadas em mim atraves de Sua vontade.

Agradeco a meu pai, Cecilio, pelo apoio incontestavel mesmo nos momentosmais difıceis. A minha irma, Ana Carolina, pelo suporte emocional, assim comopelas ajudas na redacao deste texto. O suporte da famılia em um momento taocrucial de minha vida certamente me fez mais forte para encarar este desafio.

Ao professor Daniel Figueiredo deixo meus mais sinceros agradecimentos pelaaceitacao em orientar esse trabalho com esse tema pouco usual, assim como peloincentivo e prestatividade nos momentos de duvidas.

Aos colegas da Engenharia de Computacao e Informacao, que tornaram a tra-jetoria pela UFRJ um pouco menos tortuosa, um agradecimento especial. Aos que,em algum momento da Graduacao, me ajudaram ou foram ajudados por mim, muitoobrigado. Voces me ensinaram o que a sala de aula nunca ira ensinar: companhei-rismo, amizade e admiracao. GGWP.

Well played!

v

Resumo do Projeto de Graduacao apresentado a Escola Politecnica/COPPE/UFRJcomo parte dos requisitos necessarios para a obtencao do grau de Engenheiro deComputacao e Informacao.

PROPOSTA E AVALIACAO DE UM ALGORITMO PARARANQUEAMENTO DE JOGADORES PROFISSIONAIS DE

HEARTHSTONE BASEADO EM PAGERANK

Bruno Tourinho Tomas

Julho/2017

Orientador: Daniel Ratton Figueiredo

Curso: Engenharia de Computacao e Informacao

Com a crescente popularizacao dos jogos eletronicos, surgem novas formas dedisputa. Nesse contexto, surgem os e-sports. Misturando elementos de esportes tra-dicionais com habilidades particulares dos games, esse mercado vem atraindo cadavez mais espectadores, patrocinadores e competidores. Comparados a verdadeirosatletas, os jogadores profissionais de e-sports vem buscando aperfeicoar suas formasde treinamento e seu desempenho. Logo, torna-se evidente a necessidade de para-metrizar elementos que auxiliem na analise de seus resultados, como por exemplo asclassificacoes e ranqueamentos. Este estudo propoe e avalia uma forma de classificaros jogadores profissionais de e-sports baseada em uma abordagem do algoritmo dePageRank, usando o caso do jogo de cartas Hearthstone como exemplo.

Palavras-Chave: Algoritmos de Ranqueamento, Jogos, Teoria de Grafos, RedesComplexas, E-sports, PageRank.

vi

Abstract of the Undergraduate Project presented to Poli/COPPE/UFRJ as a partialfulfillment of the requirements for the degree of Computer and Information Engineer.

PROPOSAL AND EVALUATION OF A RANKING ALGORITHMFOR HEARTHSTONE PROFESSIONAL PLAYERS BASED ON

PAGERANK

Bruno Tourinho Tomas

July/2017

Advisor: Daniel Ratton Figueiredo

Course: Computer and Information Engineering

With the growing popularity of eletronic games, new ways of competition emerge.In this context, e-sports have arisen. Mixing elements from traditional sports andgames particular skills, this market has been attracting more spectators, sponsorsand competitors every day more. Compared to real athletes, e-sports professionalplayers are seeking to enhance their training and performance. So, the need toestablish parameter elements that help analyze their results becomes evident, like,for instance, standings and rankings. This study proposes and evaluates a way torank e-sports professional players based on a PageRank algorithm approach, usingthe case of the cardgame Hearthstone as an example.

Keywords: Ranking Algorithms, Games, Graph Theory, Complex Networks,E-sports, PageRank.

vii

Sumario

Lista de Figuras x

Lista de Tabelas xi

1 Introducao 11.1 E-sports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Motivacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4 Tecnica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.5 Estruturacao do documento . . . . . . . . . . . . . . . . . . . . . . . 6

2 Trabalhos Relacionados 72.1 Algoritmos de ranqueamento . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.1 Nos esportes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.1.2 Na colaboracao cientıfica . . . . . . . . . . . . . . . . . . . . . 92.1.3 No Direito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 PageRank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2.1 Evolucoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3 Algoritmo proposto 113.1 Explicacao detalhada . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.1.1 Influencia do placar . . . . . . . . . . . . . . . . . . . . . . . . 113.1.2 Fator de decaimento temporal . . . . . . . . . . . . . . . . . . 123.1.3 Relevancia de torneios . . . . . . . . . . . . . . . . . . . . . . 133.1.4 Adaptacao do PageRank . . . . . . . . . . . . . . . . . . . . . 15

3.2 Implementacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4 Avaliacao 184.1 Dados coletados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.1.1 Tecnologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.1.2 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.1.3 Numeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

viii

4.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.2.1 Metricas utilizadas . . . . . . . . . . . . . . . . . . . . . . . . 254.2.2 Comparacao com outro metodo . . . . . . . . . . . . . . . . . 274.2.3 Campeoes mundiais . . . . . . . . . . . . . . . . . . . . . . . . 314.2.4 Jogadores notaveis . . . . . . . . . . . . . . . . . . . . . . . . 33

5 Conclusao e Trabalhos Futuros 355.1 Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

5.2.1 Abrangencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365.2.2 Novas metricas . . . . . . . . . . . . . . . . . . . . . . . . . . 365.2.3 Ranqueamentos regionais . . . . . . . . . . . . . . . . . . . . . 365.2.4 Outros e-sports . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Referencias Bibliograficas 38

ix

Lista de Figuras

1.1 Exemplos de cartas de Hearthstone . . . . . . . . . . . . . . . . . . . 3

3.1 Exemplo de modelagem de um confronto . . . . . . . . . . . . . . . . 123.2 Exemplo de rede para execucao do algoritmo de PageRank . . . . . . 16

4.1 Visualizacao parcial dos jogadores inseridos na base de dados . . . . . 204.2 Visao dos dados contidos na base Neo4j . . . . . . . . . . . . . . . . . 214.3 Quantidade de jogadores por numero de partidas disputadas por cada

jogador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.4 Quantidade de jogadores por numero de vitorias e derrotas . . . . . . 244.5 Comparacao entre o ranking GosuGamers e o PageRank sem efeitos

de tempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.6 Comparacao entre o ranking GosuGamers e o PageRank com efeitos

de tempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.7 Comparacao entre o ranking GosuGamers e o PageRank com efeitos

de tempo e relevancia de torneios . . . . . . . . . . . . . . . . . . . . 30

x

Lista de Tabelas

3.1 Exemplo de serie de Hearthstone disputada em melhor de 5 . . . . . 123.2 Modelo de torneios anuais de Hearthstone disputados entre 2014 e 2015 143.3 Definicao dos valores de relevancia de torneios . . . . . . . . . . . . . 15

4.1 Formato de uma linha do arquivo com os resultados das partidas . . . 194.2 Resultados do HCT Americas Spring Championship - junho de 2016 . 194.3 Numero de partidas coletadas por ano . . . . . . . . . . . . . . . . . 224.4 Jogadores com mais vitorias . . . . . . . . . . . . . . . . . . . . . . . 244.5 Primeiros colocados do PageRank para marco de 2017 sem efeitos

temporais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.6 Primeiros colocados do PageRank para marco de 2017 com efeitos

temporais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264.7 Primeiros colocados do PageRank para marco de 2017 com efeitos

temporais e de relevancia de torneios . . . . . . . . . . . . . . . . . . 264.8 Primeiras colocacoes do ranking GosuGamers - 12 de abril de 2017 . 284.9 Valores dos coeficientes de correlacao de Spearman . . . . . . . . . . . 294.10 Campeoes mundiais de Hearthstone por ano . . . . . . . . . . . . . . 324.11 Evolucao da classificacao dos campeoes mundiais no ranqueamento

sem efeito temporal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.12 Evolucao da classificacao dos campeoes mundiais no ranqueamento

com efeito temporal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.13 Evolucao da classificacao dos campeoes mundiais no ranqueamento

com efeito temporal e relevancia de torneios . . . . . . . . . . . . . . 334.14 Classificacoes do jogador DrHippi nos anos de 2016 e 2017 . . . . . . 334.15 Classificacoes do jogador ThijsNL entre os anos de 2014 e 2017 . . . . 34

xi

Capıtulo 1

Introducao

Com a popularizacao e a facilidade de acesso a varios dispositivos eletronicos, taiscomo smartphones, tablets, consoles e computadores com maior poder de proces-samento, o habito de jogar se tornou mais difundido na sociedade do seculo XXI.O que antes era restrito a um grupo de pessoas entusiastas no assunto e dispostasa pagar altas quantias por uma forma de entretenimento mais tecnologica, hoje setornou algo comum e rotineiro.

Alem disso, com a ubiquidade e o aumento da velocidade nas conexoes de inter-net, encontrar amigos ou ate mesmo desconhecidos para compartilhar a experienciade jogo se tornou algo trivial. O termo multiplayer deixou de representar um grupode pessoas reunidas no mesmo espaco fısico, compartilhando controles, e passou adenominar uma comunidade fisicamente distante, porem fortemente proxima atravesde suas acoes nos jogos.

1.1 E-sports

A pratica de esportes costuma ser, alem de uma atividade fısica, uma forma de so-cializacao entre pessoas com um interesse comum, podendo ser praticado de formacasual ou competitiva. Da mesma forma, pode-se estender essa premissa para osjogos eletronicos, com o benefıcio de proporcionar uma atividade de carater sociali-zador, podendo atingir o nıvel de competitividade desejado.

Dessa forma, cunhou-se o termo “e-sport”, em uma tentativa de relacionar acompetitividade dos esportes tradicionais ao universo dos jogos eletronicos.

Podemos citar como exemplos de jogos que possuem uma comunidade engajadano ambito dos e-sports, jogos bastante populares, tais como os jogos de batalhamultiplayer online League of Legends e DotA 2, os jogos de tiro em primeira pessoaCounter-Strike: Global Offensive e Overwatch, alem do jogo de cartas Hearthstone,dentre outros.

1

Quando se fala em aspectos competitivos, a constante busca do ser humano pormelhores resultados ocorre nao somente nos esportes, mas tambem de forma analogaem varias areas, como por exemplo na area academica ou no mundo corporativo [1].Um ambiente competitivo saudavel valoriza o destaque de um indivıduo peranteseus pares e estimula as pessoas a buscar o seu proprio desenvolvimento.

Baseado nesse contexto de perseguicao de uma melhora constante, surgem ascomparacoes entre pares. Classificacoes e ranqueamentos sao a forma mais concretade se medir o quao bom uma pessoa e em determinada habilidade. Apesar disso,classificar um grupo com caracterısticas individuais e resultados variados nao e umatarefa simples. Definir quais aspectos devem ser valorizados ou penalizados em umaeventual classificacao pode torna-la muito subjetiva. Por outro lado, concentrar-seem fatores puramente objetivos leva a uma perda de qualidade na analise, que deixade assimilar nuances presentes nos elementos intrınsecos a um jogo competitivo.

O resultado binario de “vitoria” ou “derrota” nao representa e nao deve repre-sentar a totalidade de uma analise classificatoria. Da mesma forma, observar cadaconfronto com o mesmo rigor pode levar a analises imprecisas. Logo, o equilıbrio deforcas nos confrontos tambem deve fazer parte de uma classificacao mais aprofun-dada.

Compilar esse conjunto dinamico de fatores, seja nos esportes tradicionais ounos e-sports, torna as analises, classificacoes e os rankings menos viesados para umdeterminado elemento dominante, tal como o resultado final de uma partida.

Para o presente estudo, foi escolhido o ranqueamento de jogadores profissionaisdo jogo de cartas virtuais Hearthstone, desenvolvido e publicado pela Blizzard En-tertainment, baseado no universo da famosa serie de jogos de estrategia em temporealWarcraft. Nele, cada jogador pode adquirir pacotes de cartas para aumentar suacolecao e construir baralhos mais poderosos para enfrentar outros jogadores.

O funcionamento basico de uma partida de Hearthstone envolve dois jogadorescompetindo um contra o outro diretamente. Cada um deles representa um heroi deuma das 9 classes disponıveis no jogo:

• Bruxo (Warlock)

• Cacador (Hunter)

• Druida (Druid)

• Guerreiro (Warrior)

• Ladino (Rogue)

• Mago (Mage)

• Paladino (Paladin)

2

• Sacerdote (Priest)

Cada classe possui uma caracterıstica diferente, possuindo forcas e fraquezasparticulares contra outras classes. Como exemplos podemos citar o mago, com umamecanica de jogo baseada em feiticos, enquanto o sacerdote utiliza muitos efeitos decura.

Em uma partida os jogadores devem usar um baralho, construıdo previamente,composto por 30 cartas. Existem cartas que podem ser utilizadas por todas asclasses, enquanto outras sao especıficas de uma classe ou de um grupo de classes.Ambos os jogadores iniciam a partida com 30 pontos de vida em seus herois. Ovencedor e aquele que levar os pontos de vida do heroi do oponente a 0 primeiro.Para isso, os jogadores podem usar tres tipos de cartas:

• Lacaios (figura 1.1(a)) , que sao as unidades basicas do jogo. Eles representamcriaturas com poder de ataque e pontos de vida que podem atacar uma vezpor turno;

• Feiticos (figura 1.1(b)) , que sao cartas que podem ser usadas apenas uma veze podem ter efeitos variados, como por exemplo causar dano a algum jogadorou lacaio, restaurar vida ou comprar cartas; e

• Armas (figura 1.1(c)) , que podem ser equipadas por um jogador e causamdano a um lacaio ou ao heroi adversario.

(a) Lacaio (b) Feitico (c) Arma

Figura 1.1: Exemplos de cartas de Hearthstone

Os principais fatores que determinam o vencedor em uma partida de Hearthstonesao a estrategia e o raciocınio. Apesar disso, sao frequentes as reclamacoes de

3

jogadores a respeito da quantidade de efeitos aleatorios presentes no jogo, os quaispodem prejudicar um melhor jogador em detrimento de outro menos experiente.

Embora tenha sido criado para ser um jogo casual, um cenario competitivo emer-giu ao longo do tempo. Durante o ano, diversos torneios sao realizados por variasassociacoes, incluindo a propria Blizzard, que organiza o Hearthstone ChampionshipTour, dividido em temporadas que qualificam os vencedores para o HearthstoneWorld Championship, o campeonato de nıvel mundial mais importante, realizadoanualmente desde 2014. Em 2016, o HWC contou com uma premiacao total de 1milhao de dolares, o que atrai milhares de jogadores ao redor do mundo a dedicaremmuitas horas aperfeicoando sua tecnica.

Buscando atingir uma visibilidade ainda maior para o jogo ao redor do mundo,a Blizzard organizou, em 2017, um torneio de nıvel mundial por equipes, chamadoHearthstone Global Games, onde cada paıs e representado por quatro jogadoresescolhidos atraves de votacao atraves da internet. A primeira fase da competicaocontou com a participacao de 48 paıses, o que demonstra a abrangencia da base dejogadores e o investimento em publicidade por parte da empresa.

1.2 Motivacao

E comum nos esportes a classificacao de atletas ou equipes atraves de rankings.Como exemplos podemos citar o ranking de selecoes da FIFA para o futebol, ouo ranking de atletas da ATP para o caso do tenis. Embora sejam classificacoeselaboradas pelas entidades responsaveis pelos respectivos esportes, podem existiroutras formas de classificacao alternativas desenvolvidas por terceiros. Cada umalevara em conta um conjunto de criterios escolhidos de forma a proporcionar umconjunto coerente de dados que avaliem o desempenho de um atleta ou uma equipe.

No caso dos e-sports e mais exatamente no caso do Hearthstone, nao existe umaclassificacao permanente de jogadores publicada pela propria desenvolvedora. O queexiste sao apenas ranqueamentos mensais de acordo com o desempenho em partidasranqueadas dentro do jogo e ranqueamentos sazonais, por pontos adquiridos atravesde altas classificacoes nas temporadas mensais ou em torneios disputados. Ao final,temos apenas uma classificacao estatica, que privilegia somente bons resultadosem torneios e nao leva em consideracao o desempenho intermediario dos jogadoresdentro da competicao, tampouco o equilıbrio de forcas entre os jogadores. Ganharde um adversario tido como “mais forte” ou “mais fraco” gera a mesma alteracaono ranqueamento.

Alem disso, nao existem muitas iniciativas que busquem construir um ranquea-mento permanente de jogadores de Hearthstone. O presente projeto busca exploraruma solucao para preencher esse vacuo, alem de servir de motivacao para iniciativas

4

semelhantes no futuro.Logo, dada a escassez de metodos publicos de classificacao e ranqueamento de jo-

gadores competitivos de Hearthstone, alem de contar com uma quantidade bastantesignificativa de dados de torneios disponıveis na internet, torna-se interessante reuniresses dois fatores em uma aplicacao concreta que conjugue o contexto cientıfico doestudo de redes complexas ao mercado ascendente da analise de dados em e-sports.

1.3 Objetivo

Tendo tal visao em mente, o objetivo do presente projeto e a proposicao e a ava-liacao de um algoritmo de ranqueamento de jogadores de Hearthstone, inspiradono conhecido algoritmo PageRank. Tal algoritmo sera adaptado para atender asnecessidades especıficas do objeto em estudo, com destaque para a variacao da im-portancia das vitorias e derrotas ao longo do tempo, assim como a relevancia dostorneios disputados.

1.4 Tecnica

Para a elaboracao de uma classificacao, serao utilizados apenas dados das parti-das ocorridas em torneios oficiais realizados pela propria desenvolvedora do jogo,Blizzard, no perıodo de agosto de 2014 a marco de 2017.

Com esses dados, constroi-se um grafo direcionado com pesos, onde os verticesrepresentam os jogadores, enquanto as arestas representam uma partida, geralmenterealizadas em formato melhor de 5 ou melhor de 7. As arestas partem do jogadorderrotado para o jogador vitorioso. Os pesos das arestas sao calculados podendo-selevar em conta os resultados (score) da partida, o tempo decorrido desde a realizacaoda partida, assim como a relevancia do torneio (preliminar regional, final regionalou mundial) do qual aquela partida fez parte. Esse grafo ira constituir uma “redede disputas”. As funcoes que calculam os pesos das arestas serao melhor detalhadasno capıtulo dedicado ao algoritmo proposto.

Terminada a execucao da rede de disputas, calcula-se o PageRank para cadaaresta e ordenam-se os jogadores em ordem decrescente de PageRank.

Para cada ranking, serao utilizadas tres metricas distintas, que tambem seraoexplicadas em detalhe no capıtulo dedicado ao algoritmo proposto, estando cadauma delas relacionada a uma das variaveis utilizadas no calculo dos pesos das arestas:placar da partida, influencia do tempo e relevancia do torneio.

A avaliacao consiste na aplicacao da tecnica supramencionada para o conjuntode partidas realizadas ate o final de cada ano (2014 a 2016), e ate marco de 2017.

5

Ao final, os resultados serao comparados com metricas externas, tais como oranking desenvolvido por outra organizacao, assim como a analise da progressao dejogadores notaveis ao longo do tempo.

1.5 Estruturacao do documento

No capıtulo 2 serao analisados alguns trabalhos relacionados ao tema, os quais servi-ram de inspiracao e motivacao para a realizacao do presente projeto. O capıtulo 3 iradetalhar o algoritmo proposto, assim como o aparato tecnologico utilizado para suaimplementacao neste projeto. O capıtulo 4 apresentara a coleta de dados realizada,assim como as execucoes do algoritmo em diferentes situacoes e a respectiva analisedos resultados obtidos. Finalmente, no capıtulo 5 serao apresentadas as conclusoesdo projeto, assim como sugestoes de extensoes e melhorias do tema para trabalhosfuturos.

6

Capıtulo 2

Trabalhos Relacionados

O presente capıtulo apresenta alguns trabalhos relacionados. Adiante, seguem exem-plos de aplicacoes de classificacao e ranqueamento de categorias especıficas, tais comoatletas e advogados, alem de iniciativas de ranqueamento que tambem utilizam oPageRank de alguma forma em suas metricas.

2.1 Algoritmos de ranqueamento

A ideia de classificar grupos atraves de metricas de redes nao e nova, tampoucolimita-se a ambientes diretamente competitivos, como os esportes. Abaixo, saoapresentados alguns trabalhos que aplicam a nocao de ranqueamento baseada emanalise das redes de colaboracao que as compoem.

2.1.1 Nos esportes

As aplicacoes mais imediatas dos algoritmos de ranqueamento se dao nos ambientesesportivos, onde ha uma indicacao direta de quem e o melhor jogador ou melhorequipe, tanto para fins de analise das equipes como do desempenho individual deatletas. Algumas delas consideram os resultados dos confrontos para uma analiseprincipal, embora nem todas as abordagens que serao vistas a seguir sigam essecaminho.

Futebol

Diferentemente do que e esperado em um ranqueamento de jogadores de futebol,este trabalho de um grupo de pesquisadores do MIT busca analisar e classificar osjogadores atraves da analise vetorial dos passes dados por jogadores do campeonatoespanhol de futebol, conhecida como La Liga, na temporada 2012-2013 [2]. Atravesda compilacao de sequencias de passes, mapeamento da trajetoria dos mesmos empares origem-destino ate a finalizacao para o gol, utilizando ferramentas de machine

7

learning, e possıvel definir um grau de relevancia para cada passe dado por umjogador. Ao final, pode-se estabelecer um ranking dos melhores jogadores da ligabaseado no valor medio dos graus de relevancia de todos os passes realizados pelosjogadores naquela temporada. Os resultados apresentaram discrepancias entre asclassificacoes tradicionais de gols e assistencias, mostrando que a mudanca na abor-dagem de um resultado pode influenciar diretamente na classificacao e na formacomo um atleta e bem ou mal avaliado em um ranqueamento.

Tenis e MMA

Muitas vezes procura-se saber quem e ou era o melhor jogador desde o comeco dostempos ate uma determinada data precisa. Com isso, o desempenho pregresso dosatletas deve ser levado em conta, porem considerando que resultados mais antigoscontribuem com menos informacoes sobre o estado atual de um atleta que resultadosmais recentes [3].

Neste trabalho, e sugerida uma representacao de confrontos baseada em grafosdirecionados, onde cada atleta e representado por um vertice e cada confronto erepresentado por uma aresta com origem no atleta perdedor e destino no vencedordaquele confronto.

E sugerida ainda a utilizacao de uma funcao de decaimento temporal do peso des-sas arestas, fazendo com que cada uma delas seja uma funcao de variavel temporal.Esta metrica e aplicada em ranqueamentos de atletas de tenis e de Artes MarciaisMistas, mais conhecida pela sigla em ingles MMA. Por fim, os ranqueamentos saocomparados com outras formas de classificacao externas atraves de coeficientes decorrelacao.

Outros trabalhos tambem exploraram formas de ranqueamento de jogadores detenis usando uma abordagem de redes aliada a modificacoes do PageRank. Em [4],aprofunda-se a nocao de encontrar o melhor jogador de tenis de cada ano. Adici-onalmente, faz-se uma classificacao dos jogadores por tipo de quadra, incluindo-seentao mais um fator de analise para a metrica em estudo.

Crıquete

Este trabalho concentra-se na ideia de valorizar a qualidade de uma vitoria, reali-zando uma metodologia bastante semelhante aos trabalhos ja mencionados. Nestecaso, a modelagem de uma rede e a aplicacao do PageRank tem como objetivosdefinir os melhores times de crıquete, assim como os melhores capitaes, fazendouma comparacao direta com o ranqueamento do Conselho Internacional de Crıquete(ICC) [5].

8

2.1.2 Na colaboracao cientıfica

Fora do universo esportivo tambem encontramos aplicacoes de medidas de classi-ficacao entre pares, como no caso da colaboracao entre cientistas. Com uma es-trategia de modelagem da rede de colaboracao de cientistas, metricas podem serutilizadas para se determinar a relevancia de cada um deles, de acordo com a quan-tidade de artigos publicados conjuntamento e o grau de interacao entre um cientistae outros mais relevantes [6].

2.1.3 No Direito

Neste caso, a utilizacao de redes permite elaborar um calculo razoavel da efetivi-dade de advogados com processos tramitados no Tribunal Regional do Trabalho, noEstado do Rio de Janeiro [7]. Atraves da relacao entre casos e representacoes decada uma das partes pelos advogados, e possıvel criar um grafo direcionado, ondeas arestas partem dos advogados que perderam o caso, tendo como destino aquelesque ganharam. Com essa rede, e possıvel calcular uma medida de “prestıgio” de umadvogado, e assim classifica-los de acordo com essa medida.

2.2 PageRank

O algoritmo PageRank foi criado como uma forma de medir a relevancia de paginasweb [8], tendo sido parte fundamental do mecanismo desenvolvido pela Google noinıcio de suas atividades como ferramenta de busca, sendo usado ainda hoje em seusprocessos, mesmo que com menor relevancia que no passado. A simplicidade daproposta e a sua importancia para o estudo de redes fazem dele um caso emblematico,com diversas aplicacoes em varias areas, indo muito alem da aplicacao inicial parapaginas da internet.

Para os idealizadores do PageRank, uma pagina web e mais relevante quantomaior for a quantidade de acessos a partir de outras paginas. Com essa ideia,supoe-se que ao navegar aleatoriamente pelas paginas havera maior probabilidadede se alcancar paginas mais referenciadas do que aquelas com menor quantidade dereferencias.

A equacao iterativa para calculo do PageRank e mostrada a seguir:

PR(u) = 1 − d

N+ d

∑v∈Bu

PR(v)L(v) (2.1)

Onde PR(u) e o valor do PageRank de uma pagina u qualquer, N o numerototal de paginas existentes, L(v), o numero de referencias em v, e Bu o conjunto daspaginas que referenciam u.

9

Por fim, d e o de fator de amortecimento (damping factor). Ele representa aprobabilidade que um visitante interrompa a navegacao a cada etapa. Com isso,define-se d tal que 0 < d < 1. Normalmente, d e definido como 0, 85 [8]. Cada passodo algoritmo executa essa funcao para todas as paginas, atualizando os valores dePageRank ate que os valores encontrados em iteracoes consecutivas convirjam.

Pode-se ainda generalizar um pouco mais a equacao (2.1) para receber valoresem uma rede com arestas de importancia desigual. Sendo assim, dois vertices podemse relacionar com maior ou menor forca. Alterando (2.1) para receber arestas compesos, chegamos a seguinte equacao:

PR(u) = 1 − d

N+ d ·

∑v∈Bu

PR(v)L(v) · wvu (2.2)

onde wvu e a aresta que parte de v e chega em u. Perceba que se o grafo nao possuirpesos, temos que wvu = 1 para quaisquer valores de u e v e (2.2) fica igual a (2.1).Para este trabalho, sera utilizada a generalizacao descrita em (2.2)

2.2.1 Evolucoes

Em uma tentativa de introduzir uma componente temporal, uma adaptacao doPageRank denominada T-Rank foi desenvolvida [9]. Ela evolui o algoritmo inicialdo PageRank ainda no estudo de paginas web e introduz o conceito de tempo,entendendo que a mudanca no arranjo da rede ao longo do tempo deve influenciara classificacao.

Todos os exemplos mencionados anteriormente podem ser modelados de forma se-melhante. As entidades podem ser representadas por vertices de um grafo, enquantorelacoes de dominancia entre entidades sao representadas por arestas direcionadas,partindo da entidade dominada para a dominante.

Na modelagem de paginas web, encontramos uma representacao similar. Torna-se logico, entao, transpor o modelo de calculo de relevancia de paginas em redepara fins de classificacao em outras formas de aplicacao, conforme os estudos previ-amente mencionados assim sugerem. Em [3] temos a utilizacao do PageRank paradeterminar a classificacao de atletas, tambem com a inclusao de uma nocao de com-portamento temporal. Ja em [7] e usado o mesmo algoritmo para calcular umamedida de eficiencia para advogados.

Sendo assim, tomando como base o PageRank, cada aplicacao implementa essealgoritmo com uma serie de alteracoes, de forma a contemplar necessidades maisespecıficas conforme a utilizacao em cada caso.

10

Capıtulo 3

Algoritmo proposto

O trabalho [3] apresentado no capıtulo de trabalhos relacionados sugere umaaplicacao do PageRank para a classificacao de atletas. Este mesmo trabalho propoeainda uma extensao do algoritmo PageRank original, incluindo uma funcao de de-caimento da importancia de um confronto ao longo do tempo.

O presente projeto busca inspiracao no trabalho elaborado em [3]. Embora o sis-tema de resultados nos esportes estudados em [3] seja bastante parecido com aquelevisto nos e-sports e, mais especificamente no caso do Hearthstone, algumas carac-terısticas particulares desses jogos devem ser incluıdas no algoritmo de classificacao.

Um dos principais desafios enfrentados na avaliacao de resultados e a conjugacaode diversos fatores dentro de uma mesma metrica. Como exemplo, podemos com-parar duas partidas, uma com resultado de 3x0 realizada dois anos atras e outracom placar 3x2 realizada 6 meses atras. Diferentes metricas irao propor diferentesmedidas de importancia para cada um dos elementos representados, tais como otempo decorrido desde a partida ou o placar final. Um dos intuitos do algoritmoproposto a seguir e avaliar uma metrica que envolva essa serie de fatores em umamedida concreta.

3.1 Explicacao detalhada

O algoritmo utilizado neste projeto foi descrito em linhas gerais no capıtulo deintroducao. Seus elementos particulares estao descritos em detalhe nas subsecoes aseguir.

3.1.1 Influencia do placar

Conforme ja descrito no capıtulo de introducao, um confronto competitivo de He-arthstone e disputado em uma serie de partidas no formato melhor de x, onde x eum numero inteiro ımpar. O primeiro jogador a vencer x+1

2 partidas e declarado o

11

vencedor da serie. Considere o seguinte confronto apresentado na tabela 3.1. Elerepresenta uma serie de melhor de 5 disputada entre dois jogadores A e B.

Jogo A B1 vitoria derrota2 derrota vitoria3 vitoria derrota4 vitoria derrota5 - -

Tabela 3.1: Exemplo de serie de Hearthstone disputada em melhor de 5

Pode-se observar que o jogador A venceu esta serie por um placar de 3x1. Noteque nao houve a necessidade do jogo 5 ocorrer, pois o jogador A ja havia vencido 3jogos.

Podemos modelar esse confronto na forma de um grafo direcionado. Os jogadoresA e B serao representados por nos, enquanto o confronto sera representado por umaaresta direcionada. Como A venceu o confronto contra B, a aresta tera origem em Be destino em A. A aresta tambem contara com um peso, que sera dado pela diferencaentre os placares do vencedor e do perdedor de um jogo. Podemos generalizar o pesode uma aresta da seguinte forma:

wij,g = Sg(j) − Sg(i) (3.1)

Onde i e j sao dois jogadores e g a g-esima vitoria de j sobre i. Sg(x) e o placardo jogador x no jogo g. A figura 3.1 mostra um confronto modelado dessa maneira.

Figura 3.1: Exemplo de modelagem de um confronto

No exemplo dos jogadores A e B exemplificado na tabela 3.1, temos que a arestaentre B e A tera peso wBA,g = 2.

3.1.2 Fator de decaimento temporal

Observar o desempenho de um atleta ao longo da sua carreira pode mostrar quenem sempre ele esteve na sua melhor forma. Com isso, ha uma variacao nos resul-tados obtidos por ele ao longo do tempo. Logo, ha uma tendencia a se considerar,

12

para efeitos de classificacao, apenas os ultimos resultados ou aqueles mais recentes,negligenciando resultados anteriores.

Embora menos significantes que os resultados mais atuais, o desempenho pre-gresso de um atleta faz parte de sua trajetoria. Partindo desse princıpio, pode-seelaborar uma medida que nao descarte resultados antigos de um jogador, tampoucoconsidere somente os resultados recentes. Isso e feito atraves da introducao de umfator de decaimento temporal para cada resultado. Com isso, quanto mais recentefor um resultado, mais importante ele sera para fins de avaliacao do jogador.

O valor de wij,g ate entao era invariavel. Agora ele sera transformado em umafuncao atraves da introducao do fator de decaimento temporal δ:

δ(t) = 1t− tg

(3.2)

onde tg e o tempo no qual foi realizado o confronto g.Logo, temos que a equacao de calculo da aresta wij,g passa a ser:

wij,g(t) = δ(t) · wij,g (3.3)

No presente trabalho, para fins de simplificacao, definimos t em meses, com t = 0representando o mes de agosto de 2014. Todos os calculos de t sao realizados a partirdessa data.

3.1.3 Relevancia de torneios

Na maioria dos esportes e tambem nos e-sports, sao realizados diversos torneioscom variados nıveis de abrangencia de jogadores, nıveis de habilidade e localizacaogeografica. O objetivo dessa secao e introduzir uma medida de distincao entre osvariados tipos de torneios que ocorrem anualmente no Hearthstone. Cabe ressaltarque os torneios estudados nesse trabalho sao aqueles de carater oficial realizadospela desenvolvedora do jogo, Blizzard, que se incluem dentro do conjunto chamadoHearthstone Championship Tour - HCT e o campeonato mundial denominado He-arthstone World Championship - HWC. Em linhas gerais, o campeonato mundial eo objetivo final do jogador de Hearthstone. Para disputar o HWC, e necessario seclassificar atraves dos torneios disputados no HCT, obtendo altas colocacoes nessestorneios.

Cada perıodo anual no Hearthstone e dividido em 3 temporadas:

• Inverno;

• Primavera; e

• Verao.

13

Geograficamente, os jogadores estao divididos em quatro regioes:

• Americas;

• Europa;

• Asia-Pacıfico; e

• China.

Entre os anos de 2015 e 2016, os torneios regionais eram disputados de acordo coma tabela 3.2.

Temporada Regiao Torneio

Inverno

AmericasAmericas Winter Preliminary

Americas Winter Finals

EuropaEurope Winter Preliminary

Europe Winter Finals

Asia-PacıficoAPAC Winter Preliminary

APAC Winter Finals

Primavera

AmericasAmericas Spring Preliminary

Americas Spring Finals

EuropaEurope Spring Preliminary

Europe Spring Finals

Asia-PacıficoAPAC Spring Preliminary

APAC Spring Finals

Verao

AmericasAmericas Summer Preliminary

Americas Summer Finals

EuropaEurope Summer Preliminary

Europe Summer Finals

Asia-PacıficoAPAC Summer Preliminary

APAC Summer Finals

RepescagemAmericas Americas Last CallEuropa Europe Last Call

Asia-Pacıfico APAC Last Call

Tabela 3.2: Modelo de torneios anuais de Hearthstone disputados entre 2014 e 2015

Note que a tabela 3.2 nao cita os torneios realizados no servidor da China. Issose deve ao fato de a China adotar modelos diferentes de qualificacao para os torneiosmundiais, cujos resultados nao estao disponıveis na internet. Para todas as demaisregioes cada um dos torneios finais, alem das repescagens, classifica o seu vencedorpara a final mundial.

14

Observando a tabela 3.2, pode-se notar um padrao recorrente: um torneio regi-onal preliminar qualifica o jogador para um torneio regional final, o qual qualificao vencedor para a final mundial. Nota-se nessa progressao um aumento do grau derelevancia dos torneios.

Baseado nessa premissa, define-se uma medida de relevancia de torneios, deno-minada ε, para cada torneio de acordo com as suas caracterısticas. Quanto maior ovalor de ε, maior a importancia de uma vitoria dentro daquele torneio para efeitosde classificacao e PageRank. Os valores de ε sao apresentados na tabela 3.3.

Tipo de torneio Relevancia (ε)Qualificatoria Regional 1

Final Regional 2Final Mundial 3

Tabela 3.3: Definicao dos valores de relevancia de torneios

Os valores de ε foram escolhidos de forma a manter uma ordem de grandezasemelhante ao valor das arestas definido em (3.1). A inclusao de um novo fatordeve impactar de forma significativa o resultado, porem sem oferecer uma vantagemdesleal a jogadores que disputaram partidas mais relevantes.

Portanto, vamos incluir o fator de relevancia de ε no calculo do valor da arestawij,g(t), ficando com a seguinte equacao:

wij,g(t) = ε · δ(t) · wij,g (3.4)

3.1.4 Adaptacao do PageRank

A partir da compilacao do exposto nas secoes anteriores, referente aos tres fatoresconsiderados no calculo do peso das arestas de um confronto, vamos adaptar oalgoritmo original do PageRank para refletir essas mudancas.

15

Figura 3.2: Exemplo de rede para execucao do algoritmo de PageRank

Como podemos observar na figura 3.2, o principal imprevisto que iremos en-frentar e a possibilidade de haver multiplas arestas entre dois jogadores. Isso seraresolvido substituindo todas as arestas entre dois jogadores, que estejam na mesmadirecao, por uma unica aresta cujo peso sera a soma dos pesos das arestas anteriores.Logo, temos que:

wij =∑

g∈E(i,j)wij,g (3.5)

onde E(i, j) e o conjunto de confrontos em que j venceu i.Relembrando a equacao (2.2), basta substituir as nomenclaturas. Finalmente,

chegamos a equacao que sera utilizada nas iteracoes do algoritmo proposto. Seja xi

a importancia do jogador i, seu PageRank, e α o fator de amortecimento. Temosentao que:

xi = 1 − α

N+ α

N∑j=1

xjwji

wj

(3.6)

onde:wj =

N∑l=1

wjl (3.7)

A seguinte formula derivada de (3.6) sera usada no algoritmo proposto, ondexi(k) representa a k-esima iteracao:

xi(k) = 1 − α

N+ α

N∑j=1

xj(k − 1) · wji

wj

(3.8)

Uma iteracao desse algoritmo e executada multiplicando-se o vetor x pela matrizde pesos da rede de disputas, a qual tem complexidade O(n2).

16

Tendo construıdo a equacao de calculo de xi(k), podemos conjuga-la com asequacoes (3.1), (3.3) e (3.4) para realizar tres metricas de ranqueamento baseadasno PageRank:

• Desconsiderando o decaimento temporal das arestas e relevancia de torneios;

• Considerando o decaimento temporal das arestas e desconsiderando a re-levancia de torneios; e

• Considerando o decaimento temporal das arestas e a relevancia dos torneios.

Essas tres metricas serao discutidas e aprofundadas no proximo capıtulo, junto coma apresentacao dos resultados.

3.2 Implementacao

Para a execucao do algoritmo de PageRank alterado conforme apresentado em (3.8),foi utilizada a linguagem de programacao Python, juntamente com a biblioteca demanipulacao de redes complexas NetworkX. Como os dados utilizados encontravam-se em um banco de dados Neo4j, foi usado ainda o respectivo driver de conexao comesta base.

A construcao da rede foi feita importando os dados da base atraves do driver,seguida da construcao da rede com auxılio do NetworkX, seguindo as diretrizescontidas no presente capıtulo, de forma a construir um grafo direcionado sem arestasmultiplas entre dois vertices. Os pesos das arestas foram definidos de forma analogaao descrito em (3.6). Finalizada a criacao da rede, foi executada uma chamadado algoritmo de PageRank, com um limite maximo de 100 iteracoes, tolerancia aconvergencia definida para 10-6 e fator de amortecimento 0, 85.

No proximo capıtulo sera discutida a tecnologia empregada na realizacao doprojeto, assim como a apresentacao e posterior analise dos resultados.

17

Capıtulo 4

Avaliacao

4.1 Dados coletados

Esta secao descreve os dados obtidos, assim como as formas de coleta e tratamentodos mesmos. Os dados coletados representam resultados reais obtidos em torneiosoficiais de Hearthstone, disponıveis publicamente atraves de diversas paginas deinternet especializadas no assunto, alem de plataformas online de competicao.

4.1.1 Tecnologia

O tratamento dos dados coletados foi implementado na linguagem de programacaoPython. Essa linguagem possui uma biblioteca de integracao com a base de dadosNoSQL orientada a grafos Neo4j, a qual foi utilizada para persistencia dos dadoscoletados.

Para evitar o trabalho desnecessario de implementacao do Neo4j, foi escolhido oservico de hospedagem de bases de dados Neo4j na nuvem GrapheneDB. Esse servicohospeda as referidas bases de dados em instancias da Amazon Web Services(AWS),simplificando o acesso aos dados e a manutencao da base.

4.1.2 Metodologia

A obtencao dos dados das partidas foi o primeiro desafio de implementacao desteprojeto. Para fins de delimitacao, foi definido que apenas os campeonatos oficiaisorganizados pela Blizzard Entertainment que fazem parte do Hearthstone Cham-pionship Tour, alem da final mundial, o Hearthstone World Championship, seriamconsiderados nesse estudo. Foram coletados os dados de partidas disputadas nosreferidos campeonatos entre setembro de 2014 e marco de 2017.

Os dados das partidas foram extraıdos de dois sites especializados em e-sports:a Liquipedia, pagina wiki de Hearthstone da equipe de e-sports Team Liquid, alem

18

da plataforma online de organizacao de campeonatos de e-sports Battlefy.Devido a limitacoes de tempo, a primeira etapa da coleta dos dados se deu de

forma manual. Cada competicao analisada gerou um arquivo de texto formatadopara ser tratado posteriormente por um script. Para garantir o mınimo de perdasde resultados devido a potenciais falhas ou dados incompletos, foi desenvolvido umoutro script para verificar inconsistencias nos arquivos.

Os arquivos com os dados das partidas foram formatados conforme a tabela 4.1:

nome vencedor nome perdedor score vencedor score perdedor

Tabela 4.1: Formato de uma linha do arquivo com os resultados das partidas

O script de inconsistencias verifica se cada linha do arquivo esta inserida con-forme a tabela 4.1. Caso alguma linha nao esteja, ele gera um relatorio apontandoquais linhas foram consideradas inconsistentes. Ao final da execucao, as linhasapontadas foram corrigidas, observando-se os resultados do torneio disponıveis nainternet.

Para exemplificar a exibicao de um arquivo com os resultados de um torneio, vejaa tabela 4.2, que mostra os resultados do Americas Spring Championship, realizadoem junho de 2016:

Cydonia Deerjason 4 3Napoleon duane 4 1

joster PNC 4 3Rosty Bradfordlee 4 2

Cydonia Napoleon 4 3Rosty joster 4 1

Cydonia Rosty 4 3

Tabela 4.2: Resultados do HCT Americas Spring Championship - junho de 2016

A seguir, um outro script foi criado para gerar uma lista unica de todos osjogadores presentes nos arquivos. Tal arquivo foi gerado para uniformizar a grafiados nomes que serao inseridos na base de dados, colocando-os em caixa alta. Aposessa etapa, um script faz a insercao de cada um dos nomes da lista na base de dadoscomo vertices do grafo. O resultado pode ser visualizado em parte na figura 4.1.Note que os resultados das partidas ainda nao foram inseridos na base, logo aindanao ha nenhuma aresta entre os vertices.

19

Figura 4.1: Visualizacao parcial dos jogadores inseridos na base de dados

Com os jogadores devidamente inseridos na base, passa-se entao a fase final deconstrucao do banco de dados, com a insercao dos resultados das partidas comoarestas do grafo. Novamente, tal acao sera realizada atraves de um script. Cadaaresta possui cinco informacoes notaveis, alem dos vertices de origem e destino:

• Placar do jogador vencedor (wscore);

• Placar do jogador perdedor (lscore);

• Numero de meses decorridos entre agosto de 2014 e a data de realizacao dapartida (time);

• Grau de relevancia do torneio (ε) no qual a partida foi disputada, de acordocom a tabela 3.3 (relevance); e

• Breve descricao do torneio, para fins de gerenciamento e debug (description).

Essas informacoes ficam armazenadas nas arestas da base de dados Neo4j. Afigura 4.2 mostra uma visao da base de dados apos a insercao das arestas.

20

Figura 4.2: Visao dos dados contidos na base Neo4j

Isso conclui a etapa de construcao da base de dados. Note que, como dois jo-gadores podem ter se enfrentado em mais de uma oportunidade, o grafo retratadona figura 4.2 e um multigrafo, podendo possuir mais de uma aresta direcionadapara o mesmo par de vertices. A construcao das redes de disputa se deu atraves dechamadas ao banco de dados na nuvem, o qual retorna os vertices e arestas corres-pondentes para construcao da estrutura de dados de maneira local pela bibliotecaNetworkX. O multigrafo representado na base de dados e entao transformado emum digrafo na representacao local, atraves da soma dos valores de todas as arestasdirecionadas (em um mesmo sentido) entre dois vertices, formando assim a rede dedisputa com apenas duas arestas direcionadas entre dois vertices, uma para cadasentido. Foram construıdas redes de disputa com as partidas realizadas em quatrointervalos de tempo distintos e posicionamento temporal t:

• De setembro de 2014 a dezembro de 2014, com t = 5 (janeiro de 2015);

• De setembro de 2014 a dezembro de 2015, com t = 17 (janeiro de 2016);

• De setembro de 2014 a dezembro de 2016 com t = 29 (janeiro de 2017); e

• De setembro de 2014 a marco de 2017, com t = 32 (abril de 2017).

Para cada uma dessas redes de disputa, foram executadas tres variacoes do al-goritmo PageRank:

21

• Desconsiderando efeitos de tempo e relevancia dos torneios, com pesos calcu-lados atraves de (3.1);

• Considerando apenas efeitos de decaimento de importancia ao longo do tempo,com pesos calculados atraves de (3.3); e

• Considerando efeitos de decaimento de importancia ao longo do tempo e cominfluencia da relevancia dos torneios, com pesos calculados conforme (3.4).

A discussao sobre cada uma das metricas acima sera feita na secao de resultadosdeste capıtulo.

4.1.3 Numeros

Ao final da fase de coleta, foram reunidos dados de 814 jogadores, com dados de2592 partidas, distribuıdas no tempo conforme a tabela 4.3.

Ano Partidas coletadas Jogadores2014 136 1012015 229 1162016 1744 6292017 483 169Total 2592 814

Tabela 4.3: Numero de partidas coletadas por ano

A quantidade de jogos disputada por um jogador corresponde a soma dos grausde entrada e saıda no grafo inicial presente na base de dados. A figura 4.3 mostraa frequencia de jogadores com determinada quantidade de jogos coletados. Pode-seobservar que a maioria dos jogadores disputou poucas partidas, enquanto algunspoucos disputaram uma quantidade muito grande.

22

0 10 20 30 400

50

100

150

Partidas disputadas

Qua

ntid

ade

dejo

gado

res

Figura 4.3: Quantidade de jogadores por numero de partidas disputadas por cadajogador

Ja na figura 4.4, sao apresentadas as frequencias de jogadores por numero devitorias (grau de entrada, em azul) e derrotas (grau de saıda, em vermelho). Pode-se observar uma grande concentracao de jogadores com uma quantidade baixa devitorias, enquanto poucos jogadores alcancam a marca de mais de 15 vitorias. Notocante as derrotas, observa-se que elas estao mais concentradas na faixa de 0 a 10partidas, com um alto numero de jogadores com 1 ou 2 partidas perdidas. Os resul-tados apresentados mostram uma tendencia a eventos de eliminacao, forma como ostorneios eram realizados ate o ano de 2016. Com esse metodo de disputa, o jogadorpode ser eliminado em poucas rodadas em caso de sucessivas derrotas. Em 2017,os torneios oficiais de qualificacao passaram a ser disputados em formato “suıco”,no qual todos os jogadores disputam uma quantidade de jogos preestabelecida e aclassificacao e realizada apenas ao final de todas as rodadas. Com isso, mesmo queum jogador perca as rodadas iniciais, ainda existe uma chance de alcancar vitorias,o que nao e possıvel em eventos de eliminacao.

23

0 5 10 15 20 25

0

100

200

300

400

Partidas

Qua

ntid

ade

dejo

gado

res Derrota

Vitoria

Figura 4.4: Quantidade de jogadores por numero de vitorias e derrotas

Por fim, e interessante analisar os jogadores que mais venceram partidas. Atabela 4.4 mostra os 20 jogadores com maior grau de saıda no multigrafo, ou seja,aqueles que mais venceram partidas.

Pos. Jogador Vitorias1 THIJSNL 261 PAVEL 263 DRHIPPI 254 AMNESIASC 235 NEIREA 206 DIZDEMON 196 SHTANUDACHI 196 TAREI 199 NOSTAM 179 GEORGEC 17

Pos. Jogador Vitorias9 IKEALYOU 1712 DUDE7597 1612 FIREBAT 1612 BUNNYHOPPOR 1612 HOTFORM 1612 OSTKAKA 1617 MUZZY 1517 HOTMEOWTH 1517 APXVOID 1520 GREENSHEEP 14

Tabela 4.4: Jogadores com mais vitorias

4.2 Resultados

Nesta secao serao apresentados os resultados obtidos atraves da execucao do algo-ritmo PageRank sob as tres metricas citadas anteriormente, assim como os quatrointervalos de tempo referidos na subsecao de metodologia. Devido a escassez de ini-ciativas semelhantes para o Hearthstone, torna-se difıcil efetuar comparacoes diretascom outros metodos de classificacao externos. Por essa razao, serao utilizadas outrasformas de avaliacao dos resultados, sobretudo nos ranqueamentos historicos. Serao

24

analisados tambem alguns casos de jogadores notaveis no cenario competitivo, rela-cionando sua trajetoria no Hearthstone ao posicionamento deles nos ranqueamentosrealizados nesse estudo. Dentre estes jogadores notaveis, sera feito um acompanha-mento dos ultimos campeoes mundiais, junto com sua evolucao nos ranqueamentos.

4.2.1 Metricas utilizadas

Considerando o mes de marco de 2017, ao executar o algoritmo para as tres metricasmencionadas nesse trabalho, observamos os seguintes resultados apresentados nastabelas 4.5, 4.6 e 4.7.

Pos. Nome PageRank1 DRHIPPI 0.0166912 PAVEL 0.0140843 NEIREA 0.0120644 SHTANUDACHI 0.0117225 FIREBAT 0.0104676 THIJSNL 0.0104437 TAREI 0.0097778 AMNESIASC 0.0089819 GEORGEC 0.00863610 SJOW 0.00832911 DIZDEMON 0.00736812 CASIE 0.00715113 HOTMEOWTH 0.00713714 CYDONIA 0.00696015 HOTFORM 0.006941

Pos. Nome PageRank16 DOCPWN 0.00684917 BUNNYHOPPOR 0.00648018 OSTKAKA 0.00642519 FR0ZEN 0.00634920 GREENSHEEP 0.00632821 MUZZY 0.00610622 INER 0.00610023 IKEALYOU 0.00603524 ROSTY 0.00602825 NOSTAM 0.00592526 DRJIKININKI 0.00583527 MONSANTO 0.00576328 YOITSFLO 0.00571129 POKROVAC 0.00521230 KOLENTO 0.005125

Tabela 4.5: Primeiros colocadoss do PageRank para marco de 2017 sem efeitostemporais

25

Pos. Nome PageRank1 SHTANUDACHI 0.0285642 NEIREA 0.0214483 PAVEL 0.0196934 DOCPWN 0.0175395 GREENSHEEP 0.0169496 FR0ZEN 0.0150357 TAREI 0.0150058 DRHIPPI 0.0143569 DRJIKININKI 0.01346010 SJOW 0.01316711 SAMUELTSAO 0.00903412 ANATKH 0.00822013 LVGE 0.00795914 AMNESIASC 0.00782615 IKEALYOU 0.007826

Pos. Nome PageRank16 POKROVAC 0.00766117 LOVELYCHOOK 0.00730118 THIJSNL 0.00706519 HOTMEOWTH 0.00675720 GEORGEC 0.00671021 RDU 0.00648122 MUZZY 0.00618723 DIZDEMON 0.00609924 SILENTSTORM 0.00582125 YOITSFLO 0.00579726 GRAYJ 0.00576627 FIREBAT 0.00573328 CYDONIA 0.00565529 ASTROGATION 0.00538030 INER 0.005079

Tabela 4.6: Primeiros colocados do PageRank para marco de 2017 com efeitos tem-porais

Pos. Nome PageRank1 SHTANUDACHI 0.0332792 PAVEL 0.0250553 DOCPWN 0.0226974 GREENSHEEP 0.0208815 FR0ZEN 0.0208266 NEIREA 0.0195527 TAREI 0.0195048 DRHIPPI 0.0188689 SAMUELTSAO 0.01470910 DRJIKININKI 0.01382711 LVGE 0.01299712 AMNESIASC 0.00992013 SJOW 0.00990714 HOTMEOWTH 0.00961415 THIJSNL 0.008386

Pos. Nome PageRank16 RDU 0.00837317 LOVELYCHOOK 0.00779318 IKEALYOU 0.00728819 CYDONIA 0.00687420 POKROVAC 0.00680421 FIREBAT 0.00652022 GEORGEC 0.00651223 SILENTSTORM 0.00580224 CHE0NSU 0.00560725 MUZZY 0.00555926 ANATKH 0.00542927 PALMBLAD 0.00540028 INER 0.00532629 YOITSFLO 0.00503530 DIZDEMON 0.004917

Tabela 4.7: Primeiros colocados do PageRank para marco de 2017 com efeitos tem-porais e de relevancia de torneios

26

Analisando as tabelas 4.5, 4.6 e 4.7, podemos observar alguns comportamentosque ajudam a compreender melhor o funcionamento e a importancia das metricasimplementadas.

Ao observar o comportamento do jogador DrHippi, pode-se ver que ele ocupa asposicoes 1, 8 e 8, nas tabelas 4.5, 4.6 e 4.7, respectivamente. Comparando o efeitoda ausencia da relevancia temporal com a sua presenca, pode-se perceber que estejogador foi favorecido na tabela 4.5, enquanto nos demais ranqueamentos houve umaqueda significativa na sua classificacao. Esse fato muito possivelmente se deve aofato de o jogador ter obtido bons resultados em algum momento do passado, masque sao penalizados pelo decaimento temporal nas tabelas 4.6 e 4.7.

Outro caso de destaque, porem no caminho inverso, e o do jogador ShtanUdachi.Ele ocupa a oitava posicao na tabela 4.5, e a primeira posicao nas tabelas 4.6 e 4.7.ShtanUdachi foi o campeao do Hearthstone Winter Championship, realizado emmarco de 2017, sendo assim o torneio mais recente disputado. Gracas a esse fator,suas vitorias muito recentes possuem grande relevancia e colaboram para a primeiracolocacao na tabela 4.6. Por se tratar de uma final mundial, possuindo relevanciaε = 3, o resultado de ShtanUdachi e potencializado na tabela 4.7, o colocando comainda mais forca na primeira posicao.

Esses dois exemplos demonstram que os efeitos de decaimento temporal e darelevancia dos torneios auxiliam o algoritmo a ponderar essas informacoes no mo-mento de efetuar o ranqueamento, fato que nao e observado quando se excluem essasvariaveis do calculo.

4.2.2 Comparacao com outro metodo

Uma das formas mais comuns de se medir a efetividade de uma classificacao ecompara-la com outras semelhantes ja estabelecidas e reconhecidas. Infelizmente,para o caso particular do Hearthstone, apenas uma organizacao mantem um ran-king contınuo e atualizado com frequencia: a GosuGamers. Dessa forma, podemosverificar o grau de correlacao entre a classificacao gerada pela GosuGamers e osranqueamentos que foram gerados a partir do PageRank neste estudo.

De forma a estabelecer uma medida de correlacao, foi consultada a classificacaomantida pela GosuGamers, atualizada no inıcio de abril de 2017. Para efeitos deestudo, foram considerados os 100 primeiros colocados. A porcao superior destaclassificacao pode ser vista na tabela 4.8.

27

Pos. Nome Paıs1 Pavel RUS2 Xixo GER3 Orange SWE4 Fr0zen USA5 rayC USA6 Cydonia CAN7 ShtanUdachi RUS8 AKAWonder ESP9 Muzzy USA10 ThijsNL NED11 hoej DEN12 StanCifka CZE13 Tars FRA14 Mitsuhide NED15 HotMEOWTH USA16 Amnesiasc USA17 Yoitsflo USA18 SuperJJ GER

Pos. Nome Paıs19 Rdu ROU20 SilverName RUS21 Ekop GER22 DrHippi UKR23 killinallday USA24 Lifecoach GER25 Kolento UKR26 Maverick BEL27 Astrogation USA28 Eloise CHN29 dude7597 USA30 PNC ARG31 Neirea UKR32 BunnyHoppor GER33 Th3RaT USA34 Coglorin BRA35 Leadpaint USA36 Docpwn CAN

Tabela 4.8: Primeiras colocacoes do ranking GosuGamers - 12 de abril de 2017

Para efetuar uma medida de comparacao entre os rankings apresentados nesteprojeto e o ranking produzido pela GosuGamers, sera utilizado o coeficiente de cor-relacao de Spearman (ρ), que determina o grau de correlacao entre duas classificacoespor postos.

A equacao que define o coeficiente de Spearman e apresentada a seguir:

ρ = 1 − 6 ∑d2

i

n3 − n(4.1)

onde di e a diferenca entre os postos de cada valor i nas duas classificacoes. ρ podeassumir valores entre −1 e 1. No caso de ρ = 1 temos que as duas classificacoessao linearmente correspondentes. No caso de ρ = −1, as duas classificacoes saoinversamente correspondentes. Valores proximos de −1 ou 1 indicam tendencias aesses comportamentos [10].

Para o calculo do coeficiente de Spearman nos ranqueamentos efetuados, foramutilizados os dados dos 89 jogadores mapeados que figuravam entre as 100 primeirasposicoes da classificacao da GosuGamers. Nas figuras 4.5, 4.6 e 4.7 pode-se observaro comportamento da correlacao entre os dois rankings para cada uma das metricasutilizadas nesse estudo. A tabela 4.9 apresenta os valores do coeficiente de Spearman

28

para cada uma das metricas utilizadas.

Metrica ρ

Sem tempo 0,3817Com tempo 0,3357

Com tempo e relevancia 0,3178

Tabela 4.9: Valores dos coeficientes de correlacao de Spearman

0 20 40 60 800

20

40

60

80

Ranking GosuGamers

Page

Rank

Figura 4.5: Comparacao entre o ranking GosuGamers e o PageRank sem efeitos detempo

No caso do ranqueamento sem efeitos de tempo, o valor do coeficiente encontradofoi ρ = 0, 3817. Observando a figura 4.5, percebe-se que nao existe uma correlacaolinear evidente entre os dois ranqueamentos, ocorrendo grande dispersao dos dados.o valor de ρ encontrado sugere alguma relacao entre os dois ranqueamentos, aindaque fraca.

29

0 20 40 60 800

20

40

60

80

Ranking GosuGamers

Page

Rank

Figura 4.6: Comparacao entre o ranking GosuGamers e o PageRank com efeitos detempo

Para o caso do ranqueamento com influencia do tempo, o valor encontrado foi deρ = 0, 3357. Comparado ao primeiro coeficiente calculado, ocorreu uma diminuicaodo grau de correlacao, o que pode indicar que a classificacao da GosuGamers naoconsidera com tanta importancia o efeito de perda de importancia de resultados aolongo do tempo.

0 20 40 60 800

20

40

60

80

Ranking GosuGamers

Page

Rank

Figura 4.7: Comparacao entre o ranking GosuGamers e o PageRank com efeitos detempo e relevancia de torneios

Para o caso mais abrangente, que considera o efeito temporal e a relevancia dostorneios, tem-se que o valor do coeficiente e ρ = 0, 3178, o que evidencia ainda mais odistanciamento das metricas consideradas no algoritmo do metodo de ranqueamentoda GosuGamers.

30

Analisando conjuntamente todos esses resultados, pode-se concluir que o graude correlacao entre o algoritmo com as metricas propostas e a classificacao da Go-suGamers e fraco.

Embora a GosuGamers nao apresente uma metodologia precisa para o calculo doseu ranking, podem-se inferir algumas das estrategias utilizadas. Primeiramente, aGosuGamers utiliza um sistema de pontos, no qual os jogadores ganham ou perdempontos baseado nas suas vitorias ou derrotas. De forma similar ao que e feito nesseestudo, a importancia dos torneios disputados interfere na quantidade de pontos quesao ganhos ou perdidos. Porem, quando tratamos de considerar a importancia dasvitorias passadas ao longo do tempo, encontramos uma grande diferenca. A unicapenalizacao por tempo que e utilizada nessa classificacao e aquela por inatividade.Ou seja, se um jogador passar algum tempo sem competir, ele perde alguns pontosno seu rating, o que pode fazer com que ele perca posicoes na classificacao, poremseus resultados passados permanecem relevantes.

Outra grande diferenca entre a classificacao da GosuGamers e os ranqueamentosapresentados aqui se referem ao escopo dos torneios analisados. Enquanto esteestudo se concentra apenas em torneios organizados pela Blizzard, a GosuGamersconsidera eventos organizados por outras associacoes, tais como a Dreamhack e aSeatstory Cup. A contribuicao desses torneios no ranking gera uma forma de “ruıdo”para a comparacao com os ranqueamentos propostos neste trabalho.

Por esses motivos, embora represente um indicativo de classificacao, o rankingda GosuGamers nao define um padrao aceito de forma universal. A adocao de umaclassificacao e sua aceitacao pela comunidade deve passar, dentre outras avaliacoes,por uma analise comparativa com outras metodologias, fato que hoje nao e visto deforma aberta no ambiente competitivo de Hearthstone. Apesar disso, tal classificacaoatende de forma satisfatoria aos elementos comparativos mencionados neste estudo.

4.2.3 Campeoes mundiais

Quando se discute a classificacao de um esporte tradicional ou e-sport, e esperado queo campeao do torneio mais importante seja o primeiro ou um dos primeiros colocadosde uma classificacao. Porem a forma como um ranqueamento e desenvolvido podecontrariar essa ideia. Dessa forma, esta secao ira analisar os resultados dos campeoesmundiais de Hearthstone nos ranqueamentos estudados. A tabela 4.10 mostra osnomes dos campeoes mundiais de Hearthstone de cada ano.

31

Ano Campeao Vice-Campeao2014 Firebat TiddlerCelestial2015 Ostkaka Hotform2016 Pavel DrHippi

Tabela 4.10: Campeoes mundiais de Hearthstone por ano

As tabelas 4.11, 4.12 e 4.13 mostram a classificacao dos campeoes mundiais nosranqueamentos feitos a cada ano para cada metrica apresentada.

Jogador 2014 2015 2016 2017Firebat 1 1 3 5Ostkaka - 2 13 18

Pavel - 28 2 2

Tabela 4.11: Evolucao da classificacao dos campeoes mundiais no ranqueamento semefeito temporal

Note que, conforme esperado, o jogador Firebat alcanca o primeiro lugar daclassificacao em 2014. Porem, ao contrario do que se espera, ele permanece emprimeiro ao final de 2015, ano no qual o jogador Ostkaka foi campeao, aparecendoem segundo na classificacao. Da mesma forma, Pavel nao consegue alcancar o topoda tabela no ano em que foi campeao mundial, 2016. Esse efeito se deve a ausenciada diminuicao da importancia dos jogos passados ao longo do tempo. Isso faz comque Firebat mantenha a primeira posicao por dois anos consecutivos, alem de semanter bem colocado em 2016 e 2017.

Jogador 2014 2015 2016 2017Firebat 1 7 16 27Ostkaka - 1 39 57

Pavel - 25 2 3

Tabela 4.12: Evolucao da classificacao dos campeoes mundiais no ranqueamentocom efeito temporal

Ao se inserir uma medida de desvalorizacao de resultados passados, percebe-seque Ostkaka finalmente assume a primeira colocacao em 2015. Essa mesma medidafaz com que a classificacao do jogador Firebat va caindo gradualmente ao longo dosanos. Efetivamente, Firebat se ausentou das competicoes como jogador durante oano de 2016, perıodo no qual se dedicou exclusivamente a narracao de campeonatos,retornando apenas em 2017. Ja Pavel permanece em segundo lugar no ano de suamaior conquista, 2016. Sua manutencao em uma alta posicao em marco de 2017 se

32

deve a influencia de suas partidas do campeonato mundial, realizado em novembrode 2016, e da sua participacao no campeonato mundial de inverno de marco de2017. Enquanto isso, Ostkaka sofreu com a perda de importancia de suas partidasde 2015, nao conseguindo manter bons resultados e descendo dezenas de posicoesna classificacao nos anos seguintes.

Jogador 2014 2015 2016 2017Firebat 1 8 12 21Ostkaka - 1 25 36

Pavel - 27 2 2

Tabela 4.13: Evolucao da classificacao dos campeoes mundiais no ranqueamentocom efeito temporal e relevancia de torneios

Comparando a tabela 4.13 com a tabela 4.12, sao observadas poucas alteracoes,sendo as mudancas de ranqueamentos fruto de ajustes oriundos da inclusao da re-levancia de torneios no calculo do PageRank. Observe que Pavel ainda nao alcancaa primeira colocacao no ano de 2016, mesmo com a inclusao de mais uma variavelque possivelmente lhe traria benefıcios. Esse efeito tem uma explicacao interessante,que sera explorada na proxima secao.

4.2.4 Jogadores notaveis

Nesta secao serao destacados alguns jogadores que ilustram situacoes interessantes,ainda que nao estejam nas primeiras colocacoes das classificacoes estudadas. Es-ses exemplos sao muito uteis para se compreender a importancia do PageRank naclassificacao, assim como suas consequencias diretas e indiretas.

DrHippi

Ainda que nao tenham sido campeoes mundiais, alguns jogadores aparecem emaltas posicoes nas classificacoes. Em um caso bastante particular, Pavel nao obtema primeira colocacao de 2016 em nenhuma das tres metricas estudadas, mesmo tendosido campeao mundial neste ano. Para entender como isso e possıvel, vamos olharpara o jogador DrHippi. Seu desempenho e mostrado na tabela 4.14

Metrica / ano 2016 2017Sem tempo 1 1Com tempo 1 8

Com tempo e relevancia 1 8

Tabela 4.14: Classificacoes do jogador DrHippi nos anos de 2016 e 2017

33

No ano de 2016, DrHippi alcanca a primeira colocacao em todas as tres metricasapresentadas, um feito bastante impressionante para alguem que nao foi campeaomundial. Efetivamente, o desempenho de DrHippi em 2016 foi bastante relevante,com muitas vitorias e algumas poucas derrotas. Uma dessas derrotas, foi exatamentena final do campeonato mundial, perdendo o tıtulo para Pavel. Esse exemplo ilustraa forca do algoritmo PageRank para classificar jogadores. Ainda que nao tenha sidocampeao, DrHippi perdeu poucas vezes para adversarios muito fortes. Com isso,seu PageRank manteve-se alto o suficiente para classifica-lo como o melhor jogadorde Hearthstone ate o ano de 2016.

ThijsNL

Nem sempre um jogador se destaca pela quantidade de torneios ganhos. Alcancaruma regularidade no desempenho nao e uma tarefa simples. Sendo assim, o jogadorThijsNL representa um caso bastante raro e peculiar. Ele vem se mantendo emaltas posicoes do ranking desde o comeco do cenario competitivo de Hearthstone,tendo participado dos campeonatos mundiais de 2015 e 2016. A tabela 4.15 mostrao desempenho deste jogador.

Metrica / ano 2014 2015 2016 2017Sem tempo 33 3 5 6Com tempo 33 2 12 18

Com tempo e relevancia 33 2 10 15

Tabela 4.15: Classificacoes do jogador ThijsNL entre os anos de 2014 e 2017

O exemplo de ThijsNL mostra que o algoritmo proposto captura bem a regula-ridade de um jogador, ainda que ele nao alcance tıtulos. Vale ressaltar ainda que atabela 4.4 mostra que ThijsNL e o jogador com maior numero de vitorias presenteneste estudo.

34

Capıtulo 5

Conclusao e Trabalhos Futuros

5.1 Conclusao

Incentivado pela ausencia de inciativas semelhantes para o ambito dos e-sports, estetrabalho se propos a elaborar medidas de classificacao de jogadores de Hearthstone,assim como avaliar sua eficiencia e viabilidade em um contexto mais pratico. Logo,o algoritmo PageRank desempenha uma funcao importante: a de tratar de formadesigual os diferentes confrontos, atribuindo medidas de importancia relacionadasao contexto das vitorias.

Avancando na analise do algoritmo estudado, a metrica de desvalorizacao da im-portancia de uma vitoria conforme o passar do tempo se mostrou bastante eficientepara evitar que resultados muito antigos influenciassem a ascensao de novos jogado-res, da mesma forma que a queda de jogadores que nao mantiveram um desempenhosatisfatorio em tempos mais recentes.

Comparando os resultados da presenca da medida de relevancia dos torneios dis-putados com aqueles onde esse fator nao e considerado, percebeu-se pouca alteracaonas classificacoes. Dessa maneira, a eficiencia de tal metrica pode ser questionada,embora nao traga nenhum prejuızo a avaliacao quando presente.

Quando confrontadas com a classificacao da GosuGamers, observa-se que asclassificacoes estudadas apresentam um baixo grau de correlacao, medido atravesdo coeficiente de Spearman. Infelizmente, esse foi o unico ranqueamento encon-trado para uma comparacao. Por outro lado, os baixos valores de correlacao saoperfeitamente justificados pela diferenca de escopo entre as duas classificacoes. Ostorneios nao considerados nesse estudo funcionam como uma impureza atrelada aclassificacao da GosuGamers, tornando inconclusivos os resultados advindos dessaavaliacao.

Porem, analisando o desempenho dos campeoes mundiais, alem de alguns outrosjogadores com trajetorias notaveis, percebemos que o algoritmo proposto captura

35

bem as nuances retratadas no cenario competitivo de Hearthstone, com alguns re-sultados surpreendentes, porem justificaveis.

Finalmente, pode-se concluir que o algoritmo proposto neste trabalho evoluio algoritmo de PageRank original de forma satisfatoria, acrescentando metricasque podem ser validadas e que ajudam na definicao dos melhores jogadores. Aomesmo tempo, tal avaliacao se afasta do resultado binario de “vitoria” ou “derrota”,alem de introduzir um conceito de qualidade nesses dois resultados. Da mesmaforma, o tempo desempenha um fator chave na importancia de uma partida, ge-rando equilıbrio entre os desempenhos passado e presente.

5.2 Trabalhos Futuros

5.2.1 Abrangencia

O presente estudo ficou restrito apenas nos torneios oficiais realizados pela Blizzard.Embora eles representem uma parcela bastante significativa e certamente relevantedo cenario competitivo de Hearthstone, nao sao os unicos torneios disputados pe-los jogadores. Torneios de grande importancia como a Dreamhack ou a SeatStoryCup podem ser adicionados a um novo estudo, aumentado o escopo de atuacao doalgoritmo e melhorando o conjunto de dados que calcula os ranqueamentos.

5.2.2 Novas metricas

Para este trabalho, foram escolhidas duas metricas que sao frequentemente conside-radas importantes em ranqueamentos, bastante inspiradas em trabalhos relacionadosao tema. Porem o Hearthstone possui suas especificidades, as quais podem gerarnovas medidas de importancia para as classificacoes. A ideia de utilizar as classesque cada jogador utilizou em uma partida, alem de poder gerar um ranqueamentodos melhores jogadores de uma determinada classe, pode trazer ainda uma novagama de informacoes para os estudos posteriores. Atraves dela, pode-se definir umaserie de forcas e fraquezas de um jogador, de acordo com as classes utilizadas, po-dendo inclusive ser aprofundado a um nıvel de quais cartas um jogador utilizou emdeterminado torneio.

5.2.3 Ranqueamentos regionais

Os efeitos regionais foram ignorados neste primeiro trabalho, de forma a simplificaros estudos e reduzir a quantidade de variaveis tratadas. Para um trabalho posterior,podem ser elaborados ranqueamentos regionais, afim de se descobrir em um ambientelocal quem e o melhor jogador das Americas ou da Europa, por exemplo.

36

5.2.4 Outros e-sports

Usado aqui apenas como um caso dentre outros a serem explorados, o Hearthstoneabre caminho para a aplicacao desse algoritmo em outros e-sports, tais como o Leagueof Legends ou o Counter Strike: Global Offensive. A crescente demanda das equipesde e-sports por analistas para suas equipes reflete uma necessidade de analisar eexplorar cada vez mais os resultados passados, de forma a melhorar o desempenhofuturo de seus jogadores.

37

Referencias Bibliograficas

[1] KILDUFF, G. J., ELFENBEIN, H. A., STAW, B. M. “The Psychology ofRivalry: A Relationally Dependent Analysis of Competition”. . http://haas.berkeley.edu/faculty/papers/stawrivalry.pdf, fev. 2010.Acessado em maio de 2017.

[2] BROOKS, J., KERR, M., GUTTAG, J. “Developing a Data-Driven PlayerRanking in Soccer Using Predictive Model Weights”. In: Proceedings of the22Nd ACM SIGKDD International Conference on Knowledge Discoveryand Data Mining, KDD ’16, pp. 49–55, New York, NY, USA, 2016. ACM.ISBN: 978-1-4503-4232-2.

[3] PROCOPIO, JR., P. S., GONCALVES, M. A., LAENDER, A. H. F., et al.“Time-Aware Ranking in Sport Social Networks”. . https://seer.ufmg.br/index.php/jidm/article/viewFile/209/143, out. 2012. Acessadoem marco de 2017.

[4] RADICCHI, F. “Who Is the Best Player Ever? A Complex Network Analysis ofthe History of Professional Tennis”, PLOS ONE, v. 6, n. 2, pp. 1–7, fev.2011.

[5] MUKHERJEE, S. “Identifying the greatest team and captain—A complexnetwork approach to cricket matches”, Physica A: Statistical Mechanicsand its Applications, v. 391, n. 23, pp. 6066 – 6076, 2012. ISSN: 0378-4371.

[6] NEWMAN, M. E. “Who Is the Best Connected Scientist? A Study of Scienti-fic Coauthorship Networks”. In: Complex Networks, pp. 337–370, Berlin,Heidelberg, Springer Berlin Heidelberg, 2004. ISBN: 978-3-540-44485-5.

[7] RODRIGUES RIBEIRO, L. F., FIGUEIREDO, D. R. “Ranking lawyers using asocial network induced by legal cases”, Journal of the Brazilian ComputerSociety, v. 23, n. 1, pp. 6, abr. 2017. ISSN: 1678-4804.

[8] PAGE, L., BRIN, S., MOTWANI, R., et al. The PageRank Citation Ranking:Bringing Order to the Web. Technical Report 1999-66, Stanford InfoLab,nov. 1999. Previous number = SIDL-WP-1999-0120.

38

[9] BERBERICH, K., VAZIRGIANNIS, M., WEIKUM, G. “T-Rank: Time-AwareAuthority Ranking”. In: Algorithms and Models for the Web-Graph: ThirdInternational Workshop, WAW 2004, Rome, Italy, October 16, 2004, Pro-ceeedings, pp. 131–142, Springer Berlin Heidelberg, 2004. ISBN: 978-3-540-30216-2.

[10] DODGE, Y. “Spearman Rank Correlation Coefficient”. In: The Concise Ency-clopedia of Statistics, pp. 502–505, New York, NY, Springer New York,2008. ISBN: 978-0-387-32833-1.

39