SlideShare uma empresa Scribd logo
1 de 20
第5回
社内プログラミングコンテスト
結果発表会
ライフゲームGO
Copyright © Fixstars Corporation. All rights reserved.
10 Feb. 2017
問題
社内プログラミングコンテスト
問題を決めるまで
 これまでの社内プロコン
 第1回 「戸口調査データによる年収額の予測」
 第2回 「6枚とれ!」
 第3回 「ガイスター(GEISTER)」
 第4回 「コラッツリス(Collatzris)」
 今回は機械学習関連にしたい
 第1回はまさにそれ
 でもデータセットを用意するのが大変
 考えたこと
 2016年で機械学習といえばディープラーニングを使ったAlphaGoが話
題になった
 そしてPok〇monGOも話題になった
 合わせたら楽しいかも? データセットを用意する必要もないし!
 ライフゲームGO誕生!
 構想3ヶ月
 実装3日
問題: ライフゲームGO
コンウェイのライフゲームでは細胞の誕生、進化、
淘汰が表現されるが、「ライフゲームGO」では細
胞を囲碁の碁石に見立てて盤上に配置し、相手より
も多くの細胞を繁殖させて陣地を確保することを目
的とする
参加プレイヤーは、囲碁のような静的な配置とライ
フゲームのような動的な世代変化の両面を考慮した
対戦プログラムを作成して、ほかの参加プレイヤー
たちの対戦プログラムと競い合う
ゲームルール
ビジュアライザ
対戦フロー
それぞれのプレイヤーが生セルを20個ずつ置くまで繰り返し
制御プログラム
lifegame_go.py
対戦プログラム
(コンテスト参加者が作成)
初期情報
init 自分の名前 自分の順番 相手の名前 高さ 幅
初期情報を受け取ったレスポンスを返す
改行
フィールド内の生セルの位置情報のリスト
play 生セルの位置情報のリスト
生セルを置く位置を返す
生セルの位置情報
終了 終了
終了通知
quit
初期情報を受け取ったレスポンスを返す
改行
3ステップだけ世代を進めて
陣地の数で勝敗を決定する
ただしくんとあけみさん
社内プロコン恒例のサンプルコード
ただしくん
 Python
 自分のセルの周りに自分と相手のセルが1つずつ置いてある場
合にセルを置く
 最初の20個はランダムに置く
あけみさん
 C++11
 すべてのマスについてセルを置いたときに3ステップ進めて最
も自分の陣地が大きくなる置き方を選択する
今回は、あけみさんが結構強かったという声がありま
した
9名の方が参加 (敬称略・アルファベット順)
 うち、社外から3名 (アルバイト・インターン含む)
 結構難しかったかも
社内
 *****
 *****
 *****
 *****
 *****
 *****
社外
 *****
 *****
 *****
参加者
賞品
ギークが喜ぶ(?)
上位賞品
2位賞品: Philips Hue スターターセット v2
優勝賞品: MESH アドバンスセット 3位賞品: NETATMO パーソナル
ウェザーステーション
4~6位賞品: MaBeee
参加賞: オリジナルTシャツ
対戦結果
対戦方法
スコア算出
 全参加者に対して総当たり戦を行う
 対戦者ごとに先攻・後攻で50対戦ずつ計100対戦を行い、そ
の勝数の合計がスコアとなる
 対戦ごとのスコアの総和を最終スコアとする
 最終スコアでランキングを行う
実行時間
 一回の実行の時間制限は5秒
 11人(内2人はただしくんとあけみさん)の総当たり戦
 5秒*1000対戦*11人=55000秒≒15時間
 実際には全員が時間制限いっぱいまで実行するわけではない
 実際の対戦時間: 約9時間
