タグ

関連タグで絞り込む (408)

タグの絞り込みを解除

algorithmとAlgorithmに関するwebmarksjpのブックマーク (117)

  • 祝日について

    現行の『祝日法』で定められている祝日等の情報をまとめています。 カレンダー処理などを構築する際の参考にしてください。 平成15年より施行される改正祝日法には、あまり世間一般には知れ渡っていない隠れた 祝日(休日)が存在します。詳細はこちらをご覧下さい。 祝日の判定・祝日一覧シートの作成などは、『kt関数アドイン』『kt祝日一覧表示ツール』を 利用すると簡単に行なうことが出来ます。 VBA(VB)用の祝日判定ロジックを公開しています。 ※ [昭和の日]改正記録、与党/秋(11月)のGW構想 追跡情報ページ はこちら です。 ※ H20/2/1 日公示された 官報 により、2009年の 「秋分の日」 が 9月23日 に確定 しました。これにより、かねてより アナウンス してきた 『9月の国民の休日(9月22日)』 も確定しました。  \(^o^)/ 祝  日  一  覧

  • SAT ソルバで数独を解く方法 - まめめも

    数独は非常に SAT に変換しやすい問題です。全部参考文献 *1 に載っている内容ですが、なるべくわかりやすく説明してみます。ちょっと長いです。 SAT とは まず SAT をごく簡単に説明します。すでに SAT を知っている人はここは読み飛ばしてください。 命題論理式の形の一つに乗法標準形のというのがあります。変数か変数の否定 (リテラルと言います) を or だけでつないだ式 (節と言います) を and だけでつないだ論理式のことを言います。つまり以下みたいな形です。 ( a1 or !a2 or ... or an) and ( b1 or !b2 or ... or !bn) and ... and (!z1 or z2 or ... or !zn)SAT は「a1 や zn などの変数にうまく true か false を代入して、上の式全体を true にできるか」という問題

    SAT ソルバで数独を解く方法 - まめめも
  • 404 Blog Not Found:アルゴリズム百選 - 二分探索(binary search)

    2007年12月04日08:30 カテゴリアルゴリズム百選Math アルゴリズム百選 - 二分探索(binary search) 今回は二分探索を取り上げます。 検索:コンピューターの最もよくある利用法 「二分探索って何?」「ググレカス」と言われないためにこの記事は存在するのですが、Webの検索に限らず、「目的のデータを見つけて取り出す」というのは、およそコンピューターの利用法で最もポピュラーなものです。 配列:コンピューターがデータを扱う根的な方法 そのデータはコンピューターのなかでどう置かれているかというと、非常に単純です。デジタル化されたデータ=数値が一定間隔で並んでいるだけです。こういうデータ構造を、配列(array)といい、この数値一個一個のことを要素(element)と言います。 現代のコンピューターでは、最小要素はバイト(byte)と呼ばれています。このバイトの中には0と1

    404 Blog Not Found:アルゴリズム百選 - 二分探索(binary search)
  • 檜山正幸のキマイラ飼育記 - 圏論やモナドが、どうして文書処理やXMLと関係するのですか?

    …という類<たぐい>の質問に答えるのはちょっと面倒なんですけど、とりあえず1つだけ具体例を挙げておきましょう。テンプレート処理が、もろにモナドになっている、ってハナシ。今回はテキスト処理について説明。次回(いつになるかまったく不明)はXML処理の予定。 テキスト処理だけでも長ーい説明(最長記録かも)なのだけど、分割すると“勢い”がなくなるから一挙掲載。読むときはユックリ・ジックリ読んでくださいね。プログラミング課題も、実際にコーディングしないまでも、「こうやればいいな」という方針くらいは考えてください。 ※印刷のときはサイドバーが消えます。 内容: ネストしたテキスト テンプレート処理 ブロック、文字列、名前 フラット・テキストとテンプレート・テキスト 多段階のテンプレート処理 蛇足 素材を整理しよう モナドに向かって突っ走れ!! バッチリ、モナドだぜぇ 残りは脱兎のごとく 最後に言ってお

    檜山正幸のキマイラ飼育記 - 圏論やモナドが、どうして文書処理やXMLと関係するのですか?
  • Google File System(GFS)技術メモ — ありえるえりあ

    * 参照した論文 + http://labs.google.com/papers/gfs-sosp2003.pdf * 特徴 + 安いPC(OSはGNU/Linux)で分散ファイルシステムを構築しています(*注1)。 + PCは壊れるという前提で設計しています(*注2)。このため、分散システムを構成するノードが壊れた時、データが失われないことと、自動で復旧できることに主眼を置いています。 + ファイルシステムを利用する側(アプリ)に、ある程度の想定を求めています。任意の利用ケースに対してそこそこのパフォーマンスを出す(=平均的に良い性能)のではなく、特定の利用ケースで性能を発揮できるように設計しています。 + 性能を発揮できる利用ケースは次のようなケースです。 ++ 主にサイズの大きいファイルを扱う(*注3)。 ++ ファイルへの書き込みは追記(append)が多い(ファイルの一部分を何度

  • きまぐれ日記: 動的配列への追加コストはなぜ O(1)?

    動的配列への追加コストは O(1) ってのは覚えていればそれだけの話ですが,どうしてかと言われると意外と難しいものです. というのも, このO(1)ってのは動的配列の実装方法に強く依存しているからです.実装を知っていないと答えられません. 一般論として,1つ要素を追加するとき,配列に空きがなかったら新しく配列を作り直して全要素をコピーする必要があります.コピーのコストは O(n) だから,追加コストも O(n) になるという議論が混乱の元になっています. こういうときは,要素追加を n 回繰り返したときの計算量を n で割った平均をとるという解析方法が使われるそうです.一般に, ある operation C の計算量を C を n 回行ったときの計算量 O(n) を n で割った値 O(n)/n で評価する手法をならし解析 (amortized analysis)と言うそうです. さて,s

  • 聞いてきました:Googleの大規模日本語データ公開に関する特別セッション - のほほん徒然

    第四十七回 写真はGigazineのマネです(笑) 3月に滋賀で行われる言語処理学会全国大会で、グーグルが 特別セッションをやるそうです。大規模日語データについて。 たつをさんのブログで知ったGoogleの特別セッション. グーグル株式会社では、日語の言語処理研究推進のため大規模日語データの公開を検討しています。つきましては仕様を決定するにあたり、実際にデータを御利用頂く研究者 / 技術者の皆様の「生の声」を是非お伺いしたく存じます。今回、言語処理学会様の御好意により、下記のとおりデータ仕様に関する特別セッションを設けて頂ける事になりました。 はてなブックマークでも話題になっているGoogleの大規模日語データ公開に関する特別セッション@NLP2007に,家が近いこともあり参加してきましたので,その詳細を書きます. セッション概要と要旨 Googleは日語の言語処理研究のためにW

    聞いてきました:Googleの大規模日本語データ公開に関する特別セッション - のほほん徒然
  • video blog ホームページ 制作 it at pj-blog.net

    Video Blogホームページ 制作It 求人ノート Pcウェブ デザインパソコン 販売ノート パソコンパソコン資格 Itホームページ 製作パソコン 通販 ホスティング サービスPc セキュリティIt スクールドメインホームページ 制作 会社Web デザイン

  • HyperHyper EstraierEstraierのの 設計と実装設計と実装 株式会社ミクシィ 平林 幹雄 mikio@users.sourceforge.net 2006年11月6日 「オープンソースの全文検索、DBMSシステム」 講演資料 アジェンダアジェンダ

    HyperHyper EstraierEstraierのの 設計と実装設計と実装 株式会社ミクシィ 平林 幹雄 mikio@users.sourceforge.net 2006年11月6日 「オープンソースの全文検索、DBMSシステム」 講演資料 アジェンダアジェンダ • Hyper Estraierの概要 • N.M-gramインデックス • スケールアウト戦略 HyperHyper EstraierEstraierの概要の概要 HyperHyper EstraierEstraierとはとは • 読み方 – ハイパーエストレイ(ア|ヤ)(ー)? – estraier: [古仏] 迷う、はぐれる = stray • 全文検索システム – 大量の文書を対象に「フリーワード検索」ができる – 予め転置インデックスを用意することで高速に処理 • 文書規模Nに対する時間計算量 – 全体のインデク

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • 高速かつ省メモリで文字列を扱うデータ構造「wavelet tree」:CodeZine

    はじめに 大規模なデータを扱うアプリケーションでは、速度とともに作業領域量も大きな問題となります。作業領域がメインメモリに収まらない場合、スワッピングが発生し、大幅な速度低下につながります。そのため近年、データ構造は高速なだけでなく、作業領域量が小さいことも求められています。今回紹介するのは2003年に提案されたデータ構造、wavelet tree(以下「WT」と表記)です。WTは圧縮索引やSuccinct Data Structureなど、データをコンパクトに表現する際に重要なデータ構造です。WTは文字列T[0...n-1]が与えられた時、次の2つの操作を定数時間でサポートします。rank(p, c)――T[0...p]中のcの出現回数を返すselect(i, c)――(i+1)番目のcの位置を返す  WTの作業領域量は、文字列をそのまま保存した時の約2倍程度です。対象読者 C++の利用

  • 経路探索アルゴリズムA* - gan2 の Ruby 勉強日記

    RTSや防衛ゲームでよく見るキャラが障害物を避けて通る移動方法って どういうアルゴリズムなんだろう?と気になったのでちょっと調べてみた。 そしたら、たぶんこれだっていうのが見つかったのでメモしておきます。 その名もA*(エースターって読むらしい)。 自分でFlash使って実装してみたい。 以下は参考ページ。 A*(A-star:エースター)探索アルゴリズム 概要の説明はここがすごく分かりやすい。WikipediaのA*の項を見たときは( ゜д゜)ポカーンって感じだったけど、ここの説明を読んだらすっきりした。 A*アルゴリズム、ActionScriptで。 Flashでの実装。ソース(コメントつき)あり。これを読んで勉強かなぁ。 http://torus.jp/memo/x200606/shibuya-js.rd.htmlと合わせて読むのがいいかも。 2007-07-12 C++での実装。ソ

    経路探索アルゴリズムA* - gan2 の Ruby 勉強日記
  • 基礎から学ぶコンピュータ

    ビットごとの論理和とか、2の補数などの言葉の意味を知っていますか? 1と0だけで色々なことが出来る仕組みの解説から、マイクロプロセッサーがどうやってプログラムを実行していくかという、コンピュータの極めて基礎的な知識を提供するメールマガジンです。 バックナンバー 論理回路編アーカイブ compfund-001-012.zip (44KB) マイクロプロセッサ編アーカイブ compfund-013-046.zip (104KB) コンピュータとデータ編〈実数〉アーカイブ compfund-047-060.zip (32KB) 論理回路編 号内容

  • クラスタリングによる迷路作成アルゴリズム

    はじめに クラスタリングアルゴリズムにより、解くと絵が浮かび上がる 迷路を作成する方法を紹介する。 クラスタリングとは ウェブのリンク情報や、mixiの友人関係など、ネットワークの性質を 知りたいことがよくある。このとき、ネットワークの性質として このネットワークにおいて任意に選んだ要素Aと要素Bはつながっているか? このネットワークは全体がつながっているか? つながっていないとしたらいくつのグループに分かれるか? 要素数最大のグループはどれか? などの情報が欲しくなる。このような解析をするときに 必要となるのがクラスタリングである。 クラスタリングとは、同値関係のリストが与えられたときにグループ分けを することである。たとえば、 友達友達友達である と定義すると、友人関係は同値関係を作る。 その上で、 A君とB君は友達 C君とE君は友達 B君とD

  • 404 Blog Not Found:perl - to goto or not to goto, that's the continuation

    2007年04月18日06:45 カテゴリLightweight Languages perl - to goto or not to goto, that's the continuation Perlでもgotoを使えば、当の継続(continuation)が可能であることを示す。 継続ってなんのことだかさっぱりわからない一は、以下にあらかじめ目をとおしておいていただきたい。 なんでも継続 なんでも継続、Perl で。 : torus solutions! 404 Blog Not Found:継続は力なり Tociyuki::Diary - Perl 5.8 で似非継続 Perl 5のgotoには、3種類ある。 goto LABEL こちらはCなどで見られるgotoと等価である。 goto END; print "Hello\n"; END: print "Goobye\n"; G

    404 Blog Not Found:perl - to goto or not to goto, that's the continuation
  • 驚異のAmazonショッピング、他

    驚異のAmazonショッピング、他 Permalink URL http://www.magicvox.net/archive/2006/04291725/ Posted by ぴろり Posted at 2006/04/29 17:25 Trackbacks 関連記事 (5) Comments コメント (8) Post Comment コメントできます Category Amazon.co.jp から注文していた品物が届きました。 littlewitch が 5 周年を祝って贈る 『リトルウィッチファンディスク〜ちいさな魔女の贈りもの〜』 4月28日が発売日だったことを思い出して、発注したのが27日の夜、そして36時間後の今日29日には私の手元に届いた訳です。それにしても仕事が速い! 便利な時代になったものだなぁと感心しつつ、Amazon の凄さを改めて思い知ったショッピングでした。

    驚異のAmazonショッピング、他
  • データ圧縮の基礎

  • Cuckoo Hashing - Radium Software

    ハッシュテーブルからエントリーを検索する処理は,一般に定数時間で済むとされている。つまり,どんなにエントリーが増えても検索の速さは変わらない,ということ。データ構造の教科書には必ず載っていることだね。 でも実際には,ハッシュの衝突が起こった場合に,速度の低下が発生する可能性がある。例えば,一般的なチェイン法(オープンハッシュ)だと,衝突したエントリーに関して線形検索を行うことになるから,衝突が多ければ多いほど,定数時間からは遠のいてしまう。 この速度低下を防ぐ方法はいろいろある。なかでも cuckoo hashing (カッコウ・ハッシング)は仕組みが面白い。こいつは,エントリーの検索を必ず定数時間で済ませてくれるという優れものなんだ。 Cuckoo hashing では,2つのハッシュ関数と,2つのテーブルを用いる。ここでは,2つのハッシュ関数をそれぞれ h1, h2 として,2つのテー

    Cuckoo Hashing - Radium Software
  • Twitter ベイジアンフィルタプロキシ

    Twitter で following が増えてくるにつれて、タイムラインに目を通すのが大変になってきた(という程きちんと見ている訳ではないが)。 さっとタイムラインをなめて面白そうな情報をピックアップしたい時は、「おはよう」とか「風呂入った」とか「トイレ」とかは除外して読みたい(そういう書き込み自体は嫌いじゃないのだが、人生はあまりにも短い)。 Twit や P3:PeraPeraPrv では NG ワード指定ができて、それらを含むステータスは表示しないようにできるのだが、Twitter の書き込みは揺らぎが激しすぎて指定しきれないという弱点がる。 ということでベイジアンフィルタでフィルタリングしてみることにした。 自前で Twitter クライアントを作る気はないので、proxy の形でさっと実装してみた。 #!/usr/bin/perl use strict; use warning

    Twitter ベイジアンフィルタプロキシ
  • クラスタリング (クラスター分析) - Toshihiro Kamishima

    クラスタリング (clustering) とは,分類対象の集合を,内的結合 (internal cohesion) と外的分離 (external isolation) が達成されるような部分集合に分割すること [Everitt 93, 大橋 85] です.統計解析や多変量解析の分野ではクラスター分析 (cluster analysis) とも呼ばれ,基的なデータ解析手法としてデータマイニングでも頻繁に利用されています. 分割後の各部分集合はクラスタと呼ばれます.分割の方法にも幾つかの種類があり,全ての分類対象がちょうど一つだけのクラスタの要素となる場合(ハードなもしくは,クリスプなクラスタといいます)や,逆に一つのクラスタが複数のクラスタに同時に部分的に所属する場合(ソフト,または,ファジィなクラスタといいます)があります.ここでは前者のハードな場合のクラスタリングについて述べます.

    クラスタリング (クラスター分析) - Toshihiro Kamishima