単調増加の検出と比較(4)順序・半順序と有向グラフについて

  • 単調増加の検出と比較の目次
  • 順序・半順序は、ペアワイズに関係が定められるかのルール
  • この関係は、対称的ではない。
  • 対称的ではないペアワイズな関係は、有向グラフになる
  • 今、x_i\ge x_jであるときに、x_jからx_iへと向かう辺があるとすると、X=\{x_i\}をノードとする有向グラフを作ることができる
  • M+1個の容量反応曲線の点をx_1,...,x_nx_{n+1},x_{n+2},...,x_{2n}とすればそれらはそれぞれ全順序関係にあるので、鎖状になる。M個の曲線は基準となる曲線と容量が相等しい点同士で結ばれる(はしごのように)。
  • これをグラフオブジェクトや隣接行列で表現してみると次のようになる

N<-5
M<-3

D<-matrix(0,N,M)
D[,1]<-sort(runif(N),decreasing=TRUE)+1

for(i in 2:M){
	k<-0.2
	D[1,i]<-D[1,1]*(runif(1)*k+(1-k))
	for(j in 2:N){
		D[j,i]<-min(D[j-1,i],D[j,1])*(runif(1)*k+(1-k))
	}
}

#matplot(D,type="b",pch=15)

# 隣接行列を作ってみる

A<-matrix(0,(N*M),(N*M))
for(i in 1:M){
	for(j in 1:(N-1)){
		st<-(i-1)*N+j
		end<-st+1
		A[st,end]<-1
	}
}

for(i in 2:M){
	st<-1:N
	end<-st+N*(i-1)
	for(j in 1:length(st)){
		A[st[j],end[j]]<-1
	}
}

A
library(igraph)
G<-graph.adjacency(A)

plot(G,layout=layout.reingold.tilford)