暫定ランキング結果
順位 氏名 勝数 負数 引分 勝率 言語 最終投稿日時
1***** 200 0 0 1.0000 C++ 2017-01-17 09:51
1***** 200 0 0 1.0000 C++ 2017-01-20 11:34
3***** 198 2 0 0.9900 C++ 2017-01-11 18:57
4***** 197 0 3 0.9850 C++ 2017-01-13 10:50
5***** 195 4 1 0.9750 C++ 2017-01-13 15:01
6***** 193 7 0 0.9650 C++ 2017-01-12 13:57
7***** 185 13 2 0.9250 C++ 2017-01-11 20:49
8***** 149 45 6 0.7450 Python 2017-01-20 08:55
8***** 149 51 0 0.7450 C++ 2016-11-14 18:00
10***** 147 53 0 0.7350 Ruby 2017-01-23 15:45
11***** 57 141 2 0.2850 Python 2016-11-14 18:00
最終ランキング結果
順位 氏名 勝数 負数 引分 合計 言語 最終投稿日時
1
2
3
4
5
6
7
8
9
10
11
順位 氏名 勝数 負数 引分 合計 言語 最終投稿日時
1
2
3
4
5
6
7
8
9
10
11tadashi 103 897 0 1000 Python 2016-11-14 18:00
順位 氏名 勝数 負数 引分 合計 言語 最終投稿日時
1
2
3
4
5
6
7
8
9
10akemi 214 779 7 1000 Ruby 2016-11-14 18:00
11tadashi 103 897 0 1000 Python 2016-11-14 18:00
順位 氏名 勝数 負数 引分 合計 言語 最終投稿日時
1
2
3
4
5
6
7
8
9satoru.horie 301 683 16 1000 C++ 2017-01-23 15:45
10akemi 214 779 7 1000 Ruby 2016-11-14 18:00
11tadashi 103 897 0 1000 Python 2016-11-14 18:00
順位 氏名 勝数 負数 引分 合計 言語 最終投稿日時
1
2
3
4
5
6
7
8kunitaka 304 666 30 1000 Python 2017-01-20 08:55
9satoru.horie 301 683 16 1000 C++ 2017-01-23 15:45
10akemi 214 779 7 1000 Ruby 2016-11-14 18:00
11tadashi 103 897 0 1000 Python 2016-11-14 18:00
順位 氏名 勝数 負数 引分 合計 言語 最終投稿日時
1
2
3
4
5
6
7okaduki 425 569 6 1000 C++ 2017-01-12 13:57
8kunitaka 304 666 30 1000 Python 2017-01-20 08:55
9satoru.horie 301 683 16 1000 C++ 2017-01-23 15:45
10akemi 214 779 7 1000 Ruby 2016-11-14 18:00
11tadashi 103 897 0 1000 Python 2016-11-14 18:00
順位 氏名 勝数 負数 引分 合計 言語 最終投稿日時
1
2
3
4
5
6hiroyuki.aono 545 446 9 1000 C++ 2017-01-11 18:57
7okaduki 425 569 6 1000 C++ 2017-01-12 13:57
8kunitaka 304 666 30 1000 Python 2017-01-20 08:55
9satoru.horie 301 683 16 1000 C++ 2017-01-23 15:45
10akemi 214 779 7 1000 Ruby 2016-11-14 18:00
11tadashi 103 897 0 1000 Python 2016-11-14 18:00
順位 氏名 勝数 負数 引分 合計 言語 最終投稿日時
1
2
3
4
5shigeki.akiyama 585 408 7 1000 C++ 2017-01-20 11:34
6hiroyuki.aono 545 446 9 1000 C++ 2017-01-11 18:57
7okaduki 425 569 6 1000 C++ 2017-01-12 13:57
8kunitaka 304 666 30 1000 Python 2017-01-20 08:55
9satoru.horie 301 683 16 1000 C++ 2017-01-23 15:45
10akemi 214 779 7 1000 Ruby 2016-11-14 18:00
11tadashi 103 897 0 1000 Python 2016-11-14 18:00
順位 氏名 勝数 負数 引分 合計 言語 最終投稿日時
1
2
3
4yuki.matsuda 588 405 7 1000 C++ 2017-01-11 20:49
5shigeki.akiyama 585 408 7 1000 C++ 2017-01-20 11:34
6hiroyuki.aono 545 446 9 1000 C++ 2017-01-11 18:57
7okaduki 425 569 6 1000 C++ 2017-01-12 13:57
8kunitaka 304 666 30 1000 Python 2017-01-20 08:55
9satoru.horie 301 683 16 1000 C++ 2017-01-23 15:45
10akemi 214 779 7 1000 Ruby 2016-11-14 18:00
11tadashi 103 897 0 1000 Python 2016-11-14 18:00
順位 氏名 勝数 負数 引分 合計 言語 最終投稿日時
1
2
3t_hiragushi 683 305 12 1000 C++ 2017-01-13 10:50
4yuki.matsuda 588 405 7 1000 C++ 2017-01-11 20:49
5shigeki.akiyama 585 408 7 1000 C++ 2017-01-20 11:34
6hiroyuki.aono 545 446 9 1000 C++ 2017-01-11 18:57
7okaduki 425 569 6 1000 C++ 2017-01-12 13:57
8kunitaka 304 666 30 1000 Python 2017-01-20 08:55
9satoru.horie 301 683 16 1000 C++ 2017-01-23 15:45
10akemi 214 779 7 1000 Ruby 2016-11-14 18:00
11tadashi 103 897 0 1000 Python 2016-11-14 18:00
順位 氏名 勝数 負数 引分 合計 言語 最終投稿日時
1
2akihiro.takagi 836 158 6 1000 C++ 2017-01-13 15:01
3t_hiragushi 683 305 12 1000 C++ 2017-01-13 10:50
4yuki.matsuda 588 405 7 1000 C++ 2017-01-11 20:49
5shigeki.akiyama 585 408 7 1000 C++ 2017-01-20 11:34
6hiroyuki.aono 545 446 9 1000 C++ 2017-01-11 18:57
7okaduki 425 569 6 1000 C++ 2017-01-12 13:57
8kunitaka 304 666 30 1000 Python 2017-01-20 08:55
9satoru.horie 301 683 16 1000 C++ 2017-01-23 15:45
10akemi 214 779 7 1000 Ruby 2016-11-14 18:00
11tadashi 103 897 0 1000 Python 2016-11-14 18:00
順位 氏名 勝数 負数 引分 合計 言語 最終投稿日時
1(優勝者) 863 131 6 1000 C++ 2017-01-17 09:51
2(準優勝者) 836 158 6 1000 C++ 2017-01-13 15:01
3***** 683 305 12 1000 C++ 2017-01-13 10:50
4***** 588 405 7 1000 C++ 2017-01-11 20:49
5***** 585 408 7 1000 C++ 2017-01-20 11:34
6***** 545 446 9 1000 C++ 2017-01-11 18:57
7***** 425 569 6 1000 C++ 2017-01-12 13:57
8***** 304 666 30 1000 Python 2017-01-20 08:55
9***** 301 683 16 1000 C++ 2017-01-23 15:45
10***** 214 779 7 1000 Ruby 2016-11-14 18:00
11***** 103 897 0 1000 Python 2016-11-14 18:00
対戦結果の解析
優勝者
準優勝者
コンテストを終えて
第4回社内プログラミングコンテスト
感想など
昨年より難しかった?
 あけみさんが結構手ごわいとの声
 昨年の参加人数14名から9名に減少
 一昨年の参加人数と同じ
