SlideShare a Scribd company logo
FPGA Trax コンテスト
琉球大学 長名保範 
立命館大学 泉 知論
イーツリーズ・ジャパン 三好健文
愛媛大 中原啓貴
FPGAデザインコンテスト
RECONF研究会・ICFPT・HEART で開催
ICFPT 2010 (Reversi) から対戦型
いわゆる「二人零和有限確定完全情報ゲーム」
国内では異色のデザインコンテスト
2
ほかのデザインコンテスト
学生マイクロ波回路設計試作コンテスト (マイクロ波研究会)
演算増幅器設計コンテスト (応用科学学会)
LSIデザインコンテスト・イン沖縄 (琉大工学部)
3
ゲームソルバの実装
基本的にFPGAには不向き
固定サイズでない空間の、再帰による探索
しかし現実の世界の問題はこういうものだ、と思う… !
向いていないからこそいろいろやるべき?
4
対戦の方法
PC で審判
シリアル接続で通信
USB-UART アダプタ
5
ホストPCFPGAボード
RS-232C + USB ケーブル
対戦プロトコル: Trax の例
6
Host PlayerPlayer
対戦プロトコル: Trax の例
6
Host PlayerPlayer
-T-T
対戦プロトコル: Trax の例
6
Host PlayerPlayer
-T-T
AA BB
プレイヤーID確認
対戦プロトコル: Trax の例
6
Host PlayerPlayer
-T-T
-B-W
AA BB
プレイヤーID確認
先手・後手の通知
対戦プロトコル: Trax の例
6
Host PlayerPlayer
-T-T
-B-W
@0/
@0/
AA BB
プレイヤーID確認
先手・後手の通知
1手目
対戦プロトコル: Trax の例
6
Host PlayerPlayer
-T-T
-B-W
@0/
@0/
AA BB
@1/
@1/
プレイヤーID確認
先手・後手の通知
1手目
2手目
対戦プロトコル: Trax の例
6
Host PlayerPlayer
-T-T
-B-W
@0/
@0/
AA BB
@1/
@1/
B2/
B2/
プレイヤーID確認
先手・後手の通知
1手目
2手目
3手目
事前の検証環境
プロトコルと審判プログラムは公開
自分の環境で動かせる: bootable image も配布
審判プログラムと一緒に簡単なゲーム AI を配布
強くはないが、自分の実装と対戦させられる
7
種目
新しい種目への変更が新規参入障壁をさげる… はず
Reversi: 

ICFPT 2010 北京
Connect6: 

ICFPT 2011 Delhi, HEART 2012 那覇, ICFPT 2012 Seoul
Blokus Duo: 

ICFPT 2013 京都, HEART 2014 仙台, 

