石橋"rubyholic"秀仁です。

ほそぼそと GraphLib というグラフ理論のフレームワークを作ってます。
http://www.rr.iij4u.or.jp/~hideto-i/rb/archive/graphlib-0.0.0.tar.gz
これについて御意見を募集します。


1. 頂点(vertex)や辺(edge)といった要素のクラス名について
node/pointやlink/arc/lineなどの代替案もあるので・・・
ある「流儀」で統一できれば利用者には便利だと思うので、御提案ください。
# 離散数学とかコンピュータサイエンスとか既存ライブラリとか・・・

2. こまごまとした差異
"vertexes"と"vertices"のどっちがいいか?とか (どっちでもいい? ^^;)

# 1と2については、名前があんまり増えるとあとが大変なので ^^;
# 同じものには一つの名前で、ある程度の押し付けが必要、かなと・・・

3. walk (trail/path/cycle/circuit...) などについて
これって、あとからいくらでも増える可能性があるので、
GraphLib::WalkTypeのモジュール関数として述語
is_trail?/is_path?...
を定義する (追加が容易) てのを考えてます。

別の案としては、walkを表わすWalkクラス自身のメソッドにする。

4. グラフの種類について
3も含むのですが、サポートする種類と方法。
種類:ハミルトングラフ、重み付きグラフ、木・・・
方法:クラス階層、インターフェース、モジュール、Decoratorパターン・・・


みなさん御意見をお聞きしたいので、よろしくお願いします。

--
Hideto "rubyholic" ISHIBASHI
http://www.rr.iij4u.or.jp/~hideto-i/