I am looking to find a minimum list of cycles in a graph such that their union gives the list of all simple cycles in this graph.
In the example below, here are 4 simple undirected cycles: 1-2-3, 2-3-4, 1-3-4-5 and 1-2-3-4-5. The last cycle does not add any further information about the cyclic structure of my graph that's why I don not want to process it.
I made few searches and found out there is the Edge Cycle Cover and finding the minimum is NP-HARD problem. I'm not sure if it is exactly what I'm looking for.
So, any help understanding this problem? Is there a heuristic to get only a subset of cycles for each vertex in the graph? it does not have to be minimal!