Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

計算数学

664 views

Published on

http://www.youtube.com/watch?v=YZfqKuWIQeY

Published in: Technology
  • Be the first to comment

計算数学

  1. 1. Common LispでAndroidアプリ チーム「人造エイリアンLisper」 金(κeen@blackenedgold)
  2. 2. 自己紹介 ● 数学科3年 ● プログラミング歴2年 ● Ruby, Common Lisp ● Android開発経験 なし ● Javaもあんまり無い ● AIに少し興味あり
  3. 3. 目的 ● Common LispでAndroidアプリを作れるらしい ● moclって言うらしい ● 試したい ● でも多分バグ(俗称地雷)がある ● それでも!突き進む!
  4. 4. _人人人人人人_ > 突然の死 <  ̄Y^Y^Y^Y^Y ̄
  5. 5. ● ● ● ● ● ● ● とりあえず書式面倒だから便利なライブラリで省略しよう →cl-annot が動かない じゃあ、そのままでTwitterクライアント作ろう→ cl-twitterが動かない 仕方ない、OAuthだけやってくれたら後は自分で… → cl-oauthが動か ない じゃあもうOAuth自分で実装するよ。HTTPお願い → drakmaが動かな い じゃあJavaでとってくるからOAuthのアルゴリズムだけ → ironcladが 動かない もう!生ソケットでやってやる! → usocketが動かない 死
  6. 6. 代替案 ● AI作ろう。オセロの。 ● スマホだし高速化しないときついよなー。 ● 高速な方法を見付ける→難しい ● でもやるしかない。 ● 突き進む!
  7. 7. できた! ● Black'ndWhiteって言います
  8. 8. 実装 ● transposition tableを使う – – ● どこに置くとどの石を裏返せるかの情報を保持 実装が難しい 評価関数は複数を組み合わせ – 位置評価 – 着手可能手 – 中心性 – 石数
  9. 9. 実装2 ● Common LispはAI「だけ」実装 – – 開発が容易に – ● ゲームの管理はJava 移植性 Javaはグラフィックとゲーム – – やっぱりグラフィックに強い 盤の情報は持たない(Common Lispに問い合わせ る)
  10. 10. 良かったところ ● ● ● AIに強いCommon Lispとグラフィックに強い Javaで分けれた Common Lispでソースコード生成 初心者でも扱えるJavaのグラフィックライブラ リ
  11. 11. まとめ ● 地雷6つ踏んだ ● 高速なAI作った – transposition table、評価関数3/4は初めての実装 ● 初めてAndroidアプリ作った ● 初めてCommon LispでAndroidアプリ作った
  12. 12. 以上 質問どうぞ

×