<p><div><div><div><div data-width="100" data-show-faces="false" data-send="true" data-layout="button_count" data-height="21" data-href="https://www.r-bloggers.com/halite/"></div></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="http://feedproxy.google.com/~r/JonCaldersRBlog/~3/wt8ahV4qoLQ/"> Jon Calder's R Blog</a></strong>, and kindly contributed to <a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers)</a> </div>
<p>May the best bot win – </p>
<p><img title="Halite Logo" alt="Halite logo" src="https://i1.wp.com/jonmcalder.github.io/img/small-imgs/halite_logo.png?w=456" data-recalc-dims="1"></p>
<p><a target="_blank" rel="nofollow" href="http://halite.io/">Halite</a> is an artificial intelligence programming challenge.<br>
Players control a bot using the programming language of their choice. Bots fight<br>
for control of a 2D grid and the bot with the most territory at the end wins.</p>
<p>The company behind Halite is <a target="_blank" rel="nofollow" href="https://www.twosigma.com/">Two Sigma</a>, a New York<br>
City-based hedge fund that uses a variety of technological methods, including<br>
artificial intelligence, machine learning, and distributed computing, for its<br>
trading strategies. According to the company’s website:</p>
<blockquote>
<p>“Each year we like to challenge ourselves with a hard, but fun, engineering<br>
problem. It always involves programming artificial intelligence systems to<br>
battle in a head-to-head competition. In previous years we’ve built AIs to play<br>
computer games, card games, and shuffleboard against our employees and each<br>
other. 2016’s epic battle saw humans and AIs squaring off across an air hockey<br>
table.”</p>
</blockquote>
<p>Isn’t that cool? Check out the video below for a recap of the “Human vs Machine”<br>
event from last year.</p>
<p><center><iframe height="315" width="560" allowfullscreen src="https://www.youtube.com/embed/oxAPXN5UKa8"></iframe></center></p>
<p>Anyway, back to Halite. The game was originally conceived and developed by<br>
Benjamin Spector and Michael Truell, during a summmer internship at Two Sigma<br>
in 2016. They then assisted with further development of the game leading up to<br>
the companies annual programming competition. After a very successful 3-week<br>
tournament in August, comprising about thirty-five players, the company decided<br>
to launch the competition publically for a limited time.</p>
<p><img title="Halite gameplay" alt="Halite gameplay" src="https://i0.wp.com/jonmcalder.github.io/img/small-imgs/halite_gameplay.png?w=456" data-recalc-dims="1"></p>
<p>The public version of the competition was launched in November 2016, and is<br>
being run with the help of <a target="_blank" rel="nofollow" href="https://tech.cornell.edu/">Cornell Tech</a>. It was<br>
initially scheduled to finish today (2nd February), but has been extended<br>
to the 12th February. There are currently just over 1500 players on the<br>
leaderboard, with plenty of competition for the top few spots and new versions<br>
of these bots being submitted on a daily basis.</p>
<p>I stumbled across the competition sometime in mid-December, and was immediately<br>
hooked after looking into it and submitting my first bot. The friends and<br>
colleagues I have shared it with seem to have had the same experience, so kudos<br>
to the team at Two Sigma/Cornell Tech for making it so easy to get up and<br>
running.</p>
<p>Halite is suitable for a wide range of programming enthusiasts, regardless<br>
of background or level of experience. The simplest Halite bot requires just 10<br>
lines of code, but obviously you can expect your bot to evolve into something<br>
much more complex as you iterate on your ideas.</p>
<p>If you think you might be interested, simply head over to the<br>
<a target="_blank" rel="nofollow" href="https://halite.io/basics_quickstart.php">Getting Started</a> page and follow the<br>
instructions. The basics of the game are very simple to grasp, but as they say,<br>
the devil is in the details, and there is surprising scope for depth of strategy<br>
and innovation due to the mechanics involved in expansion and combat.</p>
<p><img title="Halite game rules" alt="Halite game rules" src="https://i2.wp.com/jonmcalder.github.io/img/small-imgs/halite_game_rules.png?w=456" data-recalc-dims="1"></p>
<p>For this reason, after you have worked your way through the rest of the “Basics”<br>
section on the website (<a target="_blank" rel="nofollow" href="https://halite.io/basics_intro_halite.php">Introducing Halite</a><br>
and <a target="_blank" rel="nofollow" href="https://halite.io/basics_improve_random.php">Improving the Random Bot</a>),<br>
I’d strongly advise you to read through the <a target="_blank" rel="nofollow" href="https://halite.io/rules_game.php">Game Rules</a><br>
page very carefully and make sure you understand what’s communicated on it. From<br>
there, the best way to fast-track your learnings and start getting competitive<br>
on the leaderboard is to read through <a target="_blank" rel="nofollow" href="https://nmalaguti.github.io/">Nick Malaguti’s</a><br>
excellent forum post – <a target="_blank" rel="nofollow" href="http://forums.halite.io/t/so-youve-improved-the-random-bot-now-what/482">So you’ve Improved the Random Bot. Now what?</a></p>
<p>Getting through all of that should give you a good idea of most of the important<br>
things to consider. From there it’s up to you – iterate from that point and/or<br>
experiment with different ideas from scratch. Browse the forums and you’ll find<br>
some great discussions and further ideas to explore. As you begin to do this,<br>
you’ll want to compare the strategies you come up with by testing different<br>
versions of your bots against each other locally. To do this, I’d recommend<br>
using this <a target="_blank" rel="nofollow" href="https://github.com/smiley1983/halite-match-manager">Halite Match Manager</a>.</p>
<p>Good luck! May the best bot win!</p>
<p><img height="1" alt="" width="1" src="http://feeds.feedburner.com/~r/JonCaldersRBlog/~4/wt8ahV4qoLQ"></p>
<p>
<div>
<div>To <strong>leave a comment</strong> for the author, please follow the link and comment on their blog: <strong><a href="http://feedproxy.google.com/~r/JonCaldersRBlog/~3/wt8ahV4qoLQ/"> Jon Calder's R Blog</a></strong>.</div>
<hr>
<a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers.com</a> offers <strong><a rel="nofollow" href="https://feedburner.google.com/fb/a/mailverify?uri=RBloggers">daily e-mail updates</a></strong> about <a title="The R Project for Statistical Computing" rel="nofollow" href="https://www.r-project.org/">R</a> news and <a title="R tutorials" rel="nofollow" href="https://www.r-bloggers.com/search/tutorial">tutorials</a> on topics such as: <a title="Data science" rel="nofollow" href="https://www.r-bloggers.com/search/data%20science">Data science</a>, <a title="Big Data" rel="nofollow" href="https://www.r-bloggers.com/search/Big%20Data">Big Data, <a title="R jobs" rel="nofollow" href="https://www.r-users.com/">R jobs</a>, visualization (<a title="ggplot and ggplot2 tutorials" rel="nofollow" href="https://www.r-bloggers.com/search/ggplot2">ggplot2</a>, <a title="Boxplots using lattice and ggplot2 tutorials" rel="nofollow" href="https://www.r-bloggers.com/search/boxplot">Boxplots</a>, <a title="Maps and gis" rel="nofollow" href="https://www.r-bloggers.com/search/map">maps</a>, <a title="Animation in R" rel="nofollow" href="https://www.r-bloggers.com/search/animation">animation</a>), programming (<a title="RStudio IDE for R" rel="nofollow" href="https://www.r-bloggers.com/search/RStudio">RStudio</a>, <a title="Sweave and literate programming" rel="nofollow" href="https://www.r-bloggers.com/search/sweave">Sweave</a>, <a title="LaTeX in R" rel="nofollow" href="https://www.r-bloggers.com/search/LaTeX">LaTeX</a>, <a title="SQL and databases" rel="nofollow" href="https://www.r-bloggers.com/search/SQL">SQL</a>, <a title="Eclipse IDE for R" rel="nofollow" href="https://www.r-bloggers.com/search/eclipse">Eclipse</a>, <a title="git and github, Version Control System" rel="nofollow" href="https://www.r-bloggers.com/search/git">git</a>, <a title="Large data in R using Hadoop" rel="nofollow" href="https://www.r-bloggers.com/search/hadoop">hadoop</a>, <a title="Web Scraping of google, facebook, yahoo, twitter and more using R" rel="nofollow" href="https://www.r-bloggers.com/search/Web+Scraping">Web Scraping</a>) statistics (<a title="Regressions and ANOVA analysis tutorials" rel="nofollow" href="https://www.r-bloggers.com/search/regression">regression</a>, <a title="principal component analysis tutorial" rel="nofollow" href="https://www.r-bloggers.com/search/PCA">PCA</a>, <a title="Time series" rel="nofollow" href="https://www.r-bloggers.com/search/time+series">time series</a>, <a title="finance trading" rel="nofollow" href="https://www.r-bloggers.com/search/trading">trading</a>) and more...
<img height="1" alt="" width="1" src="http://feeds.feedburner.com/~r/RBloggers/~4/B-EdD3lPoB8"></a></div>