狠狠撸
Submit Search
アルゴリズムのイメージを拟人化する
?
30 likes
?
21,206 views
A
AtCoder Inc.
Follow
CODE FESTIVAL 2014 高橋直大トークライブ トークテーマ「アルゴリズムのイメージを拟人化する」
Read less
Read more
1 of 37
Download now
Downloaded 40 times
More Related Content
アルゴリズムのイメージを拟人化する
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