I have drawn some graphs within the notbook mupad and have found their chromatic numbers. Is it possible to then find their total chromatic numbers?

For example the total chromatic number for the following graph:
HG1 := Graph([a, b, c, d], [[a, b], [b, c], [b, d], [a, c], [a, d], [c, d]], Undirected):
vOrder := [None, None, None, None, None, None, a, None, None, None, None, None, None, None, None, None, None, None, b, None, None, None, None, None, None, None, c, None, None, None, None, None, None, d, None, None ]:
plot(Graph::plotGridGraph(HG1, VerticesPerLine = 12, VertexOrder = vOrder))

Answers (1)

Hi Olivia,
You can use a simple greedy algorithm to find the color of each vertex in MATLAB. Following is a sample code for the same:
% Sample graph input
s = [1 1 2 2 3 4 4 5 5 6 7 8];
t = [2 4 3 5 6 5 7 6 8 9 8 9];
G = graph(s, t);
plot(G);
% Find the chromatic number (vertex coloring) using a greedy algorithm
numNodes = numnodes(G);
vertexColors = zeros(numNodes, 1);
for i = 1:numNodes
neighborColors = vertexColors(neighbors(G, i));
availableColors = setdiff(1:numNodes, neighborColors);
vertexColors(i) = availableColors(1);
end
disp('Vertex Colors:');
disp(vertexColors);
For migrating MuPAD notebooks to MATLAB live script, please refer the following MATLAB Answer:
Hope this helps!

Asked:

on 20 Sep 2016

Answered:

on 5 Sep 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!