アルゴリズムに工夫あり
 モンテカルロ木など、ちょっとAlphaGoっぽい
 intrinsicなどを使っていてフィックスターズっぽい
思ったより勝敗にばらつきが出た
 アルゴリズムがダイレクトに反映された
対戦させるのが面白かった
 Webサービスにして遊べるようにしても面白いかも
コンテストに参加していただいた皆様
運営を手伝っていただいた皆様
ありがとうございました!
来年も社内プログラミング
コンテストをやります!
是非、ご参加ください!

Mais conteúdo relacionado

Mais de Fixstars Corporation

製造業向け量子コンピュータ時代のDXセミナー_生産計画最適化_20220323.pptx
製造業向け量子コンピュータ時代のDXセミナー_生産計画最適化_20220323.pptx製造業向け量子コンピュータ時代のDXセミナー_生産計画最適化_20220323.pptx
製造業向け量子コンピュータ時代のDXセミナー_生産計画最適化_20220323.pptxFixstars Corporation
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編Fixstars Corporation
 
製造業向け量子コンピュータ時代のDXセミナー~ 最適化の中身を覗いてみよう~
製造業向け量子コンピュータ時代のDXセミナー~ 最適化の中身を覗いてみよう~製造業向け量子コンピュータ時代のDXセミナー~ 最適化の中身を覗いてみよう~
製造業向け量子コンピュータ時代のDXセミナー~ 最適化の中身を覗いてみよう~Fixstars Corporation
 
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~Fixstars Corporation
 
