タグ

Algorithmに関するnyopのブックマーク (11)

  • 乱数チューニングによる動きのコク

    乱数チューニングによる動きのコク 1. 一様乱数 いわゆるMath関数による乱数。 雑味や臭みが強く、そのままでは使い物にならない。 2. 雑味を取り除いた乱数 下処理として臭みや雑味を取り除いた状態。一様乱数特有の発作的なガタツキがないのがわかるだろうか? 過去2フレームに、距離33%以内の重複数が出ないようになっている。 シャッフルやスロットのアニメ処理など、2連続で同じ数字が重なるとバグって見える表現に有効。 3. コクのある乱数 乱数の旨味が濃縮された状態。中心極限定理により、自然な風合いに濃縮されている。 加算式による天然の正規分布は、ボックスミューラー法の養殖された乱数と違い、加算回数で生産者ごとの味わいが出せる。 パーティィクルや自然シミュレーションと相性が良い。 4. 芳醇なまろ味を出した乱数 口に含んだ後に、豊かな香りが広がる乱数。移動平均により連続性を出すことで、揺らぎ

    nyop
    nyop 2016/11/06
    乱数による動きのコクのイメージが非常によくわかる。
  • Learning Reinforcement Learning

    Github Repo with code and exercises Why Study Reinforcement Learning #Reinforcement Learning is one of the fields I’m most excited about. Over the past few years amazing results like learning to play Atari Games from raw pixels and Mastering the Game of Go have gotten a lot of attention, but RL is also used in Robotics, Image Processing and Natural Language Processing. Combining Reinforcement Lear

  • 「巡回セールスマン問題」を解くアルゴリズムを可視化したムービー

    by Gaël Sacré いくつもの都市を移動するセールスマンが、すべての都市を最も効率よく(最小の移動コストで)移動できる方法を求める問題を「巡回セールスマン問題」といいますが、その解き方をビジュアル化したムービーがYouTubeで公開されています。 Traveling Salesman Problem Visualization - YouTube たとえば8つの都市があるとき、これを結ぶルートは5040通りが考えられます。 解法の一つが「欲張り法(Greedy Algorithm)」という、1つの都市から常に最寄りの都市へ移動しようと考える方法。 「最適」ではないものの、最適に近い答えを導き出してくれます。 ここで、組み合わせて使うのが「2-opt法」という方法。かなり単純なアルゴリズムで、2辺を繋ぎ直していきます。このとき、ルートに重なりがあると解消して新しいルートを作ります。

    「巡回セールスマン問題」を解くアルゴリズムを可視化したムービー
  • ソフトウェアのための統計学 – 前編 | POSTD

    ソフトウェア開発の原点は可能性の追求であり、不可能を可能にすることです。ひとたび ソフトウェア が開発されると、エンジニアは次に 程度 という課題に向き合うことになります。企業向けのソフトウェアであれば、「速度はどれくらいか」と頻繁に問われ、「信頼性はどの程度か」という点が重視されます。 ソフトウェアのパフォーマンスに関する質問に答え、さらには正しい内容を語る上で欠かせないのが統計学です。 とはいえ、統計学について多くを語れる開発者はそうはいません。まさに数学と同じで、一般的なプロジェクトで統計学が話題に上ることなどないのです。では、新規にコーディングをしたり、古いコードのメンテナンスをしたりする合間に、手が空くのは誰でしょうか? エンジニアの方は、ぜひ時間を作ってください。近頃は、15分でも貴重な時間と言えるでしょうから、 こちらの記事をブックマークに追加 しておいてもいいでしょう。とに

    ソフトウェアのための統計学 – 前編 | POSTD
  • グーグルらが人工知能で「囲碁の謎」に挑む理由

  • 本当に実用的なたったひとつのソートアルゴリズム - CARTA TECH BLOG

    コンテンツメディア事業部の新卒エンジニアがお送りいたします。 突然ですが、皆さんの好きなソートアルゴリズムはなんですか? 私は基数ソートのスマートでストイックな雰囲気に惹かれます。 とはいえ、普段の開発では「どのソートアルゴリズムを使うか」を意識することは少ないのではないでしょうか。 むしろ現実世界で「トランプが全部揃ってるか」を手作業で確認するときとかのほうが、実はソートアルゴリズムが必要なのかもしれません。 ということで(?)、そのような現実的な場面で、当に実用的なソートアルゴリズムを決める戦いが始まりました。 選手紹介 今回試したソートアルゴリズムは、独断と偏見で選んだ以下の5種類。 1 挿入ソート シンプル・イズ・ベスト!正直言ってベンチマークの噛ませ犬! 2 クイックソート 「クイック」の名前はダテじゃない!王者の貫禄を見せてやれ! 3 マージソート 安定感のある隠れた実

    本当に実用的なたったひとつのソートアルゴリズム - CARTA TECH BLOG
    nyop
    nyop 2015/08/18
    文系からITに就職するって言った時、兄貴から「ソートアルゴリズムを5個以上考えてみろ。出来なきゃ認めん。」とカードを渡されたのを思い出しました。
  • コンピュータを進化させてきた偉大なるアルゴリズムまとめ

    By Kai Schreiber IT技術の進化のスピードには目を見張るものがありますが、それを支えているのはアルゴリズムと呼ばれる処理方法(技術的アイデア)です。さまざまなアルゴリズムの中でも、コンピュータの進化に革命的な影響をもたらしたとされる偉大なアルゴリズムは以下の通りです。 Great Algorithms that Revolutionized Computing http://en.docsity.com/news/interesting-facts/great-algorithms-revolutionized-computing/ ◆ハフマン符号(圧縮アルゴリズム) Huffman coding(ハフマン符号)は、1951年にデービッド・ハフマン氏によって開発されたアルゴリズム。頻出頻度の大小によって対戦するトーナメントツリーを考えて、ブロックごとに0と1の符号をもたせる

    コンピュータを進化させてきた偉大なるアルゴリズムまとめ
  • asahi.com(朝日新聞社):NTT、「ケーキ分割問題」を新アルゴリズムで解決 - 日刊工業新聞ニュース - デジタル

    一つのクリスマスケーキを2人で公平に分けるには、どこにナイフを入れたらいいか―。長年未解決だった、数学の難問「ケーキ分割問題」をNTTが解決した。ビジネスの取引などに使える実用的なアルゴリズムになるという。提案したアルゴリズムの正しさを証明し、このほどコンピューターサイエンスに関する国際会議で発表した。  NTTが開発したアルゴリズムによる解答は、(1)AとBがそれぞれ、切りたいケーキの場所を(第三者などを通じて)同時に申告する(2)切りたい場所が両者で異なっていた場合、そのちょうど中間にナイフを入れる(3)申告した場所を含む側のケーキを両者が得る―というもの。もちろん、(1)で申告した場所が両者で一致した場合はそこで切り分ければよい。この方法で行えば、2人が満足のいく形でケーキを分割することができる。  古典的な解法に、(1)Aがケーキを切る(2)Bが好きな方を選ぶ(3)残りをAが取る―

    nyop
    nyop 2010/12/26
    これって、両者が同じ部位を欲するケースはどうすればよいんだろう?人によって効用が異なる前提であるなら、申告部位を含む領域を得ることができる、というのが腑に落ちない。そこは考えないのかな?
  • アルゴリズムの紹介

    ここでは、プログラムなどでよく使用されるアルゴリズムについて紹介したいと思います。 元々は、自分の頭の中を整理することを目的にこのコーナーを開設してみたのですが、最近は継続させることを目的に新しいネタを探すようになってきました。まだまだ面白いテーマがいろいろと残っているので、気力の続く限りは更新していきたいと思います。 今までに紹介したテーマに関しても、新しい内容や変更したい箇所などがたくさんあるため、新規テーマと同時進行で修正作業も行なっています。 アルゴリズムのコーナーで紹介してきたサンプル・プログラムをいくつか公開しています。「ライン・ルーチン」「円弧描画」「ペイント・ルーチン」「グラフィック・パターンの処理」「多角形の塗りつぶし」を一つにまとめた GraphicLibrary と、「確率・統計」より「一般化線形モデル」までを一つにまとめた Statistics を現在は用意していま

  • オーダーを極める思考法

    プログラムの実行に掛かる時間を把握しておくのは、プログラミングを行う上で基的な注意点です。今回は、計算量のオーダーについて学びながら、TopCoderのMedium問題を考えてみましょう。 プログラムの実行時間 業務としてプログラミングをされている方には釈迦に説法かもしれませんが、プログラムの実行に掛かる時間を把握しておくのは、プログラミングを行う上で基的な注意点です。そしてこれは、TopCoderなどのコンテストでプログラムを組む際にもよく当てはまります。通常、こうしたことは感覚的に理解している方がほとんどだと思いますが、具体的にどれくらいのループを回すと何秒掛かる、といった基準を持っている人は少ないのではないでしょうか? 非常に基的なことですが、プログラムの実行時間に関して再確認しておきたいと思います。 TopCoderの制限に関して TopCoderでは、実行時間およびメモリ使

    オーダーを極める思考法
  • システム・エンジニアの基礎知識

    静岡理工科大学情報学部コンピュータシステム学科菅沼研究室のページです.主として,プログラミング言語( HTML,C/C++, Java, JavaScript, PHP, HTML,VB,C# ),及び,システムエンジニアとしての基礎知識(数学,オペレーションズ・リサーチやシステム工学関連の手法)を扱っています.

  • 1