タグ

関連タグで絞り込む (166)

タグの絞り込みを解除

アルゴリズムに関するiwwのブックマーク (255)

  • Katz's Site - 算譜入門: オートマトンの基礎

    以上のような図や表によって象徴される、 状態とその間の遷移が定義された構造を 「状態機械」 と呼ぶ。 各々の状態の意味は考えない。 全く考えないのかといえばそうでもないのだが、 少なくとも理論上は状態として何を持ってきても構わない。 健康状態のように明らかな意味を持つモノを状態とする事もある。 何が何だかさっぱりわからないモノを状態とする事もある。 スゴロクの桝目のようなモノは後者の例と言えよう。 問題を解く為に最も便利なモノを状態として定義すればよい。 少し変わった状態機械の使用例: 虎と羊を連れた人が野菜を運んでいた。 ある所で川を渡る必要が生じた。 舟が一艘あったがとても小さい。 その人が乗るとあとは虎か羊か野菜の内のいずれか一つしか乗せられない。 しかし人が居ない所で虎と羊を一緒にすると虎は羊をべてしまう。 同様に人が居ないと羊は野菜をべてしま

  • 古くて新しい自動迷路生成アルゴリズム - やねうらおブログ(移転しました)

    最近、ゲーム界隈ではプロシージャルテクスチャー生成だとか、プロシージャルマップ生成だとか、手続き的にゲーム上で必要なデータを生成してしまおうというのが流行りであるが、その起源はどこにあるのだろうか。 メガデモでは初期のころから少ないデータでなるべくど派手な演出をするためにプロシージャルな生成は活用されてきたが、ゲームの世界でプロシージャル生成が初めて導入されたのは、もしかするとドルアーガの塔(1984年/ナムコ)の迷路の自動生成かも知れない。 なぜ私が迷路のことを突然思い出したのかと言うと、最近、Twitterで「30年前、父が7年と数ヶ月の歳月をかけて描いたA1サイズの迷路を、誰かゴールさせませんか。」というツイートが話題になっていたからである。 この迷路を見て「ああ、俺様も迷路のことを書かねば!俺様しか知らない(?)自動迷路生成のことを後世に書き残さねば!」と誰も求めちゃいない使命感が

    古くて新しい自動迷路生成アルゴリズム - やねうらおブログ(移転しました)
    iww
    iww 2013/01/25
    迷路の作り方はペンゴで学んだ
  • 「入門 機械学習」を献本していただきました - EchizenBlog-Zwei

    「入門機械学習」を献していただきました。ありがとうございました。 というわけで早速読み終わったので感想を書いておく。 機械学習の入門書ではない 書はタイトルから連想されるような機械学習に入門するような内容は書かれていない。一切数式は登場せずアルゴリズムはすべてブラックボックス化されている。では書はダメななのかというとそんなことは全くない。少なくとも「入門 機械学習」というタイトルに興味をもって書を手にとった人にとっては大変有益なだと思う。 大きなデータを扱って何かしたい人が最初に読むべき 繰り返すが書は機械学習の仕組みについては書いていない。仕組みはブラックボックスとして割り切ることで従来の機械学習の入門書が触れていない部分を非常に大きく扱っている。それは何かというと「汚いデータからどうやって機械学習の入力データを作るか」「機械学習の手法をどのように選択するか」「機械学習

    「入門 機械学習」を献本していただきました - EchizenBlog-Zwei
    iww
    iww 2013/01/22
    『従来の機械学習の教科書が0から1に進むための本だとするなら本書はマイナスから0に到達するための本だといえる。』
  • 竹内関数で音楽生成 - 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
  • 囚人のジレンマの新しい戦略 | 大栗博司のブログ

    会議のためにアムステルダムに来ています。昨日は早朝に到着して、市内のホテルにチェックイン。昨晩から雪が降っていたようです。一息ついてからアムステルダム大学にセミナーに行きました。 機内では、忙しくて読む暇がなかった論文を読みました。私の専門分野の論文のほかに、ひとつ読んだのがフリーマン・ダイソンさんとウィリアム・プレスさんのかかれた「囚人のジレンマ」の新しい戦略です。⇒ 米国科学アカデミー紀要 ダイソンさんは、1940年代の終わりに、ファインマンが開発したくりこみの方法が朝永やシュビンガーの方法と同じであることを示したことで有名です。今年で89歳。プレスさんは、天体物理学者でしたが、最近は生物学の研究もなさってます。 囚人のジレンマはゲーム理論の典型的な模型で、協調したほうが全体に有利なのに、個人の利益を追求することで不利な状態が安定してしまうことを示す例になっています。 たとえば、何かの

    囚人のジレンマの新しい戦略 | 大栗博司のブログ
    iww
    iww 2012/12/10
    両方同じロジックを使ったらどうなるんだろうか
  • あなたの知らないハッシュテーブルの世界

    Please select the category that most closely reflects your concern about the presentation, so that we can review it and determine whether it violates our Terms of Use or isn't appropriate for all viewers.

  • クラスタリングの定番アルゴリズム「K-means法」をビジュアライズしてみた

    集合知プログラミング を読んでいたら、K-means 法(K平均法)の説明が出てきました。 K-means 法はクラスタリングを行うための定番のアルゴリズムらしいです。存在は知っていたんだけどいまいちピンときていなかったので、動作を理解するためにサンプルを作ってみました。 クリックすると1ステップずつ動かすことができます。クラスタの数や点の数を変更して、Restart を押すと好きなパラメータで試すことができます。 こうやって1ステップずつ確認しながら動かしてみると、意外に単純な仕組みなのが実感できました。 (追記) HTML5 版の K-means 法を D3.js でビジュアライズしてみた も作成しました。Flash を表示できない環境ではそちらをご覧ください。 K-means 法とは K平均法 - Wikipedia に詳しく書いてあるけど、もうすこしザックリと書くとこんなイメージに

    クラスタリングの定番アルゴリズム「K-means法」をビジュアライズしてみた
  • へ、変態っ!!読めないからやめてっ!bit使ったデータ構造・アルゴリズム実装集 - Negative/Positive Thinking

    この記事はCompetitive Programming Advent Calendar Div2012の2日目の記事です。 12月20日追記: Darseinさんが20日目の記事で、ビット演算についての詳しい説明を紹介してくださっています!必読ですね!!!!:) はじめに Y^´       ∨// /,∠ ,. ' /l/// /, ' , '/ ! | l }´     〈 〉    変  〈/ , ' // ̄`>< /// /// _,.=‐|'"´l l〈  変  / 〈    態.   ∨, '/l|   ,.'-‐、`//`7/  /''"´__ | ハ l丿  態   { 人)   ! !   (/!  |ヽ〈_ ・.ノ〃  〃 /  '/⌒ヾ.! ,' !く   ! !  (_ ト、__/   ヽ、_,.イ    /l l |:::::::```/:::::/...´..

    へ、変態っ!!読めないからやめてっ!bit使ったデータ構造・アルゴリズム実装集 - Negative/Positive Thinking
  • 汎用ソート殺し - d.y.d.

    00:26 12/12/18 BookLive! 7月に出会ってからずっと電子書籍ストアとして BookLive! をひいきにしているのですが、一体どこが好きなのか語りたくなりました。 ITMedia の これでもう迷わない、電子書店完全ガイド という一連の記事の、 電子書籍の端末の話よりストアの話をしましょうよというコンセプトに思いっきり影響されています。 といっても、第一印象が「普通のことが普通にできるので感激した!!」というもので、 つまり今年の前半に使っていた幾つかの電子書籍ストア/専用アプリが残念だっただけかもしれません。 買ったがどこをクリックすれば読めるのか理解するのに10分かかった、とか、 6冊以上買うと棚アプリから画面外にがはみ出るので手でいちいち棚を変えて整理しないと読めない、とか。 当に普通に使えるという以上に特筆することもないんですが、 あ、でも、今年になる

  • jQuery.Deferredを使って楽しい非同期生活を送る方法 - Qiita

    続編も書きました : 結局jQuery.Deferredの何が嬉しいのか分からない、という人向けの小話 jQuery version1.5で導入されたjQuery.Deferredは、無くてもコードを書けるけど、使えば少しコードが綺麗かつ見通しが良くなる、という機能。 無くても書けるという機能がなかなか使われないというのは世の常なので、jQueryクックブック(O'REILLY)の中でも言及されていない、なんとも寂しい状況だ。 ちょっとここらで一肌脱いでやるか、という趣旨で書き始めたら無駄に長くなった。 とりあえず使ってみたい、という人は下の方の「jQuery.Deferred自体の使い方」までジャンプするとよい。 jQuery.Deferredとはどういう場面で使うものなのか コールバックを渡して非同期処理完了時にそれを呼び出してもらうような場面。 具体的には $.get('hoge',

    jQuery.Deferredを使って楽しい非同期生活を送る方法 - Qiita
  • php 5.2系のセッションID 生成に任意のハッシュアルゴリズムを利用する - do_aki's log

    前回、php のセッションID と エントロピーソース で書いたとおり、php5 では、セッションID の生成アルゴリズムを設定によってある程度カスタマイズできます。 session.entropy_file と、session.entropy_length については前回説明したとおり、セッションID を生成する上でのエントロピーソースを追加するものでした。 今回は残りの session.hash_function と session.hash_bits_per_character について。 session.hash_function は、収集したエントロピーのハッシュ値を求めるアルゴリズムを指定することができます。 0 の場合、md5 が。1 の場合、sha1 がそれぞれ利用されます。 さらに、php 5.3系からは、hash_algos() 関数で得られるアルゴリズム名を渡すことで

    php 5.2系のセッションID 生成に任意のハッシュアルゴリズムを利用する - do_aki's log
  • Variable Byte Code と UTF-8、またはUTF-24が存在しないわけ : 404 Blog Not Found

    2009年08月05日00:30 カテゴリLightweight Languages Variable Byte Code と UTF-8、またはUTF-24が存在しないわけ 実は、これに非常に良く似た符号化を、我々は日々目にしています。 γ符号、δ符号、ゴロム符号による圧縮効果 - naoyaのはてなダイアリー 通常の整数は 32 ビットは 4 バイトの固定長によるバイナリ符号ですが、小さな数字がたくさん出現し、大きな数字はほとんど出現しないという確率分布のもとでは無駄なビットが目立ちます。 UTF-8です。 UTF-8は、0x0から0x10FFFFまでの整数を、以下のようにしてバイト列に変換します。 Range/Offset0123 0x00-0x7F0xxxxxxx 0x80-0x3FF110xxxxx10xxxxxx 0x400-0xFFFF1110xxxx10xxxxxx10xx

    Variable Byte Code と UTF-8、またはUTF-24が存在しないわけ : 404 Blog Not Found
  • イベントドリブンプログラムの関数型的書き方

    2012 9 1 Copyright© 2011 IT Planning,Inc All rights reserved. A B C A A B C ON (* 4 ON/OFF . *) let overwrite_mode = ref false let bar_graph = ref true let line_graph = ref false let scatter_diagram = ref false (OCaml) ( ) ON ON OFF OFF ON OFF ON OFF ON ON OFF OFF ON [ ON] ON[ OFF] let on_bargraph_click () = (* *) if !overwrite_mode then bar_graph := not !bar_graph (* *) else if !bar_graph then (

  • iwiwiの日記

    2016年から約7年弱勤めたPreferred Networks (PFN)を退職しました。6/1より次の職場で仕事を開始します。次の職場については6月以降気が向いたときにTwitterかどこかに書きます。 PFNはどうだった? PFNでの日々は、一言で言うと最高でした。技術的にも立場的にも多岐にわたる経験をさせてもらいました。そして、何より、めちゃくちゃ楽しかったです。PFNで働けたことは幸運で、心から感謝しています。今後も他の人に相談されたら多くの人に勧めると思います。 PFNでの思い出を色々書きたいのはやまやまなのですが、とても長くなりそうなので、別の記事にしようと思います。 では、なぜ転職するのか? Generative AI Generative AI (LLM, 拡散モデル)の最近のブレイクスルーに大きな衝撃を受け、Generative AI分野の研究開発に、私にとって一番望ま

    iwiwiの日記
  • Xorshiftで乱数発生 - なひたふJTAG日記

  • メルセンヌ・ツイスタ - Wikipedia

    メルセンヌ・ツイスタ (Mersenne twister、通称MT) は擬似乱数列生成器 (PRNG) の1つである。1996年に国際会議で発表されたもので(1998年1月に論文掲載)松眞と西村拓士による。既存の疑似乱数列生成手法にある多くの欠点がなく、高品質の疑似乱数列を高速に生成できる。考案者らによる実装が修正BSDライセンスで公開されている。 特徴[編集] 「メルセンヌ・ツイスタ」は厳密にはある手法に基づいた乱数列生成式(あるいは生成法)の族を指し、内部状態の大きさや周期は設定可能である。以下の長所と短所では、メルセンヌ・ツイスタ自体、よく使われている生成法のMT19937、さらにその実装について、区別することなく述べている。 長所[編集] 219937-1 (≒4.315×106001) という長い周期が証明されている。 この周期は、名前の由来にもなっているように(24番目の)メ

  • RPG系プログラムで大勢のキャラクタを縦横無尽に歩かせる方法

    はじめに ロールプレイングゲームに「町の人」と呼ばれるキャラクターがいます。町の中をぶらぶらと歩いて、主人公が話しかけると、何らかの情報を提供してくれる人たちです。彼らは、その情報提供という役目から、主人公が話しかけやすいように同じような場所を、ときどき立ち止まったりしながら歩いています。 実は僕、そんな彼らを見てると、「たまには好き勝手に動きたいんじゃないの?」とか、「当はお腹が減ってて、急いで家に帰りたいんじゃないの?」とか想像しちゃうんですよね。そんなわけで今回は、町の人たちを縦横無尽に歩かせるプログラムを作ってみました。名づけて『アイちゃんの大冒険』。主人公の女の子アイちゃんとその仲間たちが、元気に町の中を駆け回るアプレットです。 アプレットを見る 対象読者 ゲームプログラムに興味がある方や、経路探索プログラムに興味がある方を対象とします。また、Java初心者の方には、楽しめる教

    RPG系プログラムで大勢のキャラクタを縦横無尽に歩かせる方法
    iww
    iww 2012/07/05
    NPCだけでなく自分にも使えそう。 MMOみたいにマウスで移動先を指定するゲームでも、プレイヤーキャラを袋小路や障害物の自動回避させながら歩かせられそう。
  • 個人投資家必見、アルゴリズム取引の凄さが何となく分かる動画「アルゴリズムが形作る世界」 : 市況かぶ全力2階建

    決算発表が出ないことを怪しんでストップ高まで買われたエックスネット、TOBされるどころか逆に資提携解消で切られて過剰にお金が流出するお笑い劇場に

    個人投資家必見、アルゴリズム取引の凄さが何となく分かる動画「アルゴリズムが形作る世界」 : 市況かぶ全力2階建
  • コンピュータビジョンのソースコード/ライブラリのまとめ - takminの書きっぱなし備忘録 @はてなブログ

    今まで自分が見つけたコンピュータビジョンの研究に役に立ちそうなフリーのライブラリやソースコードをまとめてみました。自分ではまだ使っていないものも多いので、そこはご容赦を。主にC/C++が中心です。 またライブラリ形式でない、いわゆる学会で発表した研究のコードをそのまま公開しているという人がたくさんいて、それに関しては特にメジャーなもののみ紹介しています。なにぶん僕の観測範囲は限られてますので、「このライブラリに触れないのはおかしい」、「説明が間違っている」等、ご意見大歓迎です。 定番(Standard) OpenCV 定番中の定番です。コンピュータビジョンに関して広範なアルゴリズムが実装されています。 http://code.opencv.org/projects/OpenCV/wiki/WikiStart Point Cloud Library 3次元点群データを扱うならこれ。Kinec

    コンピュータビジョンのソースコード/ライブラリのまとめ - takminの書きっぱなし備忘録 @はてなブログ
  • サービス終了のお知らせ - NAVER まとめ

    サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。

    サービス終了のお知らせ - NAVER まとめ