An ocean has infinitely many islands. Every island is labeled by one of the integers {...,-3,-2,-1,0,1,2,3,...,} with no two islands having the same label and every integer being the label of some island. Two islands are connected by a bridge if their labels differ by a power of two. For instance, there is a bridge connecting island 7 and island -25.
We define the distance between two islands k1 and k2 to be the minimum number of bridges needed to get from k1 to k2. For instance, the distance between the islands 0 and 7 is 2. (You can move from island 0 to island 8, then to island 7; this is the minimum, since you can't go from 0 to 7 using just one bridge.)
- Show that for any integer r ≥ 1, you can find two islands in the ocean at distance r from each other.
- An infinite path in our ocean consists of an infinite set of islands I and an infinite set of bridges B, such that:
- every island in I is connected to exactly two bridges in B,
- for any two islands in I, you can get from one to the other using only bridges in B.
- Each island k in I is connected to exactly two bridges in B – namely, the bridges leading to islands k-2 and k+2;
- To get from any odd-numbered island to any other using bridges in B, you start at the smaller number and keep adding 2.
- Is it possible to construct an infinite path in our ocean such that, for any two islands k1, k2 in I, the minimum number of bridges in B needed to get from k1 to k2 is exactly the distance between k1 and k2? For instance, the infinite path in our example does not have this property: it takes two bridges in B to go from island 1 to island 5 (you have to go via island 3), even though the distance between these two islands is 1 (there is a single bridge not in B that connects them to each other). If your answer is yes, give an example of sets I and B that work. If your answer is no, prove that it can't be done.
Part (a) took me a while, but I eventually figured it out:
Let s_n = (2^(n-1))s_(n-1) + 1; n = {0,1,2...} be a sequence of numbers. What I need to prove is that s_n has distance n from 0. I am going to do this by induction. Assume s_(n-1) has distance n-1. Then say
(2^(n-1))s_(n-1) has distance < n-1. (2^(n-1))s_(n-1) can be written as 2^(a_1) +- 2^(a_2) +- ... +- 2^(a_k), where k < n-1. Dividing by 2^(n-1) on both sides, we get s_(n-1) = 2^(a_1 + 1-n) +- 2^(a_2 + 1-n) +-...+-2^(a_k + 1-n). This shows that s_(n-1) has distance < n-1, a contradiction. Therefore
(2^(n-1))s^(n-1) must have distance >= n-1. It is easy to show that it does in fact have distance n-1. Therefore (2^(n-1))s^(n-1) + 1 must have distance n.
The next part was fairly simple-just switch the bridge from -3 to -1 to from -3 to 1, the bridge from 1 to 3 to from -1 to 3.
The third part is more complicated and I still have not cracked it yet. My gut feeling is that it would be too hard to construct such as set, and therefore there must be some way to prove that it is not correct.