Original: Chromatic Correlation Clustering, Revisited
Revised: Chromatic Correlation Clustering, Revisited

Original: Abstract
Revised: Abstract

Original: Chromatic Correlation Clustering (CCC) (introduced by Bonchi et al.
Revised: Chromatic Correlation Clustering (CCC) (introduced by Bonchi et al.

Original: [6]) is a natural generalization of the celebrated Correlation Clustering (CC) problem.
Revised: [6]) is a natural generalization of the celebrated Correlation Clustering (CC) problem.

Original: It models objects with categorical pairwise relationships by an edge-colored graph, and has many applications in data mining, social networks and bioinformatics.
Revised: It models objects with categorical pairwise relationships by an edge-colored graph, and has many applications in data mining, social networks and bioinformatics.

Original: We show that there exists a 2 .
Revised: We show that there exists a 2 .

Original: 5 -approximation to the CCC problem based on a Linear
Revised: 5 -approximation to the CCC problem based on a Linear

Original: Programming (LP) approach, thus improving the best-known approximation ratio of 3 achieved by Klodt et al.
Revised: Programming (LP) approach, thus improving the best-known approximation ratio of 3 achieved by Klodt et al.

Original: We also present an efficient heuristic algorithm for CCC leveraging a greedy clustering strategy, and conduct extensive experiments to demonstrate the effectiveness and efficiency of our proposed algorithm.
Revised: We also present an efficient heuristic algorithm for CCC leveraging a greedy clustering strategy, and conduct extensive experiments to demonstrate the effectiveness and efficiency of our proposed algorithm.

Original:  Introduction
Revised:  Introduction

Original: Clustering is the task of partitioning a set of objects into groups according to their relationships.
Revised: Clustering is the task of partitioning a set of objects into groups according to their relationships.

Original: One of the most important clustering problems is Correlation Clustering (CC), which has attracted great interests in recent years (e.g., [2, 10]).
Revised: One of the most important clustering problems is Correlation Clustering (CC), which has attracted great interests in recent years (e.g., [2, 10]).

Original: In the CC problem, the input instance is an undirected complete graph with each edge labeled as either similar or dissimilar and the goal is to partition the graph nodes into an arbitrary number of clusters such that the number of disagreements is minimized, where a “disagreement” occurs if a dissimilar edge links two nodes in the same cluster or
Revised: In the CC problem, the input instance is an undirected complete graph with each edge labeled as either similar or dissimilar and the goal is to partition the graph nodes into an arbitrary number of clusters such that the number of disagreements is minimized, where a “disagreement” occurs if a dissimilar edge links two nodes in the same cluster or

Original: a similar edge links two nodes in different clusters.
Revised: a similar edge links two nodes in different clusters.

Original: However, CC only models binary relationships, which is insufficient in many applications.
Revised: However, CC only models binary relationships, which is insufficient in many applications.

Original: For example, the relationships in a social network could have multiple types such as colleague, schoolmate, and family.
Revised: For example, the relationships in a social network could have multiple types such as colleague, schoolmate, and family.

Original: To address this issue, Bonchi et al.
Revised: To address this issue, Bonchi et al.

Original: [6] generalize the CC problem to the Chromatic Correlation Clustering (CCC) problem, where an edge-colored graph is used to model the multi-type relationships in practice, i.e., each edge is associated with one color and each color represents a type of relationship.
Revised: [6] generalize the CC problem to the Chromatic Correlation Clustering (CCC) problem, where an edge-colored graph is used to model the multi-type relationships in practice, i.e., each edge is associated with one color and each color represents a type of relationship.

Original: The goal of CCC is to partition the graph nodes into several clusters and assign a color to each cluster to minimize the number of disagreements, where a disagreement happens in any case other than that two non-adjacent nodes belong to different clusters or that two adjacent nodes belong to the same cluster with the cluster’s color being identical to the color of the edge between these nodes.
Revised: The goal of CCC is to partition the graph nodes into several clusters and assign a color to each cluster to minimize the number of disagreements, where a disagreement happens in any case other than that two non-adjacent nodes belong to different clusters or that two adjacent nodes belong to the same cluster with the cluster’s color being identical to the color of the edge between these nodes.

Original: Due to its generality, CCC has wide applications including link classification, entity de-duplication, mining protein complexes in protein-protein interaction networks, and so on [3, 6, 25].
Revised: Due to its generality, CCC has wide applications including link classification, entity de-duplication, mining protein complexes in protein-protein interaction networks, and so on [3, 6, 25].

Original: Related work.
Revised: Related work.

Original: The original Correlation Clustering (CC) problem has been extensively studied since the seminal work of Ben-Dor et al.
Revised: The original Correlation Clustering (CC) problem has been extensively studied since the seminal work of Ben-Dor et al.

Original: Bansal et al.
Revised: Bansal et al.

Original: [4] proved its NP-hardness and gave the first constant-factor approximation, which was improved to 4 in [9] by rounding the solution to a linear programming relaxation.
Revised: [4] proved its NP-hardness and gave the first constant-factor approximation, which was improved to 4 in [9] by rounding the solution to a linear programming relaxation.

Original: Ailon et al.
Revised: Ailon et al.

Original: [2] proposed a simple linear-time algorithm dubbed
Revised: [2] proposed a simple linear-time algorithm dubbed

Original: Pivot that achieves 3-approximation, and also proposed an LP-rounding based algorithm with an improved approximation ratio of 2.5.
Revised: Pivot that achieves 3-approximation, and also proposed an LP-rounding based algorithm with an improved approximation ratio of 2.5.

Original: Chawla et al.
Revised: Chawla et al.

Original: [10] further improved this ratio to 2.06 by using a more sophisticated LP-rounding technique, which nearly matches the known integrality gap of 2 [9] for the LP formulation of CC.
Revised: [10] further improved this ratio to 2.06 by using a more sophisticated LP-rounding technique, which nearly matches the known integrality gap of 2 [9] for the LP formulation of CC.

Original: Some studies also proposed fast heuristic algorithms for
Revised: Some studies also proposed fast heuristic algorithms for

Original: CC [16, 17, 29, 30, 34], but without providing any performance guarantee.
Revised: CC [16, 17, 29, 30, 34], but without providing any performance guarantee.

Original: Due to the importance of
Revised: Due to the importance of

Original: CC, a lot of its variants and related problems have been investigated in the literature [2, 7, 8, 9, 10, 13, 14, 18, 21, 22, 24, 26, 27, 31, 32, 33].
Revised: CC, a lot of its variants and related problems have been investigated in the literature [2, 7, 8, 9, 10, 13, 14, 18, 21, 22, 24, 26, 27, 31, 32, 33].

Original: Bonchi et al.
Revised: Bonchi et al.

Original: [6] initiated the studies on the Chromatic Correlation Clustering (CCC) problem and proposed a heuristic for it without a provable approximation ratio.
Revised: [6] initiated the studies on the Chromatic Correlation Clustering (CCC) problem and proposed a heuristic for it without a provable approximation ratio.

Original: Anava et al.
Revised: Anava et al.

Original: [3] presented a 4-approximation algorithm for CCC based on LP-rounding, and also provided a more efficient 11-approximation algorithm dubbed Reduce and Cluster (RC) and a heuristic dubbed Deep Cluster (DC).
Revised: [3] presented a 4-approximation algorithm for CCC based on LP-rounding, and also provided a more efficient 11-approximation algorithm dubbed Reduce and Cluster (RC) and a heuristic dubbed Deep Cluster (DC).

Original: Recently, Klodt et al.
Revised: Recently, Klodt et al.

Original: [25] showed that the classical Pivot algorithm proposed in Ailon et al.
Revised: [25] showed that the classical Pivot algorithm proposed in Ailon et al.

Original: [2] for the CC problem also has an approximation ratio of 3 for CCC, and showed that the RC algorithm proposed in [3] actually has an approximation ratio of 5 for CCC.
Revised: [2] for the CC problem also has an approximation ratio of 3 for CCC, and showed that the RC algorithm proposed in [3] actually has an approximation ratio of 5 for CCC.

Original: Although Pivot has the best-known approximation ratio for CCC, it works in a color-blind manner and hence has unsatisfying practical performance.
Revised: Although Pivot has the best-known approximation ratio for CCC, it works in a color-blind manner and hence has unsatisfying practical performance.

Original: Therefore, Klodt et al.
Revised: Therefore, Klodt et al.

Original: [25] further proposed a heuristic dubbed
Revised: [25] further proposed a heuristic dubbed

Original: Greedy Expansion (GE) which has better practical performance but without a performance guarantee.
Revised: Greedy Expansion (GE) which has better practical performance but without a performance guarantee.

Original: Therefore, it still remains as an open problem to find an approximation ratio for CCC tighter than the 3-approximation achieved by Pivot.
Revised: Therefore, it still remains as an open problem to find an approximation ratio for CCC tighter than the 3-approximation achieved by Pivot.

Original: CC (or CCC) also bears some similarities to the clique partitioning, multicut and k-center/k-median problems, which have been studied in some excellent proposals (e.g., [11, 15, 19, 20]).
Revised: CC (or CCC) also bears some similarities to the clique partitioning, multicut and k-center/k-median problems, which have been studied in some excellent proposals (e.g., [11, 15, 19, 20]).

Original: However, it is highly non-trivial (if possible) to adapt the solutions of these studies to the CCC problem.
Revised: However, it is highly non-trivial (if possible) to adapt the solutions of these studies to the CCC problem.

Original: Our contributions.
Revised: Our contributions.

Original: In this paper, we propose a 2.5-approximation to the CCC problem based on an
Revised: In this paper, we propose a 2.5-approximation to the CCC problem based on an

Original: LP approach, improving the best-known ratio of 3 achieved by Klodt et al.
Revised: LP approach, improving the best-known ratio of 3 achieved by Klodt et al.

Original: [25] and being very close to previously known integrality gap of 2 [9].
Revised: [25] and being very close to previously known integrality gap of 2 [9].

Original: We achieve this ratio by using a simple yet effective algorithm based on rounding the optimal solution to a linear programming relaxation of CCC, which is very different from the rounding algorithm proposed in [3].
Revised: We achieve this ratio by using a simple yet effective algorithm based on rounding the optimal solution to a linear programming relaxation of CCC, which is very different from the rounding algorithm proposed in [3].

Original: More specifically, we first classify all vertices of the graph into several groups, with the vertices in each group colored the same, and then cluster the nodes in each group using a procedure similar to the canonical Pivot algorithm.
Revised: More specifically, we first classify all vertices of the graph into several groups, with the vertices in each group colored the same, and then cluster the nodes in each group using a procedure similar to the canonical Pivot algorithm.

Original: Both the classifying phase and the clustering phase described above use the LP-solution to CCC to ensure guaranteed clustering quality.
Revised: Both the classifying phase and the clustering phase described above use the LP-solution to CCC to ensure guaranteed clustering quality.

