UNPKG

gramoloss

Version:

Graph theory package for edition and computation

53 lines (35 loc) 1.67 kB
// ----------------- // Domination number import { Graph } from "../graph" console.log(Graph.path(4).dominationNumber() == 2) console.log(Graph.path(6).dominationNumber() == 2) console.log(Graph.path(7).dominationNumber() == 3) console.log(Graph.path(20).dominationNumber() == 7) console.log(Graph.path(22).dominationNumber() == 8) console.log(Graph.path(23).dominationNumber() == 8) console.log(Graph.path(24).dominationNumber() == 8) console.log(Graph.clique(4).dominationNumber() == 1) console.log(Graph.Paley(5).dominationNumber() == 2) console.log(Graph.Paley(13).dominationNumber() == 3) console.log(Graph.Paley(29).dominationNumber() == 4) console.log(Graph.petersen().dominationNumber() == 3); // --------------------------------- // Independent domination number IDN // Example of graph where IDN > DN const g1 = 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.petersen().independentDominationNumber() == 3); // --------------------------- // Connected Domination Number // For a path, CDN = n-2, DN like n/3 console.log(Graph.path(2).connectedDominationNumber() == 1); console.log(Graph.path(5).connectedDominationNumber() == 3); console.log(Graph.clique(4).connectedDominationNumber() == 1); console.log(Graph.Paley(5).connectedDominationNumber() == 3); console.log(Graph.Paley(13).connectedDominationNumber() == 4); console.log(Graph.petersen().connectedDominationNumber() == 4);