タグ

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

  • DO : Bep: 最小完全ハッシュ関数を用いた連想配列

    Bepという連想配列のライブラリを公開しました。BSDライセンスです. キーは文字列限定で,前もって大量のキーと値のペアが前もって分かっている場合(1千万個とか)、使ってもらえるよう最適化しています。(一応、アドホックな方法で一個ずつキーを登録する方法もサポートしています) 特徴は内部に最小完全ハッシュ関数を利用しており少ない作業領域量でありながらそこそこ高速に動くところです.今のところ1千万キーぐらいで動作するのは確認しています.1キーあたり必要な作業領域量は大体3bit + キー自体の長さになります. 最小完全ハッシュ関数の構築自体も面白い問題です.最小完全ハッシュ関数はキー同士が衝突せず、さらにキーの数がn個のときハッシュ値は[0...n-1]が返されるもので、ぎっしり詰まった連番が返されると思ってもよいです。この実現には以下の論文での手法を使いました.3-ハイパーグラフの頂点割り当

    DO : Bep: 最小完全ハッシュ関数を用いた連想配列
  • http://ranau.cs.ui.ac.id/book/AlgDesignManual/BOOK/BOOK/BOOK.HTM

  • Anti-Aliased Line Drawing

    First, let's start with an example to show why we want to use anti-aliased lines. The lines on the left are drawn with something like Bresenham's line algorithm. The lines on the right are drawn with an extended form of Bresenham's which anti-aliases. They are shown both at normal size and 4x zoom. Which do you think looks better? For MP4, you need to implement the one on the right. This tape

  • 離散した点を補間してグラフを描画する方法:CodeZine

    はじめに 実験結果をグラフに表示する時、測定点をプロットしてから、その間を自在定規などで結んだ経験があると思います。ここでは、これを自動的に行うプログラムを紹介します。このような作業は「補間」(Interpolation)と呼ばれますが、「補間」には色々な方式がありますので、これらを比較できるようにしました。 完成版アプレットを見る 対象読者 Lagrange、Newton、Splineなどの補間方式に興味を持ち、実験結果をまとめるのに、自分で作ったプログラムを応用したい人。また、CGの基礎としての補間の原理を学びたい人。 必要な環境 J2SE 5.0を使っていますが、それより古いバージョンでも大丈夫です。 補間とは 「狭義の補間」は、二点のデータを正確なものと仮定し、その中間点のデータを推測することで、「内挿」とも言います。これは、デジカメなどの画像処理で用いられます。一方

  • Ruby実用例 〜スプライン補間〜 - [物理のかぎしっぽ]

    飛び飛びの点を滑らかにつなぐ「3次スプライン補完」という方法があります.ここでは非周期関数用のスプライン補完を取り上げます. コード † ↑ spline.rb † class Spline # 初期化.3次スプライン補間曲線を求める def initialize(x, y) @x = x @y = y @z = [] n = @x.length h = [] d = [] @z[0] = @z[n-1] = 0 for i in 0...n-1 h[i ] = @x[i+1] - @x[i] d[i+1] = (@y[i+1] - @y[i]) / h[i] end @z[1] = d[2] - d[1] - h[0] * @z[0] d[1] = 2 * (@x[2] - @x[0]) for i in 1...n-2 t = h[i] / d[i] @z[i+1] = d[i+2]

  • ベジエ曲線の仕組み (1) - 昔話 - てっく煮ブログ

    asドローソフトなどでもお世話になることが多いベジエ曲線について解説していくシリーズ。小学生のころ、BASIC でのサンプルを入力して遊んでいたのですが、あまりのきれいさに衝撃を受けたプログラムがありました。それはこんな絵を出力するプログラムでした。左上と左下の点をそれぞれの x 座標、y 座標を少しずつ増やしながら、直線を引いています。いくつもの四角形が端に行くにしたがって変形していくところが、いかにも近未来風の CG に見えました(当時は)。しかも、この絵は直線だけで構成されているのに、カーブして見えるところが不思議でなりませんでした。さて、15年のときを経て、このプログラムを ActionScript で実装してみました。点をドラッグして曲線の変化を楽しんでみてください。前置きが長くなりましたが、実はこのカーブして見える曲線の部分は2次ベジエ曲線になっています。3つの黒い点がベジエ

  • inforno :: Javascriptでパーサジェネレータを書いてみた

    ちょっと前にjavascriptで構文解析とかがはやった気がするので、javascriptのリハビリがてらかいてみた。 ググってみると Jsparsec - JavaScriptパーザコンビネータライブラリ HaskellのMonadをJavaScriptで実装するとしたら あたりがあるのだが、まぁ勉強ということで。javascriptらしく書いてみようかと。 ということで、モナドがどーたらとか難しい話はまぁおいておいて、簡単に値がとりだせますよ、という見栄え重視で作ってみた。基的な機能しかない。けど拡張するのは簡単。せめて相互再帰くらいは実装したほうがよかったかな。まぁ、こんなの真剣に使う人もいないと思うので、要望があればってことで。ちなみに依存するライブラリはありません。 ダウンロード : Inforno.Parsec たとえばこんな感じにCSVのパーサが定義できる。withを使って

  • lucille development blog » Blog Archive » Xorshift RNGs

    This domain may be for sale!

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • situs informasi perjudian online

    situs informasi perjudian online informasi perjudian online yang memberikan rifrensi atau wawasan dalam bermain The term 여성알바 구인구직 shiftwork applies to any timetable that falls beyond the long periods of 7:00 a.m. to 6:00 p.m. As per the U.S. Department of Work Measurements, around 16% of salaried and blue collar laborers are on a shift plan. While certain representatives like pulling all nighters

  • http://docs.sun.com/source/806-3568/ncg_goldberg.html?repost

  • 矢沢久雄の情報工学“再”入門

    ITエンジニアの皆さんなら,一度は「情報工学」を学んだことがあるかもしれない。しかし,その知識をしっかり身に付けている人は少ないのではないだろうか。連載では,プロフェッショナルの必須知識と言える情報工学の様々な理論について解説していく。 第1回 アルゴリズムと計算量---「計算量理論」を理解し,アルゴリズムを評価する 第2回 形式言語とオートマトン---「文」のルールを知り,機械に解釈させる 第3回 符号化理論---あらゆる情報を数値で扱う「符号化」理論を知る 第4回 ブール代数---論理を「1」と「0」で表す「ブール代数」を理解する 第5回 グラフ理論---要素同士のつながり方を「点」と「辺」で分析する 第6回 オペレーションズ・リサーチ(OR)---数学モデルを駆使して,経営戦略を立案する 第7回 集合論---数学の「集合論」にRDBの正体を見る 第8回 RDBの正規化理論---から

    矢沢久雄の情報工学“再”入門
  • 檜山正幸のキマイラ飼育記 - 圏論やモナドが、どうして文書処理やXMLと関係するのですか?

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

    檜山正幸のキマイラ飼育記 - 圏論やモナドが、どうして文書処理やXMLと関係するのですか?
  • CGファイル概説 目次

    最終更新日:2001年5月1日 第1章へ webmaster@snap-tck.com Copyleft (C) 2000 SNAP(Sugimoto Norio Art Production)

  • 需要と供給のバランスというできの悪いジョーク - 酔狂人の異説(新館)

    詭弁に聞こえるかも知れないが、「オープンソースがわからない」のは、オープンソースが悪いのではなく、我々が「責任の代価にいくら支払えばいいのか」わかっていないことの証しなのだ。「需要と供給のバランス」で決まるという経済学の決まり文句が冗句にしか見えないほど、この件に関しては我々は知らない。 いや、需要と供給のバランスで決まるというのはある意味ジョークにすぎないのだから、ジョークに見えるのは当然である。王様が裸に見えるのは、服を着ていないのだから当然である。 需要と供給のバランス論から抜け落ちている待ち時間 供給能力が需要を充分に上回っていないと待ち時間が長大になって破綻する。だが、そのことはあまり認識されていないようである。医療問題がよく取り上げられる「新小児科医のつぶやき」に医療の需給問題を扱った「15人のユダ書をもう一度考える」や「画期的な発言」といったエントリがあるが、これらにも待ち行

    需要と供給のバランスというできの悪いジョーク - 酔狂人の異説(新館)
  • Handy Mathematics Facts for Graphics

    Eric Weisstein's world of Mathematics (which used to be called Eric's Treasure Trove of Mathematics) is an extremely comprehensive collection of math facts and definitions. Eric has other encyclopedias at www.treasure-troves.com S.O.S. Mathematics has a variety of algebra, trigonometry, calculus, and differential equations tutorial pages. Dave Eberly has a web site called Magic Software with sever

  • バルス! - www.textfile.org

    ふと思ったこと。ラピュタはバルス!で壊れたが、インターネットもバルス!で壊れるのかもしれない。 追記: 符号化理論的によろしくないというコメントで思ったんですが、たとえ短い言葉であっても、愛し合う二人が手を合わせ心を一つにして言うことの困難さがあるから脆弱ではないんですよ、きっと(←何を言っているのか。そもそも愛し合う云々は破壊と関係ないし)。

    バルス! - www.textfile.org
  • GitHub - google/diff-match-patch: Diff Match Patch is a high-performance library in multiple languages that manipulates plain text.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - google/diff-match-patch: Diff Match Patch is a high-performance library in multiple languages that manipulates plain text.
  • http://www.city5.org/AlligatorEggs.html

  • 第8回 倉庫番を解くアルゴリズム - 地球にやさしいアルゴリズム:ITpro

    「倉庫番」*1というゲームをご存じでしょうか。図1のように盤面にはいくつかの「荷物」とそれを運ぶ「人」がいます。人は1個の荷物を押して運ぶことができます。荷物を引っ張ったり,二つ並んだ荷物を同時に押して運ぶことはできません。人と荷物は縦横4方向に動けますが,壁のある位置には進めません。人を使って盤面上の荷物を動かし,すべての荷物を目的地(ゴール)に収めることができればゲーム・クリアとなります。図1の問題を解くための手順を示すアルゴリズムを作ってください。 友人たちと車でスキーに行くとき,いつも困るのは「トランクへ荷物を詰め込む順番」です。大きなスキーやかさばるスキーウエアを詰め込んでいるうえ,人によってはゲーム機やを持ってきたりするので,各自の荷物の量がまったく違うのです。狭い車のトランクには,これら荷物をうまい順番で入れていかないとなかなか全部収まりません。寒い冬の夜中にごそごそと詰

    第8回 倉庫番を解くアルゴリズム - 地球にやさしいアルゴリズム:ITpro