Two Generals Solution - Human Breadcrumbs
I was recently introduced to the Two Generals' Problem at work as a thought experiment illustrating the impossibility of perfect coordination over an unreliable communication channel. I thought of a solution that doesn't require any improbable assumptions. Here is my algorithm:
1) Tell a group of messengers a time to attack
2) Send them all across at once
3) At equally spaced intervals along the route, have them leave one person behind such that each person left behind can see the last person left behind.
4) If at any time someone is captured, relay the "error" message backward and forward via each node. The sending general then sends more messengers to rebuild the link if it hasn't already been completed and increases the time of attack into the future. If someone was captured in the middle, when the message gets to the pack of traveling messengers, they invalidate their time and wait for a new time.
5) If the sending general doesn't get any notices of capture back before the attack time he sent out, he attacks. If the receiving general gets the message and no invalidations after some timeout, he attacks at the time he got.
After a lot of argument, I convinced my coworkers (volkan and peter) to accept this solution with only two easy assumptions:
1) That sight is a reliable communication channel (there are no mirages)
2) The time to cross the valley via foot and via sight hops can be bounded.
