SlideShare a Scribd company logo
1 of 56
Download to read offline
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

What's hot

RTM on Androidの紹介
RTM on Androidの紹介RTM on Androidの紹介
RTM on Androidの紹介
openrtm
 
自動アングル機能を有したロボットカメラSi
自動アングル機能を有したロボットカメラSi自動アングル機能を有したロボットカメラSi
自動アングル機能を有したロボットカメラSi
Shogo Namatame
 
オープンハードセミナー
オープンハードセミナーオープンハードセミナー
オープンハードセミナー
Kenichi Kurimoto
 

What's hot (20)

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

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

High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
Takuma Usui
 

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

総合技術特別講義講演資料2017
総合技術特別講義講演資料2017総合技術特別講義講演資料2017
総合技術特別講義講演資料2017
 
20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用
 
アナログ回路の民主化とプロの役割
アナログ回路の民主化とプロの役割アナログ回路の民主化とプロの役割
アナログ回路の民主化とプロの役割
 
FPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティングFPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティング
 
ZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォーム
ZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォームZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォーム
ZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォーム
 
Myoshimi extreme
Myoshimi extremeMyoshimi extreme
Myoshimi extreme
 
20220525_kobayashi.pdf
20220525_kobayashi.pdf20220525_kobayashi.pdf
20220525_kobayashi.pdf
 
ACRiウェビナー:エッチ・ディー・ラボ様ご講演
ACRiウェビナー:エッチ・ディー・ラボ様ご講演ACRiウェビナー:エッチ・ディー・ラボ様ご講演
ACRiウェビナー:エッチ・ディー・ラボ様ご講演
 
フィジカルコンピューティングとその可能性
フィジカルコンピューティングとその可能性フィジカルコンピューティングとその可能性
フィジカルコンピューティングとその可能性
 
Fortranが拓く世界、VSCodeが架ける橋
Fortranが拓く世界、VSCodeが架ける橋Fortranが拓く世界、VSCodeが架ける橋
Fortranが拓く世界、VSCodeが架ける橋
 
20161011 intro-ohkawa lab-pub
20161011 intro-ohkawa lab-pub20161011 intro-ohkawa lab-pub
20161011 intro-ohkawa lab-pub
 
OPTiM_Tech_Night
OPTiM_Tech_NightOPTiM_Tech_Night
OPTiM_Tech_Night
 
プロトタイピングの潮流とデザイナーへの提言
プロトタイピングの潮流とデザイナーへの提言プロトタイピングの潮流とデザイナーへの提言
プロトタイピングの潮流とデザイナーへの提言
 
チームMORIMORI 設計資料他苦労話など at G空間EXPO2013
チームMORIMORI 設計資料他苦労話など at G空間EXPO2013チームMORIMORI 設計資料他苦労話など at G空間EXPO2013
チームMORIMORI 設計資料他苦労話など at G空間EXPO2013
 
Hdmits fpgax6-v0
Hdmits fpgax6-v0Hdmits fpgax6-v0
Hdmits fpgax6-v0
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
 
Introduction of FPGA
Introduction of FPGAIntroduction of FPGA
Introduction of FPGA
 
HPA交流会2019春
HPA交流会2019春HPA交流会2019春
HPA交流会2019春
 
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
 
Sw技術者に送るfpga入門
Sw技術者に送るfpga入門Sw技術者に送るfpga入門
Sw技術者に送るfpga入門
 

Recently uploaded

Recently uploaded (10)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

FPGA Traxコンテストについて