What steps will reproduce the problem?
Create a RPST for the graph given:
MultiDirectedGraph multiGraph = new MultiDirectedGraph();
Vertex start= new Vertex("START", "START");
Vertex xor1 = new Vertex("XOR_1", "XOR_1");
Vertex xor2 = new Vertex("XOR_2", "XOR_2");
Vertex xor3 = new Vertex("XOR_3", "XOR_3");
Vertex xor4 = new Vertex("XOR_4", "XOR_4");
Vertex xor5 = new Vertex("XOR_5", "XOR_5");
Vertex xor6 = new Vertex("XOR_6", "XOR_6");
Vertex f12 = new Vertex("F12", "F12");
Vertex f56 = new Vertex("F56", "F56");
Vertex f34 = new Vertex("F34","F34");
Vertex end = new Vertex("END", "END");
start.setId("1");
xor1.setId("2");
xor2.setId("3");
xor3.setId("4");
xor4.setId("5");
xor5.setId("6");
xor6.setId("7");
f12.setId("8");
f34.setId("9");
f56.setId("10");
end.setId("11");
multiGraph.addVertex(start);
multiGraph.addVertex(xor1);
multiGraph.addVertex(xor2);
multiGraph.addVertex(xor3);
multiGraph.addVertex(xor4);
multiGraph.addVertex(xor5);
multiGraph.addVertex(xor6);
multiGraph.addVertex(f12);
multiGraph.addVertex(f34);
multiGraph.addVertex(f56);
multiGraph.addVertex(end);
multiGraph.addEdge(start,xor1);
multiGraph.addEdge(xor1,xor2);
multiGraph.addEdge(xor1,f12);
multiGraph.addEdge(f12,xor2);
multiGraph.addEdge(xor2,xor1);
multiGraph.addEdge(xor2,xor3);
multiGraph.addEdge(xor2,xor5);
multiGraph.addEdge(xor3,xor4);
multiGraph.addEdge(xor3,f34);
multiGraph.addEdge(f34,xor4);
multiGraph.addEdge(xor4,xor5);
multiGraph.addEdge(xor4,xor1);
multiGraph.addEdge(xor5,f56);
multiGraph.addEdge(f56,xor6);
multiGraph.addEdge(xor6,xor1);
multiGraph.addEdge(xor6,xor3);
multiGraph.addEdge(xor6,xor5);
RPST rpst = new RPST(multiGraph);
The decompostion of the graph is not deterministic. Multiple executions show
that there exists a variation in the amount of identified bonds and polygons.