-
Notifications
You must be signed in to change notification settings - Fork 19
Graph coloring problem statement #22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…est all inputs/solutions
mmarchi-github
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The problem formulation and the goal of inserting this specific problem statement are not entirely clear to me (please see my comments to the text).
Disclaimer: I am not an expert in combinatorial optimization.
|
|
||
| ## References | ||
|
|
||
| - Garey, M. R., & Johnson, D. S. (1979). _Computers and Intractability: A Guide to the Theory of NP-Completeness_. W. H. Freeman. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These two references are not cited in the description text. Please cite them where suitable.
| provide a clear justification when opening the pull request if the problem is | ||
| not licensed under CC-BY-4.0 --> | ||
|
|
||
| # Graph Coloring (vertex coloring) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This problem statement seems to describe a classic problem of Combinatorial Optimization. What is the added value of this problem here? As a non-expert in the field, I don't understand whether something new is proposed...
|
|
||
| - The total number of colors used is minimised: | ||
|
|
||
| min( max\_{v ∈ V} c(v) + 1 ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Written like this, the function to assign a color to a new vertex is not entirely clear to me.
The fitness function of the problem is also not entirely clear to me.
|
|
||
| ### Valid Solution | ||
|
|
||
| A solution is **valid** if all adjacency constraints are satisfied, and the number of colors is minimised. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The term valid confuses me. What do you mean with valid? Do you mean "optimal"?
Valid makes me think about something that complies with certain rules or requirement, so it would be close to the concept of "feasible", while in your explanation a valid solution also seems to improve the objective of previous solutions... But this makes me think about moves between two solutions... Could you clarify the concept, please?
|
|
||
| ### Objective | ||
|
|
||
| The goal is to find a **coloring function**: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the search space of this problem statement? A set of coloring functions?
Problem StatementThe graph coloring is like the traveling salesman a well-known problem. Hence, this problem statement is not novel and the relevance for including it in the ROAR-NET repository is arguable. The following comments focus on the writing of the problem statement. I would suggest to call the problem Graph Vertex-Coloring to distinguish it from Graph Edge-Coloring. Why the +1? This is the definition of an optimal solution not a valid one. How do we understand if the instance is zero based or one based? Some formatting problems The references are not referred to in the text. Why are only some instances reported in the repository? I would be careful republishing the instances, the more places they are published the more chances there are that they become corrupted. For example, there are some instances among the DIMACS ones that have some problems (eg, edges listed in two directions). There is no solution verifier mentioned in the README. The validation.py script is a bit superficial. It does not count how many colors are effectively used. A verifier is already available to the community: A page with instances and best known solutions is available here: Other important resources: An instance space analysis of the instances Implementations in C++ of several ROAs: Problem Code
|
Graph coloring problem statement created during the ROAR-NET Problem Modelling Code Fest.