Direction des Relations Européennes et Internationales (DREI)

Programme INRIA "Equipes Associées"

 

I. DEFINITION

EQUIPE ASSOCIEE

GENEPI

sélectionnée en

2004

Projet INRIA : GEOMETRICA

Organisme étranger partenaire 1 : Polytechnic University Brooklyn

Organisme étranger partenaire 2 : New York University

Unité de recherche INRIA : Sophia Antipolis
Thème INRIA : Sym B

Pays : États-Unis

Pays : États-Unis

 

 

Coordinateur français

Coordinateur étranger 1

Coordinateur étranger 2

Nom, prénom

Pion, Sylvain

Brönnimann, Hervé

Yap, Chee

Grade/statut

Chargé de recherche

Assistant professor

Professor

Organisme d'appartenance

INRIA Sophia Antipolis, Projet GEOMETRICA

Polytechnic University Brooklyn, Computer and Information Science Department

Courant Institute of Mathematical Sciences, New York University

Adresse postale

2004 Route des Lucioles - BP 93 FR-06902 Sophia Antipolis

6 MetroTech Center Brooklyn, NY 11201, New York, USA

251 Mercer Street, New York, NY 10012, New York, USA

URL

http://www-sop.inria.fr/geometrica/collaborations/genepi/

http://geometry.poly.edu/genepi/

http://www.cs.nyu.edu/cs/faculty/yap/

Téléphone

+33 4 92 38 50 25

+01 (718) 260 3538

+01 (212) 998 3115

Télécopie

+33 4 92 38 76 43

+01 (718) 260 3609

+01 (212) 995 4121

Courriel

Sylvain.Pion@sophia.inria.fr

hbr@poly.edu

yap@cs.nyu.edu


La proposition en bref

Mots-clés : Generic geometric algorithms, generic interfaces to graph data structures, geometric kernels, curved objects, non-robustness issues, CGAL

Thématique de la collaboration : Our work is centered on various problems that arise during the implementation of computational geometric algorithms : the genericity aspects of algorithms, and the robustness aspects. These research themes are heavily connected to the work on CGAL.

Generic programming of geometric algorithms : interfaces to the geometry and to the data structures. (collaboration mostly with H. Brönnimann) The first kind of problems is linked to the definition of interfaces (APIs) between the combinatorial and central parts of algorithms and the geometric objects that they manipulate. In order to have generic and re-usable implementations of such algorithms, we parameterize them by kernels which provide the geometry part. The problems that we work on are the definitions of the mathematical concepts corresponding to the different categories of geometry that each algorithm can handle. The goals here are to try to maximize the usability of generic algorithms, and to introduce concepts that facilitate their documentation.
The other aspect of genericity is the interface between the concrete memory storage of the data structures (such as polyhedral surfaces, triangulations...), and the algorithms that manipulate them (point location, meshers...). The idea here is to be able to apply generic algorithms on different concrete data structures providing a common interface. We plan to extend the work done by H. Brönnimann on the Halfedge Data Structure and in the Boost Graph Library to the structures of interest to CGAL, namely the 2D-3D triangulations and simplicial complexes.

Robust handling of curved objects. (collaboration mostly with C. Yap) The second aspect of the work concerns the non-robustness issues that are well-known to cause problems to computational geometry algorithms. In the past, we have developed several methods to handle these issues, and we plan to extend them to curved objects, beginning with low degree algebraic objects. More specifically, we plan to investigate the use of algebraic techniques introduced in the CORE library, and interface it with the CGAL curved kernel currently under development. A somewhat new direction in our collaboration is to address the numerical/parametric view of algebraic curves and surfaces. Until now, researchers in computational geometry have emphasized the purely algebraic view of curves and surfaces. But in practice, the numerical/parametric view is dominant. However the robustness issues here are mostly open. A new paper by one of the participants (Yap) has started to open up this line of investigation.

 

Présentation de l'Équipe Associée

1. Présentation du coordinateur étranger

Hervé Brönnimann is Assistant Professor at the Polytechnic University Brooklyn, New York, USA. He has published several papers on all aspects of geometric computing in international journals, including on theoretical topics such as derandomization of geometric algorithms (the topic of his Ph.D. thesis) and practical topics as arithmetic filters for geometric computing. He graduated from École Normale Supérieure of Paris before completing his Ph.D. in Computer Science at Princeton University in 1995. He held a permanent research position in the PRISME project at INRIA from 1995 to 1998. His research interests include analysis and design of algorithms, with a focus on geometric algorithms. At INRIA, he was a collaborator in CGAL, where he was involved with maintaining a large portion of the geometry kernel. At Poly, he spearheaded the effort that led to the Boost Interval Arithmetic Library. More recently, he became interested in applying results in deterministic sampling and data stream techniques to data mining and network forensics. Again, he is interested there in theoretically efficient yet highly practical algorithms, and their implementation.

