Common LispでAndroidアプリ

チーム「人造エイリアンLisper」
金(κeen@blackenedgold)
自己紹介
●

数学科3年

●

プログラミング歴2年

●

Ruby, Common Lisp

●

Android開発経験 なし

●

Javaもあんまり無い

●

AIに少し興味あり
目的
●

Common LispでAndroidアプリを作れるらしい

●

moclって言うらしい

●

試したい

●

でも多分バグ(俗称地雷)がある

●

それでも!突き進む!
計算数学
_人人人人人人_
> 突然の死 <
 ̄Y^Y^Y^Y^Y ̄
●

●
●

●

●

●
●

とりあえず書式面倒だから便利なライブラリで省略しよう →cl-annot
が動かない
じゃあ、そのままでTwitterクライアント作ろう→ cl-twitterが動かない
仕方ない、OAuthだけやってくれたら後は自分で… → cl-oauthが動か
ない
じゃあもうOAuth自分で実装するよ。HTTPお願い → drakmaが動かな
い
じゃあJavaでとってくるからOAuthのアルゴリズムだけ → ironcladが
動かない
もう!生ソケットでやってやる! → usocketが動かない
死
代替案
●

AI作ろう。オセロの。

●

スマホだし高速化しないときついよなー。

●

高速な方法を見付ける→難しい

●

でもやるしかない。

●

突き進む!
できた!
●

Black'ndWhiteって言います
実装
●

transposition tableを使う
–
–

●

どこに置くとどの石を裏返せるかの情報を保持
実装が難しい

評価関数は複数を組み合わせ
–

位置評価

–

着手可能手

–

中心性

–

石数
実装2
●

Common LispはAI「だけ」実装
–
–

開発が容易に

–
●

ゲームの管理はJava
移植性

Javaはグラフィックとゲーム
–
–

やっぱりグラフィックに強い
盤の情報は持たない(Common Lispに問い合わせ
る)
良かったところ
●

●

●

AIに強いCommon Lispとグラフィックに強い
Javaで分けれた
Common Lispでソースコード生成
初心者でも扱えるJavaのグラフィックライブラ
リ
まとめ
●

地雷6つ踏んだ

●

高速なAI作った
–

transposition table、評価関数3/4は初めての実装

●

初めてAndroidアプリ作った

●

初めてCommon LispでAndroidアプリ作った
以上

質問どうぞ

More Related Content