Original: Although our LP-based clustering algorithm is randomized, it can be de-randomized to achieve a deterministc 2.5-approximation.
Revised: Although our LP-based clustering algorithm is randomized, it can be de-randomized to achieve a deterministc 2.5-approximation.

Original: Due to this novel clustering framework, our performance analysis is more involved than previous work to address the difficulty of counting the number of disagreements in a color-sensitive manner.
Revised: Due to this novel clustering framework, our performance analysis is more involved than previous work to address the difficulty of counting the number of disagreements in a color-sensitive manner.

Original: We notice that the algorithms proposed by prior studies for CCC with the best empirical performance are heuristics without performance guarantees.
Revised: We notice that the algorithms proposed by prior studies for CCC with the best empirical performance are heuristics without performance guarantees.

Original: Therefore, we also propose a fast heuristic dubbed
Revised: Therefore, we also propose a fast heuristic dubbed

Original: GreedyVote that adopts a novel greedy strategy roughly explained as follows.
Revised: GreedyVote that adopts a novel greedy strategy roughly explained as follows.

Original: GreedyVote creates a cluster by firstly picking two neighboring “seed vertices”, and then growing the seed set by letting the seed vertices vote for every unclustered vertex and greedily adding vertices with the largest vote counts into the seed set.
Revised: GreedyVote creates a cluster by firstly picking two neighboring “seed vertices”, and then growing the seed set by letting the seed vertices vote for every unclustered vertex and greedily adding vertices with the largest vote counts into the seed set.

Original: We conduct extensive experiments using real-world datasets and the results strongly demonstrate the superiorities of GreedyVote in terms of both clustering quality and efficiency, compared to the state-of-the-art algorithms with or without performance guarantees.
Revised: We conduct extensive experiments using real-world datasets and the results strongly demonstrate the superiorities of GreedyVote in terms of both clustering quality and efficiency, compared to the state-of-the-art algorithms with or without performance guarantees.

Original:  Preliminaries
Revised:  Preliminaries

Original: In the Chromatic Correlation Clustering (CCC) problem, an input instance consists of a finite set L of colors (representing positive relationships), a special color γ / ∈ L (representing negative relationship or no relationship), and an undirected complete graph G =
Revised: In the Chromatic Correlation Clustering (CCC) problem, an input instance consists of a finite set L of colors (representing positive relationships), a special color γ / ∈ L (representing negative relationship or no relationship), and an undirected complete graph G =

Original: ( V, E ) with a color function ϕ : E (cid:55)→
Revised: ( V, E ) with a color function ϕ : E (cid:55)→

Original: L ∪ { γ } .
Revised: L ∪ { γ } .

Original: The objective is to find a colored partition of the vertex set V that minimizes the number of disagreements.
Revised: The objective is to find a colored partition of the vertex set V that minimizes the number of disagreements.

Original: More formally, a solution to this problem is a clustering S =
Revised: More formally, a solution to this problem is a clustering S =

Original: ( C , Φ) consisting of a partition of the vertices C : V (cid:55)→ { C 1 , C 2 , . . . } and a cluster-coloring function Φ: range ( C ) (cid:55)→ L .
Revised: ( C , Φ) consisting of a partition of the vertices C : V (cid:55)→ { C 1 , C 2 , . . . } and a cluster-coloring function Φ: range ( C ) (cid:55)→ L .

Original: The number of disagreements between G and S can be written as (cid:80) uv ∈ E d G,S ( uv ) , where
Revised: The number of disagreements between G and S can be written as (cid:80) uv ∈ E d G,S ( uv ) , where

Original: [Equation]
Revised: [Equation]

Original: For simplicity, we use d ( uv ) as a shorthand for d G,S ( uv ) .
Revised: For simplicity, we use d ( uv ) as a shorthand for d G,S ( uv ) .

Original: There also exists a Linear Programming (LP) relaxation of the chromatic correlation clustering problem [3], i.e., [CCC-LP] listed below.
Revised: There also exists a Linear Programming (LP) relaxation of the chromatic correlation clustering problem [3], i.e., [CCC-LP] listed below.

Original: Let us consider an integral solution satisfying x cuv , x cu ∈ { 0 , 1 } for all u ∈ V , uv ∈ E , c ∈ L to [CCC-LP] .
Revised: Let us consider an integral solution satisfying x cuv , x cu ∈ { 0 , 1 } for all u ∈ V , uv ∈ E , c ∈ L to [CCC-LP] .

Original: The variable x cu indicates whether vertex u is in a cluster of color c ∈ L or not (i.e., if x cu = 

Revised: The variable x cu indicates whether vertex u is in a cluster of color c ∈ L or not (i.e., if x cu =

Original: then u is in the cluster colored by c ).
Revised: then u is in the cluster colored by c ).

Original: Similarly, the variable x cuv indicates whether two vertices u and v are clustered into the same cluster colored by c ∈ L (i.e., if x cuv = 0 then u and v belong to the same cluster colored by c ).
Revised: Similarly, the variable x cuv indicates whether two vertices u and v are clustered into the same cluster colored by c ∈ L (i.e., if x cuv = 0 then u and v belong to the same cluster colored by c ).

Original: Constraint (4) guarantees that each node belongs to one colored cluster.
Revised: Constraint (4) guarantees that each node belongs to one colored cluster.

Original: Constraint (2) implies that the edge uv can be in the cluster colored by c ∈ L only if both vertex u and v are in this cluster.
Revised: Constraint (2) implies that the edge uv can be in the cluster colored by c ∈ L only if both vertex u and v are in this cluster.

Original: Constraint (3) ensures that if uv and vw are in the same cluster then the edge wu must also be in the same cluster.
Revised: Constraint (3) ensures that if uv and vw are in the same cluster then the edge wu must also be in the same cluster.

Original: According to the definition of the variable x
Revised: According to the definition of the variable x

Original: c uv , we know that an edge uv ∈ E with color c
Revised: c uv , we know that an edge uv ∈ E with color c

Original: ∈
Revised: ∈

Original: L does not cause a disagreement only if x c uv = 0 , and that an edge uv with color γ does not cause a disagreement only if x cuv = 1 for any color c ∈ L .
Revised: L does not cause a disagreement only if x c uv = 0 , and that an edge uv with color γ does not cause a disagreement only if x cuv = 1 for any color c ∈ L .

Original: As such, the objective function of [CCC-LP] consists of two parts: the first part counts the number of disagreements caused by the edges colored by c ∈ L , and the second part counts the number of disagreements caused by the edges colored by γ .
Revised: As such, the objective function of [CCC-LP] consists of two parts: the first part counts the number of disagreements caused by the edges colored by c ∈ L , and the second part counts the number of disagreements caused by the edges colored by γ .

Original: Note that we can omit the variable x cu when | L | =
Revised: Note that we can omit the variable x cu when | L | =

Original: and then it becomes the same LP-formulation of CC [2], and hence the integrality gap of [CCC-LP] is at least 2 [9].
Revised: and then it becomes the same LP-formulation of CC [2], and hence the integrality gap of [CCC-LP] is at least 2 [9].

Original: [Equation]
Revised: [Equation]

Original:  An LP-based Approximation Algorithm
Revised:  An LP-based Approximation Algorithm

Original: In this section, we present an LP-based approximation algorithm as shown in Algorithm 1, namely LPClustering .
Revised: In this section, we present an LP-based approximation algorithm as shown in Algorithm 1, namely LPClustering .

Original: It is randomized and we will show how to de-randomize it in Section C. Intuitively, we aim to round the LP solution x cv for all v ∈ V, c ∈ L and x cuv for all uv ∈ E, c ∈ L to integers being feasible to the LP problem such that the objective value of the rounded integer solution is close to that of the optimal fractional solution as much as possible.
Revised: It is randomized and we will show how to de-randomize it in Section C. Intuitively, we aim to round the LP solution x cv for all v ∈ V, c ∈ L and x cuv for all uv ∈ E, c ∈ L to integers being feasible to the LP problem such that the objective value of the rounded integer solution is close to that of the optimal fractional solution as much as possible.

Original: In a nutshell, our LP-Clustering algorithm consists of two phases, including a vertex partitioning phase by rounding x cv for all v ∈ V, c ∈ L and a clustering phase for each partition by rounding x cuv for all uv ∈ E, c ∈ L .
Revised: In a nutshell, our LP-Clustering algorithm consists of two phases, including a vertex partitioning phase by rounding x cv for all v ∈ V, c ∈ L and a clustering phase for each partition by rounding x cuv for all uv ∈ E, c ∈ L .

Original: The detailed procedures of the two phases are given as follows.
Revised: The detailed procedures of the two phases are given as follows.

Original: Phase 1 Partitioning (Lines 2–4): the vertex set V is partitioned into | L | + 1 disjoint subsets such that S c
Revised: Phase 1 Partitioning (Lines 2–4): the vertex set V is partitioned into | L | + 1 disjoint subsets such that S c

Original: = { v ∈ V : x cv < 12 } for each c ∈ L and O = V \ (cid:0) (cid:83) c ∈
Revised: = { v ∈ V : x cv < 12 } for each c ∈ L and O = V \ (cid:0) (cid:83) c ∈

Original: L S c (cid:1) .
Revised: L S c (cid:1) .

Original: Note that S c may be an empty set for c ∈ L .
Revised: Note that S c may be an empty set for c ∈ L .

Original: And all S c
Revised: And all S c

Original: are
Revised: are

Original: determined.
Revised: determined.

Original: Phase 2 Clustering (Lines 5–12): (i) for the partition O , each outlier v ∈ O is assigned to a singleton cluster with an arbitrary color (Lines 5–6); (ii) and for each partition S c , the algorithm iteratively chooses an unclustered vertex from S c uniformly at random as the center of a new cluster C k with color c , and adds each unclustered vertex u ∈ S c to C k with a probability of (1 − x cuv ) independently (Lines 7–12).
Revised: Phase 2 Clustering (Lines 5–12): (i) for the partition O , each outlier v ∈ O is assigned to a singleton cluster with an arbitrary color (Lines 5–6); (ii) and for each partition S c , the algorithm iteratively chooses an unclustered vertex from S c uniformly at random as the center of a new cluster C k with color c , and adds each unclustered vertex u ∈ S c to C k with a probability of (1 − x cuv ) independently (Lines 7–12).

Original: In the following, we elaborate the intuition.
Revised: In the following, we elaborate the intuition.

Original: Recall that the variables x cv indicates the impossibility of vertex v being in a cluster of color c , while x cuv represents the distance between vertices u and v with
Revised: Recall that the variables x cv indicates the impossibility of vertex v being in a cluster of color c , while x cuv represents the distance between vertices u and v with

Original: [Equation]
Revised: [Equation]

Original: respect to color c .
Revised: respect to color c .

Original: Based on this observation, our LP-Clustering algorithm first determines the vertex color for each vertex v by rounding x cv , i.e., the color of the cluster to which vertex v belongs with the maximum likelihood.
Revised: Based on this observation, our LP-Clustering algorithm first determines the vertex color for each vertex v by rounding x cv , i.e., the color of the cluster to which vertex v belongs with the maximum likelihood.

