• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 15:05
CEST 21:05
KST 04:05
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL22] Ro4 Preview: Mirror Mirror4[ASL22] Ro8 Preview: Within Reach5[ASL22] Ro8 Preview: In A Tizzy11[ASL22] Ro16 Preview: Holy Diver5[ASL22] Ro16 Preview: Rough Waters10
Community News
Weekly Cups Results (Sep 28-Oct 4)0SC4ALL: II SC2 Complete Invited Player Lineup10StarCraft II 5.0.17 PTR Patch Notes (Sept 30, 2026)77Weekly Cups (Sept 21-27): herO and ByuN double2Weekly Cups (Sep 13-20): herO scores triple3
StarCraft 2
General
How do you feel about the mass reverts in the 5.0.17 PTR? [Old] StarCraft 3 Reportedly in Development StarCraft II 5.0.17 PTR Patch Notes (Sept 30, 2026) Weekly Cups Results (Sep 28-Oct 4) SC4ALL: II SC2 Complete Invited Player Lineup
Tourneys
Stellar Fest TWO the Moon (Dec 16-20) ISSL (IntoTheTV x SOOP SC2 League): Premier Sparkling Tuna Cup - Weekly Open Tournament 2026 GSTL Grand Finals Sea Duckling Open (Global, Bronze-Diamond)
Strategy
[H] ZvP Mid-Late Game: Stalkers Collossi HT
Custom Maps
[M] (2) Sweltering Sands [M] (2) Frigid Storage
External Content
Mutation # 546 Catch the Train The PondCast: SC2 News & Results Mutation # 545 And Drops and Rifts Mutation # 544 Double Trouble
Brood War
General
Sagi.gg Launcher Released BW General Discussion SC4ALL II Brood War Complete Invited Player Lineup 20-year-old Valorant player starting StarCraft Bot on ladder
Tourneys
[ASL22] Semifinal B [ASL22] Semifinal A [Megathread] Daily Proleagues [ASL22] Ro8 Day 4
Strategy
Simple Questions, Simple Answers Cliff Jump Revisited (1 in a 1000 strategy) Replay Review Process - What do you do?
Other Games
General Games
General RTS Discussion Thread Nintendo Switch Thread Warcraft III: The Frozen Throne Stormgate/Frost Giant Megathread Total Annihilation Zero
Dota 2
Dota 2 Champions League Season 3 Begins April 25! Official 'what is Dota anymore' discussion
League of Legends
[TL LoL EUW IHs] Teemo shall perish
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Community Thread
Community
General
US Politics Mega-thread Artificial Intelligence Thread Russo-Ukrainian War Thread Canadian Politics Mega-thread Dating: How's your luck?
Fan Clubs
Serral Fan Club
Media & Entertainment
[Manga] One Piece Movie Discussion! Diablo Animated Series on Netflix
Sports
Football (Soccer) Thread MLB/Baseball 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Recent Gifted Posts
Blogs
[ASL22] Ro4 Day1 Ticket Giv…
bITt.mAN
Escaping Into Video Games: G…
TrAiDoS
38 yo Retired SWE loo…
PurE)Rabbit-SF
Can Bots Beat Pros?? Starcr…
namkraft
[meme] I finally understa…
LUCKY_NOOB
Regacy Esports:Our Goa…
regacyesports
Customize Sidebar...

Website Feedback

Closed Threads



Active: 7041 users

A challenging riddle/question

Blogs > TadH
Post a Reply
1 2 3 Next All
TadH
Profile Blog Joined February 2010
Canada1846 Posts
March 29 2011 15:39 GMT
#1
This is NOT for school or anything like that, I simply found it online and want to know if anyone here can solve it.

I have not solved it yet.


Ponder This Challenge:

A spaceship has 100,000 bits of storage, and one of these bits is known to be faulty. You can locate the faulty bit using agents that run on any given subset of bits and return "OK" if all of the bits are good and die if they encounter the faulty bit. It takes an agent one hour to run a query, regardless of the size of the subset, but an infinite number of agents can run simultaneously. You need to find the wrong bit in two hours.

