CTK Exchange
Front Page
Movie shortcuts
Personal info
Awards
Reciprocal links
Privacy Policy

Interactive Activities

Cut The Knot!
MSET99 Talk
Games & Puzzles
Arithmetic/Algebra
Geometry
Probability
Eye Opener
Analog Gadgets
Inventor's Paradox
Did you know?...
Proofs
Math as Language
Things Impossible
My Logo
Math Poll
Other Math sit's
Guest book
News sit's

Manifesto: what CTK is about |Store| Search CTK Buying a book is a commitment to learning Table of content Things you can find on CTK Chronology of updates Email to Cut The Knot

CTK Exchange

Subject: "Exchanging information between n pe..."     Previous Topic | Next Topic
Printer-friendly copy     Email this topic to a friend    
Conferences The CTK Exchange This and that Topic #137
Reading Topic #137
Manoj Nair (Guest)
guest
Aug-02-01, 09:59 PM (EST)
 
"Exchanging information between n persons"
 
   Hi:

Came accross an interesting problem. Dont know
if this is the right folder. Apologise if it isnt.
There are N people each of whom knows a unique
secret. Each person can make a call to exchange
secret(s) that they know. How many minimum calls
are required?

eg:
5 Guys - 6 calls
12,12,3,4,5
12,12,34,34,5
125,12,34,34,125
12345,12,12345,34,125
12345,12,12345,12345,12345
12345,12345,12345,12345,12345

7 Guys - 10 calls
12,12,34,34,56,56,7 - 3 Calls
127,12,34,34,56,56,127 - 1 Call
12347,12,12347,34,56,56,127 - 1 Call
1234567,12,12347,34,1234567,56,127 - 1 Call
1234567,12,1234567,34,1234567,1234567,127 - 1 Call
3 more calls.

What is the general solution/proof for finding the
number of calls for any given 'N'.

An interesting offshoot of this is the fact that
how does each node know which one to call to get
the complete information? Looks to me like along
with the signal information (ie secret), a control
information also needs to be passed. This 'constraint'
seems to increase the number of calls.

How can this problem be formulated and solved?

Manoj


  Alert | IP Printer-friendly page | Edit | Reply | Reply With Quote | Top

  Subject     Author     Message Date     ID  
  RE: Exchanging information between ... alexb Aug-03-01 1
     RE: Exchanging information between ... Liliya (Guest) Aug-04-01 2
         RE: Exchanging information between ... alexb Aug-04-01 3
             RE: Exchanging information between ... Liliya (Guest) Aug-04-01 4
                 RE: Exchanging information between ... alexb Aug-04-01 5
                     RE: Exchanging information between ... Liliya (Guest) Aug-04-01 6
                         RE: Exchanging information between ... Manoj Nair (Guest) Aug-08-01 7
                             RE: Exchanging information between ... alexb Aug-08-01 8
                                 RE: Exchanging information between ... Manoj Nair (Guest) Aug-14-01 9
                                     RE: Exchanging information between ... Omar Aug-15-01 10
                                     RE: Exchanging information between ... Liliya (Guest) Aug-17-01 11
                                         RE: Exchanging information between ... Omar Aug-19-01 12
                                         RE: Exchanging information between ... alexb Aug-20-01 13
                                 RE: Exchanging information between ... R. Bumby (Guest) Aug-22-01 14

Conferences | Forums | Topics | Previous Topic | Next Topic
alexb
Charter Member
672 posts
Aug-03-01, 10:23 AM (EST)
Click to EMail alexb Click to send private message to alexb Click to view user profileClick to add this user to your buddy list  
1. "RE: Exchanging information between n persons"
In response to message #0
 
   I believe I saw the problem discussed somewhere - can't place it right now. But it must be known, and I would expect a quick response at the sci.math newsgroup. I'll have to think of it.


  Alert | IP Printer-friendly page | Edit | Reply | Reply With Quote | Top
Liliya (Guest)
guest
Aug-04-01, 12:29 PM (EST)
 
2. "RE: Exchanging information between n persons"
In response to message #1
 
   Hello.
I never solved any problems this kind, but I think I can help you.

I was thinking about it, and this is what I came up with:
If everybody would call the same one person, which is n-1 calls, he would know all the secrets. And then he could call everybody, which is n-1 calls too, and tell them all that he knows.This gives us 2n-2 calls.
I don't know if this is the minimum number of calls, but I did what I could.

