HaliteIII leaderboard stats


#1

I want to see how HaliteIII challenge going on in general. What languages are people used, what languages leaders are using and so on. So I collect a leaderboard data and draw some graphs.

*Everything with mu < 30 is filtered out.


After 50 position score (mu) going crazy and jumps by few points every position.


(X axis is in log scale beacuse of more than 1000 Python bots)
As expected Python is most popular language. But in top100 С++ is very close to it.

(Open in new tab to see details)

  1. Distribution of score by language. Popular languages with low threshold of entry are mostly collected at right side of the plot.
  2. Distribution of rank by language. Almost the same situation. Also every line have two extremum points so for me it looks like as a sum of 2 normal distributions (but I do not reason for this). For this plot I add GPU-bots line so if someone curious how ML bots doing here some stats.
  3. Stacked hist of top200. Some rarely (<5) used languges are filtered out. C++ domination in top50 is just overwhelming :smiley:

If someone is intrested in source code here it is: Jupyter notebook

Live Version

P.S. Do anybody know where I can share live version of it so everbody can execute it?


#2

This is really neat, thanks! I’m a bit surprised by just how dominant C++ is at the top. And the bimodal distributions for languages are super weird.


#3

Super interesting to see Rust and C++ are really strong performers. Maybe it’s just that if you prefer to work in those languages over something simpler like Python, you are a smarter Programmer =D


#4

Thx, I couldn’t run your python notebook in realtime bcz the tqdm = lambda x: x doesn’t work, but I tried the api link in your code and it works great.

I think its because a lot of GPU users would be using c++? those wit experience doing monte carlo type simulations for computer go and similar tasks would be looking for sheer cpu/gpu/tpu power.

Outside of that the language doesn’t really matter, I think python currently benefiting from a lot of magical thinking about AI, all other languages also have libraries for machine learning and neural networks.

Functional languages might help with debugging for sure, it was hard to debug every implication of the map wrap around using if-then-else style coding.


#5

Thanks for response. I forget that I using tqdm as context manager, but not as iterator wrapper. Will fix it. Anyway you could do pip install tqdm.


#6

Updated notebook: fix some typos, fix tqdm placeholder. Also add Live Version


#7

You can host your notebook on google colab (https://colab.research.google.com/) and everyone will be able to run it.


#8

thanks, it runs great directly from mybinder, cool you found how to use this api. Will see if to win #1 rank one needs to use c++ to crunch huge monte carlo simulations or whether a sneaky strategy will win the game.

Someone was saying in Halite 2 it was possible to also download previous games from the api and he trained his neural network that way.