Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
1 123 92
r-semi-groups: a generic approach fordesigning stabilizing silent tasks
Bertrand Ducourthial
Laboratoire Heudiasyc (UMR UTC-CNRS 6599)Computer Science Dpt
Universite de Technologie de Compiegne
SSS’2007Ninth International Symposium on Stabilization,
Safety, and Security of Distributed Systems,
14th - 16th November 2007, Paris, France
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
2 223 92r-semi-groups: a generic approach for
designing stabilizing silent tasks
1 Contribution
2 Generic approach with r-semi-groups
3 Main results
4 Using r-semi-groups
5 Conclusion
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
2 323 92Summary
1 Contribution
2 Generic approach with r-semi-groups
3 Main results
4 Using r-semi-groups
5 Conclusion
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
3 423 92Contribution
• Static versus dynamic task• a static task is specified by a result
• specification ≡ predicats on configurations• silent algorithms
(without self-stabilization consideration)• example: leader election
• a dynamic task is specified by a behavior• specification ≡ predicats on executions• example: token circulation
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
3 523 92Contribution
◦ Static versus dynamic task
• Our contribution: r-semi-groups• complete framework to design
• static tasks• self-stabilizing static tasks
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
3 623 92Contribution
◦ Static versus dynamic task
• Our contribution: r-semi-groups• complete framework to design
• static tasks• self-stabilizing static tasks
• Interest• design of algorithms• local conditions for ensuring global
(self-)stabilization• easy proof by reusing generic results
proofs established for all r-semi-groups
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
4 723 92Related work
• Generic approaches to prove self-stabilizingproperties of distributed algorithms[Arora93, Afek98, Theel00, Gouda03, Oehlerking05]
not as generic as r-semi-groups
• Path algebra, max-plus algebra[Aho74,Gondran79,Baccelli92]
two laws, relation with algorithms more complex
• Relations between algebraic structures andcomputations on networks[Bilardi90]
not a framework to design distributed application
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
4 823 92Summary
1 Contribution
2 Generic approach with r-semi-groupsAlgorithm ≡ operatorA quick reminder on algebraWhat kind of operators?
3 Main results
4 Using r-semi-groups
5 Conclusion
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
5 923 92Thinking the algorithm as an operator
privatedata
alg
ori
thm
ou
tpu
t
inp
utsfrom the
ancestorsto thesuccessors
a node
Static task:algorithm ≡
output← f (private data, input[1], . . . , input[n])
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
6 1023 92Thinking the algorithm as an operator
privatedata
alg
ori
thm
ou
tpu
t
inp
utsfrom the
ancestorsto thesuccessors
a node
Algorithm (message passing):
R1 Upon receipt of a message m sent by u:if m 6= input[u], then
input[u]← moutput ← f (private data, input[1], . . . , input[n])/* local computation with the local r -operator */
send(output) to the neighborsend if
R2 Upon timeout expiration:output ← f (private data, input[1], . . . , input[n])send(output) to the neighborsreset the timeout
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
7 1123 92A quick reminder on algebra
magma (S, �)
magma (S, �)
?� associative
monoid
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
︸ ︷︷ ︸Idempotent Algebra
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
?
� com-mutative
idempotent abeliansemi-group
s-operator︸ ︷︷ ︸Idempotent Algebra
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
?
� com-mutative
idempotent abeliansemi-group
s-operator︸ ︷︷ ︸Idempotent Algebra
�r : x 7→ xr-semi-group
r-operator
� r : x 7→ x r-idempotencyr(x)�x = r(x)
�r : x 7→ x r-commutativityr(x)�y = r(y)�x
� r : x 7→ x r-associativityx�(y�y) = x�y�r(z)
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
7 1223 92A quick reminder on algebra
magma (S, �)
magma (S, �)
?� associative
monoid
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
︸ ︷︷ ︸Idempotent Algebra
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
?
� com-mutative
idempotent abeliansemi-group
s-operator︸ ︷︷ ︸Idempotent Algebra
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
?
� com-mutative
idempotent abeliansemi-group
s-operator︸ ︷︷ ︸Idempotent Algebra
�r : x 7→ xr-semi-group
r-operator
� r : x 7→ x r-idempotencyr(x)�x = r(x)
�r : x 7→ x r-commutativityr(x)�y = r(y)�x
� r : x 7→ x r-associativityx�(y�y) = x�y�r(z)
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
7 1323 92A quick reminder on algebra
magma (S, �)magma (S, �)
?� associative
monoid
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
︸ ︷︷ ︸Idempotent Algebra
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
?
� com-mutative
idempotent abeliansemi-group
s-operator︸ ︷︷ ︸Idempotent Algebra
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
?
� com-mutative
idempotent abeliansemi-group
s-operator︸ ︷︷ ︸Idempotent Algebra
�r : x 7→ xr-semi-group
r-operator
� r : x 7→ x r-idempotencyr(x)�x = r(x)
�r : x 7→ x r-commutativityr(x)�y = r(y)�x
� r : x 7→ x r-associativityx�(y�y) = x�y�r(z)
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
7 1423 92A quick reminder on algebra
magma (S, �)magma (S, �)
?� associative
monoid
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
���
���
����
���
���
every element iscancellativex�y = x�z ⇒ y = z
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
︸ ︷︷ ︸Idempotent Algebra
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
?
� com-mutative
idempotent abeliansemi-group
s-operator︸ ︷︷ ︸Idempotent Algebra
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
?
� com-mutative
idempotent abeliansemi-group
s-operator︸ ︷︷ ︸Idempotent Algebra
�r : x 7→ xr-semi-group
r-operator
� r : x 7→ x r-idempotencyr(x)�x = r(x)
�r : x 7→ x r-commutativityr(x)�y = r(y)�x
� r : x 7→ x r-associativityx�(y�y) = x�y�r(z)
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
7 1523 92A quick reminder on algebra
magma (S, �)magma (S, �)
?� associative
monoid
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
���
���
����
���
���
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
︸ ︷︷ ︸Idempotent Algebra
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
?
� com-mutative
idempotent abeliansemi-group
s-operator︸ ︷︷ ︸Idempotent Algebra
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
?
� com-mutative
idempotent abeliansemi-group
s-operator︸ ︷︷ ︸Idempotent Algebra
�r : x 7→ xr-semi-group
r-operator
� r : x 7→ x r-idempotencyr(x)�x = r(x)
�r : x 7→ x r-commutativityr(x)�y = r(y)�x
� r : x 7→ x r-associativityx�(y�y) = x�y�r(z)
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
7 1623 92A quick reminder on algebra
magma (S, �)magma (S, �)
?� associative
monoid
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
︸ ︷︷ ︸Idempotent Algebra
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
?
� com-mutative
idempotent abeliansemi-group
s-operator︸ ︷︷ ︸Idempotent Algebra
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
?
� com-mutative
idempotent abeliansemi-group
s-operator︸ ︷︷ ︸Idempotent Algebra
�r : x 7→ xr-semi-group
r-operator
� r : x 7→ x r-idempotencyr(x)�x = r(x)
�r : x 7→ x r-commutativityr(x)�y = r(y)�x
� r : x 7→ x r-associativityx�(y�y) = x�y�r(z)
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
7 1723 92A quick reminder on algebra
magma (S, �)magma (S, �)
?� associative
monoid
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
︸ ︷︷ ︸Idempotent Algebra
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
?
� com-mutative
idempotent abeliansemi-group
s-operator︸ ︷︷ ︸Idempotent Algebra
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
�����
������
�����
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
?
� com-mutative
idempotent abeliansemi-group
s-operator︸ ︷︷ ︸Idempotent Algebra
�r : x 7→ xr-semi-group
r-operator
� r : x 7→ x r-idempotencyr(x)�x = r(x)
�r : x 7→ x r-commutativityr(x)�y = r(y)�x
� r : x 7→ x r-associativityx�(y�y) = x�y�r(z)
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
8 1823 92What kind of operators?
• A sort of idempotency is needed
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
8 1923 92What kind of operators?
◦ A sort of idempotency is needed
• Idempotent Abelian semi-groups s-operator
• ∧, ∨, min, max, gcd, lcm, ∩, ∪... [Tel91]
• associative, commutative and idempotent
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
8 2023 92What kind of operators?
◦ A sort of idempotency is needed
• Idempotent Abelian semi-groups s-operator
• ∧, ∨, min, max, gcd, lcm, ∩, ∪... [Tel91]
• associative, commutative and idempotent
• What if transient failure?• could stabilize on an illegitimate value
[DistComp01]
• self-stabilizing on acyclic networks
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
8 2123 92What kind of operators?
◦ A sort of idempotency is needed
• Idempotent Abelian semi-groups s-operator
• ∧, ∨, min, max, gcd, lcm, ∩, ∪... [Tel91]
• associative, commutative and idempotent
• What if transient failure?• could stabilize on an illegitimate value
[DistComp01]
• self-stabilizing on acyclic networks
3
min255
initial configuration
3
min255
initial configuration
3
min255
initial configuration
3
min255
initial configuration
3
min255
3
min3 3
initial configuration terminal configuration
3
min255
3
min3 3
3
min2
initial configuration terminal configuration transient failure
3
min255
3
min3 3
3
min2
3
min2 2
initial configuration terminal configuration transient failure illegitimateterminal config.
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
8 2223 92What kind of operators?
◦ A sort of idempotency is needed
• Idempotent Abelian semi-groups s-operator
• ∧, ∨, min, max, gcd, lcm, ∩, ∪... [Tel91]
• associative, commutative and idempotent
• What if transient failure?• could stabilize on an illegitimate value
[DistComp01]
• self-stabilizing on acyclic networks
3
min255
initial configuration
3
min255
initial configuration
3
min255
initial configuration
3
min255
initial configuration
3
min255
3
min3 3
initial configuration terminal configuration
3
min255
3
min3 3
3
min2
initial configuration terminal configuration transient failure
3
min255
3
min3 3
3
min2
3
min2 2
initial configuration terminal configuration transient failure illegitimateterminal config.
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
8 2323 92What kind of operators?
◦ A sort of idempotency is needed
• Idempotent Abelian semi-groups s-operator
• ∧, ∨, min, max, gcd, lcm, ∩, ∪... [Tel91]
• associative, commutative and idempotent
• What if transient failure?• could stabilize on an illegitimate value
[DistComp01]
• self-stabilizing on acyclic networks
3
min255
initial configuration
3
min255
initial configuration
3
min255
initial configuration
3
min255
initial configuration
3
min255
3
min3 3
initial configuration terminal configuration
3
min255
3
min3 3
3
min2
initial configuration terminal configuration transient failure
3
min255
3
min3 3
3
min2
3
min2 2
initial configuration terminal configuration transient failure illegitimateterminal config.
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
8 2423 92What kind of operators?
◦ A sort of idempotency is needed
• Idempotent Abelian semi-groups s-operator
• ∧, ∨, min, max, gcd, lcm, ∩, ∪... [Tel91]
• associative, commutative and idempotent
• What if transient failure?• could stabilize on an illegitimate value
[DistComp01]
• self-stabilizing on acyclic networks
3
min255
initial configuration
3
min255
initial configuration
3
min255
initial configuration
3
min255
initial configuration
3
min255
3
min3 3
initial configuration terminal configuration
3
min255
3
min3 3
3
min2
initial configuration terminal configuration transient failure
3
min255
3
min3 3
3
min2
3
min2 2
initial configuration terminal configuration transient failure illegitimateterminal config.
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
9 2523 92What kind of operators?
• Some operators tolerate transient failures• minc(x , y) = min(x , y + 1)
defined on N ∪ {+∞} or {0, . . . , 255}...
3
min
c
255
3
min
c
3 3
initial configuration terminal configuration
3
min
c
255
3
min
c
3 3
3
min
c
1
initial configuration terminal configuration
transientfailure
3
min
c
255
3
min
c
3 3
3
min
c
1
3
min
c
1 2
initial configuration terminal configuration
transientfailure
3
min
c
255
3
min
c
3 3
3
min
c
1
3
min
c
1 2
initial configuration terminal configuration
transientfailure
3
min
c
2 3
3
min
c
255
3
min
c
3 3
3
min
c
1
3
min
c
1 2
initial configuration terminal configuration
transientfailure
3
min
c
2 3
legitimateterminal configuration
3
min
c
3 3
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
9 2623 92What kind of operators?
• Some operators tolerate transient failures• minc(x , y) = min(x , y + 1)
defined on N ∪ {+∞} or {0, . . . , 255}...
3
min
c
255
3
min
c
3 3
initial configuration terminal configuration
3
min
c
255
3
min
c
3 3
3
min
c
1
initial configuration terminal configuration
transientfailure
3
min
c
255
3
min
c
3 3
3
min
c
1
3
min
c
1 2
initial configuration terminal configuration
transientfailure
3
min
c
255
3
min
c
3 3
3
min
c
1
3
min
c
1 2
initial configuration terminal configuration
transientfailure
3
min
c
2 3
3
min
c
255
3
min
c
3 3
3
min
c
1
3
min
c
1 2
initial configuration terminal configuration
transientfailure
3
min
c
2 3
legitimateterminal configuration
3
min
c
3 3
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
9 2723 92What kind of operators?
• Some operators tolerate transient failures• minc(x , y) = min(x , y + 1)
defined on N ∪ {+∞} or {0, . . . , 255}...
3
min
c
255
3
min
c
3 3
initial configuration terminal configuration
3
min
c
255
3
min
c
3 3
3
min
c
1
initial configuration terminal configuration
transientfailure
3
min
c
255
3
min
c
3 3
3
min
c
1
3m
inc
1 2
initial configuration terminal configuration
transientfailure
3
min
c
255
3
min
c
3 3
3
min
c
1
3
min
c
1 2
initial configuration terminal configuration
transientfailure
3
min
c
2 3
3
min
c
255
3
min
c
3 3
3
min
c
1
3
min
c
1 2
initial configuration terminal configuration
transientfailure
3
min
c
2 3
legitimateterminal configuration
3
min
c
3 3
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
9 2823 92What kind of operators?
• Some operators tolerate transient failures• minc(x , y) = min(x , y + 1)
defined on N ∪ {+∞} or {0, . . . , 255}...
3
min
c
255
3
min
c
3 3
initial configuration terminal configuration
3
min
c
255
3
min
c
3 3
3
min
c
1
initial configuration terminal configuration
transientfailure
3
min
c
255
3
min
c
3 3
3
min
c
1
3
min
c
1 2
initial configuration terminal configuration
transientfailure
3
min
c
255
3
min
c
3 3
3
min
c
1
3
min
c
1 2
initial configuration terminal configuration
transientfailure
3
min
c
2 3
3
min
c
255
3
min
c
3 3
3
min
c
1
3
min
c
1 2
initial configuration terminal configuration
transientfailure
3
min
c
2 3
legitimateterminal configuration
3
min
c
3 3
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
9 2923 92What kind of operators?
• Some operators tolerate transient failures• minc(x , y) = min(x , y + 1)
defined on N ∪ {+∞} or {0, . . . , 255}...
3
min
c
255
3
min
c
3 3
initial configuration terminal configuration
3
min
c
255
3
min
c
3 3
3
min
c
1
initial configuration terminal configuration
transientfailure
3
min
c
255
3
min
c
3 3
3
min
c
1
3
min
c
1 2
initial configuration terminal configuration
transientfailure
3
min
c
255
3
min
c
3 3
3
min
c
1
3
min
c
1 2
initial configuration terminal configuration
transientfailure
3
min
c
2 3
3
min
c
255
3
min
c
3 3
3
min
c
1
3
min
c
1 2
initial configuration terminal configuration
transientfailure
3
min
c
2 3
legitimateterminal configuration
3
min
c
3 3
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
10 3023 92What kind of operators
Summary of properties
Operator Properties of the algorithm Proof
associative andcommutative
silent task if there is no circuit
associative, com-mutative and
silent taskTel91
idempotent not self-stabilizingDistComp01
idempotentr-operator
silent taskSIROCCO98,DistComp01
strictly idemp. self-stabilizingr-operator withtotal order
- read-write demon, shared mem-ory (registers) DistComp01
- unreliable messages passingSSS05,JACIC06
strictly idempo-tent r-operator
self-stabilizing, shared memory,fully distributed demon TCS03
with partial order
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
10 3123 92Summary
1 Contribution
2 Generic approach with r-semi-groups
3 Main results
4 Using r-semi-groups
5 Conclusion
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
11 3223 92r-semi-group
A generalization of the idempotent Abeliansemi-group with interesting properties forcomputation in networks
magma (S, �)
?� associative
monoid
?
e� identity element(on the left andthe right)
semi-group � preorder relationa � b ≡ ∃c, a = b�c
?
� anti-symmetric
semi-groupnaturally ordered
without null equation(x�y = e� ⇒ x = y = e�)
cancellative semi-group
���
���
��
��
���
���
every element iscancellativex�y = x�z ⇒ y = z
?
every elementhas an inverse
(x�x−1 = x−1�x = e�)
group
︸ ︷︷ ︸Classical Algebra
�������
every elementis cancellative
@@
@@
@@
@@R
without nullequation
free semi-groupnaturally ordered
without nullequation
︸ ︷︷ ︸Language Algebra
@@
@@
@@R
idempotencyx�x = x
idempotentsemi-group
(a � b⇒ a = b�a)
?
� com-mutative
idempotent abeliansemi-group
s-operator︸ ︷︷ ︸Idempotent Algebra
�r : x 7→ xr-semi-group
r-operator
� r : x 7→ x r-idempotencyr(x)�x = r(x)
�r : x 7→ x r-commutativityr(x)�y = r(y)�x
� r : x 7→ x r-associativityx�(y�y) = x�y�r(z)
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
12 3323 92Construction of the r-operators
Required properties
• Weak left cancellation• idempotency vs. cancellation
• ∀x , y , z ∈ S, (y = z)⇒ (x�y = x�z)always true
• ∀x , y , z ∈ S, (x�y = x�z)⇒ (y = z)cancellation
false for min on N (consider x = 2, y = 3, z = 4)
• ∀y , z ∈ S, (∀x ∈ S, x�y = x�z)⇒ y = ztrue for min on N
; weak left cancellationmin is weak left cancellative
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
12 3423 92Construction of the r-operators
Required properties
• Weak left cancellation• idempotency vs. cancellation• ∀x , y , z ∈ S, (y = z)⇒ (x�y = x�z)
always true
• ∀x , y , z ∈ S, (x�y = x�z)⇒ (y = z)cancellation
false for min on N (consider x = 2, y = 3, z = 4)
• ∀y , z ∈ S, (∀x ∈ S, x�y = x�z)⇒ y = ztrue for min on N
; weak left cancellationmin is weak left cancellative
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
12 3523 92Construction of the r-operators
Required properties
• Weak left cancellation• idempotency vs. cancellation• ∀x , y , z ∈ S, (y = z)⇒ (x�y = x�z)
always true
• ∀x , y , z ∈ S, (x�y = x�z)⇒ (y = z)cancellation
false for min on N (consider x = 2, y = 3, z = 4)
• ∀y , z ∈ S, (∀x ∈ S, x�y = x�z)⇒ y = ztrue for min on N
; weak left cancellationmin is weak left cancellative
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
12 3623 92Construction of the r-operators
Required properties
• Weak left cancellation• idempotency vs. cancellation• ∀x , y , z ∈ S, (y = z)⇒ (x�y = x�z)
always true
• ∀x , y , z ∈ S, (x�y = x�z)⇒ (y = z)cancellation
false for min on N (consider x = 2, y = 3, z = 4)
• ∀y , z ∈ S, (∀x ∈ S, x�y = x�z)⇒ y = ztrue for min on N
; weak left cancellationmin is weak left cancellative
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
12 3723 92Construction of the r-operators
Required properties
• Weak left cancellation• idempotency vs. cancellation• ∀x , y , z ∈ S, (y = z)⇒ (x�y = x�z)
always true
• ∀x , y , z ∈ S, (x�y = x�z)⇒ (y = z)cancellation
false for min on N (consider x = 2, y = 3, z = 4)
• ∀y , z ∈ S, (∀x ∈ S, x�y = x�z)⇒ y = ztrue for min on N
; weak left cancellationmin is weak left cancellative
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
12 3823 92Construction of the r-operators
Required properties
◦ Weak left cancellation
• Local topology awareness
private data / input[1] / input[2] =private data / input[2] / input[1]
; rank 2 commutativitymin is rank 1 commutative (commutative)
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
12 3923 92Construction of the r-operators
Required properties
◦ Weak left cancellation
◦ Local topology awareness
• Termination
removing doubles in expressions:private data / input / input =private data / input
; rank 2 idempotencymin is rank 1 idempotent (idempotent)
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
13 4023 92Construction of the r-operators
Generalization of the semi-group
• s-operator ⊕ (infimum) e.g., min
idempotent Abelian semi-group
associative (x ⊕ y) ⊕ z = x ⊕ (y ⊕ z)commutative x ⊕ y = y ⊕ xidempotent x ⊕ x = xidentity element x ⊕ e⊕ = x
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
13 4123 92Construction of the r-operators
Generalization of the semi-group
◦ s-operator ⊕ (infimum) e.g., min
• r -operator e.g., minc(x , y) = min(x , y + 1)
r-semi-group
/ is an r -operator on S if there exists anendomorphism r : S→ S such that / is :
r -associative (x / y) / r(z) = x / (y / z)r -commutative r(x) / y = r(y) / xr -idempotent r(x) / x = r(x)right identity elt x / e/ = x
(S, /) admits an order relation
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
13 4223 92Construction of the r-operators
Generalization of the semi-group
◦ s-operator ⊕ (infimum) e.g., min
◦ r -operator e.g., minc(x , y) = min(x , y + 1)
• idempotency• idempotent r -operator:∀x ∈ S, x/x = x; x �/ r(x)usefull for termination
• strictly idempotent r -operator:x ≺/ r(x)usefull for self-stabilization
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
14 4323 92r-semi-group: a summary
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
r : S→ S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
r : S → S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
r : S → S
⊳ rank 2 com-mutative on S
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
4⊳ reflexi-ve on S
x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x
4⊳ order re-lation on S
r : S → S
4⊳ transi-tive on S
4⊳ antisym-metric on S⊳ rank 2 com-
mutative on S
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
4⊳ preorder on S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
4⊳ reflexi-ve on S
x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x
4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)
r : S → S
r2(x)⊕r
2(y) ≡r2(x)⊳r(y)
internal com-position lawon r
2(S)
4⊳ transi-tive on S
(r2(S),⊕) idempotentAbelian semi-group
(⊕ s-operator on r2(S))
⊕ associative on r2(S)
4⊳ antisym-metric on S⊳ rank 2 com-
mutative on S
⊕ idempotenton r
2(S)
⊕ commuta-tive on r
2(S)
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
4⊳ preorder on S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r surjectiveon S
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
r bijectiveon S
r isomorphismof (S, ⊳)
4⊳ reflexi-ve on S
x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x
4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)
r : S → S
r2(x)⊕r
2(y) ≡r2(x)⊳r(y)
internal com-position lawon r
2(S)
4⊳ transi-tive on S
(r2(S),⊕) idempotentAbelian semi-group
(⊕ s-operator on r2(S))
⊕ associative on r2(S)
4⊳ antisym-metric on S⊳ rank 2 com-
mutative on S
⊕ idempotenton r
2(S)
⊕ commuta-tive on r
2(S)
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
4⊳ preorder on S
(S,⊕) idempotentAbelian semi-group(⊕ s-operator on S)
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
14 4423 92r-semi-group: a summary
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
r : S→ S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
r : S → S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
r : S → S
⊳ rank 2 com-mutative on S
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
4⊳ reflexi-ve on S
x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x
4⊳ order re-lation on S
r : S → S
4⊳ transi-tive on S
4⊳ antisym-metric on S⊳ rank 2 com-
mutative on S
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
4⊳ preorder on S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
4⊳ reflexi-ve on S
x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x
4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)
r : S → S
r2(x)⊕r
2(y) ≡r2(x)⊳r(y)
internal com-position lawon r
2(S)
4⊳ transi-tive on S
(r2(S),⊕) idempotentAbelian semi-group
(⊕ s-operator on r2(S))
⊕ associative on r2(S)
4⊳ antisym-metric on S⊳ rank 2 com-
mutative on S
⊕ idempotenton r
2(S)
⊕ commuta-tive on r
2(S)
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
4⊳ preorder on S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r surjectiveon S
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
r bijectiveon S
r isomorphismof (S, ⊳)
4⊳ reflexi-ve on S
x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x
4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)
r : S → S
r2(x)⊕r
2(y) ≡r2(x)⊳r(y)
internal com-position lawon r
2(S)
4⊳ transi-tive on S
(r2(S),⊕) idempotentAbelian semi-group
(⊕ s-operator on r2(S))
⊕ associative on r2(S)
4⊳ antisym-metric on S⊳ rank 2 com-
mutative on S
⊕ idempotenton r
2(S)
⊕ commuta-tive on r
2(S)
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
4⊳ preorder on S
(S,⊕) idempotentAbelian semi-group(⊕ s-operator on S)
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
14 4523 92r-semi-group: a summary
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
r : S→ S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
r : S → S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
r : S → S
⊳ rank 2 com-mutative on S
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
4⊳ reflexi-ve on S
x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x
4⊳ order re-lation on S
r : S → S
4⊳ transi-tive on S
4⊳ antisym-metric on S⊳ rank 2 com-
mutative on S
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
4⊳ preorder on S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
4⊳ reflexi-ve on S
x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x
4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)
r : S → S
r2(x)⊕r
2(y) ≡r2(x)⊳r(y)
internal com-position lawon r
2(S)
4⊳ transi-tive on S
(r2(S),⊕) idempotentAbelian semi-group
(⊕ s-operator on r2(S))
⊕ associative on r2(S)
4⊳ antisym-metric on S⊳ rank 2 com-
mutative on S
⊕ idempotenton r
2(S)
⊕ commuta-tive on r
2(S)
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
4⊳ preorder on S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r surjectiveon S
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
r bijectiveon S
r isomorphismof (S, ⊳)
4⊳ reflexi-ve on S
x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x
4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)
r : S → S
r2(x)⊕r
2(y) ≡r2(x)⊳r(y)
internal com-position lawon r
2(S)
4⊳ transi-tive on S
(r2(S),⊕) idempotentAbelian semi-group
(⊕ s-operator on r2(S))
⊕ associative on r2(S)
4⊳ antisym-metric on S⊳ rank 2 com-
mutative on S
⊕ idempotenton r
2(S)
⊕ commuta-tive on r
2(S)
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
4⊳ preorder on S
(S,⊕) idempotentAbelian semi-group(⊕ s-operator on S)
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
14 4623 92r-semi-group: a summary
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
r : S→ S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
r : S → S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
r : S → S
⊳ rank 2 com-mutative on S
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
4⊳ reflexi-ve on S
x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x
4⊳ order re-lation on S
r : S → S
4⊳ transi-tive on S
4⊳ antisym-metric on S⊳ rank 2 com-
mutative on S
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
4⊳ preorder on S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
4⊳ reflexi-ve on S
x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x
4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)
r : S → S
r2(x)⊕r
2(y) ≡r2(x)⊳r(y)
internal com-position lawon r
2(S)
4⊳ transi-tive on S
(r2(S),⊕) idempotentAbelian semi-group
(⊕ s-operator on r2(S))
⊕ associative on r2(S)
4⊳ antisym-metric on S⊳ rank 2 com-
mutative on S
⊕ idempotenton r
2(S)
⊕ commuta-tive on r
2(S)
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
4⊳ preorder on S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r surjectiveon S
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
r bijectiveon S
r isomorphismof (S, ⊳)
4⊳ reflexi-ve on S
x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x
4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)
r : S → S
r2(x)⊕r
2(y) ≡r2(x)⊳r(y)
internal com-position lawon r
2(S)
4⊳ transi-tive on S
(r2(S),⊕) idempotentAbelian semi-group
(⊕ s-operator on r2(S))
⊕ associative on r2(S)
4⊳ antisym-metric on S⊳ rank 2 com-
mutative on S
⊕ idempotenton r
2(S)
⊕ commuta-tive on r
2(S)
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
4⊳ preorder on S
(S,⊕) idempotentAbelian semi-group(⊕ s-operator on S)
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
14 4723 92r-semi-group: a summary
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
r : S→ S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
r : S → S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
r : S → S
⊳ rank 2 com-mutative on S
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
4⊳ reflexi-ve on S
x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x
4⊳ order re-lation on S
r : S → S
4⊳ transi-tive on S
4⊳ antisym-metric on S⊳ rank 2 com-
mutative on S
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
4⊳ preorder on S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
4⊳ reflexi-ve on S
x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x
4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)
r : S → S
r2(x)⊕r
2(y) ≡r2(x)⊳r(y)
internal com-position lawon r
2(S)
4⊳ transi-tive on S
(r2(S),⊕) idempotentAbelian semi-group
(⊕ s-operator on r2(S))
⊕ associative on r2(S)
4⊳ antisym-metric on S⊳ rank 2 com-
mutative on S
⊕ idempotenton r
2(S)
⊕ commuta-tive on r
2(S)
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
4⊳ preorder on S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r surjectiveon S
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
r bijectiveon S
r isomorphismof (S, ⊳)
4⊳ reflexi-ve on S
x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x
4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)
r : S → S
r2(x)⊕r
2(y) ≡r2(x)⊳r(y)
internal com-position lawon r
2(S)
4⊳ transi-tive on S
(r2(S),⊕) idempotentAbelian semi-group
(⊕ s-operator on r2(S))
⊕ associative on r2(S)
4⊳ antisym-metric on S⊳ rank 2 com-
mutative on S
⊕ idempotenton r
2(S)
⊕ commuta-tive on r
2(S)
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
4⊳ preorder on S
(S,⊕) idempotentAbelian semi-group(⊕ s-operator on S)
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
14 4823 92r-semi-group: a summary
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
r : S→ S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
r : S → S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
r : S → S
⊳ rank 2 com-mutative on S
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
4⊳ reflexi-ve on S
x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x
4⊳ order re-lation on S
r : S → S
4⊳ transi-tive on S
4⊳ antisym-metric on S⊳ rank 2 com-
mutative on S
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
4⊳ preorder on S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
4⊳ reflexi-ve on S
x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x
4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)
r : S → S
r2(x)⊕r
2(y) ≡r2(x)⊳r(y)
internal com-position lawon r
2(S)
4⊳ transi-tive on S
(r2(S),⊕) idempotentAbelian semi-group
(⊕ s-operator on r2(S))
⊕ associative on r2(S)
4⊳ antisym-metric on S⊳ rank 2 com-
mutative on S
⊕ idempotenton r
2(S)
⊕ commuta-tive on r
2(S)
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
4⊳ preorder on S
⊳ r-commutative
r endomorphismof (S, ⊳)
⊳ weak leftcancellative
⊳ r-idempotent
magma (S, ⊳) e⊳ right iden-tity element
⊳ r-associative
e⊳ unique
r surjectiveon S
r(x) = e⊳ ⊳ x
r unique, r(e⊳) = e⊳
∀x ∈ S \ {e⊳}, r(x) 6= e⊳
r injectiveon S
(r(S), ⊳) magma
r bijectiveon S
r isomorphismof (S, ⊳)
4⊳ reflexi-ve on S
x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x
4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)
r : S → S
r2(x)⊕r
2(y) ≡r2(x)⊳r(y)
internal com-position lawon r
2(S)
4⊳ transi-tive on S
(r2(S),⊕) idempotentAbelian semi-group
(⊕ s-operator on r2(S))
⊕ associative on r2(S)
4⊳ antisym-metric on S⊳ rank 2 com-
mutative on S
⊕ idempotenton r
2(S)
⊕ commuta-tive on r
2(S)
⊳ rank 2 idem-potent on r(S)
⊳ rank 2 com-mutative on r(S)
⊳ rank 2 idem-potent on S
4⊳ preorder on S
(S,⊕) idempotentAbelian semi-group(⊕ s-operator on S)
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
14 4923 92Summary
1 Contribution
2 Generic approach with r-semi-groups
3 Main results
4 Using r-semi-groupsMethodHOWTO r-semi-group
5 Conclusion
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
15 5023 92Thinking the algorithm as an operator
Method:
• Data exchanged, data owned by a node, set S• Given two data, choice of the best
; order relation �; idempotent semi-group (S,⊕)
• Transformation of the incoming data: x 7→ r(x)
• r endomorphism of (S,⊕); r-semi-group
• x � r(x); idempotency; stabilization (termination)
• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithm
• Q.E.D.
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
15 5123 92Thinking the algorithm as an operator
Method: example: distance from a node u
• Data exchanged, data owned by a node, set S• Given two data, choice of the best
; order relation �; idempotent semi-group (S,⊕)
• Transformation of the incoming data: x 7→ r(x)
• r endomorphism of (S,⊕); r-semi-group
• x � r(x); idempotency; stabilization (termination)
• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithm
• Q.E.D.
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
15 5223 92Thinking the algorithm as an operator
Method: example: distance from a node u
• Data exchanged, data owned by a node, set Sdistance from u, u owns 0, others ∞, N ∪ {∞}
• Given two data, choice of the best; order relation �; idempotent semi-group (S,⊕)
• Transformation of the incoming data: x 7→ r(x)
• r endomorphism of (S,⊕); r-semi-group
• x � r(x); idempotency; stabilization (termination)
• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithm
• Q.E.D.
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
15 5323 92Thinking the algorithm as an operator
Method: example: distance from a node u
• Distance from u, u owns 0, others ∞, N ∪ {∞}• Given two data, choice of the best
; order relation �; idempotent semi-group (S,⊕)
• Transformation of the incoming data: x 7→ r(x)
• r endomorphism of (S,⊕); r-semi-group
• x � r(x); idempotency; stabilization (termination)
• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithm
• Q.E.D.
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
15 5423 92Thinking the algorithm as an operator
Method: example: distance from a node u
• Distance from u, u owns 0, others ∞, N ∪ {∞}• Given two data, choice of the best smallest
; order relation � ≤; idempotent semi-group (S,⊕) (N,min)
• Transformation of the incoming data: x 7→ r(x)
• r endomorphism of (S,⊕); r-semi-group
• x � r(x); idempotency; stabilization (termination)
• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithm
• Q.E.D.
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
15 5523 92Thinking the algorithm as an operator
Method: example: distance from a node u
• Distance from u, u owns 0, others ∞, N ∪ {∞}• Given two data, choice of the smallest
; order relation ≤; idempotent semi-group (N,min)
• Transformation of the incoming data: x 7→ r(x)
• r endomorphism of (S,⊕); r-semi-group
• x � r(x); idempotency; stabilization (termination)
• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithm
• Q.E.D.
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
15 5623 92Thinking the algorithm as an operator
Method: example: distance from a node u
• Distance from u, u owns 0, others ∞, N ∪ {∞}• Given two data, choice of the smallest
; order relation ≤; idempotent semi-group (N,min)
• Transformation of the incoming data: x 7→ r(x)at the arrival, one hop more: x 7→ x + 1
• r endomorphism of (S,⊕); r-semi-group
• x � r(x); idempotency; stabilization (termination)
• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithm
• Q.E.D.
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
15 5723 92Thinking the algorithm as an operator
Method: example: distance from a node u
• Distance from u, u owns 0, others ∞, N ∪ {∞}• Given two data, choice of the smallest
; order relation ≤; idempotent semi-group (N,min)
• Transformation of the incoming data: x 7→ x + 1
• r endomorphism of (S,⊕); r-semi-group
• x � r(x); idempotency; stabilization (termination)
• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithm
• Q.E.D.
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
15 5823 92Thinking the algorithm as an operator
Method: example: distance from a node u
• Distance from u, u owns 0, others ∞, N ∪ {∞}• Given two data, choice of the smallest
; order relation ≤; idempotent semi-group (N,min)
• Transformation of the incoming data: x 7→ x + 1
• r endomorphism of (S,⊕); r-semi-groupx 7→ x + 1 endomorphism of (N ∪ {∞},minc)
• x � r(x); idempotency; stabilization (termination)
• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithm
• Q.E.D.
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
15 5923 92Thinking the algorithm as an operator
Method: example: distance from a node u
• Distance from u, u owns 0, others ∞, N ∪ {∞}• Given two data, choice of the smallest
; order relation ≤; idempotent semi-group (N,min)
• Transformation of the incoming data: x 7→ x + 1
• minc(x , y) = min(x , y + 1) r-operator(N ∪ {∞},minc) r-semi-group
• x � r(x); idempotency; stabilization (termination)
• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithm
• Q.E.D.
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
15 6023 92Thinking the algorithm as an operator
Method: example: distance from a node u
• Distance from u, u owns 0, others ∞, N ∪ {∞}• Given two data, choice of the smallest
; order relation ≤; idempotent semi-group (N,min)
• Transformation of the incoming data: x 7→ x + 1
• minc(x , y) = min(x , y + 1) r-operator(N ∪ {∞},minc) r-semi-group
• x � r(x); idempotency; stabilization (termination)
• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithmx < r(x)
• Q.E.D.
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
15 6123 92Thinking the algorithm as an operator
Method: example: distance from a node u
• Distance from u, u owns 0, others ∞, N ∪ {∞}• Given two data, choice of the smallest
; order relation ≤; idempotent semi-group (N,min)
• Transformation of the incoming data: x 7→ x + 1
• minc(x , y) = min(x , y + 1) r-operator(N ∪ {∞},minc) r-semi-group
• x � r(x); idempotency; stabilization (termination)
• x < r(x); minc strictly idempotent; self-stabilizing distance computation alg.
• Q.E.D.
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
16 6223 92HOWTO r-semi-group
a
c
e f
d
b
g
a => bb => bc => cd => .e => ef => eg => e
a => bb => bc => dd => de => .f => fg => f
• Example: how to design a self-stabilizingalgorithm for routing tables construction?
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
17 6323 92HOWTO r-semi-group
Routing tables construction 1/2
• A node periodically sends its local informationsto its neighbors
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
17 6423 92HOWTO r-semi-group
Routing tables construction 1/2
• A node periodically sends its local informationsto its neighbors
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
17 6523 92HOWTO r-semi-group
Routing tables construction 1/2
• A node periodically sends its local informationsto its neighbors
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
17 6623 92HOWTO r-semi-group
Routing tables construction 1/2
• A node periodically sends its local informationsto its neighbors
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
17 6723 92HOWTO r-semi-group
Routing tables construction 1/2
• A node periodically sends its local informationsto its neighbors
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
17 6823 92HOWTO r-semi-group
Routing tables construction 1/2
• A node periodically sends its local informationsto its neighbors
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
e f
d
b
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
a => bb => bc => dd => de => .f => fg => f
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
18 6923 92HOWTO r-semi-group
Routing tables construction 2/2
• When a node receives an information regarding adestination node, it checks:• if it has no information for this node ; add• if it has a worse information ; update
a
c
g
e f
d
b
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => dd => de => .f => fg => f
e => ef => .g => g
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
18 7023 92HOWTO r-semi-group
Routing tables construction 2/2
• When a node receives an information regarding adestination node, it checks:• if it has no information for this node ; add• if it has a worse information ; update
a
c
g
e f
d
b
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => dd => de => .f => fg => f
e => ef => .g => g
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
18 7123 92HOWTO r-semi-group
Routing tables construction 2/2
• When a node receives an information regarding adestination node, it checks:• if it has no information for this node ; add• if it has a worse information ; update
a
c
g
e f
d
b
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => dd => de => .f => fg => f
e => ef => .g => g
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
18 7223 92HOWTO r-semi-group
Routing tables construction 2/2
• When a node receives an information regarding adestination node, it checks:• if it has no information for this node ; add• if it has a worse information ; update
a
c
g
e f
d
b
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => dd => de => .f => fg => f
e => ef => .g => g
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
18 7323 92HOWTO r-semi-group
Routing tables construction 2/2
• When a node receives an information regarding adestination node, it checks:• if it has no information for this node ; add• if it has a worse information ; update
a
c
g
e f
d
b
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => dd => de => .f => fg => f
e => ef => .g => g
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
18 7423 92HOWTO r-semi-group
Routing tables construction 2/2
• When a node receives an information regarding adestination node, it checks:• if it has no information for this node ; add• if it has a worse information ; update
a
c
g
e f
d
b
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => dd => de => .f => fg => f
e => ef => .g => g
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
18 7523 92HOWTO r-semi-group
Routing tables construction 2/2
• When a node receives an information regarding adestination node, it checks:• if it has no information for this node ; add• if it has a worse information ; update
a
c
g
e f
d
b
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => bd => de => .f => f
e => ef => .g => g
a
c
e f
d
b
g
a => bb => bc => cd => .e => e
a => bb => bc => dd => de => .f => fg => f
e => ef => .g => g
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
19 7623 92HOWTO r-semi-group
1. Data format
• Information regarding a destination:• next hop to reach the destination• information regarding the path
to select the best next hop
• Entry in the routing table:[destination, path to the destination]
• Local information: list of entriesexample: [a, ba], [b, b], [c, c], [d , ∅], [e, e], [f , ef ], [g , efg ]
a
c
e f
d
b
g
a,bab,bc,dcd,de,.f,fg,fg
a,bab,bc,cd,.e,ef,efg,efg
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
20 7723 92HOWTO r-semi-group
2. Order relation on the data
• Choosing the best path to a given destination• operator best on the paths to a common node
return (for instance) the shortest path ⊕• example (shortest path): ba⊕ dca = ba
• operator best on the similar tables entriesreturn the entry with the best path �
• example (shortest path):[a, ba] � [a, dca] = [a, ba⊕ dca] = [a, ba]
a
c
e f
d
b
g
[a,ba]
[a,dca]
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
20 7823 92HOWTO r-semi-group
2. Order relation on the data
◦ Choosing the best path to a given destination
• Building a new table from two tables• no more than one path for a destination
; choosing the best• operator fusion on the list of entries: ]
• union of the list• choice of the best entry in case of same
destination using the operator best
• example:
([a, a], [b, b], [c , abc]) ] ([a, da], [c , dc], [d , d ])= ([a, a] � [a, da], [b, b], [c , abc] � [c , dc], [d , d ])= ([a, a⊕da], [b, b], [c , abc⊕dc], [d , d ])
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
20 7923 92HOWTO r-semi-group
2. Order relation on the data
◦ Choosing the best path to a given destination
◦ Building a new table from two tables
• Properties of the operators• operator best on the paths ⊕
• associativeba⊕ (dca⊕ bcda) = (ba⊕ dca)⊕ bcda
• commutative ba⊕ dca = dca⊕ ba• idempotent ba⊕ ba = ba
• operator best on the entries � ; idem[a, ba] � [a, dca] = [a, ba⊕ dca] = [a, ba]
• operator fusion on the lists of entries ] ; idem([a, a], [b, b], [c, abc]) ] ([a, da], [c, dc], [d , d ])= ([a, a] � [a, da], [b, b], [c, abc] � [c, dc], [d , d ])= ([a, a⊕da], [b, b], [c, abc⊕dc], [d , d ])
; ] s-operatoridempotent Abelian semi-group
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
21 8023 92HOWTO r-semi-group
3. Transformation of the incoming data
• Adding the sender at the begining of each path:if the node f sends the list ([f , .], [g , g ]), this list becomes
([f , f ], [g , f g ]) at the arrival
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g[f,f], [g,fg]
[f,.], [g,g]
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
21 8123 92HOWTO r-semi-group
3. Transformation of the incoming data
• Adding the sender at the begining of each path:if the node f sends the list ([f , .], [g , g ]), this list becomes
([f , f ], [g , f g ]) at the arrival
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g[f,f], [g,fg]
[f,.], [g,g]
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
21 8223 92HOWTO r-semi-group
3. Transformation of the incoming data
• Adding the sender at the begining of each path:if the node f sends the list ([f , .], [g , g ]), this list becomes
([f , f ], [g , f g ]) at the arrival
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g[f,f], [g,fg]
[f,.], [g,g]
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
21 8323 92HOWTO r-semi-group
3. Transformation of the incoming data
• Adding the sender at the begining of each path:if the node f sends the list ([f , .], [g , g ]), this list becomes
([f , f ], [g , f g ]) at the arrival
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g[f,f], [g,fg]
[f,.], [g,g]
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
21 8423 92HOWTO r-semi-group
3. Transformation of the incoming data
• Adding the sender at the begining of each path:if the node f sends the list ([f , .], [g , g ]), this list becomes
([f , f ], [g , f g ]) at the arrival
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g[f,f], [g,fg]
[f,.], [g,g]
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
21 8523 92HOWTO r-semi-group
3. Transformation of the incoming data
• Adding the sender at the begining of each path:if the node f sends the list ([f , .], [g , g ]), this list becomes
([f , f ], [g , f g ]) at the arrival
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g[f,f], [g,fg]
[f,.], [g,g]
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
21 8623 92HOWTO r-semi-group
3. Transformation of the incoming data
• Adding the sender at the begining of each path:if the node f sends the list ([f , .], [g , g ]), this list becomes
([f , f ], [g , f g ]) at the arrival
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g[f,f], [g,fg]
[f,.], [g,g]
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
21 8723 92HOWTO r-semi-group
3. Transformation of the incoming data
◦ Adding the sender at the begining of each path:
• Transformation of the listsone application per link
On neighbors of f :
r : {lists} → {lists}([f , .], [g , g ]) 7→ ([f , f ], [g , f g ])
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g[f,f], [g,fg]
[f,.], [g,g]
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
21 8823 92HOWTO r-semi-group
3. Transformation of the incoming data
◦ Adding the sender at the begining of each path:
◦ Transformation of the lists
• r homomorphism
r(list ] list′) = r(list) ] r(list)
• r(list) ] list = list
r (([f , .], [g , g ])) ] ([f , .], [g , g ])= ([f , f ], [g , f g ]) ] ([f , .], [g , g ])= ([f , f ] � [f , .], [g , f g ] � [g , g ])= ([f , f ⊕ .], [g , f g ⊕ g ])= ([f , .], [g , g ])
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g
[f,.], [g,g]
e f
d
b
g[f,f], [g,fg]
[f,.], [g,g]
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
22 8923 92HOWTO r-semi-group
4. Properties of the r-operator
• / r-operators on the lists:
list / list′ = list ] r(list′)
• ] s-operator; �] order relationtotal/partial: depends on the operator best ⊕ on the
paths
• r(list)]list = list and r(list) 6= list; list≺]r(list); / strictly idempotent r-operator
• Self-stabilizing algorithm for routing tablesconstruction in message passing environmentwith shortest path
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
22 9023 92HOWTO r-semi-group
4. Properties of the r-operator
• / r-operators on the lists:
list / list′ = list ] r(list′)
• ] s-operator; �] order relationtotal/partial: depends on the operator best ⊕ on the
paths
• r(list)]list = list and r(list) 6= list; list≺]r(list); / strictly idempotent r-operator
• Self-stabilizing algorithm for routing tablesconstruction in message passing environmentwith shortest path
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
22 9123 92Summary
1 Contribution
2 Generic approach with r-semi-groups
3 Main results
4 Using r-semi-groups
5 Conclusion
r-semi-group
B. Ducourthial
Contribution
Genericapproach
Algorithm
Reminder
Operators
Main results
Usingr-semi-groups
Method
HOWTO
Conclusion
23 9223 92Conclusion
• Hard to design (and prove) self-stabilizingalgorithms
• r-semi-group: a generalization of the Abelianidempotent semi-groupgeneric approach for designing stabilizingalgorithms solving static taskseven for message passing unreliable networks
• Future works:• relation total/partial order ↔ atomicity?
currently, some restrictions if partial order
• completeness?