タグ

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

  • 昔のドット絵がくっきり、なめらかに蘇る「魔法の技術」とは

    将来的にはゲームへの応用も? まずはこちらの2枚の画像をご覧下さい。片方は昔懐かしいドット絵のキャラクター。もう片方は、その元になったイメージイラスト……に見えますが、そうではありません。 実は右側のイラストは、左のドット絵をもとに、特殊なスムージング処理を行い、生成したもの。元のドット絵ではカクカクだった輪郭線がくっきり、なめらかになり、まるでIllustratorで描いたかのような、自然なイラストに仕上がっています。 海外ニュースサイト「Extreme Tech」が伝えるところによれば、この技術は、Microsoft Researchとヘブライ大学が共同で開発したもの。ビクセルデータのスムージングという点だけを見れば、Illustratorなどにも同様の機能はありましたが、こちらはよりドット絵に適したアルゴリズムとなっているのが特徴。従来のスムージング処理が、すべてのドットを「等しく重

    昔のドット絵がくっきり、なめらかに蘇る「魔法の技術」とは
    mainyaa
    mainyaa 2011/05/27
    Microsoft Researchすごすぎる
  • http://accelart.jp/shibuyajs/logo/logo.html

    Logo on JavaScript いきさつ

    mainyaa
    mainyaa 2007/11/08
    ソース見て吹いた 。
  • SQLによる数独の高速解法:CodeZine

    CALCULATE_GS_V3は控えめに言っても「遅すぎる」ので、これに比べて「高速」であっても、「数独」の解法として特別高速なわけではありません(数独をコンピュータで解いた経験のある人なら、標準的なサイズ9×9の数独を、今日の計算機は数秒で解くことはご存じでしょう)。しかしながら、稿で紹介するSQLの書き方は、さまざまな場面で応用できるはずです。ここで紹介する方法よりも劇的に速い方法を第3部で紹介しているので併せてお読みください(1秒程度で解けます)。対象読者計算機でパズルを解くことに興味のある方数独を知っている方(数独自体についての説明はしません)ストアド・プロシージャについて学びたい(ストアド・プロシージャ自体については説明しませんが、雰囲気は分かると思います)データベース管理システムで「データの管理」を超えたことをしてみたい方 必要な環境 文のコードをそのまま実行するにはMyS

    mainyaa
    mainyaa 2007/09/11
    問題が出たら思わず自分で解いてしまった。
  • SQLによる数独の解法:CodeZine

    はじめに SQLを使って数独(ナンプレ)を解く方法を紹介します。 データベースを操作するための言語であるSQLを別の用途に使おうとする理由は、SQLが宣言的な記述が可能な言語の中で最も普及していると思われるからです(宣言的言語と言えばPrologを思い浮かべる方も多いかもしれませんが、残念なことにPrologは、SQLほどには普及していません)。 まず、宣言的な記述について説明しましょう。タクシーに乗ることを想像してください。「渋谷に行ってください」というように、欲しい結果を書くのが宣言的な記述です。具体的な道筋は運転手が考えてくれます。それに対して「まずA通りを北に行って、B交差点を左折して・・・」というように、具体的な道筋を示すのは手続き的記述です。プログラミング言語の場合も同様です。SQLやPrologにおいては、欲しい結果をプログラマが書けば、具体的な実現方法はコンピュータが考えて

    mainyaa
    mainyaa 2007/09/11
    ストアド・プロシージャの勉強にいいかも
  • 生きあたりまったりブログ

    休学中の過ごし方…うつ状態で何してた?就活やバイトは?大学休学中おすすめの過ごし方、やめたほうがいいことを経験者が解説。

    生きあたりまったりブログ
  • Language-Independent Set Expansion of Named Entities using the Web - 射撃しつつ前転 改

    Language-Independent Set Expansion of Named Entities using the Web (R. C. Wang and W. W. Cohen, 2007)を読んだ。例のSEAL(Google SetsとかBayesian Setsに似た奴)のアルゴリズムについて書いた論文だ。ちゃんと固有表現抽出までやってるとしか思えないとか書いてたが、実際には全然違った。固有表現抽出どころか形態素解析すらしてない。 SEALがやってくれることはGoogle Setsなどと同じだ。いくつか単語を与えると、その単語と同じグループに含まれるような単語を返してくれる。この論文ではそのようなグループの例として、メジャーリーグの球団名とか、時計のブランド名とか、そういったものを使って実験している。 アルゴリズムは以下の3ステップによって構成される。 与えられた単語を用い

    Language-Independent Set Expansion of Named Entities using the Web - 射撃しつつ前転 改
    mainyaa
    mainyaa 2007/09/06
    言語非依存版のGoogle Setsみたいな同じ集合に属する単語を出してくれるサービスSEALのアルゴリズムの論文の解説。固有表現抽出どころか形態素解析すらしておらず、すべてWebから持ってきているらしい。
  • ある地方公務員電算担当のナヤミ - 「生年月日から年齢を計算する簡単な計算式」は使えるとは限らない

    先週はブログをお休みさせていただきました。お休みの間にも多くの方にご覧頂いていたようです。ありがたいことです。ブログの更新が止まっていてもカウンタが回っていることにちょっと驚きです。 ブログをお休みしていた間にも、いくつかの気になる記事が出ていたようですが、目に留まったのがこの記事でした。 生年月日から年齢を計算する簡単な計算式 - ITpro http://itpro.nikkeibp.co.jp/article/Watcher/20070822/280097/ こことか、いろんなブログで取り上げられているようです。Int(([基準日]-[生年月日])/10000)という計算式で年齢が簡単に出せるというものです。 何人かのブックマーカーの方がコメントされていますし、コメントがなくても自治体職員の方であればこのようなことは常識であると思いますが、この式はこのままで使えるとは限りません。 日

    ある地方公務員電算担当のナヤミ - 「生年月日から年齢を計算する簡単な計算式」は使えるとは限らない
    mainyaa
    mainyaa 2007/09/06
    覚えておこう。
  • 携帯カメラで「目に見えないアート」を撮る

    たとえば、ヨーロッパ中世の古城。携帯でパシャッと撮って、「Spellbinder」(呪文をかける、の意)に送ると、すぐ返信がくる。それを開いてみると、門に火を吐く緑の巨竜が写ってる! みたいなことが可能な楽しい写真分析アルゴリズムが生まれました。 最初の導入例はエディンバラ市で観光名所に埋めた「目に見えないバーチャルアート」(写真)。どんなアートが眠っているかは、観光客が手持ちの携帯でその場所の写真を撮って送らないと見えない、という趣向ですね。リアルの写真にデジタルをマッチングする面白い試みとして注目を集めているようです。 こちらの技術は、今月5~9日に米サンディエゴで開かれた世界最大のCGの祭典「Siggraph」で、エディンバラ大インフォマティクス学部マーク・ライト(Mark Wright)博士たちが発表しました。 「光の加減や方角が違ってもマッチできるパワフルなアルゴリズム」なので、

  • 別れた彼・彼女を消せる写真リサイズの新手法「Scene Carving」(動画)

    写真は真っ二つに、しなくていい。 昔の彼・彼女を思い出のアルバムからサックリ消せる、悲しいリサイズの新手法が生まれました。名づけて「scene carving(シーン・カーヴィング)」。 ただのリサイズじゃないですよ? 文字通りシーンをカーヴィング(彫刻、切り分け)して、元の縦横比率で残したいところ(例:赤ちゃん抱いてる女性)とか、丸ごと消したいところ(例:海岸の男)を指定して寄せたり伸ばしたりできるんです。 この新しいアルゴリズムは世界最大のCGの祭典「SIGGRAPH」でイスラエルのコンピュータサイエンス研究所(Efi Arazi School of Computer Science)のAriel Shamir氏が発表しました。動画冒頭では、最近何かと話題の三菱電機米国研究所(MERL)と兼務で、同じMERLのShai Avidan氏と共同発表というクレジットになってますね。 CGやら

    別れた彼・彼女を消せる写真リサイズの新手法「Scene Carving」(動画)
    mainyaa
    mainyaa 2007/08/27
    すっげぇぇぇぇ。ここまで自然に加工できるなんて。
  • Inside Tokyo Cabinet その壱 - mixi engineer blog

    約半年間の沈黙を破ってOSSの世界に戻ってきつつあるmikioです。先日、Tokyo Cabinet(以下「TC」と呼びます)というデータベースライブラリをリリースしました。今回から数回に分けて、TCの設計と苦労話について連載してみます。 DBMとは TCは、いわゆるDBMの系譜のデータベースライブラリで、単純なハッシュテーブルをファイル上で永続化するだけの機能を提供します。DBMはAT&Tの古代UNIXの時代から受け継がれる伝統芸能なのですが、私はそういう枯れた技術が大好きなのです。 プログラマの皆さんは、PerlRubyではハッシュ(連想配列)と呼ばれ、JavaC++ではmapと呼ばれるような、何らかのキーに関連づけてなんらかの値を記録するデータ構造って実によく使いますよね。例えばmixiでは、ユーザアカウントに関連する情報(名前とかニックネームとか)は、ユーザIDをキーにしたハッ

    Inside Tokyo Cabinet その壱 - mixi engineer blog
    mainyaa
    mainyaa 2007/08/22
    新しいDBMの「Tokyo Cabinet」の設計とDBMの基本的な考え方。
  • 全文検索エンジン FlexSearch - グニャラくんのグニャグニャ備忘録@はてな

    全文検索エンジン FlexSearchというものがあるようだ。 違いを吸収した検索 | 傀儡師の館.Python - 楽天ブログ 特徴は以下のとおり。 「FlexSearch」は、文字間をラバーバンドで連結して 伸縮させるように類似文字列を検出する、 Rubber Band Matching(RBM -ラバーバンドマッチング) アルゴリズムを採用しています。 RBMアルゴリズムを採用することで、 表現の差違を吸収して検索対象を抽出できます。 例えば・・・ 部分文字列(文字の部分一致で検索) 「高齢化問題」 将来の「高齢化」社会において・・・ 文字の挿入(キーワードに文字を追加して検索) 「ゴミリサイクル」 ゴミのリサイクル問題が・・・ 文字の欠落(キーワードから文字を削除して検索) 「女子中高生」 女子高生に人気の・・・ 文字の置換(キーワードを置換えて検索) 「ドボルザーク」 ドヴォルザ

    全文検索エンジン FlexSearch - グニャラくんのグニャグニャ備忘録@はてな
    mainyaa
    mainyaa 2007/07/09
    『「FlexSearch」は、文字間をラバーバンドで連結して伸縮させるように類似文字列を検出する、Rubber Band Matching(RBM -ラバーバンドマッチング)アルゴリズムを採用しています。』
  • TOURISTIC:バネモデルによるグラフ描画をJavaScriptで

    2007年05月17日23:34 バネモデルによるグラフ描画をJavaScriptで カテゴリIT バネモデルによるグラブ描画をするJavaScriptライブラリを書きました。 サンプルはこちら http://sawamuland.com/graph/sample.html バネモデルの基は2つのノード(点)がつながれている場合、そこにバネがあるとして力(内向きまたは外向き)を計算し、 さらに自分とつながっていない全てのノードから距離に応じた斥力(反発する力)を受けるとして位置の移動を繰り返します。 つまり、つながれた2点が近すぎる場合は反発し、遠い場合は引き合い、つながれてない他の点からは等しくはなれようとするため多くのエッジ(線)を持つ集合が固まり、線が少ないノードはそこから離れて行きます。 この実装ではバネの力は log( ノード距離 / バネの長さ ) に適当な係数をかけて計算し

    mainyaa
    mainyaa 2007/07/06
    JavaScriptでバネモデル。ソース付。さすがにちょっと重い。
  • TOURISTIC : バネモデルによるグラフ描画をActionScriptで(Beta)

    2007年06月24日12:41 バネモデルによるグラフ描画をActionScriptで(Beta) カテゴリIT 全く同じようなものばっか作りやがって、というツッコミもあるかとは思いますが、今度はグラフ描画をActionScript(Flash)で書いてみました。Flashなので速いし見た目をいろいろ凝れるから使い勝手がよさそうですよね。 http://sawamuland.com/flash/graph.html ※ソースコードは↑の下の方にリンクはってあります ちなみに今回のロジックはこの論文を参考にしてみました。力の計算が単純な分、ちょっと速くなったかも。後でもうちょっと見た目のよいデモを書きます。 既知のバグ: ノードが多くなると角に集中してしまうことがある。壁の扱いをもうちょっと考えないといけないみたい。 「IT」カテゴリの最新記事

    mainyaa
    mainyaa 2007/07/06
    ActionScriptでバネモデル。ソース付。ありがたい。
  • mixi Engineers’ Blog » mixi日記キーワードランキングの秘密

    皆さん、先月の半ば頃からmixiのトップページの3列目に「日記キーワードランキング」というコーナーが登場していたのをご存じでしょうか。手前味噌ながら、これはとても面白い機能で、毎日ランキングが更新される度に素敵なランキングが作られていて悦に入っているmikioです。今回は日記キーワードランキングの秘密についてお話します。 日記キーワードランキングとは、日記に書かれた言葉の使用頻度を統計的に処理して、今話題になっている度合を算出し、その上位をランキング形式で表示する機能です。トップページには5位までが表示されるので、それをチェックするだけで最新の流行を把握することができます。さらに「30位までを読む」に進むと30位までのキーワードとその関連日記が表示されます。詳細を知りたい場合はキーワードをクリックすると、そのキーワードで日記検索をした結果を見ることができます。一通り見るのに10分くらいでし

    mixi Engineers’ Blog » mixi日記キーワードランキングの秘密
    mainyaa
    mainyaa 2007/06/21
    mixi日記キーワードランキングのキーワード抽出のアルゴリズム。
  • 第10回 麻雀の役を判定する:ITpro

    図1に示す(1)から(3)までの麻雀(マージャン)の手牌があります。「あがり牌」はすべて山からツモったものとし,リーチはかけていません。またドラやハイテイ*1なども関係ないものとします。これらの役を判定して,親の場合の点数を計算するプログラムを作ってください。 「ややこしや~ややこしや~」というのは野村萬斎ですが,思わずそううなってしまうことがプログラミングをしているとよくあります。今回の麻雀の役判定は,考えれば考えていくほどややこしく,そうしたものの代表と言えるでしょう。排他処理や優先順位が複雑にからんでいて一筋縄ではいきません。 今回はややこしい組み合わせを解決する方法を考えてみます。麻雀になじみのない方も,ちょっとしたパズル気分で試してみてください。 麻雀の役を考える 麻雀を知らない方のためにルールをおおざっぱに説明しておきましょう*2。麻雀の牌には,大きく分けて「萬子(マンズ)」「

    第10回 麻雀の役を判定する:ITpro
  • 初代Googleのアルゴリズム解説 - GIGAZINE

    いまやネットの世界を左右する強力な検索エンジンとなったGoogle。日ではまだYahoo!の方がはるかに利用者が多いのでさほどではないですが、アルゴリズムの基的な考えが似ているため、同じような結果が出てきます。つまり、既存の検索エンジンのその基礎となった一番最初のGoogleの検索アルゴリズムを理解すれば、検索エンジン対策にも役立つはず。 ということで、初代Googleのアルゴリズムをできるだけわかりやすく解説してみます。既存の他サイトの解説とは違い、きちんとした最初のGoogleの数式に基づいています。 詳細は以下から。The Anatomy of a Search Engine http://www-db.stanford.edu/~backrub/google.html Googleの画期的なランク付けの方法が数式による全自動のページランクというのは聞いたことがあると思いますが、

    初代Googleのアルゴリズム解説 - GIGAZINE
    mainyaa
    mainyaa 2006/04/15
    なるほど。現在のアルゴリズムが知りたいものだ。
  • 半世紀かけて一冊の本の完遂に取り組むKnuth先生:梅田望夫・英語で読むITトレンド - CNET Japan

    結城浩さんの日記を読んでいたら、「Knuth先生の。」というタイトルの短いエントリーがあって、文章は「即買い。」の一言。そこから張られていたのは、なんとKnuthの「The Art of Computer Programming」第2巻の新訳ではありませんか。これは懐かしい。第1巻の新訳も今年初めに出版されたようで、それぞれが1冊1万290円。2冊で2万580円。けっこう高いし、僕はもうプログラミングともアルゴリズムとも縁のない暮らしをしているけれど、こういう凄いは座右に置いてときどき眺めるだけでも価値があるので、思い切って2冊まとめて注文してしまいました。 プログラミングを勉強していた頃のなどはほぼすべて散逸してしまったが、緑色の表紙のぼろぼろになったKnuth著「Fundamental Algorithms」(The Art of Computer Programming Volu

    mainyaa
    mainyaa 2006/03/28
    すっごいなぁ・・・
  • 1