yhara.jp

Recent Posts

対戦型AIコンテスト Halite-IIIの始め方

2018-10-20
Tech

10/16から始まった https://halite.io/ がけっこう面白かったので、始め方を解説します。

Halite-IIIとは

HaliteはTwo Sigmaという会社が開催しているプログラミングコンテストで、Halite-IIIはその第三回目になります。

Halite-IIIは2〜4人対戦型のゲームで、海に船を出して海中の"halite"を回収し、一定ターン後に一番たくさんhaliteを蓄えたプレイヤーが勝者となります。試合はAIを投稿するたびに自動的にサーバ側で行われ、勝率によってレーティングが変化します。

gif

開催期間は年明けの2019/1/22までとけっこう長いです。

使用可能な言語

https://halite.io/learn-programming-challenge/downloads に一覧がありますが、C++、Java、Rust、Goなどさまざまな言語で参加することができます。

ここにない言語については、https://github.com/HaliteChallenge/Halite-III/pulls に追加のPull Requestがあるかもしれません。僕は#30のRuby kitを使っています。1

参加方法

アカウントを作って、コードをzipに固めてこのページからアップロードするだけです。各言語のstarter kitにはサンプルのAIが入っているので、とりあえずそれをzipして投稿してみると良いでしょう(ランダムに動くだけなので、高得点は期待できませんが)。

コードの書き方について

https://halite.io/learn-programming-challenge/tutorials の「Code Tutorial」を押すと、ブラウザ上でチュートリアルがプレイできます。サンプルAIの解説があるだけでなく、この画面上で練習試合もできたりして、よくできています。

Halite-IIIの面白いところ

投稿したAIについては試合結果が出るだけでなく、試合の経過もアニメーションで見ることができるので、それを眺めてるだけでもけっこう楽しいです。勝ち試合のリプレイは気持ちいいし、負け試合のリプレイは改良方法を考えるのに役立ちます。

レーティング制度のおかげで同レベルのAIが対戦相手になるので、サンプルに毛が生えた程度のAIでも「なんとなくいい試合になる」のも良いですね。また、そこから徐々にAIを強化していくと対戦相手も強くなり、互いにうろうろしてるだけだったのが動きに「意思」を感じるようになったのも面白かったです。


  1. git clone https://github.com/jenheilemann/Halite-III して、starter_kits/Ruby/以下を使えばOKです。haliteコマンドだけ、downloadの「Only Game Engine」から持ってくる必要があります。 

More posts

Posts

(more...)

Articles

(more...)

Category

Ads

About

About the author
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy