2007-09-08から1日間の記事一覧

タスク管理ソフトの設計(アイディア段階)

タスク管理ソフトをつくる場合、タスク間の依存関係を扱うとすれば、やはりそれをグラフに描きたい。なぜならグラフを見れば一目瞭然だからだ。しかし現実の業務においては、それほど厳密なタスク管理は不要で、いつ取りかかっていつまでに完了させる、とい…

グラフ描画ライブラリ GraphViz

GraphViz(http://ja.wikipedia.org/wiki/Graphviz)という AT&T が開発したフリーソフトを使えば、複雑な有向グラフ(もちろん無向グラフも)を簡単に描画することができる。ただ、サーバーにインストールする必要があるため、残念ながらレンタルサーバーで…

タスクツリーの問題はどう解けばいいのか?

これまでのところで、最短経路問題を SQL を使って解く方法がわかった(1つ前のエントリー)。これはどうやら再帰 SQL のワークアラウンドになっているようだが、実際に僕の解きたい問題は、実は最短経路を求めることではなくて、下のグラフのような構造を…

MySQL5.0.41 でストアド・プロシージャを試す(その4)

ではどういう処理をしているのかストアド・プロシージャの中身を見てみよう。 CREATE PROCEDURE shortestPath() BEGIN DECLARE maxLength INT DEFAULT 1; DECLARE newSize,oldSize INT DEFAULT 0; INSERT INTO paths SELECT head AS startNode,tail AS endNo…

MySQL5.0.41 でストアド・プロシージャを試す(その3)

さて、昨晩のつづき。ノード数 10、エッジ数 20 でやってみて、手作業でやった結果と比較してみるとしよう。以下のような SQL を実行する。 TRUNCATE TABLE numSequence; -- numSequence テーブルを空にする CALL makeNumSeq(10); -- numSequence テーブルに…