Chee Keng Yap is Professor of Computer Science at the Courant Institute of Mathematical Sciences, New York University. He has published over 130 papers in major conferences and journals, in the area of algorithms and complexity. His research interests include computational geometry, visualization problems, computer algebra, and algorithmic robotics. Since 1993, he has been interested in numerical non-robustness, especially issues at the interface between numerical, algebraic and topological computation. A current project called the Core Library aims to bring robust computation out of the research realm and make it widely accessible to all programmers. Yap was born in Singapore and educated in the Boys' Wing, Royal Military College in Malaysia. He received a double S.B. degree (Math and Comp.Sci.) from MIT in 1975 and a Ph.D. (Comp.Sci.) from Yale in 1980. He served on the editorial boards of SIAM J. of Computing (1985-2002), J. of Symbolic Computation (1988--2003), J. of Computer and System Sciences (1986--), Computational Geometry: Theory and Applications (1990--), Int'l J. of Comp. Geometry and Applications (1990--), and Algorithmica (1992--). His two books are the edited volume Advances in Robotics: Algorithmic and Geometric Issues (Lawrence Erlbaum Associates, Inc, 1987) (co-edited with Jack Schwartz) and Fundamental Problems in Algorithmic Algebra (Oxford University Press, 2000).

2. Historique de la collaboration

3. Impact :




II. BILAN 2006

The assessment of this third year of the associated team is overall positive. We have not performed exactly all planned visits, but more longer term visits of our partner's students have been encouraged thanks to the REUSSI program. The budget showing only partial use, is mostly due to the co-financing offered by REUSSI for some travels, as well as factorization of travel costs between several visits.

Rapport scientifique pour l'année 2006

The work during the year has been organized around several visits : Z. Du in Sophia to prepare a paper (to be submitted to SoCG in december) on the re-design of the CORE library for exact algebraic computations ; H. Brönnimann in Sophia in May to polish a revision of our proposal for standardization of interval arithmetic in C++ ; J. Yu, C. Wu and D. Milmann visiting Sophia for longer internship stays working respectively on the topics of the CORE library (collaboration with S. Pion), meshing algorithms (mostly with P. Alliez) and predicates for the Voronoi diagram of circles (mostly with C. Delage). Finally, S. Pion stayed in New-York for one week in October for finalizing the paper submission to SoCG.

H. Brönnimann has started working at Bloomberg for one year since september, hence the collaboration will be slowed down during this period. Together with G. Melquiond of ARENAIRE, we have further worked on our proposal for standardization of interval arithmetic in the C++ standard library, and we have issued a first revision and working on a second, as well as produced a separate proposal specifying the interface for multi-valued logic (named bool_set), which is critical for the use of interval comparisons.

With C. Yap, several questions around robustness issues have been discussed. With Z. Du finishing his PhD. thesis (S. Pion and H. Bronnimann were members of the jury), a younger Ph.D. student had to be trained for working on the CORE library (J. Yu), which he did in his summer stay at Sophia. One of his tasks is to try to couple CORE with some algorithms in CGAL needing algebraic computations.

Bilan synthétique des 3 dernières années



Research work on these 3 years was spanned over many aspects connected to the robust, efficient and adaptable implementation of geometric algorithms. CGAL has played a central role here.

We have first worked on concept of geometries for a better specification of generic geometric algorithms. A tentative implementation has been realized with CGAL based on the Boost concept checkers, but a released implementation will probably have to wait for the introduction of proper concepts in the C++ language (the next standard is in preparation). Another subject that we have been working on is a proposal for the standardization of interval arithmetic in C++. This required to go deep in the semantic of interval arithmetic and gathering the opinion of interval experts. Interval arithmetic is a fundamental tool used in our case to ensure the exactness of the evaluation of geometric predicates. This work has been done mostly in collaboration with Herve Bronnimann and Guillaume Melquiond (Arenaire).

Another topic that we have worked on is the improvements of geometric predicates used in the computation of Voronoi diagrams of ellipses, with David Milmann and Christophe Delage. Namely the arithmetic degree has been increased, as well as the number of needed arithmetic operations.

Finally, we worked on the redesign of the CORE library, a library of exact algebraic computations used by several geometric algorithms. The goal here has been to make more extensible and efficient by adopting a generic design. This work has been done mostly in collaboration with Chee K. Yap, Zilin Du and Jihun Yu, as well as Herve Bronnimann for parts of it, and it should lead to a paper submission to SoCG 2007. Some ongoing discussions about general schemes for symbolic perturbations have also taken place, and we hope that some general technique could be made available for CGAL, if we find an efficient and general enough one.

Rapport financier 2006

