Hello,
What is the reasoning for the following behaviours of the is_separator() function?
This makes sense to me:
graph: 1 - 2 - 3
vertex set: {2}
result: true
Removing 2 does disconnect the graph.
graph: 1 - 2 - 3
vertex set: {3}
result: false
Removing 3 doesn't.
graph: 1 - 2 - 3 - 4
vertex set: {1, 4}
result: false
Removing 1 and 4 doesn't.
graph: 1 - 2
vertex set: {}
result: false
Removing nothing does not disconnect it.
graph: 1, 2 (disconnected)
vertex set: {}
result: true
Makes sense because the graph was already disconnected
But I am puzzled by these:
graph: 1 - 2 - 3
vertex set: {1,3}
result: true
graph: 1 - 2
vertex set: {1}
result: true
Removing these does not disconnect the graph, it merely leaves a 1-node graph behind.
Why is the result then true?
Szabolcs