“…For example, spurious components of the zero-set which lie far from the data are not penalized, neither are self-intersections, loops, etc. Various efforts were undertaken to solve this problem including a heuristic which searches for extraneous components and penalizes them [17], methods which seek to approximate not only the data, but also its gradients [6], [2], [12], [18], and restricting the fitting to polynomials which are guaranteed to have a "nice" zero-set [9]. However, all these methods are either restricted in the type of curves they can approximate, or are liable to fail and result in zero-sets with a different topology than that of the data they attempt to fit.…”