タグ

algorithmとprogrammingに関するtotottiのブックマーク (9)

  • Genetic Programming: Evolution of Mona Lisa

    Added FAQ here: http://rogeralsing.com/2008/12/09/genetic-programming-mona-lisa-faq/ Added Gallery here: http://rogeralsing.com/2008/12/11/genetic-gallery/ This weekend I decided to play around a bit with genetic programming and put evolution to the test, the test of fine art :-) I created a small program that keeps a string of DNA for polygon rendering. The procedure of the program is quite simpl

    Genetic Programming: Evolution of Mona Lisa
    tototti
    tototti 2012/12/13
    50ポリゴンを遺伝的アルゴリズムで最適化して、モナリザを再現するとどうなるか、という実験。900000世代くらいだと、かなり再現されててすごい。
  • Boidsとは

    Boid(ボイド)とは、1987年にCraig Raynoldsによって発表された理論です。 この理論は、3つのルールを規定するだけで鳥の群れをシミュレーションできるというものです。 ちなみにBoidという名の由来は、鳥もどきという意味の言葉birdoid(バードイド)が短くなりこのように呼ばれるようになりました。 さて、Boidsの3つのルールとは、以下の通りです。 Separationは、近くの鳥や物体に近づきすぎたらぶつからないように離れるルールです。 もし、ボイド同士が近づきすぎてしまったら、前を飛んでいるボイドはスピードを速くし、 後ろを飛んでいるボイドはスピードを遅くするようにします。 障害物、例えば柱とか壁とかに対しては、それにぶつからないように方向転換して衝突を避けるようにします。 Alingmentは、近くの鳥たちと飛ぶスピードや方向を合わせようとするルールです。 すなわ

  • アルゴリズム - 同じ文字列のn回繰り返しをlog n回で作る方法 : 404 Blog Not Found

    2009年01月31日01:00 カテゴリLightweight LanguagesMath アルゴリズム - 同じ文字列のn回繰り返しをlog n回で作る方法 これなのですが.... 同じ文字列のn回繰り返しを作る最速の方法を探求してみた - muddy brown thang ちょっとした事情により、ある文字列のn回繰り返しを作る関数 (PHPでいうところのarray_repeat(), Perlで言うところの「"..." x n」、RubyPythonで言うところの「"..." * n」) を高速に実装しなければならない状況に遭遇したのでベンチマークをとってみたところ、その結果がとても新鮮で驚いたので、これを共有しつつもダメ出ししてもらえないかなーと思って晒してみることに。 なぜかもっとシンプルな奴がなかったので。 以下、比較。初期値はIEにあわせてあります。Firefox/Saf

    アルゴリズム - 同じ文字列のn回繰り返しをlog n回で作る方法 : 404 Blog Not Found
  • 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:プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10

    2007年11月26日18:15 カテゴリMathLightweight Languages プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10 ぎくっ あなたが一番好きなアルゴリズムを教えてください。 また、その理由やどんな点が好きなのかも教えてください。 - 人力検索はてな なぜぎくってしているかというと、実はすでにアルゴリズムの発注を受けているからなのだ。いつまでも伏せておくのもなんなので、ここにえいやっとdiscloseしてしまうことにする。 アルゴリズム大募集! C&R研究所 - トップページ その下書きもかねて、そこでも紹介しないわけに行かないメジャーなアルゴリズムをとりあえず10個紹介しておくことにする。 ユークリッドの互除法(Euclidean algorithm) その昔(数百年ほど前)は「アルゴリズム」といえば、「手順一般」を指すのではなく、この「互除法

    404 Blog Not Found:プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10
  • Part6 C の難関を克服せよ - C/C は永久に不滅です!:ITpro

    どんなプログラミング言語でも,学習を進めていくとどこかに乗り越えないといけない壁が存在するものです。C++ではそれがクラスであることが多いようです。特にC++の場合は,ずぶの初心者ではなく,C言語を一通り使いこなした後でC++に移行してくる人が多いというほかのオブジェクト指向プログラミング言語には無い特徴があります。なまじC言語の知識があるため,オブジェクト指向と手続き型の考え方の違いから,クラスで行き詰まってしまうわけです。 では,どうしてクラスは壁となるのでしょうか。その理由は大きく2点あると思います。一つ目は,C++が登場するまで一般のプログラマにほとんどなじみが無かったオブジェクトという概念を理解しなければならないことです。私が知っている限り,C++が登場したころ,C言語からC++への移行がスムーズにできなかったエンジニアが大勢いました。そうした人の大半は,新しく入ってきたオブジェ

    Part6 C の難関を克服せよ - C/C は永久に不滅です!:ITpro
  • WhiteForest/白ノ森

    画像を拡大縮小するときに使われる補間法はいくつかあります. その中でPhotoshop等で使われている三手法について解説いたします. 補間法として最も単純な方法です. 求めたい位置に最も近い値をそのまま使う手法です. 求めたい座標を(x,y)とすると,その位置の画素値Iは次式で表されます. I(x,y) = f([x + 0.5], [y + 0.5]) Fig - 01 ニアレストネイバーは数式からも分かる通り非常に簡単です. そのため非常に高速に処理をすることができます. しかし,拡大縮小結果では荒くなりジャギーが発生しやすいです. バイリニア補間法では求めたい座標(x,y)の画素値I(x,y)を,周りの4点を使い 次式で表されます. I(x,y) = ([x] + 1 - x)([y] + 1 - y)f([x],[y]) + ([x]  + 1 - x)([

    tototti
    tototti 2006/06/06
    バイリニアとバイキュービック
  • Crazy*Planet:お絵描き-研究室

    CGに関する様々な研究結果を載せてゆく予定です。 JPEG 研究室(原理編1)(99/06/03) JPEG(JFIF) の基礎、YCbCr 色空間やダウンサンプリングについて解説。 JPEG 研究室(原理編2)(99/06/03) DCT(離散コサイン変換)と量子化について解説。 JPEG 研究室(原理編3)(99/06/03) プログレッシブエンコード、JPEG フォーマットとマーカについて解説。 JPEG 研究室(実験編)(99/06/15) 各種ソフトウェアによる JPEG ファイル生成の傾向を実験。 PNG 研究室(原理編)(2000/03/24) PNG の基礎、原理、利点と欠点を GIF と比較しながら紹介。 PNG 研究室(実験編)(2000/03/24) 容量・画質・問題点など、実際に PNG を使ってみた実験の結果。

    tototti
    tototti 2006/04/06
    JPEGのアルゴリズム
  • ツェラーの公式 〜さんすう・数学のQ&A〜

    ● Zellerの公式 ● 「芋」さんよりメールをいただきました。 曜日を求める公式に関するものです。 このホームページで紹介したのは、 1921年にアメリカのPrinceton大学のPhilip Franklin という人が求めたという公式です。 でも、それよりずっと前の1887年に、見つけられていたというお話です。 私が知っているのは、例えばC言語による最新プログラム事典 1 http://www.gihyo.co.jp/books/syoseki.php/4-87408-533-4 初版の第六章時間操作―日付―曜日の項にて記されている …1887年にストックホルムで発表されたツェラー(Zeller)の式と呼ばれる… というものです。他には http://www.nn.iij4u.or.jp/~hsat/column/col01.html に「1887 にゼラー (Zell

    tototti
    tototti 2006/01/12
    曜日を求めるアルゴリズム。
  • 1