Original: That is, v will be assigned to a cluster with color c if x cv < 1 / 2 , which ensures that x cv ≤ x ¯ cv for any ¯ c ∈ L implied by Observation 4.1.
Revised: That is, v will be assigned to a cluster with color c if x cv < 1 / 2 , which ensures that x cv ≤ x ¯ cv for any ¯ c ∈ L implied by Observation 4.1.

Original: This is equivalent to round x cv to 0 and x ¯ cv to 1 for every ¯ c ̸ = c .
Revised: This is equivalent to round x cv to 0 and x ¯ cv to 1 for every ¯ c ̸ = c .

Original: Meanwhile, we call a vertex v outlier if x cv ≥ 1 / 2 for every c ∈ L , which is far away from any other vertex u as to every color c due to the fact that x cuv ≥ x cv ≥ 1 / 2 .
Revised: Meanwhile, we call a vertex v outlier if x cv ≥ 1 / 2 for every c ∈ L , which is far away from any other vertex u as to every color c due to the fact that x cuv ≥ x cv ≥ 1 / 2 .

Original: Then, for each outlier v , we just arbitrarily choose a color c (e.g., the one with the smallest value of x ¯ cv ) to round x cv to 0 and x ¯ cv to 1 for every ¯ c ̸ = c .
Revised: Then, for each outlier v , we just arbitrarily choose a color c (e.g., the one with the smallest value of x ¯ cv ) to round x cv to 0 and x ¯ cv to 1 for every ¯ c ̸ = c .

Original: It is trivial to see that the rounding of x cv actually utilizes a greedy strategy such that for each v , the smallest x cv is rounded to 0 while the others are rounded to 1 .
Revised: It is trivial to see that the rounding of x cv actually utilizes a greedy strategy such that for each v , the smallest x cv is rounded to 0 while the others are rounded to 1 .

Original: Next, we finalize the clustering by rounding x cuv with respect to the rounded value of x cv for each v ∈ V and c ∈ L .
Revised: Next, we finalize the clustering by rounding x cuv with respect to the rounded value of x cv for each v ∈ V and c ∈ L .

Original: Specifically, for each outlier v ∈ O , assigning it to a singleton cluster, i.e., a cluster containing this node only, is equivalent to round x cuv to 1 for every u ∈ V \ { v } and c ∈ L .
Revised: Specifically, for each outlier v ∈ O , assigning it to a singleton cluster, i.e., a cluster containing this node only, is equivalent to round x cuv to 1 for every u ∈ V \ { v } and c ∈ L .

Original: Since x cuv ≥ x cv ≥ 1 / 2 , such a rounding ensures the corresponding cost of the integer solution within twice of that of the fractional solution.
Revised: Since x cuv ≥ x cv ≥ 1 / 2 , such a rounding ensures the corresponding cost of the integer solution within twice of that of the fractional solution.

Original: Moreover, for the subset S c of V containing vertices with color c , we iteratively select an unclustered vertex v from S c uniformally at random and create a new cluster
Revised: Moreover, for the subset S c of V containing vertices with color c , we iteratively select an unclustered vertex v from S c uniformally at random and create a new cluster

Original: C k = { v } , until every vertex in S c is included in some cluster.
Revised: C k = { v } , until every vertex in S c is included in some cluster.

Original: Then, we add each unclustered vertex u ∈ S c to C k with a probability of (1 − x cuv ) , i.e., rounding x cuv to 0 with a probability of (1 − x cuv ) and to 1 with the other probability so that the rounded x cuv in expectation is exactly x cuv .
Revised: Then, we add each unclustered vertex u ∈ S c to C k with a probability of (1 − x cuv ) , i.e., rounding x cuv to 0 with a probability of (1 − x cuv ) and to 1 with the other probability so that the rounded x cuv in expectation is exactly x cuv .

Original: Such a rounding again ensures the corresponding cost of the integer solution within a constant factor of that of the fractional solution.
Revised: Such a rounding again ensures the corresponding cost of the integer solution within a constant factor of that of the fractional solution.

Original: In the following theorem, we give our main result that the LP-Clustering algorithm achieves a 2 .
Revised: In the following theorem, we give our main result that the LP-Clustering algorithm achieves a 2 .

Original: 5 -approximation in expectation for the Chromatic Correlation Clustering (CCC) problem, which improves the best-known factor of 3 achieved by Klodt et al.
Revised: 5 -approximation in expectation for the Chromatic Correlation Clustering (CCC) problem, which improves the best-known factor of 3 achieved by Klodt et al.

Original: Theorem 3.1.
Revised: Theorem 3.1.

Original: The LP-Clustering algorithm achieves an approximation of 2 . 5 in expectation for the
Revised: The LP-Clustering algorithm achieves an approximation of 2 . 5 in expectation for the

Original: CCC problem.
Revised: CCC problem.

Original: Next in Section 4, we prove our main theoretical result in Theorem 3.1, where the full proof of a core lemma (i.e., Lemma 4.3) requires a non-trivial analysis and can be found in Appendix A.
Revised: Next in Section 4, we prove our main theoretical result in Theorem 3.1, where the full proof of a core lemma (i.e., Lemma 4.3) requires a non-trivial analysis and can be found in Appendix A.

Original:  Performance Analysis 4.1 Overview
Revised:  Performance Analysis 4.1 Overview

Original: For our randomized rounding approach based on the LP solution, the expected total number of disagreements is E [ (cid:80) uv ∈ E d ( uv )] , where d ( uv ) is defined in (1).
Revised: For our randomized rounding approach based on the LP solution, the expected total number of disagreements is E [ (cid:80) uv ∈ E d ( uv )] , where d ( uv ) is defined in (1).

Original: Similarly, the objective function in
Revised: Similarly, the objective function in

Original: [CCC-LP] can be written as (cid:80) uv ∈ E lp ( uv ) , where lp ( uv ) denotes the cost on edge uv , i.e.,
Revised: [CCC-LP] can be written as (cid:80) uv ∈ E lp ( uv ) , where lp ( uv ) denotes the cost on edge uv , i.e.,

Original: [Equation]
Revised: [Equation]

Original: Therefore, to prove Theorem 3.1, it suffices to show that
Revised: Therefore, to prove Theorem 3.1, it suffices to show that

Original: [Equation]
Revised: [Equation]

Original: Since the cost is characterized by each edge uv , according to the partitioning of V
Revised: Since the cost is characterized by each edge uv , according to the partitioning of V

Original: = O ∪ (cid:0) (cid:83) c ∈
Revised: = O ∪ (cid:0) (cid:83) c ∈

Original: L S c (cid:1) , we partition the edge set E into | L | + 2 disjoint subsets E
Revised: L S c (cid:1) , we partition the edge set E into | L | + 2 disjoint subsets E

Original: o , E i and E c for c ∈ L , i.e.,
Revised: o , E i and E c for c ∈ L , i.e.,

Original: [Equation]
Revised: [Equation]

Original: Clearly, E = E
Revised: Clearly, E = E

Original: o ∪ E i ∪ ( (cid:83) c ∈
Revised: o ∪ E i ∪ ( (cid:83) c ∈

Original: L E c ) .
Revised: L E c ) .

Original: In particular, E o is the set of edges incident on outliers in O ;
Revised: In particular, E o is the set of edges incident on outliers in O ;

Original: E i is the set of edges between non-outliers cross two vertex partitions S c and S ¯ c ; and E c is the set of edges between vertices within the same vertex partition S c .
Revised: E i is the set of edges between non-outliers cross two vertex partitions S c and S ¯ c ; and E c is the set of edges between vertices within the same vertex partition S c .

Original: In what follows, we establish the relation between LP-Clustering and LP (i.e., the objective function of [CCC-LP] ) in terms of the cost on different category of edge.
Revised: In what follows, we establish the relation between LP-Clustering and LP (i.e., the objective function of [CCC-LP] ) in terms of the cost on different category of edge.

Original: For each edge uv ∈ E o , it is an inter-cluster edge.
Revised: For each edge uv ∈ E o , it is an inter-cluster edge.

Original: By (1), we can get that d ( uv ) = 

Revised: By (1), we can get that d ( uv ) =

Original: if ϕ ( uv ) ∈ L and d ( uv ) = 

Revised: if ϕ ( uv ) ∈ L and d ( uv ) =

Original: otherwise.
Revised: otherwise.

Original: Meanwhile, constraint (2) ensures that x cuv ≥ x cv ≥ 12 for every u ̸ = v and c ∈ L when v is an outlier.
Revised: Meanwhile, constraint (2) ensures that x cuv ≥ x cv ≥ 12 for every u ̸ = v and c ∈ L when v is an outlier.

Original: This implies that lp ( uv ) = x
Revised: This implies that lp ( uv ) = x

Original: ϕ ( uv ) uv ≥ 12 if ϕ ( uv ) ∈ L and lp ( uv ) ≥otherwise.
Revised: ϕ ( uv ) uv ≥ 12 if ϕ ( uv ) ∈ L and lp ( uv ) ≥otherwise.

Original: We immediately have d ( uv ) ≤ 2 · lp ( uv ) .
Revised: We immediately have d ( uv ) ≤ 2 · lp ( uv ) .

Original: For each edge uv ∈ E i , it is again an inter-cluster edge, indicating that d ( uv ) = 

Revised: For each edge uv ∈ E i , it is again an inter-cluster edge, indicating that d ( uv ) =

Original: if ϕ ( uv ) ∈ L and d ( uv ) = 0 otherwise.
Revised: if ϕ ( uv ) ∈ L and d ( uv ) = 0 otherwise.

Original: To derive lp ( uv ) , we first present a useful property of the fractional solution.
Revised: To derive lp ( uv ) , we first present a useful property of the fractional solution.

Original: Observation 4.1.
Revised: Observation 4.1.

Original: Given a vertex v ∈ V and any two distinct colors c 1 , c 2 ∈ L then x c 1 v + x c 2 v ≥ 1 .
Revised: Given a vertex v ∈ V and any two distinct colors c 1 , c 2 ∈ L then x c 1 v + x c 2 v ≥ 1 .

Original: In fact, Observation 4.1 can be easily obtained by contradiction, since otherwise (cid:80) c ∈
Revised: In fact, Observation 4.1 can be easily obtained by contradiction, since otherwise (cid:80) c ∈

Original: L x cv < | L | − 1 , which contradicts constraint (4).
Revised: L x cv < | L | − 1 , which contradicts constraint (4).

Original: Denote by c u the vertex color of u such that x c u u < 12 .
Revised: Denote by c u the vertex color of u such that x c u u < 12 .

Original: Then, by
Revised: Then, by

Original: Observation 4.1, we have x cu ≥ 12 for any c ̸ = c u .
Revised: Observation 4.1, we have x cu ≥ 12 for any c ̸ = c u .

