• Aucun résultat trouvé

Principe de la randomisation et de la dérandomisation 48

Dans le document Algorithmes géométriques adaptatifs (Page 61-65)

3.3 Randomisation et dérandomisation rendent les algorithmes adap-

3.3.1 Principe de la randomisation et de la dérandomisation 48

principes fondamentaux de la randomisation sont également détaillés dans le livre de géométrie algorithmique [BY95a].

3.3.1 Principe de la randomisation et de la

dérandomisation

Généralement lorsqu'on étudie un problème, on en donne une méthode constructive de résolution dont on évalue le coût dans le pire des cas. L'idée de la randomisation est de donner le temps escompté (moyen) de l'algo-rithme. On note par Õ(c(n)) la complexité, en moyenne, d'un algorithme randomisé. Le formalisme introduit dans [Cla88a] est basé sur la dénition de régions et d'objets, et de conits entre objets et régions (cf. page 83 pour une illustration de la méthode). La randomisation incrémentale qui consiste à insérer un par un les objets ne fait aucunement intervenir la distribution des données mais l'ordre dans lequel elles sont traitées. On considère les n!

permutations des entrées et pour chaque permutation, on détermine le temps de calcul de l'algorithme. On détermine alors l'espérance du temps de cal-cul de l'algorithme avec n entrées lorsque l'on considère les n! permutations possibles comme équiprobables (algorithme randomisé incrémental). Un al-gorithme randomisé peut également choisir un échantillon aléatoire R (un sous-ensemble des données initiales deS:R S) et l'insére dans la structure de régions construites jusqu'alors en déterminant les nouveaux conits de type objet-région. Nous détaillerons ce paradigme lors de la construction de l'enveloppe convexe d'objets planaires (page 82). Certains algorithmes ran-domisés tiennent compte de la complexité du résultat dans leur complexité: ils sont alors randomisés et sensibles à la sortie (par exemple, le calcul de la carte des trapèzes d'un ensemble de segments).

La randomisation permet d'atteindre beaucoup de bornes inférieures de complexité avec des algorithmes simples (on peut citer le calcul de l'enveloppe convexe de points mais aussi l'intersection de segments, etc.). Toutefois, la complexité donnée pour ces algorithmes est une espérance de temps de calcul et non pas une borne supérieure. Une fois un algorithme randomisé trouvé, on cherche généralement à le dérandomiser en déterminant correctement les échantillons aléatoires que l'on insère sans que le coût de cette détermination soit prépondérant dans la complexité nale de l'algorithme (pour les algo-rithmes randomisés suivant le schéma diviser-pour-régner). La détermination de ces échantillons de façon déterministe a été étudiée et appliquée dans les articles de Chazelle, Friedman et Matousek [CF88, CF90, CM94].

Nous illustrons les principes de la randomisation et de la dérandomisation qui combinés forment un paradigme de sensibilité à la sortie pour l'étude de

l'enveloppe convexe de points en dimension 3.

3.3.2 Un algorithme randomisé adaptatif pour le calcul

de l'enveloppe convexe de points de

E

3

On s'intéresse au problème dual: le calcul de l'intersection de n demi-espaces. On considère un ensemble S = fS

1 ;:::;S

n

g de n demi-espaces de l'espace euclidien E

3. On désire calculer l'intersection P(S) de ces demi-espaces de façon adaptative. On peut déterminer en temps linéaire (n) si l'intersection P(S) est vide ou non (et dans ce cas là trouver un point p

 à l'intérieur du polytope intersection) par programmation linéaire (cf. [Meg84, Meg82, Meg83b, Cla88b]). Considérons un point p

 contenu dans l'intersec-tion de ces demi-espaces S = fS

1 ;:::;S

n

g alors la polarité de centre p  de ces demi-espaces (S



i est le pôle de l'hyperplan qui limite le demi-espace S i) donne un ensemble S  =fS  1 ;:::;S  n g tel que: ( n \ i=1 S i )  =convn i=1 (S  i ):

L'idée directrice de l'algorithme est de ltrer rapidement les demi-espaces redondantsS

i (respectivement les points redondants S 

i) dénis comme ceux vériantP(SnfS i g)=P(S) (respectivement conv(S  nfS  i g)=conv(S  )). L'algorithme est basé sur la relation entre P(R ) et P(S)R est un échantillon aléatoire deS. Soit R un échantillon aléatoire deS (R S). On calculeP(R ) (le polytope intersection de l'échantillon R) puis on décompose ses facettes (2-faces) en trapèzes en faisant passer à chaque sommet de la facette un translaté d'un plan h choisi arbitrairement (cf. gure 3.8). On achève alors la décomposition en la rendant volumique: pour chaque trapèze obtenu précédemment, on prend la fermeture convexe de ce trapèze avec le point intérieurp

 àP(S). On aboutit ainsi à un partitionnement deP(R ) en zones convexes élémentaires (R ). Pour chaque région F 2 (R ), on note

F^S l'ensemble des demi-espaces deS qui ne contiennent pasF entièrement dans leur demi-espace (on désigne par jFj le nombre de demi-espaces ainsi dénis).

Lemme 3

La valeur moyenne de P F2(R)

jFj est O(n).

La preuve de ce lemme se trouve dans [CS89], pp. 411. On remarque que le polytope intersection P(S)est l'union des régions F \P(S)sur toutes les régionsF 2(R ):

h F

Un triangle de la décomposition

Un trapèze de la décomposition

Fig.3.8  Décomposition en trapèzes par un planhd'une facette du polytope intersection P(R ).

P(S)= [

F2(R)

F \P(S) :

Les demi-espaces qui contribuent aux régions non-triviales de F \P(S)

(c'est-à-dire F \P(S)6=;; F \P(S)6=P(S)) sont les complémentaires par rapport à S des demi-espaces de F ^ S. Puisque chaque demi-espace non redondant détermine un sommet de P(S), il est inutile de considérer toutes les régions de F 2(R ) mais plutôt les régions F de (R ) qui contiennent au moins un sommet de P(S). On note 



(R ) l'ensemble de ces régions (



(R )  (R )). Si le polytope intersection contient h sommets, on a le lemme suivant:

Lemme 4 (Clarkson et Shor [CS89])

La valeur moyenne deP F2  (R) jFj est O( n r

)h pour un échantillon aléatoire de taille r.

Il sut maintenant de déterminer la taille des échantillons aléatoires au cours de l'algorithme. On ne connait pas la valeur de hau départ. Supposons que r=h

2, alors la valeur moyenne de P F2

 (R)

jFj(partie du polytope in-tersection P(S)déjà ltré) seraO(

n h

). Cette constatation fournit un procédé rapide d'élimination des demi-espaces redondants à condition de connaître:

p  F

t

Lesdeuxarêtesredondantes

Arêtes,tracedesfacettesdeP(S)surt

Fig. 3.9  Élimination des demi-espaces redondants grâce au calcul de t\ P(S).

2. Un algorithme de calcul rapide de 

(R ), et des ensemblesF^S; 8F 2 

 (R ).

Les régions F 2 (R ) et ses ensembles caractéristiques correspondants

F ^S peuvent être obtenus grâce à un algorithme randomisé de calcul du polytope intersection en temps Õ(nlogr)(cf. [CS89]). Il faut maintenant l-trer les régions qui ne participent pas au polytope intersection nal, c'est à dire les régions F 2 



(R ). Pour cela, considérons une région F de (R )

et sélectionnons un triangle t déni par p

 et deux sommets adjacents de F, alors le polygoneP

t

=t\P(S)peut être déterminé par l'algorithme de Kirk-patrick et Seidel [KS82, KS86] en temps déterministe optimal (jFjlogh

t )

h

t est le nombre de faces de P

t. Toutes les faces de P

t (les arêtes du polygone convexe) sauf deux (celles qui rejoint le point p

) correspondent à la trace de 2-faces de P(S) (et aux arêtes lorsqu'elles proviennent de F), si bien que le résultat de cet algorithme appliqué aux régions F de (R ) peut être calculé en tempsO(nlogh

0 )h

0 est le nombre total de faces deP(S)

identiées. Si une régionF 2(R )ne contient aucun sommet deP(S)alors les polygones correspondant aux faces de F (décomposée en triangles) dé-terminent complètement la structure deF \P(S)(soit cette intersection est

F, soit ;, ou alors elle permet d'identier les arêtes de F qui interviennent dans P) et on peut la déterminer en temps O(jFj)(cf. gure 3.9). Ainsi les régions F 2 



(R ) peuvent être calculées en temps O(n(logr+logh 0

)). Il faut maintenant résoudre le problème de l'estimation de h ou trouver des bornes inférieures sur h (an que le travail fourni sur les échantillons aléa-toires R lors du calcul de P(R ) par un algorithme randomisé non adaptatif ne dépassent pas celui du calcul de l'intersection par un algorithme sensible à la sortie). À chaque étape de l'algorithme, on utilise une estimation h

h. Initialement, on xe h

 a une constante. Par exemple h 

= 10. Puis à chaque étape courante on ajuste l'estimation courante de h

 comme suit: si

h 

>jSj alors calculer P(S) en utilisant un algorithme randomisé en temps Õ(nlogn), sinon, on calcule 



(R ) etF ^S avec un échantillon aléatoire de taille r =jR j =h

. Si la moitié des demi-espaces a été éliminée alors on ne change pas h  sinon on xe h  à h  (h  h 0 ) 2 .

Théorème 6

Étant donné un ensembleS de n demi-espaces, on peut calcu-ler le polytope intersection de ces demi-espaces par un algorithme randomisé en temps Õ(nlogh)h désigne la complexité du résultat.

L'étude de la complexité est décrite dans [CS89]. L'algorithme général est récapitulé dans l'encadré 3.12.

Dans le document Algorithmes géométriques adaptatifs (Page 61-65)