gramoloss
Version:
Graph theory package for edition and computation
38 lines (37 loc) • 1.92 kB
JavaScript
;
// -----------------
// Domination number
Object.defineProperty(exports, "__esModule", { value: true });
const graph_1 = require("../graph");
console.log(graph_1.Graph.path(4).dominationNumber() == 2);
console.log(graph_1.Graph.path(6).dominationNumber() == 2);
console.log(graph_1.Graph.path(7).dominationNumber() == 3);
console.log(graph_1.Graph.path(20).dominationNumber() == 7);
console.log(graph_1.Graph.path(22).dominationNumber() == 8);
console.log(graph_1.Graph.path(23).dominationNumber() == 8);
console.log(graph_1.Graph.path(24).dominationNumber() == 8);
console.log(graph_1.Graph.clique(4).dominationNumber() == 1);
console.log(graph_1.Graph.Paley(5).dominationNumber() == 2);
console.log(graph_1.Graph.Paley(13).dominationNumber() == 3);
console.log(graph_1.Graph.Paley(29).dominationNumber() == 4);
console.log(graph_1.Graph.petersen().dominationNumber() == 3);
// ---------------------------------
// Independent domination number IDN
// Example of graph where IDN > DN
const g1 = graph_1.Graph.fromEdges([[0, 2], [0, 3], [0, 4], [1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [2, 5], [3, 6], [3, 7], [4, 6], [4, 7], [5, 6], [5, 7]]);
console.log(g1.dominationNumber() == 2);
console.log(g1.independentDominationNumber() == 3);
// For a bipartite complete graph Knm
// IDN = min(n,m)
// DN = 2
// CDN = 2
console.log(graph_1.Graph.petersen().independentDominationNumber() == 3);
// ---------------------------
// Connected Domination Number
// For a path, CDN = n-2, DN like n/3
console.log(graph_1.Graph.path(2).connectedDominationNumber() == 1);
console.log(graph_1.Graph.path(5).connectedDominationNumber() == 3);
console.log(graph_1.Graph.clique(4).connectedDominationNumber() == 1);
console.log(graph_1.Graph.Paley(5).connectedDominationNumber() == 3);
console.log(graph_1.Graph.Paley(13).connectedDominationNumber() == 4);
console.log(graph_1.Graph.petersen().connectedDominationNumber() == 4);