Original: As a consequence, lp ( uv ) =
Revised: As a consequence, lp ( uv ) =

Original: x ϕ ( uv ) uv ≥ x ϕ ( uv ) u ≥if ϕ ( uv ) ∈
Revised: x ϕ ( uv ) uv ≥ x ϕ ( uv ) u ≥if ϕ ( uv ) ∈

Original: L \ { c u } , lp ( uv ) =
Revised: L \ { c u } , lp ( uv ) =

Original: x ϕ ( uv ) uv ≥ x c ( u ) v ≥ 12 if ϕ ( uv ) =
Revised: x ϕ ( uv ) uv ≥ x c ( u ) v ≥ 12 if ϕ ( uv ) =

Original: c u ̸
Revised: c u ̸

Original: = c v , and lp ( uv ) ≥ 0 otherwise.
Revised: = c v , and lp ( uv ) ≥ 0 otherwise.

Original: This concludes that d ( uv ) ≤ 2 · lp ( uv ) .
Revised: This concludes that d ( uv ) ≤ 2 · lp ( uv ) .

Original: Finally, if we show that E [ (cid:80) uv ∈
Revised: Finally, if we show that E [ (cid:80) uv ∈

Original: E c
Revised: E c

Original: d ( uv )] ≤ α · (cid:80) uv ∈ E c lp ( uv ) for every c ∈ L and some α ≥ 2 , combing with the above analysis, we immediately derive an upper bound on the expected cost of our output clustering, i.e.,
Revised: d ( uv )] ≤ α · (cid:80) uv ∈ E c lp ( uv ) for every c ∈ L and some α ≥ 2 , combing with the above analysis, we immediately derive an upper bound on the expected cost of our output clustering, i.e.,

Original: [Equation]
Revised: [Equation]

