タグ

algorithmに関するbleu-bleutのブックマーク (32)

  • 遺伝的アルゴリズムとは (イデンテキアルゴリズムとは) [単語記事] - ニコニコ大百科

    遺伝的アルゴリズム単語 ニコニコ動画で遺伝的アルゴリズムの動画を見に行く イデンテキアルゴリズム 4.2千文字の記事 29 0pt ほめる 掲示板へ 記事編集 概要分かりやすい例具体的にやってみよう利点と欠点遺伝的アルゴリズムが深く関わる諸作品関連動画関連商品関連項目掲示板遺伝的アルゴリズムとは、生物群が環境へ適応するときの遺伝学的変化の諸概念(染色体の交叉・突然変異・自然淘汰)を問題解決方法に見立ててその解を探る手法である。英語ではGenetic Algorithm(略語でGA)。 概要 問題の解の候補を生物の各個体の遺伝子に見立て、ランダムに生成した各個体の遺伝子を交換や突然変異により解にふさわしい遺伝子を持つ個体を生み出すように処理を進めていく。各個体が環境にどの程度適応しているかを算出し、遺伝子の適応度が高い個体は子孫を残しやすく、適応度が低い個体は子孫を残しにくくすることから遺伝

    遺伝的アルゴリズムとは (イデンテキアルゴリズムとは) [単語記事] - ニコニコ大百科
    bleu-bleut
    bleu-bleut 2013/07/22
    遺伝的アルゴリズム
  • 遺伝的アルゴリズムとは

    遺伝的アルゴリズムとは 遺伝的アルゴリズム(GA)とは自然淘汰により最適な遺伝子が残ってきたようにシステムの中で自然淘汰のシュミレーションを行い最適解を求めようというものです。似たような言葉に遺伝的プログラミング(GP)がありますが自然淘汰をシュミレーションするという意味では同じですが処理も適用業務も異なるので注意が必要です。 遺伝的アルゴリズムの基フロー 遺伝的アルゴリズムの簡単なフローは次の通りです。 巡回サラリーマン問題を例に遺伝的アルゴリズムを説明すると あまり良い例ではないかもしれませんが巡回サラリーマン問題を例にして上のフローを適用してみます。 巡回サラリーマン問題とは例えば次の5都市をサラリーマンが巡回する最小ルートを求めよという簡単な問題です。 答えは実は簡単で次のように都市A-B-C-D-Eの順番で巡回すれば良いことになります。 これをプログラミングで解決しようとすると

    bleu-bleut
    bleu-bleut 2013/07/22
    遺伝的アルゴリズム
  • Site Under Maintenance

    We'll be back soon! Our site is currently undergoing maintenance. Please check back later.

    Site Under Maintenance
    bleu-bleut
    bleu-bleut 2013/06/26
    遺伝的アルゴリズム
  • チューリングマシン

    アラン・チューリング (Alan M. Turing)(1912~1954) はイギリスの数学者で、 チューリングマシンは1936年に発表された彼の論文、 「計算可能数についての決定問題への応用」 の中で、計算を数学的にモデル化するために提唱された仮想の計算機です。 チューリングマシンは無限に長いテープと、 テープに書かれている記号を読みとって内部の状態を変える自動機械 (オートマトン) からなっています。 このページではこれをヘッドと呼び、下図のようなイメージで表すことにします。 ヘッドはその内部状態と読みとった記号 (入力) に応じて、 次にテープに書くべき記号を出力し、右か左にひとつ移動して内部状態を変えます。 これを停止するまで繰り返し実行します。 いま、ある数値をひとつだけ大きくする、つまり 1 を加えるという 「計算」 を考えてみます。 (これをインクリメント (increme

  • 「Googleチューリングマシン」のコード公開

  • PHPでsleep sort

    コロンブスの卵的なソートアルゴリズム「sleep sort」をPHPで実装してみました。 via . 常識を覆すソートアルゴリズム!その名も”sleep sort”! – Islands in the byte stream fork使うので、pcntlを有効にします。 sudo port install php5-pcntl さくっと実装。 実行 % php sleepsort.php % 12345678910 トラックバック:2 このエントリーのトラックバックURL /blog/2011/05/sleep_sort_php.html/trackback Listed below are links to weblogs that reference PHPでsleep sort from Shin x blog pingback from Sleep sortの各言語での実装まとめ

  • 重み付きランダム - eiji8pou's diary

    重み付きランダムについて。 たとえば、サイコロを用意する。Aと書いてある面が3つ、Bと書いてある面が2つ、Cと書いてある面が1つあるとする。 これを振ると、AとBとCの出る確率を比率で表すと、3:2:1になる。 こういう結果に偏りのあるサイコロをプログラムで書くと非常に面倒である。 そこで、簡単になるアルゴリズムを使う。 アルゴリズム 先のサイコロの例であげると、こういうマトリクスを用意する。 1 2 3 1 A A A 2 B B r 3 C r r このマトリクスで、横軸と縦軸につき乱数を発生させる。 横軸は、1から比率の最大値までの乱数であり、縦軸は、結果の項目数の乱数である。 この二つの乱数の交点がrであれば、最初に戻って振りなおしである。 そうでなければ、そこに書いてある文字を結果として採用、返せばよいことになる。 luaによる例 function weighted_choice

    重み付きランダム - eiji8pou's diary
    bleu-bleut
    bleu-bleut 2012/01/26
    重み付きランダム
  • javascriptでランダム広告

    ◆12/08 Trouble of "…2013:12:08:16:09:54 ◆11/04 サンデーフラ…2013:11:04:18:47:19 ◆09/26 塗料はがし剤2009:09:26:10:46:20 ◆09/12 6角棒レンチ …2009:09:12:12:27:36 ◆09/10 Lost Model a…2009:09:10:23:22:27 ◆09/06 Rod end trim…2009:09:06:13:30:01 ◆09/05 Wholesale 6X…2009:09:05:23:49:23 ◆09/05 450 Metal Ta…2009:09:05:00:03:49 ◆08/31 Main Drive G…2009:08:31:22:03:28 ◆08/27 T-REX450 Tai…2009:08:27:23:00:00 ◆05/16 浮気2009:05:1

    javascriptでランダム広告
    bleu-bleut
    bleu-bleut 2012/01/26
    重み付きランダム
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 竹内関数で音楽生成 - aike’s blog

    Lisperの人ならみんな知ってる竹内関数(たらいまわし関数)という関数があります。 定義としてはこんな感じ。 そのシンプルな定義からは想像もつかないほど複雑で膨大な再帰呼び出しがおこなわれるとても興味深い関数です。たとえば引数にTarai(10,5,0)を与えると343,073回も再帰呼び出しされたりします。 この関数呼び出しの引数がどのように変化するか知りたくてプログラムを書いて調べてみたところ、Tarai(10,5,0)の場合は3つの引数がそれぞれ0〜10(xは-1〜10)の間で少しずつ変化するなかで、2つの値を固定してひとつの値が下降していくような挙動があったりして、なんだか音楽の3和音のコード進行を思わせるような動き方です。 そういうことなら、ということで実際に音にして聴いてみました。Tarai関数が呼ばれるたびに引数のx、y、zを、0=ミ、1=ファ、2=ソ、……、のように音に割

    竹内関数で音楽生成 - aike’s blog
  • javascript - シャッフルシャッフル : 404 Blog Not Found

    2006年08月30日18:30 カテゴリLightweight Languages javascript - シャッフルシャッフル なるほど。Schwartzian Transformの意外な利用法だなあ。 snippets from shinichitomita’s journal - JavaScriptの配列をsort関数でシャッフルする Array.prototype.shuffle = function() { return this.map(function(a){ return { weight: Math.random(), value: a } }) .sort(function(a, b){ return a.weight - b.weight }) .map(function(a){ return a.value }); } でも、実践ではどうだろう。調べてみた。

    javascript - シャッフルシャッフル : 404 Blog Not Found
    bleu-bleut
    bleu-bleut 2011/09/16
    カードシャッフル
  • 最速インターフェース研究会 :: 実践JavaScriptで配列をシャッフルする方法リファクタリング

    JavaScriptで配列をシャッフルする話を見て、そういえばArray#shuffleは以前書いた記憶があるなーと思って調べてみたらコピペだった。 http://www.fumiononaka.com/TechNotes/Flash/FN0212002.html Fisher-Yatesというアルゴリズムだそうです。 Array.prototype.shuffle = function() { var i = this.length; while(i){ var j = Math.floor(Math.random()*i); var t = this[--i]; this[i] = this[j]; this[j] = t; } return this; } a = [1,2,3,4,5]; a.shuffle() // 3,1,5,2,4 a // 3,1,5,2,4 ごく普通に実装

    bleu-bleut
    bleu-bleut 2011/09/16
    シャッフル