MATHEMATICAL SCIENCES
INTERVAL EDGE-COLORING WITH RESTRICTIONS ON EDGES FOR GRAPHS WITH SPECIAL
STRUCTURES OF CYCLES
Sahakyan A.
Ph.D. Student, Chair of Discrete Mathematics and Theoretical Informatics, Faculty of Informatics and Applied Mathematics, Yerevan State University, Armenia
Abstract
An edge-coloring of a graph G with consecutive integers c1, ...,ct is called an interval t-coloring, if all colors are used, and the colors of edges incident to any vertex of G are distinct and form an interval of integers. A graph G is interval colorable if it has an interval t-coloring for some positive integer t. In this paper, we consider the case where there are restrictions on the edges, and the interval edge-coloring should satisfy these restrictions. A cyclic tree is a connected graph in which every vertex belongs to at most one simple cycle. A cycle with chords is a graph that consists of a cycle with vertices 1,..., n and for any two distinct chords (u1, v1) with u1 < v1 and (u2, v2) with u2 < v■
that meets the restrictions on edges for cyclic trees and cycles with chords.
2 < v2, either v1 < u2 or v2 < u1. We provide polynomial algorithms for finding an interval edge-coloring
Keywords: trees, cyclic trees, cycle with chords, interval t-coloring, interval edge-coloring, restrictions on edges, bipartite matching, dynamic programming
Introduction
All graphs considered in this paper are undirected (unless explicitly said), finite, and have no loops or multiple edges. For a graph G, let V(G) and E(G) denote the sets of vertices and edges of G, respectively. The degree of a vertex v £ V(G) is denoted by dc (v). The maximum degree of vertices in G is denoted by A(G).
The graph G is called the underlying graph of a directed graph G if V(G) = V(G) and E(G) = {(u, v) iff u ^ v or v ^ u} (between any pair of vertices u and v, if the directed graph has an edge u^ v or an edge v ^ u, the underlying graph includes the edge (u, v)).
A cyclic tree is a connected graph in which every vertex belongs to at most one simple cycle. We say that the graph G is labeled if the labels of the vertices are 1,...,N. A cycle with chords is a labeled graph that consists of a cycle with vertices 1,...,n and for any two distinct chords (u1, v1) with u1 < v1 and (u2, v2) with u2 < v2, either v1 < u2 or v2 < u1.
An edge-coloring of a graph G is an assignment of colors to the edges of the graph so that no two adjacent edges have the same color [1]. An interval edge-coloring of a graph G is an edge-coloring with positive integers such that for each vertex v the colors of edges incident to v form an interval of integers. An interval edge-coloring of a graph G with colors 1, ...,t is an interval t-coloring if all colors are used. A graph G is interval colorable if it has an interval t-coloring for some positive integer t. The set of all interval colorable graphs is denoted by The concept of an interval edge-coloring of a graph was introduced by Asratian and Kamalian [2]. This means that an interval t-coloring is a function a: E(G) ^ {1,..., t} such that for each edge e the color a(e) of that edge is an integer from 1 to t, for each color from 1 to t there is an edge with that color and for each vertex v all the edges incident to v have different colors forming an interval of integers.
For a graph G £ the least and the greatest values of t for which G has an interval t-coloring are denoted by w(G) and W(G), respectively.
The set of integers {a, a + 1,... ,b}, a < b, is denoted by [a, b]. Let Ik be the set [1, k] of integers, then 2'k is the set of all the subsets of Ik. For two positive integers a and n, a modulo n is denoted by a mod n.
For an interval coloring, a and a vertex v, the set of all the colors of the incident edges of v is called the spectrum of that vertex in a and is denoted by Sa(v). The smallest and the largest numbers in Sa(v) are denoted by Sa(v) and Sa(v), respectively. We consider the following problem: Problem 1: Given a graph G and for some k restrictions on the edges R: E(G) ^ 2'k. Find an interval edge-coloring a: E(G) ^ Ik such that a(e) £ R(e) for all e £ E(G).
We provide polynomial algorithms for the Problem 1 in the case of cyclic trees and cycles with chords.
Interval edge-colorings have been intensively studied in different papers. Lower and upper bounds on the number of colors in interval edge-colorings were provided in [3, 4] and the bounds were improved for different graphs: planar graphs [5], r-regular graphs with at least 2 -r + 2 vertices [6], cycles, trees, complete bipartite graphs [3], n-dimensional cubes [7,8], complete graphs [9, 10], Harary graphs [11], complete k-partite graphs [12], even block graphs [13]. Interval edge-colorings of trees with restrictions on edges were considered in [14], and a polynomial solution was provided. Interval edge-colorings with strict restrictions on the spectrums were considered in [15] for trees, in [16] for cactus graphs.
Interval edge-coloring of cyclic trees with restrictions on edges
Cyclic trees are similar to cactus graphs, but the main difference is that in the case of cactus graphs, a vertex can belong to multiple cycles while in the case of cyclic trees, every vertex can belong to at most one
cycle. Here we consider the Problem 1 for cyclic trees. Let G be a cyclic tree and let M = |E(G)|. We can assume that the restrictions are from [1, M] since we consider edge-colorings. The problem is now the following:
Problem 2: Given a cyclic tree G with N = |V(G)| vertices, M = |E(G)| edges, and some restrictions on the edges R\E(G) ^ 2'M. Find an interval
edge-coloring a: E(G) ^ IM such that a(e) £ R(e) for all e £ E(G).
For a tree T and a vertex r, let Tr be the directed graph whose underlying graph is T and in Tr each edge is directed in such a way that for each vertex v £ V(Tr) there is a path in Tr from r to v. We will say that Tr is a rooted tree with a root r. Fig. 1 illustrates the rooted tree TV ] with the root v ,.
Fig. 1. A rooted tree Tv with the root v■
Let Tr be a rooted tree, the depth of a vertex v, denoted by h(v), is the length of the unique path from the root r to the vertex v. A vertex u is said to be the parent of the vertex v, denoted by p(v), if u ^ v. In that case the vertex v is said to be a child of the vertex u. The children of a vertex v £ V(Tr) are the set W £ V(Tr) of all vertices w of the tree Tr satisfying the condition v ^ w. A vertex having no children is said to be a leaf vertex. Non-root two vertices a,b £ V(Tr) are said to be sibling vertices if p(a) = p(b). For a vertex v let S(v) be the subtree induced by all the vertices w such that there is a path from v to w in Tr [1].
We use Depth-first search algorithm [17]. Depth-first search (DFS) is an algorithm for traversing or searching tree or graph data structures. The algorithm starts at the root vertex (selecting some arbitrary vertex as the root vertex in the case of a graph) and explores as far as possible along each branch before backtracking. In a depth-first search of an undirected graph G, every edge of G is either a tree edge or a back edge (the Theorem 22.10 [17]). If we start the DFS algorithm from a vertex r on a connected graph, then the DFS tree will be the rooted tree Tr that contains all the tree edges from the traversing. The DFS graph will be the directed graph that, in addition to the DFS tree, also includes the back edges.
First, we construct the DFS graph of the cyclic tree G for some root vertex . All the statements and definitions will assume that the DFS graph is already constructed. The DFS graph will be denoted by G. For a vertex v let SG(v) be the subgraph of the graph G induced by all the vertices w such that there is a path from v to w in the DFS tree. SG(v) includes the back edges
too. The vertex v is called the ancestor of the vertex u if u±v and u £ V(SG(v)). Let h(v) be the distance from the root vertex r to the vertex v in the DFS tree. If v ^ u is a back edge then h(v) > h(u).
In the DFS graph of a cactus graph G, for each tree edge v ^ u there can be at most one back edge connecting a vertex from the subgraph SG(u) to an ancestor of the vertex u (otherwise the edge v ^ u would be inside two cycles). Since cyclic trees are a special case of cactus graphs, the statement is true for cyclic trees too. Hence, we can say that for any vertex v, there can be at most one back-edge that starts from that vertex.
This means that ie(G)| = 10 ( V(G)) | and since the graph G is the underlying graph of the DFS graph G, it means |E(G)| = 0(|V(G)|) for the cyclic tree G.
Let us define a function B: V(G) ^ V(G) the following way: if there is a back-edge v ^ u that starts from the vertex v let B( v) = u, otherwise let B( v) = v. Since in the case of cyclic trees there can be at most one back-edge and the function B is uniquely defined for every vertex.
Let us also define a function A: V(G) ^ V(G). For a vertex v if there is a vertex u £ V(SG(v)) such that h(B(u)) < h(v) (the vertex B(u) is the ancestor of the vertex v) then A( v) = u (there can be at most one such vertex). If there is no such vertex, then A(v) = v.
For a vertex v, let U (v) be the subgraph induced by all the edges connecting the vertices from the subgraph SG(v) (including the back-edges). Fig. 2 illustrates the DFS graph of a cyclic tree on the left and the subtree U(v11) on the right.
Fig. 2. The DFSgraph G with the root v1 on the left, and the subgraph U(v11) on the right. The subgraph U (v11) is illustrated with blue color, the subgraph SG(v) with green.
In Fig. 2, V(U(Vn)) =
{ v1, v6, v7, v8, v9, v10, v11, v13, v14} and the edges are all the edges incident to the vertices of the subgraph V(SG(v11)). Apart from the edges of subgraph there can be at most two additional edges in U (v). The edge p(v) ^ v and the back-edge A(v) ^ B(A(v)). For a non-root vertex v, let ev be the edge p(v) ^ v and let bv be the edge A(v) ^ B(A(v)) if h(B(A(v))) <
h(v). From the definition we can say that e v,bv £ E(U(v)).
We are going to calculate values colorable[v][c1][c2] (where c1,c2 £ [0,M]) which is 1 if there is an edge-coloring a of U(v) that satisifes the restrictions R for the edges of E(U(v)), a(ev) = c^, a(bv) = c2, and for all the vertices of u £ V(SG (v)) the colors of the edges incident to u form an interval of integers. Otherwise,
colorable[v][c1][c2] = 0. In other words, we require the condition of interval edge-coloring only for the vertices of V(SG(v)) but we require for all the edges in E( U( v)) to meet the restrictions R. The color 0 is an artificial color to indicate no color. For the root vertex r we are going to store the value in colorable [v] [0] [0] since er and br are not defined. For a non-root vertex v for which bv is not defined we are going to calculate only c ol ora b le[ v] [ ^][0].
We will calculate the values of c ol or able [v] [c1] [c2] from the bottom to the top in the DFS graph. Let v £ V(G) be an arbitrary vertex and let u1, ...,um be the child vertices of the vertex v. Assume we already calculated the values for u1,...,um. We now want to combine these values to calculate the values c ol orable[v][c1][c2] for the vertex v.
There are several cases to consider:
• C1: B(A(v)) = v, B(A(u)) = ^ for all i £ [1, m] which means there is no back-edge from the subgraph SG(v) and for all the child vertices their respective subgraphs do not have a back-edge starting from that child subgraph.
• C2: B(A(v)) = v, B(A(ui)) ± u, for some i £ [1,m] which means there is no back-edge from the subgraph SG (v), but there is a back-edge starting from that child subgraph. There can be at most one such child vertex; otherwise, the vertex v would belong to more than one cycle. In that case, we will assume that child vertex is the vertex um with B (A(um)) = v.
• C3: B(A(v)) ± v and v = A(v), which means the back-edge from the subgraph SG(v) starts from the vertex v. In that case B(A(ui)) = u, for all i £ [1,m], otherwise, the vertex v would belong to more than one cycle.
• C4: B(A(v)) ± v and v ± A(v) which means the back-edge from the subgraph SG(v) is the same as the back-edge from one of its child vertex subgraphs. In that case, without loss of generality, we can assume that this child is the child vertex um (the last child vertex in the list of child vertices). Hence in this case A(v) = A(um).
Initially we assume that c ol orabl e[v][c1][c2] = 0 for all v£ V(G), c1, c2 £ [0, M]. We will describe a procedure that will find all the possible cases of colorable[v][c1][c2] = 1.
Assume the vertex v is not the root vertex and let us solve each of these cases separately. The Case C1 is very similar to the solution of the trees. In this case for each color c1 £ [1, M], if c1 £ R(ev) we take an interval [L, L + m] with c1 £ [L,L + m] and color all the edges incident to the vertex v with the colors from [L,L +m]. To do that, let the colors {g1,.,gm} = [L, L + m]\ {c1}. We create a bipartite graph with the vertices u1,.,um on the left part, the vertices g1,... ,gm on the right part and add the edge (u,, gf) if colorable [u,] [gj] [0] = 1. If we find a perfect matching in this bipartite graph then c ol ora b l e[ v] [ c1] [0] = 1.
For the Case C2, the edges incident to the vertex v are ev,bUm,(v,u1),... ,(v,um). For each color ^ £ [1,M], if c1 £ R(ev) we take an interval [L,L + m +
1] and take a color c3 £ [L,L + m + 1] that is not equal to c1. We want to color the edge ev with the color c1, the edge bUm with the color c3 and the edges (v, ut) with the colors from [L,L + m + 1] such that all the restrictions are met. Let {g1,... ,gm} = [L,L + m + 1]\ {c1,c3} be the remaining colors. We create a bipartite graph with the vertices u1,...,um on the left, the vertices g1,.,gm on the right and we add the edge (ut,gj) for i £ [1,m — 1] if colorable[ui][gj][0] = 1 and we add the edge (um,gj) if colorable[um][gj][c3] = 1. If there is a perfect matching in this bipartite graph then colorable[v][c1][0] = 1.
For the Case C3, the edges incident to the vertex v are ev, bv, (v, u1),..., (v, um). For all the child vertices Ui, we have b(a(ul)) = ut. For each color c1,c2 £ [1, M], if c1 £ R(ev), c2 £ R(bv), and c1 ± c2 we take an interval [L,L + m + 1] and if c1,c2 £ [L,L + m + 1] we do the following: we take the remaining colors {g1,...,gm} = [L,L + m + 1] \ {c1, c2} and create a bipartite graph with vertices u1,...,um on the left part, and vertices g1, ...,gm on the right part. We take an edge (ui,gj) if colorable[ui][g j][0] = 1. If we can find a perfect matching in this bipartite graph then colorable[v][c1][c2] = 1.
For the Case C4, the edges incident to the vertex v are ev, (v,u1),..., (v,um). But we also have the edge bv that we need to take into account. For each color c1,c2£[1,M], if c1 £ R(ev) we take an interval [L, L + m] with c1 £ [L,L + m] and do the following: we take the remaining colors {g1,.,gm} = [L,L + m] \ fa} and create a bipartite graph with vertices u1,..., um on the left part, and vertices g1,..., gm on the right part. We take an edge (ut,gj), (i £ [1,m- 1]) if colorable[ui][gj][0] = 1. We take an edge (um,gj) if colorable[um] [g^ [c2] = 1. If we can find a perfect matching in this bipartite graph then colorable[v][c1][c2] = 1.
In other words, we save the color of the edge bv for all the vertices in the path from A (v) to v and when we reach the vertex B(A(v)) we make sure that the color is a part of the interval for the vertex B (A (v)).
When the vertex v is the root vertex, then only the Case C1 and the Case C2 can happen and the only difference is that we no longer need to worry about the color c1.
To calculate the complexity of the algorithm, note that the heaviest operation is in the case C4. Moreover, we might need to do that operation for all the vertices (for example, if the graph is a cycle). If we use Kuhn's algorithm [18] for finding a perfect matching, then it will take 0(dG (v)) operations for the vertex v. In the case of C4, we do 0(N2) operations for selecting the two colors and 0(dG(v)) operations for selecting the interval. The total complexity will be
0(N2ZV£ViG)dG(vy) = 0(N2(ZV£HG)dG(v))4) = 0(N6).
Interval edge-coloring of cycles having chords with restrictions on edges
Here we consider the Problem 1 for a class of graphs called cycles with chords. Let G be a connected labeled graph with N vertices.
Definition 1: Given a labeled graph G with N vertices. The graph G is called cycle with chords if:
• N >3.
• (1,2) £ E(G),(2,3) £ E(G),...,(N -1,N)£ E(G),(N,1) £ E(G). These edges are called cycle edges.
• All the edges that are not cycle edges are called chords. For any two distinct chords (u1, v1) £ E(G) (u1 < v1) and (u2,v2) £ E(G) (u2 < v2), either v1 < u2 or v2 < u1.
Let G be a cycle with chords (|V(G)| = N). Let next(v) = (v mod N) + 1 be the next vertex to which the vertex v is connected with a cycle edge, and prev(v) = ((v — 1 + N — 1) mod N) + 1 be the previous vertex to which the vertex v is connected with a cycle edge. (i,next(i)) £ E(G) for 1 < i < N, next(N) = 1, prev(1) = N, next(prev(i)) = i for 1<i<N.
Consider a regular convex N sided polygon with vertices 1,..., N. The sides of the polygon are (i, i + 1) (1 < i < N — 1) and (N, 1). We can map the vertices of the graph G to the vertices of that polygon (by keeping the same indices). For every edge (u,v) £ E(G), we connect the respective vertices of the polygon with a segment. Let P be the resulting plane figure. In this case, we say that P is the polygon representation of the graph G.
For a chord (u, v) we will say that it has a forward direction if u < v and backward direction if v <u. Note that if (u, v) has a backward direction then (v, u) has a forward direction.
Lemma 1: If G is a cycle with chords having N vertices, and P is the polygon representation of G then:
a) For any vertex v £ V(G) there are not two chords that start with the vertex v and have the same direction.
b) 2<dc (v) <4 for all v£ V(G).
c) For any two distinct chords (u1,v1) £ E(G) and (u2,v2) £ E(G) their respective segments in the polygon representation do not intersect (they can have common vertex though).
d) dG(1)<3, dG(N)<3.
(a) Let (v,u1) and (v,u2) be two chords and assume they both have forward direction (v < u1 and v < u2). This contradicts the third condition of the cycle with chords since neither v <u2 nor u1 < v. Hence if (v,u1) and (v,u2) are two distinct chords, one of them should have a forward direction and the other one should have a backward direction.
(b) dG (v) > 2 for all v £ V(G) since every vertex v is connected to the vertex next(v) and prev(v) (next(v) ^ prev(v) since N > 3). Suppose there is a vertex v that is incident to more than two chords (v, u1), (v, u2), (v, u3). Each of these chords has either a forward direction or backward direction, hence at least two should have the same direction. This contradicts point (a). Hence every vertex can be incident to at most two chords.
(c) Let (U1,vj (U1 < V1) and (u2,V2) (^ <
be two arbitrary chords of G. We have that either v1 < u2 or v2 < u1. Assume v1 <u2, in that case, the respective segments in the polygon representation can not
intersect since two segments intersect if the two points of one segment are in two different parts in the polygon. In this case, both points are in the same part.
(d) The vertex 1 can not be incident to two chords since if (1,u1) and (1,u2) are two chords, they both have a forward direction which contradicts the point (a). In the same way, the vertex N can not be incident to two chords.
From Lemma 1 we can define forward(v) to be the vertex u if (v, u) is a chord and v < u, or forward(y) = v if no such chord exists. Similarly, let
backward(v) be the vertex u if (v, u) is a chord and u < v, or backward(v) = v if no such chord exists. If (v, fowrad(v)) is a chord then v = backwar d (forward (v)). Similarly, if
(v, backward(v)) is a chord then v = forward(backward(v)). Since dc(v) < 4 for all v E V(G), we have IE(G)I = 0(|V(G)|). Fig. 3 illustrates an example of a cycle with chords having eight vertices and three chords. In the example next (6) = 7, prev(6) = 5, forward(6) = 8, backward(6) = 3.
Fig. 3. A cycle with chords having eight vertices.
Now the problem is the following:
Problem 3: Given a cycle with chords G with N = |V(G)| vertices, M = |E(G)| edges, and some restrictions on the edges R\E(G) ^ 2'M. Find an interval edge-coloring a: E(G) ^ IM such that a(e) E R(e) for all E E( G).
First, we need to fix the color of the edge (1, N). We will take all the possible colors x E R(1, N) and try to find an edge-coloring a such that a(1, N) = x. After fixing the color x, we can now find an edge-coloring by constructing it from left to right using dynamic programming.
We will now describe the algorithm for a fixed x. For every vertex v E V(G), let b(v) = u if there is a vertex u E V(G) such that u < v and forward(u) > v, otherwise, let b(v) = v. The vertex b(v) is the first vertex to the left of the vertex v such that the chord (u, forward (u)) goes over the vertex v (or ends at v). Let F(i) be the set of edges that contains the cycle edges (j,j + 1) for 1 < j < i, the cycle edge (1, N), and all the chords that are incident to any of the vertices 1 < < .
We will store dp[i][c1][c2] for each vertex 1 < c2<M,0<c2<M. Cl is the color of the cycle edge (pre v( i),i), c2 is the color of the chord (bt, forward(b(i))) if b(i) ± i or c2 = 0 if b(i) = i. Let dp[i][c1\[c2] = 1 if there is an edge-coloring for the edges of F(i), such that
a(1,N) = x, a(prev(i),i) = c1 and
a (' b(i), forward(b(i))) = c2 if b(i) ± i (if b(i) = i
then c2 = 0) and for all the vertices from 1, ...,i — 1 the colored edges form intervals of integers for these vertices. We will assume that dp[¿] [cJ [c2] = 0 initially for all 1 < i < N, 0 < c1, c2 < M.
For the vertex 1, we will make dp [1] [x] [0] = 1. Assume we already calculated the values for the vertices 1, ...,k — 1, and now we want to calculate for the vertex k. There are several cases to consider:
• C1: b(k) = k and backward(k — 1) = k — 1
• C2: b(k) = k and backward(k — 1) ± k — 1
• C3: b(k) = k — 1 and backward(k — 1) = k — 1
• C4: b(k) = k — 1 and backward(k — 1) ± k — 1
• C5: b(k) < k — 1
When b(k) = k and backward(k — 1) = k — 1 it means that there is no backward chord starting with k or starting with k — 1, and there is no chord that contains the vertex k. In this case we take all the colors 1 for which colorable[k — 1][c1][0] = 1, and consider the colors ^ + 1 and c1 — 1 (let S = {c1 — 1, c1 + 1}). For any color c E S, if c E R(k — 1,k) then colorable[k][c][0] = 1. This way, we ensure that the colors of the edges incident to the vertex k — 1 form an
interval of integers.
When b(k) = k and backward(k — 1) ± k — 1 it means that there is no backward chord starting with k, but there is a backward chord starting with k — 1 (the chord (k — 1,backward(k — 1))), and there is no
chord that contains the vertex k. The vertex k — 1 has three incident edges. For every color c1 £ [1,M], we try to color the edge (prev(k — 1),k — 1) with the color c1, and we need to find two other colors c2 and c3 such that the set of colors { c1, c2,c3} is an interval of integers with length three. The color c2 is going to be the color of the chord (k — 1, backward(k — 1)), the color c3 is going to be the color of the cycle edge (k — 1,k). We can pick the colors c2,c3 from the colors {c1 — 2,c1 — 1, cl + 1,c1 + 2} and we need to make sure 1 < c2,c3 < M. If we find such colors c2, c3 such
integers with length three, 1<c2,c3<M,
colorable[k — 1][cJ[0] = 1, c2 £ R(k
1, forward(k — 1)), c3 £ R(k — 1, k) and in that case we assign colorable[k][c3][c2] = 1.
When b(k) = k — 1 and backward(k — 1) ± k — 1 it means that the vertex k — 1 is incident to four edges. The edges are (prev(k — 1),k — 1),
(backward(k — 1),k — 1), (forward(k — 1), k 1), (k — 1, k). The edges are going to be colored with colors c1,c2,c3,c4 respectively. To do that, for any color cl £ [1, M] we pick the colors c2, c3, c4 from the that c olorable[k — 1] [cl] [c2] = 1 and c3 £ R(k — set {cl — 3,cl — 2, cl — 1,cl + 1, cl + 2,cl + 3} such 1,k) then we assign colorable[k][c3][0] = 1.
When b(k) = k — 1 and backward(k — 1) = k — 1 it means that the vertex k — 1 has three incident
that the colors {cl, c2, c3, c4} form an interval of integers with length four, 1 < c2,c3,c4 < M. If
edges. Similar to the previous case, for each color 1 £
[1,M] we try to find colors c2,c3 £ {cl — 2,c
1, c, + 1, c, + 2} such that {c,, c2, c3} is an interval of
c ol orable[k — 1][cl][c2] = 1, c3£R(k
1, forward(k — 1)), c4 £ R(k — 1,k) then we assign c olorable[k] [c4] [c3] = 1. Fig. 4 illustrates this case.
Fig. 4. The case when b(k) = k — 1 and backward(k — 1) ± k — 1.
When b (k) < k — 1 then the vertex k — 1 has two incident edges. We take any two colors cl, c2 £ [1, M] such that c ol orabl e[ k — 1][c1][c2] = 1. Then we pick a color c3 from { cl — 1,c1 + 1} and if c3 £ R(k — 1, k) then we assign colorab I e[fc][c3][c2] = 1.
When we finish the calculation of c olorable[N][c1][c2] there are two cases. The first case is when b (N) = N, in which case we need to make sure that there is a color 1 such that c ol or able [N] [cl] [0] = 1 and the set {x, c-} is an interval of integers with length two. If we can find such cl , then there is an interval edge-coloring of the graph G that satisfies all the restrictions; otherwise, it is impossible to find such interval edge-coloring. The second case is when b(N) ± N, in which case we need to make sure that there are colors c1,c2 such that c olorable[N][c1][c2] = 1 and the set {x,c1,c2} is an interval of integers with length two. If we can find such 1, 2 then there is an interval edge-coloring of the graph G that satisfies all the restrictions, otherwise, it is not possible to find such interval edge-coloring.
To calculate the complexity of the algorithm, note that the heaviest operation is in the last case, where we pick two colors. If there was a chord (1, N — 1), we would do that operation for almost all vertices. We also need to select the color x. Hence the complexity of the algorithm is 0(N4).
REFERENCES:
1. West D.B. Introduction to Graph Theory. Prentice-Hall, New Jersey, 1996.
2. Asratian A.S., Kamalian R.R. Interval Colorings of Edges of a Multigraph. Appl. Math. 5 (1987), 25--34 (in Russian).
3. Kamalian R.R. Interval Colorings of Complete Bipartite Graphs and Trees. Preprint of the Computing Centre of the Academy of Sciences of Armenia. Yer. (1989).
4. Kamalian R.R. Interval Edge-colorings of Graphs. Doctoral Thesis. Novosibirsk (1990).
5. Axenovich M.A. On interval colorings of planar graphs. Congr. Numer. 159 (2002) 77-94.
6. Kamalian R.R., Petrosyan P.A. A note on interval edge-colorings of graphs. Math. Probl. Comput. Sci. 36 (2012) 13-16.
7. Petrosyan P.A. Interval edge-colorings of complete graphs and n-dimensional cubes. Discrete Math. 310 (2010) 1580-1587. https://doi.org/10.10167j.disc.2010.02.001
8. Petrosyan P.A., Khachatrian H.H., Tananyan H.G. Interval edge-colorings of Cartesian products of graphs I. Discuss. Math. Graph Theory 33 (2013) 613632.
https://doi.org/10.7151/dmgt.1693
9. Khachatrian H. H., Petrosyan P. A. Interval edge-colorings of complete graphs. Discrete Mathematics, 339(9), (2016) 2249-2262. https://doi.org/10.1016/j.disc.2016.04.002
10. Kamalian R. R., Petrosyan, P. A. On Lower Bound for W(K2n). Mathematical Problems of Computer Science, Vol. 23, (2004), pp. 127--129
11. Kamalian R.R., Petrosyan P.A., On interval edge colorings of Harary graphs H2n-2 2n. Mathematical Problems of Computer Science, Vol. 24, (2005), pp. 86-88
12. Kamalian R. R., Petrosyan P. A. On Interval Colorings of Complete k-partite Graphs Kn. Mathematical Problems of Computer Science, Vol. 26, (2006), pp. 28—32
13. Sahakyan A., Muradyan L. (2021). INTERVAL EDGE-COLORING OF EVEN BLOCK GRAPHS. Norwegian Journal of Development of the
International Science, (70-1), 26-30. https://doi.org/10.24412/3453-9875-2021-70-1-26-30
14. Sahakyan A. K., Kamalian R. R. (2021). INTERVAL EDGE-COLORINGS OF TREES WITH RESTRICTIONS ON THE EDGES. Proceedings of the YSU A: Physical and Mathematical Sciences, 55(2 (255)), 113-122. https://doi.org/10.46991/PYSU:A/2021.55.2.113
15. Sahakyan A. K. (2021). INTERVAL EDGE COLORING OF TREES WITH STRICT RESTRICTIONS ON THE SPECTRUMS. Science Review, (3 (38)), 27-29. https://doi.org/10.31435/rsglobal_sr/30072021/7592
16. Sahakyan A. K. (2021). EDGE COLORING OF CACTUS GRAPHS WITH GIVEN SPECTRUMS. International Academy Journal Web of Scholar, (2(52)), 25-28. https://doi.org/10.31435/rsglobal_wos/30062021/7617
17. Cormen T. H. Introduction to algorithms. Cambridge, Massachusetts; London: The MIT Press. 2009
18. Kuhn H. The Hungarian Method for the Assignment Problem. Naval Research Logistics Quarterly 2 (1955), 83--97.