ロボットアームを作成中 
木曜日, 2月 16, 2012, 11:02 PM - 近況
ちょっと前に夜子まま塾ADKという勉強会に参加したときに
Arduinoの使い方をなんとなく把握したのでロボットアームを作ってみた。
そのうちAndroid側のプログラムで制御できるようにしたいけど
とりあえずは動かすところまでできた。

↓動作風景
http://www.youtube.com/watch?v=51cy5RCa ... e=youtu.be
  |  0 trackbacks   |  このエントリーのURL   |  related link   |   ( 3 / 723 )

PlayNのeclipseの開発環境構築からサンプルプロジェクトの実行まで 
水曜日, 11月 30, 2011, 12:08 AM - プログラム
Google Developer Day 2011の2日後のEXP-Hackathonで触った
PlayNというゲームライブラリが思いのほか面白かったので
環境構築の方法をサイトのページにまとめてみた。

eclipseの開発環境構築からサンプルプロジェクトの実行まで

次はブランクプロジェクトの作成方法をまとめたい。

  |  0 trackbacks   |  このエントリーのURL   |  related link   |   ( 2.9 / 789 )

GDD2011に行ってきた 
木曜日, 11月 3, 2011, 08:15 PM - 近況
11月1日(火)にGoogle Developer Day 2011に行って来ました。

場所はパシフィコ横浜でした。


会場全体で混線が起こると困るので「個人のWi-Fiはダメ・ゼッタイ」が徹底されていました。
代わりに会場のWi-Fiが解放されていたので皆そちらを使っていました。
(といってもいくつか野良APが見えましたががが・・・)


そして開催。


なんかドロイド君ロボが居ました(前から何回か見かけてたけど)。

聞きに行ったセッションはAndroidやGoogle App Engineのマネタイズについてや、
クラウドでゲームを作る方法についてが多かったです。


こっちは閉会時の写真です。
段上に上がっている方々はGooglerからボランティアスタッフの方々で、
GDD2011の運営に携わった方々です。本当にありがとうございました。



会場で頂いたものはこんな感じです。

Google缶バッチとzeemoteというBluetoothコントローラ、Chromeアメです。
Google缶バッチは一人一種類を10個を受け取り、交流を兼ねて他の人と交換して
2種類をコンプリートするとGoogle帽子を貰えるといったものでした(僕は2個揃わなかった、、)。


あとGDD Tシャツと、DevQuiz満点Tシャツです。
DevQuiz満点Tシャツは文字通り大人げなくDevQuizで満点を取った人だけに配られました。


全体を通していいな〜と思ったのは2個ほどありました。
一つは「L10N Beta」というユーザがインストール中のアプリを翻訳でき、
翻訳した内容をアプリ作者に送ることができるものです。
今まで翻訳できても送るのが大変だったのですが、それが気軽にできるので期待大です。
L10N Beta

2つ目は「playn」と呼ばれるゲームライブラリです。
このライブラリはGWT上で動作するライブラリで、Javaでプログラムを書けば
AndroidでもJavaアプリケーションでもHTML5(WebGL)にできる
クロスプラットフォームに対応しています。
playn project
セッションで使用された@proppyさんの資料 ←凄いことにこの資料上のDEMOは直接操作できます。

とまぁ簡単ですが、GDD2011で記憶に残ったことでした。

  |  0 trackbacks   |  このエントリーのURL   |  related link   |   ( 3 / 822 )

AtomタブレットにMeeGoを入れたいが入らない 
土曜日, 10月 22, 2011, 10:36 PM - Linux
ONKYOのAtomタブレットのTW217が手に入ったのでMeeGoを入れてみようと思った。
http://www.jp.onkyo.com/pc/personalmobi ... 7/spec.htm

MeeGoのリポジトリからStableらしいっぽいものをダウンロードしてインストールした。
http://download.meego.com/MeeGo/snapsho ... st/images/

インストーラそのものはスンナリ終わった。
でも電源を入れてもGUiが立ち上がってこない・・・。

