Distributed Computing
Proof for question 1 of the first homework:
Proof:
By way of
contradiction, assume the two matrices are
equal at node V
but there are still messages in transit
in the
network. Let t be the first time
at which the matrices
are equal at
V. Consider a node u:
from all the
updates sent from
u to V and arrive
at V no later than t, let the `latest’ one
be the one that
was sent last from u.
Let t-u be the
time at which the `latest’ update was sent
from u to V (if u
did not send even one update to V,
then t-u is
zero). Since, by the contradicting
assumption,
there are still
messages in transit, we can consider the
following set of
messages:
{for each node u
we consider the first message to arrive at u
after t-u}. From this set, consider the message,
M-e, (for
M-earliest) to be
the message that has arrived to its destination at
the earliest point
in time (smallest time value), let
this destination
be j, and the time
at which M-e arrives at j be t-e.
Message
M-e was sent from
node i to node j. Since the
matrices were
equal at V, and
they did not include the arrival of M-e to j
(because M-e
arrived at j after t-j) there must be another message
M-o (for M-other)
that has arrived at j at t-a, before t-j but was
sent from i at t-s
which is after t-i. Since node i
sent the other
message,
M-o, at t-s it must
have received a message at this point of time
too (nodes do not
send messages out of the blue, but only in a response
to receiving a
message). BUT, since a message is
sent before it
arrives, t-s < t-a. But also,
t-a < t-j < t-e.
But this is a
contradiction since now t-s < t-e and M-e is not the
earliest message
from the set above. Q.E.D.