株式会社フィックスターズの会社説明資料(抜粋)
株式会社フィックスターズの会社説明資料(抜粋)株式会社フィックスターズの会社説明資料(抜粋)
株式会社フィックスターズの会社説明資料(抜粋)Fixstars Corporation
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編Fixstars Corporation
 
Fpga online seminar by fixstars (1st)
Fpga online seminar by fixstars (1st)Fpga online seminar by fixstars (1st)
Fpga online seminar by fixstars (1st)Fixstars Corporation
 
Jetson活用セミナー ROS2自律走行実現に向けて
Jetson活用セミナー ROS2自律走行実現に向けてJetson活用セミナー ROS2自律走行実現に向けて
Jetson活用セミナー ROS2自律走行実現に向けてFixstars Corporation
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門Fixstars Corporation
 
量子コンピュータ時代の製造業におけるDXセミナー~生産工程効率化に向けた新たなご提案~
量子コンピュータ時代の製造業におけるDXセミナー~生産工程効率化に向けた新たなご提案~量子コンピュータ時代の製造業におけるDXセミナー~生産工程効率化に向けた新たなご提案~
量子コンピュータ時代の製造業におけるDXセミナー~生産工程効率化に向けた新たなご提案~Fixstars Corporation
 
金融業界向けセミナー 量子コンピュータ時代を見据えた組合せ最適化
金融業界向けセミナー 量子コンピュータ時代を見据えた組合せ最適化金融業界向けセミナー 量子コンピュータ時代を見据えた組合せ最適化
金融業界向けセミナー 量子コンピュータ時代を見据えた組合せ最適化Fixstars Corporation
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例Fixstars Corporation
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門Fixstars Corporation
 
株式会社フィックスターズ 会社説明資料(抜粋)
株式会社フィックスターズ 会社説明資料(抜粋)株式会社フィックスターズ 会社説明資料(抜粋)
株式会社フィックスターズ 会社説明資料(抜粋)Fixstars Corporation
 
株式会社フィックスターズ 会社説明資料(抜粋)
株式会社フィックスターズ 会社説明資料(抜粋)株式会社フィックスターズ 会社説明資料(抜粋)
株式会社フィックスターズ 会社説明資料(抜粋)Fixstars Corporation
 
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方Fixstars Corporation
 
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術についてAIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術についてFixstars Corporation
 
株式会社フィックスターズ 会社説明資料(抜粋)
株式会社フィックスターズ 会社説明資料(抜粋)株式会社フィックスターズ 会社説明資料(抜粋)
株式会社フィックスターズ 会社説明資料(抜粋)Fixstars Corporation
 
第8回 社内プログラミングコンテスト 第1位 taiyo
第8回社内プログラミングコンテスト 第1位 taiyo第8回社内プログラミングコンテスト 第1位 taiyo
第8回 社内プログラミングコンテスト 第1位 taiyoFixstars Corporation
 
