タグ

アルゴリズムに関するse-miのブックマーク (61)

  • 第14回コンピュータオリンピック

    [以前の関連記事] : MoGoとFuegoを対戦させてみた 現在、スペインのパンプローナで、第14回コンピュータオリンピックという大会が行われています。チェスや囲碁などのテーブルゲームの大会のコンピュータ版なんですが、囲碁の9路盤と19路盤がもうすでに終了して結果が出ました。 14th コンピュータオリンピック, 囲碁 (9×9) – パンプローナ 2009 (ICGA トーナメント) http://www.grappa.univ-lille3.fr/icga/tournament.php?id=194&lang=3 14th コンピュータオリンピック, 囲碁 – パンプローナ 2009 (ICGA トーナメント) http://www.grappa.univ-lille3.fr/icga/tournament.php?id=193&lang=3 9路盤は1位Fuego、2位MoGo、3

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

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

    マルコフ連鎖生成曲 - ならば
  • 協調フィルタリングは、中学生だった私に「ビッグ4」をちゃんと勧めてくれるだろうか? | その他(IT) | 毎日がアップデート | あすなろBLOG

    先日、図書館の情報システムを研究されている方とお話をする機会があったのだが、その中で、図書館のシステムも将来的にはコンテンツを推薦するようなシステムの開発も進んでいくのではないかという話になった。 その話しの中身は、協調フィルタリングなどインターネット経由によるコンテンツ推薦は既にお馴染みだが、図書館や書店でこのようなシステムはあまり見ない。これが将来的には「セマンティック」な仕組みが整備されて、図書館などにも導入されていくのではないか? というお話だった。 このような話を聞いたので「今だったら、図書館の司書さんが、そういう事やってくれそうですね」と言ったら、微妙な反応をされてしまった。なるほど、確かに目的のがわかっていれば、図書館の検索システムを使えば良いし、を探すために司書さんに声をかけるのは、なんとなくやりづらい。さらに言えば、そのような司書さんが当に自分が求めているを探し出

    se-mi
    se-mi 2009/07/13
    単純な推薦アルゴリズムでは出てこない妙
  • http://itog.sakura.ne.jp/markov/

  • マネックス 業界初「カブロボファンド」 4種のロボットで資産運用(フジサンケイ ビジネスアイ) - Yahoo!ニュース

    人工知能で相場状況を学習したり、確率論を使って利益を狙うなど、ファンドマネジャー(運用担当者)を一切介さず、コンピューターだけで運用する投資信託商品をマネックス証券が国内で初めて開発した。システムを「カブロボ(株ロボット)」、投信を「日株ロボット運用投信(カブロボファンド)」と呼び、10日から募集を始める。 4つのプログラムがあり、小刻みで利益を取るタイプや、逆張りで勝負するなど手法はさまざま。場面に応じてマネックスのマスターロボット(コンピューター)が選択する。 4つのプログラムは、コンテストを通じ、個人投資家や大学の研究者から募った1万9000件の応募の中から選ばれた。 ≪人間とすみ分け≫ 機関投資家の運用手法として普及している「アルゴリズム取引」を柱に、コンピューターが相場状況を判断し、最適な価格や数量、取引のタイミングを決める。 開発者には、投信の信託報酬から一定額の報

  • ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室

    ゲームの作り方とアルゴリズムをジャンル別にまとめてみました。ゲーム制作や、プログラミングの勉強用にご活用ください。言語別ゲームプログラミング制作講座一覧もあわせてお読みください。 リンク切れがおきていたものは、URLを表示しておくので、Internet Archiveなどでキャッシュを表示させてみてください。 RPG ゲームの乱数解析 乱数を利用した敵出現アルゴリズムの解説 各種ゲームプログラム解析 FF、ドラクエ、ロマサガのプログラムの解析。乱数の計算など ダメージ計算あれこれ(http://ysfactory.nobody.jp/ys/prg/calculation_public.html) ダメージの計算式 エンカウントについて考えてみる エンカウント(マップでの敵との遭遇)の処理方法いろいろ RPGの作り方 - ゲームヘル2000 RPGのアルゴリズム ドルアーガの塔 乱数の工夫の

    ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室
  • 分布推定アルゴリズム - yukobaのブログ

    分布推定アルゴリズム。遺伝的アルゴリズムを改良した物です。個体の集合を交叉・突然変異させるのではなく、個体の生成確率を進化させます。最適化問題のアルゴリズムです。以下、自分へのメモです。わかったことが増えたら追記するかも。 ビットストリング 計算量に関しては、ビット数をn、反復数をTとしています。 Population-Based Incremental Learning (PBIL) http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.61.8554 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.44.5424 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.43.1108 Population-ba

    分布推定アルゴリズム - yukobaのブログ
  • できる!遺伝的アルゴリズム

    Outline of Genetic Algorithm + Searching for Maximum Value of Function and Traveling Salesman Problem using R. To view source codes and animation: Searching for Maximum Value of Function - https://github.com/katokohaku/evolutional_comptutation/blob/master/chap2.1.Rmd Traveling Salesman Problem - https://github.com/katokohaku/evolutional_comptutation/blob/master/chap2.2.Rmd

    できる!遺伝的アルゴリズム
  • wonderfl build flash online | 面白法人カヤック

    wonderflは、サイト上でFlashをつくることのできるサービス。 通常Flashをつくるためには、Flash IDEやFlex、FlashDevelop等といったツールを使って、コードを書き、コンパイルする必要がありますが、wonderflでは、サイトにあるフォームにActionscript3のコードを書けば、サーバサイドでコンパイルを行えます。 つまり、ブラウザさえあれば、Flashをつくれます。コンパイル結果はサイト上に表示され、作成されたFlash(swf)はページ上に自動的に表示されるので、完成したFlashをリアルタイムに見ながらコードを書くことができます。 ※APIとして、はてな OpenIDを使用してネットにさえつながれば、誰もがFlashクリエイターになれます。世界中のFlashクリエイターがユーザーになるwonderflは、 文字通り、世界のFlash図鑑となってい

    wonderfl build flash online | 面白法人カヤック
  • wonderfl build flash online | 面白法人カヤック

    wonderflは、サイト上でFlashをつくることのできるサービス。 通常Flashをつくるためには、Flash IDEやFlex、FlashDevelop等といったツールを使って、コードを書き、コンパイルする必要がありますが、wonderflでは、サイトにあるフォームにActionscript3のコードを書けば、サーバサイドでコンパイルを行えます。 つまり、ブラウザさえあれば、Flashをつくれます。コンパイル結果はサイト上に表示され、作成されたFlash(swf)はページ上に自動的に表示されるので、完成したFlashをリアルタイムに見ながらコードを書くことができます。 ※APIとして、はてな OpenIDを使用してネットにさえつながれば、誰もがFlashクリエイターになれます。世界中のFlashクリエイターがユーザーになるwonderflは、 文字通り、世界のFlash図鑑となってい

    wonderfl build flash online | 面白法人カヤック
  • 第4回 できるだけ短いルートでゴールに到達する

    図1を見てください。A地点にロボットがいます。B地点がゴールです。途中には障害物があります。障害物を避けながらなるべく少ない歩数でロボットをゴールまで移動させるアルゴリズムを作成し,その移動したルートを図に示してください。ロボットは縦,横,斜めに進めるものとします*1。 私は結構あきっぽいようです。プログラミングも黙々とやらなくてはいけないものは苦手です。ついふらふらと出かけてしまったりして,なぜかバグが多くなってしまいます。そんな私でも好きだと言えそうなのが画像処理やグラフ問題といった「作った結果が目に見える」題材です。自分で作った成果が目で見てすぐわかると,とても楽しくなります。今回の問題はそうしたものの一つです。プログラミングに飽きてきたら,今回のような問題にちょっとチャレンジしてみてください。きっと楽しめると思います。 手当たり次第に調べてもうまくいかない 問題を整理してみましょう

    第4回 できるだけ短いルートでゴールに到達する
  • A*アルゴリズム (山本隆の開発日誌)

    前回の「分岐限定法」の続きです。 『Javaによる知能プログラミング入門』の「2.探索とパターン照合」にあるA*アルゴリズムのソースコードをPythonで実装してみました。 では分岐限定法の後に山登り法と最良優先探索を説明して問題点を明らかにし、その後でA*アルゴリズムが説明されています。 有向グラフとして表現されている状態空間の、初期状態から目標状態までの探索を行います。 ノード間の□の中の数字は、各ノード間のコストを表します。 各ノートに添付された○の中の数字は、そのノードのヒューリスティックな値を表します。 #! /usr/bin/python # -*- coding: Shift_JIS -*- def printNodes(nodes): """ Nodeのリストの出力用文字列を作成する nodes Nodeのリスト """ return map(str, nodes) cl

    se-mi
    se-mi 2009/05/30
    Pythonか。。。
  • A*アルゴリズムまとめ - octech

    数年ぶりにA*アルゴリズムを実装したので、まとめなおしておきます。何回かじっくり読むとようやく理解が出来てきました。基的にそんなに難しくないアルゴリズムです。 概要 「A*アルゴリズム」は、A-Star(エースター)と読み、パス探索アルゴリズムの一つです。 ノードネットワーク上にスタート地点とゴール地点を結ぶパスが存在すれば、最悪でもそのパスの存在を確認できるアルゴリズムです(見落とすことがない)。 内容はシンプルな再帰計算で、コスト計算の部分にヒューリスティックと呼ばれるパラメータがあり、その算出アルゴリズムを変更することにより、各種アプリの状況に応じた高速化と最適化が望めます。 2007-07-16 修正 「A* - Wikipedia」の擬似コードを見ていたら、自分の書いたコードでは最適なルートを計算しない可能性があることが分かりましたので修正しました。下記のC++的擬似コード内で

    A*アルゴリズムまとめ - octech
  • A*アルゴリズム、ActionScriptで。

    以前 Technical Talk #2 でのデモに使った、 A*(エースター)アルゴリズムによる最短経路探索をする Flash ActionScript のソースコードです。 迷路の中をどんどん探索して、 目的地まで行きます。 このとき、探索の処理中でも Flash Player の動作を停止させないために、 探索の 1 ステップごとに呼び出し元へ戻るトランポリンとして実装しています。 A*アルゴリズム、Gaucheで。には Scheme による実装ものせてあります。 ソースコード // -*- java -*- // $Id: a-star.as 9 2006-06-30 23:44:36Z toru $ // // マップデータ // function make_field_map () { var o = true; var x = false; var map = [[o, o,

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

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

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

    A*探索アルゴリズム A*(A-star、エースター)探索アルゴリズム(エースターたんさくアルゴリズム)は、グラフ探索アルゴリズムの一つ。 最良優先探索を拡張したZ*に、さらにf値として「現時点までの距離」g と「ゴールまでの推定値」h の和を採用したもの[1]。h は ヒューリスティック関数と呼ばれる。 A* アルゴリズムは、「グラフ上でスタートからゴールまでの道を見つける」というグラフ探索問題において、 ヒューリスティック関数 h(n) という探索の道標となる関数を用いて探索を行うアルゴリズムである。h は各頂点 n からゴールまでの距離のある妥当な推定値を返す関数で、解くグラフ探索問題の種類に応じてさまざまな h を設計することが出来る。 例えば、カーナビなどで用いられる単純な二次元の地図での探索では、h としてユークリッド距離 を使うことができ、この値は道に沿った実際の距離のおおま

    A* - Wikipedia
  • wonderfl build flash online | 面白法人カヤック

    wonderflは、サイト上でFlashをつくることのできるサービス。 通常Flashをつくるためには、Flash IDEやFlex、FlashDevelop等といったツールを使って、コードを書き、コンパイルする必要がありますが、wonderflでは、サイトにあるフォームにActionscript3のコードを書けば、サーバサイドでコンパイルを行えます。 つまり、ブラウザさえあれば、Flashをつくれます。コンパイル結果はサイト上に表示され、作成されたFlash(swf)はページ上に自動的に表示されるので、完成したFlashをリアルタイムに見ながらコードを書くことができます。 ※APIとして、はてな OpenIDを使用してネットにさえつながれば、誰もがFlashクリエイターになれます。世界中のFlashクリエイターがユーザーになるwonderflは、 文字通り、世界のFlash図鑑となってい

    wonderfl build flash online | 面白法人カヤック
    se-mi
    se-mi 2009/04/30
    ちょwwこのタイミングでw
  • B-Tree - アルゴリズム・イントロダクション 18章 - ninjinkun's diary

    アルゴリズム・イントロダクション勉強会,B-Treeの章を担当しましたので,資料を公開いたします. Algorithm Introduction #18 B-Tree View more presentations from ninjinkun. B-Treeはデータ容量が主記憶に収まらないような場合に有効なデータ構造で,MySQLなどのDBや,最新のファイルシステムのインデックスとして用いられています.(MySQLはインデックス管理の方式を選択可能) 主に以下の利点があります. ノードの大きさをページサイズに最適化できる ページの読み込みがディスクアクセスに最適化される ページの読み込み数を木の高さhに抑えられる ディスクへのアクセス回数を抑えることができる id:naoyaのブログも参考になります. B木 - naoyaのはてなダイアリー 当日の発表はテンパってしまい,アレな感じになっ

    B-Tree - アルゴリズム・イントロダクション 18章 - ninjinkun's diary
  • ベイズを学びたい人におすすめのサイト - download_takeshi’s diary

    ベイジアンフィルタとかベイズ理論とかを勉強するにあたって、最初はなんだかよくわからないと思うので、 そんな人にお勧めのサイトを書き残しておきます。 @IT スパム対策の基技術解説(前編)綱引きに蛇口当てゲーム?!楽しく学ぶベイズフィルターの仕組み http://www.atmarkit.co.jp/fsecurity/special/107bayes/bayes01.html いくつかの絵でわかりやすく解説してあります。 自分がしるかぎり、最もわかりやすく親切に解説してる記事です。数学とかさっぱりわからない人はまずここから読み始めるといいでしょう。 茨城大学情報工学科の教授のページから http://jubilo.cis.ibaraki.ac.jp/~isemba/KAKURITU/221.pdf PDFですが、これもわかりやすくまとまってます。 初心者でも理解しやすいし例題がいくつかあ

    ベイズを学びたい人におすすめのサイト - download_takeshi’s diary
    se-mi
    se-mi 2009/04/10
    後で読む
  • 棚からパルチャギ

    実践編です。 ベイジアンフィルタを使ったアプリケ-ションの流れは、大きく分けて以下の3段階になります。 カテゴリ(クラス)定義 パターン学習 文書分類 単純ベイズ分類器(Naive Bayes classifier)ではクラス毎に単語の出現頻度を記憶して、その情報をもとに文書がそれぞれのクラスに属する確率を求めます。 SPAMフィルタなどでは「spam」と「nospam」のように2つのクラスだけで使用されることが多いです。多分。 パターン学習は、特定の文書(単語のセット)がどのクラスに所属するかを指定します。 これにより出現頻度のデータベース(コーパス)が更新されて、次回以降の分類精度を向上させることができます。 通常は、クラスを最初に設定して、以降は学習と分類を繰り返すような感じになると思います。 …ということで、クラスの定義から。 何故かNaiveBayesianStorageには、カ

    se-mi
    se-mi 2009/04/10
    後で読む