ICFPT 2014 上海, HEART 2015 Boston
8
過去のレギュレーションの例
FPGA のサイズ規制
お金勝負にならないように
外部メモリサイズ規制
事前に計算された単純なテーブル引きで戦うのを防ぐ
ハード CPU コア規制
回路のコンテストだし...
9
過去の競技: Reversi
8x8 のボード
最終的な石の数を競う
10
過去の競技: Connect 6
19x19 のボード
黒が先手
初手を除き、ふたつずつ置く
先に6つ並べると勝ち
11
過去の競技: Blokus Duo
14x14 のボード・21種類のタイル
12
過去の競技: Blokus Duo
回転・裏表は自由
13
過去の競技: Blokus Duo
自分のタイルと角が接するように置かねばならない
14
REQUIRED
反則にならない 勝つ
勝つためには最低限反則にならないことが必要
Reversi, Connect6: これは比較的簡単
Blokus Duo: 配置の制約、タイルの形状...
このあたりはゲームの性格によって大きく異なる
15
デザインの傾向
高位合成を利用したデザインが増加
難しいルールでも間違いなく書ける
100% RTL で記述するグループもある
そして強い・・・
16
Trax
1982年、ニュージーランド発祥
今年12月の ICFPT Design Competition の課題
ひとあし早く9月のFITでコンテストを実施します
CPSY, ARC, GI と合同開催
17
Traxの基本
2人のプレーヤ、1種類のタイル
白を選んだプレーヤが先攻
タイルは裏表・回転が自由
同じ色の線をつないでいくゲーム
コンテストでは盤面サイズは無制限
8x8 のルールもあります
18
Traxの基本
2人のプレーヤ、1種類のタイル
白を選んだプレーヤが先攻
タイルは裏表・回転が自由
同じ色の線をつないでいくゲーム
コンテストでは盤面サイズは無制限のルールを用いる
19
指し方の基本
先攻から先に、基本的に1ターン1枚ずつタイルを置く
既に置かれているタイルに同じ色の線をつなぐ
自分の線を伸ばしても相手の線を伸ばしてもよい
20
Forced play: 連鎖ルール
新しくタイルを置いた結果できたスペースの2辺に同じ色の線がある場合
そこを埋めるようにタイルを配置する
連鎖ルールが適用できなくなるまでが1つのターン
連鎖が起きた場合には 1ターン 1枚
21
連鎖ルールの例
隣接する辺でも対向する辺でもよい
全部片付くまでやらねばならない
見落としに注意
禁じ手にも注意 (後述)
22
連鎖ルールの例
隣接する辺でも対向する辺でもよい
全部片付くまでやらねばならない
見落としに注意
禁じ手にも注意 (後述)
22
連鎖ルールの例
隣接する辺でも対向する辺でもよい
全部片付くまでやらねばならない
見落としに注意
禁じ手にも注意 (後述)
22
連鎖ルールの例
隣接する辺でも対向する辺でもよい
全部片付くまでやらねばならない
見落としに注意
禁じ手にも注意 (後述)
22
連鎖ルールの例
隣接する辺でも対向する辺でもよい
全部片付くまでやらねばならない
見落としに注意
禁じ手にも注意 (後述)
22
連鎖ルールの例
隣接する辺でも対向する辺でもよい
全部片付くまでやらねばならない
見落としに注意
禁じ手にも注意 (後述)
22
連鎖ルールの例
隣接する辺でも対向する辺でもよい
全部片付くまでやらねばならない
見落としに注意
禁じ手にも注意 (後述)
22
連鎖ルールの例
隣接する辺でも対向する辺でもよい
全部片付くまでやらねばならない
見落としに注意
禁じ手にも注意 (後述)
22
連鎖ルールの例
隣接する辺でも対向する辺でもよい
全部片付くまでやらねばならない
見落としに注意
禁じ手にも注意 (後述)
22
ループ
どちらかの色の線が閉路を形成した場合
先にできたら勝ち
自分のターンで相手のループができることもある
詳しくはのちほど
23
ループ
どちらかの色の線が閉路を形成した場合
先にできたら勝ち
自分のターンで相手のループができることもある
詳しくはのちほど
23
ビクトリーライン
以下のようなラインが形成できたら勝ち
場に置かれたタイルの端から反対側まで
入ってきたのと同じ向きに抜ける
長さが8タイル以上
XもしくはY方向の絶対値差分
24
ビクトリーラインの例
赤は「端から端まで」でない
白は OK
白の長さはちょうど 8
25
             
             
             
           
禁じ手
3辺から同じ色の線がくるスペースを作ってはならない
図の例では3辺が白
こういうのをつくったら負け
連鎖ルールの結果として、でも負けになるので注意
26
勝敗
自分のターンでループかラインが形成できたらとにかく勝ち
連鎖ルールが適用されていく途中で相手のループやラインができても

連鎖ルールの適用が終わるまでに自分のループやラインができればOK
自分のターンで相手のループやライン「だけ」ができたら、相手の勝ち
27
Trax notation
棋譜を記録するためのフォーマット
Trax の公式ソフトウェアなどで使用
コンテストでも使います
28
Trax notation 使用上の制約
最初の一手は右のどちらか
人 vs 人なゲームではこれはどうでもよい
だが、盤面をぐるぐる回せばどこかでこうなる
29
タイルの種類
3種類: +, /,  で識別
各文字に対応するタイルは2種類
すでに置かれているタイルとの関係で一意に定まる
最初の一手が限定されているのはこのため
30
+
/
\
座標系
相対位置
タイルが置かれているエリアの左上が A1
そのもう一つ左が @ で上が 0
@ や 0 のつく位置に置くと座標が動くので注意
31
A B0@
1
2
3
Trax notation
各ターンの最初の一枚を「座標・タイル」で表記
右の例なら A1+
連鎖ルール適用分は書かない
32
A B0@
1
2
3
Trax Protocol
33
Host PlayerPlayer
Trax Protocol
33
Host PlayerPlayer
-T-T
Trax Protocol
33
Host PlayerPlayer
-T-T
AA BB
プレイヤーID確認
Trax Protocol
33
Host PlayerPlayer
-T-T
-B-W
AA BB
プレイヤーID確認
先手・後手の通知
Trax Protocol
33
Host PlayerPlayer
-T-T
-B-W
@0/
@0/
AA BB
プレイヤーID確認
先手・後手の通知
1手目
Trax Protocol
33
Host PlayerPlayer
-T-T
-B-W
@0/
@0/
AA BB
@1/
@1/
プレイヤーID確認
先手・後手の通知
1手目
2手目
Trax Protocol
33
Host PlayerPlayer
-T-T
-B-W
@0/
@0/
AA BB
@1/
@1/
B2/
B2/
プレイヤーID確認
先手・後手の通知
1手目
2手目
3手目
FIT Trax コンテスト
9/17, みかん大学
Embedded (< 5W)
Standard (<100W)
255手引き分け
シリアルかEthernetで接続
34
Getting Involved
35
検索Trax FPGA