Since we must decide, in advance, how many agents to send with the spaceship, we are interested in the following questions:

A. What is the minimal number of agents needed? (Bonus question: Find a formula for the number of agents needed for n bits and t hours).

B. Suppose we want to send enough agents to be able to repeat the same task a second time with the remaining agents (i.e., those who did not die during the first invocation). How many agents are needed in that scenario?

Bonus question: Part A would require the same number of agents even if we increased the number of bits in the question by no more than X. What is this X and what is the connection between it and a recent event in IBM's history?

Different agents can access the same memory bit at the same time.

*****
MisterD
Profile Blog Joined June 2010
Germany1338 Posts
Last Edited: 2011-03-29 15:51:41
March 29 2011 15:47 GMT
#2
my guess is you need log_2(100000) which is 16.6, so you need 17 agents. This stems from each agent effectively enabling you to sort out half of all remaining bits.

To do this a second time, well best case none of the initial ones died, so you still need only 17, but worst case they all died, so you'd need 34 to be safe.

X would be 31072. no clue what IBM has to do with that number though.^^


/edit: yay solving this riddle enabled me to procrastinate learning for my exam tomorrow long enough for my video download to finish, so i can procrastinate another 45 minutes :D thanks! xD

/secondedit: and i completely ignored the time constraints, sorry.. nvm this post i guess -.-
Gold isn't everything in life... you need wood, too!
TadH
Profile Blog Joined February 2010
Canada1846 Posts
March 29 2011 15:50 GMT
#3
Anything to help!
THE_DOMINATOR
Profile Blog Joined April 2010
United States309 Posts
March 29 2011 15:55 GMT
#4
Hamming codes derp de der http://en.wikipedia.org/wiki/Hamming_code
MisterD is right you need 17 placed at each power of 2
DOMINATION
Sayle
Profile Joined October 2010
United Kingdom3685 Posts
March 29 2011 15:56 GMT
#5
On March 30 2011 00:47 MisterD wrote:
my guess is you need log_2(100000) which is 16.6, so you need 17 agents. This stems from each agent effectively enabling you to sort out half of all remaining bits.

To do this a second time, well best case none of the initial ones died, so you still need only 17, but worst case they all died, so you'd need 34 to be safe.

X would be 31072. no clue what IBM has to do with that number though.^^


/edit: yay solving this riddle enabled me to procrastinate learning for my exam tomorrow long enough for my video download to finish, so i can procrastinate another 45 minutes :D thanks! xD

/secondedit: and i completely ignored the time constraints, sorry.. nvm this post i guess -.-


That would only work if you had an infinite amount of time. You only have 2 hours and an agent takes 1 hour to run a query, so you only have enough time for 2 iterations, so the binary search won't work.

You definetely don't need 34 to be safe (assuming 17 was the correct number to begin with). That would make the riddle pointlessly trivial. Basically, you are guaranteed that not all agents will die from the search. You need to figure out how many are guaranteed to live.

How did you get 31072?
TadH
Profile Blog Joined February 2010
Canada1846 Posts
March 29 2011 15:59 GMT
#6
And also it's not guaranteed that each agent will go to a different bit, they could all take the same path (theoretically) That's what's messing me up.
Scorch
Profile Blog Joined March 2008
Austria3371 Posts
Last Edited: 2011-03-29 16:19:27
March 29 2011 16:04 GMT
#7
My approach:
+ Show Spoiler +
Arrange bits in a table of dimensions sqrt(100000) x sqrt(100000). Have an agent work on each line and on each column, that's 2*sqrt(100000) ~ 632 agents. The two agents which do not return OK will yield the coordinates of the faulty bit. The result is calculated in one hour, the second hour isn't even needed.
If you want to be very exact, 100000 doesn't have an integer as its square root, so the table doesn't cover all bits or contains some blanks. In the unlikely case that the faulty bit is among those few leftovers, use the second hour to run agents on the remaining few bits to find the solution.

