Wikipedia describes the problem of when to log a QSO as the "Two Generals’ 
Problem”. Here is part of the entry:


In computing, the Two Generals' Problem is a thought experiment meant to 
illustrate the pitfalls and design challenges of attempting to coordinate an 
action by communicating over an unreliable link. In the experiment, two 
generals are only able to communicate with one another by sending a messenger 
through enemy territory. The experiment asks how they might reach an agreement 
on the time to launch an attack, while knowing that any messenger they send 
could be captured.

It is related to the more general Byzantine Generals Problem and appears often 
in introductory classes about computer networking (particularly with regard to 
the Transmission Control Protocol, where it shows that TCP can't guarantee 
state consistency between endpoints and why this is the case), though it 
applies to any type of two-party communication where failures of communication 
are possible. A key concept in epistemic logic, this problem highlights the 
importance of common knowledge. Some authors also refer to this as the Two 
Generals' Paradox, the Two Armies Problem, or the Coordinated Attack 
Problem.[1][2] The Two Generals' Problem was the first computer communication 
problem to be proved to be unsolvable. An important consequence of this proof 
is that generalizations like the Byzantine Generals problem are also unsolvable 
in the face of arbitrary communication failures, thus providing a base of 
realistic expectations for any distributed consistency protocols.

The problem is illustrated by the scenario:

Two armies, each led by a different general, are preparing to attack a 
fortified city. The armies are encamped near the city, each in its own valley. 
A third valley separates the two hills, and the only way for the two generals 
to communicate is by sending messengers through the valley. Unfortunately, the 
valley is occupied by the city's defenders and there's a chance that any given 
messenger sent through the valley will be captured.

While the two generals have agreed that they will attack, they haven't agreed 
upon a time for an attack. It is required that the two generals have their 
armies attack the city simultaneously to succeed, lest the lone attacker army 
die trying. They must thus communicate with each other to decide on a time to 
attack and to agree to attack at that time, and each general must know that the 
other general knows that they have agreed to the attack plan. Because 
acknowledgement of message receipt can be lost as easily as the original 
message, a potentially infinite series of messages is required to come to 
consensus.

The thought experiment involves considering how they might go about coming to a 
consensus. In its simplest form, one general is known to be the leader, decides 
on the time of the attack, and must communicate this time to the other general. 
The problem is to come up with algorithms that the generals can use, including 
sending messages and processing received messages, that can allow them to 
correctly conclude:


Yes, we will both attack at the agreed-upon time.

Allowing that it is quite simple for the generals to come to an agreement on 
the time to attack (i.e. one successful message with a successful 
acknowledgement), the subtlety of the Two Generals' Problem is in the 
impossibility of designing algorithms for the generals to use to safely agree 
to the above statement.


Illustrating the problem

The first general may start by sending a message "Attack at 0900 on August 4." 
However, once dispatched, the first general has no idea whether or not the 
messenger got through. This uncertainty may lead the first general to hesitate 
to attack due to the risk of being the sole attacker.

To be sure, the second general may send a confirmation back to the first: "I 
received your message and will attack at 0900 on August 4." However, the 
messenger carrying the confirmation could face capture and the second general 
may hesitate, knowing that the first might hold back without the confirmation.

Further confirmations may seem like a solution—let the first general send a 
second confirmation: "I received your confirmation of the planned attack at 
0900 on August 4." However, this new messenger from the first general is liable 
to be captured, too. Thus it quickly becomes evident that no matter how many 
rounds of confirmation are made, there is no way to guarantee the second 
requirement that each general is sure the other has agreed to the attack plan. 
Both generals will always be left wondering whether their last messenger got 
through.


The same situation occurs with FT8, no matter how may RR73 messages you send. 
My take on it is:

If I send a RR73 I log the contact. If I receive a RR73, I’ll send a RR73 and 
log the contact. For DXing, this is sufficient. The worst that happens is I log 
a contact that the other end hasn’t logged. LotW will sort it out.

For contesting, the problem is more acute since someone loses points unless 
both sides log the QSO. For SSB and CW, if the running station goes immediately 
to CQing, the S&P station can assume that it has logged the QSO and log it as 
well. That seems to work well enough that there are frequently “golden logs”, 
where there are no mistakes in logging the calls and exchanges for a large 
number of QSOs.

73 Bill AE6JV






_______________________________________________
wsjt-devel mailing list
wsjt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

Reply via email to