I hope you'll find the right answer.
Good Luck!
-Liliya


  Alert | IP Printer-friendly page | Edit | Reply | Reply With Quote | Top
alexb
Charter Member
672 posts
Aug-04-01, 12:49 PM (EST)
Click to EMail alexb Click to send private message to alexb Click to view user profileClick to add this user to your buddy list  
3. "RE: Exchanging information between n persons"
In response to message #2
 
   > I don't know if this is the minimum
> number of calls,

Judging by the given examples it's not.

> but I did what I could.

You got a good upper bound. I good problem is seldom solved in a single step. Furthermore, your first solution may suggest improvements.

For example, assume the number of people is 2n. Then your solution gives an estimate of 2(2n - 1) = 4n - 2.

Now, split the fellows into two groups of n people each and mark one fellow in each group. Proceed as follows:


  1. Let the marked fellows call (n - 1) people in their respective groups. This takes 2(n - 1) calls.
  2. Let one of the marked fellows call the other: one more call.
  3. Repeat 1 with 2(n - 1) calls.

This leads to the total of

2·2(n - 1) + 1 = 4n - 3,

which is less than your estimate.

If there are 4n people, we'll split them into 2 groups of 2n people each. In each group we need 4n - 3 with one call in-between between the two groups. This gives you

2(4n - 3) + 1 = 8n - 5,

which is better than 8n - 3 of the previous estimate.



  Alert | IP Printer-friendly page | Edit | Reply | Reply With Quote | Top
Liliya (Guest)
guest
Aug-04-01, 02:17 PM (EST)
 
4. "RE: Exchanging information between n persons"
In response to message #3
 
   >This leads to the total of

>2ž2(n - 1) + 1 = 4n - 3,

>which is less than your estimate.

I don't agree with you.
In your case you need one more extra call. And the more groups you divide you'll need more extra calls.

2n-2 is less than 4n-3 or 8n-5.

Am I right??

-Liliya


  Alert | IP Printer-friendly page | Edit | Reply | Reply With Quote | Top
alexb
Charter Member
672 posts
Aug-04-01, 02:46 PM (EST)
Click to EMail alexb Click to send private message to alexb Click to view user profileClick to add this user to your buddy list  
5. "RE: Exchanging information between n persons"
In response to message #4
 
   >>This leads to the total of
>
>>2·2(n - 1) + 1 = 4n - 3,
>
>>which is less than your estimate.
>
>I don't agree with you.
>In your case you need one
>more extra call.

What for?

>And the
>more groups you divide you'll
>need more extra calls.

To see how it works, try small numbers like 4, 8, etc.

For 4 you have two groups: 2 and 2. The first fellow in each group makes a call to the other fellow. In the notations of the original poster:

1, 2, 3, 4
12, 12, 34, 34

Then the first fellows talk to each other:

1234, 12, 1234, 34

Then it takes 2 more intragroup calls:

1234, 1234, 1234, 1234

In all, 5 calls for n = 4. Your estimate would give 2(4 - 1) = 6 calls, right?

>2n-2 is less than 4n-3 or
>8n-5.
>
>Am I right??

Yes, of course, but this is irrelevant here. n is different from expression to expression. In words your formula says "Twice the number minus 1." If the number is n, then the result is 2(n - 1). If the number is 2n, the result is 2(2n - 1), and so on.

In the previous post, I considered two cases of the number being 2n and 4n.


  Alert | IP Printer-friendly page | Edit | Reply | Reply With Quote | Top
Liliya (Guest)
guest
Aug-04-01, 09:25 PM (EST)
 
6. "RE: Exchanging information between n persons"
In response to message #5
 
   Ok. You're right.

What's the answer to Manoj's question??


  Alert | IP Printer-friendly page | Edit | Reply | Reply With Quote | Top
Manoj Nair (Guest)
guest
Aug-08-01, 10:02 PM (EST)
 
7. "RE: Exchanging information between n persons"
In response to message #6
 
   Thanks Alex and Liliya for your attempts.

Empirically it'seems to be 2n-4 from the examples listed in the original post. However I am not satisfied until the problem can be formulated and solved. Cant seem to find a proof by induction. My gut feel tells me that it could have something to do with the range of the given number ie: <=4, <=16, <=64 <=256 and a div()/mod() in the resultant formula. But then I may be totally wrong.

