home *** CD-ROM | disk | FTP | other *** search
/ Sunny 1,000 Collection / SUNNY1000.iso / Files / Dos / Boardak / INETPUZ.ZIP / INDUCTIO.TXT < prev    next >
Text File  |  1995-02-05  |  16KB  |  396 lines

  1. Archive-name: puzzles/archive/induction
  2. Last-modified: 17 Aug 1993
  3. Version: 4
  4.  
  5.  
  6. ==> induction/handshake.p <==
  7. A married couple organizes a party. They only invite other married
  8. couples. At least one person of an invited couple is acquainted to
  9. at least the host or the hostess (so between sets {host,hostess} and
  10. {male of invited couple, female of invited couple} there exists at 
  11. least one relation, but two, three or four relations is also possible).
  12. Upon arrival at the party, each person shakes hands with all other
  13. guests he/she doesn't know yet (it is assumed everybody knows 
  14. him/herself and his/her partner). 
  15.  
  16. When all couples have arrived and all the handshaking has been done,
  17. the host mingles between the guests and ask everybody (including his
  18. wife): "How many hands did you shake?". To his surprise, all responses
  19. are different.
  20.  
  21. With the above information, you must be able to determine how many
  22. hands the host and hostess each shook.
  23.  
  24. ==> induction/handshake.s <==
  25. Assume there were 2n people (including host and hostess)
  26. in the party.
  27.  
  28. 1. When the host asked the question he must have got
  29.    2n-1 responses (including from his wife).
  30.  
  31. 2. All of the responses were different.
  32.  
  33. The responses have to be (0, 1, 2, 3, ..., 2n-2)
  34. to satisfy the above requirements. As 2n-2 is the maximum
  35. possible handshakes any person in this party could have made.
  36.  
  37. /**   Below,
  38.       P{x} - means a person who shook x hands.
  39.       H    - means the host
  40.  **/
  41.  
  42. H: <-------->2n-2   0
  43.            2n-3        1
  44.           2n-4          2
  45.           2n-5          3
  46.           .             .
  47.            .           .
  48.              .       .
  49.               n  n-1 n-2
  50.  
  51.                 (There are 2n-1 on the circle.)
  52.  
  53. P{2n-2} must have handshaked with H (because in the circle he
  54. can handshake with only 2n-3. He has to exclude himself also.)
  55.  
  56. P{2n-3} must have handshaked with H (because in the circle he
  57. can handshake with only 2n-4.)
  58.  
  59. P{2n-4} must have handshaked with H (because in the circle he
  60. can handshake with only 2n-5.)
  61.  
  62. P{n} must have handshaked with H (because in the circle he
  63. can handshake with only n-1.)
  64.  
  65. from P{n-1} to P{0} nobody  handshakes with H, because, for them
  66. the handshake numbers are satisfied on the circle itself.
  67.  
  68. This leaves H with (n-1) handshakes.
  69. ----------------------------------
  70.  
  71. P{0} must be the spouse of P{2n-2} (since P{2n-2} handshakes with
  72. everbody else.)
  73. ..
  74. ..
  75. ..
  76. same logic till P{n-2}
  77.  
  78. leaving the Hostess to be P{n-1}.
  79.  
  80. ----------------------------------------
  81. So,
  82. Host    - made (n-1) handshakes.
  83. Hostess - made (n-1) handshakes.
  84.  
  85. where n is the number of couple including
  86. the host couple.
  87. ----------------------------------------
  88.  
  89. ==> induction/hanoi.p <==
  90. Is there an algorithm for solving the Hanoi tower puzzle for any number
  91. of towers?  Is there an equation for determining the minimum number of
  92. moves required to solve it, given a variable number of disks and towers?
  93.  
  94. ==> induction/hanoi.s <==
  95. The best way of thinking of the Towers of Hanoi problem is inductively.
  96. To move n disks from post 1 to post 2, first move (n-1) disks
  97. from post 1 to post 3, then move disk n from post 1 to post 2, then move
  98. (n-1) disks from post 3 to post 2 (same procedure as moving (n-1) disks
  99. from post 1 to post 3).  In order to figure out how to move (n-1) disks
  100. from post 1 to post 3, first move (n-2) disks . . . .
  101.  
  102. As far as an algorithm which straightens out any legal position is
  103. concerned, the algorithm would go something like this:
  104.  
  105. 1.  Find the smallest disk.  Call the post that it's on post 1. 
  106.  
  107. 2.  Find the smallest disk which is not on post 1.  This disk is, say,
  108. size k.  (I am calling the smallest disk size 1 here.)  Call the post
  109. that disk k is on post 2.  Disks 1 through (k-1) are then all stacked up
  110. correctly on post 1 disk k is on top of post 2.  This follow from the
  111. fact that the disks are in a legal postition.
  112.  
  113. 3.  Move disks 1 through (k-1) from post 1 to post 2, ignoring the other
  114. disks.  This is just the standard Tower of Hanoi problem for (k-1)
  115. disks.
  116.  
  117. 4.  If the disks are not yet correctly arranged, repeat from step 1.
  118.  
  119. In fact, this gives the straightening with the fewest number of moves. 
  120.  
  121. With 3 towers, for N number of disks, the formula for the minimum number of
  122. moves to complete the puzzle correctly is:
  123.                 (2^N) - 1
  124.  
  125. This bit of ancient folklore was invented by De Parville in 1884.
  126.  
  127. ``In the great temple at Benares, says he, beneath the dome which
  128.   marks the centre of the world, rests a brass plate in which are
  129.   fixed three diamond needles, each a cubit high and as thick as
  130.   the body of a bee.  On one of these needles, at the creation,
  131.   God placed sixty-four discs of pure gold, the largest disc resting
  132.   on the brass plate, and the others getting smaller and smaller
  133.   up to the top one.  This is the Tower of Bramah.  Day and night
  134.   unceasingly the priests transfer the discs from one diamond needle
  135.   to another according to the fixed and immutable laws of Bramah,
  136.   which require that the priest on duty must not move more than one
  137.   disc at a time and that he must place this disc on a needle so
  138.   that there is no smaller disc below it.  When the sixty-four
  139.   discs shall have been thus transferred from the needle on which
  140.   at the creation God placed them to one of the other needles,
  141.   tower, temple, and Brahmins alike will crumble into dust, and 
  142.   with a thunderclap the world will vanish.''  (W W R Ball,
  143.   MATHEMATICAL RECREATIONS AND ESSAYS, p. 304)
  144.  
  145. This has been discussed by several authors, e.g.
  146.  
  147.     Er, Info Sci 42 (1987) 137-141.
  148.     Graham, Knuth and Patashnik, _Concrete_Mathematics_.
  149.  
  150. There are many papers claiming to solve this, and they are probably
  151. all correct but they rely on the unproven "Frame's conjecture".
  152. In particular, for the 4 peg case the conjecture states that an optimal
  153. solution begins by forming a substack of the k smallest discs, then moving
  154. the rest, and then moving those k again; k to be determined.
  155.  
  156. Here is a extensible bc program that does the same work. The output
  157. format is not that great. We get 300 numbers as output. The first
  158. hundred represent N, the next 100 represent f(N) and the last hundred
  159. represent i, which is the number of discs to move to tmp1 using f(N).
  160. For convenience, I have here some values for N <= 48. Enjoy.
  161.  
  162. Sharma
  163.  
  164.  
  165. N        1   2   3  4  5   6  7  8  9  10  11 12 13  14  15  16  17  18  19 
  166. f(N)     1   3   5  9 13  17 25 33 41  49  65 81 97 113 129 161 193 225 257 
  167. i        0   1   1  2  2   3  3  4  5   6   6  7  8   9  10  10  11  12  13 
  168.  
  169.  
  170. N       20   21  22  23  24  25  26  27  28  29  30   31   32   33   34   35 
  171. f(N)    289 321 385 449 513 577 641 705 769 897 1025 1153 1281 1409 1537 1665
  172. i       14   15  15  16  17  18  19  20  21  21   22   23   24   25   26   27 
  173.  
  174. N       36    37    38    39     40    41   42   43   44   45   46   47   48 
  175. f(N)    1793 2049  2305  2561   2817  3073 3329 3585 3841 4097 4609 5121 5633
  176. i       28    28    29    30     31    32    33   34   35   36  36   37   38 
  177.  
  178.  
  179. /* This is the bc program that gives f(N) for 4 peg case */
  180.  
  181. w = 101; /* This represents the number of disks */
  182.  
  183. m[0] = 0;
  184. m[1] = 1;
  185. m[2] = 3;
  186. m[3] = 5;
  187. m[4] = 9;
  188. m[5] = 13;
  189. m[6] = 17;
  190.  
  191. /* f(n) is the function that gives the min # of moves for 4 peg case */
  192. define f(n) {
  193.   return (m[n]);
  194. }
  195.  
  196. /* g(n) is the function that fives the min # of moves for 3 peg case */
  197. define g(n) {
  198.   return (2^n - 1);
  199. }
  200.  
  201. /* x(n) is the Optimization Routine */
  202.  
  203. define x(n) {
  204.   auto j
  205.   auto r
  206.   auto i
  207.   
  208.   if(n == 1) return (1);
  209.   j = f(1) + g(n-1);
  210.   
  211.   for(i = 2; i < n; i++) {
  212.     r = f(i) + g(n-i);
  213.     if(r < j) { j = r; d = i; }
  214.   }
  215.   return (j);
  216. }
  217.  
  218. /* main program */
  219. for(q = 4; q < w; q++) {
  220.   t = x(q-1);
  221.   m[q] = 2 * t + 1;
  222.   d[q] = d;
  223. };
  224.  
  225.  
  226. /*This for loop prints the number of discs from 1 <= n <=  w*/
  227.  
  228. for(q = 1; q < w; q++) {
  229. q;
  230. }
  231.  
  232. /*This for loop prints f(n) for 1 <= n <= w */
  233.  
  234. for(q = 1; q < w; q++) {
  235. m[q];
  236. }
  237.  
  238. /*This for loop prints i for 1 <= n <= w
  239. i represents the number of disks to be moved to tmp location using f(n)
  240. N-i-1 will be moved using g(n) */
  241.  
  242. for(q = 1; q < w; q++) {
  243. d[q];
  244. }
  245.  
  246. -- 
  247. sharma@sharma.warren.mentorg.com
  248.  
  249. There is a solution to the Tower of Hanoi problem which does not require
  250. recursion.  On odd-numbered moves, move the smallest sized disk clockwise.
  251. On even-numbered moves, make the single other move which is possible.
  252.  
  253. ==> induction/n-sphere.p <==
  254. With what odds do three random points on an n-sphere form an acute triangle?
  255.  
  256. ==> induction/n-sphere.s <==
  257. Select three points a, b, and c, randomly with respect to the surface of an
  258. n-sphere.  These three points determine a fourth, x, which is the intersection
  259. of the sphere with the axis perpendicular to the abc plane.  (Choose the pole
  260. nearest the plane.) I could have, just as easily, selected x, a distance d
  261. from x, and three points d units away from x.  The distribution of d is not
  262. uniform, but that's ok.  For every x and d, the three points abc form an acute
  263. triangle with probability p[n-1].  By induction, p[n] = 1/4.
  264.  
  265. ==> induction/paradox.p <==
  266. Is there a non-trivial property that holds for the first 10,000 positive
  267. integers, then fails?
  268.  
  269. ==> induction/paradox.s <==
  270. Consider the sequences defined by:
  271. s(1) = a; s(2) = b; s(n) = least integer such that s(n)/s(n-1) > s(n-1)/s(n-2).
  272. In other words, s(n) = 1+floor(s(n-1)^2/s(n-2)) for n >= 3.  These
  273. sequences are similar in some ways to the classically-studied Pisot
  274. sequences.  For example, if a = 1, b = 2, then we get the odd-indexed
  275. Fibonacci numbers.
  276.  
  277. D. Boyd of UBC, an expert in Pisot sequences, pointed out the following.
  278. If we let a = 8, b = 55 in the definition above, then the resulting
  279. sequence s(n) appears to satisfy the following linear recurrence
  280. of order 4:
  281.  
  282.         s(n) = 6s(n-1) + 7s(n-2) - 5s(n-3) - 6s(n-4)
  283.  
  284. Indeed, it does satisfy this linear recurrence for the
  285. first 11,056 terms.  However, it fails at the 11,057th term!
  286. And s(11057) is a 9270 digit number.
  287. (The reason for this coincidence depends on a remarkable fact
  288. about the absolute values of the roots of the polynomial
  289. x^4 - 6x^3 - 7x^2 + 5x + 6.)
  290.  
  291. ==> induction/party.p <==
  292. You're at a party.  Any two (different) people at the party have exactly one
  293. friend in common (the friend is also at the party).  Prove that there is at
  294. least one person at the party who is a friend of everyone else.  Assume that
  295. the friendship relation is symmetric and not reflexive.
  296.  
  297. ==> induction/party.s <==
  298. Here is an easy solution by induction. Let P be the set of people in the
  299. party, and n the size of P. If n=2 or 3, the result is trivial. Suppose now
  300. that n>3 and that the result is true for n-1.
  301.  
  302. For any two distinct x,y in P, write x & y to mean that `x is a friend of y',
  303. and x ~& y to mean that `x is not a friend of y'.
  304.  
  305. Take q in P. The hypothesis on the relation & is still satisfied on P-{q}; by
  306. induction, the result is thus true for P-{q}, and there is some p in P-{q}
  307. such that p & x for any x in P-{p,q}. We have two cases:
  308.  
  309. a) p & q. Then the result holds for P with p.
  310.  
  311. b) p ~& q. By hypothesis, there is a unique r in P-{p,q} such that p & r & q.
  312. For any x in P-{p,q}, if x & q, then p & x & q, and so x=r. Thus r is the
  313. unique friend of q. Now for any s in P-{q,r} there exists some x such that s &
  314. x & q, and so x=r. This means that r & s for any s in P-{q,r}, and as r & q,
  315. the results holds in P with r.
  316.  
  317. The problem can also be solved by applying the spectral theory of graphs
  318. (see for instance Bollobas' excellent book, _Extremal Graph Theory_).
  319.  
  320. The problem's condition is vacuous if there is only N=1 person at the "party", 
  321. impossible if N=2 (If you aren't your own friend, nor I mine, somebody *else*
  322. must be our mutual friend), and trivial if N=3 (everybody must be everyone
  323. else's friend).  Henceforth assume N>3.
  324.  
  325. Let A,B be two friends, and C their mutual friend.  Let a be the number
  326. of A's friends other than B and C, and likewise b,c.  Each of A's friends
  327. is also friendly with exactly one other of A's friends, and with none of
  328. B and C's other friends (if A1,B1 are friends of A,B resp. and of each other
  329. then A1 and B have more than one mutual friend); likewise for B and C.
  330. Let M=N-(a+b+c+3) be the number of people not friendly with any of A,B,C.
  331. Each of them is friendly with exactly one of A's and one of B's friends;
  332. and each pair of a friend of A and a friend of B must have exactly
  333. one of them as a mutual friend.  Thus M=ab; likewise M=ab=ac=bc. Thus
  334. either M and two of a,b,c vanish, or a=b=c=k (say), M=k^2, and N=k^3+3k+3.
  335. In the first case, say b=c=0; necessarily a is even, and A is a friend of
  336. everybody else at the party, each of whom is friendly with exactly one other
  337. person; clearly any such configuration (a graph of k/2+1 triangles with a
  338. common vertex) satisfies the problem's conditions).
  339.  
  340. It remains to show that the second case is impossible.  Since N=k^2+3k+3
  341. does not depend on A,B,C, neither does k, and it quickly follows that the
  342. party's friendship graph is regular with reduced matrix
  343.  
  344.              [  0   k+2   0  ]
  345.              [  1    1    k  ]
  346.              [  0    1   k+1 ]
  347.  
  348. and eigenvalues k+2 and +-sqrt(k+1) and multiplicities 1,m1,m2 for some
  349. *integers* m1 and m2 such that (m1-m2)*sqrt(k+1)=-(k+2) (because the graph's 
  350. matrix has trace zero).  Thus sqrt(k+1) divides k+2 and k+1 divides
  351.  
  352.             (k+2)^2=(k+1)(k+3)+1
  353.  
  354. which is only possible if k=0,  Q.E.D.
  355.  
  356. ==> induction/roll.p <==
  357. An ordinary die is thrown until the running total of the throws first
  358. exceeds 12.  What is the most likely final total that will be obtained?
  359.  
  360. ==> induction/roll.s <==
  361. Claim: If you throw a die until the running total exceeds n>=5, a final
  362. outcome of n+1 is more likely than any other.
  363.  
  364. Assume we throw an m for a total n+k>n+1, and assume m-k>=0.  Now, it
  365. is just as likely to throw an m as an m-k+1, which means that the sum
  366. n+1 is just as likely as any other.  Now consider the series of throws
  367. consisting of n-5 1's followed by a 6 and note that we cannot achieve
  368. more than an n+1 by changing the last die roll.  Hence, a total of n+1
  369. is more likely than any other.
  370.  
  371. ==> induction/takeover.p <==
  372. After graduating from college, you have taken an important managing position
  373. in the prestigious financial firm of "Mary and Lee".
  374. You are responsible for all the decisions concerning take-over bids.
  375. Your immediate concern is whether to take over "Financial Data".
  376. There is no doubt that you will be successful if you are the first to
  377. bid and that this will be profitable for the firm and you in the long
  378. run.  However, you know that there exist another n financial firms,
  379. similar to "Mary and Lee", that are also considering the possibility.
  380. Although you are likely to be the first one to move, you know that
  381. just after a take-over there is a lot of adjustment that needs to be
  382. done.  In fact, for a period of time following any take-over the
  383. successful firm becomes a prime candidate for a take-over which will
  384. cost the job of whoever is responsible for take-overs.  Among all
  385. financial firms it is common knowledge that the managers responsible
  386. for take-overs are rational and intelligent.  What is your best response?
  387.  
  388. ==> induction/takeover.s <==
  389. Assume the takeover is wise for n.  The takeover is then unwise for
  390. n+1, as the other companies now find themselves in the same situation
  391. as you for n.  If the decision is unwise for n, by similar reasoning
  392. it is wise to takeover FD for n+1.  Now note that for n=1 the takeover
  393. decision is clearly unwise, hence by induction you should takeover
  394. FD iff n is even.
  395.  
  396.