タグ

アルゴリズムに関するshoji1977のブックマーク (14)

  • アルゴリズムを楽しく学ぼう! 独習に役立つWebサイト・参考書・競技プログラミングを紹介〈13選〉 - エンジニアHub|若手Webエンジニアのキャリアを考える!

    アルゴリズムを楽しく学ぼう! 独習に役立つWebサイト・参考書・競技プログラミングを紹介〈13選〉 プログラムの性能を改善して開発スピードを向上させるため、アルゴリズムを気軽に、かつ楽しく学べるWebサイトや書籍など、13種類のさまざまなコンテンツを紹介していきます。 アルゴリズム(algorithm)とは何なのでしょうか? 例えば、 Wikipediaにはこうあります。 アルゴリズムとは、数学、コンピューティング、言語学、あるいは関連する分野において、問題を解くための手順を定式化した形で表現したものを言う。 「問題を解くための手順を定式化した」とは、ソフトウェアエンジニアにとって「プログラミング」のことです。 みなさんも日々の開発業務において、問題(要件)を解くための手順を考え、その手順を特定のプログラミング言語で表現していませんか? アルゴリズムは、一般に「ソート(整列)」や「探索」と

    アルゴリズムを楽しく学ぼう! 独習に役立つWebサイト・参考書・競技プログラミングを紹介〈13選〉 - エンジニアHub|若手Webエンジニアのキャリアを考える!
  • JavaScriptで大量のオブジェクトの当たり判定を効率的にとる - Subterranean Flower Blog

    ゲームなどのコンテンツにおいて、「当たり判定」から逃れることはできません。オブジェクトとオブジェクトが衝突したかどうかという判定は、インタラクティブコンテンツにおいて最も重要な部分になるからです。 当たり判定の実装自体は難しくありません。ですが、素朴な実装ですと、対象となるオブジェクトが大量である場合に、十分なパフォーマンスが出ません。これはオブジェクトの多い、現代的なゲームでしたり、弾幕シューティングなどを作るときに大きな障害となります。 この記事では、大量のオブジェクトの当たり判定を処理する、効率的な方法について紹介します。 まずは素朴に実装してみる 当たり判定の処理を語るには、ある程度ゲームの骨組みのようなものが必要になってきます。もちろんクラスなどを使わないベタ書きでもよいのですが、大変読みにくくなってしまいます。ですので、今回は、まず簡易的なゲームエンジンのようなものを作って、そ

    JavaScriptで大量のオブジェクトの当たり判定を効率的にとる - Subterranean Flower Blog
  • 子供が独学で学べる最新プログラミング教材(前編) パズルや動くロボットでアルゴリズムの基本を学ぼう - はてなニュース

    2020年度から小学校でプログラミング教育が必修化されることになり、子供へのプログラミング教育に注目が集まっています。ここ2、3年で、子供向けのプログラミング教室が急増し、子供のプログラミング教育に関する教材や書籍なども多数販売されています。 小学生と中学生の子供を持つ親として、筆者も子供のプログラミング教育やSTEM教育には以前から関心があり、プログラミング教育に力を入れている学校やプログラミング教室、プログラミング関連イベントなどの取材を行ってきました。また、2016年夏からは、地元で開催されている子供を対象としたプログラミング道場「CoderDojo守谷」のメンターとして、子供たちにプログラミングを教えるお手伝いをしています。 そこで、子供へのプログラミング教育に関心がある方や、小中学生のお子さんをお持ちの方のために、最新の子供向けプログラミング事情を紹介したいと思います。 今回は前

    子供が独学で学べる最新プログラミング教材(前編) パズルや動くロボットでアルゴリズムの基本を学ぼう - はてなニュース
  • アルゴリズム取引のシステムを開発・運用してみて分かったこと

    東京大学 松尾研究室が主催する深層強化学習サマースクールの講義で今井が使用した資料の公開版です. 強化学習の基礎的な概念や理論から最新の深層強化学習アルゴリズムまで解説しています.巻末には強化学習を勉強するにあたって有用な他資料への案内も載せました. 主に以下のような強化学習の概念やアルゴリズムの紹介をしています. ・マルコフ決定過程 ・ベルマン方程式 ・モデルフリー強化学習 ・モデルベース強化学習 ・TD学習 ・Q学習 ・SARSA ・適格度トレース ・関数近似 ・方策勾配法 ・方策勾配定理 ・DPG ・DDPG ・TRPO ・PPO ・SAC ・Actor-Critic ・DQN(Deep Q-Network) ・経験再生 ・Double DQN ・Prioritized Experience Replay ・Dueling Network ・Categorical DQN ・Nois

    アルゴリズム取引のシステムを開発・運用してみて分かったこと
  • 文字列アルゴリズムの学びかた - Hatena Developer Blog

    こんにちは!はてなアプリケーションエンジニアの id:takuya-a です。 みなさんは、このような疑問をもったことはありませんか? grep はどのように文字列を検索しているのか? MeCab はどうやって辞書を高速にルックアップしているのか? パーサやコンパイラを作りたいけど、何から始めればいいのか? 稿では、「文字列アルゴリズムとはどんなものなのか?」「なぜ重要なのか?」「何を知っておくべきか?」「どうやって勉強すればいいのか?」といった疑問にお答えしていこうと思います。 文字列アルゴリズムの意外な応用や、モチベーションを保ちやすい勉強のしかた、文字列アルゴリズムを勉強するために行った社内での取り組み、実装するときのコツといったトピックについても触れています。 このエントリは、はてなエンジニアアドベントカレンダー2016の22日目の記事です。昨日は id:syou6162 さんに

    文字列アルゴリズムの学びかた - Hatena Developer Blog
  • ゲームをプレイするアルゴリズムを選択するためのアルゴリズム | POSTD

    この記事は当初、私たちの論文を紹介する簡単な投稿のつもりだったのですが、最終的に膨れ上がってしまいました。結果として、十分な内容が詰まったものになったと思います。 ビデオゲームは、人工知能アルゴリズムをテストする最良の方法ではないでしょうか。 少なくとも私は以前に、このことについて(ある程度の分量で)持論を展開しました。 ビデオゲームでは可能で、例えばロボットにおける問題などでは不可能なものの1つとして、同じアルゴリズムをたくさんのゲームで素早く簡単にテストできるということが挙げられます。ちなみにそのことは、 他のゲームベースのAIテストベッドに対して一定の優位性 を持つ The General Video Game AI Competition (GVG-AI)の指針となる原則の1つでもあります。 GVG-AIフレームワークに実装された数種類のゲーム。 現時点では、実質的にすべての種類の

    ゲームをプレイするアルゴリズムを選択するためのアルゴリズム | POSTD
  • コンテンツに最適なソートを使おう! JavaScriptで使用するソートアルゴリズムのまとめ - ICS MEDIA

    普段、みなさんはプログラムでデータのソートをするとき、内部でどのようなアルゴリズムが働いているか意識していますか? 大半の方はプログラム言語にあらかじめ用意されているソート関数を使用し、特別にアルゴリズムについて意識することは少ないと思います。ソートのアルゴリズムにはデータ量やデータの初期の状態に応じた向き不向きがあり、それぞれのアルゴリズムについての理解を深めて適したものを選択すると、ソートにかかる時間を短縮できることがあります。 ソートアルゴリズムの可視化デモ (HTML5製) 次のデモはソートのアルゴリズム可視化するコンテンツです。HTML5 Canvas要素とJavaScriptで作成しています。画面下のプルダウンでアルゴリズムの種類を選択すると、ランダムに配置されたデータが選択した方式に応じたアルゴリズムでソートされる様子を表示します。 デモを別ウインドウで再生する ソースコード

    コンテンツに最適なソートを使おう! JavaScriptで使用するソートアルゴリズムのまとめ - ICS MEDIA
  • もう、アルゴリズム自分で書いてる場合じゃない?機械学習が開発手法を変える─de:code 2016セッションレポート

    もう、アルゴリズム自分で書いてる場合じゃない?機械学習が開発手法を変える─de:code 2016セッションレポート 白石 俊平(HTML5 Experts.jp編集長) de:code 2016に参加中の、編集長の白石です。 今回は、編集部のメンバーそれぞれが興味あるセッションに参加してセッションレポートを書こう、ということになってまして、ぼくは「Big Data/機械学習がソフトウェア開発手法を変える! 〜静的アルゴリズム生成から動的アルゴリズム生成への道〜」というセッションを聴講しました。 スピーカーである田丸健三郎さんの語り口が心地よく、機械学習についてはかじったことくらいしかないぼくにとってはレベル感もちょうど良く、知らなかったことも数多く学べてとても満足でした。 以下に、簡単なセッションレポートを掲載します。機械学習については素人の、Webエンジニアによるレポートではありますが

    もう、アルゴリズム自分で書いてる場合じゃない?機械学習が開発手法を変える─de:code 2016セッションレポート
  • 競馬の解析をガチでやったら回収率が100%を超えた件 - stockedge.jpの技術メモ

    記事のタイトル通り、競馬で回収率100%を超える方法を見つけたので、その報告をする。 ちなみに、この記事では核心部分はぼかして書いてあるため、読み進めたとしても「競馬で回収率100%を超える方法」が具体的に何なのかを知ることはできない。(私は当に有効な手法を何もメリットが無いのに公開するほどお人好しではないので) 当に有効な手法を見つけたいのであれば、あなた自身がデータと向き合う以外の道は無い。 ただし、大まかな仕組み(あと多少のヒントも)だけは書いておくので、もしあなたが独力でデータ解析を行おうという気概のある人物なのであれば、この記事はあなたの助けとなるだろう。 ちなみに、これは前回の記事の続きなので、読んでない方はこちらからどうぞ。 stockedge.hatenablog.com オッズの歪みを探す さて、前回からの続きである。 前回の記事のブコメで「回収率を上げたいならオッズ

    競馬の解析をガチでやったら回収率が100%を超えた件 - stockedge.jpの技術メモ
  • Facebookのニュースフィードを生成するアルゴリズムはどのようにして決められているのか?

    By Chris Potter Facebookのホーム画面には、自分と関連する人やフォローしているアカウントの投稿などがタイムラインで表示されます。1日あたりに世界でFacebookを利用しているユーザーは10億人にものぼると言われており、そんなFacebookのタイムラインを決めているアルゴリズムの中身はトップシークレットともいわれていますが、その開発現場では意外とも思える泥臭い作業が行われているようです。 オンラインマガジンのSlateは、カリフォルニア州メンローパークに位置するFacebook社の中にあるニュースフィード開発チームの現場に入る機会を得たとのこと。そこで記者が見たFacebookのアルゴリズム開発の様子が紹介されています。 How Facebook’s news feed algorithm works. http://www.slate.com/articles/

    Facebookのニュースフィードを生成するアルゴリズムはどのようにして決められているのか?
  • Googleの新アルゴリズム「ピジョン」の全て - SEO Japan|アイオイクスのSEO・CV改善・Webサイト集客情報ブログ

    無料で資料をダウンロード SEOサービスのご案内 専門のコンサルタントが貴社サイトのご要望・課題整理から施策の立案を行い、検索エンジンからの流入数向上を支援いたします。 無料ダウンロードする >> ローカル検索に関するアルゴリズムとして登場したGoogleの「ピジョン」(鳩)アルゴリズム。日ではまだ適用されていないようですし、国土も広くローカル検索が進化している米国と違い、重要性がまだ薄いかと思い、これまでSEO Japanで取り上げてきませんでしたが、サーチエンジンランドでまとめ記事が出ていたのでここに紹介したいと思います。今後重要性が増していくことは間違いないローカル検索、いずれこのアルゴリズムも適用されていくと思います。そうなる前に、まずはこの記事でGoogleの新アルゴリズム、そしてGoogleのローカル検索に対する考え方を理解しておきたい。 — SEO Japan ローカル検索

    Googleの新アルゴリズム「ピジョン」の全て - SEO Japan|アイオイクスのSEO・CV改善・Webサイト集客情報ブログ
  • 再帰プログラミングに挑戦してみよう! : ロジックラボ for kids

    今回は、スクリプトをスマートにする「再帰」というテクニックを使ってみましょう まずはこちらのURLを見てみて下さい http://scratch.mit.edu/projects/10000007/ ターボモードにしないと時間がかかると思うので を「Shift」を押しながらクリックしてみて下さい。 すると「ターボモード」という文字が出てきます。 ターボモードでスタートすると、普段よりも早くゲームが進みます。 ではさっそく「中を見る」でスクリプトを見ていきましょう。 この2スクリプトだけで、フクザツな模様が作れてしまうんです。 紫色の「Tree(40)」となっている部分が「定義ブロックの呼び出し」ですね。 いつも使っている定義ブロックとちがって、数字が入れられるようになっていますね。 これは「引数(ひきすう)」といって 定義ブロックに数字をわたすことができるんです。 数字をわたすと、定義ブロ

    再帰プログラミングに挑戦してみよう! : ロジックラボ for kids
    shoji1977
    shoji1977 2015/01/26
    小学生からはじめる・・・
  • 【累積和、しゃくとり法】初級者でも解るアルゴリズム図解 - paiza times

    2014年12月3日より2015年1月7日まで開催した、paizaオンラインハッカソンVol.4Lite「エンジニアでも恋したい」は、トータルで3問有りましたが全て解けましたでしょうか? 各問題の成否によりストーリーが変わるのであえて間違えて解いた方もいらっしゃると思いますがw (プレゼント対象期間は終了しましたが、問題チャレンジは可能なので、未チャレンジの方は是非チャレンジください!) 問題1、問題2は解説するほどのむずかしさでもないので省きますが、問題3は多少工夫が必要なので、問題3について今回もPOH恒例の「図解解説」をしてみたいと思います。既に解けた方もそうでない方も、今回の解説を読んで、それぞれの方法すべてを実装してみると勉強になると思いますので、是非試してみてください。 ■どのような高速化ステップがあるのか? 今回の問題ですが、解法の大きなパターンとしては、1.全てのパターンを

    【累積和、しゃくとり法】初級者でも解るアルゴリズム図解 - paiza times
  • Googleアルゴリズム200項目全てを特別公開 – マーケティングブログ

    Googleアルゴリズムの200の要素を発見しましょう!(Let’s Try to Find All 200 Parameters in Google Algorithm) は2009年に書かれた記事ですが、パンダアップデートが適用された今現在(2011年4月)でも重要項目が多く書かれているもので。 多くはGoogleの特許(合衆国特許出願0050071741)に基づいていますが、筆者のアンが自身の解析結果や予測を盛り込んでいる事で、より実践に近い内容になっています。 SEO初心者の方は、これからのウェブ制作の軸に、SEOエキスパートの方はもう一度自身のサイトを見直す目次として確認してみてはいかがでしょうか。 ドメインに関する13要因 ドメイン年齢 ドメイン取得からの長さ ドメイン登録情報(Who is情報)の表示/非表示 ドメイン種類(サイトレベルドメイン(.com や co.uk) ト

    Googleアルゴリズム200項目全てを特別公開 – マーケティングブログ
  • 1