Upload
inomata-kentaro
View
4
Download
3
Embed Size (px)
DESCRIPTION
わんくま同盟東京勉強会#38 Lightning Talk2009/10/17
Citation preview
わんくま同盟東京勉強会 #38
パズルをコンピュータに解かせる
猪股健太郎
わんくま同盟東京勉強会 #38
パズルの元ねた
•「レイトン教授と最後の時間旅行」
–Nintendo DS用のゲーム
–開発・制作・販売 レベルフゔイブ– http://www.amazon.co.jp/dp/B001LNNNK4
わんくま同盟東京勉強会 #38
ナゾ035 回線混乱のナゾ
•ゕリの巣みたいにトンネルを掘っていたら、図のようにこんがらがってしまった。
わんくま同盟東京勉強会 #38
わんくま同盟東京勉強会 #38
ナゾ035 回線混乱のナゾ
•AとA’、BとB’、CとC’の間に専用回線を引くことになっているが、同じ道に回線を2回通してはいけないという。
わんくま同盟東京勉強会 #38
ナゾ035 回線混乱のナゾ
•さて、1本だけ地上を通さないとつながらない線があるのだが、それはA、B、Cのどれだろう?
わんくま同盟東京勉強会 #38
わんくま同盟東京勉強会 #38
というわけで
•自力で解くのはあきらめて、コンピュータにやらせる
わんくま同盟東京勉強会 #38
#1もつれた道をほぐす
わんくま同盟東京勉強会 #38
わんくま同盟東京勉強会 #38
#1の方針
•交差点と交差点の接続関係をキープしたまま、配置を変えてみる
わんくま同盟東京勉強会 #38
#1をコンピュータにやらせる
•ばねモデル
•道がバネでできてる
•交差点同士は反発しあう
わんくま同盟東京勉強会 #38
やってみよう
•demo
わんくま同盟東京勉強会 #38
やってみた
•失敗
•ゕルゴリズムが悪いっぽい
•もういいよ、手でやるから
わんくま同盟東京勉強会 #38
わんくま同盟東京勉強会 #38
#23つの道を交わらないように結ぶ
わんくま同盟東京勉強会 #38
#2の方針
•a、b、cを基点とする3つのルートを色分けしながら、交差点を塗っていく
•途中でルートが途絶えてしまったら、別のパターンで再チャレンジ
•すべてのパターンを網羅する
わんくま同盟東京勉強会 #38
#2をコンピュータにやらせる
•グラフ探索
–深さ優先探索
–幅優先探索
•両方とも実装する
わんくま同盟東京勉強会 #38
やってみよう
•demo
わんくま同盟東京勉強会 #38
やってみた
•成功
•解けた!
わんくま同盟東京勉強会 #38
アニメーションの注意点
•UIスレッドで重い処理をしない
•重い処理はバックグラウンドスレッドで
•UIスレッドに対し、定期的にリフレッシュ指示を出す