Hello,
Graph partition is separation of a graph into smaller subgraphs of set size or weight, such that number of connections (edges) between separate subgraphs is minimal.
Naive implementation would be extremely slow and inefficient, I think about O(N!) complexity, but I can do it.
I'm an experienced C++ developer, and I have a bachelor's degree in applied maths, so projects like this are not hard for me.