SlideShare a Scribd company logo
1 of 30
Download to read offline
人間では判定できない101すくみじゃんけんを
コンピュータに判定させたい
2017/8/1
ARCANA Meetup #27@スタジオアルカナ
スタジオアルカナ
遠藤勝也
自己紹介
遠藤勝也
スタジオアルカナ
主にフロント
Processing, openFrameworks, Cinder, JS, etc.
そもそもNすくみじゃんけんとは
3すくみ以外の発展じゃんけん
三すくみのじゃんけん以外に、5種、7種の拳と使っ
たじゃんけんなどもあります。
複雑かと思われますが、すくみ数が増えても、結局は
力関係が「勝つ」か「負けるか」か「あいこ」の3種
にわかれるので、慣れると普通のじゃんけんの感覚に
なります。
6種10種のすくみも可能ですが、強い手弱い手が出
来てしまいます。お互い強弱関係を均一にするのは奇
数のすくみ数になる必要があります。
原文ママ
https://japan-rps.jimdo.com/じゃんけん-について/
なんでじゃんけんについて
調べることになったか
わからん
こういうのはコンピュータに
やらせた方が得意なはず
適当に手を出してじゃんけんが
できたら面白そう
とりあえず
5すくみじゃんけんから
実装手順
1. 機械学習を使って出している手を判定
2. 勝ち負け判定
3. Leap Motionを使ったじゃんけんアプリケーション
の開発
機械学習を使って出している手を判定
1. ProcessingからLeap Motionを使って各じゃんけん
の手の情報をCSVで保存
2. PythonでPandasを使ってCSVから必要な情報だけ
を取り出す、もしくは計算してCSVで保存
3. PythonでKerasを使って各じゃんけんの手を学習し
てモデルを保存
4. PythonでFlaskとKerasを使ったWebAPIを開発
グー、チョキ、パーなどじゃんけんの際に出す手のこ
とを、ここではじゃんけんの手と呼ぶ
デモをどうぞ
勝ち負け判定
1. 勝ち負け判定アルゴリズムを実装
2. PythonでFlaskを使ってWebAPIを開発
勝ち負け判定アルゴリズム
罠
並び替え
完成したアプリケーションの
デモ
最後に
101すくみはLeap Motionでは難しそう
本当はWebAPIとか作らずにKeras.jsで実装しよう
と思ってた
(3 < N)すくみじゃんけんの方が人数が多くてもあ
いこになる確率が低いので、人数が多い場合は有
効
ありがとうございました

More Related Content

More from KatsuyaENDOH

人工生命の話
人工生命の話人工生命の話
人工生命の話KatsuyaENDOH
 
メディアとアート
メディアとアートメディアとアート
メディアとアートKatsuyaENDOH
 
Oculus Go アプリ開発ハンズオン
Oculus Go アプリ開発ハンズオンOculus Go アプリ開発ハンズオン
Oculus Go アプリ開発ハンズオンKatsuyaENDOH
 
Oculus Go アプリケーション開発
Oculus Go アプリケーション開発Oculus Go アプリケーション開発
Oculus Go アプリケーション開発KatsuyaENDOH
 
GoogleHomeからの視覚的フィードバックを求めて
GoogleHomeからの視覚的フィードバックを求めてGoogleHomeからの視覚的フィードバックを求めて
GoogleHomeからの視覚的フィードバックを求めてKatsuyaENDOH
 
DeepLab v3触ってみた
DeepLab v3触ってみたDeepLab v3触ってみた
DeepLab v3触ってみたKatsuyaENDOH
 
無料で始めるVTuber
無料で始めるVTuber無料で始めるVTuber
無料で始めるVTuberKatsuyaENDOH
 
Tango Constructorから出力したモデルをちょこっと綺麗にする
Tango Constructorから出力したモデルをちょこっと綺麗にするTango Constructorから出力したモデルをちょこっと綺麗にする
Tango Constructorから出力したモデルをちょこっと綺麗にするKatsuyaENDOH
 
人間では判定できない101すくみじゃんけんをコンピュータに判定させたい for Keras.js(完)
人間では判定できない101すくみじゃんけんをコンピュータに判定させたい for Keras.js(完)人間では判定できない101すくみじゃんけんをコンピュータに判定させたい for Keras.js(完)
人間では判定できない101すくみじゃんけんをコンピュータに判定させたい for Keras.js(完)KatsuyaENDOH
 
人間では判定できない101すくみじゃんけんをコンピュータに判定させたい for Keras.js
人間では判定できない101すくみじゃんけんをコンピュータに判定させたい for Keras.js人間では判定できない101すくみじゃんけんをコンピュータに判定させたい for Keras.js
人間では判定できない101すくみじゃんけんをコンピュータに判定させたい for Keras.jsKatsuyaENDOH
 
A-Frameで作ったギャラリーのお話
A-Frameで作ったギャラリーのお話A-Frameで作ったギャラリーのお話
A-Frameで作ったギャラリーのお話KatsuyaENDOH
 
Reactを使ったVR環境
Reactを使ったVR環境Reactを使ったVR環境
Reactを使ったVR環境KatsuyaENDOH
 
まよいの墓(WebVR編)
まよいの墓(WebVR編)まよいの墓(WebVR編)
まよいの墓(WebVR編)KatsuyaENDOH
 
役に立ちそうだけど、やっぱり役に立たなそうな技術Quine
役に立ちそうだけど、やっぱり役に立たなそうな技術Quine役に立ちそうだけど、やっぱり役に立たなそうな技術Quine
役に立ちそうだけど、やっぱり役に立たなそうな技術QuineKatsuyaENDOH
 
