@ravindra

Great solution. But I need some clarification on my solution to the second.

My solution to the second is based on the solution to the first.

As I stated, in the solution to the first, only the last 2 disks are swapped, while the order of all other disks are preserved. So moving the same pile of disks twice will preserve the original order of all disks.

In step 1) 3) 5) 7) of my solution to the second, the process of a) is performed for the first (2n-2) disks. (No need to preserve order) After step 1)-3) and 5)-7), the order of the first (2n-2) disks is preserved. So order of all disks is preserved after 1)-7).

Denote the number of moves as f(n) in case a), and g(n) in case b).
We have:
    f(n) = 2^(n+1) - 2 and
    g(n) = 4f(n-1)+3.
So  g(n) = 4*2^n-5


On 2010-10-9 1:56, ravindra patel wrote:
@Terence

Solution for first one is trivial. Just double the number of moves of typical ToH as each pair requires now 2 moves.

In second one the approach is correct but the calculation is wrong.
F(n) = 4f(n-1) + 3 = 3(4^n -1)/(4-1) = 4^n-1 = 2^2n -1.

This can however be optimized as you can reduce the number of recursions.

1- Move (2n-2, From source, to dest) [f(n-1)]
2- Move the last 2 disks from source to temp (2 moves and order reversed)
3- Move (2n-2, From dest, to source) [f(n-1)]
4- Move the last 2 disks from temp to dest (2 moves and original order recovered)
5- Move(2n-2, From source, to dest) [f(n-1)]

so f(n) = 3f(n-1) + 4, f(1) = 4
f(n) = 4(3^n -1)/(3-1) = 2(3^n -1)

For larger n(>2) this is more efficient.

Thanks,
- Ravindra

On Fri, Oct 8, 2010 at 1:42 PM, Terence <[email protected] <mailto:[email protected]>> wrote:



    On 2010-10-8 15:14, snehal jain wrote:

        A Double Tower of Hanoi contains 2n disks of n different
        sizes, two of
        each size. As usual, we’re required to move only one disk at a
        time,
        without putting a larger one over a smaller one.
        a. How many moves does it take to transfer a double tower from one
        peg to another, if disks of equal size are indistinguishable
        from each
        other?

    Denote the minimum moves as f(n).
    Like the classical Tower of Hanoi:
    1) move the first (2n-2) disks from Peg 0 to Peg 1 -- f(n-1) moves
    2) move the last 2 disks from Peg 0 to Peg 2  -- 2 moves
    3) move the (2n-2) disks from Peg1 to Peg 2 -- f(n-1) moves
    f(n) = 2f(n-1) + 2,  f(1) = 2
    So f(n) = 2^(n+1) - 2



        b. What if we are required to reproduce the original top-to-bottom
        order of all the equal-size disks in the final arrangement?

    Denote the minimum moves as g(n).
    It can be proved that, in case a, only the last 2 disks are
    swapped. The order of all other disks are preserved.
    So we only need to modify the process to restore the order of the
    last 2 disks.
    1) move the first (2n-2) disks from Peg 0 to Peg 2 -- f(n-1) moves
    2) move the second last disk from Peg 0 to Peg 1  -- 1 move
    3) move the (2n-2) disks from Peg 2 to Peg 1 -- f(n-1) moves
    4) move the last disk from Peg 0 to Peg 2 -- 1 move
    5) move the first (2n-2) disks from Peg 1 to Peg 0 -- f(n-1) moves
    6) move the second last disk from Peg 1 to Peg 2  -- 1 move
    7) move the (2n-2) disks from Peg 0 to Peg 2 -- f(n-1) moves
    g(n) = 4f(n-1)+3
           = 2^(n+2)-5


-- You received this message because you are subscribed to the Google
    Groups "Algorithm Geeks" group.
    To post to this group, send email to [email protected]
    <mailto:[email protected]>.
    To unsubscribe from this group, send email to
    [email protected]
    <mailto:algogeeks%[email protected]>.
    For more options, visit this group at
    http://groups.google.com/group/algogeeks?hl=en.


--
You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.

--
You received this message because you are subscribed to the Google Groups "Algorithm 
Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to