入門編 このサイトは、すでにプログラミングの基本を身に付けたプログラマーが、アルゴリズムとデータ構造の学習サイトです。入門編では、最も基本的なアルゴリズムとデータ構造について説明します。プログラミングを始めたばかりか、これから学習する人は、こちらからスタートしてください。
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? オバマ大統領の再選に大きく寄与したことで大きな注目を集めているA/Bテスト。A/Bテストを導入した、することを検討している、という開発現場も多いのではないだろうか。 そんな中、Web上で次のような議論を見つけた。 20 lines of code that will beat A/B testing every time Why multi-armed bandit algorithm is not “better” than A/B testing 一言でまとめると「A/Bテストよりバンディットアルゴリズムの方がすごいよ」「いやいやA
以前、入力チェック用の正規表現で作ったことがあります。 (国内の固定電話と携帯に対応) /^(0[5|8|9]0-[0-9]{4}-[0-9]{4}|0[3|6|4]-[2-9][0-9]{3}-[0-9]{4}|0[2,4,5,7-9][0-9]-[2-9][0-9]{2}-[0-9]{4}|0[2,4,5,7-9][0-9]{2}-[2-9][0-9]-[0-9]{4}|0[2,4,5,7-9][0-9]{3}-[2-9]-[0-9]{4})$/ --- 電話番号の先頭3ケタが090または080または070または050の場合は11ケタ 他は10ケタ 10ケタの場合は市外局番、市内局番、電話番号が存在し以下の法則となっている 市外局番は2~6ケタで頭は0 市内局番は6-(市外局番桁数)ケタで、頭は0以外かつ1以外 電話番号は4ケタで、市内局番が0ケタの場合、頭は0以外かつ1以外 ---
GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠
ref: 【ニコニコ動画】ミクをPCの再生音に合わせて自動で踊らせてみた ↑に触発されて波の処理をしたくなったので、Ruby で FFT (高速フーリエ変換) を書いてみました。 FFT とは、波の形を見て周波数とかを見抜く魔法のことです。数式とか考えたくないので、とにかく Ruby で書いてみました *1 。 def fft(a) n = a.size return a if n == 1 w = Complex.polar(1, -2 * Math::PI / n) a1 = fft((0 .. n / 2 - 1).map {|i| a[i] + a[i + n / 2] }) a2 = fft((0 .. n / 2 - 1).map {|i| (a[i] - a[i + n / 2]) * (w ** i) }) a1.zip(a2).flatten end これだけです。短いで
insight3dは複数の写真から立体モデルを生成するソフトウェアです。 MicrosoftのPhotosynthが有名ですが、複数の写真を解析して立体的なモデルを作成する技術があります。それをオープンソースとして公開しているのがinsight3dです。 インストーラーです。ウィザードに沿って進めればインストールできます。 インストールが完了しました。 起動しました。まず画像を読み込みます。 サンプルの画像です。同じ建物を複数箇所で撮影しています。 解析しています。 ポイントが洗い出されました。 それぞれの写真におけるポイントが確認できます。 ここから先が難しいです…うまく3D化できません。 うまく行っているのはこちらの動画で見てください。 insight3dは複数の写真から共通点を見つけて、それを3D化している…というのは分かるのですが実際に目にしてみると非常に面白い技術と言えるでしょう
2012年01月16日16:30 カテゴリアルゴリズム百選Lightweight Languages Algorithm - Suffix Array を JavaScript で再発明してみた WEB+DB 総集編 [Vol. 1〜60] もう10年以上前に某社のCTOだったころ、Suffix array(接尾辞配列)の解説を毎週の技術者ミーティングでしたら一名を除いて「ハァ?」状態だったことを思い出しつつ。 Suffix Arrayは何が画期的だったのか? 以下は、計算機科学者でなくても直感的に理解できると思います。 ソートされていない通常のデータの中にあるサブデータ(キー)を検索しようとすると、データの大きさに比例した時間(O(n))がかかる。 ソート済みのデータであれば、二分探索でデータの大きさの対数時間(O(logn))でキーを検索できる。 さらにキーからIDを定数時間で作成でき
Given the nums array above, we can use our reduction routine to find the min and max of the array: int min = Reduce(nums, int.MaxValue, (x,y) => x < y ? x : y;); int max = Reduce(nums, int.MinValue, (x,y) => x > y ? x : y;); (Count is omitted because the partial results must be summed, requiring two separate binary operators, and Average is omitted because it also requires some extra steps.) You c
知ってる? クレジットカード番号の意味と暗算認証術2011.01.24 12:0031,570 satomi 暗算で偽造カード見分けられるなんて...知らなかった! 毎日のように使うクレジットカード。丸暗記して時間セーブしてる人も、あの数字16桁の意味までは知らないんじゃ? 16個の数字にはそれぞれ意味があるんですよ。米国で人気のオンライン資産管理サービス「Mint」がズバリ図解してくれました! (図の訳) 1)最初の1桁:主要産業識別子 (MII:Major industry identifier)。カード発行者の業界を表します。 0 予備 1、2 航空 3 旅行・娯楽 4、5 銀行・金融 6 商品輸送・銀行 7 石油 8 通信 9 国ごとの割り当て分 2)MIIを含む最初6桁:発行者識別番号(IIN:Issuer Identifier Number)。カード発行者の身元を表します。 [
最強最速アルゴリズマー養成講座: そのアルゴリズム、貪欲につき――貪欲法のススメ アルゴリズムの世界において、欲張りであることはときに有利に働くことがあります。今回は、貪欲法と呼ばれるアルゴリズムを紹介しながら、ハードな問題に挑戦してみましょう。このアルゴリズムが使えるかどうかの見極めができるようになれば、あなたの論理的思考力はかなりのレベルなのです。(2010/9/4) 最強最速アルゴリズマー養成講座: 病みつきになる「動的計画法」、その深淵に迫る 数回にわたって動的計画法・メモ化再帰について解説してきましたが、今回は実践編として、ナップサック問題への挑戦を足がかりに、その長所と短所の紹介、理解度チェックシートなどを用意しました。特に、動的計画法について深く掘り下げ、皆さんを動的計画法マスターの道にご案内します。(2010/5/15) 最強最速アルゴリズマー養成講座: アルゴリズマーの登
C++版のOpenCVを使ってカラーヒストグラムを用いた類似画像検索を実験してみました。バッチ処理などのスクリプトはPythonを使ってますが、PerlでもRubyでも似たような感じでできます。 指定した画像と類似した画像を検索するシステムは類似画像検索システムと言います。GoogleやYahoo!のイメージ検索は、クエリにキーワードを入れてキーワードに関連した画像を検索しますが、類似画像検索ではクエリに画像を与えるのが特徴的です。この分野は、Content-Based Image Retrieval (CBIR)と呼ばれており、最新のサーベイ論文(Datta,2008)を読むと1990年代前半とけっこう昔から研究されてます。 最新の手法では、色、形状、テクスチャ、特徴点などさまざまな特徴量を用いて類似度を判定するそうですが、今回は、もっとも簡単な「色」を用いた類似画像検索を実験してみます
4209 people currently visiting GDNet. 2219 articles in the reference section. Help us fight cancer! Join SETI Team GDNet! Disclaimer This document is to be distributed for free and without any modification from its original state. The author declines all responsibility in the damage this document or any of the things you will do with it might do to anyone or to anything. This document and a
全世界で20万人を超える凄腕のコーダーが集うプログラミングコンテスト「TopCoder」。本稿では、アルゴリズム部門のSRMで取り上げられる問題を考えながら、論理的思考力およびコーディングのテクニックを養っていきます。 はじめに はじめまして。高橋直大です。本連載「最強最速アルゴリズマー養成講座」では、全世界で20万人を超える凄腕のコーダーが集うプログラミングコンテスト「TopCoder」について、そこで出題される数学・アルゴリズムのパズルを考えることで、コーディングのテクニックおよび論理的思考力を磨くことを目的に開始するものです。ここで扱う技法は主にアルゴリズムのそれですが、その根底にはロジカルな思考術が存在します。そうした能力を養いたい方にとって少しでも役に立てれば幸いです。 なお、本稿は必要に応じてコーディング例も紹介しますが、TopCoderで出題される問題の中から比較的やさしい問
昨日、はてなブックマークFirefox拡張をリリースしました。おかげさまでベータ版からダウンロード数は累積で1万ダウンロードを突破し、アクティブユーザー数も伸びています。 はてなブックマークFirefox拡張で新しいインターネットを体験しよう http://b.hatena.ne.jp/guide/firefox_addon 開発者の id:secondlife が g:subtech:id:secondlife:20090415:1239804170 で技術的な側面からのちょっとした TIPS なども紹介していますので、興味のある方はご一読ください。 検索では思いのほか SQLite の like 検索が高速なのに驚いた。はてブ検索では、検索ワードから URL, Title, コメント にマッチしたものを表示していて、それ専用の search_data だかかんらかの検索用カラムがある。
適当な単語群を含む辞書があったとします。「京都の高倉二条に美味しいつけ麺のお店がある」*1という文章が入力として与えられたとき、この文章中に含まれる辞書中のキーワードを抽出したい、ということがあります。例えば辞書に「京都」「高倉二条」「つけ麺」「店」という単語が含まれていた場合には、これらの単語(と出現位置)が入力に対しての出力になります。 この類の処理は、任意の開始位置から部分一致する辞書中のキーワードをすべて取り出す処理、ということで「共通接頭辞検索 (Common Prefix Search)」などと呼ばれるそうです。形態素解析、Wikipedia やはてなキーワードのキーワードリンク処理などが代表的な応用例です。 Aho Corasick 法 任意のテキストから辞書に含まれるキーワードをすべて抽出するという処理の実現方法は色々とあります。Aho Corasick 法はその方法のひと
"MapReduce" は Google のバックエンドで利用されている並列計算システムです。検索エンジンのインデックス作成をはじめとする、大規模な入力データに対するバッチ処理を想定して作られたシステムです。 MapReduce の面白いところは、map() と reduce() という二つの関数の組み合わせを定義するだけで、大規模データに対する様々な計算問題を解決することができる点です。 MapReduce の計算モデル map() にはその計算問題のデータとしての key-value ペアが次々に渡ってきます。map() では key-value 値のペアを異なる複数の key-value ペアに変換します。reduce() には、map() で作った key-value ペアを同一の key で束ねたものが順番に渡ってきます。その key-values ペアを任意の形式に変換すること
激指(げきさし)は、東京大学近山研究室の有志数名が1999年に開発を始めた将棋プログラムです。 初参加の第10回コンピュータ将棋選手権では12位、 第11回では4位、そして2002年の第12回では念願の優勝を達成することができました。 (コンピュータ将棋協会のホームページへ) 2013/11/2 菰野町イベント「ボナンザvs激指」(棋譜) 2013/5/11 第23回世界コンピュータ将棋選手権の棋譜(読み筋・形勢判断情報付き)。 2010/10/12 第15回コンピュータオリンピアード (Computer Olympiad) で全勝優勝! 棋譜、レポートはこちら。 2010/5/10 第20回世界コンピュータ将棋選手権の棋譜(読み筋・形勢判断情報付き)。 2010/2/15 第13回コンピュータ将棋オープン戦の棋譜(読み筋・形勢判断情報付き)。 2010/2/10 シンポジウム「頭脳スポー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く