タグ

algorithmに関するj0hnのブックマーク (142)

  • 中里一日記: 分散ファイルシステムとHDDのあいだに

    分散ファイルシステムとHDDのあいだに ファイルシステムやRDBMSは、なんらかの形でロック機構を持っている。ロック機構がなくてはデータの一貫性が保てない。 分散環境ではロック機構が性能の鍵になる。ノードの数を増やせば記憶容量が増える(スケールアウトする)のは自明だが、ロック機構はそうではない。 また、各ノードに備わるキャッシュ(ローカルキャッシュ)も問題になる。無効になったローカルキャッシュを適切に無効化しなければならない。 これらの要求は、ファイルシステムやRDBMSなどの永続化システムに共通している。また、分散環境では、素朴な方法(環境全体が一定数の同期オブジェクトを共有するなど)ではこれらの要求を効率よく満たすことはできない。 というわけで私は、分散ファイルシステムや分散RDBMSとHDDのあいだに、もう一つのレイヤを設けることを考えた。このレイヤのことを仮に「分散永続化システム」

  • プログラムを2倍から4倍早くする方法 - GIGAZINE

    プログラミングの話なので、ソフトウェアを使うだけのユーザーには関係ない話です。 要するに実行速度の遅いプログラムを2倍から4倍高速化させるには非常に基的なトリックというか技術を使えば可能ですよ、というお話。 アルゴリズムの考え方なので、仕事上どうしてもプログラムの実行速度を上昇させる必要があるが、やり方がイマイチよく分からないという人は必見。 Dr. Dobb's | An Algorithm for Compressing Space and Time | 3 1, 2006 かの有名な「ライフゲーム」を例に出し、プログラミングのコードの内容を高速化するにはどういうアプローチを取ればいいのか、その際に使用する再帰的アルゴリズムの考え方、複雑な式を簡単な式に圧縮する方法、圧縮することで実行時間の節約が可能になること、などをやたら詳細に解説しています。 ぶっちゃけ、これが理解できるのであれ

    プログラムを2倍から4倍早くする方法 - GIGAZINE
  • make で make ファイルを作る実践: uyota 匠の一手

    さて、GNU make で make ファイルを生成 で Makefile の例を上げたが、あのままでは実験するのは難しい。そこで、今回は実行するコマンドを変えて実験しやすいようにする。 余談になるが、実は %.o : %.c といった表記は、どの make でも使えるものだと思い込んでいた。今回の FreeBSD 6.1 上での実験で make と打っても動かない。BSD make では実装されていない機能みたいだ。GNU make だけでなく、Solaris に入っている /usr/ccs/bin/make と /usr/xpg4/bin/make 共に使えたので、気が付かなかった。Solaris の make は include がうまくできなくて、悩むことが多い。 まずは、Makefile である。最初に echo や cat 等に変えた。別に実際にコンパイルすることが目的ではない

  • Misc Programs written in Ruby

    Small programs written in Ruby. Requirements Ruby Algorithm and Data Structure sort-bubble.rb - buble sort sort-intersection.rb - intersection sort sort-selection.rb - selection sort sort-merge.rb - merge sort sort-quick.rb - quick sort trie.rb - trie data structure Use of External Library traverse_fammon.rb - monitoring the modification of filesystem by using libfam-ruby Web API googlemapgenerato

  • http://ocw.kyoto-u.ac.jp/jp/engineering/course04/lecturenote.htm

    What is Creativity?-Emergent Phenomena in Complex Adaptive Systems October 20(Mon)〜22(Wed) 2008 CO-OP Inn Kyoto Conference Hall ワークショップ参加ご希望の方はrequest-ocw@media.kyoto-u.ac.jpまでお名前(漢字とローマ字表記)、所属、役職、e-mail、懇親会の参加希望の有無をお書き添えの上お申し込みください。締め切りは10月10日になります。 →ワークショップ プログラムPDF →ワークショップ詳細HP OCW関連講義 全学共通科目 創造性とは何か?(村瀬雅俊准教授) 国際交流センター 日語入門初級 日仏交流150周年・京都大学創立111周年国際フォーラム 国際フォーラム ビデオ→ 動画で見る京都大学 ・What is Li

  • ハンデつきジャンケンとロバスト制御 - swk's log

    * ハンデつきジャンケンとロバスト制御 [tech] 6 users A さんと B さんがジャンケンをします.ただし,A さんだけはグーとチョキしか出せないというハンデつきのルールだとします.あなたが B さんなら,何を出しますか? 東大の 原辰次 先生が,とある講演 の余談として話されたネタ. (実は講演会自体は自分の講義と重なって出席できなくて,この話はその夜の飲み会で聞いた) これを尋ねるとほとんどの人が「グーを出す」と答える.実は,これは必ずしも最適な解ではない.グーを出すのは「最悪でもあいこに抑えたい」という「ロバスト制御」であるというお話. グーが必ずしも最適ではないってのがどうにもピンと来なかったので,家に帰ってから酔っ払った頭で計算してみた.ゲーム理論は一般書を流し読みしたくらいの知識しかないので,何か間違ってたら教えてください. ジャンケンの勝敗による利得を,勝ち: +

  • R-Tree - こども(てれび)

    R-Tree を勉強します。 参考 Rtrees: Theory and Applications こののサンプル pdf がたぶんわかりやすい (chap.1, chap.2) R-Trees: A Dynamic Index Structure for Spatial Searching 原著論文 目的 与えられた矩形と交差する図形を探索する問題を考えます。window query と言うらしいです。これを効率的に実行するためのデータ構造が R-Tree です。 R-Tree の概要 R-Tree は B+-Tree の構造をしています。B+-Tree は、 leaf に要素が入っていて非 leaf の node は探索の為のインデックスのみを持っている B-Tree です、たぶん。R-Tree の leaf に入る要素は Minimum Bounding Rectangle (MB

    R-Tree - こども(てれび)
  • kaz::hatena - 特別公演 - プロ棋士はどう考えているか

    【事前予約なし】子連れで大阪関西万博に行ってきたよ【激混み連休】 ">地元大阪で開催された55年ぶりの万博。万博記念公園&みんぱく大好き族として一度はこの目で見ておきたく、子連れで行ってきました! "> 万博公園が大好きだよブログはこちら www.oukakreuz.com 予約の裏技とか必需品とかそういうのはまとめてくれている方がたくさん…

    kaz::hatena - 特別公演 - プロ棋士はどう考えているか
  • これだけは知っておきたいアルゴリズム〜共通鍵暗号編 ― @IT

    実際に運用中の情報システムで利用されている暗号アルゴリズムを移行することは、大規模なシステムであるほど、大変な労力とコストが必要となる。従って、規模が大きく、また長期運用が前提となっているシステムほど、暗号の選定には慎重になるべきである。 その意味で、「システム性能要求上問題がない範囲内であれば、現時点における最も高い安全性が確認されている暗号の中から選択するのが望ましい」というところに、暗号技術の2010年問題【注】の質がある。いい換えれば、現在のデファクトスタンダードだからとの理由だけでその暗号を採用することは必ずしも勧められない。 【注:暗号技術の2010年問題とは】 米国は、現在利用されているすべての米国政府標準の暗号技術を2010年までにより安全な暗号技術へ交代させていく方針を明確に打ち出している。現在、世界中で使われているデファクトスタンダードの暗号技術は、そのほとんどすべて

    これだけは知っておきたいアルゴリズム〜共通鍵暗号編 ― @IT
  • フリーハンドでベジェ曲線を描く

    点列をベジェ曲線に変換する BezierGenerator.js のサンプルです。 このサンプルは Firefox, Opera くらいでしか動きませんが、BezierGenerator.js 自体に環境依存性はありません(たぶん)。

  • 2006-05-07

    あなたが10の理由を示すべき10の理由。 「7の理由」ではパターン化しすぎているから。 9では少なすぎ、11では切りが悪いから。 体系的に広い視野で考えているように見てもらえるから。 なんだかんだいって10個くらいの理由は思いつくから。 10個も示せば一つくらいは「なるほど」と言ってもらえるから。 10個も示せば一度には読みにくいためブックマークしてもらえるから。 10個も示せば時間経過とともにランキング変動も調査できるから。 10位から発表していけば「1位は何だろう」と盛り上げられるから。 タイトルで「10の理由」と書いておいても、実際に10個も示す必要なんてないから。 ※流行ものらしいので、書いてみました。 はてな認証APIに関連して、kazuhoさんが以下のエントリを書いておられます。(via まちゅダイアリー) Re: はてな認証 API Hash ≠ MAC これは「秘密鍵をメッ

    2006-05-07
  • HTTP クライアントを作ってみよう(6) - Digest 認証編 -

    Digest 認証 (ダイジェスト認証) 前ページでは Basic 認証を紹介し、セキュリティ面で問題があることを示しました。 その欠点を解消したのが Digest 認証です。 以下の URL では Digest 認証を行っています。 ブラウザから操作する分には Basic 認証と区別が付かないでしょうが、 認証の仕組みはちょっと複雑になっています。そのかわり、 ネットワーク上を流れるパケットを覗き見られても、パスワードがばれることはありません。 以下、仕組みを簡単に説明します。 「メッセージダイジェスト」の意味がよくわからなければ、暗号化のお話 (3) を参照してください (「ハッシュ」と「メッセージダイジェスト」は同じものと考えてください)。 まず、あらかじめサーバ側にパスワードの MD5 メッセージダイジェストを保存しておきます (ユーザ登録に相当)。 クライアントが Digest

  • Word の「印刷」を劇的に速くする方法を発見。ホイールを上下するだけ! - 登 大遊@筑波大学情報学類の SoftEther VPN 日記

    Word を使っていて、数十ページくらいあるドキュメントを印刷しようとすると、印刷 (スプール) 処理に時間がかかることがあります。 しかも、大抵そういうときは、CPU 使用率もディスクアクセス率もネットワークアクセス率もそれほど高くないにもかかわらず、なぜか大量ページの印刷 (プリンタへの送信) に時間がかかるようです。 そのようなときは、印刷を開始してから、画面上でマウスのホイールボタンを上下に細かく素早く小刻みに動かしてみましょう。すると、不思議なことに、何もしないときと比べて約 10 倍くらいの速度でスプール処理が完了します。 上記の現象は、Office 2000, XP, 2003 の Word で確認できました。 どうやら、Word の印刷 (スプール) 処理はウインドウの描画を行っているスレッド内でイベントドリブン的に非同期で行っているっぽくって、Word 自体は Micro

    Word の「印刷」を劇的に速くする方法を発見。ホイールを上下するだけ! - 登 大遊@筑波大学情報学類の SoftEther VPN 日記
  • Error

    Error
  • Amazon.co.jp: コンピュータと認知を理解する: 人工知能の限界と新しい設計理念: テリーウィノグラード (著), フェルナンドフローレス (著), 平賀讓 (翻訳): 本

    Amazon.co.jp: コンピュータと認知を理解する: 人工知能の限界と新しい設計理念: テリーウィノグラード (著), フェルナンドフローレス (著), 平賀讓 (翻訳): 本
  • 初心者のための記号論:目次

    <訳者より> テキストは英国のウエールズ大学のダニエル・チャンドラー博士による記号論への入門書のオンライン版であり、インターネット上で公開されているものです。このオンライン・テキストは評判が良く、1995年公開以来のアクセス回数は56万回(2004年2月時点)にもなっています。 訳者は2002年4月まで35年間、企業の研究所に勤務していたシステム分析が専門の技術者ですが、記号論のの中に、「システム」という言葉がたびたび出てくることから記号論に興味を覚え、インターネット上で調べていたところテキストと出会いました。記号論の主要トピックスをソシュールの記号学および構造主義をベースに、丁寧に説明しており具体的な例も多く観念的でないことから、記号論を勉強してみたいと思っている人、記号論の勉強を始めたがよく分からず挫折した人にとって良い参考書になるのではないかと感じました(残念ながら、日では、

  • 高度プログラミング演習(九州大学全学共通教育科目)の説明資料

    実践プログラミング CとC++プログラミングに関するいくつかの例題と解説. 単なるプログラミングテクニックや文法の解説ではなく, 背後にある考え方の習得(アルゴリズム,データ構造,数学など)を重視して いる. プログラムをじっくり眺めそこから技法を学び取る. 最大値 [HTML] 曜日の計算 [HTML] 平均値,分散 [HTML] 2次方程式の解 [HTML] 最小自乗法 [PPT], [HTML] 待ち行列シミュレーション [PPT], [HTML] アーランの即時式モデル [PPT], [HTML] 行列のLU分解 [PPT], [HTML] ニュートン法による非線型方程式の解 [PPT], [HTML] 数値積分 [PPT], [HTML] 2分探索木 [PPT], [HTML] ヒープソート [PPT], [HTML] クイックソート [PPT], [HTML]

  • A table of Pseudorandom numbers

  • [を] Suffix Array の解説文書のリンク集

    Suffix Array の解説文書のリンク集 2006-04-10-3 [Algorithm] Suffix Array について解説している日語による文書のうち、 Webで閲覧できるもののリンク集。随時更新予定。 - 用語解説: Suffix Array (PDF) via http://nais.to/~yto/tools/sufary/ - Suffix Array の解説 in D論 (PDF) via http://nais.to/~yto/tools/sufary/ - 横着プログラミング 第9回: sary: Suffix Array のライブラリとツール http://0xcc.net/unimag/9/ - Suffix Arrayの簡単な説明 http://sary.sourceforge.net/docs/suffix-array.html

  • http://www2.muroran-it.ac.jp/circle/mpc/program/algorithm/index.html