For eg: if <=4 then seems to be 2*n-3

For 4<n<=16 seems to be 2n-4

So can we extend this?


  Alert | IP Printer-friendly page | Edit | Reply | Reply With Quote | Top
alexb
Charter Member
672 posts
Aug-08-01, 10:43 PM (EST)
Click to EMail alexb Click to send private message to alexb Click to view user profileClick to add this user to your buddy list  
8. "RE: Exchanging information between n persons"
In response to message #7
 
   LAST EDITED ON Aug-08-01 AT 10:52 PM (EST)

>My
>gut feel tells me that
>it could have something to
>do with the range of
>the given number ie

Right

><=4,
><=16, <=64 <=256 and a
>div()/mod() in the resultant formula.
>But then I may be
>totally wrong.

You are, but not totally.

The relevant ranges are 4, 8, 16, 32, ...

>For eg: if <=4 then seems
>to be 2*n-3
>
>For 4<n<=16 seems to be 2n-4

For 8, it's 11. How does it fit with your formula?

You can prove by induction that for N = 2n, n > 1, that 3N/2 - 1 is a sufficient number of calls. Whether it's minimal I do not know. Whether you can interpolate between the powers of 2, I do not know either.



  Alert | IP Printer-friendly page | Edit | Reply | Reply With Quote | Top
Manoj Nair (Guest)
guest
Aug-14-01, 08:11 AM (EST)
 
9. "RE: Exchanging information between n persons"
In response to message #8
 
   >>For eg: if <=4 then seems
>>to be 2*n-3
>>
>>For 4<n<=16 seems to be 2n-4

>For 8, it's 11. How does it fit with your formula?
Hi Alex

I simply cannot figure out how to arrive at 11 calls for 8 people. The best I can do is 12 calls. Neither can I figure out how you got the formula 3N/2-1 for N=2^n. To me the formula seems to be n*2^(n-1).

Anyway, here are a couple of elegant 'proofs' that I got from the sci.math groups. Each prove that 2N-4 is sufficient, but not minimal.

Math Induction:
Step 1 Prove that the solution is valid for some n>=4
Step 2 For N=N+1, have the 'new' person call any one person (1 call)
Step 3 For the N persons excluding the 'new' person, share the secret as
before. All N people now know the 'new' persons secret. (2N-4 calls) per
formula
Step 4 One from this N calls up the 'new' person (1 call)
Step 5 Total for N+1 = 1+2N-4+1 = 2N-2 = 2(N+1) -4. Hence valid for N=>
valid for N+1

Or intuitive one ...
Number the people from 1...n. Have person 1 call all people greater than 4.
(N-4) calls.
Now 1..4 share the secret in 4 calls (4 calls)
Now the person 1 calls all people greater than 4 again. (N-4 calls)
Total = N-4+4+N-4 = 2N-4.

Still no solution that it is indeed least number of calls. And no formulation in sight for my added twist.

Manoj.


  Alert | IP Printer-friendly page | Edit | Reply | Reply With Quote | Top
