Given an adjacency matrix for an unweighted undirected graph, is there an efficient way (polynomial algorithm) to expand/increase the length of shortest path between any given two nodes s and t?
Example:
In the example below, there are 5 different 'shortest paths' from vertex s=1 to vertex t=5, each having length 3. I want to remove the fewest number of edges so that the shortest path length is forced to become 4 or more. (Disconnecting the graph is ok.)
Adjacency matrix (extended to correct the example):
0 1 0 0 0 1 1 1 0 1 0
1 0 1 1 0 0 0 0 0 0 0
0 1 0 0 1 0 0 0 0 0 1
0 1 0 0 1 1 0 0 0 0 0
0 0 1 1 0 1 0 0 0 0 0
1 0 0 1 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 1 1 1 0 0 0
1 0 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1 0
representing this graph:
Minimum cost for forcing the shortest path length to increase from 3 to 4 is the removal of two edges (1,2) and (5,9)
Goal:
Can you give any ideas for a general algorithm that finds the set of edges that must be removed in a general case?
Correction: As noted in my comments, this example is not complete. By adding two more vertices 10 and 11 (shown in red), the example is rescued.