Summer Objectives #377
Replies: 1 comment
-
Hello, Many thanks for curating this list. Here are my thoughts: (1) About the three points about the documentation: you can always work on that in parallel with the other tasks. :-) (2) PPO: Yes, it is a great idea to add it as an alternative of DQN. For testing purpose, you should be able to obtain the same results as the one reported in Tom's last paper. (3) Generic graph representation: actually the research topic of Leo. :-) (4) Building a Knowledge Base: totally agree - It will require a brainstorm with the whole to decide how to it properly. (5) Constraint Programming: Yes, I see it as the next short-term steps. (6) Housekeeping: like the documentation, continue to do that on a regular basis. (7) Double-heuristic: although very interesting, I see it as a new M.Sc./Ph.D. research project. |
Beta Was this translation helpful? Give feedback.
-
Areas of improvement
While SeaPearl is almost ready for the XCSP3 competition, there remains many areas of improvement. The way I see it, there are 5 areas where the project can be improved:
Documentation
If we are to grow this project, we need to be able to on-board new contributors easily. This means that when they come in, they have access to documentation at multiple levels of abstraction:
Representation Learning
This is a broad category that includes RL, GNNs and the graph representation we use for the CP problems. I see the following things:
Constraint Programming
In order to have good comparisons between what we can learn with SeaPearl and SOTA methods, we need, well, SOTA methods... This means we need to implement new functionalities (heuristics, constraints, metaheuristics maybe?). This is an incomplete list, but we should strive to add, at the very least:
Double Heuristic
When we have a good base for representation learning and CP, we will finally be able to think about building a double heuristic -combining variable and value selection heuristics in a single agent. This will require some research and we should start by reading some papers and looking at implementations for learned variable selection heuristics as well as cooperative agents to have a better idea of the design we want to try.
Housekeeping
All the boring stuff that guarantee the project works as intended:
Beta Was this translation helpful? Give feedback.
All reactions