git-svn-id: http://igraph.rubyforge.org/svn/trunk@50 71f48855-0bbf-4aa5-930d-4df415e86613
This commit is contained in:
parent
9a93da3491
commit
e61bb75550
|
@ -0,0 +1,24 @@
|
||||||
|
require 'igraph'
|
||||||
|
|
||||||
|
g = IGraph.new(['A','B','A','C','A','D','C','D'],false)
|
||||||
|
|
||||||
|
adj = g.get_adjacency(2)
|
||||||
|
g.vcount.times do |k|
|
||||||
|
adj[k][k] = 1
|
||||||
|
end
|
||||||
|
|
||||||
|
dis = Array.new(4){|i| Array.new(4)}
|
||||||
|
|
||||||
|
dis.each_with_index do |row,i|
|
||||||
|
row.each_with_index do |cell,j|
|
||||||
|
cij = 0
|
||||||
|
g.vcount.times do |k|
|
||||||
|
puts "#{i} #{j} #{k}"
|
||||||
|
cij += adj[i][k] * adj[j][k]
|
||||||
|
end
|
||||||
|
dis[i][j] = 10 - cij
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
p adj
|
||||||
|
p dis
|
|
@ -0,0 +1,11 @@
|
||||||
|
require 'test/unit'
|
||||||
|
require 'igraph'
|
||||||
|
|
||||||
|
Infinity = 1.0/0
|
||||||
|
|
||||||
|
class TestGraph < Test::Unit::TestCase
|
||||||
|
def test_dijkstra
|
||||||
|
g = IGraph.new([1,2,3,4],false)
|
||||||
|
assert_equal [[0,1.5,Infinity,Infinity]], g.dijkstra_shortest_paths([1],[1.5,2.5],IGraph::OUT)
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,21 @@
|
||||||
|
require 'test/unit'
|
||||||
|
require 'igraph'
|
||||||
|
|
||||||
|
class TestGraph < Test::Unit::TestCase
|
||||||
|
def test_independent_vertex_sets
|
||||||
|
g = IGraph.new([1,2,3,4],true)
|
||||||
|
assert_equal [[1,3],[1,4],[2,3],[2,4]], g.independent_vertex_sets(2,0)
|
||||||
|
end
|
||||||
|
def test_largest_independent_vertex_sets
|
||||||
|
g = IGraph.new([1,2,3,4,1,5],true)
|
||||||
|
assert_equal [[2,3,5],[2,4,5]], g.largest_independent_vertex_sets
|
||||||
|
end
|
||||||
|
def test_maximal_independent_vertex_sets
|
||||||
|
g = IGraph.new([1,2,3,4],true)
|
||||||
|
assert_equal [[1,3],[1,4],[2,3],[2,4]], g.maximal_independent_vertex_sets
|
||||||
|
end
|
||||||
|
def test_independence_number
|
||||||
|
g = IGraph.new([1,2,3,4],true)
|
||||||
|
assert_equal 2, g.independence_number
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,33 @@
|
||||||
|
require 'test/unit'
|
||||||
|
require 'igraph'
|
||||||
|
|
||||||
|
class TestGraph < Test::Unit::TestCase
|
||||||
|
def test_isomorphic
|
||||||
|
g = IGraph.new([1,2,3,4],false)
|
||||||
|
h = IGraph.new([5,6,7,8],false)
|
||||||
|
assert_equal true, g.isomorphic(h)
|
||||||
|
assert_equal true, h.isomorphic(g)
|
||||||
|
end
|
||||||
|
def test_isomorphic_vf2
|
||||||
|
g = IGraph.new([1,2,3,4],false)
|
||||||
|
h = IGraph.new([5,6,7,8],false)
|
||||||
|
assert_equal true, g.isomorphic_vf2(h)
|
||||||
|
assert_equal true, h.isomorphic_vf2(g)
|
||||||
|
end
|
||||||
|
def test_isoclass
|
||||||
|
g = IGraph.new([1,2,3,4],false)
|
||||||
|
h = IGraph.new([5,6,7,8],false)
|
||||||
|
assert g.isoclass >= 0 and g.isoclass <= 11
|
||||||
|
assert_equal h.isoclass, g.isoclass
|
||||||
|
end
|
||||||
|
def test_isoclass_subgraph
|
||||||
|
g = IGraph.new([1,2,3,4],false)
|
||||||
|
assert g.isoclass_subgraph([1,2,3]) >= 0 and g.isoclass <= 4
|
||||||
|
assert_equal g.isoclass_subgraph([1,2,3]), g.isoclass_subgraph([2,3,4])
|
||||||
|
end
|
||||||
|
def test_igraph_isoclass_create
|
||||||
|
g = IGraph.new([1,2,3,4],false)
|
||||||
|
h = IGraph.isoclass_create(4,g.isoclass,false)
|
||||||
|
assert_equal g.isoclass, h.isoclass
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,19 @@
|
||||||
|
require 'test/unit'
|
||||||
|
require 'igraph'
|
||||||
|
|
||||||
|
class TestGraph < Test::Unit::TestCase
|
||||||
|
def test_motifs_randesu
|
||||||
|
g = IGraph.new(['A','B','C','D','A','C'],false)
|
||||||
|
hist = g.motifs_randesu(3,[0,0,0])
|
||||||
|
assert_equal [0,0,2,0], hist
|
||||||
|
end
|
||||||
|
def test_motifs_randesu_no
|
||||||
|
g = IGraph.new(['A','B','C','D','A','C'],false)
|
||||||
|
assert_equal 2, g.motifs_randesu_no(3,[0,0,0])
|
||||||
|
end
|
||||||
|
def test_motifs_randesu_estimate
|
||||||
|
g = IGraph.new(['A','B','C','D','A','C'],false)
|
||||||
|
assert_equal 2, g.motifs_randesu_estimate(3,[0,0,0],4,nil)
|
||||||
|
assert_equal 2, g.motifs_randesu_estimate(3,[0,0,0],0,['A','B','C','D'])
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue