一部は修正項目かもしれないから、これはx6相当

ryamada2222222012-12-24

  • 知識が増えてくると、そのすべてを常に使っているわけではないようだ
  • 2つの用語が何か関係していそうだけれど、どうしてそう思うのか?と考える
  • ひとまず2つの用語を選ぶ
  • ついでその2用語ノードをつないでみる
  • つなぐときには最短距離にしよう
  • 最短距離のパスの周囲に着目してみよう
  • 取り出しには、「最短パス」「最短パス上のノード集合」「最短パス上のノード集合から、指定距離にあるノードの集合「指定ノードの作るサブグラフ」ができればよい

# 2点を指定して、その最短パスを求め、その周囲だけを表示する

two <- c("双対","部分集合")

sh.paths <- get.shortest.paths(g,two[1],two[2])
sh.paths.mat <- shortest.paths(g)

lay <- layout.kamada.kawai(g)
Ls <- 0:10
par(ask=TRUE)
for(i in seq(Ls)){
	L <- Ls[i]
	tmp <- (sh.paths.mat[unlist(sh.paths),] <= L)
	neighbors <- sign(apply(tmp,2,sum))
	tmp.g <- induced.subgraph(g,which(neighbors==1))
	plot(tmp.g,vertex.label=V(tmp.g)$name,vertex.size=3,edge.arrow.mode=0,layout=lay[which(neighbors==1),])

}