Probably not an optimal solution, but not too bad for a quick naive approach.

Edit: decreased number of agents, but 2 hours required:
+ Show Spoiler +
Again, separate the bits into sqrt(100000) groups with an agent working on each subset. After one hour, you know that the bit is among one of the groups of sqrt(100000) bits. In the second hour, use the method in the first spoiler to find the faulty bit in this smaller subset. Agents used: sqrt(100000) for the first hour plus 2*(sqrt(sqrt(100000)) for the second hour. That's ~352 agents.


Yet another edit:
I don't know why I didn't think of this before. I used 2 dimensions for my approach. Of course you can use any number of dimensions. The question is what's the optimal number of dimensions for a given number of bits. I don't want to try to solve that question now though.
THE_DOMINATOR
Profile Blog Joined April 2010
United States309 Posts
Last Edited: 2011-03-29 16:10:40
March 29 2011 16:05 GMT
#8
you still only need 17...no "queries" are even needed. All the agents have to do is run to their own subset and write down if each bit is a 0 or 1. Then they all meet up at the crew quarters(they can all go at once simultaneously) create the syndrome bits and compare.
DOMINATION
MisterD
Profile Blog Joined June 2010
Germany1338 Posts
Last Edited: 2011-03-29 16:07:45
March 29 2011 16:05 GMT
#9
On March 30 2011 00:56 Sayle wrote:
Show nested quote +
On March 30 2011 00:47 MisterD wrote:
my guess is you need log_2(100000) which is 16.6, so you need 17 agents. This stems from each agent effectively enabling you to sort out half of all remaining bits.

To do this a second time, well best case none of the initial ones died, so you still need only 17, but worst case they all died, so you'd need 34 to be safe.

X would be 31072. no clue what IBM has to do with that number though.^^


/edit: yay solving this riddle enabled me to procrastinate learning for my exam tomorrow long enough for my video download to finish, so i can procrastinate another 45 minutes :D thanks! xD

/secondedit: and i completely ignored the time constraints, sorry.. nvm this post i guess -.-


That would only work if you had an infinite amount of time. You only have 2 hours and an agent takes 1 hour to run a query, so you only have enough time for 2 iterations, so the binary search won't work.

You definetely don't need 34 to be safe (assuming 17 was the correct number to begin with). That would make the riddle pointlessly trivial. Basically, you are guaranteed that not all agents will die from the search. You need to figure out how many are guaranteed to live.

How did you get 31072?


2^17 - 100000 = 131072 - 100000 = 31072

and yeah if you don't run a complete binary search but use more agents so you can do the whole task in 2 hours, some will be guaranteed to stay alive. But if you do a full binary search, well you don't meet the time constraint, but in worst case, you'd kill your agent on every half you test, down till the last two bits where you let him test the wrong one and even that one dies. In that case, you really would need the double amount.


also the guy above me is right: you can let all agents start at once, the first checks half the grid, the second checks the first and third quarter, the third checks every uneven eigth part of all the bits, and in the end you can determine the faulty bit depending on which agent is still alive after one hour.

however, having two hours time, you could try to find a way to use up less agents by using those that survived a second time. That could enable you to need less agents.
Gold isn't everything in life... you need wood, too!
Sayle
Profile Joined October 2010
United Kingdom3685 Posts
Last Edited: 2011-03-29 16:09:10
March 29 2011 16:08 GMT
#10
@Scorch: Yes, that method is a quick solution but not optimal. The bonus question pretty much shows that that's not the 'right' answer since in that method, any increase in the number of bits (beyond some tiny fraction due to non-integer roots) would require more agents.
Hynda
Profile Blog Joined June 2010
Sweden2226 Posts
Last Edited: 2011-03-29 16:15:12
March 29 2011 16:13 GMT
#11

If the thing was a square, or a cube this is what I would do, if it was a square all you need to do is send everyone in a line on both sides note down the ones missing and you have your coordinates for a 100.000 unit square you would need 317 or so if it was cubical you would only need 94. Silly me I was imagining a pirateship storage and a James Bond agent... I'm still 8 years old it seems.
mahrgell
Profile Blog Joined December 2009
Germany3943 Posts
March 29 2011 16:15 GMT
#12
On March 30 2011 01:04 Scorch wrote:
My approach:
+ Show Spoiler +
Arrange bits in a table of dimensions sqrt(100000) x sqrt(100000). Have an agent work on each line and on each column, that's 2*sqrt(100000) ~ 632 agents. The two agents which do not return OK will yield the coordinates of the faulty bit. The result is calculated in one hour, the second hour isn't even needed.
If you want to be very exact, 100000 doesn't have an integer as its square root, so the table doesn't cover all bits or contains some blanks. In the unlikely case that the faulty bit is among those few leftovers, use the second hour to run agents on the remaining few bits to find the solution.

Probably not an optimal solution, but not too bad for a quick naive approach.


to use the 2nd hour efficiently, you can just evolve this process, by giving every agent 18 lines (thats about the 4th root of 100000) or 18 columns in the 1st hour.
Leaves you with an 18x18 block, where the faulty block is. Now repeat the game in 2nd hour again with your approach.

Brings us down to 36+2 = 38 Agents. (plus 2 because 2 die in the first hour)
General solution by this aproach would be for x bits in h hours.

n = x ^ -(2^h) + 2(h-1) (rounded up)
THE_DOMINATOR
Profile Blog Joined April 2010
United States309 Posts
March 29 2011 16:16 GMT
#13
...No one looked at the link I posted.... The first guy checks every other bit the second guy checks every other 2 bits then 2 bits the third guy checks every other 3 bits then 3 bits etc...
When they meet back in the control room they each calculate whether the number of ones they encountered is odd or even. This creates the syndrome bit which they then can compare to the original syndrome bit that was calculated on earth before they left. The OR operation on the two syndrome bits gives the position of the faulty bit.
DOMINATION
Sayle
Profile Joined October 2010
United Kingdom3685 Posts
March 29 2011 16:20 GMT
#14
Why would the bonus question ask what the formula was in terms of both bits and hours then. If your solution is correct, dominator, then the number of hours is irrelevant.
THE_DOMINATOR
Profile Blog Joined April 2010
United States309 Posts
Last Edited: 2011-03-29 16:26:12
March 29 2011 16:23 GMT
#15
Indeed they are :p the total number of hours with my solution would be 1 or however long it takes for the agents to make a single pass like this. My guess is that the creator of the puzzle wasn't very familiar with computer architecture.
DOMINATION
Sayle
Profile Joined October 2010
United Kingdom3685 Posts
March 29 2011 16:33 GMT
#16
http://domino.watson.ibm.com/Comm/wwwr_ponder.nsf/challenges/March2011.html

Clearly, IBM is not at all familiar with computer architecture.
heishe
Profile Blog Joined June 2009
Germany2284 Posts
March 29 2011 16:41 GMT
#17
I don't get it. Can't you just let one agent search a subset of 100000 bits and wait one hour to get the result?
If you value your soul, never look into the eye of a horse. Your soul will forever be lost in the void of the horse.
TheAura
Profile Joined November 2010
96 Posts
March 29 2011 16:43 GMT
#18
no he will just die, and all you will know is that one of those 100000 bits is bad, which we already know. The agent will only tell you if the bad bit is in the subset he is searching(by dying or not), but not where in that subset.
TadH
Profile Blog Joined February 2010
Canada1846 Posts
March 29 2011 16:43 GMT
#19
On March 30 2011 01:33 Sayle wrote:
http://domino.watson.ibm.com/Comm/wwwr_ponder.nsf/challenges/March2011.html

Clearly, IBM is not at all familiar with computer architecture.


What makes you say that?

And yes that is where I got it from, I'm going to try and keep up with these monthly quizzes, they seem fun.
blankspace
Profile Blog Joined June 2010
United States292 Posts
March 29 2011 16:50 GMT
#20
I think the hamming code link the_dominator posted is the fastest in general (or maybe variations of it). With that method it would take 17 agents in one hour. I'm not sure how to use the two hours though.

This is definitely not the intended way but it's another method to do it with fairly few agents.

Let us label the bits 1-100,000.
Send one agent to labels 0 mod 2,
One agent to 0 mod 3, another to 1 mod 3, etc.

mod 2 uses 1
mod 3 uses 2
mod 5 uses 4
mod 7 uses 6
mod 11 uses 10
mod 13 uses 12.

In the first set, we use 35 agents to get (using the chinese remainder theorem) the unique mod
of the error bit mod 30,300 (which is 2x3x5x7x11x13). Then in the second hour we need at most 3 more agents to get the error bit.

This is not as good as the hamming code though. The "price" of dividing 100,000 by p is p-1 agents while the price of dividing by two is only one agent in the other method.
Hello friends
1 2 3 Next All
Please log in or register to reply.
Live Events Refresh
Patches Events
01:00
Patch Clash Monthly #2
RotterdaM1011
TKL 262
EnkiAlexander 34
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RotterdaM 1011
mouzHeroMarine 348
ByuN 296
TKL 262
IndyStarCraft 197
BRAT_OK 54
MindelVK 23
StarCraft: Brood War
Britney 16475
Calm 2510
Horang2 387
Dewaltoss 174
Mini 162
Rush 103
EffOrt 84
Zeus 48
Trap 19
ToSsGirL 18
[ Show more ]
Bale 17
scan(afreeca) 14
Sacsri 8
Dota 2
febbydoto7
LuMiX1
Counter-Strike
fl0m4521
pashabiceps1756
Fnx 1447
edward36
Super Smash Bros
Mew2King72
Heroes of the Storm
Grubby2967
Liquid`Hasu522
Other Games
singsing1763
Liquid`RaSZi1728
Beastyqt934
B2W.Neo474
C9.Mang0321
crisheroes204
dupreeh139
QueenE105
Trikslyr89
UpATreeSC57
JuggernautJason25
Organizations
Dota 2
PGL Dota 2 - Main Stream24
Other Games
Algost 1
[ Show 12 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Migwel
StarCraft: Brood War
• 80smullet 19
• Michael_bg 9
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• TFBlade819
Other Games
• imaqtpie812
Upcoming Events
The PondCast
14h 55m
INu's Battles
15h 55m
Percival vs SHIN
Zoun vs herO
OSC
17h 55m
OSC
1d 3h
Replay Cast
1d 3h
OSC
2 days
AI Arena Tournament
2 days
BSL: Ladder Tournament
2 days
Sparkling Tuna Cup
3 days
Patches Events
3 days
[ Show More ]
BSL Open Qualifier
3 days
BSL Open Qualifier
3 days
WardiTV Weekly
5 days
PiGosaur Cup
6 days
Liquipedia Results

Completed

CSL 2026 AUTUMN (S22)
Blizzard Classic Cup 2026
Copium Cup

Ongoing

ASL Season 22
Super Anchor Qualifying S3
Acropolis #5
Acropolis #5 - GSB
ESL Pro League Season 24
Stake Ranked Episode 4
1win Private Club #1
Logitech G Play Connect 2026
SL StarSeries Fall 2026
FISSURE Playground #3
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual

Upcoming

Acropolis #5 - GSC
BSL Season 23
SC4ALL II: Brood War
BSL 23: Non-Korean Championship
HSC XXX
Stellar Fest 2: Lunar Cup
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
HCC Season 3
eXTREMESLAND 2026
PGL Major Singapore 2026
Stake Ranked Episode 6
BLAST Rivals Fall 2026
IEM Beijing 2026
Stake Ranked Episode 5
PGL Masters Bucharest 2026
1win Private Club #2
Thunderpick World Champ. '26
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.