起動中にブートローダを止めて、カーネルのquietオプションを削除して
起動してメッセージを確認すると「could not open framebuffer」と出ていた。

いろいろ調べてみるとTW217はGMA500のグラフィックチップ(?)を使ってるけど、
カーネルがこのチップをサポートしてないらしい。
http://www.x.org/wiki/IntelGraphicsDriver
Linuxのカーネル2.6.39以降でサポートされたらしいので、
新しいカーネルで試してみたい。

とりあえず今日はここまで。

  |  0 trackbacks   |  このエントリーのURL   |  related link   |   ( 3 / 762 )

DevQuizのスライドパズルの解答 
月曜日, 9月 12, 2011, 09:16 PM - プログラム
GoogleがGoogle Developer Day 2011というイベントの開催にあたり、
参加権を掛けたDevQuizという問題をやってるので解いてみた。
普通のクイズの他にChrome ExtensionやAndroid、Google App Scriptを使った問題があります。
どれもエンジニアの人で、プログラムを書いて解かせないと解け無いような問題ばかりです。
その中のチャレンジ問題がかなり重い問題だったので、その解答についてです。

問題の概要


3x3〜6x6のスライドパズルが5000問をヒタスラ解くというものです。
5000問を通して手数に上限があるので、あまりダラダラとはできません。
手数をオーバーすると残りの問題を解いても採点されないので
なるべく少ない手数で解かなければいけません。

マイアプローチ


全部でソルバー1号、2号、3号の3つを作って5000問を解きました。
1号と2号は横型探索で、3号が正攻法で解くもので、
1号と2号で簡単な問題を粗方潰し、3号に難解な問題をとかせました。

ソルバー1号、2号(幅野郎)


特徴


・横型探索
・メモリに100万手を履歴として保持する
・100万手を超す履歴はOOMになるので評価関数にて低いものから破棄する
・次手の候補も多すぎる場合は評価関数にて低いものから破棄する
・過去に出現した手は履歴にマッチングさせることで検出して破棄する
・1時間で100問くらいしか解けないくらい遅い上にメモリを喰う

大雑把なアルゴリズム




工夫点


・メモリは2GBを与えた
・盤面はbyte配列で表現してメモリの消費量を削減
・履歴マッチングにはハッシュマップで計算量を削減
・ソルバー1号は評価関数にマンハッタン距離の合計を使用
・ソルバー2号は評価関数にマンハッタン距離×パネルの重要度の合計を使用
 (端っこのパネルの重要が大きくなるよう設定)
・AWSのラージインスタンスで7プロセスを実行して遅さを補った

実行結果


ソルバー1号と2号はどちらも4970問ほどを
それなりに短い手数で解いてくれました。

ソルバー3号


特徴


・人がパズルを解くときのように端っこから埋めて行きます。
・最初に各パネルに順位を付けて、その順に埋めて行きます。
・壁があっても解けるような順位付けをしています。
・1問1秒掛からない
・結果の手数に無駄が多い
・ソースが物凄い汚い(何)

順位付けのイメージ1





順位付けのイメージ2(ややこしい場合)




工夫点


・特に無し、解くこと最優先

実行結果


ソルバー1号と2号が解けなかった残り30問ほどを全部解いてくれました。

とまぁ、3つのソルバーで5000問全て無事解けました。
3号の結果の手数が多めでしたがソルバー1号と2号が手数をかなり余らせてくれていたので
合計手数も制限内に収まり、無事に5000問の全問を解くことができました。

ソースコード


ソースコードは以下からダウンロードできます。
ソースコードはこちら
eclipseのプロジェクトをzipにしたもので、インポートで取り込めます。
miscにある程度の説明書きも書いてますのでご参考までにどうぞ。

2011/09/17追記


GDD2011 Tokyo - devQuiz答え合わせ大会 in 関西にて詳細を発表しました。
資料はこちら

  |  0 trackbacks   |  このエントリーのURL   |  related link   |   ( 3 / 939 )


Back Next