PDF
明日使える超高速Ruby - RXbyak (Mitaka.rb #5)
PDF
Kotlinの紹介
PDF
Rubyistのためのkotlin紹介
PDF
Python機械学習プログラミング第10章後半
PDF
Ruby programmer silverの取得に向けて
PDF
GopherJS + Nashorn
PDF
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
PDF
Rubyビジネスセミナー大阪2015
明日使える超高速Ruby - RXbyak (Mitaka.rb #5)
Kotlinの紹介
Rubyistのためのkotlin紹介
Python機械学習プログラミング第10章後半
Ruby programmer silverの取得に向けて
GopherJS + Nashorn
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
Rubyビジネスセミナー大阪2015

What's hot (19)

PDF
非ガチ勢「よし、Coffee script使おう!」
PDF
ランダムフォレスト回帰
PDF
Rubyで連結リスト使うためのgemを作った(tsukuba.rb版)
PPTX
Milkcocoaでリアルタイム通信しない話
PPTX
Shibuya.rb0921 / ただRubyで使われていないメソッドを削除したい人生だった
PDF
slackに箇条書きにしたタスクを、Notionに登録してくれるbotを作った話
PDF
scikit-learnとTensorFlowによる実践機械学習 第12章
PDF
JavascriptでRubyの作り方
PDF
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
PDF
mozaicfm-ep8 #altJS @ll-diver
PPTX
Robot frontier lesson3
PDF
松江Ruby会議03 LT るりまアピール
PDF
GC本読んでJSで偽GC作った
PDF
るりまの1/nはMatsue.rbでできています。
PDF
Scala.js
PPTX
Ruby on Rails での開発で使って良いなと思ったメソッド
PPTX
Robot frontier lesson2
PPTX
Ruby と C# をつなぐ
PDF
TypeScript 勉強会
非ガチ勢「よし、Coffee script使おう!」
ランダムフォレスト回帰
Rubyで連結リスト使うためのgemを作った(tsukuba.rb版)
Milkcocoaでリアルタイム通信しない話
Shibuya.rb0921 / ただRubyで使われていないメソッドを削除したい人生だった
slackに箇条書きにしたタスクを、Notionに登録してくれるbotを作った話
scikit-learnとTensorFlowによる実践機械学習 第12章
JavascriptでRubyの作り方
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
mozaicfm-ep8 #altJS @ll-diver
Robot frontier lesson3
松江Ruby会議03 LT るりまアピール
GC本読んでJSで偽GC作った
るりまの1/nはMatsue.rbでできています。
Scala.js
Ruby on Rails での開発で使って良いなと思ったメソッド
Robot frontier lesson2
Ruby と C# をつなぐ
TypeScript 勉強会
Ad

Viewers also liked (20)

ODP
(define)なしで再帰関数を定義する
ODP
Common Lisp でビッグデータを作ろう
ODP
Real World OCamlを読んでLispと協調してみた
ODP
Lispmeetup11
PDF
OCamlでWebアプリケーションを作るn個の方法
PDF
広告ネイティブプラグインの辛かった話しよっか
ODP
CL21で色々なデータ構造を実装してみようとした
KEY
Coq for Moblie Phone @ ML名古屋
PDF
Camomile : A Unicode library for OCaml
PPTX
Using functional programming within an industrial product group: perspectives...
PDF
A taste of Functional Programming
PDF
Haskell - Functional Programming
PPT
Mirage: ML kernels in the cloud (ML Workshop 2010)
PDF
Introduction to functional programming using Ocaml
KEY
An Introduction to Functional Programming using Haskell
PDF
Introduction to haskell
PDF
OCaml Labs introduction at OCaml Consortium 2012
PDF
Os Peytonjones
PDF
Hey! There's OCaml in my Rust!
(define)なしで再帰関数を定義する
Common Lisp でビッグデータを作ろう
Real World OCamlを読んでLispと協調してみた
Lispmeetup11
OCamlでWebアプリケーションを作るn個の方法
広告ネイティブプラグインの辛かった話しよっか
CL21で色々なデータ構造を実装してみようとした
Coq for Moblie Phone @ ML名古屋
Camomile : A Unicode library for OCaml
Using functional programming within an industrial product group: perspectives...
A taste of Functional Programming
Haskell - Functional Programming
Mirage: ML kernels in the cloud (ML Workshop 2010)
Introduction to functional programming using Ocaml
An Introduction to Functional Programming using Haskell
Introduction to haskell
OCaml Labs introduction at OCaml Consortium 2012
Os Peytonjones
Hey! There's OCaml in my Rust!
Ad

Recently uploaded (12)

PDF
20250823_IoTLT_vol126_kitazaki_v1___.pdf
PDF
Working as an OSS Developer at Ruby Association Activity Report 2025
PDF
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
PPTX
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
PDF
翔泳社 「C++ ゼロからはじめるプログラミング」対応 C++学習教材(三谷純)
PDF
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
PPTX
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
PDF
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
PDF
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
PPTX
Vibe Codingを触って感じた現実について.pptx .
PDF
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
20250823_IoTLT_vol126_kitazaki_v1___.pdf
Working as an OSS Developer at Ruby Association Activity Report 2025
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
翔泳社 「C++ ゼロからはじめるプログラミング」対応 C++学習教材(三谷純)
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
Vibe Codingを触って感じた現実について.pptx .
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...

計算数学