JGraphT JGraphTは、Javaのグラフライブラリです。グラフの描画ではなく、グラフ理論のモデルとアルゴリズムの方にフォーカスしています。とても使いやすかったので、紹介してみます。 無向グラフ UndirectedGraph<String, DefaultEdge> g = new SimpleGraph<String, DefaultEdge>( DefaultEdge.class); g.addVertex("a"); g.addVertex("b"); g.addVertex("c"); g.addEdge("a", "b"); g.addEdge("b", "c"); System.out.println(g.vertexSet()); System.out.println(g.edgeSet()); System.out.println(g.edgesOf("c"));
文書比較(diff)アルゴリズム 前のドキュメント 次のドキュメント ViViの文書比較(diff)機能で使用しているアルゴリズムについて解説する。 これらのアルゴリズムは Myers 氏らの論文によるもので、氏は筆者のためにわざわざ論文をWebサイトで入手可能な形式にしてくださった。この場を借りてお礼申し上げる。 オリジナル論文は以下のWebサイトから入手可能である。 http://www.cs.arizona.edu/people/gene [1] E.W.Myers, "An O(ND) Difference Algorithm and Its Variations", Algorithmica, 1 (1986), pp.251-266 [2] S. Wu, U. Manber, G. Myers and W. Miller, "An O(NP) Sequence Comparis
Yukara プロジェクトサイトをオープンし、SeasarConで id:masataka_k がしゃべった Yukara Wisdom をリリースしました。 http://yukara.ashikunep.org/ http://yukara.ashikunep.org/wisdom マーケット的な何かとかは -Yukara-Wisdomリリース - まさたか日記 などにお任せするとして、少しJavaサンプルコード検索の背景技術についてまとめてみようと思います。 ※ちなみにSSLはいまどきオレオレ認証なので、見苦しかったらスルーしてください。 背景 "Connection" という文字列を検索エンジンで検索すると、java.sql.Connection のAPIリファレンスや、「Sun Developer Connection」といった交流に近い意味のページなどが返ってきます。 通常のW
寝付けなかったので書いてみた。rt.jarも1分以内に終わる。 以下、プログラム。 ちなみに、↓とまったく同じ手順でやってる。 http://www.hgc.jp/~tshibuya/classes/shibuya20050225.pdf import java.io.IOException; import java.io.InputStream; import java.util.Arrays; import java.util.BitSet; import java.util.Enumeration; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.SortedSet; import java.util.Tre
勢いで類似検索と関連語検索などを作ってみた。Googleのようにキーワードを元に文書を探すのではなく、文書を元にほかの類似する文書を探してくる仕組み。関連語検索は、現在の文書に含まれないもののおそらく関連があると思われる単語を検出する。 詳しい説明は起きてから書くことにして、あまりに眠いのでプログラムと実行結果だけ。 全体で200行強くらい。3時間くらいでさくさくっと書いたので、怪しげなところはご指摘くださいませ。 使い方は、第1引数に検索クエリとして使うドキュメントの中身、第2引数以降に検索対象のドキュメントの中身。検索クエリに似たドキュメントを検索対象からtf*idfを使って探して、そのあとに関連語も探してくる。ちなみに、形態素解析してないので日本語だと無理。 import java.util.Arrays; import java.util.HashMap; import java.
メモ。 "あいうか"という文字列を編集して"あいうえおあお"という文字列を作った場合について。 まず、下のような格子を作る。 あ い う え お あ お (変更後の文字列) ┌─┬─┬─┬─┬─┬─┬─┐ │ │ │ │ │ │ │ │ あ├─┼─┼─┼─┼─┼─┼─┤ │ │ │ │ │ │ │ │ い├─┼─┼─┼─┼─┼─┼─┤ │ │ │ │ │ │ │ │ う├─┼─┼─┼─┼─┼─┼─┤ │ │ │ │ │ │ │ │ か└─┴─┴─┴─┴─┴─┴─┘ (変更前の文字列)さらに、頂点座標を振っておく。 あ い う え お あ お (0,0)┌─┬─┬─┬─┬─┬─┬─┐(0,7) │ │ │ │ │ │ │ │ あ├─┼─┼─┼─┼─┼─┼─┤ │ │ │ │ │ │ │ │ い├─┼─┼─┼─┼─┼─┼─┤ │ │ │ │ │ │ │ │ う├─┼─┼─┼─┼─┼─┼─┤ │
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く