Submit Search
Upload
アルゴリズムのイメージを擬人化する
•
30 likes
•
21,105 views
A
AtCoder Inc.
Follow
CODE FESTIVAL 2014 高橋直大トークライブ トークテーマ「アルゴリズムのイメージを擬人化する」
Read less
Read more
Education
Report
Share
Report
Share
1 of 37
Download now
Download to read offline
Recommended
Chokudai search
Chokudai search
AtCoder Inc.
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
Takuya Akiba
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
Takuya Akiba
ウェーブレット木の世界
ウェーブレット木の世界
Preferred Networks
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
明日使えないすごいビット演算
明日使えないすごいビット演算
京大 マイコンクラブ
CycleGANで顔写真をアニメ調に変換する
CycleGANで顔写真をアニメ調に変換する
meownoisy
プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造
Takuya Akiba
Recommended
Chokudai search
Chokudai search
AtCoder Inc.
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
Takuya Akiba
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
Takuya Akiba
ウェーブレット木の世界
ウェーブレット木の世界
Preferred Networks
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
明日使えないすごいビット演算
明日使えないすごいビット演算
京大 マイコンクラブ
CycleGANで顔写真をアニメ調に変換する
CycleGANで顔写真をアニメ調に変換する
meownoisy
プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造
Takuya Akiba
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
MITSUNARI Shigeo
論文紹介: Fast R-CNN&Faster R-CNN
論文紹介: Fast R-CNN&Faster R-CNN
Takashi Abe
遺伝的アルゴリズム(Genetic Algorithm)を始めよう!
遺伝的アルゴリズム(Genetic Algorithm)を始めよう!
Kazuhide Okamura
最大流 (max flow)
最大流 (max flow)
HCPC: 北海道大学競技プログラミングサークル
DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜
Jun Okumura
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
Takuya Akiba
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
Hori Tasuku
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
絶対に描いてはいけないグラフ入りスライド24枚
絶対に描いてはいけないグラフ入りスライド24枚
itoyan110
最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く
shindannin
分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17
Takuya Akiba
直交領域探索
直交領域探索
okuraofvegetable
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
Word2vecの理論背景
Word2vecの理論背景
Masato Nakai
多目的遺伝的アルゴリズム
多目的遺伝的アルゴリズム
MatsuiRyo
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models
Deep Learning JP
数式からみるWord2Vec
数式からみるWord2Vec
Okamoto Laboratory, The University of Electro-Communications
「日本語LaTeX」が多すぎる件について
「日本語LaTeX」が多すぎる件について
Takayuki Yato
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
Preferred Networks
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
Fixstars Corporation
TCO2017R1
TCO2017R1
AtCoder Inc.
AtCoderに毎回参加したくなる仕組み
AtCoderに毎回参加したくなる仕組み
AtCoder Inc.
More Related Content
What's hot
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
MITSUNARI Shigeo
論文紹介: Fast R-CNN&Faster R-CNN
論文紹介: Fast R-CNN&Faster R-CNN
Takashi Abe
遺伝的アルゴリズム(Genetic Algorithm)を始めよう!
遺伝的アルゴリズム(Genetic Algorithm)を始めよう!
Kazuhide Okamura
最大流 (max flow)
最大流 (max flow)
HCPC: 北海道大学競技プログラミングサークル
DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜
Jun Okumura
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
Takuya Akiba
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
Hori Tasuku
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
絶対に描いてはいけないグラフ入りスライド24枚
絶対に描いてはいけないグラフ入りスライド24枚
itoyan110
最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く
shindannin
分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17
Takuya Akiba
直交領域探索
直交領域探索
okuraofvegetable
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
Word2vecの理論背景
Word2vecの理論背景
Masato Nakai
多目的遺伝的アルゴリズム
多目的遺伝的アルゴリズム
MatsuiRyo
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models
Deep Learning JP
数式からみるWord2Vec
数式からみるWord2Vec
Okamoto Laboratory, The University of Electro-Communications
「日本語LaTeX」が多すぎる件について
「日本語LaTeX」が多すぎる件について
Takayuki Yato
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
Preferred Networks
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
Fixstars Corporation
What's hot
(20)
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
論文紹介: Fast R-CNN&Faster R-CNN
論文紹介: Fast R-CNN&Faster R-CNN
遺伝的アルゴリズム(Genetic Algorithm)を始めよう!
遺伝的アルゴリズム(Genetic Algorithm)を始めよう!
最大流 (max flow)
最大流 (max flow)
DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
プログラムを高速化する話
プログラムを高速化する話
絶対に描いてはいけないグラフ入りスライド24枚
絶対に描いてはいけないグラフ入りスライド24枚
最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く
分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17
直交領域探索
直交領域探索
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
Word2vecの理論背景
Word2vecの理論背景
多目的遺伝的アルゴリズム
多目的遺伝的アルゴリズム
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models
数式からみるWord2Vec
数式からみるWord2Vec
「日本語LaTeX」が多すぎる件について
「日本語LaTeX」が多すぎる件について
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
More from AtCoder Inc.
TCO2017R1
TCO2017R1
AtCoder Inc.
AtCoderに毎回参加したくなる仕組み
AtCoderに毎回参加したくなる仕組み
AtCoder Inc.
Square869120 contest #2
Square869120 contest #2
AtCoder Inc.
AtCoder Beginner Contest 035 解説
AtCoder Beginner Contest 035 解説
AtCoder Inc.
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
AtCoder Inc.
Chokudai Contest 001
Chokudai Contest 001
AtCoder Inc.
AtCoder Regular Contest 049 解説
AtCoder Regular Contest 049 解説
AtCoder Inc.
AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説
AtCoder Inc.
AtCoder Regular Contest 048
AtCoder Regular Contest 048
AtCoder Inc.
MUJINプログラミングチャレンジ2016 解説
MUJINプログラミングチャレンジ2016 解説
AtCoder Inc.
AtCoder Beginner Contest 033 解説
AtCoder Beginner Contest 033 解説
AtCoder Inc.
DDPC 2016 予選 解説
DDPC 2016 予選 解説
AtCoder Inc.
arc047
arc047
AtCoder Inc.
abc032
abc032
AtCoder Inc.
CODE FESTIVAL 2015 沖縄ツアー 解説
CODE FESTIVAL 2015 沖縄ツアー 解説
AtCoder Inc.
AtCoder Regular Contest 046
AtCoder Regular Contest 046
AtCoder Inc.
abc031
abc031
AtCoder Inc.
CODE FESTIVAL 2015 解説
CODE FESTIVAL 2015 解説
AtCoder Inc.
CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説
AtCoder Inc.
AtCoder Beginner Contest 030 解説
AtCoder Beginner Contest 030 解説
AtCoder Inc.
More from AtCoder Inc.
(20)
TCO2017R1
TCO2017R1
AtCoderに毎回参加したくなる仕組み
AtCoderに毎回参加したくなる仕組み
Square869120 contest #2
Square869120 contest #2
AtCoder Beginner Contest 035 解説
AtCoder Beginner Contest 035 解説
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
Chokudai Contest 001
Chokudai Contest 001
AtCoder Regular Contest 049 解説
AtCoder Regular Contest 049 解説
AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説
AtCoder Regular Contest 048
AtCoder Regular Contest 048
MUJINプログラミングチャレンジ2016 解説
MUJINプログラミングチャレンジ2016 解説
AtCoder Beginner Contest 033 解説
AtCoder Beginner Contest 033 解説
DDPC 2016 予選 解説
DDPC 2016 予選 解説
arc047
arc047
abc032
abc032
CODE FESTIVAL 2015 沖縄ツアー 解説
CODE FESTIVAL 2015 沖縄ツアー 解説
AtCoder Regular Contest 046
AtCoder Regular Contest 046
abc031
abc031
CODE FESTIVAL 2015 解説
CODE FESTIVAL 2015 解説
CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説
AtCoder Beginner Contest 030 解説
AtCoder Beginner Contest 030 解説
Recently uploaded
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
Tokyo Institute of Technology
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
yuitoakatsukijp
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ssusere0a682
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ssusere0a682
Recently uploaded
(6)
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
アルゴリズムのイメージを擬人化する
1.
アルゴリズムのイメージを 擬人化する AtCoder株式会社
代表取締役 高橋 直大 2014/11/10 1
2.
©AtCoder Inc. All
rights reserved. 2 はじめに 2014/11/10
3.
内容について •初心者向きの内容になります。 –ガチ勢は聞いても勉強にならないかも
–可愛いキャラが後半に出てくるので、それ目当ても可 •一応教育コンテンツです –擬人化をすることで良いこともあるんです。 •気になった点は即突っ込んでください。 –擬人化、一人でしてもつまらないので、属性追加とか大 歓迎です 2014/11/10 3
4.
©AtCoder Inc. All
rights reserved. 4 アルゴリズムをなぜ擬人化するのか? 2014/11/10
5.
なぜ擬人化? •アルゴリズムが擬人化出来ない人は、そのアルゴリ ズムを理解しているとは言えない!
–アルゴリズムを十分に理解している人は、アルゴリズムの 擬人化が上手 •もちろん、全員が全員擬人化しているわけではありません –逆に、あまり理解していないアルゴリズムは、上手く擬人 化できない •知らないアルゴリズムは擬人化出来ない! 2014/11/10 5
6.
擬人化をしよう! •擬人化をするために必要なことは? –アルゴリズムの特徴を、出来るだけ多く捉える!
•特徴が解らないと、安易な擬人化しか出来ません。 –アルゴリズムを、別の視点から見てみる! •こういう入力の時はどう? •ああいう入力の時はどう? •そういった視点から、キャラクターの性格が形成されていく •こうした複数の視点を積極的に探していくことで、アルゴリズム を深く理解し、問題を解く能力が向上する! –競技プログラミングに直結するとは限りません 2014/11/10 6
7.
©AtCoder Inc. All
rights reserved. 7 ブルートフォース 2014/11/10
8.
あ •あ 2014/11/10
8
9.
ブルートフォース •総当たりアルゴリズム –力づくで全部調べる
•全てを力で解決する –蟻本さえも丸めて武器にしてしまう •だが、完全な脳筋キャラなのだろうか? 2014/11/10 9
10.
ブルートフォース •ブルートフォースは劣ったアルゴリズム? –そんなことはありません!
•計算量が問題ないのであれば、最もバグりにくく、 コード量も短くて済むことが多い! •力づくで解決できない問題ももちろんあるが、力づ くで良いのであれば、それが最も楽 2014/11/10 10
11.
ブルートフォース •ブルートフォースは、「力づくで解決できる時にだけ 出てくる仕事人!」
–蟻本も持ってるし、脳筋キャラでも勉強してる! –自分の役立つポイントは、彼が一番理解しています。 •もしブルートフォースを組んでTLEしたら、ブルート フォースが悪いのではなく、悪いのはあなたです! 2014/11/10 11
12.
ブルートフォース おまけ •なんで女の子じゃないの?
–マッチョな女の子とか嬉しくないじゃん!!!! »ほんとは男2女2にしてねって言われたからです。 •女の子としてイメージすると、また違ったキャラ付に 出来るかもしれない! –それはご来場の皆様にお任せします! 2014/11/10 12
13.
©AtCoder Inc. All
rights reserved. 13 深さ優先探索 2014/11/10
14.
あ •あ 2014/11/10
14
15.
深さ優先探索 •深さ優先探索は勇者である –色々なところに、主人公的な要素が存在する!!!
2014/11/10 15
16.
深さ優先探索 •「解に辿り着いたとしても、その解が最短である保 障がない点」
–とりあえず答えにはたどり着くけど、普段の仕事はいい加 減 •これだけ見ると「決して優等生なキャラクターではない」という部 分が強調される。 •ヒーローの日常は多少不真面目なくらいが良い! 2014/11/10 16
17.
深さ優先探索 •「グラフが膨大でも、解に辿り着けることがある」 –真面目に最短路を探すようなアルゴリズムでは、とても解
に辿り着けないような膨大なグラフでも、解に辿り着ける ことがある。 •例えば、6*6のスライドパズルの探索とか –単純な実装では大抵上手くいかないけれども、ちょっとし た工夫で一気に探索結果が変わるのも魅力的 2014/11/10 17
18.
深さ優先探索 •「たまに空回りする」 –グラフの形によっては、同じところで無限ループを起こし
てしまう •ちょっとだめなところがあるのもポイント! –大事な仲間(メモリーちゃん)に覚えてもらうことにより、 空回りを起こさなくなる! •いわゆるメモ化再帰 2014/11/10 18
19.
深さ優先探索 •他にも色々な主人公要素が存在する –初期パーティ
•アルゴリズムを学ぶ上で、「探索」は最初に身に着けるツールです。 最初から出てくること程、主人公らしい要素はありません。 –目の前のことを無視できない。 •隣接ノードのうち最も評価が高いものから探索する、というのはよ くおこなわれる手法であり、それをすることにより、遠くの良い解 よりも、近くの解に近づき易くなります。 2014/11/10 19
20.
深さ優先探索 おまけ •もし深さ優先探索が女の子だったら?
–ヤンデレっぽい子にした気がします •一人の男性に嵌ると、そこで無限ループを起こして抜け出せない –サークルクラッシャー的な子の可能性もあり •親しくなった男性の友人と次々に親しくなっていく •そういう目で見ると、探索系アルゴリズムは全部真人間ではなく なってしまうので、もうちょっと違った目線で見てあげたほうが良 いと思います>< –もちろん女勇者でも良い 2014/11/10 20
21.
©AtCoder Inc. All
rights reserved. 21 幅優先探索 2014/11/10
22.
あ •あ 2014/11/10
22
23.
幅優先探索 •委員長タイプの女の子! –真面目!かわいい!
2014/11/10 23
24.
幅優先探索 •委員長タイプの女の子! –全員に対して平等です。
•始点からの距離に対して近い順に探索します。 •偏ったりはしません。 –常にきっちりと仕事をこなします。 •出力される解は必ず最短であることが保障されている 2014/11/10 24
25.
幅優先探索 •やることが増え過ぎちゃうと対応できない –解までが遠いと、絶対に解に辿り着けない
•目回してあわあわってなりそうでかわいい –あんまり工夫の余地がない •探索順を弄っても、そんなに探索効率は変わらない –凄く工夫するとダイクストラやA*になるが、これはもはや別物 –融通の利かない感じがかわいい •深さ優先探索と大体正反対! 2014/11/10 25
26.
©AtCoder Inc. All
rights reserved. 26 ビームサーチ 2014/11/10
27.
あ •あ 2014/11/10
27
28.
ビームサーチ •「ビーム」の名が表す通り、魔法少女ちゃん!! –杖からビームを打つよ!
2014/11/10 28
29.
ビームサーチ •「ビーム」の名が表す通り、魔法少女ちゃん!! –杖からビームを打つよ!
•・・・みたいな設定なわけがないです!!! 2014/11/10 29
30.
ビームサーチ •そもそもビームサーチってどういうアルゴリズム? –良い状態を上位K個まで保持する
•貪欲法だと、「最も良いものを選ぶ」 •ビームサーチは、「上からK個を残す」 –何が嬉しいの? •貪欲法だと上手くいかない問題はたくさんある •でも、貪欲法だと「ある程度上手くいく」問題もたくさんある •だったら、貪欲法で候補になるのをたくさん持っておけば、もっと 上手くいきやすいよね!って発想 2014/11/10 30
31.
ビームサーチ •ビームサーチって地味じゃない? –「ビーム」は、探索のループ毎に、「常にK個のノードを探索
する」→「幅が一定」だからビームって呼ばれてるだけ •それなのに、「ビームサーチ」とかかっこいい名前がつ いてる こんなかっこいい ビームは打てない! 2014/11/10 31
32.
ビームサーチ •結論:ビームサーチはコスプレ少女である –ビームなんて打てない!魔法も使えない!
–コスプレしているだけ! 2014/11/10 32
33.
ビームサーチ •では、ビームサーチちゃんは本当はどんな子なの か?
–ビームサーチちゃんは、地方から出てきて都会に出てきた、 一人暮らしの大学1年生である! •書いて貰った段階では高校生だったんだけど、なんとなく大学1 年生にしました 2014/11/10 33
34.
ビームサーチ •一人暮らしの貧乏な女の子 –狭い部屋に一人で住んでる
–お金がないので、コスプレ衣装を自分で作っている •前に作ったコスプレ衣装を参考に、改良したものを新たに作る –狭い部屋に住んでいるので、ものがあまり置けない •お気に入りの上位K着だけを残して、残りは捨ててしまう •地味なのに頑張ってるのが可愛い! •幸薄っぽいのが可愛い!!! 2014/11/10 34
35.
©AtCoder Inc. All
rights reserved. 35 最後に 2014/11/10
36.
今回のまとめ •ブルートフォースくん –力づくで押し切るのが得意です。使い方は考えましょう
•深さ優先探索くん –とりあえずチューニングすればなんとかしてくれます。最 適解とかを出したい時は無理だけど •幅優先探索ちゃん –きっちりしてるけど、探索空間が膨大な時に注意しよう •ビームサーチちゃん –かわいい!地味かわいい! –意外と単純、簡単なアルゴリズムです!こわくないよ! •魔法使いだって考えると怖いけど、所詮コスプレ少女だよ! 2014/11/10 36
37.
さいごに •今回の擬人化の説明は、「イラストにあった特徴」だ けを取り出しています。
–よって、アルゴリズムの全ての特徴が生かせているわけで はない •例えば、深さ優先探索は、「辞書順最小」とかは見つけられる •一人が擬人化するだけでは、全ての特徴を列挙出 来ない –一部の特徴は、擬人化することでむしろ見えなくなってし まう •これを解決するには、みんなでそれぞれアルゴリズム を擬人化し、共有すれば良い! 2014/11/10 37
Download now