Dioid Algebra
Introduction
Dioid algebra is a powerful mathematical tool that allows a linear description of some systems that would have a very non-linear representation if described by differential or difference equations. In particular, Discrete Event Dynamic Systems (DEDS) where synchronization phenomena predominate.
DEDS are systems whose state transitions are triggered by events that occur at discrete instants. For example, the number of packets inside a communication network and the number of pieces in a manufacturing system are state variables that change at events like “arrival” or “departure” of items (packets or pieces). DEDS are often associated to technological systems like computer systems, flexible manufacturing systems, telecommunication networks, traffic control systems, multiprocessor operating systems and logistic systems.
There are specific techniques to represent DEDS. For examples, see [1-2].
Dioids: Definition
A dioid is a set D endowed with two closed operations called “addition” (⊕) and “multiplication” (⊗). The usual notation is D = (D, ⊕, ⊗). The operations of a dioid must satisfy the following axioms, ∀a,b,c ∈ D :
- Commutativity of addition: a ⊕ b = b ⊕ a
- Associativity of addition: (a ⊕ b) ⊕ c = a ⊕ (b ⊕ c)
- Associativity of multiplication: (a ⊗ b) ⊗ c = a ⊗ (b ⊗ c)
-
Distributivity of multiplication over finite sums:
(a ⊕ b)
⊗
c = (a
⊗
c) ⊕ (b
⊗
c) and
c ⊗ (a ⊕ b) = (c ⊗ a) ⊕ (c ⊗ b) - Existence of a null element: ∃ε ∈ D : ε ⊕ a = a ⊕ ε = a
- Absortion by the null element: ε ⊗ a = a ⊗ ε = ε
- Existence of an unity element: ∃e ∈ D : e ⊗ a = a ⊗ e = a
- Idempotency of addition: a ⊕ a = a
The majority of the axioms that define a dioid are, thus, common to the “normal” algebra of real numbers. The two really big differences are:
-
Idempotency of addition;
-
Absence of a symmetric element (like -a).
For these characteristics, dioids are also called idempotent semi-rings.
Dioids: Examples
Possibilities of functions that can define a sum in a dioid include minimization (min), maximization (max), union (∪) and the logic OR.
Example 1 (Max-Plus dioid): Consider R±∞ = R ∪ {-∞} ∪ {+∞}. Given a,b ∈ R±∞, define:
Rmax = (R±∞,⊕,⊗) is a dioid. In Rmax: ε = -∞, e = 0 and
Example 2: Consider R+∞ = R+ ∪ {+∞} (just non-negative real numbers are considered). Given a,b ∈ R+∞, define:
R = (R+∞,⊕,⊗) is also a dioid. In R: ε = +∞, e = 0 and
Dioids: Other Examples
Some other examples of dioids are presented in Table 1.
| D | ⊕ | ⊗ |
|---|---|---|
| R ∪ {-∞} | max | + |
| R ∪ {+∞} | min | + |
| R+ | max | × |
| R ∪ {-∞} ∪ {+∞} | max | min |
| {0,1} | max | min |
| 2R2 | ∪ | + (vectorial) |
Table 1: Examples of dioids
Note that these structures satisfy the idempotency of addition.
Dioids: Classification
Dioids can be classified according to their characteristics. For example:
-
Commutative dioids: dioids with
commutative multiplications, i.e.,
∀a,b ∈ D: ab = ba.
Most of the time, the symbol ⊗ is omitted as it is the case in the conventional algebra. Also as usual, ak, k ∈ N, denotes the product a ⊗ … ⊗ a (k times)
and a0 = e. - Complete dioids: dioids that are closed for infinite sums, and the distributivity applies for infinite sums.
-
Subdioid: subset
Ds of dioid D
= (D,⊕,⊗)
that satisfy
- ε ∈ Ds and e ∈ Ds;
- Ds is closed for ⊕ and ⊗.
-
Entire dioids: A dioid that satisfy
ab = ε ⇒ a = ε or b = ε.
Diod Rmax of Example 1 and dioid R of example Example 2 are complete commutative dioids.
Order in Dioids
A partial order in a dioid can be defined by the following equivalency, ∀a,b ∈ D:
This equivalency defines a partial order, because two elements of a dioid are not always comparable. There can exist elements a,b such that a ⊕ b = c, with c ≠ a and c ≠ b.
In the recent literature of dioids,
it is common to use the symbol
instead of ≤ and the symbol
instead of ≥. In this section, we use
symbols ≤ and ≥ to denote order
in diods and symbols ≤R and
≥R to denote order in the
conventional sense.
Notice that the order between two elements of a dioid depends on the definition of sum. For example, for the Max-Plus dioid in Example 1: 2 ≤ 3.5 , but for the dioid in Example 2: 2 ≥ 3.5 .
Define T in a dioid D = (D,⊕,⊗) as the sum of all elements in D. From the definition of order in dioids, T is the maximum element of D (or top element). For the dioid of Example 1,
and for the dioid of Example 2,
Let a,b ∈ D be two elements of a complete dioid D. Define a ∧ b ∈ D as the least upper bound between a and b, i.e., the greatest element of D that is smaller than or equal to a and b. Then:
Residuated Functions and Residuals
Consider the following problem in a given dioid:
- Determine the values of x that satisfy the equation f(x) = b, as a function of b.
As it happens in the usual algebra of real numbers, this problem can have multiple solutions or can have no solutions at all. In dioids, in general, it is solved a relaxation of this problem given by
- Find the maximum solution of f(x) ≤ b;
- Find the minimum solution of f(x) ≥ b.
The first problem is addressed by the residuation and the second (or dual) problem is addressed by the dual residuation, as defined next.
Let f: A → B be an isotone mapping from a complete dioid A into a complete dioid B. If ∀b ∈ B the set of solutions of f(x) ≤ b is non-empty and has a maximum element, denoted f #(b) (unique), then f is called a residuated function and f #(b) is called the residual of f at b.
Similarly, if ∀b ∈ B the set of solutions of f(x) ≥ b is non-empty and has a minimum element, denoted f b(b) (unique), then f is said dual-residuated and f b(b) is the dual-residual of f at b.
Define la(x) = a ⊗ x and ra(x) = x ⊗ a. For any dioid, functions la(x) and ra(x) are residuated. The residual functions are denoted, respectively, la#(y) = a ⊂⊃ \ y and ra#(y) = y ⊂⊃ / a.
Properties of Residuation
Table 2 presents some properties of the residuation operation.
∀a,b,c ∈ D:
| ax ≤ b ⇔ x ≤ a ⊂⊃ \ b | xa ≤ b ⇔ x ≤ b ⊂⊃ / a |
| a ⊂⊃ \ (ax) ≥ x | (xa) ⊂⊃ / a ≥ x |
| (ab) ⊂⊃ \ x = b ⊂⊃ \ (a ⊂⊃ \ x) | x ⊂⊃ / (ba) = (x ⊂⊃ / a) ⊂⊃ / b |
| (a ⊕ b) ⊂⊃ \ x = a ⊂⊃ \ x ∧ b ⊂⊃ \ x | x ⊂⊃ / (a ⊕ b) = x ⊂⊃ / a ∧ x ⊂⊃ / b |
| b (a ⊂⊃ \ x) ≤ (a ⊂⊃ / b) ⊂⊃ \ x | (x ⊂⊃ / a)b ≤ x ⊂⊃ / (b ⊂⊃ \ a) |
| (a ⊂⊃ \ x)b ≤ a ⊂⊃ \ (xb) | b(x ⊂⊃ / a) ≤ (bx) ⊂⊃ / a |
| a ⊂⊃ \ (x ∧ y) = (a ⊂⊃ \ x) ∧ (a ⊂⊃ \ y) | (x ∧ y) ⊂⊃ / a = (x ⊂⊃ / a) ∧ (y ⊂⊃ / a) |
| a ⊂⊃ \ (x ⊕ y) ≥ (a ⊂⊃ \ x) ⊕ (a ⊂⊃ \ y) | (x ⊕ y) ⊂⊃ / a ≥ (x ⊂⊃ / a) ⊕ (x ⊂⊃ / a) |
| (a ∧ b) ⊂⊃ \ x ≥ (a ⊂⊃ \ x) ⊕ (b ⊂⊃ \ x) | x ⊂⊃ / (a ∧ b) ≥ (x ⊂⊃ / a) ⊕ (x ⊂⊃ / b) |
| a(a ⊂⊃ \ x) ≤ x | (x ⊂⊃ / a)a ≤ x |
| a(a ⊂⊃ \ (ax)) = ax | ((ax ⊂⊃ / a)a = ax |
| a ⊂⊃ \ [a(a ⊂⊃ \ x)] = a ⊂⊃ \ x | [(x ⊂⊃ / a)a] ⊂⊃ / a = x ⊂⊃ / a |
| (a ⊂⊃ \ x) ⊂⊃ / b = a ⊂⊃ \ (x ⊂⊃ / b) | b ⊂⊃ \ (x ⊂⊃ / a) = (b ⊂⊃ \ x) ⊂⊃ / a |
| (a ⊂⊃ \ x) ⊕ b ≤ a ⊂⊃ \ (x ⊕ ab) | (x ⊂⊃ / a) ⊕ b ≤ (x ⊕ ba) ⊂⊃ / a |
Table 2: Properties of Residuation (adapted from [1]).
Residuation: Example
As an example of how to determine a residuation
function, it is calculated next the residual function
la#(y) = a
⊂⊃
\
y of function
la(x) = a
⊗
x
for the dioid of
Example 2,
i.e.,
R = (R+∞ = R+ ∪ {+∞},
min, +).
Consider ≤R and ≥R the ordering symbols for the conventional algebra, i.e., given a,b ∈ R+∞:
Residuation is related to the solutions of the inequality f(x) ≤ b. In this case, we have:
From the definition of order in dioids and the definition of sum in R,
However, as a function from R into R, the residual of la(x) has to be in R+∞ = R+ ∪ {+∞}. Therefore, the solutions of f(x) ≤ b, in this case, must also satisfy x ≥R 0. This implies that
Notice that as R is commutative, then
Some Notes on Dioids
Operations like +∞ - ∞ can be well defined in dioids, depending on the meaning of each term.
To guarantee that the axioms that define a dioid are satisfied for ε and T, we have:
From the definition of residuation, we also have:
Consider dioid
Rmax =
(R ∪ {+∞} ∪ {-∞},max,+) of
Example 1.
We have
ε = -∞,
T =
+∞
and
la#(y) = y - a
(prove it!). From the above equations, we
must have:
Therefore, as -∞ and +∞ are added to the set D that define a dioid, they are treated as any other element of D, leading to well defined results, depending on the operation that is being processed.
The next sections are optional to understand most of the
section
NC and Dioid Algebra.
Fixed Point Equations, mod-z Equivalence and Quotient Dioids
Define the Kleene Closure of a ∈ N as follows
k∈N
Fixed Point Equations: Given
a,b ∈
D (complete), the minimum solution of equation
x = ax ⊕ b
is given by
x = a*b.
Moreover, any solution of
x = ax ⊕ b
satisfies
x = a*x.
Given
a,b ∈
D (complete), the maximum solution of equation
x = x
⊂⊃
/
a ∧ b
is given by
x = b
⊂⊃
/
a*.
Moreover, any solution of
x = x
⊂⊃
/
a ∧ b
satisfies
x = x
⊂⊃
/
a*.
Mod-z Equivalence: Given a,b,z ∈ D (commutative dioid), a and b are mod-z equivalent if
The notation is a ≡ b mod z.
Quotient Dioids: It is possible to properly define ⊕ and ⊗ operations between the equivalence classes defined above. The result is a new dioid called quotient dioid, denoted D/z, whose elements are classes of D. Usually, a class is represented by its greatest element.
Dioids of Formal Power Series
A formal power series with coefficients in a dioid D is a mapping f from N (or Z) into D such that ∀t ∈ N (or Z), f(t) represents the coefficient of δt, i.e.,
Not every term in f must be explicitly written. The missing terms have coefficient ε.
The set of formal series is endowed with the following operations:
f ⊗ g: (f ⊗ g)(t) = ⊕ f(s) ⊗ g(t-s);
s∈Z
The set of series endowed with these operations is a dioid denoted D [[δ]], with zero element ε defined by f(k) = εD, ∀k, and unity element e defined by f(0) = eD, and f(k) = εD, otherwise (εD and eD are, respectively, the zero and unit elements of dioid D).
An order in D [[δ]] is defined as follows. Given f,g ∈ D [[δ]]:
For f,h ∈ D [[δ]]:
t∈Z s∈Z
Bibliography
F. Baccelli, G. Cohen, G. J. Olsder and J.-P. Quadrat. “Synchronization and Linearity: An Algebra for Discrete Event Systems,” England: John Wiley & Sons, 1992.
C. G. Cassandras and S. Lafortune. “Introduction to Discrete Event Systems,” Kluwer Academic Publishers, 1999.
Last update: 2012-11-22
© 2009-2012 · Mabia Cavalcante