1. Dépenses EA (effectuées sur les crédits de l'équipe associée)

 

Budget EA alloué

Montant dépensé

Accueil

5000

5570

Missions

5000

2300

Total

(a) 10000

(b) 7800

Taux d'utilisation des crédits EA alloués (b/a %)

78.00%

 

2. Dépenses externes (soutenues par des financements hors EA)

Total des financements externes

alloués : (c) 5500

dépensés : 5500

Total des financements EA et externes

alloués : (d) 15500

dépensés : 13300


Taux de co-financement (c /d %)

40.00%


Bilan des échanges effectués en 2006


1. Seniors

Nom

statut

provenance

destination

objet

durée (en semaines)

Coût (EA)

Coût (externe)

Pion

CR

INRIA Sophia

New York

Visit

1

1500

0

Brönnimann

Assistant professor

New York

INRIA Sophia

Visit

1

300

1000


Total des durées en semaines

2


2. Juniors

Nom

statut

provenance

destination

objet

durée (en mois)

Coût (EA)

Coût (externe)

Du

PhD. student

NYU

Sophia

visit

0.25

1070

0

Milmann

Master student

NYU

Sophia

visit

2

1500

1500

Yu

PhD student

NYU

Sophia

visit

2

1500

1500

Wu

PhD student

NYU

Sophia

visit

2

1500

1500


Total des durées en mois

6.25





III. PREVISIONS 2007

Programme de travail

The long term view is that our work is centered on the various problems that arise during the implementation of computational geometric algorithms, especially from the non-robustness point of view, and in the generic programming setting, such as the one found in CGAL. We plan to make significant contributions to CGAL. The two main topics are described in the introduction of this associated team. The planned work for 2007 is mostly a continuation of what was already started.

Generic programming of geometric algorithms. We will continue the work concerning the concepts of geometries used by the various algorithms in CGAL. The impact of this work is the ability to broaden the applicability of existing algorithms, both within CGAL (promoting internal reuse) and to more application domains.
From the implementation point of view, we have introduced concept checkers in CGAL, which are a way to statically check the validity of template parameters against the requirements expressed as concepts. These enforce requirements on parameter classes and make the code both more robust (errors are detected immediately) and easier to design (since documentation concepts now translate into code entities). Currently, concept checking is provided for several key packages (kernel, triangulations). We will continue to extend concept checking to all of CGAL, and work on unifying concepts and eliminating functional duplication between packages. This work follows in parallel the effort of standardization which is done on language-level concepts in C++ (by Gregor, Stroustrup et al).
One example we plan on zooming in is triangulation data structures. Those structures, also known as simplicial complexes, are currently present in at least three forms in CGAL. We plan on unifying those through a separate simplicial complex library. We are also going to work on generic interfaces for the operations on simplicial complexes, task which we plan to work on with a student. The idea is to devise an interface that decouples the algorithms acting on such complexes. Currently, the algorithms are part of the triangulation class and hence not easily reusable. Extracting them as stand-alone algorithms would allow their independent reuse and provide more genericity in CGAL. The challenge is to design the interface so that this can be done.
Another goal of this work is to allow several representations of these data structures in memory, which is part of A. Mebarki's Ph.D thesis subject, with the algorithms operating generically on every single one of them (again promoting internal code reuse). Along with straightforward applications to CGAL, we are targeting specific applications of simplicial complexes.

Robust handling of curved objects. Our work goes towards answering the growing need for the robust and efficient manipulation of curved objects in numerous applications. The CGAL kernel currently provides several functionalities which are, however, mostly restricted to linear objects. We would like to continue the work on the extension to curved objects. More specifically, we would like to interface it with the CORE library developped by C. Yap's team, which provides algebraic primitives. First target applications are the implementations of the predicates necessary to compute arrangements of conic arcs, and possibly Voronoi diagram of complex objects involving conic arcs. The work involved here concerns the efficient and exact handling of algebraic numbers and systems.
Most practical techniques in curves and surfaces are parametric curves and surfaces (e.g. Bezier patches). Here, the current techniques are numerically-based and they suffer from inexactness and nonrobustness. To solve this problem from the exact geometric computation (EGC) viewpoint, we need to understand root bounds and to apply them carefully in our algorithms. This work has begun in a new paper of one of the participants (Yap), but it is clear that many issues remain.

On the implementation side, we plan to continue the design work on our proposal to standardize interval arithmetic in C++ (work with H. Brönnimann). On the other side, we plan to work on multiple precision issues and revisit the implementation of the CORE library, whose quality and efficiency can be improved in some respects, this work might be based on the libraries MPFR and MPFI developed at INRIA (in SPACES and ARENAIRE).

 

Budget prévisionnel 2007

1. Co-financement

This collaboration benefits from the REUSSI NSF-INRIA program which provides partial funding for stays of 3 US students at INRIA.

ESTIMATION PROSPECTIVE DES CO-FINANCEMENTS

Organisme

Montant

NSF-INRIA REUSSI

3000

Total

3000



2. Echanges

Planned visits from New York to Sophia Antipolis :

Planned visits from Sophia Antipolis to New York :


ESTIMATION DES DÉPENSES

Montant

 

Nombre

Accueil

Missions

Total

Chercheurs confirmés

2


3000

3000

Post-doctorants





Doctorants





Stagiaires

3

4000


4000

Autre (précisez) :





Total

5

4000

3000

7000

 

 

- total des co-financements

3000

 

 

Financement "Équipe Associée" demandé

4000

 

© INRIA - mise à jour le 20/10/2006