[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

algorithmに関するrindai87のブックマーク (56)

  • Othello is Solved 論文解説 (私見) - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 今朝起きたら、とんでもない論文を見つけました。 Othello is Solved ゲームの オセロが"解かれた(弱解決)" というのです。飛び起きました。それで、16時まで二度寝してから読みました。 注意すべきは、この論文が査読を経て公開されているわけではないこと、つまり形式上特にチェックを受けたものではないことです。ただ、タイトルからして非常に衝撃的ですので、個人的に読んでみました。この記事では、私がこの論文(およびソースコード)を読んでわかったことを、なるべくわかりやすくまとめます。随時更新します。 余談ですが、このタイトルはどう

    Othello is Solved 論文解説 (私見) - Qiita
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • 実践・最強最速のアルゴリズム勉強会 第二回講義資料(ワークスアプリケーションズ & AtCoder)

    2. はじめに! • 講義では、ソースコードを扱います。 • 前面の資料だけでは見えづらいかもしれないので、 手元で閲覧できるようにしましょう。 • URLはこちらから – http://www.slideshare.net/chokudai/wap-atcoder2 – URLが打ちづらい場合は、Twitter: @chokudaiの最新発言 から飛べるようにしておきます。 • フォローもしてね!!! 2014/3/16 2 3. ©AtCoder Inc. All rights reserved. 3 目次 1. 勉強会の流れ 2. 競技プログラミングって? 3. シミュレーション問題 4. 全探索問題 5. 日のまとめ 2014/3/16 3

    実践・最強最速のアルゴリズム勉強会 第二回講義資料(ワークスアプリケーションズ & AtCoder)
  • 動的計画法が苦手な人が、動的計画法が超苦手な人へアドバイスしてみる - じじいのプログラミング

    この記事は、Competitive Programming Advent Calendar Div2013(http://partake.in/events/3a3bb090-1390-4b2a-b38b-4273bea4cc83)の8日目の記事です。 動的計画法(Dynamic Programming, DP)についての記事です。 12/9 前編にサンプルプログラム(http://ideone.com/2B7f4v)を追加しました 12/11 前編の図2つを差し替えました。 はじめに まずは、やネットの資料で、動的計画法についてのすばらしい解説はいろいろありますので、まずはそれらを参考に。 プログラミングコンテストでの動的計画法 http://www.slideshare.net/iwiwi/ss-3578511 最強最速アルゴリズマー養成講座:アルゴリズマーの登竜門、「動的計画法・メ

    動的計画法が苦手な人が、動的計画法が超苦手な人へアドバイスしてみる - じじいのプログラミング
  • ハミング距離の計算はホントに速いのか?

    これは@sakanazensen君が主催する『Computer Vision Advent Calendar 2013』の12/8の記事です。今年はあまり活発でないようなので、小ネタですが参戦しました。 はじめに 昨今のコンピュータビジョン・パターン認識分野で特徴ベクトルのバイナリベースの記述法が流行っています。その利点の一つとして、特徴ベクトル間の距離としてコンピュータにとって計算が容易な「ハミング距離」が使える、というものがあります。これはXOR演算と PopCount演算(いくつのビットが1かをカウントする演算)で構成されており、特に近年のCPUにはまず搭載されているベクトル計算命令セットの一つ「SSE4.2」の専用命令「POPCNT」が高速演算の根拠としてよく引き合いに出されます。二つともかなりプリミティブな命令ですから確かに高速に計算できそうな感じはします。しかしながら、例えばL

    ハミング距離の計算はホントに速いのか?
  • What Is EdgeRank?

    EdgeRank is an algorithm developed by Facebook to govern what is displayed and how high on the News FeedWhat is EdgeRank? EdgeRank is an algorithm developed by Facebook to govern what is displayed—and how high—on the News Feed. The EdgeRank Algorithm This algorithm can be understood as: the sum of Edges, each Edge is made up of Affinity, Weight, and Time Decay. This may sound complicated at first

  • どんなデータでも(※)線形分離可能にしてしまう技術,Vanishing Component Analysis(ICML 2013)を紹介してきました - a lonely miner

    急に蒸し暑くなってきましたね.でぶちんなのでけっこうこたえます.タイトルはちょっと釣り気味.ビビっと来た方は是非論文に目を通してみてください:) 例によって,仲間内でやっている小さな勉強会で論文紹介をしてきましたので,そのご紹介です.ぼくの専門というか興味の中心は自然言語処理なので,ふだんはそっち方面を追っているのですが,勉強会では機械学習方面を中心にいろいろ読んでみてます. 今回は岡野原さんのこのツイートで興味を持った以下の論文を読ませていただきました.名前もかっこいい.ヴァニッシングコンポーネントアナリシス! ICML2013のbestpaper。データ中の集合(例えば画像中の8の字など)が0になるような生成多項式を求める(=集合のコンパクトな表現)効率的なアルゴリズムを提案し教師有学習時の特徴生成などに使える。すごい http://t.co/DedSoyLaJR — 岡野原 大輔 (

  • HyperLogLogで遊ぶ - Negative/Positive Thinking

    はじめに 「さぁ、お前の罪の異なり数を数えろ!」と言われたときに使えそうな「HyperLogLog」という異なり数をカウントする方法を教えてもらったので、遊んでみた。 いつもながら論文ちゃんと読んでないので、条件やコード間違ってるかも。。。 HyperLogLogとは cardinalityと呼ばれる、要素の異なり数を決定する問題 かなり省メモリで精度のよい異なり数を推定できる方法 要素をそのまま保存せず、ハッシュ値に変換したものをうまくレジスタに保存しておく ので、レジスタサイズ程度しかメモリを使わない 並列化もできて、最近のbigdataとかで注目されている また、googleが並列計算用に改善したHyperLogLogを提案してるみたい http://blog.aggregateknowledge.com/2013/01/24/hyperloglog-googles-take-on-

    HyperLogLogで遊ぶ - Negative/Positive Thinking
    rindai87
    rindai87 2013/04/08
    うお、すでに遊んでいる人がいた
  • あなたの知らないハッシュテーブルの世界

    Please select the category that most closely reflects your concern about the presentation, so that we can review it and determine whether it violates our Terms of Use or isn't appropriate for all viewers.

  • プログラミングコンテストでの乱択アルゴリズム

    1. 2012/06/12 ディー・エヌ・エー 渋谷オフィス (TopCoder Meetup in Japan) プログラミングコンテストでの 乱択アルゴリズム 東京大学情報理工学系研究科 秋葉 拓哉 / [[iwi]] 1 2. 自己紹介 • 秋葉 拓哉 / [[iwi]] – Twitter: @iwiwi • 東京大学 情報理工学系研究科 コンピュータ科学専攻 • プログラミングコンテスト凄い好き – 世界大会の常連をやっています – ここ 1 年で 3 回,来月も行きます • プログラミングコンテストチャレンジブック共著 2 3. 今日の話 「乱択アルゴリズム」 • 既存の乱択アルゴリズムの紹介を延々とはしません – そういうアルゴリズム解説は一杯あります • コンテストに焦点を絞り,乱択アルゴリズムを設計 できるようにする,ということを目指す (簡単めの話になります,中上級者の

    プログラミングコンテストでの乱択アルゴリズム
  • アルゴリズムを学ぼう

    関連サイト出版社による関連ページが公開されています。 アルゴリズムを学ぼう (KADOKAWA/アスキー・メディアワークス) 関連書籍書の続編『続・アルゴリズムを学ぼう』も好評発売中です。 内容紹介書のテーマは、ガチのアルゴリズムとデータ構造、そして計算量です。 いや、確かに書は女の子がいろいろでてきたり、小話が入っていたりと、ゆるふわなオーラが漂っています。しかし、あえていいましょう。それは、見かけだけである、と。 プログラミングを学ぶにあたって、アルゴリズムとデータ構造は、どの言語を用いるにしてもすべての基礎であり、避けて通ることはできない道です。アルゴリズムとデータ構造を知らずにプログラムを書くことは、無免許で車を運転するぐらいに危険な行為です。 しかし、アルゴリズムとデータ構造をきちんと理解せずに、プログラムを書いているプログラマーが多数いるのも事実です。それは、アルゴリズム

    アルゴリズムを学ぼう
    rindai87
    rindai87 2012/06/02
    echizen先生面白いって言ってるし間違いない
  • How Hacker News ranking algorithm works - amix.dk

    In this post I'll try to explain how Hacker News ranking algorithm works and how you can reuse it in your own applications. It's a very simple ranking algorithm and works surprising well when you want to highlight hot or new stuff. Digging into news.arc code Hacker News is implemented in Arc, a Lisp dialect coded by Paul Graham. Hacker News is opensource and the code can be found at arclanguage.or

  • 物理モデルのガンダムを遺伝的アルゴリズムで歩かせたムービーがすごい

    3Dと物理エンジンを使っていろいろな実験を行っているむにむにさんが、「ガンダムを遺伝的アルゴリズムで歩かせた」というムービーをニコニコ動画とYouTubeにアップしています。そもそも遺伝的アルゴリズムというのが何かわからなくても、それを説明してくれるムービーも用意されているので、いったいどれだけすごいことを試行錯誤しているのかがわかるようになっています。 YouTubeでのアカウントは「3D Creature Physics(99munimuni)」という名前になっています。 ガンダムを遺伝的アルゴリズムで歩かせた。walked the Gundam By genetic algorithm - YouTube すでに物理エンジンでガンダムを歩行させることに成功したむにむにさんが挑戦したのが、遺伝的アルゴリズムで歩行を改善していくということ。 このザクっぽい単純モデルだとたくさんのモデルを

    物理モデルのガンダムを遺伝的アルゴリズムで歩かせたムービーがすごい
    rindai87
    rindai87 2012/02/21
    なんぞこれw
  • 情報系修士にもわかるダブル配列 - アスペ日記

    最近話題の「日本語入力を支える技術」を途中まで読んだ。 3章がものすごく気合いが入っている。 trie(トライ)というデータ構造の2つの実装、「ダブル配列」と「LOUDS」について詳しく説明がされている。 ダブル配列については、ぼくは以前論文を読んで勉強しようとしたのだが、その時は難しくてあきらめた覚えがある。しかし、このの説明を読むことで理解ができた。 ありがたい。 感銘を受けたので、このを教材に友達と2人勉強会をした。 この2人勉強会というのは、ぼくが復習を兼ねて友達に教えるというのがだいたいのスタイル。 しかし、いざやってみるといろいろと難しい。 次のようなところでひっかかるようだ。 例のサイズが小さく、イメージを喚起するのが難しい。 最初の図のノード番号と、最終的なダブル配列上の位置が異なるため、混乱する。 単語終端について言及がないので、どのノードが単語を表しているかがわから

    情報系修士にもわかるダブル配列 - アスペ日記
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

    rindai87
    rindai87 2012/01/25
    グラフアルゴリズムの本。サンプルコードでSageっていうの使っているけど知らなかった
  • programming methodology

  • アルゴリズム講座/実践編/ハッシュ法(幅優先探索)

    思考アルゴリズムの王様バックトラックにも弱点があります。その弱点と克服法を考えてみます。ちょっと難しくなりますが「再帰」は使用しないので、ある意味ではむしろ人に分かり易いアルゴリズムなのかも知れません。 1.「15パズル」のミニ版「5パズル」を解く 右図の5枚のパネルをランダムにシャッフル後、パネルを上下左右に スライドして元の順番通りになる様に最小の手順で並べ直して下さい。 この問題に先ほどのバックトラックを使っても失敗します。何故なら 「堂々巡り」という現象が発生してしまうからです。 堂々巡りとは、局面Aから局面Bへと変化しさらに局面Cへと探索が 進んでいったが、もしいつしか元の局面Aに変化してしまったらこれま での探索の過程が繰り返し実行されてしまいます。これでは無限地獄。 これを防止するには、探索過程の総ての局面を保存しておいて過去に 同じ局面がなかったかをチェックしながら探索しな

  • グラフ構造を用いた経路探索(幅優先探索)

    探索法の選択 今回は、ブラインド探索の幅優先探索(横形探索)を学習します。 単純な探索法(ブラインド探索) 幅優先探索(横形探索) 幅優先探索は、ある一つの頂点を選び、その頂点に隣接している頂点を横方向(幅)に順次訪問し、隣接頂点が無くなったら、はじめに訪問した頂点に戻り、その頂点の隣接頂点を順次訪問します。 これを繰り返して、戻るべき頂点がなくなったら終了するという探索方法です。 具体的な手順を、前回と同じ、こちらの経路図の例を用いて説明していきます。 H───I───J───K │ │ /│ │ │ / │ │ │/ │ E───F───G │ /│ │ │ / │ │ │/ │ │ A───B───C───D 図: 経路図の例 (A) ─┬─ (A B) ─┬─ (A B C) ─┬─ (A B C D) ─ × │ └─ (A B F) └─ (A B C G) │ ├─ (A

  • 深さ優先探索と幅優先探索の簡単な実装方法 - 働かないプログラマのメモ帳

    深さ優先探索と幅優先探索は、実は簡単に実装することができます。 次のインターフェースを実装したクラスで例を見ていきます。 interface Node { public String getName(); public List<Node> getChildren(); } 深さ優先探索 深さ優先探索は以下の手順で実装できます。 スタックを用意する スタックに最初の要素を入れる(push) スタックから要素を取り出す(pop) 要素に対して処理をする 要素の子供をスタックに入れる(push) スタックがカラになるまで3〜5を繰り返す rootNodeから深さ優先探索でnameを出力するプログラムは次のようになります。 Deque<Node> stack = ArrayDeque<Node>(); stack.push(rootNode); while(!stack.isEmpty()) {

    深さ優先探索と幅優先探索の簡単な実装方法 - 働かないプログラマのメモ帳
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。