Structure de données cinétiqueUne structure de données cinétique est une structure de données utilisée pour suivre un attribut d'un ensemble géométrique en mouvement continu. Par exemple, une structure de données d'enveloppe convexe cinétique maintient l'enveloppe convexe d'un groupe de points en mouvement. Le développement de structures de données cinétiques a été motivé par des problèmes de géométrie algorithmique impliquant des solides physiques en mouvement continu, tels que la détection de collision ou le calcul d'occlusion en robotique, en animation ou en infographie. AperçuLes structures de données cinétiques sont utilisées sur des systèmes où il existe un ensemble de valeurs qui changent en fonction du temps, de manière connue et calculable. Donc, les valeurs du système sont des fonctions du temps . Les structures de données cinétiques permettent des requêtes sur un système pour n'importe quelle valeur du temps , et deux opérations supplémentaires :
Des opérations supplémentaires peuvent être prises en charge. Par exemple, les structures de données cinétiques sont souvent utilisées sur des nuages de points. Dans ce cas, la structure permet également d'insérer et de supprimer des points. Contraste avec les structures de données traditionnellesUne structure de données kinétiques permet aux valeurs qui y sont stockées d'évoluer continuellement suivant le temps. En principe, cette évolution peut être approximée en échantillonnant la position des points à des intervalles de temps fixes, et en supprimant et en réinsérant chaque point dans une structure de données "statique" (traditionnelle). Cependant, une telle approche peut entrainer des problèmes de suréchantillonnage ou de sous-échantillonnage, suivant que le pas de temps choisi est trop petit ou trop grand, ce qui engendre des baisses de performances ou des problèmes de précision. Approche par certificatL'approche générale suivante peut être utilisée pour construire des structures de données cinétiques :
Types d'événementsLes échecs de certificat sont appelés «événements». Un événement est considéré comme interne si la propriété portée par la structure de données kinétique ne change pas lorsque l'événement se produit. Un événement est considéré comme externe si la propriété gérée par la structure de données change lorsque l'événement se produit. PerformanceAvec l'approche utilisant des certificats, il existe quatre mesures de la performance possibles. On dit qu'une quantité est petite si c'est une fonction polylogarithmique de , ou encore si elle est en pour arbitrairement petit, où est le nombre d'objets: RéactivitéLa réactivité est le temps maximal nécessaire pour mettre a jour la structure des données et mettre a jour les certificats en cas d'échec d'un des certificats. Une structure de données cinétique est dite réactive si le temps le plus défavorable requis pour une mise à jour est bas. LocalitéIl s'agit du plus grand nombre de certificats dans lequel une valeur est impliquée. Pour les structures impliquant des points mobiles, il s'agit du nombre maximum de certificats dans lequel un arbitraire point est impliqué. Une structure de données cinétique est locale si le nombre maximum de certificats dont une valeur est impliquée est petit. CompacitéIl s'agit du nombre maximum de certificats utilisés pour mettre a jour la structure de données à tout moment. Une structure de données cinétique est compacte si le nombre de certificats qu'elle utilise est ou pour arbitrairement petit . (un petit facteur de plus que l'espace linéaire) EfficacitéLe ratio entre le pire concernant les d'événements pouvant survenir à la structure lorsque t tend vers par rapport au pire des cas des "modifications nécessaires" à la structure de données. La définition des «changements nécessaires» dépend du problème. Par exemple, dans le cas d'une structure de données cinétiques conservant l'enveloppe cinétique d'un ensemble de points en mouvement, le nombre de changements nécessaires serait déterminé par le nombre de fois ou l'enveloppe cinétique est modifiée au fur et à mesure que le temps avance vers . Une structure de données cinétique est dite efficace si ce rapport est petit. Types de trajectoiresLes performances d'une structure de données cinétiques peuvent être analysées pour certains types de trajectoires. En règle générale, les types de trajectoires suivants sont considérés :
Exemples
RéférencesLiens externes |
Portal di Ensiklopedia Dunia