python-adaptive / adaptive

:chart_with_upwards_trend: Adaptive: parallel active learning of mathematical functions
http://adaptive.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
1.12k stars 58 forks source link

Literature to look at #178

Open basnijholt opened 5 years ago

basnijholt commented 5 years ago

This issue is like a "to-do list" and these are suggestions people made.

It's probably interesting to compare some of these methods to Adaptive for the paper.

jbweston commented 5 years ago

Ruppert's algorithm

Looks interesting. Does anyone know what differences this would give with respect to Bowyer-Watson?

AFAICT most other suggestions require global information, rather than the local information that adaptive uses (AFAIK all Bayesian inference works this way at least). Anton pointed this out on the Reddit thread.

jbweston commented 5 years ago

AFAICT most other suggestions require global information, rather than the local information

Which is not to say that we should not implement them, of course. It would be a good test of the abstractions to see what globally-updating algorithms would look like (I don't think that there should be too many pain points)

jbweston commented 5 years ago

Quad trees see this suggestion

I think this might be good if derivatives need to be computed, as the Redditor who posted this suggests. I think a quadtree should be able to get to an arbitrary point in parameter space in O[log D ] evaluations, or something like that, where D is the dimension of the space. This means that we don't have to worry too much about being restricted to a square grid (responding to Bas' point in the Reddit thread).

jhoofwijk commented 5 years ago

Ruppert's algorithm

Looks interesting. Does anyone know what differences this would give with respect to Bowyer-Watson?

If I am correct, Ruppert's algorithm is not about finding a triangulation for a given set of points, but rather to find a mesh such that some polygon that you inserted is embedded in the mesh (something like a constrained delaunay triangulation).

While the goal of the Bowyer-Watson algorithm is just about triangulating a given set of points without adding new ones

However the algorithm is very similar to the pointchosing algorithm of the LearnerND