第8回 社内プログラミングコンテスト 第2位 fy999
第8回社内プログラミングコンテスト 第2位 fy999第8回社内プログラミングコンテスト 第2位 fy999
第8回 社内プログラミングコンテスト 第2位 fy999Fixstars Corporation
 

Mais de Fixstars Corporation (20)

製造業向け量子コンピュータ時代のDXセミナー_生産計画最適化_20220323.pptx
製造業向け量子コンピュータ時代のDXセミナー_生産計画最適化_20220323.pptx製造業向け量子コンピュータ時代のDXセミナー_生産計画最適化_20220323.pptx
製造業向け量子コンピュータ時代のDXセミナー_生産計画最適化_20220323.pptx
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
 
製造業向け量子コンピュータ時代のDXセミナー~ 最適化の中身を覗いてみよう~
製造業向け量子コンピュータ時代のDXセミナー~ 最適化の中身を覗いてみよう~製造業向け量子コンピュータ時代のDXセミナー~ 最適化の中身を覗いてみよう~
製造業向け量子コンピュータ時代のDXセミナー~ 最適化の中身を覗いてみよう~
 
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
 
株式会社フィックスターズの会社説明資料(抜粋)
株式会社フィックスターズの会社説明資料(抜粋)株式会社フィックスターズの会社説明資料(抜粋)
株式会社フィックスターズの会社説明資料(抜粋)
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
 
Fpga online seminar by fixstars (1st)
Fpga online seminar by fixstars (1st)Fpga online seminar by fixstars (1st)
Fpga online seminar by fixstars (1st)
 
Jetson活用セミナー ROS2自律走行実現に向けて
Jetson活用セミナー ROS2自律走行実現に向けてJetson活用セミナー ROS2自律走行実現に向けて
Jetson活用セミナー ROS2自律走行実現に向けて
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
 
量子コンピュータ時代の製造業におけるDXセミナー~生産工程効率化に向けた新たなご提案~
量子コンピュータ時代の製造業におけるDXセミナー~生産工程効率化に向けた新たなご提案~量子コンピュータ時代の製造業におけるDXセミナー~生産工程効率化に向けた新たなご提案~
量子コンピュータ時代の製造業におけるDXセミナー~生産工程効率化に向けた新たなご提案~
 
金融業界向けセミナー 量子コンピュータ時代を見据えた組合せ最適化
金融業界向けセミナー 量子コンピュータ時代を見据えた組合せ最適化金融業界向けセミナー 量子コンピュータ時代を見据えた組合せ最適化
金融業界向けセミナー 量子コンピュータ時代を見据えた組合せ最適化
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
 
株式会社フィックスターズ 会社説明資料(抜粋)
株式会社フィックスターズ 会社説明資料(抜粋)株式会社フィックスターズ 会社説明資料(抜粋)
株式会社フィックスターズ 会社説明資料(抜粋)
 
株式会社フィックスターズ 会社説明資料(抜粋)
株式会社フィックスターズ 会社説明資料(抜粋)株式会社フィックスターズ 会社説明資料(抜粋)
株式会社フィックスターズ 会社説明資料(抜粋)
 
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
 
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術についてAIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
 
株式会社フィックスターズ 会社説明資料(抜粋)
株式会社フィックスターズ 会社説明資料(抜粋)株式会社フィックスターズ 会社説明資料(抜粋)
株式会社フィックスターズ 会社説明資料(抜粋)
 
第8回 社内プログラミングコンテスト 第1位 taiyo
第8回社内プログラミングコンテスト 第1位 taiyo第8回社内プログラミングコンテスト 第1位 taiyo
第8回 社内プログラミングコンテスト 第1位 taiyo
 
第8回 社内プログラミングコンテスト 第2位 fy999
第8回社内プログラミングコンテスト 第2位 fy999第8回社内プログラミングコンテスト 第2位 fy999
第8回 社内プログラミングコンテスト 第2位 fy999
 

第5回 社内プログラミングコンテスト 結果発表会 ライフゲームGO