Physical Web導入の話
Physical Web導入の話Physical Web導入の話
Physical Web導入の話KatsuyaENDOH
 
THETA S による身代わりテレビの実装(完結編)
THETA S による身代わりテレビの実装(完結編)THETA S による身代わりテレビの実装(完結編)
THETA S による身代わりテレビの実装(完結編)KatsuyaENDOH
 
THETA S でライブストリーミング(途中経過)
THETA S でライブストリーミング(途中経過)THETA S でライブストリーミング(途中経過)
THETA S でライブストリーミング(途中経過)KatsuyaENDOH
 
THETA S でライブストリーミング
THETA S でライブストリーミングTHETA S でライブストリーミング
THETA S でライブストリーミングKatsuyaENDOH
 
Webエンジニアのためのプロジェクションマッピング(とりあえず完結編)
Webエンジニアのためのプロジェクションマッピング(とりあえず完結編)Webエンジニアのためのプロジェクションマッピング(とりあえず完結編)
Webエンジニアのためのプロジェクションマッピング(とりあえず完結編)KatsuyaENDOH
 
久しぶりにWebエンジニアのためのプロジェクションマッピング
久しぶりにWebエンジニアのためのプロジェクションマッピング久しぶりにWebエンジニアのためのプロジェクションマッピング
久しぶりにWebエンジニアのためのプロジェクションマッピングKatsuyaENDOH
 

More from KatsuyaENDOH (20)

人工生命の話
人工生命の話人工生命の話
人工生命の話
 
メディアとアート
メディアとアートメディアとアート
メディアとアート
 
Oculus Go アプリ開発ハンズオン
Oculus Go アプリ開発ハンズオンOculus Go アプリ開発ハンズオン
Oculus Go アプリ開発ハンズオン
 
Oculus Go アプリケーション開発
Oculus Go アプリケーション開発Oculus Go アプリケーション開発
Oculus Go アプリケーション開発
 
GoogleHomeからの視覚的フィードバックを求めて
GoogleHomeからの視覚的フィードバックを求めてGoogleHomeからの視覚的フィードバックを求めて
GoogleHomeからの視覚的フィードバックを求めて
 
DeepLab v3触ってみた
DeepLab v3触ってみたDeepLab v3触ってみた
DeepLab v3触ってみた
 
無料で始めるVTuber
無料で始めるVTuber無料で始めるVTuber
無料で始めるVTuber
 
Tango Constructorから出力したモデルをちょこっと綺麗にする
Tango Constructorから出力したモデルをちょこっと綺麗にするTango Constructorから出力したモデルをちょこっと綺麗にする
Tango Constructorから出力したモデルをちょこっと綺麗にする
 
人間では判定できない101すくみじゃんけんをコンピュータに判定させたい for Keras.js(完)
人間では判定できない101すくみじゃんけんをコンピュータに判定させたい for Keras.js(完)人間では判定できない101すくみじゃんけんをコンピュータに判定させたい for Keras.js(完)
人間では判定できない101すくみじゃんけんをコンピュータに判定させたい for Keras.js(完)
 
人間では判定できない101すくみじゃんけんをコンピュータに判定させたい for Keras.js
人間では判定できない101すくみじゃんけんをコンピュータに判定させたい for Keras.js人間では判定できない101すくみじゃんけんをコンピュータに判定させたい for Keras.js
人間では判定できない101すくみじゃんけんをコンピュータに判定させたい for Keras.js
 
A-Frameで作ったギャラリーのお話
A-Frameで作ったギャラリーのお話A-Frameで作ったギャラリーのお話
A-Frameで作ったギャラリーのお話
 
Reactを使ったVR環境
Reactを使ったVR環境Reactを使ったVR環境
Reactを使ったVR環境
 
まよいの墓(WebVR編)
まよいの墓(WebVR編)まよいの墓(WebVR編)
まよいの墓(WebVR編)
 
役に立ちそうだけど、やっぱり役に立たなそうな技術Quine
役に立ちそうだけど、やっぱり役に立たなそうな技術Quine役に立ちそうだけど、やっぱり役に立たなそうな技術Quine
役に立ちそうだけど、やっぱり役に立たなそうな技術Quine
 
Physical Web導入の話
Physical Web導入の話Physical Web導入の話
Physical Web導入の話
 
THETA S による身代わりテレビの実装(完結編)
THETA S による身代わりテレビの実装(完結編)THETA S による身代わりテレビの実装(完結編)
THETA S による身代わりテレビの実装(完結編)
 
THETA S でライブストリーミング(途中経過)
THETA S でライブストリーミング(途中経過)THETA S でライブストリーミング(途中経過)
THETA S でライブストリーミング(途中経過)
 
THETA S でライブストリーミング
THETA S でライブストリーミングTHETA S でライブストリーミング
THETA S でライブストリーミング
 
Webエンジニアのためのプロジェクションマッピング(とりあえず完結編)
Webエンジニアのためのプロジェクションマッピング(とりあえず完結編)Webエンジニアのためのプロジェクションマッピング(とりあえず完結編)
Webエンジニアのためのプロジェクションマッピング(とりあえず完結編)
 
久しぶりにWebエンジニアのためのプロジェクションマッピング
久しぶりにWebエンジニアのためのプロジェクションマッピング久しぶりにWebエンジニアのためのプロジェクションマッピング
久しぶりにWebエンジニアのためのプロジェクションマッピング
 

Recently uploaded

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 

Recently uploaded (9)

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 

人間では判定できない101すくみじゃんけんをコンピュータに判定させたい