There are 2 generals, jointly besieging an enemy in a valley. Both generals must attack at the same time or they will be defeated piecemeal. The only way they can communicate is to send a messenger through the valley, and this messenger may be intercepted. How then does any general know if his message was received and the other will be joining in the attack?
While it's mathematically proven impossible to solve in the way presented, there are various workaround like "send 100 couriers and attack no matter what" that reduce the uncertaincy while being unable to eliminate it completely.