Original: uv ∈ E c d (
Revised: uv ∈ E c d (

Original: [Equation]
Revised: [Equation]

Original: · (cid:88)
Revised: · (cid:88)

Original: [Equation]
Revised: [Equation]

Original: o
Revised: o

Original: [Equation]
Revised: [Equation]

Original: i
Revised: i

Original: [Equation]
Revised: [Equation]

Original: c
Revised: c

Original: [Equation]
Revised: [Equation]

Original: (cid:88) uv
Revised: (cid:88) uv

Original: [Equation]
Revised: [Equation]

Original: c
Revised: c

Original: [Equation]
Revised: [Equation]

Original: ≤
Revised: ≤

Original: [Equation]
Revised: [Equation]

Original: · (cid:88) uv ∈ E lp ( uv ) .
Revised: · (cid:88) uv ∈ E lp ( uv ) .

Original: We thus obtain the following lemma.
Revised: We thus obtain the following lemma.

Original: Lemma 4.1.
Revised: Lemma 4.1.

Original: Given α ≥ 2 , if the clustering returned by LP-Clustering satisfies for every c ∈ L ,
Revised: Given α ≥ 2 , if the clustering returned by LP-Clustering satisfies for every c ∈ L ,

Original: [Equation]
Revised: [Equation]

Original: then LP-Clustering achieves an approximation guarantee of α for chromatic correlation clustering.
Revised: then LP-Clustering achieves an approximation guarantee of α for chromatic correlation clustering.

Original: Therefore, to get the approximation ratio of LP-Clustering , by Lemma 4.1, we just need to show the relation between E [ (cid:80) uv
Revised: Therefore, to get the approximation ratio of LP-Clustering , by Lemma 4.1, we just need to show the relation between E [ (cid:80) uv

Original: ∈ E
Revised: ∈ E

Original: c d ( uv )] and (cid:80) uv ∈ E c lp ( uv ) for each color c ∈ L .
Revised: c d ( uv )] and (cid:80) uv ∈ E c lp ( uv ) for each color c ∈ L .

Original: [Equation]
Revised: [Equation]

Original: 4.2 More Detailed Analysis
Revised: 4.2 More Detailed Analysis

Original: In what follows, we focus on the elementary analysis over E c for every c ∈ L .
Revised: In what follows, we focus on the elementary analysis over E c for every c ∈ L .

Original: For each given S c ,
Revised: For each given S c ,

Original: LP-Clustering iteratively chooses some vertices to create a new cluster.
Revised: LP-Clustering iteratively chooses some vertices to create a new cluster.

Original: Denote by S tc the unclustered vertex set at the beginning of iteration t , by E tc the induced edge set by S tc containing all the edges with both endpoints in S tc , and by C tc the cluster created in this iteration.
Revised: Denote by S tc the unclustered vertex set at the beginning of iteration t , by E tc the induced edge set by S tc containing all the edges with both endpoints in S tc , and by C tc the cluster created in this iteration.

Original: With removing C tc from S tc , the edges incident on vertices in C tc , i.e., E tc \ E t +1 c
Revised: With removing C tc from S tc , the edges incident on vertices in C tc , i.e., E tc \ E t +1 c

Original: = { uv ∈ E c : u, v ∈ S tc , ( u ∈ C tc ∨ v ∈ C tc ) } , are also removed from E c .
Revised: = { uv ∈ E c : u, v ∈ S tc , ( u ∈ C tc ∨ v ∈ C tc ) } , are also removed from E c .

Original: Then, the number of disagreements of these edges (i.e., E tc \ E t +1 c ), denoted by D t , can be derived by
Revised: Then, the number of disagreements of these edges (i.e., E tc \ E t +1 c ), denoted by D t , can be derived by

Original: [Equation]
Revised: [Equation]

Original: where 1 ( E ) denotes the indicator function of the event E , E tu − v denotes the event that only one of u and v is in C tc , and E tu + v denotes the event that both u and v are in C tc .
Revised: where 1 ( E ) denotes the indicator function of the event E , E tu − v denotes the event that only one of u and v is in C tc , and E tu + v denotes the event that both u and v are in C tc .

Original: Similarly, the LP cost on E tc , denoted by L t , can be derived by
Revised: Similarly, the LP cost on E tc , denoted by L t , can be derived by

Original: [Equation]
Revised: [Equation]

Original: Let T be the stopping time such that all vertices in S c are clustered after T iterations.
Revised: Let T be the stopping time such that all vertices in S c are clustered after T iterations.

Original: Then, we know that (cid:80)
Revised: Then, we know that (cid:80)

Original: Tt =
Revised: Tt =

Original: 0 D t = (cid:80) uv ∈
Revised: 0 D t = (cid:80) uv ∈

Original: E c
Revised: E c

Original: d ( uv ) and (cid:80) Tt =

Revised: d ( uv ) and (cid:80) Tt =

Original: L t = (cid:80) uv ∈ E c lp ( uv ) , since each edge in E c can only be removed exactly once.
Revised: L t = (cid:80) uv ∈ E c lp ( uv ) , since each edge in E c can only be removed exactly once.

Original: If we show that E [ D t ] ≤ α E [ L t ] for all t , then we know that
Revised: If we show that E [ D t ] ≤ α E [ L t ] for all t , then we know that

Original: Z s = (cid:80) st =0 ( αL t − D t ) is a submartingale (i.e., E [ Z s +

Revised: Z s = (cid:80) st =0 ( αL t − D t ) is a submartingale (i.e., E [ Z s +

Original: | Z s ] ≥ Z s ) and hence E [ Z T ] ≥ E
Revised: | Z s ] ≥ Z s ) and hence E [ Z T ] ≥ E

Original: [ Z 0 ] , which yields that
Revised: [ Z 0 ] , which yields that

Original: [Equation]
Revised: [Equation]

Original: To get E [ D t ] ≤ α E [ L t ] , it suffices to show its conditional version that E [ D t | S tc ] ≤ α E [ L t | S tc ] for all S tc ⊂ S c .
Revised: To get E [ D t ] ≤ α E [ L t ] , it suffices to show its conditional version that E [ D t | S tc ] ≤ α E [ L t | S tc ] for all S tc ⊂ S c .

Original: Given S tc , each vertex w ∈ S tc is picked as the center of the cluster C tc with a probability of 1 | S tc | .
Revised: Given S tc , each vertex w ∈ S tc is picked as the center of the cluster C tc with a probability of 1 | S tc | .

Original: Thus, given an event E , we have
Revised: Thus, given an event E , we have

Original: [Equation]
Revised: [Equation]

Original: For simplicity, let
Revised: For simplicity, let

Original: [Equation]
Revised: [Equation]

Original: Moreover, according to the definitions of E tu − v and E tu + v , we have
Revised: Moreover, according to the definitions of E tu − v and E tu + v , we have

Original: [Equation]
Revised: [Equation]

Original: Note that by setting x cuu = 0 for each u ∈ S tc , the above equations also hold when w = u or w = v .
Revised: Note that by setting x cuu = 0 for each u ∈ S tc , the above equations also hold when w = u or w = v .

Original: As a consequence, we have
Revised: As a consequence, we have

Original: [Equation]
Revised: [Equation]

Original: Putting it together, we can express E [ D t | S tc ] as
Revised: Putting it together, we can express E [ D t | S tc ] as

Original: [Equation]
Revised: [Equation]

Original: d ( uv | w ) , where d ( uu | w ) := 0 for all u, w ∈ S tc .
Revised: d ( uv | w ) , where d ( uu | w ) := 0 for all u, w ∈ S tc .

Original: Similarly, let lp
Revised: Similarly, let lp

Original: [Equation]
Revised: [Equation]

Original: | w
Revised: | w

Original: [Equation]
Revised: [Equation]

Original: if ϕ
Revised: if ϕ

Original: [Equation]
Revised: [Equation]

Original: uv
Revised: uv

Original: [Equation]
Revised: [Equation]

Original: = γ
Revised: = γ

Original: [Equation]
Revised: [Equation]

Original: m replacement
Revised: m replacement

Original: E
Revised: E

Original: Let each vertex in S k vote for every vertex in V such that vote 0.5 when there is an edge between the two vertices, and an extra 0.5 if the edge color is ϕ ( uv )
Revised: Let each vertex in S k vote for every vertex in V such that vote 0.5 when there is an edge between the two vertices, and an extra 0.5 if the edge color is ϕ ( uv )

Original: Let w ∈ V be vertex with the largest vote count and let ℓ be the vote count of w ; w to S k w
Revised: Let w ∈ V be vertex with the largest vote count and let ℓ be the vote count of w ; w to S k w

Original: V
Revised: V

Original: Let c be the most frequent color of the edges with both endpoints in S k , and set Φ( S k )
Revised: Let c be the most frequent color of the edges with both endpoints in S k , and set Φ( S k )

Original: =
Revised: =

Original: c ;
Revised: c ;

Original: Remove all edges in { uv
Revised: Remove all edges in { uv

Original: E u ∈ from E ; 13 foreach
Revised: E u ∈ from E ; 13 foreach

Original: V do
Revised: V do

Original: Create a new cluster
Revised: Create a new cluster

Original: { v } increasing k by one;
Revised: { v } increasing k by one;

Original: Let Φ( S k ) =
Revised: Let Φ( S k ) =

Original: c where c is an arbitrary color in L ; k }
Revised: c where c is an arbitrary color in L ; k }

Original: Then, E [ L t | S tc ] can be expressed as
Revised: Then, E [ L t | S tc ] can be expressed as

Original: [Equation]
Revised: [Equation]

Original: where lp ( uu | w ) :
Revised: where lp ( uu | w ) :

Original: = 0 for all u, w ∈ S tc .
Revised: = 0 for all u, w ∈ S tc .

Original: Observing that d ( uv | w ) ≤ α · lp ( uv | w ) does not always hold, thanks to the symmetry, we consider D ( uvw ) :
Revised: Observing that d ( uv | w ) ≤ α · lp ( uv | w ) does not always hold, thanks to the symmetry, we consider D ( uvw ) :

Original: = d ( uv | w ) + d ( vw | u ) + d ( wu | v ) as a whole.
Revised: = d ( uv | w ) + d ( vw | u ) + d ( wu | v ) as a whole.

Original: That is,
Revised: That is,

Original: [Equation]
Revised: [Equation]

Original: Similarly, letting L ( uvw ) :
Revised: Similarly, letting L ( uvw ) :

Original: = lp ( uv | w ) + lp
Revised: = lp ( uv | w ) + lp

Original: [Equation]
Revised: [Equation]

Original: |
Revised: |

Original: [Equation]
Revised: [Equation]

Original: + lp ( wu | v ) , we have
Revised: + lp ( wu | v ) , we have

Original: [Equation]
Revised: [Equation]

Original: Therefore, it suffices to show that D ( uvw ) ≤ αL ( uvw ) .
Revised: Therefore, it suffices to show that D ( uvw ) ≤ αL ( uvw ) .

Original: We thus obtain the following lemma.
Revised: We thus obtain the following lemma.

Original: Lemma 4.2.
Revised: Lemma 4.2.

Original: Given a vertex set S c , if it always holds that D ( uvw ) ≤ αL ( uvw ) for all u, v, w ∈ S tc , we have E [ (cid:80) uv ∈
Revised: Given a vertex set S c , if it always holds that D ( uvw ) ≤ αL ( uvw ) for all u, v, w ∈ S tc , we have E [ (cid:80) uv ∈

Original: E c
Revised: E c

Original: d ( uv )] ≤ α · (cid:80) uv ∈ E c lp ( uv )
Revised: d ( uv )] ≤ α · (cid:80) uv ∈ E c lp ( uv )

Original: Finally, the following lemma gives such a relation.
Revised: Finally, the following lemma gives such a relation.

Original: Lemma 4.3.
Revised: Lemma 4.3.

Original: For all c ∈ L and u, v, w ∈ S tc , we have D ( uvw ) ≤ 2 .
Revised: For all c ∈ L and u, v, w ∈ S tc , we have D ( uvw ) ≤ 2 .

Original: 5 L ( uvw ) .
Revised: 5 L ( uvw ) .

Original: The proof of Lemma 4.3 is based on a nontrivial case analysis with respect to the the edge color of ϕ ( uv ) , ϕ ( vw ) and ϕ ( wu ) , which can be found in Appendix A. Now, putting it together of
Revised: The proof of Lemma 4.3 is based on a nontrivial case analysis with respect to the the edge color of ϕ ( uv ) , ϕ ( vw ) and ϕ ( wu ) , which can be found in Appendix A. Now, putting it together of

Original: Lemmas 4.1–4.3 concludes Theorem 3.1.
Revised: Lemmas 4.1–4.3 concludes Theorem 3.1.

Original:  A Greedy Clustering Heuristic
Revised:  A Greedy Clustering Heuristic

Original: For the CCC problem, prior studies have shown that some heuristics without any performance guarantees (e.g., the Deep Cluster algorithm in [3] and the Greedy Expansion algorithm in [25]) can empirically perform much better than the existing algorithms with provable approximation ratios including the Pivot algorithm with the best-known ratio of 3.
Revised: For the CCC problem, prior studies have shown that some heuristics without any performance guarantees (e.g., the Deep Cluster algorithm in [3] and the Greedy Expansion algorithm in [25]) can empirically perform much better than the existing algorithms with provable approximation ratios including the Pivot algorithm with the best-known ratio of 3.

Original: This motivates us to design a fast heuristic with better performance in practice, namely the GreedyVote algorithm shown in
Revised: This motivates us to design a fast heuristic with better performance in practice, namely the GreedyVote algorithm shown in

Original: Algorithm 2.
Revised: Algorithm 2.

Original: Roughly speaking, GreedyVote repeats in iterations and creates a cluster S k in the k th iteration according to the following two phases of operations:
Revised: Roughly speaking, GreedyVote repeats in iterations and creates a cluster S k in the k th iteration according to the following two phases of operations:

Original: Phase 1 Seed selection (Lines 3–5): Randomly select m candidate edges and pick one of them (denoted by uv ) to create a “seed set” S k
Revised: Phase 1 Seed selection (Lines 3–5): Randomly select m candidate edges and pick one of them (denoted by uv ) to create a “seed set” S k

Original: = { u, v } ; Phase 2 Vote to grow (Lines 6–10): Each vertex in the seed set S k votes for (or scores)
Revised: = { u, v } ; Phase 2 Vote to grow (Lines 6–10): Each vertex in the seed set S k votes for (or scores)

Original: every currently unclustered vertex, and the vertex w with the largest vote count is added into S k if satisfying the condition in Line 9.
Revised: every currently unclustered vertex, and the vertex w with the largest vote count is added into S k if satisfying the condition in Line 9.

Original: Repeat this process until there are no qualified vertices.
Revised: Repeat this process until there are no qualified vertices.

Original: In the sequel, we provide more detailed explanations on the two phases mentioned above.
Revised: In the sequel, we provide more detailed explanations on the two phases mentioned above.

Original: The purpose of the “seed selection” phase is to identify two neighboring nodes that are “most likely” to be in the same cluster of a good solution.
Revised: The purpose of the “seed selection” phase is to identify two neighboring nodes that are “most likely” to be in the same cluster of a good solution.

Original: To achieve this, we use a metric inspired by the well-known Jaccard
Revised: To achieve this, we use a metric inspired by the well-known Jaccard

Original: Similarity to measure the goodness of u and v being clustered together, i.e., | N ϕ ( uv ) ( u ) ∩ N ϕ ( uv ) ( v ) | | N ( u ) ∪ N ( v ) | in Line 4, where N ( u ) denotes the set of all neighbors of u and N c ( u ) :
Revised: Similarity to measure the goodness of u and v being clustered together, i.e., | N ϕ ( uv ) ( u ) ∩ N ϕ ( uv ) ( v ) | | N ( u ) ∪ N ( v ) | in Line 4, where N ( u ) denotes the set of all neighbors of u and N c ( u ) :

Original: ∀ c ∈ L denotes the set of vertices adjacent to u by c -colored edges.
Revised: ∀ c ∈ L denotes the set of vertices adjacent to u by c -colored edges.

Original: Instead of checking every pair of neighboring nodes for this metric, we randomly check m edges and pick the best one among them to save running time.
Revised: Instead of checking every pair of neighboring nodes for this metric, we randomly check m edges and pick the best one among them to save running time.

Original: Given the initial seed set constructed by Phase 1, the purpose of the “vote to grow” phase is to identify some qualified vertices and add them into S k one by one.
Revised: Given the initial seed set constructed by Phase 1, the purpose of the “vote to grow” phase is to identify some qualified vertices and add them into S k one by one.

Original: The rational for judging whether a candidate vertex w should be added into S k or not is roughly explained as follows.
Revised: The rational for judging whether a candidate vertex w should be added into S k or not is roughly explained as follows.

Original: Let | E c ( S k , w ) | denote the number of edges with color c ( ∀ c ∈ L ) linking w and any vertex in S k , and let error ( S k ) denote the number of disagreements caused by edges with both endpoints in S k .
Revised: Let | E c ( S k , w ) | denote the number of edges with color c ( ∀ c ∈ L ) linking w and any vertex in S k , and let error ( S k ) denote the number of disagreements caused by edges with both endpoints in S k .

Original: Let u and v be the initial two seed vertices in S k found by Line 4, and suppose that S k is assigned the color of ϕ ( uv ) .
Revised: Let u and v be the initial two seed vertices in S k found by Line 4, and suppose that S k is assigned the color of ϕ ( uv ) .

Original: Then, not adding w into S k would cause at least Er 1 = error ( S k )
Revised: Then, not adding w into S k would cause at least Er 1 = error ( S k )

Original: + (cid:80) c ∈ L | E c ( S k , w ) | disagreements, while adding w into S k would bring Er 2 = error ( S k ) + | S k | − | E ϕ ( uv ) ( S k , w ) | disagreements.
Revised: + (cid:80) c ∈ L | E c ( S k , w ) | disagreements, while adding w into S k would bring Er 2 = error ( S k ) + | S k | − | E ϕ ( uv ) ( S k , w ) | disagreements.

Original: Clearly, adding w into S k would be beneficial only when Er 2 − Er 1 = | S k | − | E ϕ
Revised: Clearly, adding w into S k would be beneficial only when Er 2 − Er 1 = | S k | − | E ϕ

Original: ( uv ) ( S k , w ) | − (cid:80)
Revised: ( uv ) ( S k , w ) | − (cid:80)

Original: c ∈ L | E c ( S k , w ) | ≤ 0 , or equivalently | E ϕ ( uv ) ( S k , w ) | +
Revised: c ∈ L | E c ( S k , w ) | ≤ 0 , or equivalently | E ϕ ( uv ) ( S k , w ) | +

Original: (cid:80) c ∈ L | E c ( S k , w ) | ≥ | S k | .
Revised: (cid:80) c ∈ L | E c ( S k , w ) | ≥ | S k | .

Original: Actually, it is not hard to verify that the voting mechanism in Line 7 results in the vote count of any candidate vertex w being equal to 0 .
Revised: Actually, it is not hard to verify that the voting mechanism in Line 7 results in the vote count of any candidate vertex w being equal to 0 .

Original: 5 | E ϕ ( uv ) ( S k , w ) |
Revised: 5 | E ϕ ( uv ) ( S k , w ) |

Original: + 0 .
Revised: + 0 .

Original: 5 (cid:80) c ∈ L | E c ( S k , w ) | , while we replace | S k | by ϵ | S k | in the if-condition of Line 9 to offset the inaccuracy of counting the number of disagreements by considering every vertex individually.
Revised: 5 (cid:80) c ∈ L | E c ( S k , w ) | , while we replace | S k | by ϵ | S k | in the if-condition of Line 9 to offset the inaccuracy of counting the number of disagreements by considering every vertex individually.

Original: When Phase 1 and Phase 2 described above finishes, no qualified vertices can be added into the current clusters.
Revised: When Phase 1 and Phase 2 described above finishes, no qualified vertices can be added into the current clusters.

Original: So GreedyVote creates a cluster for each leftover vertex and assign it an arbitrary color in
Revised: So GreedyVote creates a cluster for each leftover vertex and assign it an arbitrary color in

Original: L (Lines 13-15).
Revised: L (Lines 13-15).

Original: It can be seen that GreedyVote can be implemented to run in O ( | E | + ∆ | V | ) time for any constant m , where ∆ is the maximum degree of G (see Appendix B for a formal proof).
Revised: It can be seen that GreedyVote can be implemented to run in O ( | E | + ∆ | V | ) time for any constant m , where ∆ is the maximum degree of G (see Appendix B for a formal proof).

Original:  Performance Evaluation
Revised:  Performance Evaluation

Original: In this section, we compare our GreedyVote (GV) algorithm
Revised: In this section, we compare our GreedyVote (GV) algorithm

Original: (i.e., Algorithm 2) with six state-ofthe-art algorithms for the CCC problem, including: (1) The Pivot Algorithm [2]; (2) The Reduce and Cluster (RC) Algorithm [3]; (3) The Deep Cluster (DC) algorithm
Revised: (i.e., Algorithm 2) with six state-ofthe-art algorithms for the CCC problem, including: (1) The Pivot Algorithm [2]; (2) The Reduce and Cluster (RC) Algorithm [3]; (3) The Deep Cluster (DC) algorithm

Original: [3]; (4) The Chromatic Ball (CB) algorithm [6]; (5)
Revised: [3]; (4) The Chromatic Ball (CB) algorithm [6]; (5)

Original: The Greedy Expansion (GE) Algorithm [25]; and (6) The modified greedy expansion (GER) Algorithm
Revised: The Greedy Expansion (GE) Algorithm [25]; and (6) The modified greedy expansion (GER) Algorithm

Original: Among these algorithms, Pivot and RC have approximation ratios of 3 and 5, respectively, and all other algorithms are heuristics.
Revised: Among these algorithms, Pivot and RC have approximation ratios of 3 and 5, respectively, and all other algorithms are heuristics.

Original: In our experiments, we set ϵ = 0 .and m
Revised: In our experiments, we set ϵ = 0 .and m

Original: = 10 for the GV algorithm, and follow all the parameter settings (if any) of other algorithms according to their proposals.
Revised: = 10 for the GV algorithm, and follow all the parameter settings (if any) of other algorithms according to their proposals.

Original: We implement the evaluated algorithms using Python and also use the public code of Klodt et al.
Revised: We implement the evaluated algorithms using Python and also use the public code of Klodt et al.

Original: [25] for implementation.
Revised: [25] for implementation.

Original: All our experiments are conducted on an Intel(R)
Revised: All our experiments are conducted on an Intel(R)

Original: Xeon(R) Gold 6126 CPU @ 2.60GHz with 128GB of RAM.
Revised: Xeon(R) Gold 6126 CPU @ 2.60GHz with 128GB of RAM.

Original: Each algorithm is run for 50 times and the average result is reported.
Revised: Each algorithm is run for 50 times and the average result is reported.

Original: We use ten real-world datasets from different domains in our experiments, as listed in Table 1.
Revised: We use ten real-world datasets from different domains in our experiments, as listed in Table 1.

Original: Among these datasets, Facebook1, Facebook2, Lastfm and Twitter are social network graphs downloaded from [28], where vertices represent users and edges represent friendships.
Revised: Among these datasets, Facebook1, Facebook2, Lastfm and Twitter are social network graphs downloaded from [28], where vertices represent users and edges represent friendships.

Original: Each user has several properties representing the ”social circles” interested by the user.
Revised: Each user has several properties representing the ”social circles” interested by the user.

Original: Following the setting in Anava et al.
Revised: Following the setting in Anava et al.

Original: [3], we assign each social circle a color and set the color of each edge uv as the color of u and v ’s common social circle (if there are multiple common circles then choose an arbitrary one).
Revised: [3], we assign each social circle a color and set the color of each edge uv as the color of u and v ’s common social circle (if there are multiple common circles then choose an arbitrary one).

Original: The
Revised: The

Original: DAWN dataset [1][25] models a drug abuse warning network where vertices represent drugs and edges indicate that they were used together before an emergency room visit.
Revised: DAWN dataset [1][25] models a drug abuse warning network where vertices represent drugs and edges indicate that they were used together before an emergency room visit.

Original: Following [25] , the color of the edge represents the most common outcome of the visit.
Revised: Following [25] , the color of the edge represents the most common outcome of the visit.

Original: The Cooking dataset [23][25] models an ingredient co-occur network where vertices represent ingredients and edges indicate that they co-occur in some recipes.
Revised: The Cooking dataset [23][25] models an ingredient co-occur network where vertices represent ingredients and edges indicate that they co-occur in some recipes.

Original: Following [25], the color of the edge represents the most common
Revised: Following [25], the color of the edge represents the most common

Original: [Table] [Table]
Revised: [Table] [Table]

Original: cuisine.
Revised: cuisine.

Original: String1 and String

Revised: String1 and String

Original: [12] are networks containing protein-protein interactions, where vertices represent proteins and edges represent pairs of interacting proteins.
Revised: [12] are networks containing protein-protein interactions, where vertices represent proteins and edges represent pairs of interacting proteins.

Original: Following [6][25], we assign each protein-interaction a color and choose an arbitrary color for an edge if there are multiple interactions between two proteins.
Revised: Following [6][25], we assign each protein-interaction a color and choose an arbitrary color for an edge if there are multiple interactions between two proteins.

Original: Finally, DBLP and MAG [25] are co-authorship networks where vertices represent authors and each edge is labeled (colored) by the most frequent journal or conference that two authors co-authored.
Revised: Finally, DBLP and MAG [25] are co-authorship networks where vertices represent authors and each edge is labeled (colored) by the most frequent journal or conference that two authors co-authored.

Original: In Table 2, we list the Number of Disagreements (NOD) of all the evaluated algorithms, where the reported data of all algorithms except GV are normalized by those of GV.
Revised: In Table 2, we list the Number of Disagreements (NOD) of all the evaluated algorithms, where the reported data of all algorithms except GV are normalized by those of GV.

Original: It can be seen that Pivot performs the worst, as it works in a color-blind way.
Revised: It can be seen that Pivot performs the worst, as it works in a color-blind way.

Original: Although RC has a worse approximation ratio than Pivot, it performs better than Pivot but worse than CB and DC, while CB and DC have similar performance on NOD.
Revised: Although RC has a worse approximation ratio than Pivot, it performs better than Pivot but worse than CB and DC, while CB and DC have similar performance on NOD.

Original: The GER algorithm outperforms the Pivot, RC, CB and DC algorithms on
Revised: The GER algorithm outperforms the Pivot, RC, CB and DC algorithms on

Original: NOD, while GE even performs better than GER.
Revised: NOD, while GE even performs better than GER.

Original: However, it can be seen that our GV algorithm outperforms the best baseline GE in the literature on all the datasets except DAWN, while the gap between GV and GE is no more than 0.5% on the DAWN dataset.
Revised: However, it can be seen that our GV algorithm outperforms the best baseline GE in the literature on all the datasets except DAWN, while the gap between GV and GE is no more than 0.5% on the DAWN dataset.

Original: This demonstrates the superiority of our GV algorithm on the metric of NOD.
Revised: This demonstrates the superiority of our GV algorithm on the metric of NOD.

Original: In Table 3, we compare the running time of the implemented algorithms.
Revised: In Table 3, we compare the running time of the implemented algorithms.

Original: It can be seen that Pivot and
Revised: It can be seen that Pivot and

Original: GE generally incur the shortest and longest running time, respectively.
Revised: GE generally incur the shortest and longest running time, respectively.

Original: Compared to GE, GV runs faster on all datasets except String2, MAG and Cooking, with the performance gain ranging from 11.0% to 78.8%, while the average performance gain is 27%.
Revised: Compared to GE, GV runs faster on all datasets except String2, MAG and Cooking, with the performance gain ranging from 11.0% to 78.8%, while the average performance gain is 27%.

Original: This can be explained by the fact that
Revised: This can be explained by the fact that

Original: GV has a better time complexity of O ( | E | + ∆ | V | ) than the O (∆ L | E | + ∆ | V | ) time complexity of
Revised: GV has a better time complexity of O ( | E | + ∆ | V | ) than the O (∆ L | E | + ∆ | V | ) time complexity of

Original: GE, where ∆ L is the maximum number of distinct colors of the edges incident to any vertex.
Revised: GE, where ∆ L is the maximum number of distinct colors of the edges incident to any vertex.

Original: In summary, the experimental results demonstrate that, our GreedyVote algorithm outperforms all the implemented state-of-the-art algorithms (with or without performance guarantee) in terms of the objective function value of chromatic correlation clustering, and it also runs significantly faster than
Revised: In summary, the experimental results demonstrate that, our GreedyVote algorithm outperforms all the implemented state-of-the-art algorithms (with or without performance guarantee) in terms of the objective function value of chromatic correlation clustering, and it also runs significantly faster than

Original: GE in general, where GE is the heuristic proposed by Klodt et al.
Revised: GE in general, where GE is the heuristic proposed by Klodt et al.

Original: [25] with the best-known empirical performance on clustering quality.
Revised: [25] with the best-known empirical performance on clustering quality.

Original: [Table]
Revised: [Table]

Original:  Conclusion
Revised:  Conclusion

Original: We have revisited the Chromatic Correlation Clustering (CCC) problem, which generalizes the correlation clustering problem and has many important applications in machine learning and data mining.
Revised: We have revisited the Chromatic Correlation Clustering (CCC) problem, which generalizes the correlation clustering problem and has many important applications in machine learning and data mining.

Original: For this problem, prior studies have proposed both approximation algorithms with provable performance ratios and heuristics with better practical performance.
Revised: For this problem, prior studies have proposed both approximation algorithms with provable performance ratios and heuristics with better practical performance.

Original: We have proposed a 2.5approximation to CCC based on rounding the solution to a linear programming relaxation of CCC, and also a heuristic algorithm based on a “greedy voting” strategy.
Revised: We have proposed a 2.5approximation to CCC based on rounding the solution to a linear programming relaxation of CCC, and also a heuristic algorithm based on a “greedy voting” strategy.

Original: Our theoretical analysis and extensive experiments on real-world datasets demonstrate that our approach outperforms the existing ones both on the theoretical approximation ratio and on the practical performance in terms of time efficiency and clustering quality.
Revised: Our theoretical analysis and extensive experiments on real-world datasets demonstrate that our approach outperforms the existing ones both on the theoretical approximation ratio and on the practical performance in terms of time efficiency and clustering quality.

Original: Acknowledgement
Revised: Acknowledgement

Original: Kai Han’s work is partially supported by National Natural Science Foundation of China (NSFC) under Grant No. 62172384.
Revised: Kai Han’s work is partially supported by National Natural Science Foundation of China (NSFC) under Grant No. 62172384.

Original: He Huang’s work is partially supported by National Natural Science
Revised: He Huang’s work is partially supported by National Natural Science

Original: Foundation of China (NSFC) under Grant No. U20A20182 and Grant No. 61873177.
Revised: Foundation of China (NSFC) under Grant No. U20A20182 and Grant No. 61873177.

Original: The work of
Revised: The work of

Original: Qing Xiu and Shuang Cui is done under the guidance of their supervisor: Kai HanAppendix A Proof of Lemma 4.
Revised: Qing Xiu and Shuang Cui is done under the guidance of their supervisor: Kai Han

Original: We show that D ( uvw ) ≤ 2 .

Original: 5 L ( uvw ) for all c ∈ L and u, v, w ∈ S tc by enumerating all possible combinations of (cid:0) ϕ

Original: ( uv ) , ϕ ( vw ) , ϕ ( wu ) (cid:1) .

Original: Note that due to symmetry, we do not consider the order of (cid:0) ϕ

Original: ( uv ) , ϕ ( vw ) , ϕ ( wu ) (cid:1) .

Original: Without loss of generality, we first consider the special case of u = v .

Original: Observing that D ( uuu ) =

Original: L ( uuu ) = 0 , so we consider w ̸ = u .

Original: By definition, it is easy to obtain that

Original: [Equation]

Original: Thus, it is trivial to see that D ( uuw ) ≤ L ( uuw ) if ϕ ( uw )

Original: =

Original: c or ϕ ( uw ) = γ .

Original: If ϕ ( uw ) ∈

Original: L \ { c } , then by Observation 4.1 we know that x

Original: ϕ ( uw ) uw ≥ 12 , which implies D ( uuw ) ≤ 2 L ( uuw ) .

Original: Now, it remains to consider the general case that u, v, w are distinct vertices.

Original: In the following, we give a useful property of the fractional solution to [CCC-LP] .

Original: Observation A.1.

Original: Given three distinct vertices u, v, w ∈ S c and a color ¯

Original: c ∈ L \ { c } , then x ¯ c uv ≥ max { 12 , 1 − x cuv , 1 − x cvw , 1 − x cwu } .

Original: Proof.

Original: By the definition of S c , Observation 4.1 and constraint (2), we have

Original: [Equation]

Original: Rearranging them completes the proof.

Original: For brevity, we use x 1 = x cuv , x 2 = x cvw , x 3 = x cwu and m = max { 12 , 1 − x 1 , 1 − x 2 , 1 − x 3 } , and refer to the triangle (cid:0) ϕ

Original: ( uv ) , ϕ ( vw ) , ϕ ( wu ) (cid:1) as ( c 1 , c 2 , c 3 ) where c i is one of the colors in { c, ¯ c, γ } and ¯ c is any color in L \ { c } .

Original: In what follows, we investigate all combinations of ( c 1 , c 2 , c 3 ) .

Original: A.1 ( γ, γ, γ ) Triangles By

Original: definition,

Original: [Equation]

Original: Meanwhile,

Original: [Equation]

Original: A.2 ( γ, γ, c ) Triangles

Original: We have

Original: D ( uvw

Original: [Equation]

Original: =

Original: [Equation]

Original: [Equation]

Original: [Equation]

Original: [Equation]

Original: x 1 ) x

Original: [Equation]

Original: + (1 − x 2 ) x 1 , and L ( uvw ) =

Original: (1 − x 2 x 3 ) (cid:88) i ∈

Original: L (

Original: [Equation]

Original: iwu

Original: [Equation]

Original: [Equation]

Original: x

Original: [Equation]

Original: x

Original: [Equation]

Original: (cid:88)

Original: [Equation]

Original: Thus,

Original: [Equation]

Original: 1 − x 1 ) x 2 − (1 − x 2 ) x 1 = 2(1 − x 1 )(1 − x 2 ) ≥ 0 .

Original: A.3 ( γ, γ, ¯ c ) Triangles

Original: We have

Original: D ( uvw ) =

Original: (1 − x 2 )(1 − x 3 ) + (1 − x 1 )(1 − x 3 ) + 1 − x 1 x 2 , and L ( uvw ) =

Original: (1 − x 2 x 3 ) (cid:88) i ∈

Original: L (1 − x iwu )

Original: + (1 − x 1 x 3 ) (cid:88)

Original: i ∈ L (1 − x iuv )

Original: + (1 − x 1 x 2 ) x ¯ cwu ≥ (1 − x 2 x 3 )(1 − x 1 ) + (1 − x 1 x 3 )(1 − x 2 )

Original: + (1 − x 1 x 2 ) m ≥ (1 − x 3 )(1 − x 1 ) + (1 − x 3 )(1 − x 2 ) + 12 (1 − x 1 x 2 ) .

Original: Thus, 2 L ( uvw ) − D ( uvw ) ≥ 0 .

Original: A.4 ( γ, c, c ) Triangles

Original: We have

Original: D ( uvw ) =

Original: (1 − x 2 )(1 − x 3 ) + ( x 1 + x 3 − 2 x 1 x 3 ) + ( x 1 + x 2 − 2 x 1 x 2 )

Original: = 1 + x 2 x 3 + 2 x 1 (1 − x 2 − x 3 ) , and L ( uvw ) = (1 − x 2 x 3 ) (cid:88) i ∈

Original: L (1 − x iwu )

Original: [-+ (1 − x 1 x 3 ) x 2 + (1 − x 1 x 2 ) x≥ (1 − x 2 x 3 )(1 − x 1 ) + (1 − x 1 x 3 ) x 2 + (1 − x 1 x 2 ) x= 
-]
Revised: [-+ (1 − x 1 x 3 ) x 2 + (1 − x 1 x 2 ) x≥ (1 − x 2 x 3 )(1 − x 1 ) + (1 − x 1 x 3 ) x 2 + (1 − x 1 x 2 ) x= 
-]

Original: − x 1 + x 2 + x 3 − x 2 x 3 − x 1 x 2 x 3 .

Original: Thus, 2 · L ( uvw ) − D ( uvw ) ≥ 3 2 + 5( x 2 + x 3 )− 7 x 2 x − x 1 (cid:16)

Original: [Equation]

Original: Obviously,

Original: [Equation]

Original: This implies that F decreases along with x 1 .

Original: Recall that by constraint (3), we have x 1 ≤ x 2 + x 3 .

Original: Thus, when x 2 + x 3 ≥ 1 , F achieves its minimum at x 1 = 1 such that

Original: [Equation]

Original: where the last inequality is because 1 ≤ x 2 + x 3 ≤ 2 .

Original: On the other hand, when x 2 + x 3 ≤ 1 , F achieves its minimum at x 1 = x 2 + x 3 such that

Original: [Equation]

Original: Due to symmetry, without loss of generality, let x 2 = y + a and x 3 =

Original: y − a with 0 ≤ a ≤ y ≤ 12 .

Original: Then, we can rewrite F ∗ as

Original: [Equation]

Original: Putting it together yields 52 · L ( uvw ) − D (

Original: [Equation]

Original: ) ≥ 0 .

Original: A.5 ( γ, c, ¯ c ) Triangles

Original: We have

Original: D ( uvw ) =

Original: (1 − x 2 )(1 − x 3 ) + ( x 1 + x 3 − 2 x 1 x 3 ) + (1 − x 1 x 2 ) =

Original: 2 − x 2 + x 2 x 3 + x 1 (1 − x 2 − 2 x 3 ) , and L ( uvw ) =

Original: (1 − x 2 x 3 ) (cid:88) i

Original: ∈

Original: L

Original: [Equation]

Original: [Equation]

Original: 1 −

Original: [Equation]

Original: [Equation]

Original: [Equation]

Original: [Equation]

Original: 1 − x 1 x 2 ) x ¯

Original: [Equation]

Original: ≥

Original: [Equation]

Original: [Equation]

Original: Thus,

Original: [Equation]

Original: Again, when m is independent of x 1 and m ≥ 1 / 2 , we have

Original: [Equation]

Original: This implies that F decreases along with x 1 .

Original: When x 2 + x 3 ≥ 1 , F achieves its minimum at x 1 =such that

Original: [Equation]

Original: If x 2 ≥ 1 / 2 , observing that 5 m = m

Original: + 4 m ≥ 1 − x 3 + 4 / 2 = 3 − x 3 , we have

Original: F ∗ ≥ (3 − x 3 )(1 − x

Original: [Equation]

Original: (2 x 2 − 1)(1 − x 3 ) ≥ 0 .

Original: If x 2 < 1 / 2 , observing that 5 m ≥ 5(1 − x 2 ) , we have

Original: [Equation]

Original: where the first inequality is because 4 − 7 x 2 ≥ 0 and x 3 ≥ 1 − x 2 .

Original: On the other hand, when x 2 + x 3 ≤ 1 , F achieves its minimum at x 1 = x 2 + x 3 such that

Original: [Equation]

Original: If x 2 ≥ 1 / 2 , observing that 5 m ≥ 5 / 2 , we have

Original: [Equation]

Original: where the second inequality is by 1 − x 3 ≥ x 2 , and the last inequality is by x 3 ≤ 1 − x 2 ≤ 1 / 2 ≤ x 2 .

Original: If 1 / 8 ≤ x 2 < 1 / 2 , observing that 5 m ≥ 5(1 − x 2 ) , we have

Original: [Equation]

Original: ∗ ≥

Original: [Equation]

Original: which is increasing in x 3 since x 3 ≤ 1 − x 2 ≤ 7 / 8 .

Original: Thus,

Original: [Equation]

Original: ≥

Original: [Equation]

Original: If x 2 < 1 / 8 , similarly, we have

Original: [Equation]

Original: [Equation]

Original: x

Original: [Equation]

Original: [Equation]

Original: Putting it together yields 52 · L ( uvw ) − D ( uvw ) ≥ 0 .

Original: A.6 ( γ, ¯ c, ¯ c )

Original: Triangles

Original: We have

Original: D ( uvw ) =

Original: (1 − x 2 )(1 − x 3 ) + (1 − x 1 x 3 ) + (1 − x 1 x 2 ) , and L ( uvw ) =

Original: (1 − x 2 x 3 ) (cid:88) i ∈

Original: L (1 − x iwu )

Original: + (1 − x 1 x 3 ) x ¯ cvw + (1 − x 1 x 2 ) x ¯ cwu ≥ (1 − x 2 x 3 )(1 − x 1 ) + (1 − x 1 x 3 ) m

Original: + (1 − x 1 x 2 ) m.

Original: Thus,

Original: [Equation]

Original: uvw

Original: [Equation]

Original: A.7 ( c, c, c ) Triangles

Original: We have

Original: D ( uvw

Original: [Equation]

Original: [Equation]

Original: and L ( uvw ) =

Original: (1 − x 2 x 3 ) x 1 + (1 − x 1 x 3 ) x 2 + (1 − x 1 x 2 ) x=

Original: x 1 + x 2 + x 3 − 3 x 1 x 2 x 3 .

Original: Thus, 2 L ( uvw ) − D ( uvw ) =

Original: 2 x 1 x 2 (1 − x 3 )

Original: + 2 x 2 x 3 (1 − x 1 )

Original: + 2 x 1 x

Original: [Equation]

Original: 1 − x 2 ) ≥ 0 .

Original: A.8 ( c, c, ¯ c ) Triangles

Original: We have

Original: D ( uvw ) =

Original: ( x 2 + x 3 − 2 x 2 x 3 ) + ( x 1 + x 3 − 2 x 1 x 3 )

Original: + (1 − x 1 x 2 ) , and L ( uvw ) =

Original: (1 − x 2 x 3 ) x 1 + (1 − x 1 x 3 ) x 2 + (1 − x 1 x 2 ) x ¯ cwu ≥ (1 − x

Original: [Equation]

Original: Thus,

Original: [Equation]

Original: Due to symmetry, without loss of generality, let x 1 = y + a and x 2 =

Original: y − a with 0 ≤ a ≤ y ≤ 1 .

Original: Then, we have

Original: F

Original: [Equation]

Original: It is easy to verify that − 5 y 2 + 4 y − 2 ≤ 0 , which indicates ( − 5 y 2 + 4 y − 2) x 3 decreases along with x 3 .

Original: Thus, if y ≥ 1 / 2 , we can get that

Original: F

Original: [Equation]

Original: y 2 + 7 y − 2 ≥ min {− 5 + 7 − 2 , − 5 / 4 + 7 / 2 − 2 } = 0 .

Original: Meanwhile, if y ≤ 1 / 2 , using x 3 ≤ x 1 + x 2 = 2 y (by constraint 3), we can get that

Original: [Equation]

Original: Putting it together yields 52 · L ( uvw ) − D ( uvw ) ≥ 0 .

Original: A.9 ( c, ¯ c, ¯ c ) Triangles

Original: We have

Original: D ( uvw ) =

Original: ( x 2 + x 3 − 2 x 2 x 3 ) + (1 − x 1 x 3 )

Original: + (1 − x 1 x 2 ) , and L ( uvw ) =

Original: (1 − x 2 x 3 ) x 1 + (1 − x 1 x 3 ) x ¯ cvw + (1 − x 1 x 2 ) x ¯ cwu ≥ (1 − x 2 x 3 ) x 1 + 1 2 · (1 − x 1 x 3 ) + 1 2 · (1 − x 1 x 2 ) .

Original: Thus,

Original: [Equation]

Original: Observing that F is linear in x

Original: [Equation]

Original: we first assume that F decreases along with x 1 .

Original: Then, as x 1 ≤

Original: [Equation]

Original: we have

Original: [Equation]

Original: Next

Original: [Equation]

Original: we consider that F increases along with x 1 .

Original: Due to symmetry, without loss of generality, suppose that x 2 ≥ x 3 .

Original: Using x 1 ≥ x 2 − x 3 (by constraint 3), we have

Original: [Equation]

Original: Then, we can get that

Original: [Equation]

Original: where the second inequality is because x 2 ≤ 1 .

Original: Thus, F ∗ increases along with x 2 , which gives rise to

Original: F

Original: [Equation]

Original: Putting it together yields

Original: [Equation]

Original: A.10 (¯ c, ¯ c, ¯ c ) Triangles

Original: We have

Original: [Equation]

Original: 1 −

Original: x 1 x

Original: +

Original: −

Original: x 1 x 2 )

Original: and L

Original: ( uvw )

Original: =

Original: (1 − x 2 x 3 ) x ¯ cuv + (1 − x 1 x 3 ) x ¯

Original: cvw

Original: + (1 − x

Original: x

Original: x

Original: ¯

Original: cwu ≥ (cid:0)

Original: 1 − x

Original: x

Original: + (

Original: − x

Original: x

Original: + (

Original: −

Original: x 1 x

Original: (cid:1)

Original: Thus, 2 L ( uvw ) − D ( uvw ) ≥ 0 .

Original: This completes the case-by-case analysis for proving D ( uvw ) ≤ 2 .

Original: 5 L ( uvw ) .

Original: B Time Complexity Analysis of the GreedyVote Algorithm

Original: Note that computing | N ϕ ( uv ) ( u ) ∩ N ϕ ( uv ) ( v ) | | N ( u ) ∪ N ( v ) | for any uv ∈ E can be implemented in O (∆) time given the adjacent vertex lists of u, v and the adjacent matrix of G .

Original: Besides, the while-loop in Lines 2– iterates for at most O ( | V | ) times due to the reason that at least two vertices are removed from V in each iteration.

Original: Therefore, Lines 3–4 cost O (∆ | V | ) running time in total, considering that m is a predefined constant.

Original: In Lines 6–10 of GreedyVote , when a new vertex w is added into S k , only the vote counts of the vertices in C = { v | wv ∈ E ∧ v / ∈

Original: S

Original: k ∪ { w }} would be changed.

Original: Therefore, we can check each edge in { wv | v ∈ C } to determine the next vertex w ′ to be added into S k , while determining the new best color of S k ∪ { w } (i.e., the most frequent color of the edges with both endpoints in S k ∪ { w } ) at the same time.

Original: This implies that the operations in Lines 2–12 except Lines 3–4 can be implemented in O ( | E | ) time in total.

Original: Synthesizing the above analysis, we know that the time complexity of the GreedyVote algorithm is

Original: O ( | E | + ∆ | V | ) for any constant m .

Original: C Derandomization

Original: In this section, we show that our approximation algorithm 1 can be de-randomized using some tricks inspired by Chawla et al.

Original: The resultant deterministic algorithm also guarantees a 2 .

Original: 5approximation.

Original: It is noted that phase 1 (Lines 2–4) is a deterministic procedure according to Observation 4.1.

Original: Lines 5–6 can also be derandomized by a fixed coloring method easily.

Original: Therefore, to get a deterministic algorithm, it is sufficient to derandomize the clustering process on subgraph S c .

Original: According to the definitions of d ( uv | w ) and lp ( uv | w ) , we can rewrite them as follows:

Original: [Equation]

Original: and

Original: [Equation]

Original: Here 1 − p cuv denotes the probability of the event that u and v are in the same cluster colored by c , used in line 11.

Original: Now we attempt to change the value of each p cuv to either 0 or 1 to maximize the function:

Original: [Equation]

Original: This can be done as follows: for each edge uv ∈ E tc , we pick a value from { 0 , 1 } to assign to p cuv that maximizes the function (9).

Original: After all p cuv for uv ∈ E tc are integers (e.g. 0 or 1 ), the algorithm picks the vertex w to maximize 2 .

Original: 5 E [ L t | S tc , p t = w ]

Original: [Equation]

Original: E [ D t | S tc , p

Original: [Equation]

Original: w ] where p t = w denotes the event that the center of the new cluster at iteration t is vertex w .

Original: Algorithm gets the deterministic cluster in iteration t because the center of the cluster is deterministic and the probability of the event that each vertex is add to the cluster is either 0 or 1 .

Original: Note that all terms of L ( uvw ) and D ( uvw ) are linear functions of p cuv , p cvw , and p cwu according to the definitions.

Original: Then, 2 . 5 E [ L t | S tc ] − E

Original: [ D t | S tc ] =

Original: [Equation]

Original: [Equation]

Original: [Equation]

Original: ) are linear in each p cuv for uv ∈ E tc .

Original: Therefore, the value of (9) may only increase when we greedily change p cuv to 0 or 1 .

Original: Combined with our previous analysis, function (9), which is equal to6 | S tc | (cid:80) w ∈ S tc (cid:80) uv ∈ E tc (2 .

Original: 5 lp ( uv | w ) − d

Original: uv | w ))

Original: , is nonnegative after each p cuv is replaced withor 1 .

Original: Hence, we can find some vertex w ⋆ ∈ S ct to make (cid:80) uv ∈ E tc (2 .

Original: 5 lp ( uv | w ⋆ ) − d ( uv | w ⋆ )) ≥ 0 .

Original: It means that the number of disagreements is upper bounded by 2 . 5 times the LP cost among the edges removed at iteration t , and we get D t ≤ 2 .

Original: 5 L t .

Original: Therefore, this deterministic algorithm achieves an approximation ratio of 2 . 5 .

Original: D Addtional Experiments

Original: In this section, we present more experimental results under the same experimental settings in Sec. 6.

Original: Each implemented algorithm is run for 50 times for each dataset.

Original: First, we compare the implemented algorithms on their variances, with the results shown by Table 4.

Original: As GV, GE, GER are the three algorithms with the best performance on the average Number of

Original: Disagreements (NOD), we also plot the distribution of their NOD in a visualized way in Figure A.

Original: From Table 4 and Figure A, it can be seen that the variances of GV are smaller than those of GE on all 10 datasets except DAWN.

Original: Compared to GER, the variances of GV are smaller on 6 out of 10 datasets, but GV outperforms GER in terms of average NOD on all 10 datasets (see Sec. 2) .

Original: Moreover, Figure A shows that GV achieves smaller NOD than GE and GER in every of theruns on the four datasets including Lastfm, DBLP, Twitter and MAG.

Original: Finally, among all the seven implemented algorithms, GV achieves the smallest variance on 6 out of 10 datasets.

Original: Next, we evaluate the impact of the parameter m of GV on the number of disagreements (NOD) and running time (RT), shown in Figure B.

Original: As expected, the running time of GV increases with m , while the NOD of GV decreases when m increases.

Original: This reveals the tradeoff on efficiency and effectiveness for selecting the value of m .

Original: However, the overall time complexity of GV (i.e., O ( | E | + ∆ | V | ) ) is independent on m .

Original: [Figure]

Original: Pivot [2]

Original: RC [3]

Original: DC [3]

Original: CB [6]

Original: GE [25]

Original: GER [25]

Original: GV (ours)

Original: Facebook 2.17e 3.47e 4.78e 3.21e 1.34e 9.11e 7.36e

Original: Facebook 1.48e 8.68e 6.92e 3.75e 1.34e 1.76e 8.19e

Original: Lastfm 7.45e 9.42e 1.13e 6.91e 2.62e 2.82e 1.69e

Original: Twitter 7.83e 8.07e 1.69e 8.55e 3.19e 2.21e 1.56e

Original: DAWN 1.68e 2.21e 1.44e 1.12e 2.75e 1.02e 1.23e

Original: Cooking 7.05e 2.06e 3.63e 1.81e 6.50e 3.16e 5.38e

Original: String 4.54e 2.49e 1.03e 1.23e 6.81e 7.79e 2.61e

Original: String 3.17e 4.27e 4.87e 3.90e 1.12e 1.11e 2.30e

Original: DBLP 2.16e 1.50e 2.15e 4.26e 3.42e 1.26e 2.84e

Original: MAG 3.24e 1.08e 9.11e 2.67e 1.23e 4.52e 4.31e

Original: [Figure]