Skip to content

Commit

Permalink
🚧 quadruplets WP
Browse files Browse the repository at this point in the history
  • Loading branch information
rodigu committed Apr 1, 2022
1 parent d430bab commit 34d869a
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 28 deletions.
37 changes: 23 additions & 14 deletions network.ts
Original file line number Diff line number Diff line change
Expand Up @@ -682,16 +682,16 @@ export class Network {

edges.forEach((edge1) => {
const neighbors1 = this.edgeNeighbors(edge1);
const vertex_check: base_id[] = [];
const vertex_check: Map<base_id, number> = new Map();

let small_neighborhood = neighbors1.from.neighbors;
vertex_check.push(neighbors1.from.id);
vertex_check.push(neighbors1.to.id);
vertex_check.set(neighbors1.from.id, 0);
vertex_check.set(neighbors1.to.id, 1);

if (!this.is_directed) {
if (neighbors1.from.neighbors.length > neighbors1.to.neighbors.length) {
vertex_check[0] = neighbors1.to.id;
vertex_check[1] = neighbors1.from.id;
vertex_check.set(neighbors1.to.id, 0);
vertex_check.set(neighbors1.from.id, 1);
small_neighborhood = neighbors1.to.neighbors;
}
}
Expand All @@ -700,15 +700,24 @@ export class Network {
const edges_of = this.is_directed
? this.edgesFrom(vertex_id)
: this.edgesWith(vertex_id);
vertex_check.push(vertex_id);
edges_of.forEach((edge2) => {
const { vertices } = edge2;
vertex_check.push(
vertices.from === vertex_id ? vertices.to : vertices.from
);
if (this.hasEdge(vertex_check[3], vertex_check[0]))
c4.push(vertex_check);
});
if (!vertex_check.has(vertex_id)) {
vertex_check.set(vertex_id, 2);
edges_of.forEach((edge2) => {
const { vertices } = edge2;
vertex_check.set(
vertices.from === vertex_id ? vertices.to : vertices.from,
3
);

const check_list = [...vertex_check.keys()];
if (
this.hasEdge(check_list[3], check_list[0]) &&
vertex_check.size === 4 &&
!this.listHasCycle(c4, [...vertex_check.keys()])
)
c4.push([...vertex_check.keys()]);
});
}
});
});

Expand Down
41 changes: 27 additions & 14 deletions tester.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,23 +81,36 @@ function getTestTime(): string {
);
}

const net_csv = await nex.loadAdjacencyMatrix("./data/networkMatrix.csv");
// const net_csv = await nex.loadAdjacencyMatrix("./data/networkMatrix.csv");

let test_data = valuesTest(net_csv) + "\n" + algorithmTest(net_csv);
// let test_data = valuesTest(net_csv) + "\n" + algorithmTest(net_csv);

const end_time = new Date().getTime();
const elapsed_time = (end_time - start_time) / 1000;
// const end_time = new Date().getTime();
// const elapsed_time = (end_time - start_time) / 1000;

test_data += "\nElapsed time: " + elapsed_time;
// test_data += "\nElapsed time: " + elapsed_time;

Deno.writeTextFile(
`./data/test_${getTestTime()}_${Math.floor(200 * Math.random())}.txt`,
test_data
);
// Deno.writeTextFile(
// `./data/test_${getTestTime()}_${Math.floor(200 * Math.random())}.txt`,
// test_data
// );

const randomNet = nex.randomNetworkGen({
number_vertices: 20,
number_edges: 40,
});
// const randomNet = nex.randomNetworkGen({
// number_vertices: 20,
// number_edges: 40,
// });

nex.writeAdjacencyMatrix(randomNet);
// nex.writeAdjacencyMatrix(randomNet);

const net = new nets.Network();
net.addEdgeList([
["a", "b"],
["b", "c"],
["c", "d"],
["d", "a"],
["e", "d"],
["e", "c"],
["b", "d"],
]);

console.log(net.quadruplets());

0 comments on commit 34d869a

Please sign in to comment.