More Related Content

PPTX
「LED点滅用のLSIをつくって Lチカをやってみた」のココロ
PDF
Nakahara_ACRi_panel-discussion_25_march2021
PPTX
日本のメイカー活動とNT金沢
PPTX
道具としての半導体設計:Lチカを題材として
PPTX
M5Stackで授業をやってみた
PDF
2015 summercamp 01
PPTX
「Lチカから考えるIoT時代のものづくり」
PPTX
AI班ハードウェア領域
「LED点滅用のLSIをつくって Lチカをやってみた」のココロ
Nakahara_ACRi_panel-discussion_25_march2021
日本のメイカー活動とNT金沢
道具としての半導体設計:Lチカを題材として
M5Stackで授業をやってみた
2015 summercamp 01
「Lチカから考えるIoT時代のものづくり」
AI班ハードウェア領域

What's hot (20)

PDF
2015 summercamp 04
PDF
実社会・実環境におけるロボットの機械学習 ver. 2
PDF
190730 Introduction of VR/MR in Experimental Equipment for Real-time Discussi...
PDF
MoveItの新機能、 pilz industrial motion を試してみた
PDF
RTM on Androidの紹介
PPTX
自動アングル機能を有したロボットカメラSi
PDF
C#/Java & Linux で始める ET ロボコン
PPTX
Tfug20181105
PDF
2015 summercamp 09
PDF
FPGAをロボット(ROS)で「やわらかく」使うには
PPTX
AI・IoT時代のテクノロジーとの付き合い方
PPTX
FPGA勉強会資料 20210516
PPTX
カスタムLSIが道具になるために
PPTX
ニセモノチップをみてみた&チップを流用する例をみてみた
PDF
Make @ Osaka
PDF
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
PDF
オープンハードセミナー
PPTX
道具としての電子回路・半導体
PDF
2015 summercamp 08
PPTX
研究者のための Python による FPGA 入門
2015 summercamp 04
実社会・実環境におけるロボットの機械学習 ver. 2
190730 Introduction of VR/MR in Experimental Equipment for Real-time Discussi...
MoveItの新機能、 pilz industrial motion を試してみた
RTM on Androidの紹介
自動アングル機能を有したロボットカメラSi
C#/Java & Linux で始める ET ロボコン
Tfug20181105
2015 summercamp 09
FPGAをロボット(ROS)で「やわらかく」使うには
AI・IoT時代のテクノロジーとの付き合い方
FPGA勉強会資料 20210516
カスタムLSIが道具になるために
ニセモノチップをみてみた&チップを流用する例をみてみた
Make @ Osaka
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
オープンハードセミナー
道具としての電子回路・半導体
2015 summercamp 08
研究者のための Python による FPGA 入門
Ad

Similar to FPGA Traxコンテストについて (20)

PPTX
Myoshimi extreme
PDF
2012研究室紹介(大川)
PPT
20140310 fpgax
PDF
FPGA・リコンフィギャラブルシステム研究の最新動向
PDF
ハードウェア脳とソフトウェア脳
PDF
多数の小容量FPGAを用いた スケーラブルなステンシル計算機の開発
PDF
FPGAを用いた世界最速のソーティングハードウェアの実現に向けた試み
PDF
Reconf_201409
PPTX
Starc verilog hdl2013d
PDF
第9回ACRiウェビナー_日立/島田様ご講演資料
PPTX
Microsemi FPGA はいいぞ,FPGAの紹介とおさそい
PDF
ICD/CPSY 201412
PDF
FPGAX6_hayashi
PDF
ソフトウェア技術者から見たFPGAの魅力と可能性
PDF
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PDF
FPGAベースのソーティングアクセラレータの設計と実装
PDF
FPGAスタートアップ資料
PDF
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
PDF
Synthesijer fpgax 20150201
PPTX
ソフトウェア志向の組込みシステム協調設計環境
Myoshimi extreme
2012研究室紹介(大川)
20140310 fpgax
FPGA・リコンフィギャラブルシステム研究の最新動向
ハードウェア脳とソフトウェア脳
多数の小容量FPGAを用いた スケーラブルなステンシル計算機の開発
FPGAを用いた世界最速のソーティングハードウェアの実現に向けた試み
Reconf_201409
Starc verilog hdl2013d
第9回ACRiウェビナー_日立/島田様ご講演資料
Microsemi FPGA はいいぞ,FPGAの紹介とおさそい
ICD/CPSY 201412
FPGAX6_hayashi
ソフトウェア技術者から見たFPGAの魅力と可能性
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
FPGAベースのソーティングアクセラレータの設計と実装
FPGAスタートアップ資料
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
Synthesijer fpgax 20150201
ソフトウェア志向の組込みシステム協調設計環境
Ad

FPGA Traxコンテストについて