並列処理によるペントミノ箱詰めパズルの高速化

26
II
キュー
スレッド 1
スレッド 2
バックトラックによる
解の探索
穴の有無の検査
検索中止
平成26年度 コンピュータ理工学特別研究II 報告書抄録 京都産業大学 コンピュータ理工学部
ARを利用したモバイル端末向け双六アプリの開発
学生証番号 144777 インテリジェントシステム学科 谷村 友優(荻原研究室)
1 はじめに
ARの機能をモバイル環境でも利用できるよ
うになってきたが、ゲームアプリでの使用例は
多くない。ARとBluetooth通信を組み合わせれ
ば、その場にいる人同士で楽しめるゲームが作
成できると考えた。
!
2 研究の背景・目的
マーカー
アプリケーションのテーマでは、昨年、一昨
年の卒業研究として取り上げている[1][2]。AR
双六アプリケーションは一昨年の「双六アプリ
ケーション」を参考に行った。一昨年の双六ア
プリケーションは子供の機嫌を取るために勝た
せるアプリケーションであった。
今回はARを取り入れることによって、双六
の表現の幅が広がり、より多くの人を楽しませ
るアプリケーションが出来ると考えた。
カメラ越しに見る
!
と、双六の進行状
3 手段
本研究では、Bluetoothをプレイヤー間での
ゲーム進行に関わる情報のやり取りに使う。実
装にはMultipeerConnectivityフレームワークを
利用した。
ARを利用するためにmetaio社[3]が提供する
無料のAR開発キットの中にあるiOS用のフレー
ムワークを利用する。このフレームワークがあ
ると、あらかじめアプリケーション内に用意し
た3Dモデルを様々な方法で出現させることが出
来る。
!
4 アプリケーション概要
本研究では、iPadを3台使用して実験した。
各プレイヤーがiPadを持ち、カメラ越しにAR
マーカーを見ると盤面とキャラクターが表示さ
れ、ゲームを行う(図1)。
ゲーム中はBluetoothで通信が行われてお
り、通信によってサイコロの出目や順番に関す
る情報のやり取りを行う。
!
!
!
況が表示される
!
図1.ゲームの実行例
5 考察
iOSを一人1台もって行うため他の人に渡し
てまわす必要がなくなった。ARを用いるので、
マーカーの角度で見え方が変わり、楽しめるの
で飽きにくい。しかし、一昨年の双六アプリと
比べると、iOSのカメラやBluetoothの機能を使
うので消費電力は激しい。
その場にいる人同士でこのAR双六アプリを
利用する事は出来るが、通信の接続方法がやや
こしい。子供が遊べるアプリにするためには、
特にこの点の改良が必要であろう。
!
参考文献
[1] 湯川隆介, 子供と遊ぶ事を目的とした双六アプリケー
ション開発, 京都産業大学コンピュータ理工学部 卒業論
文, 2013.
[2] 呼思楽, Bluetooth通信を利用したカードゲームアプ
リの開発, 京都産業大学コンピュータ理工学部 卒業論文,
2014.
[3] metaio, metaio ¦ SDK Overview, http://
www.metaio.com/products/sdk/ (2015)
荻原研−2
⇥ 26 ⇤⌅ ⇧⌃⌥
⌦↵
⇥
⇤⌅⇧⌃⌥
✏⇣⌘ II ✓◆
!"
#$%#&#
⌦↵
⇧⌃⌥
⌫⌫⌫⌫⌫⌫⌫⌫⌫⌫⌫⌫⌫⌫⌫⌫⇠⇡⇢
✏↵⇣⌘✓◆
⌦'()⌃* +
⌧
⇥⇤⌅⇧⌃↵
⌫⇠⇡
,-"
./⌫01-⇣⌘23
1⇢ ⌧
l®AÆØV∞D±ØA§•Lm^i≤YdW
"
"
4567⌦4⌃89: ;<=>?@ABC
iZ≥¥9µ∂ó∑y
∏z
π∫ ª
ºóNΩO⇧
DEFGH *⇧
IABJKLMNOPQ
Næúø
¿ #¡
NçL¬oV √ƒ≈N4567⌦
ARSTDUVWFXYDZK;KL[V\K
4⌃8A§•K>Z∆>Lp qA «»v… ;<
G?@K]^D_`8abAc?dBJTD
§WKL4567⌦4⌃8N ¢À~AÃåV
E9Le>Ff8Ng 4*7AhiZMjd
K>Z
I
klmQYDNnLo?d4567⌦4⌃8A
!
WFip qdrDZs⇣⌘d9 tu
vwxy
#z
mM
4
YV{|TDa(}a4A~^] tÄN4
⌫sp q9L⇧´⌃IÕŒd§WndœDZ
567⌦4⌃8AÅÇTDp qA@⇥K>Z
MN>–L⌧œF±ØA—“K”X‘>’÷L
⇧ IA◊ÿK>’L4Ÿ⁄ä4€⇧‹›äT
2 Clang
DôfiFflL‡·‚Õ„‰∫Œ^>Â’Vp q
⌫Clang 9LApple AÉÑmK]ÖgQY]^DL
A§WTYëLMYÊád⇧ IARSTDj
CLC++LObjective-C ÜáN⇧⌃à(aâ"
5`
mnÃådrDZ∆>LÁ
Ë«V{|TDp q
⌃ä)⌃IdrDZClang V9⇧⌃à(amK
mÈÍTDmLsp qNÎin «»v… Ïd
]NãåNçVL⇧
?@TDÌÓ Ô⇧*änGLπ∫ÒÚVp
I AéèTDãåA
LibTooling mêë YD{|a(} a4mK]
qNù~ndœDm∂C<YDZ
íìK]^DZjY9 Clang Nîïéèâñó
éèòNãåAôöêõúKLù~TDûNd
5 "#⌧
rDZs⇣⌘d9LñóüV†K]°@AWi
⌫s⇣⌘d9 tu
vwxÛõMNñóéèa(}
NdLñóéèN ¢A£iZ
a4A£^ tÄNéèAKL∆>H *⇧
IAœÙCDjmd^GŒ;No?456
3
⌫
7⌦4⌃8A§•KLMNı~ˆA™K>Z
˜¯F⇥˘A˙áD tu
vwxA˚¸mTDjm
9L˝˛Fà⌦ ⌃V†ˇK>p qA§•T
D⌧œFc
ámF‘>Z∆>Lt⇥⇥V⇤Y]
^D_`8a´drYëLp q€Nà⌦ ⌃
N⌅⇧9⌃⌥dr∫L
ˆ9⌦^mCπiZ
$%&'
y
#z
"
↵
…u
vwx↵
"
t"vwx vx "
✏v»ª
u
⇣"
✏⌘
✓w◆w"
º
✓⌘
"
¿ 1. if óNΩO⇧ INæú
⌫§•Nc¶9L4567⌦4⌃8N†ßmF
Dñól®Añóü©™⇧´⌃Id¨≠LMN
⌫
"
⇠◆
◆
⇡⇢ …u
vwx⌫
u
u
⌧»⌫
✓⌘
x
y
∏z
"
✏
« "⌫
" º
v…◆
✓⌘
ª
wx⇢
"
Á
»⇡⌘
✓⌧ª
wx"
◆
⇠"
Ë ª
xw"
✓º
"
«!ª
◆
ª
wx"
t✓ ⌫
"
"
"
"
"
"
"ª
✓w" u⇣"
#⌘
✓º ª
✓wvu"
#$$$⌫
()*+3
⇥ 26 ⇤⌅ ⇧⌃⌥
⌦↵
✏⇣⌘ II ✓◆
⇥⇤⌅⇧⌃⌥
◆
!" #$%&'#
1
⇧⌃⌥
⌫⌫⌫⌫⌫⌫⌫⌫⌫⌫⌫⌫⌫⌫⌫⌫⇠⇡⇢
⌧
⇧⌃⌥
⌦↵
⌦↵
✏⇣⌘✓
⌫⇠⌦⇡⇢
⌦()*⌃+ ,
-. /0⌫123⇣⌘45
⌧
⌫6⇣⌘789⌦:;<
=>?
⌦:@ABC
9+D);<
=>?
⌦:@EFGGHIJKABC
LM9+N OPQ⌃RSTU
I
VEF)⌃⌦PW
+?
XYZ[\UI]^_`Ba
bIcdbE9efgh;iR
jkIlYFmh;ijk?89
nopqros
t
u
v
w
#x
9yqzon{r|
<
}|rpqn ~z
ÄzÅrC
w
ÇxI É Ñ
û ⇥
⇤
⌅⇧⌃Ref À
û ⌥⇥
⇤
⌅⇧⌃Ref¿¡
û ⇥
⇤efä ⇧ ?íìi
; †˛Rêë Ifi≠
FmgÖbEZ89ÜáàfR
âV9efäIãå_`ZefIç?légÖ
3 !"#$%
è9êëIíìi?îïABbñ?óòóò
⌫ef¿¡I¬7ef?±ÑFÑbñ9√ƒX
✏ôRëbEZöõ7ñBgÖIúùZÑBm
éLefI≈⌅Vlébñ?∆«7øBmEV
E9h;iR=>I»F…®78ST À¨Ã
VÆ?ÕÕŒƒBœ–¨øBR79ü †I⌦
:;EF∏?Ma?+D);A—“XÑVL
û #t
⌦:;ST?XBü †R°R¢£
MRH”I‘A’÷IABbÑYF◊ÿŸ¨
⁄€‹—Bm
4 &'
⌫› RíìigÖè9ªºLefäIT⇥E
Z¢ê?êëIfi≠AB…®7ef¨7ñB
û Çt
§Ñü †<
%C
I•°Ñü †<
¶C
?ßò®Z
•°Ñü †RëI¢£_`B<
¶©
%™ÇC
gÖLM¨fl‡7ñFmEVE9·?7‚±Ñ
èAÑVbÑéŸ?òÑZ89≈„VR„?fl
‰?±YZ‚‹Ñ9ÂÊIÁ®BËȨøBm
2
⌫⇠⌦
⌫êëLMR´✓¨≠YFü
†IJK_`
FÆ9ßò®FÆEZefIlémÜáàfg
($)*
w
#xÍäπÎÏÌÓ⌦+*⌃⌦ Ô)⌃í⌃
Ö<
û &Ø$C
9efäT⇥∞±ÉgÖ<
û %C
9íì
OÒ
nopqros
t
u
v
Ú
Ø
igÖ<
û %C
9≤≥efgÖ¨õ¥ABm±Éµ
qs
s
|Û
Ù
Ù
nopqros
u
v
t
pzıÙ
u
rÙ
Ø<
Lj#$C
bEZ89∂Ñ∑∏RπeR∫fè9ªºLΩ
eæ ⌦IÉÑFêëefLM¨øBm
w
Çx}vr̃¯~z
|z
rsz̃oÒ
yqzon{r|˘roÚ
Ø
qs
s
|Û
Ù
Ù
|qzon˙r|©
˚
rot
pzıÙ
r¸z˝s
Ù
Ø<
Lj#ÇC
+,-.4
⇥ ⇤⌅⇧⌃⌥
⌦↵
✏⇣⌘✓◆ ⌥ ⌫⇠⇡⇢
⌧
⇥⇤⌅⇧⌃⌥
⌦↵
⌘✓◆  ⌦↵
⇣"#$%⌥
&'(()(
⌦↵
*+, -⇣.
⇣⌥
⌦↵
✏⇣!
✏⇣
⌫ ⇠
/0⌥
12 345◆67
⇥
⇤⌅⇧⌃
89:;<= > ?@ :ABCDEFGH
IJAKLM NFOPQRSCEFGHTUV
IWAXL
Y↵Z[
?@
N\Q]^I_
`abEWAXc:deI_`fghQi
j◆CDEFGHIUV:klmnoNpq
CrQstNuov;<=
>
?@
w
⇤⌥ ë íst
x
NyFfviUVDklNz{v|E}~PQ
TC;<= > ?@ LÄÅCrQi
⌥⇥
⌦↵
ÇÉ◆TfgEÑÖÜá
&à
DE;<= > ?
±⌥¡ [ íst
@ C:kâTM :äãNåKTfgE-ç+
éèêT ë ístNìîfghQiïÜ:
stDj◆:åKLñóòCrQvôEjw
xLñìîPQTTfviìîLD öõúùû
ü
†
á
⇤à
T°:¢£↵ xC§|E•¶hß箩C™´
PQ ¨õ≠ÆùØ
û∞á
±à
Nóòfvi
jw x:≤≥st:¥µN∂Pi
'⌥ƒ≈st
• -ç+éèê
– FGHI-ç+é:∑
£N∏ôQTU
V:π∫ñèªL∏ºsti
•
⇥
✏⇣⇧
89:;<=
ë íst
>
?@
:ABCDÀfÃ
ÕvEFGHTUVIWAXL Y↵Z[ ?@
– UVIΩæø≥¿N}~CrQsti
• ¡ [ íst
N\ïQw xNyFfvifÃfj◆CD
ŒœCjw
– ¡ [ íN\|E¬√PQsti
xNóòPQì–Nì—fg“
ÜbE* ”:‘’≥¿N÷◊PQÿµI§Qi
• ƒ≈st
– UVIFGH:;<=
>
PQ«»mklN… sti
?@
L∆
⌘✓◆
á
&à
⌥
ÑÖŸ
⌥
⁄€Ÿ
⌥
‹jŸ
⌥
›fiŸ
⌥
fl!Ÿ
⌥
‡·⌥
‚
⌥
„
‰ùÂ⌥
N
òhvÄÅÊ;<= > ?@ „Ÿ
ÁË È
Í⌥
ÎÏ̬⌥
Ó Ô)⌥

⇥ ⇤)⇧Ò
'Ú
Ÿ
⌥
'Û
±Ô&⌥
Û
'Û
±Ô⇤Ÿ
⌥
Ò
⇤))ÙÚ
Jıˆ˜¯ŒM ˘ ⇣È
á
⇤à
⌥
˙
õ˚ù¸Ø
Ÿ¸≠⌥
˝öõúùû
ü
† ˛Ø
Ø
ˇ‚ ¸õúùü
†
û
õ⇥
⇤⌥
á
±à
⌥
⌅ù⇧⇥
¸⌃õõ†
Ø
⌥
‚
⌥
¨õ≠ÆùØ
û∞ ˛Ø
Ø
ˇ‚ †
õ≠ÆùØ
û
⌥
õ
&⌥-ç+éèê
45◆
(