人工無脳は考える | ダウンロード | 資料 | アーカイブ 2002/07/07 ユーザはなぜ飽きるのか 人工無脳を考える上で、『ユーザはなぜ飽きるのか』という問題を解決することが一つの大きな柱になっています。これまでにもいくつもの情報や対策が打ち出されてきましたが、それらは複雑に絡み合って混沌とした状況になっています。そこで、TQC(Total Quality Control)で用いられる連関図を使って状況の整理をしてみました。 矢印は「なぜなら」を意味しています。 この図を見て、何か新しい枝を考えついた方は是非実装してみてください。こっそり教えていただけるともっと嬉しいですが。 メール 戻る
By Jared Cherup 2001年以来多くのテトリス製品に適用される、テトリスのガイドラインに従ってテトリスを永遠にプレイし続ける方法がまとめられています。この知識を駆使すれば思う存分テトリスができるようになる、というわけです。 Playing forever - tetrisconcept http://tetrisconcept.net/wiki/Playing_forever まず実際にテトリスを永遠にプレイし続けるテクニックを体得するとどれぐらいサクサクとテトリスができるようになるかというと、以下のムービーのようになります。一見すると「早回しか?」と勘違いしそうですが、「TIME」を見るとリアルタイムにプレイしていることが分かります。 Tetris Exhibition - "Playing Forever" Speed Run (1:28) - YouTube テトリスは
こんにちは、@yoheiMuneです。 最近Web界隈のオープンソースを調べる事が多くなってきて、ライセンスについても気にする今日この頃。 今までは曖昧な理解だったので、ライセンスの内容を学ぼうと思い、この記事を書きました。 オープンソースのライセンスについて オープンソースという名前から、広く誰でも使えるソースコードという印象を受けますが、 実はそうでも無い場合があります。 各オープンソースはライセンスを表示しており、そのライセンス通りに使う事が求められます。 もちろん全く自由に使っていい場合もありますし、 オープンソースを利用したモジュールは同様のライセンスで公開することを求めるライセンスもあります。 このブログでは、ライセンスについて少しずつ学んで行ければと思い、 代表的なのライセンスの内容を書きたいと思います。 MITライセンス MITライセンスは、多くのオープンソースでよく見るラ
ConsistentHashing - コンシステント・ハッシュ法 目次 この文書について コンシステント・ハッシュ法 実例 実装 用途 コンシステント・ハッシュ法 この文書について "Tom White's Blog: Consistent Hashing" の日本語訳です. http://weblogs.java.net/blog/tomwhite/archive/2007/11/consistent_hash.html 推敲歓迎: 誤訳, タイポ, 訳語の不統一, そのほか... 原文のライセンス: http://creativecommons.org/licenses/by-nc-sa/2.0/ 私は今までに何度かコンシステント・ハッシュ法にとりくんだことがある。 このアイデアをあらわした論文 ( David Karger らによる Consistent Hashing and R
これまで解説したように、N-gram方式は完全一致の検索結果が保証できるという点が優れています。ところが検索という用途では、厳密な検索結果が必要とされる一方、もう少し曖昧な表現も含めて検索したいという相反する要求もあります。このようなリクエストに応えたのが、FINDSPOTの曖昧検索と呼んでいる機能です。今回は曖昧検索機能とそのしくみについて紹介します。 曖昧検索 FINDSPOTでは、文字列を検索の際に指定文字列が完全に一致していなくても、曖昧な一致についても検索結果に含めることができます。この機能を曖昧検索と呼んでいます。曖昧検索を行うには、検索クライアントからサーバに対して曖昧検索のリクエストを送信します。CGIからの検索であれば、検索フォームに用意されている「曖昧検索」チェックボックスをチェックしておき、検索を行います。 曖昧検索では、検索語に対する、部分文字列、文字の挿入、文字の
「日本語入力を支える技術」(通称「徳永本」)や「高速文字列解析の世界」(通称「岡野原本」)で紹介されている LOUDS というデータ構造を、12回に分けて解説しました。 友達に教える時に使ったもので、練習問題付きです。 実際に紙に書いてやってみるとわかりやすいと思います。 詳解 LOUDS (1) LOUDS とは 詳解 LOUDS (2) ビット列を作ってみる 詳解 LOUDS (3) 0番ノード 詳解 LOUDS (4) ビットの意味 詳解 LOUDS (5) 木構造の復元 詳解 LOUDS (6) インデックスでノードを表す 詳解 LOUDS (7) ノード番号からインデックスを得る 詳解 LOUDS (8) インデックスからノード番号を得る 詳解 LOUDS (9) 子ノードから親ノード 詳解 LOUDS (10) 親ノードから子ノード 詳解 LOUDS (11) 木の検索 詳解
最近よく目にするLOUDS(Level-Order Unary Degree Sequence)というのが気になっていたので調べた。実は最初に提案されたのは1989年。結構昔からあったと知ってびっくり。 Space-efficient Static Trees and Graphs G. Jacobson, 1989 LOUDSというのは木構造を表現するデータ構造をひとつ。単純に考えると木構造を実装するにはノードを表すオブジェクトに子ノードへのポインタを持たせる、というものが思いつく。この実装はノードへのアクセスは効率的にできるけれどメモリをたくさん使ってしまう(O(NlogN))。 そこでノードへのアクセス効率をあまり悪くせずに、省メモリな木構造が欲しい。これを実現したのがLOUDS。LOUDSはノードの追加や削除が起きないstaticな木構造にしか使えないが、必要なメモリはO(N)で済
Contents What is Trie? What Does It Take to Implement a Trie? Tripple-Array Trie Double-Array Trie Suffix Compression Key Insertion Key Deletion Double-Array Pool Allocation An Implementation Download Other Implementations References What is Trie? Trie is a kind of digital search tree. (See [Knuth1972] for the detail of digital search tree.) [Fredkin1960] introduced the trie terminology, which is
逆転検事を先日クリアして、久しぶりに逆転裁判1〜3をやり直そうか迷い中のfujisawaです。シンプルなデータクラスタリングツールを作成しましたので、そのご紹介をさせていただきます。 クラスタリングとは クラスタリングとは、対象のデータ集合中で似ているもの同士をまとめて、いくつかのグループにデータ集合を分割することです。データマイニングや統計分析などでよく利用され、データ集合の傾向を調べたいときなどに役に立ちます。 例えば下図の例ですと、当初はデータがゴチャゴチャと混ざっていてよく分からなかったのですが、クラスタリングすることで、実際は3つのグループのデータのみから構成されていることが分かります。 様々なクラスタリング手法がこれまでに提案されていますが、有名なところではK-means法などが挙げられます。ここでは詳細については触れませんが、クラスタリングについてより詳しく知りたい方は以下の
夜中の3時半過ぎですが、久しぶりになんか書こうと思います。 ちょっと前にmixiのfujisawaさんという方がすごくナイスなソフトウェアをリリースしてくれました。 「軽量データクラスタリングツールbayon」 http://alpha.mixi.co.jp/blog/?p=1049 今までにもCLUTOというすごく高精度なクラスタリングツールがありましたが、こいつはライセンス的にちょっとイケズな感じでした。そこにbayonがスーパーマンのように登場してくれました!「商用利用OKだよ」ということで、仕事の上での悩みが解決しました。本当にありがたいことです。 さてさて、早速使ってみたいんですが、ブログに書くのにちょうどいい題材がなかったので、以前に自分が書いたエントリからデータを持ってくることにしました。 「芸能人の相関関係を探ってみるスクリプト」 http://d.hatena.ne.jp
id:kyuridenamidaに便乗してSegmentTreeで出来る問題たちをここに挙げておきます。 「良さそうなやつ」とか書いていますが単にSegmentTreeで解いた問題たちを並べておくだけです。残念。(解けないけどSegmentTreeと聞いているものも入れてあります) BITでかけるものもあるので、そういう問題はどっちで解いても良いと思います(多分BITのほうが定数が小さいです) あと、多分SegmentTree(もしくはBIT)を使わなくても解ける問題が入っているかもしれませんが、それはしかたがないです。少なくとも僕はこれらの問題をSegmentTreeかBITで解いています。 PKU 1631 Bridging signals 1986 Distance Queries 2019 Cornfields 2104 K-th Number 2373 Dividing the
https://twitter.com/hogloid/status/284225774142251008 こんなことを言ったので 書きます 問題は、セグメント木を使う解法がおそらく楽で、セグメント木が問題の重要な部分で、JOIとかPCKでない問題、とします(JOIの問題とかみんな知ってる&解いてるだろうし) あと、明確に悪問と分かる問題は載せません。 解説が欲しい場合は、(一応僕は全部解いたので)僕になにか言ってくれると解説ページを開設すると思います。下のコメント欄とかにどうぞ。 記事を出してからも、ボチボチ更新していく予定です。 ☆の数は、主観的な難易度です。 書き終わって気づきましたがかなりグロイ問題ばかりなのでやばいですが頑張ってください 似たような記事 http://d.hatena.ne.jp/tozangezan/20111111/1320993464 (こっちのほうが、おそ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く