S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani
263
So
V
0
=
V
∪ {
x
}
, and
E
0
=
E
∪ {{
s, x
}
,
{
x, t
}}
. How do we recover a Rudrata
(
s, t
)

path
in
G
given any Rudrata
cycle
in
G
0
? Easy, we just delete the edges
{
s, x
}
and
{
x, t
}
from the cycle.
Instance:
nodes
s, t
G
= (
V, E
)
{
s, x
}
,
{
x, t
}
G
0
= (
V
0
, E
0
)
R
UDRATA
CYCLE
and edges
{
s, x
}
,
{
x, t
}
No solution
Solution:
path
Add node
x
Solution: cycle
No solution
Delete edges
R
UDRATA
(
s, t
)

PATH
To confirm the validity of this reduction, we have to show that it works in the case of either
outcome depicted.
1. When the instance of R
UDRATA CYCLE
has a solution.
Since the new vertex
x
has only two neighbors,
s
and
t
, any Rudrata cycle in
G
0
must consec
utively traverse the edges
{
t, x
}
and
{
x, s
}
. The rest of the cycle then traverses every other
vertex en route from
s
to
t
. Thus deleting the two edges
{
t, x
}
and
{
x, s
}
from the Rudrata
cycle gives a Rudrata path from
s
to
t
in the original graph
G
.