第6回 社内プログラミングコンテスト『量子リバーシ』結果発表会

量子リバーシくん
こんにちは。社内プロコン担当エンジニアの二木です。

昨年の11月に開催されたフィックスターズ社内プログラミングコンテスト『量子リバーシ』ですが、2月6日にコンテストが締め切られ、今月の16日に結果発表会および懇親会を開催しました。今回はそのご報告となります。

量子リバーシ

まず、おさらいとして量子リバーシのルールを説明しておきます。

  1. 6×6マスの盤上で黒白交互に量子石2個を古典石が置かれていないマスに別々に置いていく
  2. 同じ手番に置いた量子石同士および同じマスにある量子石同士は繋がっているとみなし、それらが循環するように繋がれば循環エンタングルメントが発生して古典石に変化する
  3. 古典石に変化する際、リバーシのルールが適用され、相手の古典石を自分の古典石で挟み込むことができたら相手の古典石が自分の古典石に変わる
  4. 1~3を繰り返し、すべてのマスが古典石となったら終了し、より多くの石を取った方を勝ちとする

詳細については、以前のブログ記事「第6回 社内プログラミングコンテスト『量子リバーシ』開催」をご覧ください。

結果発表会

今回のコンテストの参加人数は20人となり、これまでで最多の参加人数となりました。多くの方にご参加いただき、ありがとうございます!

社外からの参加者は3人でしたが、個人的にはもっと多くの方に参加していただきたいと思っています。やはり、正式な募集もしていませんし、社内プログラミングコンテストと銘打っているので、参加しづらかったのかもしれません。次回はそのあたりも考慮して参加しやすいようにしたいと思います。

参加者による発表では、工夫を凝らした戦略やアルゴリズムがたくさんあり、興味が尽きない内容でした。モンテカルロ木探索(MCTS)を多くの上位者たちが採用していましたが、それを基本としてどのように強くしていくかの戦略がそれぞれ異なっており、その差が結果に反映されたようです。

発表会資料

以下に上位3名の説明スライドを載せておきます。

優勝者 QIXさん

第二位 tsukammoさん

第三位 logicmachineさん

最後に順位表と対戦の分析結果を載せておきます。順位表ではプレイヤー名を非表示にしています。先攻・後攻それぞれ50対戦ずつの計2,100対戦の総当たり戦によるランキングになっています。

最終ランキング

rank score wins losses draw rate language
1 5406 1751 196 153 0.8338 C++
2 5259 1721 283 96 0.8195 Java
3 5193 1692 291 117 0.8057 C++
4 5006 1618 330 152 0.7705 C#
5 4798 1552 406 142 0.7390 C++
6 4373 1405 537 158 0.6690 C++
7 4203 1346 589 165 0.6410 Python
8 4115 1312 609 179 0.6248 Python
9 4102 1308 614 178 0.6229 C++
10 3314 1049 884 167 0.4995 Python
11 2818 891 1064 145 0.4243 C++
12 2707 807 1007 286 0.3843 C++
13 2644 815 1086 199 0.3881 Go
14 2321 734 1247 119 0.3495 Python
15 2272 685 1198 217 0.3262 C++
16 2141 672 1303 125 0.3200 Python
17 1985 592 1299 209 0.2819 Nim
18 1461 417 1473 210 0.1986 C++
19 1442 409 1476 215 0.1948 Python
20* 1110 352 1694 54 0.1676 C++
21 576 178 1880 42 0.0848 Python
22⁑ 364 104 1944 52 0.0495 Python

* サンプルコード「あけみさん」
⁑ サンプルコード「ただしくん」

対戦結果の解析を以下に示します。円グラフは、青が勝利、赤が敗北、黄色が引分を表しています。

量子リバーシ対戦結果の解析

懇親会

結果発表会の後は、懇親会となりました。軽食と飲み物が用意され、どのような経緯でコンテストに参加したか、どのような戦略を取ったのかといった、今回のコンテストに因んだ話題から、普段はどんなコンテストに出ているか、どんなコードを書いているか、さらに普段の日常の話に至るまで、様々な話題で盛り上がっていました。グループを作ってホワイトボードを前にアルゴリズム談義が始まったりしたのもプロコンの懇親会ならではのことだったと思います。

おわりに

今回のコンテストは、開催時のブログ記事を読まれて参加していただいた方もいらっしゃるので、さらに参加者が増えるように、来年度はもっと参加しやすい環境を用意したいと思います。是非ご参加ください!

集合写真

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.