Omar
Charter Member
4 posts
Aug-15-01, 01:11 AM (EST)
Click to EMail Omar Click to send private message to Omar Click to add this user to your buddy list  
10. "RE: Exchanging information between n persons"
In response to message #9
 
   2N-4 is looking good as a minimal solution. (I can't come up with an 11 call solution for N=8, either.)

If 2N-4 is minimal, then a solution, or rather two solutions, to your "bookkeeping" twist are strongly suggested by the forms of the inductive arguments you noted. With the tiniest bit of tidying up you can turn either into an algorithm. As long as each person knows his part in the algorithm, he doesn't need to know who has called whom or what anyone else knows.


  Alert | IP Printer-friendly page | Edit | Reply | Reply With Quote | Top
Liliya (Guest)
guest
Aug-17-01, 09:18 AM (EST)
 
11. "RE: Exchanging information between n persons"
In response to message #9
 
   Math Induction:
Step 1 Prove that the solution is valid for some n>=4
Step 2 For N=N+1, have the 'new' person call any one person (1 call)
Step 3 For the N persons excluding the 'new' person, share the secret as
before. All N people now know the 'new' persons secret. (2N-4 calls) per
formula
Step 4 One from this N calls up the 'new' person (1 call)
Step 5 Total for N+1 = 1+2N-4+1 = 2N-2 = 2(N+1) -4. Hence valid for N=>
valid for N+1

In the third step, how did you come up with 2n-4?

Or intuitive one ...
Number the people from 1...n. Have person 1 call all people greater than 4.
(N-4) calls.
Now 1..4 share the secret in 4 calls (4 calls)
Now the person 1 calls all people greater than 4 again. (N-4 calls)
Total = N-4+4+N-4 = 2N-4.

How can 4 people share their secrets in 4 calls?

One more question.
I simply don't understand how you came up with this:
2n-4 is for 4<n<=16

I would appreciate if someone would answer my questions.

-Liliya


  Alert | IP Printer-friendly page | Edit | Reply | Reply With Quote | Top
Omar
Charter Member
4 posts
Aug-19-01, 11:47 PM (EST)
Click to EMail Omar Click to send private message to Omar Click to add this user to your buddy list  
12. "RE: Exchanging information between n persons"
In response to message #11
 
   His first proof uses mathematical induction. I started to compose a reply in which I explained mathematical induction, but I can't help thinking someone, perhaps AlexB on this very website, has explained it better than I can in a hurried reply. Math induction is so useful that you should have it explained carefully. At first glance, especially if it is not explained well, it looks like circular reasoning.

Anyway, the induction hypothesis in the first proof was that
2n-4 was an upper bound for the number of calls needed to fully share information among n people. Because it was the induction hypothesis, he could use it to show that 2(n+1)-4 is an upper bound for the case of n+1 people.

Although he alluded to the crucial first step of his induction proof, he did not go into the details. The first step (which also answers your second question) is to prove that 2k-4 is an upper bound for some number of people, in this case, 4.

Using Manoj Nair's notation:

12, 12, 3, 4
12, 12, 34, 34
1234, 12, 1234, 34
1234, 1234, 1234, 1234

Four people, four phone calls.


  Alert | IP Printer-friendly page | Edit | Reply | Reply With Quote | Top
alexb
Charter Member
672 posts
Aug-20-01, 00:22 AM (EST)
Click to EMail alexb Click to send private message to alexb Click to view user profileClick to add this user to your buddy list  
13. "RE: Exchanging information between n persons"
In response to message #11
 
   You may find it useful to look into the method of mathematical induction. You can find some information at

www.cut-the-knot.com/induction.shtml


  Alert | IP Printer-friendly page | Edit | Reply | Reply With Quote | Top
R. Bumby (Guest)
guest
Aug-22-01, 03:47 PM (EST)
 
14. "RE: Exchanging information between n persons"
In response to message #8
 
   Your method for trying to build big networks from small ones seems very complicated, which may have led to the bad count of 11 calls for 8 people that I saw in sci.math. It is better to lock in the easy steps: it is always possible to add one person and two calls to an existing network (the newcomer calls someone to start the process and is called back when the person he calls knows everything); 1 call suffices for 2 people (now you know that 2n-3 calls always work for n people); 4 calls work for 4 people (arrange in a square; make two horizontal calls; then two
vertical calls). The hard part is to show that there are no more
efficient schedules of calls. This is done by starting with a
sequence of calls that pools the information and using it to split the population into two subsets (with sizes determined by the sequence of calls). My paper appears as "A problem with telephones" in SIAM J. Alg. Disc. Meth. vol. 2, no. 1, March 1981, 13--18. My solution was obtained much earlier, but not published then because several others were published first and I didn't think I had anything to add. Then I learned that my approach was able to answer a related open question, which gave a new reason for publication.

From time to time, one sees new variations on this problem, and
extensive lists of references have been published. Unfortunately, I don't have any of them handy right now.


  Alert | IP Printer-friendly page | Edit | Reply | Reply With Quote | Top

Conferences | Forums | Topics | Previous Topic | Next Topic

You may be curious to visit the old CTK Exchange archive.

|Front page| |Contents|

Copyright © 1996-2018 Alexander Bogomolny

[an error occurred while processing this directive]
 Advertise

New Books
Second editions of J. Conway's classic On Numbers And Games and the inimitable Winning Ways for Your Mathematical Plays