2つの頂点の反距離
とりあえず「反距離」と呼ぶが、適切な用語とは思えない。以前は「高さ」と呼んでいた量(部分ノードセットからノードまでの距離と高さ - 檜山正幸のキマイラ飼育記 メモ編)。2つの頂点より、頂点集合と1つの頂点に関して定義するのがいいのかも。
グラフGに対して、頂点aとbを結ぶパスの全体をPathG(a, b)とする。各有効辺に長さを与えて、パスの長さを辺の長さの和として定義できる。
- dist(a, b) := min(length(PathG(a, b)))
として、非対称な距離を定義できる。同じ頂点を2度以上通ることがないパスを単純パスと呼ぶことにする(→https://ja.wikipedia.org/wiki/%E9%81%93_(%E3%82%B0%E3%83%A9%E3%83%95%E7%90%86%E8%AB%96))。
- antidist(a, b) := max(length(SimplePathG(a, b)))
として反距離を定義する。Gが非循環グラフ(DAG)なら、SimplePathはPathにしてもよい。
DAGのときに反距離は使い途があるんだが、他になんか意味があるのか? 分からない。