3.3 S´ emantique lin´ eaire et coˆ ut long-run
3.3.2 Coˆ ut long-run
3.3.2.1 Quand les traces rejoignent les cycles
Le but de cette section est de faire le lien entre la d´efinition 3.13 qui d´ecrit le coˆut long-run comme le maximum des coˆuts moyens des cycles et la d´enomination de ce coˆut : coˆut « longue ex´ecution », c.`a.d. un coˆut ´evalu´e sur les traces de plus en plus grandes du programme (on fait tendre leur longueur vers plus l’infini). Nous allons montrer, dans un cadre restreint, que ces deux notions co¨ıncident. Plus pr´ecis´ement, on suppose que l’ensemble des ´etats Σ est fini, et l’on se place dans un dio¨ıde dont l’ensemble sous-jacent est R et dont la loi ⊗ est l’op´erateur arithm´etique + (la racine n-i`eme correspond de ce fait `a la division par n). Afin d’´etablir ce r´esultat, nous devons montrer que le coˆut de tout pr´efixe fini d’une trace devient n´egligeable quand cette trace devient arbitrairement longue. Nous devons donc imposer l’hypoth`ese suivante.
Hypoth`ese 1.
Toute transition δ qui n’est pas dans un cycle v´erifie q(δ)6= +∞.
L’hypoth`ese1permet d’exclure le cas pathologique des matrices de transition dont certains coefficients repr´esenteraient des coˆuts infinis. Remarquons que cette hypoth`ese n’exclut pas la pr´esence de coˆut infini dans les cycles. Cette propri´et´e n’est pas n´ecessaire pour la d´emonstration puisqu’une telle pr´esence est r´epercut´ee sur la valeur de ρ.
Th´eor`eme 3.1.
Soit T = <Σ, I, Q, M > un programme quantitatif lin´eaire tel que : – Σ est un ensemble fini d’´etats,
– l’ensemble sous-jacent du dio¨ıde Q est R,
– la loi ⊗ du dio¨ıde Q est l’op´erateur arithm´etique +. Alors, sous l’hypoth`ese 1, on a :
ρ(T ) = lim n→∞ M t∈JT Kt r |t|=n ˜ q(t) D´emonstration. SoitJT Kn
t r le sous-ensemble des traces de longueur n appartenant `a la s´emantique
de trace de T . Nous montrons le th´eor`eme en bornant la quantit´e L
t∈JT K
n t r
˜ q(t). Nous ´ecrivons la preuve en utilisant l’arithm´etique « usuelle » afin qu’elle soit plus lisible et intuitive. La loi⊗ est d´efinie par l’op´erateur +, de telle sorte que la multiplication q⊗ · · · ⊗ q de n fois la mˆeme valeur q produit n.q. La racine n-i`eme correspond alors `a l’op´erateur de division par n. La loi ⊕ et son ordre associ´e ≤ peut ˆetre interpr´et´e par max et ≤ ou par min et ≥.
Nous traitons d’abord le cas o`u la valeur > apparaˆıt dans les cycles (acces- sibles) de la s´emantique de trace. Dans ce cas, il existe une longueur n0 telle que,
pour tout n plus grand que n0, il est possible de construire une trace de longueur
n qui inclut cette transition de coˆut infini. Le coˆut global et moyen de cette trace sont aussi ´egaux `a >, et il en est alors de mˆeme pour ρ(T ). L’´egalit´e souhait´ee est alors trivialement v´erifi´ee.
Pla¸cons-nous maintenant dans le cas o`u> n’apparaˆıt pas dans l’ensemble des transitions accessibles de la s´emantique. On s’int´eresse `a la quantit´e L
t∈JT Kn t r
q(t) |t| . Notons N la longueur de la plus grande trace de JT Kt r qui ne contient pas de
cycle2. Toute trace t de taille n > N peut ˆetre d´ecompos´ee sous la forme suivante : t = p1.c1. . . ck−1.pk o`u ci est un cycle r =Pi|pi| ≤ N p1. . . . .pk est acyclique
Pour simplifier les notations, nous traitons le cas o`u k = 1, le cas g´en´eral ´etant trait´e de la mˆeme fa¸con. La trace t peut ainsi ˆetre ´ecrite
t = p.c.s o`u c est un cycle r =|p| + |s| ≤ N p.s est acyclique
On cherche `a majorer le coˆut q(t). Pour ce faire, on va consid´erer q−(resp. q+)
le coˆut minimum (resp. maximum) des transitions accessibles de T . L’existence de ces extrema est assur´e par le fait que l’ensemble Σ est fini. Notons que par d´efinition des transitions q− 6= ⊥ et, par hypoth`ese, q+6= >. Grˆace `a la proposi-
tion 3, on sait que le coˆut moyen de tout cycle de T est major´e par ρ(T ), le coˆut long-run de T . On a alors
q(t) = (q(p) + q(s)) + q(c)≤ r.q++ (n− r).ρ(T ) (3.9)
Par d´efinition, r et n− r sont des entiers positifs. On a donc
q(t) = (q(p) + q(s)) + q(c)≤ N.|q+| + (n − A).ρ(T ) (3.10)
o`u la valeur de A est donn´ee par N ou −N en fonction du signe de ρ(T ). En sommant (3.10) pour tout t de taille n, on obtient
M
t∈JT K
n t r
q(t)≤ N.|q+| + (n − A).ρ(T ) (3.11)
Cherchons maintenant une borne inf´erieure.
Puisque l’on se restreint `a l’ensemble des ´etats accessibles, on remarque que pour tout n, il existe une trace dans JT Kn
t r telle que tout cycle de cette trace
est critique c.`a.d. de coˆut moyen ´egal `a ρ(T ). Consid´erons tmax l’une des traces
v´erifiant cette propri´et´e. Comme pr´ec´edemment, on ´ecrit tmax sous la forme tmax =
p.c.s (le cas g´en´eral se traitant de la mˆeme fa¸con), o`u p et s sont des chemins acycliques et c est seulement compos´e de cycles critiques. On a alors
q(tmax)≤ M t∈JT K n t r q(t) (3.12)
2. Il convient de noter que N est bien d´efini car nous avons suppos´e que l’ensemble des ´etats Σ est fini.
Cette in´egalit´e est trivialement v´erifi´ee puisque tmax ∈JT K
n
t r et⊕ est idempotente.
Minorons maintenant le coˆut de cette trace.
q(tmax) = (q(p) + q(s)) + q(c)
q(tmax)≥ N.|q−| + (n − A).ρ(T ) (3.13)
Cette in´egalit´e est une cons´equence du fait que r.q− minore q(p.s), et que (n−
r).ρ(T ) est le coˆut exact du chemin c. En combinant les in´egalit´es (3.12) et (3.13), on obtient que : N.|q−| + (n − A).ρ(T ) ≤ M t∈JT K n t r q(t) (3.14)
On a ainsi prouv´e que :
N.|q−| + (n − A).ρ(T ) ≤ M t∈JT K n t r q(t)≤ N.|q+| + (n − A).ρ(T )
En divisant chaque membre de cette in´egalit´e par n, on obtient
F (n) = N.|q−| n + n− A n .ρ(T )≤ M t∈JT K n t r q(t) n ≤ N.|q+| n + n− A n .ρ(T ) = G(n) Finalement, comme an ⊕ n =b a⊕ bn , on obtient :
F (n)≤ M t∈JT K n t r q(t) n ≤ G(n) (3.15) ´
Etudions maintenant le comportement asymptotique de (3.15). lim n→∞F (n) = limn→∞G(n) = ρ(T ) Ceci implique : lim n→∞ M t∈JT K n t r q(t) n = ρ(T ) c.`a.d. en utilisant les termes propres aux dio¨ıdes
lim n→∞ M t∈JT K n t r n p q(t) = ρ(T )
Tous les dio¨ıdes ne v´erifient pas toujours l’´egalit´e du th´eor`eme 3.1. On peut citer, par exemple, le dio¨ıde (P(S), ∩, ∪) qui peut ˆetre utilis´e pour analyser si certaines portions de code sont sˆures d’ˆetre ex´ecut´ees. Le diagramme de la figure 3.4 repr´esente un programme T dont le coˆut long-run ρ(T ) ne co¨ın- cide pas avec le coˆut asymptotique de T . En effet, dans cet exemple, on a ρ(T ) = {a} ⊕ {b} = {a} ∩ {b} = ∅, alors que toute trace suffisamment grande contient a, ce qui implique que leur somme (c.`a.d. leur intersection) contient ce coˆut (le nœud marqu´e en noir est l’´etat initial du graphe).
{a} {a}
{ } {b}
Figure 3.4 – Programme T constituant un contre-exemple au th´eor`eme 3.1dans le dio¨ıde (P(S), ∩, ∪)