タグ

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

  • HAKMEM -- CONTENTS -- DRAFT, NOT YET PROOFED

    Massachusetts Institute of Technology A. I. Laboratory Artificial Intelligence Memo No. 239 February 29, 1972 contents index M. Beeler [beeler@bbn.com] R. W. Gosper [rwg@newton.macsyma.com] R. Schroeppel [rcs@cs.arizona.edu] [Retyped and formatted in 'html' ('Web browser format) by Henry Baker, April, 1995. The goal of this 'html' document is to make HAKMEM available to the widest possible audienc

  • マルコフ連鎖生成曲 - ならば

    マルコフ連鎖を使って作曲する試み。 文章にしろ曲にしろ、マルコフ連鎖を使って何かを生成する場合、マルコフ連鎖自体、つまり状態と遷移確率行列に相当するデータを準備する必要がある。このデータが最終的な出力の質のかなりの部分を左右する。このデータを準備すれば、生成の部分は特に凝ったことをしない限り、サイコロを転がす程度のことで済む。 実際にある文章や曲を元にデータを作ろうと思うと、状態の切り出しが難しい場合がある。英語の文章の場合は、最初から単語で分かち書きされているから楽だ。日語の文章の場合は、形態素を状態とすると、状態の切り出しはMeCabなどの形態素解析プログラムに任せることができる。曲の場合は、多分今のところ簡単で汎用的な方法はない。格的に研究するなら用意した曲の音響分析をしたりするのかもしれないけど、音響分析なんて全然知らないし、今回は実際にある曲を元にデータを作るつもりでも気軽に

    マルコフ連鎖生成曲 - ならば
  • ラングトンのアリ - Wikipedia

    11000ステップ経ったラングトンのアリ。赤い点のところにアリがいる。 ラングトンのアリ(英: Langton's ant)は、クリストファー・ラングトンが発明した単純な規則で記述される2次元チューリングマシンである。 ラングトンのアリが200ステップ移動するまでのアニメーション 平面が格子状に構成され、各マスが白または黒で塗られる。ここで、1つのマスを「アリ」とする。アリは各ステップで前後左右のいずれかのマスに移動することができる。アリは以下の規則に従って移動する。 白いマスにアリがいた場合、90°右に方向転換し、そのマスの色を反転させ、1マス前進する。 黒いマスにアリがいた場合、90°左に方向転換し、そのマスの色を反転させ、1マス前進する。 この単純な規則で驚くほど複雑な動作をする。当初でたらめな動作をしているが、アリはいずれ例外なく10000歩ほどうろついた後に真っ直ぐな「道」を作る

    ラングトンのアリ - Wikipedia
    j0hn
    j0hn 2009/07/09
    via nishioさんのtwitter
  • Art gallery problem - Wikipedia

    j0hn
    j0hn 2009/06/16
    美術館定理 / Václav Chvátal ハシュク・ホワタル?
  • MonaTweeta II

    MonaTweeta II Preliminary result of a little competition between me and Ralph Hauwert (who had the initial idea) with the goal to write an image encoder/decoder that allows to send an image in a tweet. The image on the left is what I currently manage to send in 140 characters via twitter. This is the tweet for the image: 圑嘌婂搒孵怤實恄幖戰怴搝愩娻屗奊唀唭嚟帧啜徠山峔巰喜圂嗊埯廇嗕患嚵幇墥彫壛嶂壋悟声喿墰廚埽崙嫖嘵奰恛嬂啷婕媸姴嚥娐嗪嫤圣峈嬻尤囮愰啴屽嶍屽嶰寂喿嶐唥帑尸庠

    MonaTweeta II
    j0hn
    j0hn 2009/05/21
    画像をtweet
  • 編集距離 (Levenshtein Distance) - naoyaのはてなダイアリー

    昨日 最長共通部分列問題 (LCS) について触れました。ついでなので編集距離のアルゴリズムについても整理してみます。 編集距離 (レーベンシュタイン距離, Levenshtein Distance) は二つの文字列の類似度 (異なり具合) を定量化するための数値です。文字の挿入/削除/置換で一方を他方に変形するための最小手順回数を数えたものが編集距離です。 例えば 伊藤直哉と伊藤直也 … 編集距離 1 伊藤直と伊藤直也 … 編集距離 1 佐藤直哉と伊藤直也 … 編集距離 2 佐藤B作と伊藤直也 … 編集距離 3 という具合です。 編集距離はスペルミスを修正するプログラムや、近似文字列照合 (検索対象の文書から入力文字にある程度近い部分文字列を探し出す全文検索) などで利用されます。 編集距離算出は動的計画法 (Dynamic Programming, DP) で計算することができることが

    編集距離 (Levenshtein Distance) - naoyaのはてなダイアリー
    j0hn
    j0hn 2009/03/30
    PHPラブな人が levenshtein関数の自慢をブコメでしてるかな、と思ってみに来たがそんなことしてるひとはいなかった……
  • Sierpinski Valentine

    A webcomic of romance, sarcasm, math, and language. Special 10th anniversary edition of WHAT IF?—revised and annotated with brand-new illustrations and answers to important questions you never thought to ask—out now. Order it here!

    Sierpinski Valentine
    j0hn
    j0hn 2009/02/14
    ハッピー・バレンタインの日、フラクタル
  • How Not To Sort By Average Rating

    By Evan Miller February 6, 2009 (Changes) Translations: Dutch  Estonian  German  Russian  Ukrainian PROBLEM: You are a web programmer. You have users. Your users rate stuff on your site. You want to put the highest-rated stuff at the top and lowest-rated at the bottom. You need some sort of “score” to sort by. WRONG SOLUTION #1: Score = (Positive ratings) − (Negative ratings) Why it is wrong: Supp

    How Not To Sort By Average Rating
    j0hn
    j0hn 2009/02/13
    えっ??→ CORRECT SOLUTION
  • 黄金比

    縦と横の比率が最も均斉のとれた長方形を想像してみて下さい。それは人によって様々かもしれませんが,黄金比と 呼ばれる比が最も美しいと言われています。ところで,どうしてその比率がバランスよく見えるのでしょうか。もしかしたら,その中に何か神秘的な規則が内在しているのではないでしょうか。 ここでは,それに関連するいくつかの話題を展示します。お楽しみ下さい。 1 黄金比とはなにか 歴史上,黄金比を数学の話題として初めて意識したのは,ユークリッドとされています。彼は 次のような幾何学の問題として捉えていました。 では次に,この比率を持つ長方形を作図してみましょう。 まず,1辺の長さがaの正方形ABCDを作図します。次に,辺BCの中点Mを作図し, そこからDまでの距離をとり,Mを中心に半径DMの円を描きます。 辺BCの延長線との交点をEとし,長方形ABEFを描くと,それが黄金比を持つ長方形になります。

    j0hn
    j0hn 2009/01/30
    via @toriaezu さん / 「さて最後に,黄金比を持つ長方形による極めつけの芸術(?)をお目にかけましょう」
  • Think Labyrinth: Maze Algorithms

    Mazes in general (and hence algorithms to create Mazes) can be organized along seven different classifications. These are: Dimension, Hyperdimension, Topology, Tessellation, Routing, Texture, and Focus. A Maze can take one item from each of the classes in any combination. Dimension: The dimension class is basically how many dimensions in space the Maze covers. Types are: 2D: Most Mazes, either on

    j0hn
    j0hn 2008/11/14
    迷路の分類(立体とか) 迷路生成アルゴリズム一覧、迷路出口探索アルゴリズム一覧
  • Programming Collective Intelligence - Slashdot

    Among the chief ideological mandates of the Church of Web 2.0 is that users need not click around to locate information when that information can be brought to the users. This is achieved by leveraging 'collective intelligence,' that is, in terms of recommendations systems, by computationally analyzing statistical patterns of past users to make as-accurate-as-possible guesses about the desires of

    j0hn
    j0hn 2008/04/18
    オライリー本書評
  • [ruby-list:44827] 計算するハッシュ

    Subject: [ruby-list:44827] 計算するハッシュ From: "5.5" <5.5@ j g j Date: Mon, 14 Apr 2008 23:27:45 +0900 5.5 です。こんなこと考えました。 Ruby の Hash#new でブロックを与えるのは, Hash.new{|hash, key| hash[key]=[]} のように,「デフォルト値を設定したいけど,同一オブジェクトでは困る」 という場合が多いと思います。 しかし,ブロックをもっと積極的に使えば,たとえば以下のように i 番目 の素数を返すハッシュを定義することができます。 PRIME_NUMBERS=Hash.new do |hash, index| if index<3 hash.update({1=>2, 2=>3}) hash[index] else i_max=hash.size

  • Fractal landscape - Wikipedia

    Use of triangular fractals to create a mountainous terrain. A fractal landscape or fractal surface is generated using a stochastic algorithm designed to produce fractal behavior that mimics the appearance of natural terrain. In other words, the surface resulting from the procedure is not a deterministic, but rather a random surface that exhibits fractal behavior.[1] Many natural phenomena exhibit

    Fractal landscape - Wikipedia
  • memolog » Blog Archive » javascriptでSVM

  • [を] 転置インデックスによる検索システムを作ってみよう!

    転置インデックスによる検索システムを作ってみよう! 2007-11-26-5 [Algorithm][Programming] 転置インデックス[2007-06-17-6]による検索システムの実装は パフォーマンスを無視すれば意外と簡単です。 それを示すために Perl で簡単な検索システムを作ってみました。 検索方式は転置インデックス(Inverted Index)、 ランキングには TF-IDF[2005-10-12-1] を用いました。 検索対象ファイルは一行一記事で以下のフォーマットとします。 [記事ID][SPC][記事内容]\n 記事IDは数字、記事内容は UTF-8 の文字で構成されるものとします。 以下のようなサンプル test.txt を用意しました。 1 これはペンです 2 最近はどうですか? 3 ペンギン大好き 4 こんにちは。いかがおすごしですか? 5 ここ最近疲れ

    [を] 転置インデックスによる検索システムを作ってみよう!
  • あなたが一番好きなアルゴリズムを教えてください。 また、その理由やどんな点が好きなのかも教えてください。 - 人力検索はてな

    あなたが一番好きなアルゴリズムを教えてください。 また、その理由やどんな点が好きなのかも教えてください。

  • Free Hosting - Domain Does Not Exist

    The web hosting account you're trying to reach no longer exists Want This Domain? This domain is currently available for registration with a FREE HOSTING account. Just click the button below to get started, it takes less than 5 minutes to register and be online.

  • The Rules of the Swarm - Slashdot

  • JavaScriptでジュリア集合を描画:Geekなぺーじ

    幅 : , 高さ : ジュリア集合解説 このスクリプトは、以下の数式を実行して色をつけていったものです。 この数式のzとAは実数部と虚数部を持つ複素数です。 Aは定数です。 平面上の各z_0に対して、この計算を繰り返し行っていきます。 この計算を行った結果が特定の値を超えた場合、その計算が発散したとします。 そして、発散するまでにかかった回数で平面上に色をつけていきます。 規定の回数まで行っても発散しない場合は、発散しなかったとして色を塗りません。 (ただし、今回のプログラムでは黒を塗っています。) 実数部の開始位置と終了位置を調整すると、画像全体のズーム率を調整できます。 定数Aの値を変更していくと、模様が変わります。 色々試して見てください。 何を入れていいのか解らない場合などには、以下の値などがお勧めです。 実数 -0.5 ~ 0.5、虚数 -0.5 ~ 0.5、A実数 -0.2、A

  • The Buddhabrot fractal rendering method

    This page has moved to here.